valtech-components 2.0.13 → 2.0.15
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.
- package/ng-package.json +9 -0
- package/package.json +6 -14
- package/src/lib/assets/fonts/Khula-Bold.ttf +0 -0
- package/src/lib/assets/fonts/Khula-ExtraBold.ttf +0 -0
- package/src/lib/assets/fonts/Khula-Light.ttf +0 -0
- package/src/lib/assets/fonts/Khula-Regular.ttf +0 -0
- package/src/lib/assets/fonts/Khula-SemiBold.ttf +0 -0
- package/src/lib/assets/fonts/OFL.txt +93 -0
- package/src/lib/components/atoms/button/button.component.scss +5 -0
- package/src/lib/components/atoms/button/button.component.ts +54 -0
- package/src/lib/components/atoms/button/factory.ts +378 -0
- package/src/lib/components/atoms/button/types.ts +24 -0
- package/src/lib/components/types.ts +84 -0
- package/src/lib/services/download.service.ts +58 -0
- package/src/lib/services/lang-provider/components/lang-settings.ts +14 -0
- package/src/lib/services/lang-provider/components/theme-settings.ts +16 -0
- package/src/lib/services/lang-provider/content.ts +15 -0
- package/src/lib/services/lang-provider/lang-provider.service.ts +38 -0
- package/src/lib/services/lang-provider/types.ts +25 -0
- package/src/lib/services/local-storage.service.ts +18 -0
- package/src/lib/services/theme.service.ts +102 -0
- package/{lib/services/types.d.ts → src/lib/services/types.ts} +3 -1
- package/src/lib/shared/constants/storage.ts +2 -0
- package/src/lib/shared/utils/dom.ts +20 -0
- package/{public-api.d.ts → src/public-api.ts} +11 -0
- package/styles/fonts.scss +34 -0
- package/styles/overrides.scss +1 -0
- package/styles/utils.scss +5 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/atoms/button/button.component.mjs +0 -69
- package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
- package/esm2022/lib/components/atoms/button/types.mjs +0 -2
- package/esm2022/lib/components/types.mjs +0 -29
- package/esm2022/lib/services/download.service.mjs +0 -63
- package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +0 -13
- package/esm2022/lib/services/lang-provider/components/theme-settings.mjs +0 -15
- package/esm2022/lib/services/lang-provider/content.mjs +0 -8
- package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +0 -39
- package/esm2022/lib/services/lang-provider/types.mjs +0 -14
- package/esm2022/lib/services/local-storage.service.mjs +0 -16
- package/esm2022/lib/services/theme.service.mjs +0 -97
- package/esm2022/lib/services/types.mjs +0 -3
- package/esm2022/lib/shared/constants/storage.mjs +0 -3
- package/esm2022/lib/shared/utils/dom.mjs +0 -17
- package/esm2022/public-api.mjs +0 -18
- package/esm2022/valtech-components.mjs +0 -5
- package/fesm2022/valtech-components.mjs +0 -565
- package/fesm2022/valtech-components.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/atoms/button/button.component.d.ts +0 -20
- package/lib/components/atoms/button/factory.d.ts +0 -71
- package/lib/components/atoms/button/types.d.ts +0 -22
- package/lib/components/types.d.ts +0 -78
- package/lib/services/download.service.d.ts +0 -8
- package/lib/services/lang-provider/components/lang-settings.d.ts +0 -3
- package/lib/services/lang-provider/components/theme-settings.d.ts +0 -3
- package/lib/services/lang-provider/content.d.ts +0 -6
- package/lib/services/lang-provider/lang-provider.service.d.ts +0 -17
- package/lib/services/lang-provider/types.d.ts +0 -15
- package/lib/services/local-storage.service.d.ts +0 -6
- package/lib/services/theme.service.d.ts +0 -27
- package/lib/shared/constants/storage.d.ts +0 -2
- package/lib/shared/utils/dom.d.ts +0 -3
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
export const Icon = (name, slot) => {
|
|
2
|
-
return {
|
|
3
|
-
name,
|
|
4
|
-
slot,
|
|
5
|
-
};
|
|
6
|
-
};
|
|
7
|
-
/* name convention: COLOR FILL SIZE [optionals: SHAPE EXPAND ICON HREF/DOWNLOAD] TYPE */
|
|
8
|
-
export const BaseDefault = (text, type) => {
|
|
9
|
-
return {
|
|
10
|
-
color: 'primary',
|
|
11
|
-
state: 'ENABLED',
|
|
12
|
-
text,
|
|
13
|
-
size: 'default',
|
|
14
|
-
type,
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export const ClearDefault = (text, type) => {
|
|
18
|
-
return { ...BaseDefault(text, type), fill: 'clear' };
|
|
19
|
-
};
|
|
20
|
-
export const ClearDefaultRound = (text, type) => {
|
|
21
|
-
return { ...ClearDefault(text, type), shape: 'round' };
|
|
22
|
-
};
|
|
23
|
-
export const SolidDefault = (text, type) => {
|
|
24
|
-
return { ...BaseDefault(text, type), fill: 'solid' };
|
|
25
|
-
};
|
|
26
|
-
export const SolidDefaultRound = (text, type) => {
|
|
27
|
-
return { ...SolidDefault(text, type), shape: 'round' };
|
|
28
|
-
};
|
|
29
|
-
export const OutlineDefault = (text, type) => {
|
|
30
|
-
return { ...BaseDefault(text, type), fill: 'outline' };
|
|
31
|
-
};
|
|
32
|
-
export const OutlineDefaultRound = (text, type) => {
|
|
33
|
-
return { ...OutlineDefault(text, type), shape: 'round' };
|
|
34
|
-
};
|
|
35
|
-
export const ClearDefaultFull = (text, type) => {
|
|
36
|
-
return { ...ClearDefault(text, type), expand: 'full' };
|
|
37
|
-
};
|
|
38
|
-
export const ClearDefaultRoundFull = (text, type) => {
|
|
39
|
-
return { ...ClearDefaultRound(text, type), expand: 'full' };
|
|
40
|
-
};
|
|
41
|
-
export const ClearDefaultBlock = (text, type) => {
|
|
42
|
-
return { ...ClearDefault(text, type), expand: 'block' };
|
|
43
|
-
};
|
|
44
|
-
export const ClearDefaultRoundBlock = (text, type) => {
|
|
45
|
-
return { ...ClearDefaultRound(text, type), expand: 'block' };
|
|
46
|
-
};
|
|
47
|
-
export const SolidDefaultFull = (text, type) => {
|
|
48
|
-
return { ...SolidDefault(text, type), expand: 'full' };
|
|
49
|
-
};
|
|
50
|
-
export const SolidDefaultRoundFull = (text, type) => {
|
|
51
|
-
return { ...SolidDefaultRound(text, type), expand: 'full' };
|
|
52
|
-
};
|
|
53
|
-
export const SolidDefaultBlock = (text, type) => {
|
|
54
|
-
return { ...SolidDefault(text, type), expand: 'block' };
|
|
55
|
-
};
|
|
56
|
-
export const SolidDefaultRoundBlock = (text, type) => {
|
|
57
|
-
return { ...SolidDefaultRound(text, type), expand: 'block' };
|
|
58
|
-
};
|
|
59
|
-
export const OutlineDefaultFull = (text, type) => {
|
|
60
|
-
return { ...OutlineDefault(text, type), expand: 'full' };
|
|
61
|
-
};
|
|
62
|
-
export const OutlineDefaultRoundFull = (text, type) => {
|
|
63
|
-
return { ...OutlineDefaultRound(text, type), expand: 'full' };
|
|
64
|
-
};
|
|
65
|
-
export const OutlineDefaultBlock = (text, type) => {
|
|
66
|
-
return { ...OutlineDefault(text, type), expand: 'block' };
|
|
67
|
-
};
|
|
68
|
-
export const OutlineDefaultRoundBlock = (text, type) => {
|
|
69
|
-
return { ...OutlineDefaultRound(text, type), expand: 'block' };
|
|
70
|
-
};
|
|
71
|
-
export const SolidDefaultButton = (text) => {
|
|
72
|
-
return SolidDefault(text, 'button');
|
|
73
|
-
};
|
|
74
|
-
export const SolidSmallButton = (text) => {
|
|
75
|
-
return { ...SolidDefault(text, 'button'), size: 'small' };
|
|
76
|
-
};
|
|
77
|
-
export const SolidLargeButton = (text) => {
|
|
78
|
-
return { ...SolidDefault(text, 'button'), size: 'large' };
|
|
79
|
-
};
|
|
80
|
-
export const SolidDefaultRoundButton = (text) => {
|
|
81
|
-
return SolidDefaultRound(text, 'button');
|
|
82
|
-
};
|
|
83
|
-
export const SolidSmallRoundButton = (text) => {
|
|
84
|
-
return { ...SolidDefaultRound(text, 'button'), size: 'small' };
|
|
85
|
-
};
|
|
86
|
-
export const SolidLargeRoundButton = (text) => {
|
|
87
|
-
return { ...SolidDefaultRound(text, 'button'), size: 'large' };
|
|
88
|
-
};
|
|
89
|
-
export const SolidFullButton = (text) => {
|
|
90
|
-
return SolidDefaultFull(text, 'button');
|
|
91
|
-
};
|
|
92
|
-
export const SolidBlockButton = (text) => {
|
|
93
|
-
return SolidDefaultBlock(text, 'button');
|
|
94
|
-
};
|
|
95
|
-
/** PRIMARY */
|
|
96
|
-
export const PrimarySolidDefaultRoundButton = (text) => {
|
|
97
|
-
return { ...SolidDefaultRoundButton(text), color: 'primary' };
|
|
98
|
-
};
|
|
99
|
-
export const PrimarySolidDefaultRoundIconButton = (text, icon) => {
|
|
100
|
-
return { ...PrimarySolidDefaultRoundButton(text), icon };
|
|
101
|
-
};
|
|
102
|
-
export const PrimarySolidDefaultRoundHrefButton = (text, href, target) => {
|
|
103
|
-
return { ...PrimarySolidDefaultRoundButton(text), href, target };
|
|
104
|
-
};
|
|
105
|
-
export const PrimarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
|
|
106
|
-
return { ...PrimarySolidDefaultRoundIconButton(text, icon), href, target };
|
|
107
|
-
};
|
|
108
|
-
export const PrimarySolidSmallRoundButton = (text) => {
|
|
109
|
-
return { ...SolidSmallRoundButton(text), color: 'primary' };
|
|
110
|
-
};
|
|
111
|
-
export const PrimarySolidSmallRoundIconButton = (text, icon) => {
|
|
112
|
-
return { ...PrimarySolidSmallRoundButton(text), icon };
|
|
113
|
-
};
|
|
114
|
-
export const PrimarySolidSmallRoundHrefButton = (text, href, target) => {
|
|
115
|
-
return { ...PrimarySolidSmallRoundButton(text), href, target };
|
|
116
|
-
};
|
|
117
|
-
export const PrimarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
|
|
118
|
-
return { ...PrimarySolidSmallRoundIconButton(text, icon), href, target };
|
|
119
|
-
};
|
|
120
|
-
export const PrimarySolidLargeRoundButton = (text) => {
|
|
121
|
-
return { ...SolidLargeRoundButton(text), color: 'primary' };
|
|
122
|
-
};
|
|
123
|
-
export const PrimarySolidLargeRoundIconButton = (text, icon) => {
|
|
124
|
-
return { ...PrimarySolidLargeRoundButton(text), icon };
|
|
125
|
-
};
|
|
126
|
-
export const PrimarySolidLargeRoundHrefButton = (text, href, target) => {
|
|
127
|
-
return { ...PrimarySolidLargeRoundButton(text), href, target };
|
|
128
|
-
};
|
|
129
|
-
export const PrimarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
|
|
130
|
-
return { ...PrimarySolidLargeRoundIconButton(text, icon), href, target };
|
|
131
|
-
};
|
|
132
|
-
export const PrimarySolidBlockButton = (text) => {
|
|
133
|
-
return { ...SolidBlockButton(text), color: 'primary' };
|
|
134
|
-
};
|
|
135
|
-
export const PrimarySolidBlockIconButton = (text, icon) => {
|
|
136
|
-
return { ...PrimarySolidBlockButton(text), icon };
|
|
137
|
-
};
|
|
138
|
-
export const PrimarySolidBlockHrefButton = (text, href, target) => {
|
|
139
|
-
return { ...PrimarySolidBlockButton(text), href, target };
|
|
140
|
-
};
|
|
141
|
-
export const PrimarySolidBlockIconHrefButton = (text, icon, href, target) => {
|
|
142
|
-
return { ...PrimarySolidBlockIconButton(text, icon), href, target };
|
|
143
|
-
};
|
|
144
|
-
export const PrimarySolidFullButton = (text) => {
|
|
145
|
-
return { ...SolidFullButton(text), color: 'primary' };
|
|
146
|
-
};
|
|
147
|
-
export const PrimarySolidFullIconButton = (text, icon) => {
|
|
148
|
-
return { ...PrimarySolidFullButton(text), icon };
|
|
149
|
-
};
|
|
150
|
-
export const PrimarySolidFullHrefButton = (text, href, target) => {
|
|
151
|
-
return { ...PrimarySolidFullButton(text), href, target };
|
|
152
|
-
};
|
|
153
|
-
export const PrimarySolidFullIconHrefButton = (text, icon, href, target) => {
|
|
154
|
-
return { ...PrimarySolidFullIconButton(text, icon), href, target };
|
|
155
|
-
};
|
|
156
|
-
/** SECONDARY */
|
|
157
|
-
export const SecondarySolidDefaultRoundButton = (text) => {
|
|
158
|
-
return { ...SolidDefaultRoundButton(text), color: 'secondary' };
|
|
159
|
-
};
|
|
160
|
-
export const SecondarySolidDefaultRoundIconButton = (text, icon) => {
|
|
161
|
-
return { ...SecondarySolidDefaultRoundButton(text), icon };
|
|
162
|
-
};
|
|
163
|
-
export const SecondarySolidDefaultRoundHrefButton = (text, href, target) => {
|
|
164
|
-
return { ...SecondarySolidDefaultRoundButton(text), href, target };
|
|
165
|
-
};
|
|
166
|
-
export const SecondarySolidDefaultRoundIconHrefButton = (text, icon, href, target) => {
|
|
167
|
-
return { ...SecondarySolidDefaultRoundIconButton(text, icon), href, target };
|
|
168
|
-
};
|
|
169
|
-
export const SecondarySolidSmallRoundButton = (text) => {
|
|
170
|
-
return { ...SolidSmallRoundButton(text), color: 'secondary' };
|
|
171
|
-
};
|
|
172
|
-
export const SecondarySolidSmallRoundIconButton = (text, icon) => {
|
|
173
|
-
return { ...SecondarySolidSmallRoundButton(text), icon };
|
|
174
|
-
};
|
|
175
|
-
export const SecondarySolidSmallRoundHrefButton = (text, href, target) => {
|
|
176
|
-
return { ...SecondarySolidSmallRoundButton(text), href, target };
|
|
177
|
-
};
|
|
178
|
-
export const SecondarySolidSmallRoundIconHrefButton = (text, icon, href, target) => {
|
|
179
|
-
return { ...SecondarySolidSmallRoundIconButton(text, icon), href, target };
|
|
180
|
-
};
|
|
181
|
-
export const SecondarySolidLargeRoundButton = (text) => {
|
|
182
|
-
return { ...SolidLargeRoundButton(text), color: 'secondary' };
|
|
183
|
-
};
|
|
184
|
-
export const SecondarySolidLargeRoundIconButton = (text, icon) => {
|
|
185
|
-
return { ...SecondarySolidLargeRoundButton(text), icon };
|
|
186
|
-
};
|
|
187
|
-
export const SecondarySolidLargeRoundHrefButton = (text, href, target) => {
|
|
188
|
-
return { ...SecondarySolidLargeRoundButton(text), href, target };
|
|
189
|
-
};
|
|
190
|
-
export const SecondarySolidLargeRoundIconHrefButton = (text, icon, href, target) => {
|
|
191
|
-
return { ...SecondarySolidLargeRoundIconButton(text, icon), href, target };
|
|
192
|
-
};
|
|
193
|
-
export const SecondarySolidFullButton = (text) => {
|
|
194
|
-
return { ...SolidFullButton(text), color: 'secondary' };
|
|
195
|
-
};
|
|
196
|
-
export const SecondarySolidFullIconButton = (text, icon) => {
|
|
197
|
-
return { ...SecondarySolidFullButton(text), icon };
|
|
198
|
-
};
|
|
199
|
-
export const SecondarySolidFullHrefButton = (text, href, target) => {
|
|
200
|
-
return { ...SecondarySolidFullButton(text), href, target };
|
|
201
|
-
};
|
|
202
|
-
export const SecondarySolidFullIconHrefButton = (text, icon, href, target) => {
|
|
203
|
-
return { ...SecondarySolidFullIconButton(text, icon), href, target };
|
|
204
|
-
};
|
|
205
|
-
export const SecondarySolidBlockButton = (text) => {
|
|
206
|
-
return { ...SolidBlockButton(text), color: 'secondary' };
|
|
207
|
-
};
|
|
208
|
-
export const SecondarySolidBlockIconButton = (text, icon) => {
|
|
209
|
-
return { ...SecondarySolidBlockButton(text), icon };
|
|
210
|
-
};
|
|
211
|
-
export const SecondarySolidBlockHrefButton = (text, href, target) => {
|
|
212
|
-
return { ...SecondarySolidBlockButton(text), href, target };
|
|
213
|
-
};
|
|
214
|
-
export const SecondarySolidBlockIconHrefButton = (text, icon, href, target) => {
|
|
215
|
-
return { ...SecondarySolidBlockIconButton(text, icon), href, target };
|
|
216
|
-
};
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQXFCLEVBQWMsRUFBRTtJQUN0RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsd0ZBQXdGO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxJQUFtQyxFQUFrQixFQUFFO0lBQy9GLE9BQU87UUFDTCxLQUFLLEVBQUUsU0FBUztRQUNoQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJO1FBQ0osSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxJQUFtQyxFQUFrQixFQUFFO0lBQ2hHLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBWSxFQUFFLElBQW1DLEVBQWtCLEVBQUU7SUFDckcsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQW1DLEVBQWtCLEVBQUU7SUFDaEcsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFD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QU0sRUFBRSxDQUFDO0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBJY29uTWV0YWRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gKG5hbWU6IHN0cmluZywgc2xvdDogJ3N0YXJ0JyB8ICdlbmQnKTogSWNvbk1ldGFkYSA9PiB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICBzbG90LFxuICB9O1xufTtcblxuLyogbmFtZSBjb252ZW50aW9uOiBDT0xPUiBGSUxMIFNJWkUgW29wdGlvbmFsczogU0hBUEUgRVhQQU5EIElDT04gSFJFRi9ET1dOTE9BRF0gVFlQRSAqL1xuXG5leHBvcnQgY29uc3QgQmFzZURlZmF1bHQgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHtcbiAgICBjb2xvcjogJ3ByaW1hcnknLFxuICAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gICAgdGV4dCxcbiAgICBzaXplOiAnZGVmYXVsdCcsXG4gICAgdHlwZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHQgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQmFzZURlZmF1bHQodGV4dCwgdHlwZSksIGZpbGw6ICdjbGVhcicgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHRSb3VuZCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5DbGVhckRlZmF1bHQodGV4dCwgdHlwZSksIHNoYXBlOiAncm91bmQnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0ID0gKHRleHQ6IHN0cmluZywgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkJhc2VEZWZhdWx0KHRleHQsIHR5cGUpLCBmaWxsOiAnc29saWQnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0Um91bmQgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0KHRleHQsIHR5cGUpLCBzaGFwZTogJ3JvdW5kJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0ID0gKHRleHQ6IHN0cmluZywgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkJhc2VEZWZhdWx0KHRleHQsIHR5cGUpLCBmaWxsOiAnb3V0bGluZScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdFJvdW5kID0gKHRleHQ6IHN0cmluZywgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLk91dGxpbmVEZWZhdWx0KHRleHQsIHR5cGUpLCBzaGFwZTogJ3JvdW5kJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdEZ1bGwgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQ2xlYXJEZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdFJvdW5kRnVsbCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5DbGVhckRlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHRCbG9jayA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5DbGVhckRlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdFJvdW5kQmxvY2sgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQ2xlYXJEZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdEZ1bGwgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdFJvdW5kRnVsbCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRCbG9jayA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdFJvdW5kQmxvY2sgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0RnVsbCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5PdXRsaW5lRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdFJvdW5kRnVsbCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5PdXRsaW5lRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0QmxvY2sgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uT3V0bGluZURlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0Um91bmRCbG9jayA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5PdXRsaW5lRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4gU29saWREZWZhdWx0KHRleHQsICdidXR0b24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZFNtYWxsQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0KHRleHQsICdidXR0b24nKSwgc2l6ZTogJ3NtYWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkTGFyZ2VCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHQodGV4dCwgJ2J1dHRvbicpLCBzaXplOiAnbGFyZ2UnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0Um91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4gU29saWREZWZhdWx0Um91bmQodGV4dCwgJ2J1dHRvbicpO1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkU21hbGxSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kKHRleHQsICdidXR0b24nKSwgc2l6ZTogJ3NtYWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkTGFyZ2VSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kKHRleHQsICdidXR0b24nKSwgc2l6ZTogJ2xhcmdlJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRnVsbEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiBTb2xpZERlZmF1bHRGdWxsKHRleHQsICdidXR0b24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZEJsb2NrQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIFNvbGlkRGVmYXVsdEJsb2NrKHRleHQsICdidXR0b24nKTtcbn07XG5cbi8qKiBQUklNQVJZICovXG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWREZWZhdWx0Um91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHRSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWREZWZhdWx0Um91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZFNtYWxsUm91bmRJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZFNtYWxsUm91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZFNtYWxsUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZFNtYWxsUm91bmRJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnLFxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRTbWFsbFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZExhcmdlUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnLFxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRMYXJnZVJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkQmxvY2tCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBjb2xvcjogJ3ByaW1hcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkQmxvY2tJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRCbG9ja0hyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEJsb2NrSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkQmxvY2tJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRGdWxsQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRGdWxsQnV0dG9uKHRleHQpLCBjb2xvcjogJ3ByaW1hcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRnVsbEljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRGdWxsQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRnVsbEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkRnVsbEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRnVsbEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEZ1bGxJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbi8qKiBTRUNPTkRBUlkgKi9cblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcsIGljb246IEljb25NZXRhZGEpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWREZWZhdWx0Um91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBjb2xvcjogJ3NlY29uZGFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnLFxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdzZWNvbmRhcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kSWNvbkJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcsIGljb246IEljb25NZXRhZGEpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZExhcmdlUm91bmRJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnLFxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZEZ1bGxCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRnVsbEljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEZ1bGxCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRnVsbEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRGdWxsSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyxcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRGdWxsSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRCbG9ja0J1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkQmxvY2tCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkQmxvY2tJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRCbG9ja0J1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkQmxvY2tIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCcsXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkQmxvY2tJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnLFxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEJsb2NrSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBDb21wb25lbnRTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJY29uTWV0YWRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzbG90OiAnc3RhcnQnIHwgJ2VuZCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnV0dG9uTWV0YWRhdGEge1xuICBhY3Rpb25UeXBlPzogQWN0aW9uVHlwZTtcbiAgZXhwYW5kPzogJ2Z1bGwnIHwgJ2Jsb2NrJztcbiAgaHJlZj86IHN0cmluZztcbiAgdGFyZ2V0PzogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnO1xuICBkb3dubG9hZD86IHN0cmluZztcbiAgY29sb3I6IENvbG9yO1xuICBzdGF0ZTogQ29tcG9uZW50U3RhdGU7XG4gIHRleHQ6IHN0cmluZztcbiAgaWNvbj86IEljb25NZXRhZGE7XG4gIHNoYXBlPzogJ3JvdW5kJztcbiAgc2l6ZT86ICdzbWFsbCcgfCAnZGVmYXVsdCcgfCAnbGFyZ2UnO1xuICBmaWxsPzogJ2NsZWFyJyB8ICdvdXRsaW5lJyB8ICdzb2xpZCcgfCAnZGVmYXVsdCc7XG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnO1xuICB0b2tlbj86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const ENABLED = 'ENABLED';
|
|
2
|
-
const DISABLED = 'DISABLED';
|
|
3
|
-
const WORKING = 'WORKING';
|
|
4
|
-
const ERROR = 'ERROR';
|
|
5
|
-
export const ComponentStates = { ENABLED, DISABLED, WORKING, ERROR };
|
|
6
|
-
export var ActionType;
|
|
7
|
-
(function (ActionType) {
|
|
8
|
-
ActionType[ActionType["BROWSER_NEW_TAB"] = 0] = "BROWSER_NEW_TAB";
|
|
9
|
-
ActionType[ActionType["BROWSER_DOWNLOAD"] = 1] = "BROWSER_DOWNLOAD";
|
|
10
|
-
ActionType[ActionType["NATIVE_DOWNLOAD"] = 2] = "NATIVE_DOWNLOAD";
|
|
11
|
-
ActionType[ActionType["APP_NAVIGATION"] = 3] = "APP_NAVIGATION";
|
|
12
|
-
ActionType[ActionType["BROWSER_NAVIGATION"] = 4] = "BROWSER_NAVIGATION";
|
|
13
|
-
})(ActionType || (ActionType = {}));
|
|
14
|
-
export var InputType;
|
|
15
|
-
(function (InputType) {
|
|
16
|
-
InputType[InputType["TEXT"] = 0] = "TEXT";
|
|
17
|
-
InputType[InputType["EMAIL"] = 1] = "EMAIL";
|
|
18
|
-
InputType[InputType["PASSWORD"] = 2] = "PASSWORD";
|
|
19
|
-
InputType[InputType["COMMENT"] = 3] = "COMMENT";
|
|
20
|
-
InputType[InputType["NUMBER"] = 4] = "NUMBER";
|
|
21
|
-
InputType[InputType["PIN_CODE"] = 5] = "PIN_CODE";
|
|
22
|
-
InputType[InputType["DATE"] = 6] = "DATE";
|
|
23
|
-
InputType[InputType["HOUR"] = 7] = "HOUR";
|
|
24
|
-
InputType[InputType["CHECK"] = 8] = "CHECK";
|
|
25
|
-
InputType[InputType["RADIO"] = 9] = "RADIO";
|
|
26
|
-
InputType[InputType["SELECT"] = 10] = "SELECT";
|
|
27
|
-
InputType[InputType["FILE"] = 11] = "FILE";
|
|
28
|
-
})(InputType || (InputType = {}));
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxHQUFtQixTQUFTLENBQUM7QUFDMUMsTUFBTSxRQUFRLEdBQW1CLFVBQVUsQ0FBQztBQUM1QyxNQUFNLE9BQU8sR0FBbUIsU0FBUyxDQUFDO0FBQzFDLE1BQU0sS0FBSyxHQUFtQixPQUFPLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFFckUsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQixpRUFBZSxDQUFBO0lBQ2YsbUVBQWdCLENBQUE7SUFDaEIsaUVBQWUsQ0FBQTtJQUNmLCtEQUFjLENBQUE7SUFDZCx1RUFBa0IsQ0FBQTtBQUNwQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckI7QUFRRCxNQUFNLENBQU4sSUFBWSxTQWFYO0FBYkQsV0FBWSxTQUFTO0lBQ25CLHlDQUFJLENBQUE7SUFDSiwyQ0FBSyxDQUFBO0lBQ0wsaURBQVEsQ0FBQTtJQUNSLCtDQUFPLENBQUE7SUFDUCw2Q0FBTSxDQUFBO0lBQ04saURBQVEsQ0FBQTtJQUNSLHlDQUFJLENBQUE7SUFDSix5Q0FBSSxDQUFBO0lBQ0osMkNBQUssQ0FBQTtJQUNMLDJDQUFLLENBQUE7SUFDTCw4Q0FBTSxDQUFBO0lBQ04sMENBQUksQ0FBQTtBQUNOLENBQUMsRUFiVyxTQUFTLEtBQVQsU0FBUyxRQWFwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSB9IGZyb20gXCIuL2F0b21zL2J1dHRvbi90eXBlc1wiO1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRTdGF0ZSA9ICdFTkFCTEVEJyB8ICdESVNBQkxFRCcgfCAnV09SS0lORycgfCAnRVJST1InO1xuY29uc3QgRU5BQkxFRDogQ29tcG9uZW50U3RhdGUgPSAnRU5BQkxFRCc7XG5jb25zdCBESVNBQkxFRDogQ29tcG9uZW50U3RhdGUgPSAnRElTQUJMRUQnO1xuY29uc3QgV09SS0lORzogQ29tcG9uZW50U3RhdGUgPSAnV09SS0lORyc7XG5jb25zdCBFUlJPUjogQ29tcG9uZW50U3RhdGUgPSAnRVJST1InO1xuZXhwb3J0IGNvbnN0IENvbXBvbmVudFN0YXRlcyA9IHsgRU5BQkxFRCwgRElTQUJMRUQsIFdPUktJTkcsIEVSUk9SIH07XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBCUk9XU0VSX05FV19UQUIsXG4gIEJST1dTRVJfRE9XTkxPQUQsXG4gIE5BVElWRV9ET1dOTE9BRCxcbiAgQVBQX05BVklHQVRJT04sXG4gIEJST1dTRVJfTkFWSUdBVElPTixcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uID0ge1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICB0eXBlOiBBY3Rpb25UeXBlO1xuICBzb3VyY2U6IHN0cmluZztcbn07XG5cbmV4cG9ydCBlbnVtIElucHV0VHlwZSB7XG4gIFRFWFQsXG4gIEVNQUlMLFxuICBQQVNTV09SRCxcbiAgQ09NTUVOVCxcbiAgTlVNQkVSLFxuICBQSU5fQ09ERSxcbiAgREFURSxcbiAgSE9VUixcbiAgQ0hFQ0ssXG4gIFJBRElPLFxuICBTRUxFQ1QsXG4gIEZJTEUsXG59XG5cbmV4cG9ydCB0eXBlIElucHV0T3B0aW9uID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgb3JkZXI6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0TWV0YWRhdGEgPSB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgaGludDogc3RyaW5nO1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICB0eXBlOiBJbnB1dFR5cGU7XG4gIG9yZGVyOiBudW1iZXI7XG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW107XG4gIG9wdGlvbnM/OiBJbnB1dE9wdGlvbltdO1xuICByYW5nZT86IHtcbiAgICBtaW46IG51bWJlcjtcbiAgICBtYXg6IG51bWJlcjtcbiAgfTtcbiAgZXJyb3JzOiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuICB2YWx1ZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZvcm1TZWN0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG4gIGZpZWxkczogSW5wdXRNZXRhZGF0YVtdO1xufTtcblxuZXhwb3J0IHR5cGUgRm9ybVN1Ym1pdCA9IHtcbiAgZmllbGRzOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgdG9rZW4/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGb3JtTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2VjdGlvbnM6IEZvcm1TZWN0aW9uW107XG4gIGFjdGlvbnM6IEJ1dHRvbk1ldGFkYXRhO1xuICBzdGF0ZTogQ29tcG9uZW50U3RhdGU7XG59O1xuXG4iXX0=
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DownloadService {
|
|
4
|
-
getFileNameFromUrl(url) {
|
|
5
|
-
try {
|
|
6
|
-
const pathSegments = url.split('/');
|
|
7
|
-
const lastSegment = pathSegments[pathSegments.length - 1];
|
|
8
|
-
const fileName = decodeURIComponent(lastSegment);
|
|
9
|
-
return fileName;
|
|
10
|
-
}
|
|
11
|
-
catch (error) {
|
|
12
|
-
console.error('Error al obtener nombre de archivo: ', JSON.stringify(error));
|
|
13
|
-
return 'filename';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
openNewTab(url) {
|
|
17
|
-
if (url) {
|
|
18
|
-
const fileName = this.getFileNameFromUrl(url);
|
|
19
|
-
const link = document.createElement('a');
|
|
20
|
-
link.href = url;
|
|
21
|
-
link.download = fileName;
|
|
22
|
-
link.target = '_blank';
|
|
23
|
-
document.body.appendChild(link);
|
|
24
|
-
link.click();
|
|
25
|
-
document.body.removeChild(link);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
console.error('La URL no está definida');
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
downloadLinkFromBrowser(url) {
|
|
32
|
-
console.log('trying to download file from url');
|
|
33
|
-
if (url) {
|
|
34
|
-
fetch(url)
|
|
35
|
-
.then((response) => response.blob())
|
|
36
|
-
.then((blob) => {
|
|
37
|
-
const url = window.URL.createObjectURL(blob);
|
|
38
|
-
const link = document.createElement('a');
|
|
39
|
-
link.href = url;
|
|
40
|
-
const fileName = this.getFileNameFromUrl(url);
|
|
41
|
-
link.download = `${+new Date()}-${fileName}`;
|
|
42
|
-
link.target = '_self';
|
|
43
|
-
link.click();
|
|
44
|
-
window.URL.revokeObjectURL(url);
|
|
45
|
-
})
|
|
46
|
-
.catch((error) => {
|
|
47
|
-
console.error('Error al descargar el archivo:', JSON.stringify(error));
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
console.error('La URL no está definida');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, providedIn: 'root' }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DownloadService, decorators: [{
|
|
58
|
-
type: Injectable,
|
|
59
|
-
args: [{
|
|
60
|
-
providedIn: 'root',
|
|
61
|
-
}]
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGVBQWU7SUFDMUIsa0JBQWtCLENBQUMsR0FBVztRQUM1QixJQUFJLENBQUM7WUFDSCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDN0UsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXO1FBQ2pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUNoRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDUCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDbkMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2IsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO2dCQUVoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO2dCQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRWIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7K0dBbkRVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRG93bmxvYWRTZXJ2aWNlIHtcbiAgZ2V0RmlsZU5hbWVGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF0aFNlZ21lbnRzID0gdXJsLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBsYXN0U2VnbWVudCA9IHBhdGhTZWdtZW50c1twYXRoU2VnbWVudHMubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudChsYXN0U2VnbWVudCk7XG4gICAgICByZXR1cm4gZmlsZU5hbWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFsIG9idGVuZXIgbm9tYnJlIGRlIGFyY2hpdm86ICcsIEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XG4gICAgICByZXR1cm4gJ2ZpbGVuYW1lJztcbiAgICB9XG4gIH1cblxuICBvcGVuTmV3VGFiKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHVybCkge1xuICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmdldEZpbGVOYW1lRnJvbVVybCh1cmwpO1xuICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcbiAgICAgIGxpbmsudGFyZ2V0ID0gJ19ibGFuayc7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgbGluay5jbGljaygpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignTGEgVVJMIG5vIGVzdMOhIGRlZmluaWRhJyk7XG4gICAgfVxuICB9XG5cbiAgZG93bmxvYWRMaW5rRnJvbUJyb3dzZXIodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygndHJ5aW5nIHRvIGRvd25sb2FkIGZpbGUgZnJvbSB1cmwnKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICBmZXRjaCh1cmwpXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuYmxvYigpKVxuICAgICAgICAudGhlbigoYmxvYikgPT4ge1xuICAgICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgbGluay5ocmVmID0gdXJsO1xuXG4gICAgICAgICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLmdldEZpbGVOYW1lRnJvbVVybCh1cmwpO1xuICAgICAgICAgIGxpbmsuZG93bmxvYWQgPSBgJHsrbmV3IERhdGUoKX0tJHtmaWxlTmFtZX1gO1xuICAgICAgICAgIGxpbmsudGFyZ2V0ID0gJ19zZWxmJztcbiAgICAgICAgICBsaW5rLmNsaWNrKCk7XG5cbiAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWwgZGVzY2FyZ2FyIGVsIGFyY2hpdm86JywgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xhIFVSTCBubyBlc3TDoSBkZWZpbmlkYScpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { TextContent } from '../types';
|
|
2
|
-
const text = {
|
|
3
|
-
es: {
|
|
4
|
-
spanish: 'Español',
|
|
5
|
-
english: 'Inglés',
|
|
6
|
-
},
|
|
7
|
-
en: {
|
|
8
|
-
spanish: 'Spanish',
|
|
9
|
-
english: 'English',
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
export default new TextContent(text);
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29tcG9uZW50cy9sYW5nLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpELE1BQU0sSUFBSSxHQUFxQjtJQUM3QixFQUFFLEVBQUU7UUFDRixPQUFPLEVBQUUsU0FBUztRQUNsQixPQUFPLEVBQUUsUUFBUTtLQUNsQjtJQUNELEVBQUUsRUFBRTtRQUNGLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE9BQU8sRUFBRSxTQUFTO0tBQ25CO0NBQ0YsQ0FBQztBQUVGLGVBQWUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZXNDb250ZW50LCBUZXh0Q29udGVudCB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgdGV4dDogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBzcGFuaXNoOiAnRXNwYcOxb2wnLFxuICAgIGVuZ2xpc2g6ICdJbmdsw6lzJyxcbiAgfSxcbiAgZW46IHtcbiAgICBzcGFuaXNoOiAnU3BhbmlzaCcsXG4gICAgZW5nbGlzaDogJ0VuZ2xpc2gnLFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbmV3IFRleHRDb250ZW50KHRleHQpO1xuIl19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { TextContent } from "../types";
|
|
2
|
-
const text = {
|
|
3
|
-
es: {
|
|
4
|
-
light: 'Siempre claro',
|
|
5
|
-
dark: 'Siempre oscuro',
|
|
6
|
-
auto: 'Automático',
|
|
7
|
-
},
|
|
8
|
-
en: {
|
|
9
|
-
light: 'Always light',
|
|
10
|
-
dark: 'Always dark',
|
|
11
|
-
auto: 'System settings',
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export default new TextContent(text);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2NvbXBvbmVudHMvdGhlbWUtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekQsTUFBTSxJQUFJLEdBQXFCO0lBQzdCLEVBQUUsRUFBRTtRQUNGLEtBQUssRUFBRSxlQUFlO1FBQ3RCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsSUFBSSxFQUFFLFlBQVk7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixLQUFLLEVBQUUsY0FBYztRQUNyQixJQUFJLEVBQUUsYUFBYTtRQUNuQixJQUFJLEVBQUUsaUJBQWlCO0tBQ3hCO0NBQ0YsQ0FBQztBQUVGLGVBQWUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZXNDb250ZW50LCBUZXh0Q29udGVudCB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCB0ZXh0OiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIGxpZ2h0OiAnU2llbXByZSBjbGFybycsXG4gICAgZGFyazogJ1NpZW1wcmUgb3NjdXJvJyxcbiAgICBhdXRvOiAnQXV0b23DoXRpY28nLFxuICB9LFxuICBlbjoge1xuICAgIGxpZ2h0OiAnQWx3YXlzIGxpZ2h0JyxcbiAgICBkYXJrOiAnQWx3YXlzIGRhcmsnLFxuICAgIGF1dG86ICdTeXN0ZW0gc2V0dGluZ3MnLFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbmV3IFRleHRDb250ZW50KHRleHQpO1xuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import LangSettings from './components/lang-settings';
|
|
2
|
-
import ThemeSettings from './components/theme-settings';
|
|
3
|
-
const content = {
|
|
4
|
-
LangSettings,
|
|
5
|
-
ThemeSettings,
|
|
6
|
-
};
|
|
7
|
-
export default content;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvY29udGVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLGFBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQVF4RCxNQUFNLE9BQU8sR0FBYTtJQUN4QixZQUFZO0lBQ1osYUFBYTtDQUNkLENBQUM7QUFFRixlQUFlLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMYW5nU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL2xhbmctc2V0dGluZ3MnO1xuaW1wb3J0IFRoZW1lU2V0dGluZ3MgZnJvbSAnLi9jb21wb25lbnRzL3RoZW1lLXNldHRpbmdzJztcbmltcG9ydCB7IFRleHRDb250ZW50IH0gZnJvbSAnLi90eXBlcyc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlciB7XG4gIFt4OiBzdHJpbmddOiBUZXh0Q29udGVudDtcbn1cblxuY29uc3QgY29udGVudDogUHJvdmlkZXIgPSB7XG4gIExhbmdTZXR0aW5ncyxcbiAgVGhlbWVTZXR0aW5ncyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRlbnQ7XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { LangOption } from './types';
|
|
4
|
-
import { LocalStorageService } from '../local-storage.service';
|
|
5
|
-
import { LANG } from '../../shared/constants/storage';
|
|
6
|
-
import { ValtechConfigService } from '../types';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class LangService {
|
|
9
|
-
constructor(config) {
|
|
10
|
-
this.default = LangOption.ES;
|
|
11
|
-
console.log('injected config: ', config);
|
|
12
|
-
this.content = config.content;
|
|
13
|
-
this.config = config;
|
|
14
|
-
const current = LocalStorageService.get(LANG);
|
|
15
|
-
this.selectedLang = new BehaviorSubject(current || this.default);
|
|
16
|
-
}
|
|
17
|
-
Text(className) {
|
|
18
|
-
return this.content[className].Content[this.selectedLang.value];
|
|
19
|
-
}
|
|
20
|
-
get Lang() {
|
|
21
|
-
return this.selectedLang.value;
|
|
22
|
-
}
|
|
23
|
-
set Lang(lang) {
|
|
24
|
-
this.selectedLang.next(lang);
|
|
25
|
-
LocalStorageService.set(LANG, lang);
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, deps: [{ token: ValtechConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
28
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, providedIn: 'root' }); }
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, decorators: [{
|
|
31
|
-
type: Injectable,
|
|
32
|
-
args: [{
|
|
33
|
-
providedIn: 'root',
|
|
34
|
-
}]
|
|
35
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
36
|
-
type: Inject,
|
|
37
|
-
args: [ValtechConfigService]
|
|
38
|
-
}] }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLFNBQVMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEQsT0FBTyxFQUFpQixvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBMEMsTUFBcUI7UUFKL0QsWUFBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFLdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBZ0I7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXpCVSxXQUFXLGtCQU1GLG9CQUFvQjttSEFON0IsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJy4vY29udGVudCc7XG5pbXBvcnQgeyBMYW5nT3B0aW9uLCBMYW5ndWFnZVRleHQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTEFORyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMvc3RvcmFnZSc7XG5pbXBvcnQgeyBWYWx0ZWNoQ29uZmlnLCBWYWx0ZWNoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhbmdTZXJ2aWNlIHtcbiAgY29udGVudDogUHJvdmlkZXI7XG4gIGRlZmF1bHQgPSBMYW5nT3B0aW9uLkVTO1xuICBzZWxlY3RlZExhbmc6IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPjtcbiAgY29uZmlnOiBWYWx0ZWNoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVmFsdGVjaENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogVmFsdGVjaENvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdpbmplY3RlZCBjb25maWc6ICcsIGNvbmZpZyk7XG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQ7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PExhbmdPcHRpb24+KExBTkcpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPihjdXJyZW50IHx8IHRoaXMuZGVmYXVsdCk7XG4gIH1cblxuICBUZXh0KGNsYXNzTmFtZTogc3RyaW5nKTogTGFuZ3VhZ2VUZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50W2NsYXNzTmFtZV0uQ29udGVudFt0aGlzLnNlbGVjdGVkTGFuZy52YWx1ZV07XG4gIH1cblxuICBnZXQgTGFuZygpOiBMYW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmcudmFsdWU7XG4gIH1cblxuICBzZXQgTGFuZyhsYW5nOiBMYW5nT3B0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmcubmV4dChsYW5nKTtcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldDxMYW5nT3B0aW9uPihMQU5HLCBsYW5nKTtcbiAgfVxufVxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class TextContent {
|
|
2
|
-
constructor(text) {
|
|
3
|
-
this.text = text;
|
|
4
|
-
}
|
|
5
|
-
get Content() {
|
|
6
|
-
return this.text;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export var LangOption;
|
|
10
|
-
(function (LangOption) {
|
|
11
|
-
LangOption["ES"] = "es";
|
|
12
|
-
LangOption["EN"] = "en";
|
|
13
|
-
})(LangOption || (LangOption = {}));
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sT0FBTyxXQUFXO0lBRXRCLFlBQVksSUFBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLFVBQVUsS0FBVixVQUFVLFFBR3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiLi9jb250ZW50XCI7XG5cbmV4cG9ydCB0eXBlIExhbmd1YWdlVGV4dCA9IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgW2tleTogc3RyaW5nXTogTGFuZ3VhZ2VUZXh0O1xufTtcblxuZXhwb3J0IGNsYXNzIFRleHRDb250ZW50IHtcbiAgdGV4dDogTGFuZ3VhZ2VzQ29udGVudDtcbiAgY29uc3RydWN0b3IodGV4dDogTGFuZ3VhZ2VzQ29udGVudCkge1xuICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gIH1cblxuICBnZXQgQ29udGVudCgpOiBMYW5ndWFnZXNDb250ZW50IHtcbiAgICByZXR1cm4gdGhpcy50ZXh0O1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIExhbmdPcHRpb24ge1xuICBFUyA9ICdlcycsXG4gIEVOID0gJ2VuJyxcbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export class LocalStorageService {
|
|
2
|
-
static set(reference, value) {
|
|
3
|
-
localStorage.setItem(reference, JSON.stringify(value));
|
|
4
|
-
}
|
|
5
|
-
static get(reference) {
|
|
6
|
-
const value = localStorage.getItem(reference);
|
|
7
|
-
return JSON.parse(value);
|
|
8
|
-
}
|
|
9
|
-
static remove(reference) {
|
|
10
|
-
localStorage.removeItem(reference);
|
|
11
|
-
}
|
|
12
|
-
static clear() {
|
|
13
|
-
localStorage.clear();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsTUFBTSxDQUFDLEdBQUcsQ0FBSSxTQUFpQixFQUFFLEtBQVE7UUFDdkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFJLFNBQWlCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQWlCO1FBQzdCLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIHtcbiAgc3RhdGljIHNldDxUPihyZWZlcmVuY2U6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShyZWZlcmVuY2UsIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cblxuICBzdGF0aWMgZ2V0PFQ+KHJlZmVyZW5jZTogc3RyaW5nKTogVCB7XG4gICAgY29uc3QgdmFsdWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShyZWZlcmVuY2UpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKSBhcyBUO1xuICB9XG5cbiAgc3RhdGljIHJlbW92ZShyZWZlcmVuY2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHJlZmVyZW5jZSk7XG4gIH1cblxuICBzdGF0aWMgY2xlYXIoKSB7XG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { LocalStorageService } from './local-storage.service';
|
|
4
|
-
import { THEME } from '../shared/constants/storage';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export var ThemeOption;
|
|
7
|
-
(function (ThemeOption) {
|
|
8
|
-
ThemeOption["LIGHT"] = "light";
|
|
9
|
-
ThemeOption["DARK"] = "dark";
|
|
10
|
-
ThemeOption["AUTO"] = "auto";
|
|
11
|
-
})(ThemeOption || (ThemeOption = {}));
|
|
12
|
-
export class ThemeService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.lightToggle = false;
|
|
15
|
-
this.darkToggle = false;
|
|
16
|
-
this.autoToggle = false;
|
|
17
|
-
this.currentOption = ThemeOption.AUTO;
|
|
18
|
-
this.themeOptions = ThemeOption;
|
|
19
|
-
this.prefersDark = false;
|
|
20
|
-
this.default = ThemeOption.AUTO;
|
|
21
|
-
const current = LocalStorageService.get(THEME);
|
|
22
|
-
console.log('💡 ThemeConfig current::: ', current);
|
|
23
|
-
this.theme = new BehaviorSubject(current || this.default);
|
|
24
|
-
this.currentOption = this.Theme;
|
|
25
|
-
console.log('💡 ThemeConfig this.currentOption::: ', this.currentOption);
|
|
26
|
-
this.toggleUserPreference(this.currentOption);
|
|
27
|
-
const prefersDarkQuery = window.matchMedia('(prefers-color-scheme: dark)');
|
|
28
|
-
this.prefersDark = prefersDarkQuery.matches;
|
|
29
|
-
this.handleAutoConfiguration();
|
|
30
|
-
prefersDarkQuery.addEventListener('change', (mediaQuery) => {
|
|
31
|
-
console.log('💡 ThemeConfig addEventListener change::: ', mediaQuery);
|
|
32
|
-
this.prefersDark = mediaQuery.matches;
|
|
33
|
-
this.handleAutoConfiguration();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
handleAutoConfiguration() {
|
|
37
|
-
if (this.prefersDark && this.currentOption === ThemeOption.AUTO) {
|
|
38
|
-
console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
|
|
39
|
-
this.toggleUserPreference(ThemeOption.AUTO);
|
|
40
|
-
}
|
|
41
|
-
if (!this.prefersDark && this.currentOption === ThemeOption.AUTO) {
|
|
42
|
-
console.log('💡 ThemeConfig prefersDark::: ', this.prefersDark);
|
|
43
|
-
this.toggleUserPreference(ThemeOption.AUTO);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
handleDarkPreference() {
|
|
47
|
-
this.toggleTheme(ThemeOption.DARK, true);
|
|
48
|
-
this.toggleTheme(ThemeOption.LIGHT, false);
|
|
49
|
-
}
|
|
50
|
-
handleLightPreference() {
|
|
51
|
-
this.toggleTheme(ThemeOption.LIGHT, true);
|
|
52
|
-
this.toggleTheme(ThemeOption.DARK, false);
|
|
53
|
-
}
|
|
54
|
-
get Theme() {
|
|
55
|
-
return this.theme.value;
|
|
56
|
-
}
|
|
57
|
-
set Theme(theme) {
|
|
58
|
-
this.theme.next(theme);
|
|
59
|
-
LocalStorageService.set(THEME, theme);
|
|
60
|
-
}
|
|
61
|
-
toggleTheme(name, shouldAdd) {
|
|
62
|
-
console.log('toggleTheme::: ', name, shouldAdd);
|
|
63
|
-
document.body.classList.toggle(name, shouldAdd);
|
|
64
|
-
}
|
|
65
|
-
toggleUserPreference(option) {
|
|
66
|
-
this.currentOption = option;
|
|
67
|
-
this.Theme = option;
|
|
68
|
-
this.lightToggle = option === ThemeOption.LIGHT;
|
|
69
|
-
this.darkToggle = option === ThemeOption.DARK;
|
|
70
|
-
this.autoToggle = option === ThemeOption.AUTO;
|
|
71
|
-
switch (option) {
|
|
72
|
-
case ThemeOption.LIGHT:
|
|
73
|
-
this.handleLightPreference();
|
|
74
|
-
break;
|
|
75
|
-
case ThemeOption.DARK:
|
|
76
|
-
this.handleDarkPreference();
|
|
77
|
-
break;
|
|
78
|
-
case ThemeOption.AUTO:
|
|
79
|
-
if (this.prefersDark) {
|
|
80
|
-
this.handleDarkPreference();
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
this.handleLightPreference();
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ThemeService, decorators: [{
|
|
92
|
-
type: Injectable,
|
|
93
|
-
args: [{
|
|
94
|
-
providedIn: 'root',
|
|
95
|
-
}]
|
|
96
|
-
}], ctorParameters: () => [] });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFcEQsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNyQiw4QkFBZSxDQUFBO0lBQ2YsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQVV2QjtRQVRBLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDakMsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsWUFBTyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFJekIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFjLEtBQUssQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBYyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxh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LFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUU5QyxRQUFRLE1BQU0sRUFBRSxDQUFDO1lBQ2YsS0FBSyxXQUFXLENBQUMsS0FBSztnQkFDcEIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxJQUFJO2dCQUNuQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLElBQUk7Z0JBQ25CLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzsrR0F0RlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBUSEVNRSB9IGZyb20gJy4uL3NoYXJlZC9jb25zdGFudHMvc3RvcmFnZSc7XG5cbmV4cG9ydCBlbnVtIFRoZW1lT3B0aW9uIHtcbiAgTElHSFQgPSAnbGlnaHQnLFxuICBEQVJLID0gJ2RhcmsnLFxuICBBVVRPID0gJ2F1dG8nLFxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcbiAgbGlnaHRUb2dnbGUgPSBmYWxzZTtcbiAgZGFya1RvZ2dsZSA9IGZhbHNlO1xuICBhdXRvVG9nZ2xlID0gZmFsc2U7XG4gIGN1cnJlbnRPcHRpb24gPSBUaGVtZU9wdGlvbi5BVVRPO1xuICB0aGVtZU9wdGlvbnMgPSBUaGVtZU9wdGlvbjtcbiAgcHJlZmVyc0RhcmsgPSBmYWxzZTtcbiAgZGVmYXVsdCA9IFRoZW1lT3B0aW9uLkFVVE87XG4gIHRoZW1lOiBCZWhhdmlvclN1YmplY3Q8VGhlbWVPcHRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBMb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldDxUaGVtZU9wdGlvbj4oVEhFTUUpO1xuICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIGN1cnJlbnQ6OjogJywgY3VycmVudCk7XG4gICAgdGhpcy50aGVtZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGhlbWVPcHRpb24+KGN1cnJlbnQgfHwgdGhpcy5kZWZhdWx0KTtcbiAgICB0aGlzLmN1cnJlbnRPcHRpb24gPSB0aGlzLlRoZW1lO1xuICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIHRoaXMuY3VycmVudE9wdGlvbjo6OiAnLCB0aGlzLmN1cnJlbnRPcHRpb24pO1xuICAgIHRoaXMudG9nZ2xlVXNlclByZWZlcmVuY2UodGhpcy5jdXJyZW50T3B0aW9uKTtcblxuICAgIGNvbnN0IHByZWZlcnNEYXJrUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpO1xuICAgIHRoaXMucHJlZmVyc0RhcmsgPSBwcmVmZXJzRGFya1F1ZXJ5Lm1hdGNoZXM7XG4gICAgdGhpcy5oYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpO1xuXG4gICAgcHJlZmVyc0RhcmtRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAobWVkaWFRdWVyeSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgYWRkRXZlbnRMaXN0ZW5lciBjaGFuZ2U6OjogJywgbWVkaWFRdWVyeSk7XG4gICAgICB0aGlzLnByZWZlcnNEYXJrID0gbWVkaWFRdWVyeS5tYXRjaGVzO1xuICAgICAgdGhpcy5oYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBdXRvQ29uZmlndXJhdGlvbigpIHtcbiAgICBpZiAodGhpcy5wcmVmZXJzRGFyayAmJiB0aGlzLmN1cnJlbnRPcHRpb24gPT09IFRoZW1lT3B0aW9uLkFVVE8pIHtcbiAgICAgIGNvbnNvbGUubG9nKCfwn5KhIFRoZW1lQ29uZmlnIHByZWZlcnNEYXJrOjo6ICcsIHRoaXMucHJlZmVyc0RhcmspO1xuICAgICAgdGhpcy50b2dnbGVVc2VyUHJlZmVyZW5jZShUaGVtZU9wdGlvbi5BVVRPKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnByZWZlcnNEYXJrICYmIHRoaXMuY3VycmVudE9wdGlvbiA9PT0gVGhlbWVPcHRpb24uQVVUTykge1xuICAgICAgY29uc29sZS5sb2coJ/CfkqEgVGhlbWVDb25maWcgcHJlZmVyc0Rhcms6OjogJywgdGhpcy5wcmVmZXJzRGFyayk7XG4gICAgICB0aGlzLnRvZ2dsZVVzZXJQcmVmZXJlbmNlKFRoZW1lT3B0aW9uLkFVVE8pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRGFya1ByZWZlcmVuY2UoKSB7XG4gICAgdGhpcy50b2dnbGVUaGVtZShUaGVtZU9wdGlvbi5EQVJLLCB0cnVlKTtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkxJR0hULCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpIHtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkxJR0hULCB0cnVlKTtcbiAgICB0aGlzLnRvZ2dsZVRoZW1lKFRoZW1lT3B0aW9uLkRBUkssIGZhbHNlKTtcbiAgfVxuXG4gIGdldCBUaGVtZSgpOiBUaGVtZU9wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudGhlbWUudmFsdWU7XG4gIH1cblxuICBzZXQgVGhlbWUodGhlbWU6IFRoZW1lT3B0aW9uKSB7XG4gICAgdGhpcy50aGVtZS5uZXh0KHRoZW1lKTtcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldDxUaGVtZU9wdGlvbj4oVEhFTUUsIHRoZW1lKTtcbiAgfVxuXG4gIHRvZ2dsZVRoZW1lKG5hbWU6IHN0cmluZywgc2hvdWxkQWRkOiBib29sZWFuKSB7XG4gICAgY29uc29sZS5sb2coJ3RvZ2dsZVRoZW1lOjo6ICcsIG5hbWUsIHNob3VsZEFkZCk7XG4gICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKG5hbWUsIHNob3VsZEFkZCk7XG4gIH1cblxuICB0b2dnbGVVc2VyUHJlZmVyZW5jZShvcHRpb246IFRoZW1lT3B0aW9uKSB7XG4gICAgdGhpcy5jdXJyZW50T3B0aW9uID0gb3B0aW9uO1xuICAgIHRoaXMuVGhlbWUgPSBvcHRpb247XG4gICAgdGhpcy5saWdodFRvZ2dsZSA9IG9wdGlvbiA9PT0gVGhlbWVPcHRpb24uTElHSFQ7XG4gICAgdGhpcy5kYXJrVG9nZ2xlID0gb3B0aW9uID09PSBUaGVtZU9wdGlvbi5EQVJLO1xuICAgIHRoaXMuYXV0b1RvZ2dsZSA9IG9wdGlvbiA9PT0gVGhlbWVPcHRpb24uQVVUTztcblxuICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICBjYXNlIFRoZW1lT3B0aW9uLkxJR0hUOlxuICAgICAgICB0aGlzLmhhbmRsZUxpZ2h0UHJlZmVyZW5jZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uREFSSzpcbiAgICAgICAgdGhpcy5oYW5kbGVEYXJrUHJlZmVyZW5jZSgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVGhlbWVPcHRpb24uQVVUTzpcbiAgICAgICAgaWYgKHRoaXMucHJlZmVyc0RhcmspIHtcbiAgICAgICAgICB0aGlzLmhhbmRsZURhcmtQcmVmZXJlbmNlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVMaWdodFByZWZlcmVuY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|