@libs-ui/services-config-project 0.2.212 → 0.2.214
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/config-project-data.d.ts +24 -0
- package/config-project.service.d.ts +2 -0
- package/esm2022/config-project-data.mjs +45 -21
- package/esm2022/config-project.service.mjs +17 -2
- package/fesm2022/libs-ui-services-config-project.mjs +60 -21
- package/fesm2022/libs-ui-services-config-project.mjs.map +1 -1
- package/package.json +2 -2
package/config-project-data.d.ts
CHANGED
|
@@ -12,6 +12,30 @@ export declare const weights: {
|
|
|
12
12
|
uri_bold: string;
|
|
13
13
|
};
|
|
14
14
|
export declare const configHeading: ILibsUiConfigFontHeading;
|
|
15
|
+
export declare const sizeButtonConfig: () => {
|
|
16
|
+
icon: {
|
|
17
|
+
large: string;
|
|
18
|
+
medium: string;
|
|
19
|
+
small: string;
|
|
20
|
+
smaller: string;
|
|
21
|
+
};
|
|
22
|
+
large: {
|
|
23
|
+
font_size: string;
|
|
24
|
+
line_height: string;
|
|
25
|
+
};
|
|
26
|
+
medium: {
|
|
27
|
+
font_size: string;
|
|
28
|
+
line_height: string;
|
|
29
|
+
};
|
|
30
|
+
small: {
|
|
31
|
+
font_size: string;
|
|
32
|
+
line_height: string;
|
|
33
|
+
};
|
|
34
|
+
smaller: {
|
|
35
|
+
font_size: string;
|
|
36
|
+
line_height: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
15
39
|
export declare const configButtonColor: (rootColorInTheme: string) => {
|
|
16
40
|
"button-primary": {
|
|
17
41
|
configStepColor: {
|
|
@@ -17,6 +17,7 @@ export declare class LibsUiConfigProjectService {
|
|
|
17
17
|
private readonly configFont;
|
|
18
18
|
private readonly configHead;
|
|
19
19
|
private readonly configButton;
|
|
20
|
+
private readonly configButtonSize;
|
|
20
21
|
private readonly configButtonStatus;
|
|
21
22
|
private readonly configButtonTab;
|
|
22
23
|
private readonly styleClassGlobalEl;
|
|
@@ -354,6 +355,7 @@ export declare class LibsUiConfigProjectService {
|
|
|
354
355
|
set ConfigButtonTab(config: ILibsUiConfigButtonTab);
|
|
355
356
|
setupFontFamily(currentDoc?: Document): void;
|
|
356
357
|
private setupFontHead;
|
|
358
|
+
private setupButtonSize;
|
|
357
359
|
private setupButtonTab;
|
|
358
360
|
private setThemeColor;
|
|
359
361
|
colorStepContrastFromOrigin(step: number, color?: string): import("@libs-ui/utils").IColorContrastFromOrigin | undefined;
|
|
@@ -15,121 +15,121 @@ export const configHeading = {
|
|
|
15
15
|
h1r: {
|
|
16
16
|
"font-size": '30px',
|
|
17
17
|
"font-weight": '400',
|
|
18
|
-
"line-height": '
|
|
18
|
+
"line-height": '42px',
|
|
19
19
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
20
20
|
},
|
|
21
21
|
h1m: {
|
|
22
22
|
"font-size": '30px',
|
|
23
23
|
"font-weight": '500',
|
|
24
|
-
"line-height": '
|
|
24
|
+
"line-height": '42px',
|
|
25
25
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
26
26
|
},
|
|
27
27
|
h1s: {
|
|
28
28
|
"font-size": '30px',
|
|
29
29
|
"font-weight": '600',
|
|
30
|
-
"line-height": '
|
|
30
|
+
"line-height": '42px',
|
|
31
31
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
32
32
|
},
|
|
33
33
|
h1b: {
|
|
34
34
|
"font-size": '30px',
|
|
35
35
|
"font-weight": '700',
|
|
36
|
-
"line-height": '
|
|
36
|
+
"line-height": '42px',
|
|
37
37
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
38
38
|
},
|
|
39
39
|
h2r: {
|
|
40
40
|
"font-size": '20px',
|
|
41
41
|
"font-weight": '400',
|
|
42
|
-
"line-height": '
|
|
42
|
+
"line-height": '28px',
|
|
43
43
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
44
44
|
},
|
|
45
45
|
h2m: {
|
|
46
46
|
"font-size": '20px',
|
|
47
47
|
"font-weight": '500',
|
|
48
|
-
"line-height": '
|
|
48
|
+
"line-height": '28px',
|
|
49
49
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
50
50
|
},
|
|
51
51
|
h2s: {
|
|
52
52
|
"font-size": '20px',
|
|
53
53
|
"font-weight": '600',
|
|
54
|
-
"line-height": '
|
|
54
|
+
"line-height": '28px',
|
|
55
55
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
56
56
|
},
|
|
57
57
|
h2b: {
|
|
58
58
|
"font-size": '20px',
|
|
59
59
|
"font-weight": '400',
|
|
60
|
-
"line-height": '
|
|
60
|
+
"line-height": '28px',
|
|
61
61
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
62
62
|
},
|
|
63
63
|
h3r: {
|
|
64
64
|
"font-size": '16px',
|
|
65
65
|
"font-weight": '400',
|
|
66
|
-
"line-height": '
|
|
66
|
+
"line-height": '24px',
|
|
67
67
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
68
68
|
},
|
|
69
69
|
h3m: {
|
|
70
70
|
"font-size": '16px',
|
|
71
71
|
"font-weight": '500',
|
|
72
|
-
"line-height": '
|
|
72
|
+
"line-height": '24px',
|
|
73
73
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
74
74
|
},
|
|
75
75
|
h3s: {
|
|
76
76
|
"font-size": '16px',
|
|
77
77
|
"font-weight": '600',
|
|
78
|
-
"line-height": '
|
|
78
|
+
"line-height": '24px',
|
|
79
79
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
80
80
|
},
|
|
81
81
|
h3b: {
|
|
82
82
|
"font-size": '16px',
|
|
83
83
|
"font-weight": '700',
|
|
84
|
-
"line-height": '
|
|
84
|
+
"line-height": '24px',
|
|
85
85
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
86
86
|
},
|
|
87
87
|
h4r: {
|
|
88
88
|
"font-size": '13px',
|
|
89
89
|
"font-weight": '400',
|
|
90
|
-
"line-height": '
|
|
90
|
+
"line-height": '20px',
|
|
91
91
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
92
92
|
},
|
|
93
93
|
h4m: {
|
|
94
94
|
"font-size": '13px',
|
|
95
95
|
"font-weight": '500',
|
|
96
|
-
"line-height": '
|
|
96
|
+
"line-height": '20px',
|
|
97
97
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
98
98
|
},
|
|
99
99
|
h4s: {
|
|
100
100
|
"font-size": '13px',
|
|
101
101
|
"font-weight": '600',
|
|
102
|
-
"line-height": '
|
|
102
|
+
"line-height": '20px',
|
|
103
103
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
104
104
|
},
|
|
105
105
|
h4b: {
|
|
106
106
|
"font-size": '13px',
|
|
107
107
|
"font-weight": '700',
|
|
108
|
-
"line-height": '
|
|
108
|
+
"line-height": '20px',
|
|
109
109
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
110
110
|
},
|
|
111
111
|
h5r: {
|
|
112
112
|
"font-size": '12px',
|
|
113
113
|
"font-weight": '400',
|
|
114
|
-
"line-height": '
|
|
114
|
+
"line-height": '18px',
|
|
115
115
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
116
116
|
},
|
|
117
117
|
h5m: {
|
|
118
118
|
"font-size": '12px',
|
|
119
119
|
"font-weight": '500',
|
|
120
|
-
"line-height": '
|
|
120
|
+
"line-height": '18px',
|
|
121
121
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
122
122
|
},
|
|
123
123
|
h5s: {
|
|
124
124
|
"font-size": '12px',
|
|
125
125
|
"font-weight": '600',
|
|
126
|
-
"line-height": '
|
|
126
|
+
"line-height": '18px',
|
|
127
127
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
128
128
|
},
|
|
129
129
|
h5b: {
|
|
130
130
|
"font-size": '12px',
|
|
131
131
|
"font-weight": '700',
|
|
132
|
-
"line-height": '
|
|
132
|
+
"line-height": '18px',
|
|
133
133
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
134
134
|
},
|
|
135
135
|
h6r: {
|
|
@@ -181,6 +181,30 @@ export const configHeading = {
|
|
|
181
181
|
"letter-spacing": 'calc(11px * (0.5 / 100))'
|
|
182
182
|
},
|
|
183
183
|
};
|
|
184
|
+
export const sizeButtonConfig = () => ({
|
|
185
|
+
icon: {
|
|
186
|
+
large: '20px',
|
|
187
|
+
medium: '16px',
|
|
188
|
+
small: '16px',
|
|
189
|
+
smaller: '16px'
|
|
190
|
+
},
|
|
191
|
+
large: {
|
|
192
|
+
font_size: '16px',
|
|
193
|
+
line_height: '24px'
|
|
194
|
+
},
|
|
195
|
+
medium: {
|
|
196
|
+
font_size: '12px',
|
|
197
|
+
line_height: '18px'
|
|
198
|
+
},
|
|
199
|
+
small: {
|
|
200
|
+
font_size: '12px',
|
|
201
|
+
line_height: '18px'
|
|
202
|
+
},
|
|
203
|
+
smaller: {
|
|
204
|
+
font_size: '11px',
|
|
205
|
+
line_height: '16px'
|
|
206
|
+
}
|
|
207
|
+
});
|
|
184
208
|
export const configButtonColor = (rootColorInTheme) => {
|
|
185
209
|
return {
|
|
186
210
|
"button-primary": {
|
|
@@ -594,4 +618,4 @@ export const styleButtonTab = (type, config) => {
|
|
|
594
618
|
background-color: ${backgroundBadge} !important;
|
|
595
619
|
}`;
|
|
596
620
|
};
|
|
597
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxhQUFhO0lBQ25CLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsVUFBVSxFQUFFLHdCQUF3QjtJQUNwQyxZQUFZLEVBQUUsMEJBQTBCO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBNkI7SUFDckQsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07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QUFFO1lBQ04sS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsZ0JBQWdCLEVBQUUsU0FBUztTQUM1QjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLGdCQUFnQixFQUFFLFNBQVM7U0FDNUI7UUFDRCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztZQUNyQixnQkFBZ0IsRUFBRSxTQUFTO1NBQzVCO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxNQUF1QixFQUFFLEVBQUU7SUFDdEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUM3RixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksMkJBQTJCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7SUFFeEcsT0FBTyx1QkFBdUIsSUFBSTt3QkFDWixVQUFVOzs7d0JBR1YsSUFBSTthQUNmLE1BQU0sQ0FBQyxLQUFLOzs7d0JBR0QsSUFBSTthQUNmLE1BQU0sQ0FBQyxLQUFLO3dCQUNELGVBQWU7SUFDbkMsQ0FBQztBQUNMLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbiB9IGZyb20gXCJAbGlicy11aS91dGlsc1wiO1xuaW1wb3J0IHsgSUNvbG9yQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnQnV0dG9uU3RhdHVzLCBJTGlic1VpQ29uZmlnQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcgfSBmcm9tIFwiLi9jb25maWctcHJvamVjdC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNvbnN0IGZvbnRDb25maWcgPSB7XG4gIG5hbWU6ICdTVk4tUG9wcGlucycsXG4gIHVyaV9yZWd1bGFyOiAnU1ZOLVBvcHBpbnMtUmVndWxhci50dGYnLFxuICB1cmlfbWVkaXVtOiAnU1ZOLVBvcHBpbnMtTWVkaXVtLnR0ZicsXG4gIHVyaV9zZW1pYm9sZDogJ1NWTi1Qb3BwaW5zLVNlbWlCb2xkLnR0Zidcbn07XG5cbmV4cG9ydCBjb25zdCB3ZWlnaHRzID0ge1xuICB1cmlfcmVndWxhcjogJzQwMCcsXG4gIHVyaV9tZWRpdW06ICc1MDAnLFxuICB1cmlfc2VtaWJvbGQ6ICc2MDAnLFxuICB1cmlfYm9sZDogJzcwMCdcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdIZWFkaW5nOiBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcgPSB7XG4gIGgxcjoge1xuICAgIFwiZm9udC1zaXplXCI6ICczMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzM4cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMzBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDFtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzMwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMzhweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygzMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoMXM6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMzBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICczOHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDMwcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgxYjoge1xuICAgIFwiZm9udC1zaXplXCI6ICczMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzM4cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMzBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDJyOiB7XG4gICAgXCJmb250LXNpemVcIjogJzIwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygyMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoMm06IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMjBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNTAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDIwcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgyczoge1xuICAgIFwiZm9udC1zaXplXCI6ICcyMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc2MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzI2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMjBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDJiOiB7XG4gICAgXCJmb250LXNpemVcIjogJzIwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnNzZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygyMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoM3I6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTZweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNDAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyMHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDE2cHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgzbToge1xuICAgIFwiZm9udC1zaXplXCI6ICcxNnB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc1MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzIwcHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTZweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDNzOiB7XG4gICAgXCJmb250LXNpemVcIjogJzE2cHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzYwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjBweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxNnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoM2I6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTZweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNzAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyMHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDE2cHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg0cjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxM3B4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTNweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDRtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEzcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxM3B4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNHM6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTNweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDEzcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg0Yjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxM3B4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTNweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDVyOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEycHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNW06IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTJweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNTAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDEycHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg1czoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMnB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc2MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTJweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDViOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEycHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzcwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNnI6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTFweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNDAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg2bToge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMXB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc1MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDZzOiB7XG4gICAgXCJmb250LXNpemVcIjogJzExcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzcwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMXB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNmI6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTFweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNzAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg3cjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDdtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMXB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoN3M6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg3Yjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdCdXR0b25Db2xvciA9IChyb290Q29sb3JJblRoZW1lOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBcImJ1dHRvbi1wcmltYXJ5XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLXByaW1hcnktcmV2ZXJ0XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLXNlY29uZGFyeVwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IDkwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDkwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiA5MCxcbiAgICAgICAgYm9yZGVyX2Rpc2FibGU6IFwiI0Y4RjlGQVwiXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiByb290Q29sb3JJblRoZW1lXG4gICAgfSxcbiAgICBcImJ1dHRvbi10aGlyZFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCIjNkE3MzgzXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogOTAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyX2hvdmVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogOTAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tc2Vjb25kYXJ5LXJlZFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogLTIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogOTAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogOTAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogJyNFRTJENDEnXG4gICAgfSxcbiAgICBcImJ1dHRvbi1vdXRsaW5lXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIiM2QTczODNcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IFwiI2U2ZTdlYVwiLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDIwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNFNkU3RUFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tZGFuZ2VyLWhpZ2hcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiAyMCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IC0yMCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDIwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjZWUyZDQxXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLWRhbmdlci1sb3dcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiAyMCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IC0yMCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDIwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjZmZhNjIxXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLWdyZWVuXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiIzAwZDE2ZFwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi12aW9sZXRcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiAyMCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IC0yMCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDIwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjNzIzOWVhXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLW91dGxpbmUtZ3JlZW5cIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwiIzZBNzM4M1wiLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogXCIjZTZlN2VhXCIsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogMjAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IC0yMCxcbiAgICAgICAgYm9yZGVyX2Rpc2FibGU6IFwiI0U2RTdFQVwiXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiMwMGQxNmRcIlxuICAgIH0sXG4gICAgXCJidXR0b24tc2Vjb25kYXJ5LWdyZWVuXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogMCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IDAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjMDBkMTZkXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLW91dGxpbmUtc2Vjb25kYXJ5XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogMCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiAwLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IDAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNFNkU3RUFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tb3V0bGluZS1ob3Zlci1kYW5nZXJcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwiIzZBNzM4M1wiLFxuICAgICAgICB0ZXh0X2hvdmVyOiAwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiBcIiNlNmU3ZWFcIixcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNlNmU3ZWFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjZjE1NzY3XCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLXRoaXJkLWhvdmVyLWRhbmdlclwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCIjNkE3MzgzXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIiNmMWYzZjVcIixcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogOTAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNmMWYzZjVcIixcbiAgICAgICAgYm9yZGVyOiBcIiNmMWYzZjVcIixcbiAgICAgICAgYm9yZGVyX2hvdmVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogOTAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNmMWYzZjVcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogJyNFRTJENDEnXG4gICAgfSxcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZ0xpbmtCdXR0b24gPSAocm9vdENvbG9ySW5UaGVtZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7XG4gICAgXCJidXR0b24tbGluay1wcmltYXJ5XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tbGluay10aGlyZFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCIjNkE3MzgzXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tbGluay1kYW5nZXItaGlnaFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiNlZTJkNDFcIlxuICAgIH0sXG4gICAgXCJidXR0b24tbGluay1kYW5nZXItbG93XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiI2ZmYTYyMVwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1saW5rLWdyZWVuXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiAwLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiIzAwZDE2ZFwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1saW5rLXZpb2xldFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiM3MjM5ZWFcIlxuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdCdXR0b25TdGF0dXMgPSAoKTogSUxpYnNVaUNvbmZpZ0J1dHRvblN0YXR1cyA9PiB7XG4gIHJldHVybiB7XG4gICAgXCJibHVlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMyMjZGRjVcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0U5RjFGRVwiXG4gICAgfSxcbiAgICBcImdyZWVuXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMwMEQxNkRcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0U2RkFGMFwiXG4gICAgfSxcbiAgICBcInJlZFwiOiB7XG4gICAgICBjb2xvcjogXCIjRUUyRDQxXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGREVBRUNcIlxuICAgIH0sXG4gICAgXCJvcmFuZ2VcIjoge1xuICAgICAgY29sb3I6IFwiI0YwNTgwMFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRkVFRUU2XCJcbiAgICB9LFxuICAgIFwieWVsbG93XCI6IHtcbiAgICAgIGNvbG9yOiBcIiNGRkE2MjFcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0ZGRjZFOVwiXG4gICAgfSxcbiAgICBcImN5YW5cIjoge1xuICAgICAgY29sb3I6IFwiIzA0QzhDOFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRTZGQUZBXCJcbiAgICB9LFxuICAgIFwicHVycGxlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiM3MjM5RUFcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0YxRUJGRFwiXG4gICAgfSxcbiAgICBcImJyb3duXCI6IHtcbiAgICAgIGNvbG9yOiBcIiM2NjMyNTlcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0YwRUJFRVwiXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjb25maWdCdXR0b25UYWIgPSAoKTogSUxpYnNVaUNvbmZpZ0J1dHRvblRhYiA9PiB7XG4gIHJldHVybiB7XG4gICAgXCJibHVlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMyMjZGRjVcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0Y0RjhGRlwiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRTlGMUZFXCJcbiAgICB9LFxuICAgIFwiZ3JlZW5cIjoge1xuICAgICAgY29sb3I6IFwiIzAwRDE2RFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRjJGQ0Y3XCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNFNkZBRjBcIlxuICAgIH0sXG4gICAgXCJyZWRcIjoge1xuICAgICAgY29sb3I6IFwiI0VFMkQ0MVwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRkRFQUVDXCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNGRUU5RjFcIlxuICAgIH0sXG4gICAgXCJvcmFuZ2VcIjoge1xuICAgICAgY29sb3I6IFwiI0YwNTgwMFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRkVGN0YyXCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNGRUVFRTZcIlxuXG4gICAgfSxcbiAgICBcInllbGxvd1wiOiB7XG4gICAgICBjb2xvcjogXCIjRkZBNjIxXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGRkZCRjRcIixcbiAgICAgIGJhY2tncm91bmRfYmFkZ2U6IFwiI0ZGRjZFOVwiXG4gICAgfSxcbiAgICBcImN5YW5cIjoge1xuICAgICAgY29sb3I6IFwiIzA0QzhDOFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRjJGQ0ZDXCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNFNkZBRkFcIlxuICAgIH0sXG4gICAgXCJwdXJwbGVcIjoge1xuICAgICAgY29sb3I6IFwiIzcyMzlFQVwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRjhGNUZFXCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNGMUVCRkRcIlxuICAgIH0sXG4gICAgXCJicm93blwiOiB7XG4gICAgICBjb2xvcjogXCIjNjYzMjU5XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGN0Y1RjdcIixcbiAgICAgIGJhY2tncm91bmRfYmFkZ2U6IFwiI0YwRUJFRVwiXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzdHlsZUJ1dHRvblRhYiA9ICh0eXBlOiBzdHJpbmcsIGNvbmZpZzogSUNvbG9yQnV0dG9uVGFiKSA9PiB7XG4gIGNvbnN0IGJhY2tncm91bmQgPSBjb25maWcuYmFja2dyb3VuZCB8fCBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4oY29uZmlnLmNvbG9yLCA5NSk/LmxpZ2h0O1xuICBjb25zdCBiYWNrZ3JvdW5kQmFkZ2UgPSBjb25maWcuYmFja2dyb3VuZF9iYWRnZSB8fCBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4oY29uZmlnLmNvbG9yLCA5MCk/LmxpZ2h0O1xuXG4gIHJldHVybiBgLmxpYnMtdWktYnV0dG9uLXRhYi0ke3R5cGV9W2FjdGl2ZT1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7YmFja2dyb3VuZH0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5saWJzLXVpLWJ1dHRvbi10YWItJHt0eXBlfVthY3RpdmU9XCJ0cnVlXCJdID4gLmxpYnMtdWktYnV0dG9uLXRhYi1sYWJlbCB7XG4gICAgY29sb3I6ICR7Y29uZmlnLmNvbG9yfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxpYnMtdWktYnV0dG9uLXRhYi0ke3R5cGV9W2FjdGl2ZT1cInRydWVcIl0gPiAubGlicy11aS1idXR0b24tdGFiLWJhZGdlID4gLmxpYnMtdWktYnV0dG9uLXRhYi1iYWRnZS1jaXJjbGUge1xuICAgIGNvbG9yOiAke2NvbmZpZy5jb2xvcn0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2JhY2tncm91bmRCYWRnZX0gIWltcG9ydGFudDtcbiAgfWA7XG59Il19
|
|
621
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxhQUFhO0lBQ25CLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsVUFBVSxFQUFFLHdCQUF3QjtJQUNwQyxZQUFZLEVBQUUsMEJBQTBCO0NBQ3pDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBNkI7SUFDckQsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0lBQ0QsR0FBRyxFQUFFO1FBQ0gsV0FBVyxFQUFFLE1BQU07UUFDbkIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsYUFBYSxFQUFFLE1BQU07UUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0tBQzdDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckMsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFLE1BQU07UUFDYixNQUFNLEVBQUUsTUFBTTtRQUNkLEtBQUssRUFBRSxNQUFNO1FBQ2IsT0FBTyxFQUFFLE1BQU07S0FDaEI7SUFDRCxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsTUFBTTtRQUNqQixXQUFXLEVBQUUsTUFBTTtLQUNwQjtJQUNELE1BQU0sRUFBRTtRQUNOLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFdBQVcsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLE1BQU07UUFDakIsV0FBVyxFQUFFLE1BQU07S0FDcEI7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsTUFBTTtRQUNqQixXQUFXLEVBQUUsTUFBTTtLQUNwQjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUM1RCxPQUFPO1FBQ0wsZ0JBQWdCLEVBQUU7WUFDaEIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxDQUFDO2dCQUNiLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGlCQUFpQixFQUFFLENBQUMsRUFBRTtnQkFDdEIsa0JBQWtCLEVBQUUsU0FBUztnQkFDN0IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGFBQWEsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELHVCQUF1QixFQUFFO1lBQ3ZCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsQ0FBQztnQkFDUCxVQUFVLEVBQUUsT0FBTztnQkFDbkIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsT0FBTztnQkFDbkIsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsQ0FBQztnQkFDVCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLENBQUMsRUFBRTtnQkFDbEIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCO1FBQ0Qsa0JBQWtCLEVBQUU7WUFDbEIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsRUFBRTtnQkFDVixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELGNBQWMsRUFBRTtZQUNkLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixVQUFVLEVBQUUsRUFBRTtnQkFDZCxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGlCQUFpQixFQUFFLEVBQUU7Z0JBQ3JCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELHNCQUFzQixFQUFFO1lBQ3RCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsQ0FBQztnQkFDUCxVQUFVLEVBQUUsQ0FBQyxFQUFFO2dCQUNmLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsRUFBRTtnQkFDZCxnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsRUFBRTtnQkFDVixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLFNBQVM7U0FDckI7UUFDRCxnQkFBZ0IsRUFBRTtZQUNoQixlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLENBQUMsRUFBRTtnQkFDaEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixnQkFBZ0IsRUFBRSxPQUFPO2dCQUN6QixpQkFBaUIsRUFBRSxPQUFPO2dCQUMxQixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsU0FBUztnQkFDakIsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGFBQWEsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELG9CQUFvQixFQUFFO1lBQ3BCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUUsT0FBTztnQkFDbkIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsQ0FBQztnQkFDYixnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixpQkFBaUIsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFlBQVksRUFBRSxFQUFFO2dCQUNoQixhQUFhLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxPQUFPO2dCQUNiLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxDQUFDO2dCQUNiLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGlCQUFpQixFQUFFLENBQUMsRUFBRTtnQkFDdEIsa0JBQWtCLEVBQUUsU0FBUztnQkFDN0IsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsWUFBWSxFQUFFLEVBQUU7Z0JBQ2hCLGFBQWEsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLFNBQVM7U0FDckI7UUFDRCxjQUFjLEVBQUU7WUFDZCxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLFdBQVcsRUFBRSxPQUFPO2dCQUNwQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsQ0FBQztnQkFDVCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLENBQUMsRUFBRTtnQkFDbEIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRCxTQUFTLEVBQUUsU0FBUztTQUNyQjtRQUNELGVBQWUsRUFBRTtZQUNmLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUUsT0FBTztnQkFDbkIsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsQ0FBQztnQkFDYixnQkFBZ0IsRUFBRSxFQUFFO2dCQUNwQixpQkFBaUIsRUFBRSxDQUFDLEVBQUU7Z0JBQ3RCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFlBQVksRUFBRSxFQUFFO2dCQUNoQixhQUFhLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0Qsc0JBQXNCLEVBQUU7WUFDdEIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxTQUFTO2dCQUNmLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hCLFlBQVksRUFBRSxTQUFTO2dCQUN2QixVQUFVLEVBQUUsT0FBTztnQkFDbkIsZ0JBQWdCLEVBQUUsT0FBTztnQkFDekIsaUJBQWlCLEVBQUUsT0FBTztnQkFDMUIsa0JBQWtCLEVBQUUsU0FBUztnQkFDN0IsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFlBQVksRUFBRSxFQUFFO2dCQUNoQixhQUFhLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0Qsd0JBQXdCLEVBQUU7WUFDeEIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxFQUFFO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFlBQVksRUFBRSxDQUFDO2dCQUNmLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsMEJBQTBCLEVBQUU7WUFDMUIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxFQUFFO2dCQUNkLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxDQUFDO2dCQUNULFlBQVksRUFBRSxDQUFDO2dCQUNmLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNELFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUI7UUFDRCw2QkFBNkIsRUFBRTtZQUM3QixlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsV0FBVyxFQUFFLENBQUMsRUFBRTtnQkFDaEIsWUFBWSxFQUFFLFNBQVM7Z0JBQ3ZCLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixnQkFBZ0IsRUFBRSxPQUFPO2dCQUN6QixpQkFBaUIsRUFBRSxPQUFPO2dCQUMxQixrQkFBa0IsRUFBRSxTQUFTO2dCQUM3QixNQUFNLEVBQUUsU0FBUztnQkFDakIsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsYUFBYSxFQUFFLENBQUMsRUFBRTtnQkFDbEIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRCxTQUFTLEVBQUUsU0FBUztTQUNyQjtRQUNELDJCQUEyQixFQUFFO1lBQzNCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixVQUFVLEVBQUUsRUFBRTtnQkFDZCxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixZQUFZLEVBQUUsU0FBUztnQkFDdkIsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLGdCQUFnQixFQUFFLEVBQUU7Z0JBQ3BCLGlCQUFpQixFQUFFLEVBQUU7Z0JBQ3JCLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLFNBQVM7U0FDckI7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO0lBQzNELE9BQU87UUFDTCxxQkFBcUIsRUFBRTtZQUNyQixlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLENBQUMsRUFBRTtnQkFDaEIsWUFBWSxFQUFFLFNBQVM7YUFDeEI7WUFDRCxTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxTQUFTO2dCQUNmLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hCLFlBQVksRUFBRSxTQUFTO2FBQ3hCO1lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELHlCQUF5QixFQUFFO1lBQ3pCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsQ0FBQztnQkFDUCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixZQUFZLEVBQUUsU0FBUzthQUN4QjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO1FBQ0Qsd0JBQXdCLEVBQUU7WUFDeEIsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ2hCLFlBQVksRUFBRSxTQUFTO2FBQ3hCO1lBQ0QsU0FBUyxFQUFFLFNBQVM7U0FDckI7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLENBQUMsRUFBRTtnQkFDaEIsWUFBWSxFQUFFLFNBQVM7YUFDeEI7WUFDRCxTQUFTLEVBQUUsU0FBUztTQUNyQjtRQUNELG9CQUFvQixFQUFFO1lBQ3BCLGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsQ0FBQztnQkFDUCxVQUFVLEVBQUUsRUFBRTtnQkFDZCxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixZQUFZLEVBQUUsU0FBUzthQUN4QjtZQUNELFNBQVMsRUFBRSxTQUFTO1NBQ3JCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQThCLEVBQUU7SUFDaEUsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7U0FDdEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztTQUN0QjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7U0FDdEI7UUFDRCxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztTQUN0QjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7U0FDdEI7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQTJCLEVBQUU7SUFDMUQsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLGdCQUFnQixFQUFFLFNBQVM7U0FDNUI7UUFDRCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztZQUNyQixnQkFBZ0IsRUFBRSxTQUFTO1NBQzVCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsZ0JBQWdCLEVBQUUsU0FBUztTQUM1QjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLGdCQUFnQixFQUFFLFNBQVM7U0FFNUI7UUFDRCxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztZQUNyQixnQkFBZ0IsRUFBRSxTQUFTO1NBQzVCO1FBQ0QsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLFNBQVM7WUFDaEIsVUFBVSxFQUFFLFNBQVM7WUFDckIsZ0JBQWdCLEVBQUUsU0FBUztTQUM1QjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLGdCQUFnQixFQUFFLFNBQVM7U0FDNUI7UUFDRCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsU0FBUztZQUNoQixVQUFVLEVBQUUsU0FBUztZQUNyQixnQkFBZ0IsRUFBRSxTQUFTO1NBQzVCO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxNQUF1QixFQUFFLEVBQUU7SUFDdEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUM3RixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLElBQUksMkJBQTJCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7SUFFeEcsT0FBTyx1QkFBdUIsSUFBSTt3QkFDWixVQUFVOzs7d0JBR1YsSUFBSTthQUNmLE1BQU0sQ0FBQyxLQUFLOzs7d0JBR0QsSUFBSTthQUNmLE1BQU0sQ0FBQyxLQUFLO3dCQUNELGVBQWU7SUFDbkMsQ0FBQztBQUNMLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbiB9IGZyb20gXCJAbGlicy11aS91dGlsc1wiO1xuaW1wb3J0IHsgSUNvbG9yQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnQnV0dG9uU3RhdHVzLCBJTGlic1VpQ29uZmlnQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcgfSBmcm9tIFwiLi9jb25maWctcHJvamVjdC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNvbnN0IGZvbnRDb25maWcgPSB7XG4gIG5hbWU6ICdTVk4tUG9wcGlucycsXG4gIHVyaV9yZWd1bGFyOiAnU1ZOLVBvcHBpbnMtUmVndWxhci50dGYnLFxuICB1cmlfbWVkaXVtOiAnU1ZOLVBvcHBpbnMtTWVkaXVtLnR0ZicsXG4gIHVyaV9zZW1pYm9sZDogJ1NWTi1Qb3BwaW5zLVNlbWlCb2xkLnR0Zidcbn07XG5cbmV4cG9ydCBjb25zdCB3ZWlnaHRzID0ge1xuICB1cmlfcmVndWxhcjogJzQwMCcsXG4gIHVyaV9tZWRpdW06ICc1MDAnLFxuICB1cmlfc2VtaWJvbGQ6ICc2MDAnLFxuICB1cmlfYm9sZDogJzcwMCdcbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdIZWFkaW5nOiBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcgPSB7XG4gIGgxcjoge1xuICAgIFwiZm9udC1zaXplXCI6ICczMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzQycHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMzBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDFtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzMwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnNDJweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygzMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoMXM6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMzBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICc0MnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDMwcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgxYjoge1xuICAgIFwiZm9udC1zaXplXCI6ICczMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzQycHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMzBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDJyOiB7XG4gICAgXCJmb250LXNpemVcIjogJzIwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjhweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygyMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoMm06IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMjBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNTAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyOHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDIwcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgyczoge1xuICAgIFwiZm9udC1zaXplXCI6ICcyMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc2MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzI4cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMjBweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDJiOiB7XG4gICAgXCJmb250LXNpemVcIjogJzIwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjhweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygyMHB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoM3I6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTZweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNDAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyNHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDE2cHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGgzbToge1xuICAgIFwiZm9udC1zaXplXCI6ICcxNnB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc1MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzI0cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTZweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDNzOiB7XG4gICAgXCJmb250LXNpemVcIjogJzE2cHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzYwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjRweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxNnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoM2I6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTZweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNzAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyNHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDE2cHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg0cjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxM3B4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzIwcHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTNweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDRtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEzcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMjBweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxM3B4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNHM6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTNweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcyMHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDEzcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg0Yjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxM3B4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzIwcHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTNweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDVyOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEycHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzQwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMThweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNW06IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTJweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNTAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxOHB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDEycHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg1czoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMnB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc2MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE4cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTJweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDViOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEycHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzcwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMThweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMnB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNnI6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTFweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNDAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg2bToge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMXB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc1MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDZzOiB7XG4gICAgXCJmb250LXNpemVcIjogJzExcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzcwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMXB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoNmI6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTFweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNzAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg3cjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc0MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbiAgaDdtOiB7XG4gICAgXCJmb250LXNpemVcIjogJzEwcHgnLFxuICAgIFwiZm9udC13ZWlnaHRcIjogJzUwMCcsXG4gICAgXCJsaW5lLWhlaWdodFwiOiAnMTZweCcsXG4gICAgXCJsZXR0ZXItc3BhY2luZ1wiOiAnY2FsYygxMXB4ICogKDAuNSAvIDEwMCkpJ1xuICB9LFxuICBoN3M6IHtcbiAgICBcImZvbnQtc2l6ZVwiOiAnMTBweCcsXG4gICAgXCJmb250LXdlaWdodFwiOiAnNjAwJyxcbiAgICBcImxpbmUtaGVpZ2h0XCI6ICcxNnB4JyxcbiAgICBcImxldHRlci1zcGFjaW5nXCI6ICdjYWxjKDExcHggKiAoMC41IC8gMTAwKSknXG4gIH0sXG4gIGg3Yjoge1xuICAgIFwiZm9udC1zaXplXCI6ICcxMHB4JyxcbiAgICBcImZvbnQtd2VpZ2h0XCI6ICc3MDAnLFxuICAgIFwibGluZS1oZWlnaHRcIjogJzE2cHgnLFxuICAgIFwibGV0dGVyLXNwYWNpbmdcIjogJ2NhbGMoMTFweCAqICgwLjUgLyAxMDApKSdcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBzaXplQnV0dG9uQ29uZmlnID0gKCkgPT4gKHtcbiAgaWNvbjoge1xuICAgIGxhcmdlOiAnMjBweCcsXG4gICAgbWVkaXVtOiAnMTZweCcsXG4gICAgc21hbGw6ICcxNnB4JyxcbiAgICBzbWFsbGVyOiAnMTZweCdcbiAgfSxcbiAgbGFyZ2U6IHtcbiAgICBmb250X3NpemU6ICcxNnB4JyxcbiAgICBsaW5lX2hlaWdodDogJzI0cHgnXG4gIH0sXG4gIG1lZGl1bToge1xuICAgIGZvbnRfc2l6ZTogJzEycHgnLFxuICAgIGxpbmVfaGVpZ2h0OiAnMThweCdcbiAgfSxcbiAgc21hbGw6IHtcbiAgICBmb250X3NpemU6ICcxMnB4JyxcbiAgICBsaW5lX2hlaWdodDogJzE4cHgnXG4gIH0sXG4gIHNtYWxsZXI6IHtcbiAgICBmb250X3NpemU6ICcxMXB4JyxcbiAgICBsaW5lX2hlaWdodDogJzE2cHgnXG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgY29uZmlnQnV0dG9uQ29sb3IgPSAocm9vdENvbG9ySW5UaGVtZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7XG4gICAgXCJidXR0b24tcHJpbWFyeVwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogLTIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogMjAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IC0yMCxcbiAgICAgICAgYm9yZGVyX2Rpc2FibGU6IFwiI0Y4RjlGQVwiXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiByb290Q29sb3JJblRoZW1lXG4gICAgfSxcbiAgICBcImJ1dHRvbi1wcmltYXJ5LXJldmVydFwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogLTIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogMjAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IC0yMCxcbiAgICAgICAgYm9yZGVyX2Rpc2FibGU6IFwiI0Y4RjlGQVwiXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiByb290Q29sb3JJblRoZW1lXG4gICAgfSxcbiAgICBcImJ1dHRvbi1zZWNvbmRhcnlcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IDAsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogOTAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiA5MCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogOTAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNGOEY5RkFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogcm9vdENvbG9ySW5UaGVtZVxuICAgIH0sXG4gICAgXCJidXR0b24tdGhpcmRcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwiIzZBNzM4M1wiLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogOTAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogOTAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IDkwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLXNlY29uZGFyeS1yZWRcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IDAsXG4gICAgICAgIHRleHRfaG92ZXI6IC0yMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogOTAsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogOTAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogOTAsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogOTAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IDkwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6ICcjRUUyRDQxJ1xuICAgIH0sXG4gICAgXCJidXR0b24tb3V0bGluZVwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCIjNkE3MzgzXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiBcIiNGOEY5RkFcIixcbiAgICAgICAgYm9yZGVyOiBcIiNlNmU3ZWFcIixcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRTZFN0VBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLWRhbmdlci1oaWdoXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiI2VlMmQ0MVwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1kYW5nZXItbG93XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiI2ZmYTYyMVwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1ncmVlblwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogLTIwLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogMjAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IC0yMCxcbiAgICAgICAgYm9yZGVyX2Rpc2FibGU6IFwiI0Y4RjlGQVwiXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiMwMGQxNmRcIlxuICAgIH0sXG4gICAgXCJidXR0b24tdmlvbGV0XCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIndoaXRlXCIsXG4gICAgICAgIHRleHRfaG92ZXI6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9hY3RpdmU6IFwid2hpdGVcIixcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogMCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMjAsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAyMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiIzcyMzllYVwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1vdXRsaW5lLWdyZWVuXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIiM2QTczODNcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFwid2hpdGVcIixcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IFwiI0Y4RjlGQVwiLFxuICAgICAgICBib3JkZXI6IFwiI2U2ZTdlYVwiLFxuICAgICAgICBib3JkZXJfaG92ZXI6IDIwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAtMjAsXG4gICAgICAgIGJvcmRlcl9kaXNhYmxlOiBcIiNFNkU3RUFcIlxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjMDBkMTZkXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLXNlY29uZGFyeS1ncmVlblwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IDAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRjhGOUZBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiIzAwZDE2ZFwiXG4gICAgfSxcbiAgICBcImJ1dHRvbi1vdXRsaW5lLXNlY29uZGFyeVwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogXCJ3aGl0ZVwiLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiA5MCxcbiAgICAgICAgYmFja2dyb3VuZF9ob3ZlcjogMCxcbiAgICAgICAgYmFja2dyb3VuZF9hY3RpdmU6IDAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgYm9yZGVyX2hvdmVyOiAwLFxuICAgICAgICBib3JkZXJfYWN0aXZlOiAwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjRTZFN0VBXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLW91dGxpbmUtaG92ZXItZGFuZ2VyXCI6IHtcbiAgICAgIGNvbmZpZ1N0ZXBDb2xvcjoge1xuICAgICAgICB0ZXh0OiBcIiM2QTczODNcIixcbiAgICAgICAgdGV4dF9ob3ZlcjogMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogXCJ3aGl0ZVwiLFxuICAgICAgICBiYWNrZ3JvdW5kX2hvdmVyOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfYWN0aXZlOiBcIndoaXRlXCIsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjRjhGOUZBXCIsXG4gICAgICAgIGJvcmRlcjogXCIjZTZlN2VhXCIsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogMCxcbiAgICAgICAgYm9yZGVyX2FjdGl2ZTogLTIwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjZTZlN2VhXCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IFwiI2YxNTc2N1wiXG4gICAgfSxcbiAgICBcImJ1dHRvbi10aGlyZC1ob3Zlci1kYW5nZXJcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwiIzZBNzM4M1wiLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgICAgYmFja2dyb3VuZDogXCIjZjFmM2Y1XCIsXG4gICAgICAgIGJhY2tncm91bmRfaG92ZXI6IDkwLFxuICAgICAgICBiYWNrZ3JvdW5kX2FjdGl2ZTogOTAsXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogXCIjZjFmM2Y1XCIsXG4gICAgICAgIGJvcmRlcjogXCIjZjFmM2Y1XCIsXG4gICAgICAgIGJvcmRlcl9ob3ZlcjogOTAsXG4gICAgICAgIGJvcmRlcl9hY3RpdmU6IDkwLFxuICAgICAgICBib3JkZXJfZGlzYWJsZTogXCIjZjFmM2Y1XCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6ICcjRUUyRDQxJ1xuICAgIH0sXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjb25maWdMaW5rQnV0dG9uID0gKHJvb3RDb2xvckluVGhlbWU6IHN0cmluZykgPT4ge1xuICByZXR1cm4ge1xuICAgIFwiYnV0dG9uLWxpbmstcHJpbWFyeVwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCJcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLWxpbmstdGhpcmRcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IFwiIzZBNzM4M1wiLFxuICAgICAgICB0ZXh0X2hvdmVyOiAyMCxcbiAgICAgICAgdGV4dF9hY3RpdmU6IC0yMCxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiBcIiNDREQwRDZcIixcbiAgICAgIH0sXG4gICAgICByb290Q29sb3I6IHJvb3RDb2xvckluVGhlbWVcbiAgICB9LFxuICAgIFwiYnV0dG9uLWxpbmstZGFuZ2VyLWhpZ2hcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IDAsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjZWUyZDQxXCJcbiAgICB9LFxuICAgIFwiYnV0dG9uLWxpbmstZGFuZ2VyLWxvd1wiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiNmZmE2MjFcIlxuICAgIH0sXG4gICAgXCJidXR0b24tbGluay1ncmVlblwiOiB7XG4gICAgICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICAgICAgdGV4dDogMCxcbiAgICAgICAgdGV4dF9ob3ZlcjogMjAsXG4gICAgICAgIHRleHRfYWN0aXZlOiAtMjAsXG4gICAgICAgIHRleHRfZGlzYWJsZTogXCIjQ0REMEQ2XCIsXG4gICAgICB9LFxuICAgICAgcm9vdENvbG9yOiBcIiMwMGQxNmRcIlxuICAgIH0sXG4gICAgXCJidXR0b24tbGluay12aW9sZXRcIjoge1xuICAgICAgY29uZmlnU3RlcENvbG9yOiB7XG4gICAgICAgIHRleHQ6IDAsXG4gICAgICAgIHRleHRfaG92ZXI6IDIwLFxuICAgICAgICB0ZXh0X2FjdGl2ZTogLTIwLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IFwiI0NERDBENlwiLFxuICAgICAgfSxcbiAgICAgIHJvb3RDb2xvcjogXCIjNzIzOWVhXCJcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY29uZmlnQnV0dG9uU3RhdHVzID0gKCk6IElMaWJzVWlDb25maWdCdXR0b25TdGF0dXMgPT4ge1xuICByZXR1cm4ge1xuICAgIFwiYmx1ZVwiOiB7XG4gICAgICBjb2xvcjogXCIjMjI2RkY1XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNFOUYxRkVcIlxuICAgIH0sXG4gICAgXCJncmVlblwiOiB7XG4gICAgICBjb2xvcjogXCIjMDBEMTZEXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNFNkZBRjBcIlxuICAgIH0sXG4gICAgXCJyZWRcIjoge1xuICAgICAgY29sb3I6IFwiI0VFMkQ0MVwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRkRFQUVDXCJcbiAgICB9LFxuICAgIFwib3JhbmdlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiNGMDU4MDBcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0ZFRUVFNlwiXG4gICAgfSxcbiAgICBcInllbGxvd1wiOiB7XG4gICAgICBjb2xvcjogXCIjRkZBNjIxXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGRkY2RTlcIlxuICAgIH0sXG4gICAgXCJjeWFuXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMwNEM4QzhcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0U2RkFGQVwiXG4gICAgfSxcbiAgICBcInB1cnBsZVwiOiB7XG4gICAgICBjb2xvcjogXCIjNzIzOUVBXCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGMUVCRkRcIlxuICAgIH0sXG4gICAgXCJicm93blwiOiB7XG4gICAgICBjb2xvcjogXCIjNjYzMjU5XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGMEVCRUVcIlxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY29uZmlnQnV0dG9uVGFiID0gKCk6IElMaWJzVWlDb25maWdCdXR0b25UYWIgPT4ge1xuICByZXR1cm4ge1xuICAgIFwiYmx1ZVwiOiB7XG4gICAgICBjb2xvcjogXCIjMjI2RkY1XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiNGNEY4RkZcIixcbiAgICAgIGJhY2tncm91bmRfYmFkZ2U6IFwiI0U5RjFGRVwiXG4gICAgfSxcbiAgICBcImdyZWVuXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMwMEQxNkRcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0YyRkNGN1wiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRTZGQUYwXCJcbiAgICB9LFxuICAgIFwicmVkXCI6IHtcbiAgICAgIGNvbG9yOiBcIiNFRTJENDFcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0ZERUFFQ1wiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRkVFOUYxXCJcbiAgICB9LFxuICAgIFwib3JhbmdlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiNGMDU4MDBcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0ZFRjdGMlwiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRkVFRUU2XCJcblxuICAgIH0sXG4gICAgXCJ5ZWxsb3dcIjoge1xuICAgICAgY29sb3I6IFwiI0ZGQTYyMVwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRkZGQkY0XCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNGRkY2RTlcIlxuICAgIH0sXG4gICAgXCJjeWFuXCI6IHtcbiAgICAgIGNvbG9yOiBcIiMwNEM4QzhcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0YyRkNGQ1wiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRTZGQUZBXCJcbiAgICB9LFxuICAgIFwicHVycGxlXCI6IHtcbiAgICAgIGNvbG9yOiBcIiM3MjM5RUFcIixcbiAgICAgIGJhY2tncm91bmQ6IFwiI0Y4RjVGRVwiLFxuICAgICAgYmFja2dyb3VuZF9iYWRnZTogXCIjRjFFQkZEXCJcbiAgICB9LFxuICAgIFwiYnJvd25cIjoge1xuICAgICAgY29sb3I6IFwiIzY2MzI1OVwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjRjdGNUY3XCIsXG4gICAgICBiYWNrZ3JvdW5kX2JhZGdlOiBcIiNGMEVCRUVcIlxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0eWxlQnV0dG9uVGFiID0gKHR5cGU6IHN0cmluZywgY29uZmlnOiBJQ29sb3JCdXR0b25UYWIpID0+IHtcbiAgY29uc3QgYmFja2dyb3VuZCA9IGNvbmZpZy5iYWNrZ3JvdW5kIHx8IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihjb25maWcuY29sb3IsIDk1KT8ubGlnaHQ7XG4gIGNvbnN0IGJhY2tncm91bmRCYWRnZSA9IGNvbmZpZy5iYWNrZ3JvdW5kX2JhZGdlIHx8IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihjb25maWcuY29sb3IsIDkwKT8ubGlnaHQ7XG5cbiAgcmV0dXJuIGAubGlicy11aS1idXR0b24tdGFiLSR7dHlwZX1bYWN0aXZlPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtiYWNrZ3JvdW5kfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxpYnMtdWktYnV0dG9uLXRhYi0ke3R5cGV9W2FjdGl2ZT1cInRydWVcIl0gPiAubGlicy11aS1idXR0b24tdGFiLWxhYmVsIHtcbiAgICBjb2xvcjogJHtjb25maWcuY29sb3J9ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubGlicy11aS1idXR0b24tdGFiLSR7dHlwZX1bYWN0aXZlPVwidHJ1ZVwiXSA+IC5saWJzLXVpLWJ1dHRvbi10YWItYmFkZ2UgPiAubGlicy11aS1idXR0b24tdGFiLWJhZGdlLWNpcmNsZSB7XG4gICAgY29sb3I6ICR7Y29uZmlnLmNvbG9yfSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7YmFja2dyb3VuZEJhZGdlfSAhaW1wb3J0YW50O1xuICB9YDtcbn0iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Injectable, computed, effect, signal } from "@angular/core";
|
|
3
3
|
import { colorStepContrastFromOrigin, get } from "@libs-ui/utils";
|
|
4
|
-
import { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, styleButtonTab, weights } from "./config-project-data";
|
|
4
|
+
import { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, sizeButtonConfig, styleButtonTab, weights } from "./config-project-data";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class LibsUiConfigProjectService {
|
|
7
7
|
themeColor = signal('#226ff5');
|
|
@@ -22,6 +22,7 @@ export class LibsUiConfigProjectService {
|
|
|
22
22
|
configButton = computed(() => {
|
|
23
23
|
return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };
|
|
24
24
|
});
|
|
25
|
+
configButtonSize = signal(sizeButtonConfig());
|
|
25
26
|
configButtonStatus = signal(configButtonStatus());
|
|
26
27
|
configButtonTab = signal(configButtonTab());
|
|
27
28
|
styleClassGlobalEl = document.createElement('style');
|
|
@@ -40,6 +41,9 @@ export class LibsUiConfigProjectService {
|
|
|
40
41
|
effect(() => {
|
|
41
42
|
this.setupButtonTab();
|
|
42
43
|
});
|
|
44
|
+
effect(() => {
|
|
45
|
+
this.setupButtonSize();
|
|
46
|
+
});
|
|
43
47
|
this.configString();
|
|
44
48
|
this.setClassGlobal();
|
|
45
49
|
}
|
|
@@ -137,6 +141,17 @@ export class LibsUiConfigProjectService {
|
|
|
137
141
|
this.styleClassHeadEl.innerHTML = styles;
|
|
138
142
|
document.head.append(this.styleClassHeadEl);
|
|
139
143
|
}
|
|
144
|
+
setupButtonSize() {
|
|
145
|
+
const configButtonSize = this.configButtonSize();
|
|
146
|
+
const doc = document.documentElement;
|
|
147
|
+
Object.keys(configButtonSize).forEach(keySize => {
|
|
148
|
+
const config = get(configButtonSize, keySize);
|
|
149
|
+
Object.keys(config).forEach(keyType => {
|
|
150
|
+
const name = `--libs-ui-button-size-${keySize}-${keyType.replace(/[_]/g, '-')}`;
|
|
151
|
+
doc.style.setProperty(name, get(config, keyType));
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
}
|
|
140
155
|
setupButtonTab() {
|
|
141
156
|
const configButtonTab = this.configButtonTab();
|
|
142
157
|
let styles = '';
|
|
@@ -290,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
290
305
|
providedIn: 'root'
|
|
291
306
|
}]
|
|
292
307
|
}], ctorParameters: () => [] });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXJLLE1BQU0sT0FBTywwQkFBMEI7SUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUN2QyxXQUFXLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDM0Msb0JBQW9CLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDbkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3Qyx1QkFBdUIsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDcEQsdUJBQXVCLEdBQUcsTUFBTSxDQUFTLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELGNBQWMsR0FBRyxN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U0FBUztnQkFDWCxDQUFDO2dCQUVELEtBQUssTUFBTSxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUVsQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ3BELE1BQU07b0JBQ1IsQ0FBQztnQkFDSCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBRUQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFBO0lBQ0gsQ0FBQzt3R0ExVVUsMEJBQTBCOzRHQUExQiwwQkFBMEIsY0FIekIsTUFBTTs7NEZBR1AsMEJBQTBCO2tCQUp0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEluamVjdGFibGUsIGNvbXB1dGVkLCBlZmZlY3QsIHNpZ25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4sIGdldCB9IGZyb20gXCJAbGlicy11aS91dGlsc1wiO1xuaW1wb3J0IHsgY29uZmlnQnV0dG9uQ29sb3IsIGNvbmZpZ0J1dHRvblN0YXR1cywgY29uZmlnQnV0dG9uVGFiLCBjb25maWdIZWFkaW5nLCBjb25maWdMaW5rQnV0dG9uLCBmb250Q29uZmlnLCBzdHlsZUJ1dHRvblRhYiwgd2VpZ2h0cyB9IGZyb20gXCIuL2NvbmZpZy1wcm9qZWN0LWRhdGFcIjtcbmltcG9ydCB7IElMaWJzVWlDb25maWdCdXR0b25TdGF0dXMsIElMaWJzVWlDb25maWdCdXR0b25UYWIsIElMaWJzVWlDb25maWdGb250RmFtaWx5LCBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcgfSBmcm9tIFwiLi9jb25maWctcHJvamVjdC5pbnRlcmZhY2VcIjtcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5leHBvcnQgY2xhc3MgTGlic1VpQ29uZmlnUHJvamVjdFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHRoZW1lQ29sb3IgPSBzaWduYWw8c3RyaW5nPignIzIyNmZmNScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJvcmRlckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNlNmU3ZWEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0RXJyb3JDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZmY1NDU0Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaWNvbkhvdmVyRGFuZ2VyQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2YxNTc2NycpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJvcmRlckVycm9yQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2VlMmQ0MScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmREaXNhYmxlQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2Y4ZjlmYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRleHRSZWFkb25seUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyMwNzE2MzEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0RGlzYWJsZUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyM5Y2EyYWQnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kUmVhZG9ubHlDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZjhmOWZhJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFja2dyb3VuZFVzZXJTZWxlY3Rpb24gPSBzaWduYWw8c3RyaW5nPignIzAwMDAwMDQwJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFja2dyb3VuZExpc3QgPSBzaWduYWw8c3RyaW5nPignI2Y4ZjlmYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmRMaXN0SG92ZXIgPSBzaWduYWw8c3RyaW5nPignI2Y4ZjlmYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmRMaXN0SG92ZXJEYW5nZXIgPSBzaWduYWw8c3RyaW5nPignI2ZlZjVmNicpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZvbnQgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHk+KGZvbnRDb25maWcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0hlYWQgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nPihjb25maWdIZWFkaW5nKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdCdXR0b24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHsgLi4uY29uZmlnQnV0dG9uQ29sb3IodGhpcy50aGVtZUNvbG9yKCkpLCAuLi5jb25maWdMaW5rQnV0dG9uKHRoaXMudGhlbWVDb2xvcigpKSB9O1xuICB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdCdXR0b25TdGF0dXMgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0J1dHRvblN0YXR1cz4oY29uZmlnQnV0dG9uU3RhdHVzKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0J1dHRvblRhYiA9IHNpZ25hbDxJTGlic1VpQ29uZmlnQnV0dG9uVGFiPihjb25maWdCdXR0b25UYWIoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3R5bGVDbGFzc0dsb2JhbEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHlsZUNsYXNzSGVhZEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHlsZUNsYXNzQnV0dG9uVGFiRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFRoZW1lQ29sb3IoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRm9udEZhbWlseSgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0dXBGb250SGVhZCgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0dXBCdXR0b25UYWIoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29uZmlnU3RyaW5nKCk7XG4gICAgdGhpcy5zZXRDbGFzc0dsb2JhbCgpO1xuICB9XG5cbiAgcHVibGljIHNldCBUaGVtZUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRoZW1lQ29sb3Iuc2V0KGNvbG9yIHx8ICcjMjI2ZmY1Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJvcmRlckNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJvcmRlckNvbG9yLnNldChjb2xvciB8fCAnI2U2ZTdlYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCb3JkZXJFcnJvckNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJvcmRlckVycm9yQ29sb3Iuc2V0KGNvbG9yIHx8ICcjZWUyZDQxJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IFRleHRFcnJvckNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRFcnJvckNvbG9yLnNldChjb2xvciB8fCAnI2ZmNTQ1NCcpO1xuICB9XG5cbiAgcHVibGljIHNldCBJY29uSG92ZXJEYW5nZXJDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5pY29uSG92ZXJEYW5nZXJDb2xvci5zZXQoY29sb3IgfHwgJyNmZjU0NTQnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQmFja2dyb3VuZFJlYWRvbmx5Q29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuYmFja2dyb3VuZFJlYWRvbmx5Q29sb3Iuc2V0KGNvbG9yIHx8ICcjZjE1NzY3Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IFRleHRSZWFkb25seUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRSZWFkb25seUNvbG9yLnNldChjb2xvciB8fCAnIzA3MTYzMScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCYWNrZ3JvdW5kVXNlclNlbGVjdGlvbihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kVXNlclNlbGVjdGlvbi5zZXQoY29sb3IgfHwgJyMwMDAwMDA0MCcpO1xuICB9XG5cbiAgcHVibGljIHNldCBCYWNrZ3JvdW5kTGlzdChjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kTGlzdC5zZXQoY29sb3IgfHwgJyNmOGY5ZmEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQmFja2dyb3VuZExpc3RIb3Zlcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kTGlzdEhvdmVyLnNldChjb2xvciB8fCAnI2Y4ZjlmYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCYWNrZ3JvdW5kTGlzdEhvdmVyRGFuZ2VyKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRMaXN0SG92ZXIuc2V0KGNvbG9yIHx8ICcjZmVmNWY2Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmREaXNhYmxlQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuYmFja2dyb3VuZERpc2FibGVDb2xvci5zZXQoY29sb3IgfHwgJyNmOGY5ZmEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgVGV4dERpc2FibGVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0RGlzYWJsZUNvbG9yLnNldChjb2xvciB8fCAnIzljYTJhZCcpO1xuICB9XG5cbiAgcHVibGljIHNldCBDb25maWdGb250KGNvbmZpZ0ZvbnQ6IElMaWJzVWlDb25maWdGb250RmFtaWx5KSB7XG4gICAgdGhpcy5jb25maWdGb250LnNldCh7IC4uLmNvbmZpZ0ZvbnQgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0ZvbnRIZWFkKGNvbmZpZ0hlYWQ6IElMaWJzVWlDb25maWdGb250SGVhZGluZykge1xuICAgIHRoaXMuY29uZmlnSGVhZC5zZXQoeyAuLi5jb25maWdIZWFkIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBDb25maWdCdXR0b24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnQnV0dG9uO1xuICB9XG5cbiAgcHVibGljIGdldCBDb25maWdCdXR0b25TdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnQnV0dG9uU3RhdHVzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0J1dHRvblN0YXR1cyhjb25maWc6IElMaWJzVWlDb25maWdCdXR0b25TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpZ0J1dHRvblN0YXR1cy5zZXQoY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnQnV0dG9uVGFiKGNvbmZpZzogSUxpYnNVaUNvbmZpZ0J1dHRvblRhYikge1xuICAgIHRoaXMuY29uZmlnQnV0dG9uVGFiLnNldChjb25maWcpO1xuICB9XG5cbiAgLy8gcHVibGljIGjDoG0gxJHhu4Mgc+G7rSBk4bulbmcgY2hvIGNvbXBvbmVudCBpbnB1dCBz4butIGThu6VuZyB0YWdJbnB1dCA9IGZyYW1lQXJlYTtcbiAgcHVibGljIHNldHVwRm9udEZhbWlseShjdXJyZW50RG9jPzogRG9jdW1lbnQpIHtcbiAgICB0cnkge1xuICAgICAgY3VycmVudERvYyA9IGN1cnJlbnREb2MgfHwgZG9jdW1lbnQ7XG4gICAgICBjb25zdCBkb2MgPSBjdXJyZW50RG9jLmRvY3VtZW50RWxlbWVudDtcblxuICAgICAgZG9jLnN0eWxlLnNldFByb3BlcnR5KCctLWxpYnMtdWktZm9udC1mYW1pbHktbmFtZScsIGAke3RoaXMuY29uZmlnRm9udCgpLm5hbWV9LEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZgKTtcbiAgICAgIE9iamVjdC5rZXlzKHdlaWdodHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgaWYgKCFnZXQodGhpcy5jb25maWdGb250KCksIGtleSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9udEZhY2UgPSBuZXcgRm9udEZhY2UodGhpcy5jb25maWdGb250KCkubmFtZSwgYHVybCgke2dldCh0aGlzLmNvbmZpZ0ZvbnQoKSwga2V5KX0pYCwgeyB3ZWlnaHQ6IGdldCh3ZWlnaHRzLCBrZXkpIH0pO1xuICAgICAgICBmb250RmFjZS5sb2FkKCkudGhlbihsb2FkZWRGb250ID0+IHtcbiAgICAgICAgICBpZiAoY3VycmVudERvYyAmJiAnYWRkJyBpbiBjdXJyZW50RG9jLmZvbnRzKSB7XG4gICAgICAgICAgICAoY3VycmVudERvYy5mb250cyBhcyBhbnkpLmFkZChsb2FkZWRGb250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwRm9udEhlYWQoKSB7XG4gICAgY29uc3QgY29uZmlnSGVhZHNEYXRhID0gdGhpcy5jb25maWdIZWFkKCk7XG4gICAgbGV0IHN0eWxlcyA9ICcnO1xuICAgIE9iamVjdC5rZXlzKGNvbmZpZ0hlYWRzRGF0YSkuZm9yRWFjaChrZXlDb25maWcgPT4ge1xuICAgICAgbGV0IHN0eWxlID0gYGZvbnQtZmFtaWx5OnZhcigtLWxpYnMtdWktZm9udC1mYW1pbHktbmFtZSwnQXJpYWwnKTtgO1xuICAgICAgY29uc3QgY29uZmlnID0gZ2V0KGNvbmZpZ0hlYWRzRGF0YSwga2V5Q29uZmlnKTtcbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBzdHlsZSA9IGAke3N0eWxlfSR7a2V5fToke2dldChjb25maWcsIGtleSl9O2A7XG4gICAgICB9KTtcbiAgICAgIHN0eWxlcyA9IGAke3N0eWxlc30gLmxpYnMtdWktZm9udC0ke2tleUNvbmZpZ317JHtzdHlsZX19LmxpYnMtdWktZm9udC0ke2tleUNvbmZpZ31peyR7c3R5bGUucmVwbGFjZSgvOy9nLCAnICFpbXBvcnRhbnQ7Jyl9fWA7XG4gICAgfSk7XG5cbiAgICBzdHlsZXMgPSBgKntib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7fSR7c3R5bGVzfWA7XG5cbiAgICB0aGlzLnN0eWxlQ2xhc3NIZWFkRWwuaW5uZXJIVE1MID0gc3R5bGVzO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHRoaXMuc3R5bGVDbGFzc0hlYWRFbCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwQnV0dG9uVGFiKCkge1xuICAgIGNvbnN0IGNvbmZpZ0J1dHRvblRhYiA9IHRoaXMuY29uZmlnQnV0dG9uVGFiKCk7XG4gICAgbGV0IHN0eWxlcyA9ICcnO1xuXG4gICAgT2JqZWN0LmtleXMoY29uZmlnQnV0dG9uVGFiKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSBnZXQoY29uZmlnQnV0dG9uVGFiLCBrZXkpO1xuICAgICAgY29uc3Qgc3R5bGUgPSBjb25maWcgPyBzdHlsZUJ1dHRvblRhYihrZXksIGNvbmZpZykgOiAnJztcblxuICAgICAgc3R5bGVzID0gYCR7c3R5bGVzfSR7c3R5bGV9YDtcbiAgICB9KTtcbiAgICB0aGlzLnN0eWxlQ2xhc3NCdXR0b25UYWJFbC5pbm5lckhUTUwgPSBzdHlsZXM7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUNsYXNzQnV0dG9uVGFiRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUaGVtZUNvbG9yKCkge1xuICAgIGNvbnN0IGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBbe1xuICAgICAgZ3JvdXA6ICdsaWJzLXVpJyxcbiAgICAgIHR5cGU6ICdjb2xvcicsXG4gICAgICBwcm9wZXJ0eToge1xuICAgICAgICBkZWZhdWx0OiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDApPy5saWdodCxcbiAgICAgICAgbGlnaHRfMTogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAyMCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF8yOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDkwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzM6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgOTUpPy5saWdodCxcbiAgICAgICAgbGlnaHRfNDogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA1MCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF81OiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDcwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzY6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgODApPy5saWdodCxcbiAgICAgICAgZGFyazogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAyMCk/LmRhcmssXG4gICAgICAgIGJhY2tncm91bmRfbGlzdDogdGhpcy5iYWNrZ3JvdW5kTGlzdCgpLFxuICAgICAgICBiYWNrZ3JvdW5kX2xpc3RfaG92ZXI6IHRoaXMuYmFja2dyb3VuZExpc3RIb3ZlcigpLFxuICAgICAgICBiYWNrZ3JvdW5kX2xpc3RfaG92ZXJfZGFuZ2VyOiB0aGlzLmJhY2tncm91bmRMaXN0SG92ZXJEYW5nZXIoKSxcbiAgICAgICAgYmFja2dyb3VuZF9zZWxlY3Rpb246IHRoaXMuYmFja2dyb3VuZFVzZXJTZWxlY3Rpb24oKSxcbiAgICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlckNvbG9yKCksXG4gICAgICAgIGJvcmRlcl9lcnJvcjogdGhpcy5ib3JkZXJFcnJvckNvbG9yKCksXG4gICAgICAgIHRleHRfZXJyb3I6IHRoaXMudGV4dEVycm9yQ29sb3IoKSxcbiAgICAgICAgaWNvbl9ob3Zlcl9kYW5nZXI6IHRoaXMuaWNvbkhvdmVyRGFuZ2VyQ29sb3IoKSxcbiAgICAgICAgYmFja2dyb3VuZF9yZWFkb25seTogdGhpcy5iYWNrZ3JvdW5kUmVhZG9ubHlDb2xvcigpLFxuICAgICAgICB0ZXh0X3JlYWRvbmx5OiB0aGlzLnRleHRSZWFkb25seUNvbG9yKCksXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogdGhpcy5iYWNrZ3JvdW5kRGlzYWJsZUNvbG9yKCksXG4gICAgICAgIHRleHRfZGlzYWJsZTogdGhpcy50ZXh0RGlzYWJsZUNvbG9yKCksXG4gICAgICAgIGdyYWRpZW50X2Zyb206IHRoaXMudGhlbWVDb2xvcigpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICcjMjI2RkY1JyA/IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMTApPy5saWdodCA6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMCk/LmxpZ2h0LFxuICAgICAgICBncmFkaWVudF90bzogdGhpcy50aGVtZUNvbG9yKCkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gJyMyMjZGRjUnID8gY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKCcjNUIyRUJCJywgMTApPy5saWdodCA6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5kYXJrLFxuICAgICAgfVxuICAgIH1dLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gYC0tJHtpdGVtLmdyb3VwLnJlcGxhY2UoL1tfXS9nLCAnLScpfS0ke2l0ZW0udHlwZS5yZXBsYWNlKC9bX10vZywgJy0nKX1gO1xuICAgICAgT2JqZWN0LmtleXMoaXRlbS5wcm9wZXJ0eSkuZm9yRWFjaChrZXkgPT4gZG9jLnN0eWxlLnNldFByb3BlcnR5KGAke25hbWV9LSR7a2V5LnJlcGxhY2UoL1tfXS9nLCAnLScpfWAsIChpdGVtLnByb3BlcnR5IGFzIGFueSlba2V5XSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihzdGVwOiBudW1iZXIsIGNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihjb2xvciB8fCB0aGlzLnRoZW1lQ29sb3IoKSwgc3RlcCB8fCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2xhc3NHbG9iYWwoKSB7XG4gICAgdGhpcy5zdHlsZUNsYXNzR2xvYmFsRWwuaW5uZXJIVE1MID0gYFxuICAgIC5saWJzLXVpLWJvcmRlci1wcmltYXJ5LWdlbmVyYWx7Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0LCAjMjI2RkY1KTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXByaW1hcnktZm9jdXMtZ2VuZXJhbHtib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTEsICM0ZThjZjcpO31cbiAgICAubGlicy11aS1ib3JkZXItcHJpbWFyeS1ob3Zlci1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMywgI2Y0ZjhmZik7fVxuICAgIC5saWJzLXVpLWJvcmRlci1nZW5lcmFseyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci10b3AtZ2VuZXJhbHtib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtZ2VuZXJhbHtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1ib3R0b20tZ2VuZXJhbHtib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItZGFzaGVkLWdlbmVyYWx7Ym9yZGVyOiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXRvcC1kYXNoZWQtZ2VuZXJhbHtib3JkZXItdG9wOiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtZGFzaGVkLWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IGRhc2hlZCAxcHggdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtZGFzaGVkLWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWJvdHRvbS1kYXNoZWQtZ2VuZXJhbHtib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtZ2VuZXJhbHtib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXgtZ2VuZXJhbHtib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTsgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXktZ2VuZXJhbHtib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpOyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtdG9wLWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7ICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItbGVmdC1ib3R0b20tZ2VuZXJhbHtib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1yaWdodC10b3AtZ2VuZXJhbHtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7ICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtYm90dG9tLWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpOyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWVycm9yLWdlbmVyYWx7Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXItZXJyb3IsICNlZTJkNDEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJnLWxpc3Qge2JhY2tncm91bmQtY29sb3I6IHZhcigtLWxpYnMtdWktYmFja2dyb3VuZC1saXN0LCAjZjhmOWZhKTt9XG4gICAgLmxpYnMtdWktYmctbGlzdC1ob3Zlcjpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlicy11aS1iYWNrZ3JvdW5kLWxpc3QtaG92ZXIsICNmOGY5ZmEpO31cbiAgICAubGlicy11aS1iZy1saXN0LWFjdGl2ZSB7YmFja2dyb3VuZC1jb2xvcjogIHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMywgI2Y0ZjhmZik7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXItYWN0aXZlOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO31cbiAgICAubGlicy11aS1iZy1saXN0LWhvdmVyLWFjdGl2ZTphY3RpdmUge2JhY2tncm91bmQtY29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMywgI2Y0ZjhmZik7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXItZGFuZ2VyOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWJzLXVpLWJhY2tncm91bmQtbGlzdC1ob3Zlci1kYW5nZXIsICNmZWY1ZjYpOyBjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDsgW2NsYXNzKj1cImxpYnMtdWktaWNvbi1cIl17JjpiZWZvcmUsJjphZnRlcntjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDt9fX1cbiAgICAubGlicy11aS10ZXh0LWVycm9yIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWVycm9yLCAjZmY1NDU0KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS10ZXh0LWVycm9yOjpiZWZvcmUge2NvbG9yOiB2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtZXJyb3IsICNmZjU0NTQpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUge2N1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246IG5vbmU7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWRpc2FibGUsICNjZGQwZDYpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGU6OmJlZm9yZSB7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWRpc2FibGUsICM5Y2EyYWQpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZSwgI2Y4ZjlmYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktZGlzYWJsZS1hY3RpdmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtNCwjOTFiN2ZhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1kaXNhYmxlLWFjdGl2ZTo6YmVmb3JlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTQsIzkxYjdmYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktZGlzYWJsZS1hY3RpdmUtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTQsIzkxYjdmYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktcmVhZG9ubHkge2N1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtcmVhZG9ubHksICMwNzE2MzEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5OjpiZWZvcmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1yZWFkb25seSwgIzA3MTYzMSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktcmVhZG9ubHktYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHksICNmOGY5ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWljb24taG92ZXItZGFuZ2VyOmhvdmVyIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDsgW2NsYXNzKj1cImxpYnMtdWktaWNvbi1cIl17JjpiZWZvcmUsJjphZnRlcntjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDt9fX1cbiAgICA6Oi1tb3otc2VsZWN0aW9uIHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0aW9uLCAjMDAwMDAwNDApICFpbXBvcnRhbnQ7fVxuICAgIDo6c2VsZWN0aW9uIHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtc2VsZWN0aW9uLCAjMDAwMDAwNDApICFpbXBvcnRhbnQ7fVxuICAgIGAucmVwbGFjZSgvXFxuKy9nLCAnJyk7XG5cbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZCh0aGlzLnN0eWxlQ2xhc3NHbG9iYWxFbCk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ1N0cmluZygpIHtcbiAgICBjb25zdCBwcm90b3R5cGUgPSBTdHJpbmcucHJvdG90eXBlIGFzIGFueTtcbiAgICBwcm90b3R5cGUucmVwbGFjZUF0ID0gZnVuY3Rpb24gKGluZGV4OiBudW1iZXIsIHJlcGxhY2VtZW50OiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuc3BsaXQoJycpO1xuXG4gICAgICB2YWx1ZXNbaW5kZXhdID0gcmVwbGFjZW1lbnQ7XG5cbiAgICAgIHJldHVybiB2YWx1ZXMuam9pbignJyk7XG4gICAgfVxuXG4gICAgcHJvdG90eXBlLnJlcGxhY2VBbGwgPSBmdW5jdGlvbiAoaW5kZXg6IG51bWJlciwgc2VwYXJhdG9yOiBzdHJpbmcsIHJlcGxhY2VtZW50OiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChzZXBhcmF0b3IsICdnJyk7XG5cbiAgICAgIHJldHVybiBgJHt0aGlzLnN1YnN0cigwLCBpbmRleCl9JHt0aGlzLnN1YnN0cihpbmRleCArIDEgKyAocmVwbGFjZW1lbnQ/Lmxlbmd0aCB8fCAwKSkucmVwbGFjZShyZWdleCwgcmVwbGFjZW1lbnQpfWA7XG4gICAgfVxuXG4gICAgcHJvdG90eXBlLm9jY3VycmVuY2VzQnlDaGFyYWN0ZXIgPSBmdW5jdGlvbiAoY2hhcmFjdGVyOiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5zcGxpdCgnJyk7XG5cbiAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdmFsdWVzLmZpbHRlcigoY2hhcjogc3RyaW5nKSA9PiBjaGFyID09PSBjaGFyYWN0ZXIpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcm90b3R5cGUuaW5kZXhlc09mQ2hhcmFjdGVyID0gZnVuY3Rpb24gKGNoYXJhY3Rlcjogc3RyaW5nKTogQXJyYXk8bnVtYmVyPiB7XG4gICAgICBjb25zdCB2YWx1ZXM6IEFycmF5PHN0cmluZz4gPSB0aGlzLnNwbGl0KCcnKTtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuICAgICAgaWYgKCF2YWx1ZXMgfHwgIXZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ZXM7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGluZGV4VmFsdWUgaW4gdmFsdWVzKSB7XG4gICAgICAgIGlmICh2YWx1ZXNbaW5kZXhWYWx1ZV0gPT09IGNoYXJhY3Rlcikge1xuICAgICAgICAgIGluZGV4ZXMucHVzaCgraW5kZXhWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXM7XG4gICAgfVxuXG5cbiAgICBwcm90b3R5cGUuaW5kZXhlc0J5U3RyaW5nID0gZnVuY3Rpb24gKHN0cjogc3RyaW5nKTogQXJyYXk8bnVtYmVyPiB7XG4gICAgICBjb25zdCB2YWx1ZXM6IEFycmF5PHN0cmluZz4gPSB0aGlzIGFzIGFueTtcbiAgICAgIGNvbnN0IGluZGV4ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcblxuICAgICAgaWYgKCF2YWx1ZXMgfHwgIXZhbHVlcy5sZW5ndGggfHwgIXN0ciB8fCAhc3RyLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoIDwgc3RyLmxlbmd0aCkge1xuXG4gICAgICAgIHJldHVybiBpbmRleGVzO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBpbmRleFZhbHVlIGluIHZhbHVlcykge1xuICAgICAgICBpZiAodmFsdWVzW2luZGV4VmFsdWVdICE9PSBzdHJbMF0gfHwgKCgraW5kZXhWYWx1ZSkgKyBzdHIubGVuZ3RoKSA+IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgaW5kZXggaW4gc3RyLnNwbGl0KCcnKSkge1xuXG4gICAgICAgICAgaWYgKHZhbHVlc1soK2luZGV4VmFsdWUpICsgKCtpbmRleCldICE9PSBzdHJbaW5kZXhdKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXhlcy5wdXNoKCtpbmRleFZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGluZGV4ZXM7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXZMLE1BQU0sT0FBTywwQkFBMEI7SUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUN2QyxXQUFXLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDM0Msb0JBQW9CLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDbkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3Qyx1QkFBdUIsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDcEQsdUJBQXVCLEdBQUcsTUFBTSxDQUFTLFdBQVcsQ0FBQyxDQUFDO0lBQ3RE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SSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQTtJQUNILENBQUM7d0dBMVZVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLGNBSHpCLE1BQU07OzRGQUdQLDBCQUEwQjtrQkFKdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgZWZmZWN0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luLCBnZXQgfSBmcm9tIFwiQGxpYnMtdWkvdXRpbHNcIjtcbmltcG9ydCB7IGNvbmZpZ0J1dHRvbkNvbG9yLCBjb25maWdCdXR0b25TdGF0dXMsIGNvbmZpZ0J1dHRvblRhYiwgY29uZmlnSGVhZGluZywgY29uZmlnTGlua0J1dHRvbiwgZm9udENvbmZpZywgc2l6ZUJ1dHRvbkNvbmZpZywgc3R5bGVCdXR0b25UYWIsIHdlaWdodHMgfSBmcm9tIFwiLi9jb25maWctcHJvamVjdC1kYXRhXCI7XG5pbXBvcnQgeyBJTGlic1VpQ29uZmlnQnV0dG9uU3RhdHVzLCBJTGlic1VpQ29uZmlnQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnRm9udEZhbWlseSwgSUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nIH0gZnJvbSBcIi4vY29uZmlnLXByb2plY3QuaW50ZXJmYWNlXCI7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0aGVtZUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyMyMjZmZjUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBib3JkZXJDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZTZlN2VhJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEVycm9yQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2ZmNTQ1NCcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGljb25Ib3ZlckRhbmdlckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmMTU3NjcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBib3JkZXJFcnJvckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNlZTJkNDEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kRGlzYWJsZUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmOGY5ZmEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0UmVhZG9ubHlDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjMDcxNjMxJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dERpc2FibGVDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjOWNhMmFkJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFja2dyb3VuZFJlYWRvbmx5Q29sb3IgPSBzaWduYWw8c3RyaW5nPignI2Y4ZjlmYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmRVc2VyU2VsZWN0aW9uID0gc2lnbmFsPHN0cmluZz4oJyMwMDAwMDA0MCcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmRMaXN0ID0gc2lnbmFsPHN0cmluZz4oJyNmOGY5ZmEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kTGlzdEhvdmVyID0gc2lnbmFsPHN0cmluZz4oJyNmOGY5ZmEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kTGlzdEhvdmVyRGFuZ2VyID0gc2lnbmFsPHN0cmluZz4oJyNmZWY1ZjYnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdGb250ID0gc2lnbmFsPElMaWJzVWlDb25maWdGb250RmFtaWx5Pihmb250Q29uZmlnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdIZWFkID0gc2lnbmFsPElMaWJzVWlDb25maWdGb250SGVhZGluZz4oY29uZmlnSGVhZGluZyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7IC4uLmNvbmZpZ0J1dHRvbkNvbG9yKHRoaXMudGhlbWVDb2xvcigpKSwgLi4uY29uZmlnTGlua0J1dHRvbih0aGlzLnRoZW1lQ29sb3IoKSkgfTtcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uU2l6ZSA9IHNpZ25hbChzaXplQnV0dG9uQ29uZmlnKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0J1dHRvblN0YXR1cyA9IHNpZ25hbDxJTGlic1VpQ29uZmlnQnV0dG9uU3RhdHVzPihjb25maWdCdXR0b25TdGF0dXMoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uVGFiID0gc2lnbmFsPElMaWJzVWlDb25maWdCdXR0b25UYWI+KGNvbmZpZ0J1dHRvblRhYigpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHlsZUNsYXNzR2xvYmFsRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlQ2xhc3NIZWFkRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlQ2xhc3NCdXR0b25UYWJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldFRoZW1lQ29sb3IoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRm9udEZhbWlseSgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0dXBGb250SGVhZCgpO1xuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0dXBCdXR0b25UYWIoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwQnV0dG9uU2l6ZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWdTdHJpbmcoKTtcbiAgICB0aGlzLnNldENsYXNzR2xvYmFsKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IFRoZW1lQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMudGhlbWVDb2xvci5zZXQoY29sb3IgfHwgJyMyMjZmZjUnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQm9yZGVyQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuYm9yZGVyQ29sb3Iuc2V0KGNvbG9yIHx8ICcjZTZlN2VhJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJvcmRlckVycm9yQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuYm9yZGVyRXJyb3JDb2xvci5zZXQoY29sb3IgfHwgJyNlZTJkNDEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgVGV4dEVycm9yQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMudGV4dEVycm9yQ29sb3Iuc2V0KGNvbG9yIHx8ICcjZmY1NDU0Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEljb25Ib3ZlckRhbmdlckNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmljb25Ib3ZlckRhbmdlckNvbG9yLnNldChjb2xvciB8fCAnI2ZmNTQ1NCcpO1xuICB9XG5cbiAgcHVibGljIHNldCBCYWNrZ3JvdW5kUmVhZG9ubHlDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kUmVhZG9ubHlDb2xvci5zZXQoY29sb3IgfHwgJyNmMTU3NjcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgVGV4dFJlYWRvbmx5Q29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMudGV4dFJlYWRvbmx5Q29sb3Iuc2V0KGNvbG9yIHx8ICcjMDcxNjMxJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmRVc2VyU2VsZWN0aW9uKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRVc2VyU2VsZWN0aW9uLnNldChjb2xvciB8fCAnIzAwMDAwMDQwJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmRMaXN0KGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRMaXN0LnNldChjb2xvciB8fCAnI2Y4ZjlmYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCYWNrZ3JvdW5kTGlzdEhvdmVyKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRMaXN0SG92ZXIuc2V0KGNvbG9yIHx8ICcjZjhmOWZhJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmRMaXN0SG92ZXJEYW5nZXIoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuYmFja2dyb3VuZExpc3RIb3Zlci5zZXQoY29sb3IgfHwgJyNmZWY1ZjYnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQmFja2dyb3VuZERpc2FibGVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kRGlzYWJsZUNvbG9yLnNldChjb2xvciB8fCAnI2Y4ZjlmYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0RGlzYWJsZUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHREaXNhYmxlQ29sb3Iuc2V0KGNvbG9yIHx8ICcjOWNhMmFkJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0ZvbnQoY29uZmlnRm9udDogSUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHkpIHtcbiAgICB0aGlzLmNvbmZpZ0ZvbnQuc2V0KHsgLi4uY29uZmlnRm9udCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnRm9udEhlYWQoY29uZmlnSGVhZDogSUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nKSB7XG4gICAgdGhpcy5jb25maWdIZWFkLnNldCh7IC4uLmNvbmZpZ0hlYWQgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IENvbmZpZ0J1dHRvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdCdXR0b247XG4gIH1cblxuICBwdWJsaWMgZ2V0IENvbmZpZ0J1dHRvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdCdXR0b25TdGF0dXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnQnV0dG9uU3RhdHVzKGNvbmZpZzogSUxpYnNVaUNvbmZpZ0J1dHRvblN0YXR1cykge1xuICAgIHRoaXMuY29uZmlnQnV0dG9uU3RhdHVzLnNldChjb25maWcpO1xuICB9XG5cbiAgcHVibGljIHNldCBDb25maWdCdXR0b25UYWIoY29uZmlnOiBJTGlic1VpQ29uZmlnQnV0dG9uVGFiKSB7XG4gICAgdGhpcy5jb25maWdCdXR0b25UYWIuc2V0KGNvbmZpZyk7XG4gIH1cblxuICAvLyBwdWJsaWMgaMOgbSDEkeG7gyBz4butIGThu6VuZyBjaG8gY29tcG9uZW50IGlucHV0IHPhu60gZOG7pW5nIHRhZ0lucHV0ID0gZnJhbWVBcmVhO1xuICBwdWJsaWMgc2V0dXBGb250RmFtaWx5KGN1cnJlbnREb2M/OiBEb2N1bWVudCkge1xuICAgIHRyeSB7XG4gICAgICBjdXJyZW50RG9jID0gY3VycmVudERvYyB8fCBkb2N1bWVudDtcbiAgICAgIGNvbnN0IGRvYyA9IGN1cnJlbnREb2MuZG9jdW1lbnRFbGVtZW50O1xuXG4gICAgICBkb2Muc3R5bGUuc2V0UHJvcGVydHkoJy0tbGlicy11aS1mb250LWZhbWlseS1uYW1lJywgYCR7dGhpcy5jb25maWdGb250KCkubmFtZX0sQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZmApO1xuICAgICAgT2JqZWN0LmtleXMod2VpZ2h0cykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoIWdldCh0aGlzLmNvbmZpZ0ZvbnQoKSwga2V5KSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb250RmFjZSA9IG5ldyBGb250RmFjZSh0aGlzLmNvbmZpZ0ZvbnQoKS5uYW1lLCBgdXJsKCR7Z2V0KHRoaXMuY29uZmlnRm9udCgpLCBrZXkpfSlgLCB7IHdlaWdodDogZ2V0KHdlaWdodHMsIGtleSkgfSk7XG4gICAgICAgIGZvbnRGYWNlLmxvYWQoKS50aGVuKGxvYWRlZEZvbnQgPT4ge1xuICAgICAgICAgIGlmIChjdXJyZW50RG9jICYmICdhZGQnIGluIGN1cnJlbnREb2MuZm9udHMpIHtcbiAgICAgICAgICAgIChjdXJyZW50RG9jLmZvbnRzIGFzIGFueSkuYWRkKGxvYWRlZEZvbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBGb250SGVhZCgpIHtcbiAgICBjb25zdCBjb25maWdIZWFkc0RhdGEgPSB0aGlzLmNvbmZpZ0hlYWQoKTtcbiAgICBsZXQgc3R5bGVzID0gJyc7XG4gICAgT2JqZWN0LmtleXMoY29uZmlnSGVhZHNEYXRhKS5mb3JFYWNoKGtleUNvbmZpZyA9PiB7XG4gICAgICBsZXQgc3R5bGUgPSBgZm9udC1mYW1pbHk6dmFyKC0tbGlicy11aS1mb250LWZhbWlseS1uYW1lLCdBcmlhbCcpO2A7XG4gICAgICBjb25zdCBjb25maWcgPSBnZXQoY29uZmlnSGVhZHNEYXRhLCBrZXlDb25maWcpO1xuICAgICAgT2JqZWN0LmtleXMoY29uZmlnKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIHN0eWxlID0gYCR7c3R5bGV9JHtrZXl9OiR7Z2V0KGNvbmZpZywga2V5KX07YDtcbiAgICAgIH0pO1xuICAgICAgc3R5bGVzID0gYCR7c3R5bGVzfSAubGlicy11aS1mb250LSR7a2V5Q29uZmlnfXske3N0eWxlfX0ubGlicy11aS1mb250LSR7a2V5Q29uZmlnfWl7JHtzdHlsZS5yZXBsYWNlKC87L2csICcgIWltcG9ydGFudDsnKX19YDtcbiAgICB9KTtcblxuICAgIHN0eWxlcyA9IGAqe2JveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDt9JHtzdHlsZXN9YDtcblxuICAgIHRoaXMuc3R5bGVDbGFzc0hlYWRFbC5pbm5lckhUTUwgPSBzdHlsZXM7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUNsYXNzSGVhZEVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBCdXR0b25TaXplKCkge1xuICAgIGNvbnN0IGNvbmZpZ0J1dHRvblNpemUgPSB0aGlzLmNvbmZpZ0J1dHRvblNpemUoKTtcbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgT2JqZWN0LmtleXMoY29uZmlnQnV0dG9uU2l6ZSkuZm9yRWFjaChrZXlTaXplID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGdldChjb25maWdCdXR0b25TaXplLCBrZXlTaXplKTtcbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXlUeXBlID0+IHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGAtLWxpYnMtdWktYnV0dG9uLXNpemUtJHtrZXlTaXplfS0ke2tleVR5cGUucmVwbGFjZSgvW19dL2csICctJyl9YDtcbiAgICAgICAgZG9jLnN0eWxlLnNldFByb3BlcnR5KG5hbWUsIGdldChjb25maWcsIGtleVR5cGUpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEJ1dHRvblRhYigpIHtcbiAgICBjb25zdCBjb25maWdCdXR0b25UYWIgPSB0aGlzLmNvbmZpZ0J1dHRvblRhYigpO1xuICAgIGxldCBzdHlsZXMgPSAnJztcblxuICAgIE9iamVjdC5rZXlzKGNvbmZpZ0J1dHRvblRhYikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gZ2V0KGNvbmZpZ0J1dHRvblRhYiwga2V5KTtcbiAgICAgIGNvbnN0IHN0eWxlID0gY29uZmlnID8gc3R5bGVCdXR0b25UYWIoa2V5LCBjb25maWcpIDogJyc7XG5cbiAgICAgIHN0eWxlcyA9IGAke3N0eWxlc30ke3N0eWxlfWA7XG4gICAgfSk7XG4gICAgdGhpcy5zdHlsZUNsYXNzQnV0dG9uVGFiRWwuaW5uZXJIVE1MID0gc3R5bGVzO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHRoaXMuc3R5bGVDbGFzc0J1dHRvblRhYkVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGhlbWVDb2xvcigpIHtcbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgW3tcbiAgICAgIGdyb3VwOiAnbGlicy11aScsXG4gICAgICB0eXBlOiAnY29sb3InLFxuICAgICAgcHJvcGVydHk6IHtcbiAgICAgICAgZGVmYXVsdDogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzE6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5saWdodCxcbiAgICAgICAgbGlnaHRfMjogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA5MCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF8zOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDk1KT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzQ6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgNTApPy5saWdodCxcbiAgICAgICAgbGlnaHRfNTogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA3MCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF82OiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDgwKT8ubGlnaHQsXG4gICAgICAgIGRhcms6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5kYXJrLFxuICAgICAgICBiYWNrZ3JvdW5kX2xpc3Q6IHRoaXMuYmFja2dyb3VuZExpc3QoKSxcbiAgICAgICAgYmFja2dyb3VuZF9saXN0X2hvdmVyOiB0aGlzLmJhY2tncm91bmRMaXN0SG92ZXIoKSxcbiAgICAgICAgYmFja2dyb3VuZF9saXN0X2hvdmVyX2RhbmdlcjogdGhpcy5iYWNrZ3JvdW5kTGlzdEhvdmVyRGFuZ2VyKCksXG4gICAgICAgIGJhY2tncm91bmRfc2VsZWN0aW9uOiB0aGlzLmJhY2tncm91bmRVc2VyU2VsZWN0aW9uKCksXG4gICAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXJDb2xvcigpLFxuICAgICAgICBib3JkZXJfZXJyb3I6IHRoaXMuYm9yZGVyRXJyb3JDb2xvcigpLFxuICAgICAgICB0ZXh0X2Vycm9yOiB0aGlzLnRleHRFcnJvckNvbG9yKCksXG4gICAgICAgIGljb25faG92ZXJfZGFuZ2VyOiB0aGlzLmljb25Ib3ZlckRhbmdlckNvbG9yKCksXG4gICAgICAgIGJhY2tncm91bmRfcmVhZG9ubHk6IHRoaXMuYmFja2dyb3VuZFJlYWRvbmx5Q29sb3IoKSxcbiAgICAgICAgdGV4dF9yZWFkb25seTogdGhpcy50ZXh0UmVhZG9ubHlDb2xvcigpLFxuICAgICAgICBiYWNrZ3JvdW5kX2Rpc2FibGU6IHRoaXMuYmFja2dyb3VuZERpc2FibGVDb2xvcigpLFxuICAgICAgICB0ZXh0X2Rpc2FibGU6IHRoaXMudGV4dERpc2FibGVDb2xvcigpLFxuICAgICAgICBncmFkaWVudF9mcm9tOiB0aGlzLnRoZW1lQ29sb3IoKS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAnIzIyNkZGNScgPyBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDEwKT8ubGlnaHQgOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDApPy5saWdodCxcbiAgICAgICAgZ3JhZGllbnRfdG86IHRoaXMudGhlbWVDb2xvcigpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICcjMjI2RkY1JyA/IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbignIzVCMkVCQicsIDEwKT8ubGlnaHQgOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDIwKT8uZGFyayxcbiAgICAgIH1cbiAgICB9XS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IGAtLSR7aXRlbS5ncm91cC5yZXBsYWNlKC9bX10vZywgJy0nKX0tJHtpdGVtLnR5cGUucmVwbGFjZSgvW19dL2csICctJyl9YDtcbiAgICAgIE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydHkpLmZvckVhY2goa2V5ID0+IGRvYy5zdHlsZS5zZXRQcm9wZXJ0eShgJHtuYW1lfS0ke2tleS5yZXBsYWNlKC9bX10vZywgJy0nKX1gLCAoaXRlbS5wcm9wZXJ0eSBhcyBhbnkpW2tleV0pKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4oc3RlcDogbnVtYmVyLCBjb2xvcj86IHN0cmluZykge1xuICAgIHJldHVybiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4oY29sb3IgfHwgdGhpcy50aGVtZUNvbG9yKCksIHN0ZXAgfHwgMCk7XG4gIH1cblxuICBwcml2YXRlIHNldENsYXNzR2xvYmFsKCkge1xuICAgIHRoaXMuc3R5bGVDbGFzc0dsb2JhbEVsLmlubmVySFRNTCA9IGBcbiAgICAubGlicy11aS1ib3JkZXItcHJpbWFyeS1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCwgIzIyNkZGNSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1wcmltYXJ5LWZvY3VzLWdlbmVyYWx7Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0xLCAjNGU4Y2Y3KTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXByaW1hcnktaG92ZXItZ2VuZXJhbHtib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTMsICNmNGY4ZmYpO31cbiAgICAubGlicy11aS1ib3JkZXItZ2VuZXJhbHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItdG9wLWdlbmVyYWx7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItYm90dG9tLWdlbmVyYWx7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWRhc2hlZC1nZW5lcmFse2JvcmRlcjogZGFzaGVkIDFweCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci10b3AtZGFzaGVkLWdlbmVyYWx7Ym9yZGVyLXRvcDogZGFzaGVkIDFweCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1sZWZ0LWRhc2hlZC1nZW5lcmFse2JvcmRlci1sZWZ0OiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LWRhc2hlZC1nZW5lcmFse2JvcmRlci1yaWdodDogZGFzaGVkIDFweCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1ib3R0b20tZGFzaGVkLWdlbmVyYWx7Ym9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1sZWZ0LWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci14LWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7ICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci15LWdlbmVyYWx7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1sZWZ0LXRvcC1nZW5lcmFse2JvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpOyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtYm90dG9tLWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpO31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtdG9wLWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpOyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LWJvdHRvbS1nZW5lcmFse2JvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKTsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSk7fVxuICAgIC5saWJzLXVpLWJvcmRlci1lcnJvci1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLWVycm9yLCAjZWUyZDQxKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1iZy1saXN0IHtiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWJzLXVpLWJhY2tncm91bmQtbGlzdCwgI2Y4ZjlmYSk7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXI6aG92ZXIge2JhY2tncm91bmQtY29sb3I6IHZhcigtLWxpYnMtdWktYmFja2dyb3VuZC1saXN0LWhvdmVyLCAjZjhmOWZhKTt9XG4gICAgLmxpYnMtdWktYmctbGlzdC1hY3RpdmUge2JhY2tncm91bmQtY29sb3I6ICB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTMsICNmNGY4ZmYpO31cbiAgICAubGlicy11aS1iZy1saXN0LWhvdmVyLWFjdGl2ZTpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTt9XG4gICAgLmxpYnMtdWktYmctbGlzdC1ob3Zlci1hY3RpdmU6YWN0aXZlIHtiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTMsICNmNGY4ZmYpO31cbiAgICAubGlicy11aS1iZy1saXN0LWhvdmVyLWRhbmdlcjpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlicy11aS1iYWNrZ3JvdW5kLWxpc3QtaG92ZXItZGFuZ2VyLCAjZmVmNWY2KTsgY29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7IFtjbGFzcyo9XCJsaWJzLXVpLWljb24tXCJdeyY6YmVmb3JlLCY6YWZ0ZXJ7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7fX19XG4gICAgLmxpYnMtdWktdGV4dC1lcnJvciB7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1lcnJvciwgI2ZmNTQ1NCkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktdGV4dC1lcnJvcjo6YmVmb3JlIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWVycm9yLCAjZmY1NDU0KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1kaXNhYmxlIHtjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1kaXNhYmxlLCAjY2RkMGQ2KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1kaXNhYmxlOjpiZWZvcmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1kaXNhYmxlLCAjOWNhMmFkKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1kaXNhYmxlLWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGUsICNmOGY5ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYWN0aXZlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTQsIzkxYjdmYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktZGlzYWJsZS1hY3RpdmU6OmJlZm9yZSB7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci1saWdodC00LCM5MWI3ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYWN0aXZlLWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1saWdodC00LCM5MWI3ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5IHtjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci10ZXh0LXJlYWRvbmx5LCAjMDcxNjMxKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1yZWFkb25seTo6YmVmb3JlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtcmVhZG9ubHksICMwNzE2MzEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5LCAjZjhmOWZhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1pY29uLWhvdmVyLWRhbmdlcjpob3ZlciB7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7IFtjbGFzcyo9XCJsaWJzLXVpLWljb24tXCJdeyY6YmVmb3JlLCY6YWZ0ZXJ7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7fX19XG4gICAgOjotbW96LXNlbGVjdGlvbiB7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGlvbiwgIzAwMDAwMDQwKSAhaW1wb3J0YW50O31cbiAgICA6OnNlbGVjdGlvbiB7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLXNlbGVjdGlvbiwgIzAwMDAwMDQwKSAhaW1wb3J0YW50O31cbiAgICBgLnJlcGxhY2UoL1xcbisvZywgJycpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUNsYXNzR2xvYmFsRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWdTdHJpbmcoKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gU3RyaW5nLnByb3RvdHlwZSBhcyBhbnk7XG4gICAgcHJvdG90eXBlLnJlcGxhY2VBdCA9IGZ1bmN0aW9uIChpbmRleDogbnVtYmVyLCByZXBsYWNlbWVudDogc3RyaW5nKSB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnNwbGl0KCcnKTtcblxuICAgICAgdmFsdWVzW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG4gICAgICByZXR1cm4gdmFsdWVzLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByb3RvdHlwZS5yZXBsYWNlQWxsID0gZnVuY3Rpb24gKGluZGV4OiBudW1iZXIsIHNlcGFyYXRvcjogc3RyaW5nLCByZXBsYWNlbWVudDogc3RyaW5nKSB7XG4gICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoc2VwYXJhdG9yLCAnZycpO1xuXG4gICAgICByZXR1cm4gYCR7dGhpcy5zdWJzdHIoMCwgaW5kZXgpfSR7dGhpcy5zdWJzdHIoaW5kZXggKyAxICsgKHJlcGxhY2VtZW50Py5sZW5ndGggfHwgMCkpLnJlcGxhY2UocmVnZXgsIHJlcGxhY2VtZW50KX1gO1xuICAgIH1cblxuICAgIHByb3RvdHlwZS5vY2N1cnJlbmNlc0J5Q2hhcmFjdGVyID0gZnVuY3Rpb24gKGNoYXJhY3Rlcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuc3BsaXQoJycpO1xuXG4gICAgICBpZiAoIXZhbHVlcyB8fCAhdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKGNoYXI6IHN0cmluZykgPT4gY2hhciA9PT0gY2hhcmFjdGVyKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJvdG90eXBlLmluZGV4ZXNPZkNoYXJhY3RlciA9IGZ1bmN0aW9uIChjaGFyYWN0ZXI6IHN0cmluZyk6IEFycmF5PG51bWJlcj4ge1xuICAgICAgY29uc3QgdmFsdWVzOiBBcnJheTxzdHJpbmc+ID0gdGhpcy5zcGxpdCgnJyk7XG4gICAgICBjb25zdCBpbmRleGVzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBpbmRleGVzO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBpbmRleFZhbHVlIGluIHZhbHVlcykge1xuICAgICAgICBpZiAodmFsdWVzW2luZGV4VmFsdWVdID09PSBjaGFyYWN0ZXIpIHtcbiAgICAgICAgICBpbmRleGVzLnB1c2goK2luZGV4VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzO1xuICAgIH1cblxuXG4gICAgcHJvdG90eXBlLmluZGV4ZXNCeVN0cmluZyA9IGZ1bmN0aW9uIChzdHI6IHN0cmluZyk6IEFycmF5PG51bWJlcj4ge1xuICAgICAgY29uc3QgdmFsdWVzOiBBcnJheTxzdHJpbmc+ID0gdGhpcyBhcyBhbnk7XG4gICAgICBjb25zdCBpbmRleGVzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMubGVuZ3RoIHx8ICFzdHIgfHwgIXN0ci5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCA8IHN0ci5sZW5ndGgpIHtcblxuICAgICAgICByZXR1cm4gaW5kZXhlcztcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgaW5kZXhWYWx1ZSBpbiB2YWx1ZXMpIHtcbiAgICAgICAgaWYgKHZhbHVlc1tpbmRleFZhbHVlXSAhPT0gc3RyWzBdIHx8ICgoK2luZGV4VmFsdWUpICsgc3RyLmxlbmd0aCkgPiB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHN0ci5zcGxpdCgnJykpIHtcblxuICAgICAgICAgIGlmICh2YWx1ZXNbKCtpbmRleFZhbHVlKSArICgraW5kZXgpXSAhPT0gc3RyW2luZGV4XSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluZGV4ZXMucHVzaCgraW5kZXhWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -18,121 +18,121 @@ const configHeading = {
|
|
|
18
18
|
h1r: {
|
|
19
19
|
"font-size": '30px',
|
|
20
20
|
"font-weight": '400',
|
|
21
|
-
"line-height": '
|
|
21
|
+
"line-height": '42px',
|
|
22
22
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
23
23
|
},
|
|
24
24
|
h1m: {
|
|
25
25
|
"font-size": '30px',
|
|
26
26
|
"font-weight": '500',
|
|
27
|
-
"line-height": '
|
|
27
|
+
"line-height": '42px',
|
|
28
28
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
29
29
|
},
|
|
30
30
|
h1s: {
|
|
31
31
|
"font-size": '30px',
|
|
32
32
|
"font-weight": '600',
|
|
33
|
-
"line-height": '
|
|
33
|
+
"line-height": '42px',
|
|
34
34
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
35
35
|
},
|
|
36
36
|
h1b: {
|
|
37
37
|
"font-size": '30px',
|
|
38
38
|
"font-weight": '700',
|
|
39
|
-
"line-height": '
|
|
39
|
+
"line-height": '42px',
|
|
40
40
|
"letter-spacing": 'calc(30px * (0.5 / 100))'
|
|
41
41
|
},
|
|
42
42
|
h2r: {
|
|
43
43
|
"font-size": '20px',
|
|
44
44
|
"font-weight": '400',
|
|
45
|
-
"line-height": '
|
|
45
|
+
"line-height": '28px',
|
|
46
46
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
47
47
|
},
|
|
48
48
|
h2m: {
|
|
49
49
|
"font-size": '20px',
|
|
50
50
|
"font-weight": '500',
|
|
51
|
-
"line-height": '
|
|
51
|
+
"line-height": '28px',
|
|
52
52
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
53
53
|
},
|
|
54
54
|
h2s: {
|
|
55
55
|
"font-size": '20px',
|
|
56
56
|
"font-weight": '600',
|
|
57
|
-
"line-height": '
|
|
57
|
+
"line-height": '28px',
|
|
58
58
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
59
59
|
},
|
|
60
60
|
h2b: {
|
|
61
61
|
"font-size": '20px',
|
|
62
62
|
"font-weight": '400',
|
|
63
|
-
"line-height": '
|
|
63
|
+
"line-height": '28px',
|
|
64
64
|
"letter-spacing": 'calc(20px * (0.5 / 100))'
|
|
65
65
|
},
|
|
66
66
|
h3r: {
|
|
67
67
|
"font-size": '16px',
|
|
68
68
|
"font-weight": '400',
|
|
69
|
-
"line-height": '
|
|
69
|
+
"line-height": '24px',
|
|
70
70
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
71
71
|
},
|
|
72
72
|
h3m: {
|
|
73
73
|
"font-size": '16px',
|
|
74
74
|
"font-weight": '500',
|
|
75
|
-
"line-height": '
|
|
75
|
+
"line-height": '24px',
|
|
76
76
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
77
77
|
},
|
|
78
78
|
h3s: {
|
|
79
79
|
"font-size": '16px',
|
|
80
80
|
"font-weight": '600',
|
|
81
|
-
"line-height": '
|
|
81
|
+
"line-height": '24px',
|
|
82
82
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
83
83
|
},
|
|
84
84
|
h3b: {
|
|
85
85
|
"font-size": '16px',
|
|
86
86
|
"font-weight": '700',
|
|
87
|
-
"line-height": '
|
|
87
|
+
"line-height": '24px',
|
|
88
88
|
"letter-spacing": 'calc(16px * (0.5 / 100))'
|
|
89
89
|
},
|
|
90
90
|
h4r: {
|
|
91
91
|
"font-size": '13px',
|
|
92
92
|
"font-weight": '400',
|
|
93
|
-
"line-height": '
|
|
93
|
+
"line-height": '20px',
|
|
94
94
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
95
95
|
},
|
|
96
96
|
h4m: {
|
|
97
97
|
"font-size": '13px',
|
|
98
98
|
"font-weight": '500',
|
|
99
|
-
"line-height": '
|
|
99
|
+
"line-height": '20px',
|
|
100
100
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
101
101
|
},
|
|
102
102
|
h4s: {
|
|
103
103
|
"font-size": '13px',
|
|
104
104
|
"font-weight": '600',
|
|
105
|
-
"line-height": '
|
|
105
|
+
"line-height": '20px',
|
|
106
106
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
107
107
|
},
|
|
108
108
|
h4b: {
|
|
109
109
|
"font-size": '13px',
|
|
110
110
|
"font-weight": '700',
|
|
111
|
-
"line-height": '
|
|
111
|
+
"line-height": '20px',
|
|
112
112
|
"letter-spacing": 'calc(13px * (0.5 / 100))'
|
|
113
113
|
},
|
|
114
114
|
h5r: {
|
|
115
115
|
"font-size": '12px',
|
|
116
116
|
"font-weight": '400',
|
|
117
|
-
"line-height": '
|
|
117
|
+
"line-height": '18px',
|
|
118
118
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
119
119
|
},
|
|
120
120
|
h5m: {
|
|
121
121
|
"font-size": '12px',
|
|
122
122
|
"font-weight": '500',
|
|
123
|
-
"line-height": '
|
|
123
|
+
"line-height": '18px',
|
|
124
124
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
125
125
|
},
|
|
126
126
|
h5s: {
|
|
127
127
|
"font-size": '12px',
|
|
128
128
|
"font-weight": '600',
|
|
129
|
-
"line-height": '
|
|
129
|
+
"line-height": '18px',
|
|
130
130
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
131
131
|
},
|
|
132
132
|
h5b: {
|
|
133
133
|
"font-size": '12px',
|
|
134
134
|
"font-weight": '700',
|
|
135
|
-
"line-height": '
|
|
135
|
+
"line-height": '18px',
|
|
136
136
|
"letter-spacing": 'calc(12px * (0.5 / 100))'
|
|
137
137
|
},
|
|
138
138
|
h6r: {
|
|
@@ -184,6 +184,30 @@ const configHeading = {
|
|
|
184
184
|
"letter-spacing": 'calc(11px * (0.5 / 100))'
|
|
185
185
|
},
|
|
186
186
|
};
|
|
187
|
+
const sizeButtonConfig = () => ({
|
|
188
|
+
icon: {
|
|
189
|
+
large: '20px',
|
|
190
|
+
medium: '16px',
|
|
191
|
+
small: '16px',
|
|
192
|
+
smaller: '16px'
|
|
193
|
+
},
|
|
194
|
+
large: {
|
|
195
|
+
font_size: '16px',
|
|
196
|
+
line_height: '24px'
|
|
197
|
+
},
|
|
198
|
+
medium: {
|
|
199
|
+
font_size: '12px',
|
|
200
|
+
line_height: '18px'
|
|
201
|
+
},
|
|
202
|
+
small: {
|
|
203
|
+
font_size: '12px',
|
|
204
|
+
line_height: '18px'
|
|
205
|
+
},
|
|
206
|
+
smaller: {
|
|
207
|
+
font_size: '11px',
|
|
208
|
+
line_height: '16px'
|
|
209
|
+
}
|
|
210
|
+
});
|
|
187
211
|
const configButtonColor = (rootColorInTheme) => {
|
|
188
212
|
return {
|
|
189
213
|
"button-primary": {
|
|
@@ -618,6 +642,7 @@ class LibsUiConfigProjectService {
|
|
|
618
642
|
configButton = computed(() => {
|
|
619
643
|
return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };
|
|
620
644
|
});
|
|
645
|
+
configButtonSize = signal(sizeButtonConfig());
|
|
621
646
|
configButtonStatus = signal(configButtonStatus());
|
|
622
647
|
configButtonTab = signal(configButtonTab());
|
|
623
648
|
styleClassGlobalEl = document.createElement('style');
|
|
@@ -636,6 +661,9 @@ class LibsUiConfigProjectService {
|
|
|
636
661
|
effect(() => {
|
|
637
662
|
this.setupButtonTab();
|
|
638
663
|
});
|
|
664
|
+
effect(() => {
|
|
665
|
+
this.setupButtonSize();
|
|
666
|
+
});
|
|
639
667
|
this.configString();
|
|
640
668
|
this.setClassGlobal();
|
|
641
669
|
}
|
|
@@ -733,6 +761,17 @@ class LibsUiConfigProjectService {
|
|
|
733
761
|
this.styleClassHeadEl.innerHTML = styles;
|
|
734
762
|
document.head.append(this.styleClassHeadEl);
|
|
735
763
|
}
|
|
764
|
+
setupButtonSize() {
|
|
765
|
+
const configButtonSize = this.configButtonSize();
|
|
766
|
+
const doc = document.documentElement;
|
|
767
|
+
Object.keys(configButtonSize).forEach(keySize => {
|
|
768
|
+
const config = get(configButtonSize, keySize);
|
|
769
|
+
Object.keys(config).forEach(keyType => {
|
|
770
|
+
const name = `--libs-ui-button-size-${keySize}-${keyType.replace(/[_]/g, '-')}`;
|
|
771
|
+
doc.style.setProperty(name, get(config, keyType));
|
|
772
|
+
});
|
|
773
|
+
});
|
|
774
|
+
}
|
|
736
775
|
setupButtonTab() {
|
|
737
776
|
const configButtonTab = this.configButtonTab();
|
|
738
777
|
let styles = '';
|
|
@@ -895,5 +934,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
895
934
|
* Generated bundle index. Do not edit.
|
|
896
935
|
*/
|
|
897
936
|
|
|
898
|
-
export { LibsUiConfigProjectService, configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, styleButtonTab, weights };
|
|
937
|
+
export { LibsUiConfigProjectService, configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, sizeButtonConfig, styleButtonTab, weights };
|
|
899
938
|
//# sourceMappingURL=libs-ui-services-config-project.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-services-config-project.mjs","sources":["../../../../../libs-ui/services/config-project/src/config-project-data.ts","../../../../../libs-ui/services/config-project/src/config-project.service.ts","../../../../../libs-ui/services/config-project/src/config-project.interface.ts","../../../../../libs-ui/services/config-project/src/libs-ui-services-config-project.ts"],"sourcesContent":["import { colorStepContrastFromOrigin } from \"@libs-ui/utils\";\nimport { IColorButtonTab, ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n\nexport const fontConfig = {\n name: 'SVN-Poppins',\n uri_regular: 'SVN-Poppins-Regular.ttf',\n uri_medium: 'SVN-Poppins-Medium.ttf',\n uri_semibold: 'SVN-Poppins-SemiBold.ttf'\n};\n\nexport const weights = {\n uri_regular: '400',\n uri_medium: '500',\n uri_semibold: '600',\n uri_bold: '700'\n};\n\nexport const configHeading: ILibsUiConfigFontHeading = {\n h1r: {\n \"font-size\": '30px',\n \"font-weight\": '400',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1m: {\n \"font-size\": '30px',\n \"font-weight\": '500',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1s: {\n \"font-size\": '30px',\n \"font-weight\": '600',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1b: {\n \"font-size\": '30px',\n \"font-weight\": '700',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h2r: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2m: {\n \"font-size\": '20px',\n \"font-weight\": '500',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2s: {\n \"font-size\": '20px',\n \"font-weight\": '600',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2b: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '76px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h3r: {\n \"font-size\": '16px',\n \"font-weight\": '400',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3m: {\n \"font-size\": '16px',\n \"font-weight\": '500',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3s: {\n \"font-size\": '16px',\n \"font-weight\": '600',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3b: {\n \"font-size\": '16px',\n \"font-weight\": '700',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h4r: {\n \"font-size\": '13px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4m: {\n \"font-size\": '13px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4s: {\n \"font-size\": '13px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4b: {\n \"font-size\": '13px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h5r: {\n \"font-size\": '12px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5m: {\n \"font-size\": '12px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5s: {\n \"font-size\": '12px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5b: {\n \"font-size\": '12px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h6r: {\n \"font-size\": '11px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6m: {\n \"font-size\": '11px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6s: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6b: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7r: {\n \"font-size\": '10px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7m: {\n \"font-size\": '10px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7s: {\n \"font-size\": '10px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7b: {\n \"font-size\": '10px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n};\n\nexport const configButtonColor = (rootColorInTheme: string) => {\n return {\n \"button-primary\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-primary-revert\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#F8F9FA\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: \"#F8F9FA\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary-red\": {\n configStepColor: {\n text: 0,\n text_hover: -20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: '#EE2D41'\n },\n \"button-outline\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-danger-high\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ee2d41\"\n },\n \"button-danger-low\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ffa621\"\n },\n \"button-green\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-violet\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#7239ea\"\n },\n \"button-outline-green\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-secondary-green\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-outline-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-outline-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 0,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 0,\n border_active: -20,\n border_disable: \"#e6e7ea\"\n },\n rootColor: \"#f15767\"\n },\n \"button-third-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#f1f3f5\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#f1f3f5\",\n border: \"#f1f3f5\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#f1f3f5\"\n },\n rootColor: '#EE2D41'\n },\n }\n};\n\nexport const configLinkButton = (rootColorInTheme: string) => {\n return {\n \"button-link-primary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\"\n },\n rootColor: rootColorInTheme\n },\n \"button-link-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: rootColorInTheme\n },\n \"button-link-danger-high\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ee2d41\"\n },\n \"button-link-danger-low\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ffa621\"\n },\n \"button-link-green\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#00d16d\"\n },\n \"button-link-violet\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#7239ea\"\n }\n };\n};\n\nexport const configButtonStatus = (): ILibsUiConfigButtonStatus => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEEEE6\"\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F0EBEE\"\n }\n }\n}\n\nexport const configButtonTab = (): ILibsUiConfigButtonTab => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#F4F8FF\",\n background_badge: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#F2FCF7\",\n background_badge: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\",\n background_badge: \"#FEE9F1\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEF7F2\",\n background_badge: \"#FEEEE6\"\n\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFFBF4\",\n background_badge: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#F2FCFC\",\n background_badge: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F8F5FE\",\n background_badge: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F7F5F7\",\n background_badge: \"#F0EBEE\"\n }\n }\n}\n\nexport const styleButtonTab = (type: string, config: IColorButtonTab) => {\n const background = config.background || colorStepContrastFromOrigin(config.color, 95)?.light;\n const backgroundBadge = config.background_badge || colorStepContrastFromOrigin(config.color, 90)?.light;\n\n return `.libs-ui-button-tab-${type}[active=\"true\"] {\n background-color: ${background} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .libs-ui-button-tab-label {\n color: ${config.color} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .libs-ui-button-tab-badge > .libs-ui-button-tab-badge-circle {\n color: ${config.color} !important;\n background-color: ${backgroundBadge} !important;\n }`;\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, computed, effect, signal } from \"@angular/core\";\nimport { colorStepContrastFromOrigin, get } from \"@libs-ui/utils\";\nimport { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, styleButtonTab, weights } from \"./config-project-data\";\nimport { ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontFamily, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiConfigProjectService {\n private readonly themeColor = signal<string>('#226ff5');\n private readonly borderColor = signal<string>('#e6e7ea');\n private readonly textErrorColor = signal<string>('#ff5454');\n private readonly iconHoverDangerColor = signal<string>('#f15767');\n private readonly borderErrorColor = signal<string>('#ee2d41');\n private readonly backgroundDisableColor = signal<string>('#f8f9fa');\n private readonly textReadonlyColor = signal<string>('#071631');\n private readonly textDisableColor = signal<string>('#9ca2ad');\n private readonly backgroundReadonlyColor = signal<string>('#f8f9fa');\n private readonly backgroundUserSelection = signal<string>('#00000040');\n private readonly backgroundList = signal<string>('#f8f9fa');\n private readonly backgroundListHover = signal<string>('#f8f9fa');\n private readonly backgroundListHoverDanger = signal<string>('#fef5f6');\n private readonly configFont = signal<ILibsUiConfigFontFamily>(fontConfig);\n private readonly configHead = signal<ILibsUiConfigFontHeading>(configHeading);\n private readonly configButton = computed(() => {\n return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };\n });\n private readonly configButtonStatus = signal<ILibsUiConfigButtonStatus>(configButtonStatus());\n private readonly configButtonTab = signal<ILibsUiConfigButtonTab>(configButtonTab());\n private readonly styleClassGlobalEl = document.createElement('style');\n private readonly styleClassHeadEl = document.createElement('style');\n private readonly styleClassButtonTabEl = document.createElement('style');\n\n constructor() {\n effect(() => {\n this.setThemeColor();\n });\n\n effect(() => {\n this.setupFontFamily();\n });\n\n effect(() => {\n this.setupFontHead();\n });\n\n effect(() => {\n this.setupButtonTab();\n });\n\n this.configString();\n this.setClassGlobal();\n }\n\n public set ThemeColor(color: string) {\n this.themeColor.set(color || '#226ff5');\n }\n\n public set BorderColor(color: string) {\n this.borderColor.set(color || '#e6e7ea');\n }\n\n public set BorderErrorColor(color: string) {\n this.borderErrorColor.set(color || '#ee2d41');\n }\n\n public set TextErrorColor(color: string) {\n this.textErrorColor.set(color || '#ff5454');\n }\n\n public set IconHoverDangerColor(color: string) {\n this.iconHoverDangerColor.set(color || '#ff5454');\n }\n\n public set BackgroundReadonlyColor(color: string) {\n this.backgroundReadonlyColor.set(color || '#f15767');\n }\n\n public set TextReadonlyColor(color: string) {\n this.textReadonlyColor.set(color || '#071631');\n }\n\n public set BackgroundUserSelection(color: string) {\n this.backgroundUserSelection.set(color || '#00000040');\n }\n\n public set BackgroundList(color: string) {\n this.backgroundList.set(color || '#f8f9fa');\n }\n\n public set BackgroundListHover(color: string) {\n this.backgroundListHover.set(color || '#f8f9fa');\n }\n\n public set BackgroundListHoverDanger(color: string) {\n this.backgroundListHover.set(color || '#fef5f6');\n }\n\n public set BackgroundDisableColor(color: string) {\n this.backgroundDisableColor.set(color || '#f8f9fa');\n }\n\n public set TextDisableColor(color: string) {\n this.textDisableColor.set(color || '#9ca2ad');\n }\n\n public set ConfigFont(configFont: ILibsUiConfigFontFamily) {\n this.configFont.set({ ...configFont });\n }\n\n public set ConfigFontHead(configHead: ILibsUiConfigFontHeading) {\n this.configHead.set({ ...configHead });\n }\n\n public get ConfigButton() {\n return this.configButton;\n }\n\n public get ConfigButtonStatus() {\n return this.configButtonStatus();\n }\n\n public set ConfigButtonStatus(config: ILibsUiConfigButtonStatus) {\n this.configButtonStatus.set(config);\n }\n\n public set ConfigButtonTab(config: ILibsUiConfigButtonTab) {\n this.configButtonTab.set(config);\n }\n\n // public hàm để sử dụng cho component input sử dụng tagInput = frameArea;\n public setupFontFamily(currentDoc?: Document) {\n try {\n currentDoc = currentDoc || document;\n const doc = currentDoc.documentElement;\n\n doc.style.setProperty('--libs-ui-font-family-name', `${this.configFont().name},Arial, Helvetica, sans-serif`);\n Object.keys(weights).forEach(key => {\n if (!get(this.configFont(), key)) {\n return;\n }\n const fontFace = new FontFace(this.configFont().name, `url(${get(this.configFont(), key)})`, { weight: get(weights, key) });\n fontFace.load().then(loadedFont => {\n if (currentDoc && 'add' in currentDoc.fonts) {\n (currentDoc.fonts as any).add(loadedFont);\n }\n });\n });\n } catch (error) {\n console.log(error);\n }\n }\n\n private setupFontHead() {\n const configHeadsData = this.configHead();\n let styles = '';\n Object.keys(configHeadsData).forEach(keyConfig => {\n let style = `font-family:var(--libs-ui-font-family-name,'Arial');`;\n const config = get(configHeadsData, keyConfig);\n Object.keys(config).forEach(key => {\n style = `${style}${key}:${get(config, key)};`;\n });\n styles = `${styles} .libs-ui-font-${keyConfig}{${style}}.libs-ui-font-${keyConfig}i{${style.replace(/;/g, ' !important;')}}`;\n });\n\n styles = `*{box-sizing: border-box !important;}${styles}`;\n\n this.styleClassHeadEl.innerHTML = styles;\n document.head.append(this.styleClassHeadEl);\n }\n\n private setupButtonTab() {\n const configButtonTab = this.configButtonTab();\n let styles = '';\n\n Object.keys(configButtonTab).forEach(key => {\n const config = get(configButtonTab, key);\n const style = config ? styleButtonTab(key, config) : '';\n\n styles = `${styles}${style}`;\n });\n this.styleClassButtonTabEl.innerHTML = styles;\n document.head.append(this.styleClassButtonTabEl);\n }\n\n private setThemeColor() {\n const doc = document.documentElement;\n [{\n group: 'libs-ui',\n type: 'color',\n property: {\n default: colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n light_1: colorStepContrastFromOrigin(this.themeColor(), 20)?.light,\n light_2: colorStepContrastFromOrigin(this.themeColor(), 90)?.light,\n light_3: colorStepContrastFromOrigin(this.themeColor(), 95)?.light,\n light_4: colorStepContrastFromOrigin(this.themeColor(), 50)?.light,\n light_5: colorStepContrastFromOrigin(this.themeColor(), 70)?.light,\n light_6: colorStepContrastFromOrigin(this.themeColor(), 80)?.light,\n dark: colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n background_list: this.backgroundList(),\n background_list_hover: this.backgroundListHover(),\n background_list_hover_danger: this.backgroundListHoverDanger(),\n background_selection: this.backgroundUserSelection(),\n border: this.borderColor(),\n border_error: this.borderErrorColor(),\n text_error: this.textErrorColor(),\n icon_hover_danger: this.iconHoverDangerColor(),\n background_readonly: this.backgroundReadonlyColor(),\n text_readonly: this.textReadonlyColor(),\n background_disable: this.backgroundDisableColor(),\n text_disable: this.textDisableColor(),\n gradient_from: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin(this.themeColor(), 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n gradient_to: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin('#5B2EBB', 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n }\n }].forEach(item => {\n const name = `--${item.group.replace(/[_]/g, '-')}-${item.type.replace(/[_]/g, '-')}`;\n Object.keys(item.property).forEach(key => doc.style.setProperty(`${name}-${key.replace(/[_]/g, '-')}`, (item.property as any)[key]));\n });\n }\n\n public colorStepContrastFromOrigin(step: number, color?: string) {\n return colorStepContrastFromOrigin(color || this.themeColor(), step || 0);\n }\n\n private setClassGlobal() {\n this.styleClassGlobalEl.innerHTML = `\n .libs-ui-border-primary-general{border: 1px solid var(--libs-ui-color-default, #226FF5);}\n .libs-ui-border-primary-focus-general{border: 1px solid var(--libs-ui-color-light-1, #4e8cf7);}\n .libs-ui-border-primary-hover-general{border: 1px solid var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-border-general{ border: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-top-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-bottom-general{border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-dashed-general{border: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-top-dashed-general{border-top: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-dashed-general{border-left: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-dashed-general{border-right: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-bottom-dashed-general{border-bottom: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-x-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-right: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-y-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-top-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-bottom-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea); border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}\n .libs-ui-bg-list {background-color: var(--libs-ui-background-list, #f8f9fa);}\n .libs-ui-bg-list-hover:hover {background-color: var(--libs-ui-background-list-hover, #f8f9fa);}\n .libs-ui-bg-list-active {background-color: var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa;}\n .libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-bg-list-hover-danger:hover {background-color: var(--libs-ui-background-list-hover-danger, #fef5f6); color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n .libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-text-error::before {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-disable {cursor: not-allowed !important;text-decoration: none;color:var(--libs-ui-color-text-disable, #cdd0d6) !important;}\n .libs-ui-disable::before {color:var(--libs-ui-color-text-disable, #9ca2ad) !important;}\n .libs-ui-disable-background{background: var(--libs-ui-color-background-disable, #f8f9fa) !important;}\n .libs-ui-disable-active {color:var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-disable-active::before {color:var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-disable-active-background{background: var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-readonly {cursor: not-allowed !important;color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly::before {color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly-background{background: var(--libs-ui-color-background-readonly, #f8f9fa) !important;}\n .libs-ui-icon-hover-danger:hover {color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n ::-moz-selection {background: var(--libs-ui-color-background-selection, #00000040) !important;}\n ::selection {background: var(--libs-ui-color-background-selection, #00000040) !important;}\n `.replace(/\\n+/g, '');\n\n document.head.append(this.styleClassGlobalEl);\n }\n\n private configString() {\n const prototype = String.prototype as any;\n prototype.replaceAt = function (index: number, replacement: string) {\n const values = this.split('');\n\n values[index] = replacement;\n\n return values.join('');\n }\n\n prototype.replaceAll = function (index: number, separator: string, replacement: string) {\n const regex = new RegExp(separator, 'g');\n\n return `${this.substr(0, index)}${this.substr(index + 1 + (replacement?.length || 0)).replace(regex, replacement)}`;\n }\n\n prototype.occurrencesByCharacter = function (character: string): number {\n const values = this.split('');\n\n if (!values || !values.length) {\n return 0;\n }\n\n return values.filter((char: string) => char === character).length;\n }\n\n prototype.indexesOfCharacter = function (character: string): Array<number> {\n const values: Array<string> = this.split('');\n const indexes: Array<number> = [];\n\n if (!values || !values.length) {\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] === character) {\n indexes.push(+indexValue);\n }\n }\n\n return indexes;\n }\n\n\n prototype.indexesByString = function (str: string): Array<number> {\n const values: Array<string> = this as any;\n const indexes: Array<number> = [];\n\n if (!values || !values.length || !str || !str.length || values.length < str.length) {\n\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] !== str[0] || ((+indexValue) + str.length) > values.length) {\n continue;\n }\n\n for (const index in str.split('')) {\n\n if (values[(+indexValue) + (+index)] !== str[index]) {\n break;\n }\n }\n indexes.push(+indexValue);\n }\n\n return indexes;\n }\n }\n\n}\n","export interface ILibsUiConfigFontFamily {\n name: string;\n uri_regular: string;\n uri_medium: string;\n uri_semibold: string;\n uri_bold?: string;\n};\n\nexport interface ILibsUiConfigFontHeading {\n h1r: ILibsUiConfigFontHeadingStyle;\n h1m: ILibsUiConfigFontHeadingStyle;\n h1s: ILibsUiConfigFontHeadingStyle;\n h1b: ILibsUiConfigFontHeadingStyle;\n h2r: ILibsUiConfigFontHeadingStyle;\n h2m: ILibsUiConfigFontHeadingStyle;\n h2s: ILibsUiConfigFontHeadingStyle;\n h2b: ILibsUiConfigFontHeadingStyle;\n h3r: ILibsUiConfigFontHeadingStyle;\n h3m: ILibsUiConfigFontHeadingStyle;\n h3s: ILibsUiConfigFontHeadingStyle;\n h3b: ILibsUiConfigFontHeadingStyle;\n h4r: ILibsUiConfigFontHeadingStyle;\n h4m: ILibsUiConfigFontHeadingStyle;\n h4s: ILibsUiConfigFontHeadingStyle;\n h4b: ILibsUiConfigFontHeadingStyle;\n h5r: ILibsUiConfigFontHeadingStyle;\n h5m: ILibsUiConfigFontHeadingStyle;\n h5s: ILibsUiConfigFontHeadingStyle;\n h5b: ILibsUiConfigFontHeadingStyle;\n h6r: ILibsUiConfigFontHeadingStyle;\n h6m: ILibsUiConfigFontHeadingStyle;\n h6s: ILibsUiConfigFontHeadingStyle;\n h6b: ILibsUiConfigFontHeadingStyle;\n h7r: ILibsUiConfigFontHeadingStyle;\n h7m: ILibsUiConfigFontHeadingStyle;\n h7s: ILibsUiConfigFontHeadingStyle;\n h7b: ILibsUiConfigFontHeadingStyle;\n};\n\nexport interface ILibsUiConfigFontHeadingStyle {\n 'font-size': string;\n 'font-weight': string;\n 'line-height': string;\n 'letter-spacing': string;\n};\n\nexport interface ILibsUiConfigButtonStatus {\n [key: string]: {\n color: string;\n background?: string;\n };\n}\n\nexport interface ILibsUiConfigButtonTab {\n [key: string]: IColorButtonTab;\n}\n\nexport interface IColorButtonTab {\n color: string;\n background?: string;\n background_badge?: string;\n}\n\nexport interface IColorButton {\n configStepColor: {\n text: string | number;\n text_hover: string | number;\n text_active: string | number;\n text_disable: string | number;\n background?: string | number;\n background_hover?: string | number;\n background_active?: string | number;\n background_disable?: string | number;\n border?: string | number;\n border_hover?: string | number;\n border_active?: string | number;\n border_disable?: string | number;\n };\n rootColor: string;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libs-ui-services-config-project.mjs","sources":["../../../../../libs-ui/services/config-project/src/config-project-data.ts","../../../../../libs-ui/services/config-project/src/config-project.service.ts","../../../../../libs-ui/services/config-project/src/config-project.interface.ts","../../../../../libs-ui/services/config-project/src/libs-ui-services-config-project.ts"],"sourcesContent":["import { colorStepContrastFromOrigin } from \"@libs-ui/utils\";\nimport { IColorButtonTab, ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n\nexport const fontConfig = {\n name: 'SVN-Poppins',\n uri_regular: 'SVN-Poppins-Regular.ttf',\n uri_medium: 'SVN-Poppins-Medium.ttf',\n uri_semibold: 'SVN-Poppins-SemiBold.ttf'\n};\n\nexport const weights = {\n uri_regular: '400',\n uri_medium: '500',\n uri_semibold: '600',\n uri_bold: '700'\n};\n\nexport const configHeading: ILibsUiConfigFontHeading = {\n h1r: {\n \"font-size\": '30px',\n \"font-weight\": '400',\n \"line-height\": '42px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1m: {\n \"font-size\": '30px',\n \"font-weight\": '500',\n \"line-height\": '42px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1s: {\n \"font-size\": '30px',\n \"font-weight\": '600',\n \"line-height\": '42px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1b: {\n \"font-size\": '30px',\n \"font-weight\": '700',\n \"line-height\": '42px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h2r: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '28px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2m: {\n \"font-size\": '20px',\n \"font-weight\": '500',\n \"line-height\": '28px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2s: {\n \"font-size\": '20px',\n \"font-weight\": '600',\n \"line-height\": '28px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2b: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '28px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h3r: {\n \"font-size\": '16px',\n \"font-weight\": '400',\n \"line-height\": '24px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3m: {\n \"font-size\": '16px',\n \"font-weight\": '500',\n \"line-height\": '24px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3s: {\n \"font-size\": '16px',\n \"font-weight\": '600',\n \"line-height\": '24px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3b: {\n \"font-size\": '16px',\n \"font-weight\": '700',\n \"line-height\": '24px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h4r: {\n \"font-size\": '13px',\n \"font-weight\": '400',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4m: {\n \"font-size\": '13px',\n \"font-weight\": '500',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4s: {\n \"font-size\": '13px',\n \"font-weight\": '600',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4b: {\n \"font-size\": '13px',\n \"font-weight\": '700',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h5r: {\n \"font-size\": '12px',\n \"font-weight\": '400',\n \"line-height\": '18px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5m: {\n \"font-size\": '12px',\n \"font-weight\": '500',\n \"line-height\": '18px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5s: {\n \"font-size\": '12px',\n \"font-weight\": '600',\n \"line-height\": '18px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5b: {\n \"font-size\": '12px',\n \"font-weight\": '700',\n \"line-height\": '18px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h6r: {\n \"font-size\": '11px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6m: {\n \"font-size\": '11px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6s: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6b: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7r: {\n \"font-size\": '10px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7m: {\n \"font-size\": '10px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7s: {\n \"font-size\": '10px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7b: {\n \"font-size\": '10px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n};\n\nexport const sizeButtonConfig = () => ({\n icon: {\n large: '20px',\n medium: '16px',\n small: '16px',\n smaller: '16px'\n },\n large: {\n font_size: '16px',\n line_height: '24px'\n },\n medium: {\n font_size: '12px',\n line_height: '18px'\n },\n small: {\n font_size: '12px',\n line_height: '18px'\n },\n smaller: {\n font_size: '11px',\n line_height: '16px'\n }\n});\n\nexport const configButtonColor = (rootColorInTheme: string) => {\n return {\n \"button-primary\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-primary-revert\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#F8F9FA\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: \"#F8F9FA\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary-red\": {\n configStepColor: {\n text: 0,\n text_hover: -20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: '#EE2D41'\n },\n \"button-outline\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-danger-high\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ee2d41\"\n },\n \"button-danger-low\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ffa621\"\n },\n \"button-green\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-violet\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#7239ea\"\n },\n \"button-outline-green\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-secondary-green\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-outline-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-outline-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 0,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 0,\n border_active: -20,\n border_disable: \"#e6e7ea\"\n },\n rootColor: \"#f15767\"\n },\n \"button-third-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#f1f3f5\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#f1f3f5\",\n border: \"#f1f3f5\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#f1f3f5\"\n },\n rootColor: '#EE2D41'\n },\n }\n};\n\nexport const configLinkButton = (rootColorInTheme: string) => {\n return {\n \"button-link-primary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\"\n },\n rootColor: rootColorInTheme\n },\n \"button-link-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: rootColorInTheme\n },\n \"button-link-danger-high\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ee2d41\"\n },\n \"button-link-danger-low\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ffa621\"\n },\n \"button-link-green\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#00d16d\"\n },\n \"button-link-violet\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#7239ea\"\n }\n };\n};\n\nexport const configButtonStatus = (): ILibsUiConfigButtonStatus => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEEEE6\"\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F0EBEE\"\n }\n }\n}\n\nexport const configButtonTab = (): ILibsUiConfigButtonTab => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#F4F8FF\",\n background_badge: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#F2FCF7\",\n background_badge: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\",\n background_badge: \"#FEE9F1\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEF7F2\",\n background_badge: \"#FEEEE6\"\n\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFFBF4\",\n background_badge: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#F2FCFC\",\n background_badge: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F8F5FE\",\n background_badge: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F7F5F7\",\n background_badge: \"#F0EBEE\"\n }\n }\n};\n\nexport const styleButtonTab = (type: string, config: IColorButtonTab) => {\n const background = config.background || colorStepContrastFromOrigin(config.color, 95)?.light;\n const backgroundBadge = config.background_badge || colorStepContrastFromOrigin(config.color, 90)?.light;\n\n return `.libs-ui-button-tab-${type}[active=\"true\"] {\n background-color: ${background} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .libs-ui-button-tab-label {\n color: ${config.color} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .libs-ui-button-tab-badge > .libs-ui-button-tab-badge-circle {\n color: ${config.color} !important;\n background-color: ${backgroundBadge} !important;\n }`;\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, computed, effect, signal } from \"@angular/core\";\nimport { colorStepContrastFromOrigin, get } from \"@libs-ui/utils\";\nimport { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, sizeButtonConfig, styleButtonTab, weights } from \"./config-project-data\";\nimport { ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontFamily, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiConfigProjectService {\n private readonly themeColor = signal<string>('#226ff5');\n private readonly borderColor = signal<string>('#e6e7ea');\n private readonly textErrorColor = signal<string>('#ff5454');\n private readonly iconHoverDangerColor = signal<string>('#f15767');\n private readonly borderErrorColor = signal<string>('#ee2d41');\n private readonly backgroundDisableColor = signal<string>('#f8f9fa');\n private readonly textReadonlyColor = signal<string>('#071631');\n private readonly textDisableColor = signal<string>('#9ca2ad');\n private readonly backgroundReadonlyColor = signal<string>('#f8f9fa');\n private readonly backgroundUserSelection = signal<string>('#00000040');\n private readonly backgroundList = signal<string>('#f8f9fa');\n private readonly backgroundListHover = signal<string>('#f8f9fa');\n private readonly backgroundListHoverDanger = signal<string>('#fef5f6');\n private readonly configFont = signal<ILibsUiConfigFontFamily>(fontConfig);\n private readonly configHead = signal<ILibsUiConfigFontHeading>(configHeading);\n private readonly configButton = computed(() => {\n return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };\n });\n private readonly configButtonSize = signal(sizeButtonConfig());\n private readonly configButtonStatus = signal<ILibsUiConfigButtonStatus>(configButtonStatus());\n private readonly configButtonTab = signal<ILibsUiConfigButtonTab>(configButtonTab());\n private readonly styleClassGlobalEl = document.createElement('style');\n private readonly styleClassHeadEl = document.createElement('style');\n private readonly styleClassButtonTabEl = document.createElement('style');\n constructor() {\n effect(() => {\n this.setThemeColor();\n });\n\n effect(() => {\n this.setupFontFamily();\n });\n\n effect(() => {\n this.setupFontHead();\n });\n\n effect(() => {\n this.setupButtonTab();\n });\n\n effect(() => {\n this.setupButtonSize();\n });\n\n this.configString();\n this.setClassGlobal();\n }\n\n public set ThemeColor(color: string) {\n this.themeColor.set(color || '#226ff5');\n }\n\n public set BorderColor(color: string) {\n this.borderColor.set(color || '#e6e7ea');\n }\n\n public set BorderErrorColor(color: string) {\n this.borderErrorColor.set(color || '#ee2d41');\n }\n\n public set TextErrorColor(color: string) {\n this.textErrorColor.set(color || '#ff5454');\n }\n\n public set IconHoverDangerColor(color: string) {\n this.iconHoverDangerColor.set(color || '#ff5454');\n }\n\n public set BackgroundReadonlyColor(color: string) {\n this.backgroundReadonlyColor.set(color || '#f15767');\n }\n\n public set TextReadonlyColor(color: string) {\n this.textReadonlyColor.set(color || '#071631');\n }\n\n public set BackgroundUserSelection(color: string) {\n this.backgroundUserSelection.set(color || '#00000040');\n }\n\n public set BackgroundList(color: string) {\n this.backgroundList.set(color || '#f8f9fa');\n }\n\n public set BackgroundListHover(color: string) {\n this.backgroundListHover.set(color || '#f8f9fa');\n }\n\n public set BackgroundListHoverDanger(color: string) {\n this.backgroundListHover.set(color || '#fef5f6');\n }\n\n public set BackgroundDisableColor(color: string) {\n this.backgroundDisableColor.set(color || '#f8f9fa');\n }\n\n public set TextDisableColor(color: string) {\n this.textDisableColor.set(color || '#9ca2ad');\n }\n\n public set ConfigFont(configFont: ILibsUiConfigFontFamily) {\n this.configFont.set({ ...configFont });\n }\n\n public set ConfigFontHead(configHead: ILibsUiConfigFontHeading) {\n this.configHead.set({ ...configHead });\n }\n\n public get ConfigButton() {\n return this.configButton;\n }\n\n public get ConfigButtonStatus() {\n return this.configButtonStatus();\n }\n\n public set ConfigButtonStatus(config: ILibsUiConfigButtonStatus) {\n this.configButtonStatus.set(config);\n }\n\n public set ConfigButtonTab(config: ILibsUiConfigButtonTab) {\n this.configButtonTab.set(config);\n }\n\n // public hàm để sử dụng cho component input sử dụng tagInput = frameArea;\n public setupFontFamily(currentDoc?: Document) {\n try {\n currentDoc = currentDoc || document;\n const doc = currentDoc.documentElement;\n\n doc.style.setProperty('--libs-ui-font-family-name', `${this.configFont().name},Arial, Helvetica, sans-serif`);\n Object.keys(weights).forEach(key => {\n if (!get(this.configFont(), key)) {\n return;\n }\n const fontFace = new FontFace(this.configFont().name, `url(${get(this.configFont(), key)})`, { weight: get(weights, key) });\n fontFace.load().then(loadedFont => {\n if (currentDoc && 'add' in currentDoc.fonts) {\n (currentDoc.fonts as any).add(loadedFont);\n }\n });\n });\n } catch (error) {\n console.log(error);\n }\n }\n\n private setupFontHead() {\n const configHeadsData = this.configHead();\n let styles = '';\n Object.keys(configHeadsData).forEach(keyConfig => {\n let style = `font-family:var(--libs-ui-font-family-name,'Arial');`;\n const config = get(configHeadsData, keyConfig);\n Object.keys(config).forEach(key => {\n style = `${style}${key}:${get(config, key)};`;\n });\n styles = `${styles} .libs-ui-font-${keyConfig}{${style}}.libs-ui-font-${keyConfig}i{${style.replace(/;/g, ' !important;')}}`;\n });\n\n styles = `*{box-sizing: border-box !important;}${styles}`;\n\n this.styleClassHeadEl.innerHTML = styles;\n document.head.append(this.styleClassHeadEl);\n }\n\n private setupButtonSize() {\n const configButtonSize = this.configButtonSize();\n const doc = document.documentElement;\n Object.keys(configButtonSize).forEach(keySize => {\n const config = get(configButtonSize, keySize);\n Object.keys(config).forEach(keyType => {\n const name = `--libs-ui-button-size-${keySize}-${keyType.replace(/[_]/g, '-')}`;\n doc.style.setProperty(name, get(config, keyType));\n });\n });\n }\n\n private setupButtonTab() {\n const configButtonTab = this.configButtonTab();\n let styles = '';\n\n Object.keys(configButtonTab).forEach(key => {\n const config = get(configButtonTab, key);\n const style = config ? styleButtonTab(key, config) : '';\n\n styles = `${styles}${style}`;\n });\n this.styleClassButtonTabEl.innerHTML = styles;\n document.head.append(this.styleClassButtonTabEl);\n }\n\n private setThemeColor() {\n const doc = document.documentElement;\n [{\n group: 'libs-ui',\n type: 'color',\n property: {\n default: colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n light_1: colorStepContrastFromOrigin(this.themeColor(), 20)?.light,\n light_2: colorStepContrastFromOrigin(this.themeColor(), 90)?.light,\n light_3: colorStepContrastFromOrigin(this.themeColor(), 95)?.light,\n light_4: colorStepContrastFromOrigin(this.themeColor(), 50)?.light,\n light_5: colorStepContrastFromOrigin(this.themeColor(), 70)?.light,\n light_6: colorStepContrastFromOrigin(this.themeColor(), 80)?.light,\n dark: colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n background_list: this.backgroundList(),\n background_list_hover: this.backgroundListHover(),\n background_list_hover_danger: this.backgroundListHoverDanger(),\n background_selection: this.backgroundUserSelection(),\n border: this.borderColor(),\n border_error: this.borderErrorColor(),\n text_error: this.textErrorColor(),\n icon_hover_danger: this.iconHoverDangerColor(),\n background_readonly: this.backgroundReadonlyColor(),\n text_readonly: this.textReadonlyColor(),\n background_disable: this.backgroundDisableColor(),\n text_disable: this.textDisableColor(),\n gradient_from: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin(this.themeColor(), 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n gradient_to: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin('#5B2EBB', 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n }\n }].forEach(item => {\n const name = `--${item.group.replace(/[_]/g, '-')}-${item.type.replace(/[_]/g, '-')}`;\n Object.keys(item.property).forEach(key => doc.style.setProperty(`${name}-${key.replace(/[_]/g, '-')}`, (item.property as any)[key]));\n });\n }\n\n public colorStepContrastFromOrigin(step: number, color?: string) {\n return colorStepContrastFromOrigin(color || this.themeColor(), step || 0);\n }\n\n private setClassGlobal() {\n this.styleClassGlobalEl.innerHTML = `\n .libs-ui-border-primary-general{border: 1px solid var(--libs-ui-color-default, #226FF5);}\n .libs-ui-border-primary-focus-general{border: 1px solid var(--libs-ui-color-light-1, #4e8cf7);}\n .libs-ui-border-primary-hover-general{border: 1px solid var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-border-general{ border: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-top-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-bottom-general{border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-dashed-general{border: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-top-dashed-general{border-top: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-dashed-general{border-left: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-dashed-general{border-right: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-bottom-dashed-general{border-bottom: dashed 1px var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-x-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-right: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-y-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-top-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-left-bottom-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea); border-top: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea); border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea);}\n .libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}\n .libs-ui-bg-list {background-color: var(--libs-ui-background-list, #f8f9fa);}\n .libs-ui-bg-list-hover:hover {background-color: var(--libs-ui-background-list-hover, #f8f9fa);}\n .libs-ui-bg-list-active {background-color: var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa;}\n .libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff);}\n .libs-ui-bg-list-hover-danger:hover {background-color: var(--libs-ui-background-list-hover-danger, #fef5f6); color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n .libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-text-error::before {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-disable {cursor: not-allowed !important;text-decoration: none;color:var(--libs-ui-color-text-disable, #cdd0d6) !important;}\n .libs-ui-disable::before {color:var(--libs-ui-color-text-disable, #9ca2ad) !important;}\n .libs-ui-disable-background{background: var(--libs-ui-color-background-disable, #f8f9fa) !important;}\n .libs-ui-disable-active {color:var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-disable-active::before {color:var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-disable-active-background{background: var(--libs-ui-color-light-4,#91b7fa) !important;}\n .libs-ui-readonly {cursor: not-allowed !important;color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly::before {color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly-background{background: var(--libs-ui-color-background-readonly, #f8f9fa) !important;}\n .libs-ui-icon-hover-danger:hover {color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n ::-moz-selection {background: var(--libs-ui-color-background-selection, #00000040) !important;}\n ::selection {background: var(--libs-ui-color-background-selection, #00000040) !important;}\n `.replace(/\\n+/g, '');\n\n document.head.append(this.styleClassGlobalEl);\n }\n\n private configString() {\n const prototype = String.prototype as any;\n prototype.replaceAt = function (index: number, replacement: string) {\n const values = this.split('');\n\n values[index] = replacement;\n\n return values.join('');\n }\n\n prototype.replaceAll = function (index: number, separator: string, replacement: string) {\n const regex = new RegExp(separator, 'g');\n\n return `${this.substr(0, index)}${this.substr(index + 1 + (replacement?.length || 0)).replace(regex, replacement)}`;\n }\n\n prototype.occurrencesByCharacter = function (character: string): number {\n const values = this.split('');\n\n if (!values || !values.length) {\n return 0;\n }\n\n return values.filter((char: string) => char === character).length;\n }\n\n prototype.indexesOfCharacter = function (character: string): Array<number> {\n const values: Array<string> = this.split('');\n const indexes: Array<number> = [];\n\n if (!values || !values.length) {\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] === character) {\n indexes.push(+indexValue);\n }\n }\n\n return indexes;\n }\n\n\n prototype.indexesByString = function (str: string): Array<number> {\n const values: Array<string> = this as any;\n const indexes: Array<number> = [];\n\n if (!values || !values.length || !str || !str.length || values.length < str.length) {\n\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] !== str[0] || ((+indexValue) + str.length) > values.length) {\n continue;\n }\n\n for (const index in str.split('')) {\n\n if (values[(+indexValue) + (+index)] !== str[index]) {\n break;\n }\n }\n indexes.push(+indexValue);\n }\n\n return indexes;\n }\n }\n\n}\n","export interface ILibsUiConfigFontFamily {\n name: string;\n uri_regular: string;\n uri_medium: string;\n uri_semibold: string;\n uri_bold?: string;\n};\n\nexport interface ILibsUiConfigFontHeading {\n h1r: ILibsUiConfigFontHeadingStyle;\n h1m: ILibsUiConfigFontHeadingStyle;\n h1s: ILibsUiConfigFontHeadingStyle;\n h1b: ILibsUiConfigFontHeadingStyle;\n h2r: ILibsUiConfigFontHeadingStyle;\n h2m: ILibsUiConfigFontHeadingStyle;\n h2s: ILibsUiConfigFontHeadingStyle;\n h2b: ILibsUiConfigFontHeadingStyle;\n h3r: ILibsUiConfigFontHeadingStyle;\n h3m: ILibsUiConfigFontHeadingStyle;\n h3s: ILibsUiConfigFontHeadingStyle;\n h3b: ILibsUiConfigFontHeadingStyle;\n h4r: ILibsUiConfigFontHeadingStyle;\n h4m: ILibsUiConfigFontHeadingStyle;\n h4s: ILibsUiConfigFontHeadingStyle;\n h4b: ILibsUiConfigFontHeadingStyle;\n h5r: ILibsUiConfigFontHeadingStyle;\n h5m: ILibsUiConfigFontHeadingStyle;\n h5s: ILibsUiConfigFontHeadingStyle;\n h5b: ILibsUiConfigFontHeadingStyle;\n h6r: ILibsUiConfigFontHeadingStyle;\n h6m: ILibsUiConfigFontHeadingStyle;\n h6s: ILibsUiConfigFontHeadingStyle;\n h6b: ILibsUiConfigFontHeadingStyle;\n h7r: ILibsUiConfigFontHeadingStyle;\n h7m: ILibsUiConfigFontHeadingStyle;\n h7s: ILibsUiConfigFontHeadingStyle;\n h7b: ILibsUiConfigFontHeadingStyle;\n};\n\nexport interface ILibsUiConfigFontHeadingStyle {\n 'font-size': string;\n 'font-weight': string;\n 'line-height': string;\n 'letter-spacing': string;\n};\n\nexport interface ILibsUiConfigButtonStatus {\n [key: string]: {\n color: string;\n background?: string;\n };\n}\n\nexport interface ILibsUiConfigButtonTab {\n [key: string]: IColorButtonTab;\n}\n\nexport interface IColorButtonTab {\n color: string;\n background?: string;\n background_badge?: string;\n}\n\nexport interface IColorButton {\n configStepColor: {\n text: string | number;\n text_hover: string | number;\n text_active: string | number;\n text_disable: string | number;\n background?: string | number;\n background_hover?: string | number;\n background_active?: string | number;\n background_disable?: string | number;\n border?: string | number;\n border_hover?: string | number;\n border_active?: string | number;\n border_disable?: string | number;\n };\n rootColor: string;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/services-config-project",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.214",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": "^18.2.0",
|
|
6
|
-
"@libs-ui/utils": "^0.2.
|
|
6
|
+
"@libs-ui/utils": "^0.2.214"
|
|
7
7
|
},
|
|
8
8
|
"sideEffects": false,
|
|
9
9
|
"module": "fesm2022/libs-ui-services-config-project.mjs",
|