pdm-ui-kit 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +168 -3
  2. package/esm2020/lib/components/button-group/button-group.component.mjs +208 -182
  3. package/esm2020/lib/components/combobox/combobox.component.mjs +136 -14
  4. package/esm2020/lib/components/context-menu/context-menu.component.mjs +121 -42
  5. package/esm2020/lib/components/data-table/data-table.component.mjs +3 -3
  6. package/esm2020/lib/components/date-picker/date-picker.component.mjs +66 -54
  7. package/esm2020/lib/components/dialog/dialog.component.mjs +111 -94
  8. package/esm2020/lib/components/hover-card/hover-card.component.mjs +185 -24
  9. package/esm2020/lib/components/input/input.component.mjs +15 -15
  10. package/esm2020/lib/components/input-group/input-group.component.mjs +14 -14
  11. package/esm2020/lib/components/menubar/menubar.component.mjs +105 -29
  12. package/esm2020/lib/components/popover/popover.component.mjs +107 -75
  13. package/esm2020/lib/components/select/select.component.mjs +23 -22
  14. package/esm2020/lib/components/table/table.component.mjs +77 -68
  15. package/esm2020/lib/components/tabs/tabs.component.mjs +6 -6
  16. package/esm2020/lib/components/toggle-group/toggle-group.component.mjs +6 -6
  17. package/esm2020/lib/components/tooltip/tooltip.component.mjs +162 -19
  18. package/esm2020/lib/overlay/z-index-helper.mjs +69 -0
  19. package/esm2020/lib/utils/z-index.mjs +25 -28
  20. package/esm2020/public-api.mjs +67 -66
  21. package/fesm2015/pdm-ui-kit.mjs +1376 -654
  22. package/fesm2015/pdm-ui-kit.mjs.map +1 -1
  23. package/fesm2020/pdm-ui-kit.mjs +1380 -654
  24. package/fesm2020/pdm-ui-kit.mjs.map +1 -1
  25. package/lib/components/button-group/button-group.component.d.ts +8 -2
  26. package/lib/components/combobox/combobox.component.d.ts +20 -3
  27. package/lib/components/context-menu/context-menu.component.d.ts +17 -8
  28. package/lib/components/date-picker/date-picker.component.d.ts +5 -6
  29. package/lib/components/dialog/dialog.component.d.ts +5 -5
  30. package/lib/components/hover-card/hover-card.component.d.ts +27 -4
  31. package/lib/components/input/input.component.d.ts +3 -3
  32. package/lib/components/input-group/input-group.component.d.ts +1 -1
  33. package/lib/components/menubar/menubar.component.d.ts +16 -8
  34. package/lib/components/popover/popover.component.d.ts +13 -12
  35. package/lib/components/select/select.component.d.ts +4 -5
  36. package/lib/components/table/table.component.d.ts +2 -2
  37. package/lib/components/tabs/tabs.component.d.ts +1 -1
  38. package/lib/components/toggle-group/toggle-group.component.d.ts +1 -1
  39. package/lib/components/tooltip/tooltip.component.d.ts +21 -3
  40. package/lib/overlay/z-index-helper.d.ts +36 -0
  41. package/lib/utils/z-index.d.ts +14 -18
  42. package/package.json +6 -6
  43. package/public-api.d.ts +66 -65
  44. package/src/lib/styles/tokens.css +182 -0
@@ -1,198 +1,224 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
+ const ROOT_LAYOUT = {
5
+ horizontal: "flex flex-col sm:flex-row sm:items-center sm:flex-wrap",
6
+ vertical: "flex flex-col items-stretch",
7
+ };
8
+ const ATTACHMENT_EDGE_CLASSES = {
9
+ horizontal: [
10
+ "[&>*]:rounded-none",
11
+ "[&>*:first-child]:rounded-l-md",
12
+ "[&>*:last-child]:rounded-r-md",
13
+ "[&>*:not(:first-child)]:border-l-0",
14
+ "[&>*:not(:first-child)]:-ml-px",
15
+ ],
16
+ vertical: [
17
+ "[&>*]:rounded-none",
18
+ "[&>*:first-child]:rounded-t-md",
19
+ "[&>*:last-child]:rounded-b-md",
20
+ "[&>*:not(:first-child)]:border-t-0",
21
+ "[&>*:not(:first-child)]:-mt-px",
22
+ ],
23
+ };
24
+ const ATTACHMENT_CONTROL_CLASSES = {
25
+ horizontal: [
26
+ "[&>pdm-button]:flex",
27
+ "[&>pdm-button>button]:h-9",
28
+ "[&>pdm-button>button]:!rounded-none",
29
+ "[&>pdm-button>button]:shadow-none",
30
+ "[&>pdm-button:first-child>button]:!rounded-l-md",
31
+ "[&>pdm-button:last-child>button]:!rounded-r-md",
32
+ "[&>pdm-input]:flex-1",
33
+ "[&>pdm-input>div]:w-full",
34
+ "[&>pdm-input>div]:!rounded-none",
35
+ "[&>pdm-input>div]:shadow-none",
36
+ "[&>pdm-input>div>input]:!rounded-none",
37
+ "[&>pdm-input>div>input]:bg-background",
38
+ "[&>pdm-input>div>input]:shadow-none",
39
+ "[&>pdm-input:first-child>div]:!rounded-l-md",
40
+ "[&>pdm-input:last-child>div]:!rounded-r-md",
41
+ "[&>pdm-input:first-child>div>input]:!rounded-l-md",
42
+ "[&>pdm-input:last-child>div>input]:!rounded-r-md",
43
+ "[&>pdm-input-group>div]:!rounded-none",
44
+ "[&>pdm-input-group>div]:shadow-none",
45
+ "[&>pdm-input-group:first-child>div]:!rounded-l-md",
46
+ "[&>pdm-input-group:last-child>div]:!rounded-r-md",
47
+ "[&>pdm-select>select]:!rounded-none",
48
+ "[&>pdm-select>select]:shadow-none",
49
+ "[&>pdm-select>div>button]:!rounded-none",
50
+ "[&>pdm-select>div>button]:shadow-none",
51
+ "[&>pdm-select:first-child>select]:!rounded-l-md",
52
+ "[&>pdm-select:last-child>select]:!rounded-r-md",
53
+ "[&>pdm-select:first-child>div>button]:!rounded-l-md",
54
+ "[&>pdm-select:last-child>div>button]:!rounded-r-md",
55
+ "[&>pdm-select:not(:first-child)>div>button]:!rounded-l-none",
56
+ "[&>pdm-select:not(:last-child)>div>button]:!rounded-r-none",
57
+ "[&>pdm-tooltip>span>*]:rounded-none",
58
+ "[&>pdm-tooltip>span>*]:shadow-none",
59
+ "[&>pdm-tooltip:not(:first-child)>span>*]:border-l-0",
60
+ "[&>pdm-tooltip>span>button]:!rounded-none",
61
+ "[&>pdm-tooltip>span>button]:shadow-none",
62
+ "[&>pdm-tooltip:first-child>span>button]:!rounded-l-md",
63
+ "[&>pdm-tooltip:last-child>span>button]:!rounded-r-md",
64
+ "[&>pdm-tooltip>span>input]:!rounded-none",
65
+ "[&>pdm-tooltip>span>input]:bg-background",
66
+ "[&>pdm-tooltip>span>input]:shadow-none",
67
+ "[&>pdm-tooltip:first-child>span>input]:!rounded-l-md",
68
+ "[&>pdm-tooltip:last-child>span>input]:!rounded-r-md",
69
+ "[&>pdm-tooltip>span>select]:!rounded-none",
70
+ "[&>pdm-tooltip>span>select]:shadow-none",
71
+ "[&>pdm-tooltip:first-child>span>select]:!rounded-l-md",
72
+ "[&>pdm-tooltip:last-child>span>select]:!rounded-r-md",
73
+ "[&>pdm-tooltip>span>pdm-button>button]:!rounded-none",
74
+ "[&>pdm-tooltip>span>pdm-button>button]:shadow-none",
75
+ "[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-l-md",
76
+ "[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-r-md",
77
+ "[&>pdm-tooltip>span>pdm-input>div]:!rounded-none",
78
+ "[&>pdm-tooltip>span>pdm-input>div]:shadow-none",
79
+ "[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none",
80
+ "[&>pdm-tooltip>span>pdm-input>div>input]:bg-background",
81
+ "[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none",
82
+ "[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-l-md",
83
+ "[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-r-md",
84
+ "[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-l-md",
85
+ "[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-r-md",
86
+ "[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none",
87
+ "[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none",
88
+ "[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-l-md",
89
+ "[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-r-md",
90
+ "[&>pdm-tooltip>span>pdm-select>select]:!rounded-none",
91
+ "[&>pdm-tooltip>span>pdm-select>select]:shadow-none",
92
+ "[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none",
93
+ "[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none",
94
+ "[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-l-md",
95
+ "[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-r-md",
96
+ "[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-l-md",
97
+ "[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-r-md",
98
+ "[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-l-none",
99
+ "[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-r-none",
100
+ ],
101
+ vertical: [
102
+ "[&>*]:rounded-none",
103
+ "[&>*:first-child]:rounded-t-md",
104
+ "[&>*:last-child]:rounded-b-md",
105
+ "[&>*:not(:first-child)]:border-t-0",
106
+ "[&>*:not(:first-child)]:-mt-px",
107
+ "[&>pdm-button]:flex",
108
+ "[&>pdm-button>button]:h-9",
109
+ "[&>pdm-button>button]:!rounded-none",
110
+ "[&>pdm-button>button]:shadow-none",
111
+ "[&>pdm-button:first-child>button]:!rounded-t-md",
112
+ "[&>pdm-button:last-child>button]:!rounded-b-md",
113
+ "[&>pdm-input>div]:!rounded-none",
114
+ "[&>pdm-input>div]:shadow-none",
115
+ "[&>pdm-input>div>input]:!rounded-none",
116
+ "[&>pdm-input>div>input]:bg-background",
117
+ "[&>pdm-input>div>input]:shadow-none",
118
+ "[&>pdm-input:first-child>div]:!rounded-t-md",
119
+ "[&>pdm-input:last-child>div]:!rounded-b-md",
120
+ "[&>pdm-input:first-child>div>input]:!rounded-t-md",
121
+ "[&>pdm-input:last-child>div>input]:!rounded-b-md",
122
+ "[&>pdm-input-group>div]:!rounded-none",
123
+ "[&>pdm-input-group>div]:shadow-none",
124
+ "[&>pdm-input-group:first-child>div]:!rounded-t-md",
125
+ "[&>pdm-input-group:last-child>div]:!rounded-b-md",
126
+ "[&>pdm-select>select]:!rounded-none",
127
+ "[&>pdm-select>select]:shadow-none",
128
+ "[&>pdm-select>div>button]:!rounded-none",
129
+ "[&>pdm-select>div>button]:shadow-none",
130
+ "[&>pdm-select:first-child>select]:!rounded-t-md",
131
+ "[&>pdm-select:last-child>select]:!rounded-b-md",
132
+ "[&>pdm-select:first-child>div>button]:!rounded-t-md",
133
+ "[&>pdm-select:last-child>div>button]:!rounded-b-md",
134
+ "[&>pdm-select:not(:first-child)>div>button]:!rounded-t-none",
135
+ "[&>pdm-select:not(:last-child)>div>button]:!rounded-b-none",
136
+ "[&>pdm-tooltip>span>*]:rounded-none",
137
+ "[&>pdm-tooltip>span>*]:shadow-none",
138
+ "[&>pdm-tooltip:not(:first-child)>span>*]:border-t-0",
139
+ "[&>pdm-tooltip>span>button]:!rounded-none",
140
+ "[&>pdm-tooltip>span>button]:shadow-none",
141
+ "[&>pdm-tooltip:first-child>span>button]:!rounded-t-md",
142
+ "[&>pdm-tooltip:last-child>span>button]:!rounded-b-md",
143
+ "[&>pdm-tooltip>span>input]:!rounded-none",
144
+ "[&>pdm-tooltip>span>input]:bg-background",
145
+ "[&>pdm-tooltip>span>input]:shadow-none",
146
+ "[&>pdm-tooltip:first-child>span>input]:!rounded-t-md",
147
+ "[&>pdm-tooltip:last-child>span>input]:!rounded-b-md",
148
+ "[&>pdm-tooltip>span>select]:!rounded-none",
149
+ "[&>pdm-tooltip>span>select]:shadow-none",
150
+ "[&>pdm-tooltip:first-child>span>select]:!rounded-t-md",
151
+ "[&>pdm-tooltip:last-child>span>select]:!rounded-b-md",
152
+ "[&>pdm-tooltip>span>pdm-button>button]:!rounded-none",
153
+ "[&>pdm-tooltip>span>pdm-button>button]:shadow-none",
154
+ "[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-t-md",
155
+ "[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-b-md",
156
+ "[&>pdm-tooltip>span>pdm-input>div]:!rounded-none",
157
+ "[&>pdm-tooltip>span>pdm-input>div]:shadow-none",
158
+ "[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none",
159
+ "[&>pdm-tooltip>span>pdm-input>div>input]:bg-background",
160
+ "[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none",
161
+ "[&>pdm-tooltip:first-child>span>pdm-input>div]:!rounded-t-md",
162
+ "[&>pdm-tooltip:last-child>span>pdm-input>div]:!rounded-b-md",
163
+ "[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-t-md",
164
+ "[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-b-md",
165
+ "[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none",
166
+ "[&>pdm-tooltip>span>pdm-input-group>div]:shadow-none",
167
+ "[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-t-md",
168
+ "[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-b-md",
169
+ "[&>pdm-tooltip>span>pdm-select>select]:!rounded-none",
170
+ "[&>pdm-tooltip>span>pdm-select>select]:shadow-none",
171
+ "[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none",
172
+ "[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none",
173
+ "[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-t-md",
174
+ "[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-b-md",
175
+ "[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-t-md",
176
+ "[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-b-md",
177
+ "[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-t-none",
178
+ "[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-b-none",
179
+ ],
180
+ };
181
+ const FOCUS_STACKING_CLASS = "*:focus-visible:relative *:focus-visible:z-10";
182
+ const SEPARATOR_CLASSES = "overflow-hidden rounded-md border border-border bg-secondary shadow-sm";
4
183
  export class PdmButtonGroupComponent {
5
184
  constructor() {
6
- this.variant = 'default';
185
+ this.variant = "default";
7
186
  this.separated = true;
8
- this.className = '';
187
+ this.className = "";
188
+ }
189
+ get axis() {
190
+ return this.orientation ?? this.direction ?? "horizontal";
191
+ }
192
+ get isVertical() {
193
+ return this.variant === "orientation" || this.axis === "vertical";
194
+ }
195
+ get shouldAttach() {
196
+ return !this.separated && this.variant !== "default";
197
+ }
198
+ get ariaOrientation() {
199
+ return this.isVertical ? "vertical" : "horizontal";
9
200
  }
10
201
  get rootClasses() {
11
- const effectiveOrientation = this.orientation ?? this.direction ?? 'horizontal';
12
- const isVertical = this.variant === 'orientation' || effectiveOrientation === 'vertical';
13
- const isGroup = this.variant === 'group';
14
- const isAttached = !this.separated && this.variant !== 'default';
15
- const isSeparator = this.variant === 'separator';
16
- const attachedClasses = isAttached && !isGroup
17
- ? isVertical
18
- ? [
19
- '[&>*]:rounded-none',
20
- '[&>*:first-child]:rounded-t-md',
21
- '[&>*:last-child]:rounded-b-md',
22
- '[&>*:not(:first-child)]:border-t-0',
23
- '[&>*:not(:first-child)]:-mt-px'
24
- ].join(' ')
25
- : [
26
- '[&>*]:rounded-none',
27
- '[&>*:first-child]:rounded-l-md',
28
- '[&>*:last-child]:rounded-r-md',
29
- '[&>*:not(:first-child)]:border-l-0',
30
- '[&>*:not(:first-child)]:-ml-px'
31
- ].join(' ')
32
- : '';
33
- const groupHorizontalClasses = isGroup && !isVertical && !this.separated
34
- ? [
35
- '[&>*]:rounded-none',
36
- '[&>*:first-child]:rounded-l-md',
37
- '[&>*:last-child]:rounded-r-md',
38
- '[&>*:not(:first-child)]:-ml-px',
39
- '[&>*:not(:first-child)]:border-l-0',
40
- '[&>pdm-button]:flex',
41
- '[&>pdm-button>button]:h-9',
42
- '[&>pdm-input]:flex-1',
43
- '[&>pdm-input>div]:w-full',
44
- '[&>pdm-select>select]:!rounded-none',
45
- '[&>pdm-select:first-child>select]:!rounded-l-md',
46
- '[&>pdm-select:last-child>select]:!rounded-r-md',
47
- '[&>pdm-select>select]:shadow-none',
48
- '[&>pdm-select>div>button]:!rounded-none',
49
- '[&>pdm-select:first-child>div>button]:!rounded-l-md',
50
- '[&>pdm-select:last-child>div>button]:!rounded-r-md',
51
- '[&>pdm-select:not(:first-child)>div>button]:!rounded-l-none',
52
- '[&>pdm-select:not(:last-child)>div>button]:!rounded-r-none',
53
- '[&>pdm-select>div>button]:shadow-none',
54
- '[&>pdm-button>button]:!rounded-none',
55
- '[&>pdm-button:first-child>button]:!rounded-l-md',
56
- '[&>pdm-button:last-child>button]:!rounded-r-md',
57
- '[&>pdm-input>div>input]:!rounded-none',
58
- '[&>pdm-input:first-child>div>input]:!rounded-l-md',
59
- '[&>pdm-input:last-child>div>input]:!rounded-r-md',
60
- '[&>pdm-input-group>div]:!rounded-none',
61
- '[&>pdm-input-group:first-child>div]:!rounded-l-md',
62
- '[&>pdm-input-group:last-child>div]:!rounded-r-md',
63
- '[&>pdm-input>div>input]:bg-background',
64
- '[&>pdm-input>div>input]:shadow-none',
65
- '[&>pdm-button>button]:rounded-l-none',
66
- '[&>pdm-button>button]:shadow-none',
67
- '[&>pdm-tooltip>span>*]:rounded-none',
68
- '[&>pdm-tooltip:first-child>span>*]:rounded-l-md',
69
- '[&>pdm-tooltip:last-child>span>*]:rounded-r-md',
70
- '[&>pdm-tooltip:not(:first-child)>span>*]:border-l-0',
71
- '[&>pdm-tooltip>span>pdm-button>button]:!rounded-none',
72
- '[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-l-md',
73
- '[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-r-md',
74
- '[&>pdm-tooltip>span>pdm-button>button]:shadow-none',
75
- '[&>pdm-tooltip>span>button]:!rounded-none',
76
- '[&>pdm-tooltip:first-child>span>button]:!rounded-l-md',
77
- '[&>pdm-tooltip:last-child>span>button]:!rounded-r-md',
78
- '[&>pdm-tooltip>span>button]:shadow-none',
79
- '[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none',
80
- '[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-l-md',
81
- '[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-r-md',
82
- '[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none',
83
- '[&>pdm-tooltip>span>input]:!rounded-none',
84
- '[&>pdm-tooltip:first-child>span>input]:!rounded-l-md',
85
- '[&>pdm-tooltip:last-child>span>input]:!rounded-r-md',
86
- '[&>pdm-tooltip>span>input]:shadow-none',
87
- '[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none',
88
- '[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-l-md',
89
- '[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-r-md',
90
- '[&>pdm-tooltip>span>pdm-select>select]:!rounded-none',
91
- '[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-l-md',
92
- '[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-r-md',
93
- '[&>pdm-tooltip>span>pdm-select>select]:shadow-none',
94
- '[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none',
95
- '[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-l-md',
96
- '[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-r-md',
97
- '[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-l-none',
98
- '[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-r-none',
99
- '[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none',
100
- '[&>pdm-tooltip>span>select]:!rounded-none',
101
- '[&>pdm-tooltip:first-child>span>select]:!rounded-l-md',
102
- '[&>pdm-tooltip:last-child>span>select]:!rounded-r-md',
103
- '[&>pdm-tooltip>span>select]:shadow-none'
104
- ].join(' ')
105
- : '';
106
- const groupVerticalClasses = isGroup && isVertical && !this.separated
107
- ? [
108
- '[&>*]:rounded-none',
109
- '[&>*:first-child]:rounded-t-md',
110
- '[&>*:last-child]:rounded-b-md',
111
- '[&>*:not(:first-child)]:-mt-px',
112
- '[&>*:not(:first-child)]:border-t-0',
113
- '[&>pdm-button]:flex',
114
- '[&>pdm-button>button]:h-9',
115
- '[&>pdm-button>button]:!rounded-none',
116
- '[&>pdm-button:first-child>button]:!rounded-t-md',
117
- '[&>pdm-button:last-child>button]:!rounded-b-md',
118
- '[&>pdm-input>div>input]:!rounded-none',
119
- '[&>pdm-input:first-child>div>input]:!rounded-t-md',
120
- '[&>pdm-input:last-child>div>input]:!rounded-b-md',
121
- '[&>pdm-input-group>div]:!rounded-none',
122
- '[&>pdm-input-group:first-child>div]:!rounded-t-md',
123
- '[&>pdm-input-group:last-child>div]:!rounded-b-md',
124
- '[&>pdm-select>select]:!rounded-none',
125
- '[&>pdm-select:first-child>select]:!rounded-t-md',
126
- '[&>pdm-select:last-child>select]:!rounded-b-md',
127
- '[&>pdm-select>select]:shadow-none',
128
- '[&>pdm-select>div>button]:!rounded-none',
129
- '[&>pdm-select:first-child>div>button]:!rounded-t-md',
130
- '[&>pdm-select:last-child>div>button]:!rounded-b-md',
131
- '[&>pdm-select:not(:first-child)>div>button]:!rounded-t-none',
132
- '[&>pdm-select:not(:last-child)>div>button]:!rounded-b-none',
133
- '[&>pdm-select>div>button]:shadow-none',
134
- '[&>pdm-input>div>input]:bg-background',
135
- '[&>pdm-input>div>input]:shadow-none',
136
- '[&>pdm-button>button]:shadow-none',
137
- '[&>pdm-tooltip>span>*]:rounded-none',
138
- '[&>pdm-tooltip:first-child>span>*]:rounded-t-md',
139
- '[&>pdm-tooltip:last-child>span>*]:rounded-b-md',
140
- '[&>pdm-tooltip:not(:first-child)>span>*]:border-t-0',
141
- '[&>pdm-tooltip>span>pdm-button>button]:!rounded-none',
142
- '[&>pdm-tooltip:first-child>span>pdm-button>button]:!rounded-t-md',
143
- '[&>pdm-tooltip:last-child>span>pdm-button>button]:!rounded-b-md',
144
- '[&>pdm-tooltip>span>pdm-button>button]:shadow-none',
145
- '[&>pdm-tooltip>span>button]:!rounded-none',
146
- '[&>pdm-tooltip:first-child>span>button]:!rounded-t-md',
147
- '[&>pdm-tooltip:last-child>span>button]:!rounded-b-md',
148
- '[&>pdm-tooltip>span>button]:shadow-none',
149
- '[&>pdm-tooltip>span>pdm-input>div>input]:!rounded-none',
150
- '[&>pdm-tooltip:first-child>span>pdm-input>div>input]:!rounded-t-md',
151
- '[&>pdm-tooltip:last-child>span>pdm-input>div>input]:!rounded-b-md',
152
- '[&>pdm-tooltip>span>pdm-input>div>input]:shadow-none',
153
- '[&>pdm-tooltip>span>input]:!rounded-none',
154
- '[&>pdm-tooltip:first-child>span>input]:!rounded-t-md',
155
- '[&>pdm-tooltip:last-child>span>input]:!rounded-b-md',
156
- '[&>pdm-tooltip>span>input]:shadow-none',
157
- '[&>pdm-tooltip>span>pdm-input-group>div]:!rounded-none',
158
- '[&>pdm-tooltip:first-child>span>pdm-input-group>div]:!rounded-t-md',
159
- '[&>pdm-tooltip:last-child>span>pdm-input-group>div]:!rounded-b-md',
160
- '[&>pdm-tooltip>span>pdm-select>select]:!rounded-none',
161
- '[&>pdm-tooltip:first-child>span>pdm-select>select]:!rounded-t-md',
162
- '[&>pdm-tooltip:last-child>span>pdm-select>select]:!rounded-b-md',
163
- '[&>pdm-tooltip>span>pdm-select>select]:shadow-none',
164
- '[&>pdm-tooltip>span>pdm-select>div>button]:!rounded-none',
165
- '[&>pdm-tooltip:first-child>span>pdm-select>div>button]:!rounded-t-md',
166
- '[&>pdm-tooltip:last-child>span>pdm-select>div>button]:!rounded-b-md',
167
- '[&>pdm-tooltip:not(:first-child)>span>pdm-select>div>button]:!rounded-t-none',
168
- '[&>pdm-tooltip:not(:last-child)>span>pdm-select>div>button]:!rounded-b-none',
169
- '[&>pdm-tooltip>span>pdm-select>div>button]:shadow-none',
170
- '[&>pdm-tooltip>span>select]:!rounded-none',
171
- '[&>pdm-tooltip:first-child>span>select]:!rounded-t-md',
172
- '[&>pdm-tooltip:last-child>span>select]:!rounded-b-md',
173
- '[&>pdm-tooltip>span>select]:shadow-none'
174
- ].join(' ')
175
- : '';
176
202
  return [
177
- 'inline-flex w-fit',
178
- isVertical ? 'flex-col items-stretch' : 'items-center',
179
- this.variant === 'default' || this.separated ? 'gap-2' : 'gap-0',
180
- isGroup ? '*:focus-visible:relative *:focus-visible:z-10' : '',
181
- attachedClasses,
182
- groupHorizontalClasses,
183
- groupVerticalClasses,
184
- isSeparator
185
- ? 'overflow-hidden rounded-md border border-border bg-secondary shadow-sm'
186
- : '',
187
- this.className
203
+ ROOT_LAYOUT[this.isVertical ? "vertical" : "horizontal"],
204
+ this.variant === "default" || this.separated ? "gap-2" : "gap-0",
205
+ this.shouldAttach
206
+ ? ATTACHMENT_EDGE_CLASSES[this.isVertical ? "vertical" : "horizontal"].join(" ")
207
+ : "",
208
+ this.shouldAttach
209
+ ? ATTACHMENT_CONTROL_CLASSES[this.isVertical ? "vertical" : "horizontal"].join(" ")
210
+ : "",
211
+ this.shouldAttach ? FOCUS_STACKING_CLASS : "",
212
+ this.variant === "separator" ? SEPARATOR_CLASSES : "",
213
+ this.className,
188
214
  ];
189
215
  }
190
216
  }
191
217
  PdmButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
192
- PdmButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonGroupComponent, selector: "pdm-button-group", inputs: { variant: "variant", orientation: "orientation", direction: "direction", separated: "separated", className: "className" }, ngImport: i0, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"variant === 'orientation' || orientation === 'vertical' || direction === 'vertical' ? 'vertical' : 'horizontal'\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
218
+ PdmButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: PdmButtonGroupComponent, selector: "pdm-button-group", inputs: { variant: "variant", orientation: "orientation", direction: "direction", separated: "separated", className: "className" }, ngImport: i0, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"ariaOrientation\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
193
219
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PdmButtonGroupComponent, decorators: [{
194
220
  type: Component,
195
- args: [{ selector: 'pdm-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"variant === 'orientation' || orientation === 'vertical' || direction === 'vertical' ? 'vertical' : 'horizontal'\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n" }]
221
+ args: [{ selector: "pdm-button-group", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n role=\"group\"\n [attr.aria-orientation]=\"ariaOrientation\"\n [ngClass]=\"rootClasses\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}\n"] }]
196
222
  }], propDecorators: { variant: [{
197
223
  type: Input
198
224
  }], orientation: [{
@@ -204,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
204
230
  }], className: [{
205
231
  type: Input
206
232
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQU1XLFlBQU8sR0FBMEIsU0FBUyxDQUFDO1FBRzNDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsY0FBUyxHQUFHLEVBQUUsQ0FBQztLQTBMekI7SUF4TEMsSUFBSSxXQUFXO1FBQ2IsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDO1FBQ2hGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxJQUFJLG9CQUFvQixLQUFLLFVBQVUsQ0FBQztRQUN6RixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUM7UUFFakQsTUFBTSxlQUFlLEdBQUcsVUFBVSxJQUFJLENBQUMsT0FBTztZQUM1QyxDQUFDLENBQUMsVUFBVTtnQkFDVixDQUFDLENBQUM7b0JBQ0Usb0JBQW9CO29CQUNwQixnQ0FBZ0M7b0JBQ2hDLCtCQUErQjtvQkFDL0Is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SixDQUFDOztvSEE5TFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNExDVnBDLDhPQU9BOzJGREdhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCcgfCAnZ3JvdXAnIHwgJ29yaWVudGF0aW9uJyB8ICdzZXBhcmF0b3InO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkbS1idXR0b24tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuICBASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIG9yaWVudGF0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgZGlyZWN0aW9uPzogUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbjtcbiAgQElucHV0KCkgc2VwYXJhdGVkID0gdHJ1ZTtcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgZ2V0IHJvb3RDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlZmZlY3RpdmVPcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24gPz8gdGhpcy5kaXJlY3Rpb24gPz8gJ2hvcml6b250YWwnO1xuICAgIGNvbnN0IGlzVmVydGljYWwgPSB0aGlzLnZhcmlhbnQgPT09ICdvcmllbnRhdGlvbicgfHwgZWZmZWN0aXZlT3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgY29uc3QgaXNHcm91cCA9IHRoaXMudmFyaWFudCA9PT0gJ2dyb3VwJztcbiAgICBjb25zdCBpc0F0dGFjaGVkID0gIXRoaXMuc2VwYXJhdGVkICYmIHRoaXMudmFyaWFudCAhPT0gJ2RlZmF1bHQnO1xuICAgIGNvbnN0IGlzU2VwYXJhdG9yID0gdGhpcy52YXJpYW50ID09PSAnc2VwYXJhdG9yJztcblxuICAgIGNvbnN0IGF0dGFjaGVkQ2xhc3NlcyA9IGlzQXR0YWNoZWQgJiYgIWlzR3JvdXBcbiAgICAgID8gaXNWZXJ0aWNhbFxuICAgICAgICA/IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci10LTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tdC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgICA6IFtcbiAgICAgICAgICAgICdbJj4qXTpyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgICAnWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci1sLTAnLFxuICAgICAgICAgICAgJ1smPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weCdcbiAgICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdyb3VwSG9yaXpvbnRhbENsYXNzZXMgPSBpc0dyb3VwICYmICFpc1ZlcnRpY2FsICYmICF0aGlzLnNlcGFyYXRlZFxuICAgICAgPyBbXG4gICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPio6bGFzdC1jaGlsZF06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW1sLXB4JyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLWwtMCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b25dOmZsZXgnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05JyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0XTpmbGV4LTEnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2XTp3LWZ1bGwnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbjpmaXJzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uOmxhc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwOmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpyb3VuZGVkLWwtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+Kl06cm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj4qXTpyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItbC0wJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1sLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOnNoYWRvdy1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXItbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWwtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6bGFzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXItbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWwtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1yLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOnNoYWRvdy1ub25lJ1xuICAgICAgICBdLmpvaW4oJyAnKVxuICAgICAgOiAnJztcblxuICAgIGNvbnN0IGdyb3VwVmVydGljYWxDbGFzc2VzID0gaXNHcm91cCAmJiBpc1ZlcnRpY2FsICYmICF0aGlzLnNlcGFyYXRlZFxuICAgICAgPyBbXG4gICAgICAgICAgJ1smPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPio6bGFzdC1jaGlsZF06cm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW10LXB4JyxcbiAgICAgICAgICAnWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b25dOmZsZXgnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05JyxcbiAgICAgICAgICAnWyY+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uOmZpcnN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1idXR0b246bGFzdC1jaGlsZD5idXR0b25dOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0LWdyb3VwOmxhc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5zZWxlY3RdOiFyb3VuZGVkLWItbWQnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCk+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtdC1ub25lJyxcbiAgICAgICAgICAnWyY+cGRtLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kJyxcbiAgICAgICAgICAnWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+Kl06cm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPipdOnJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+Kl06Ym9yZGVyLXQtMCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXQtbWQnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1iLW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1iLW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmUnLFxuICAgICAgICAgICdbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtbm9uZScsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC10LW1kJyxcbiAgICAgICAgICAnWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnNlbGVjdF06IXJvdW5kZWQtYi1tZCcsXG4gICAgICAgICAgJ1smPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTpzaGFkb3ctbm9uZSdcbiAgICAgICAgXS5qb2luKCcgJylcbiAgICAgIDogJyc7XG5cbiAgICByZXR1cm4gW1xuICAgICAgJ2lubGluZS1mbGV4IHctZml0JyxcbiAgICAgIGlzVmVydGljYWwgPyAnZmxleC1jb2wgaXRlbXMtc3RyZXRjaCcgOiAnaXRlbXMtY2VudGVyJyxcbiAgICAgIHRoaXMudmFyaWFudCA9PT0gJ2RlZmF1bHQnIHx8IHRoaXMuc2VwYXJhdGVkID8gJ2dhcC0yJyA6ICdnYXAtMCcsXG4gICAgICBpc0dyb3VwID8gJyo6Zm9jdXMtdmlzaWJsZTpyZWxhdGl2ZSAqOmZvY3VzLXZpc2libGU6ei0xMCcgOiAnJyxcbiAgICAgIGF0dGFjaGVkQ2xhc3NlcyxcbiAgICAgIGdyb3VwSG9yaXpvbnRhbENsYXNzZXMsXG4gICAgICBncm91cFZlcnRpY2FsQ2xhc3NlcyxcbiAgICAgIGlzU2VwYXJhdG9yXG4gICAgICAgID8gJ292ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXNlY29uZGFyeSBzaGFkb3ctc20nXG4gICAgICAgIDogJycsXG4gICAgICB0aGlzLmNsYXNzTmFtZVxuICAgIF07XG4gIH1cbn1cbiIsIjxkaXZcbiAgcm9sZT1cImdyb3VwXCJcbiAgW2F0dHIuYXJpYS1vcmllbnRhdGlvbl09XCJ2YXJpYW50ID09PSAnb3JpZW50YXRpb24nIHx8IG9yaWVudGF0aW9uID09PSAndmVydGljYWwnIHx8IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCdcIlxuICBbbmdDbGFzc109XCJyb290Q2xhc3Nlc1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFXMUUsTUFBTSxXQUFXLEdBQXlCO0lBQ3pDLFVBQVUsRUFBRSx3REFBd0Q7SUFDcEUsUUFBUSxFQUFFLDZCQUE2QjtDQUN2QyxDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBMkI7SUFDdkQsVUFBVSxFQUFFO1FBQ1gsb0JBQW9CO1FBQ3BCLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0Isb0NBQW9DO1FBQ3BDLGdDQUFnQztLQUNoQztJQUNELFFBQVEsRUFBRTtRQUNULG9CQUFvQjtRQUNwQixnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLG9DQUFvQztRQUNwQyxnQ0FBZ0M7S0FDaEM7Q0FDRCxDQUFDO0FBRUYsTUFBTSwwQkFBMEIsR0FBMkI7SUFDMUQsVUFBVSxFQUFFO1FBQ1gscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQixxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxnREFBZ0Q7UUFFaEQsc0JBQXNCO1FBQ3RCLDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsK0JBQStCO1FBQy9CLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMscUNBQXFDO1FBQ3JDLDZDQUE2QztRQUM3Qyw0Q0FBNEM7UUFDNUMsbURBQW1EO1FBQ25ELGtEQUFrRDtRQUVsRCx1Q0FBdUM7UUFDdkMscUNBQXFDO1FBQ3JDLG1EQUFt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Q0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUMzQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0gsQ0FBQzs7b0hBekNXLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRMQ2xOcEMsOElBT0E7MkZEMk1hLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDQyxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIFBkbUJ1dHRvbkdyb3VwVmFyaWFudCA9XG5cdHwgXCJkZWZhdWx0XCJcblx0fCBcImdyb3VwXCJcblx0fCBcIm9yaWVudGF0aW9uXCJcblx0fCBcInNlcGFyYXRvclwiO1xuZXhwb3J0IHR5cGUgUGRtQnV0dG9uR3JvdXBPcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiO1xuXG50eXBlIEF4aXMgPSBcImhvcml6b250YWxcIiB8IFwidmVydGljYWxcIjtcblxuY29uc3QgUk9PVF9MQVlPVVQ6IFJlY29yZDxBeGlzLCBzdHJpbmc+ID0ge1xuXHRob3Jpem9udGFsOiBcImZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgc206aXRlbXMtY2VudGVyIHNtOmZsZXgtd3JhcFwiLFxuXHR2ZXJ0aWNhbDogXCJmbGV4IGZsZXgtY29sIGl0ZW1zLXN0cmV0Y2hcIixcbn07XG5cbmNvbnN0IEFUVEFDSE1FTlRfRURHRV9DTEFTU0VTOiBSZWNvcmQ8QXhpcywgc3RyaW5nW10+ID0ge1xuXHRob3Jpem9udGFsOiBbXG5cdFx0XCJbJj4qXTpyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPio6Zmlyc3QtY2hpbGRdOnJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+KjpsYXN0LWNoaWxkXTpyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPio6bm90KDpmaXJzdC1jaGlsZCldOmJvcmRlci1sLTBcIixcblx0XHRcIlsmPio6bm90KDpmaXJzdC1jaGlsZCldOi1tbC1weFwiLFxuXHRdLFxuXHR2ZXJ0aWNhbDogW1xuXHRcdFwiWyY+Kl06cm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj4qOmZpcnN0LWNoaWxkXTpyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPio6bGFzdC1jaGlsZF06cm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTpib3JkZXItdC0wXCIsXG5cdFx0XCJbJj4qOm5vdCg6Zmlyc3QtY2hpbGQpXTotbXQtcHhcIixcblx0XSxcbn07XG5cbmNvbnN0IEFUVEFDSE1FTlRfQ09OVFJPTF9DTEFTU0VTOiBSZWNvcmQ8QXhpcywgc3RyaW5nW10+ID0ge1xuXHRob3Jpem9udGFsOiBbXG5cdFx0XCJbJj5wZG0tYnV0dG9uXTpmbGV4XCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06aC05XCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uOmZpcnN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLWJ1dHRvbjpsYXN0LWNoaWxkPmJ1dHRvbl06IXJvdW5kZWQtci1tZFwiLFxuXG5cdFx0XCJbJj5wZG0taW5wdXRdOmZsZXgtMVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdl06dy1mdWxsXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdj5pbnB1dF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC1yLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA6Zmlyc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQtZ3JvdXA6bGFzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLXItbWRcIixcblxuXHRcdFwiWyY+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpsYXN0LWNoaWxkPnNlbGVjdF06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpmaXJzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtci1tZFwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bm90KDpsYXN0LWNoaWxkKT5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW5vbmVcIixcblxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj4qXTpyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+Kl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+Kl06Ym9yZGVyLWwtMFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5idXR0b25dOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+aW5wdXRdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmlucHV0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+c2VsZWN0XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tYnV0dG9uPmJ1dHRvbl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLWwtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dC1ncm91cD5kaXZdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1zZWxlY3Q+c2VsZWN0XTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1sLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpub3QoOmZpcnN0LWNoaWxkKT5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06IXJvdW5kZWQtbC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpub3QoOmxhc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1yLW5vbmVcIixcblx0XSxcblx0dmVydGljYWw6IFtcblx0XHRcIlsmPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+KjpmaXJzdC1jaGlsZF06cm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj4qOmxhc3QtY2hpbGRdOnJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06Ym9yZGVyLXQtMFwiLFxuXHRcdFwiWyY+Kjpub3QoOmZpcnN0LWNoaWxkKV06LW10LXB4XCIsXG5cblx0XHRcIlsmPnBkbS1idXR0b25dOmZsZXhcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTpoLTlcIixcblx0XHRcIlsmPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uPmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1idXR0b246Zmlyc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tYnV0dG9uOmxhc3QtY2hpbGQ+YnV0dG9uXTohcm91bmRlZC1iLW1kXCIsXG5cblx0XHRcIlsmPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dD5kaXZdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpiZy1iYWNrZ3JvdW5kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ+ZGl2PmlucHV0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0OmZpcnN0LWNoaWxkPmRpdl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLWlucHV0Omxhc3QtY2hpbGQ+ZGl2XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6Zmlyc3QtY2hpbGQ+ZGl2PmlucHV0XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0taW5wdXQ6bGFzdC1jaGlsZD5kaXY+aW5wdXRdOiFyb3VuZGVkLWItbWRcIixcblxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLWlucHV0LWdyb3VwPmRpdl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpmaXJzdC1jaGlsZD5kaXZdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1pbnB1dC1ncm91cDpsYXN0LWNoaWxkPmRpdl06IXJvdW5kZWQtYi1tZFwiLFxuXG5cdFx0XCJbJj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdD5zZWxlY3RdOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6Zmlyc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Omxhc3QtY2hpbGQ+c2VsZWN0XTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0OmZpcnN0LWNoaWxkPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS1zZWxlY3Q6bGFzdC1jaGlsZD5kaXY+YnV0dG9uXTohcm91bmRlZC1iLW1kXCIsXG5cdFx0XCJbJj5wZG0tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpPmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZVwiLFxuXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPipdOnJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj4qXTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bm90KDpmaXJzdC1jaGlsZCk+c3Bhbj4qXTpib3JkZXItdC0wXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPmJ1dHRvbl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06YmctYmFja2dyb3VuZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+aW5wdXRdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5pbnB1dF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+c2VsZWN0XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5zZWxlY3RdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOnNoYWRvdy1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpmaXJzdC1jaGlsZD5zcGFuPnBkbS1idXR0b24+YnV0dG9uXTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWJ1dHRvbj5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQ+ZGl2PmlucHV0XTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOmJnLWJhY2tncm91bmRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdl06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXZdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLWlucHV0PmRpdj5pbnB1dF06IXJvdW5kZWQtdC1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6bGFzdC1jaGlsZD5zcGFuPnBkbS1pbnB1dD5kaXY+aW5wdXRdOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTpzaGFkb3ctbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0taW5wdXQtZ3JvdXA+ZGl2XTohcm91bmRlZC10LW1kXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcDpsYXN0LWNoaWxkPnNwYW4+cGRtLWlucHV0LWdyb3VwPmRpdl06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtbm9uZVwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC1ub25lXCIsXG5cdFx0XCJbJj5wZG0tdG9vbHRpcD5zcGFuPnBkbS1zZWxlY3Q+ZGl2PmJ1dHRvbl06c2hhZG93LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmZpcnN0LWNoaWxkPnNwYW4+cGRtLXNlbGVjdD5zZWxlY3RdOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PnNlbGVjdF06IXJvdW5kZWQtYi1tZFwiLFxuXHRcdFwiWyY+cGRtLXRvb2x0aXA6Zmlyc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLXQtbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOmxhc3QtY2hpbGQ+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWItbWRcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6Zmlyc3QtY2hpbGQpPnNwYW4+cGRtLXNlbGVjdD5kaXY+YnV0dG9uXTohcm91bmRlZC10LW5vbmVcIixcblx0XHRcIlsmPnBkbS10b29sdGlwOm5vdCg6bGFzdC1jaGlsZCk+c3Bhbj5wZG0tc2VsZWN0PmRpdj5idXR0b25dOiFyb3VuZGVkLWItbm9uZVwiLFxuXHRdLFxufTtcblxuY29uc3QgRk9DVVNfU1RBQ0tJTkdfQ0xBU1MgPSBcIio6Zm9jdXMtdmlzaWJsZTpyZWxhdGl2ZSAqOmZvY3VzLXZpc2libGU6ei0xMFwiO1xuY29uc3QgU0VQQVJBVE9SX0NMQVNTRVMgPVxuXHRcIm92ZXJmbG93LWhpZGRlbiByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLXNlY29uZGFyeSBzaGFkb3ctc21cIjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcInBkbS1idXR0b24tZ3JvdXBcIixcblx0dGVtcGxhdGVVcmw6IFwiLi9idXR0b24tZ3JvdXAuY29tcG9uZW50Lmh0bWxcIixcblx0c3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9XCJdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGRtQnV0dG9uR3JvdXBDb21wb25lbnQge1xuXHRASW5wdXQoKSB2YXJpYW50OiBQZG1CdXR0b25Hcm91cFZhcmlhbnQgPSBcImRlZmF1bHRcIjtcblx0QElucHV0KCkgb3JpZW50YXRpb24/OiBQZG1CdXR0b25Hcm91cE9yaWVudGF0aW9uO1xuXHRASW5wdXQoKSBkaXJlY3Rpb24/OiBQZG1CdXR0b25Hcm91cE9yaWVudGF0aW9uO1xuXHRASW5wdXQoKSBzZXBhcmF0ZWQgPSB0cnVlO1xuXHRASW5wdXQoKSBjbGFzc05hbWUgPSBcIlwiO1xuXG5cdGdldCBheGlzKCk6IEF4aXMge1xuXHRcdHJldHVybiB0aGlzLm9yaWVudGF0aW9uID8/IHRoaXMuZGlyZWN0aW9uID8/IFwiaG9yaXpvbnRhbFwiO1xuXHR9XG5cblx0Z2V0IGlzVmVydGljYWwoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMudmFyaWFudCA9PT0gXCJvcmllbnRhdGlvblwiIHx8IHRoaXMuYXhpcyA9PT0gXCJ2ZXJ0aWNhbFwiO1xuXHR9XG5cblx0Z2V0IHNob3VsZEF0dGFjaCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gIXRoaXMuc2VwYXJhdGVkICYmIHRoaXMudmFyaWFudCAhPT0gXCJkZWZhdWx0XCI7XG5cdH1cblxuXHRnZXQgYXJpYU9yaWVudGF0aW9uKCk6IFBkbUJ1dHRvbkdyb3VwT3JpZW50YXRpb24ge1xuXHRcdHJldHVybiB0aGlzLmlzVmVydGljYWwgPyBcInZlcnRpY2FsXCIgOiBcImhvcml6b250YWxcIjtcblx0fVxuXG5cdGdldCByb290Q2xhc3NlcygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIFtcblx0XHRcdFJPT1RfTEFZT1VUW3RoaXMuaXNWZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiXSxcblx0XHRcdHRoaXMudmFyaWFudCA9PT0gXCJkZWZhdWx0XCIgfHwgdGhpcy5zZXBhcmF0ZWQgPyBcImdhcC0yXCIgOiBcImdhcC0wXCIsXG5cdFx0XHR0aGlzLnNob3VsZEF0dGFjaFxuXHRcdFx0XHQ/IEFUVEFDSE1FTlRfRURHRV9DTEFTU0VTW1xuXHRcdFx0XHRcdFx0dGhpcy5pc1ZlcnRpY2FsID8gXCJ2ZXJ0aWNhbFwiIDogXCJob3Jpem9udGFsXCJcblx0XHRcdFx0XHRdLmpvaW4oXCIgXCIpXG5cdFx0XHRcdDogXCJcIixcblx0XHRcdHRoaXMuc2hvdWxkQXR0YWNoXG5cdFx0XHRcdD8gQVRUQUNITUVOVF9DT05UUk9MX0NMQVNTRVNbXG5cdFx0XHRcdFx0XHR0aGlzLmlzVmVydGljYWwgPyBcInZlcnRpY2FsXCIgOiBcImhvcml6b250YWxcIlxuXHRcdFx0XHRcdF0uam9pbihcIiBcIilcblx0XHRcdFx0OiBcIlwiLFxuXHRcdFx0dGhpcy5zaG91bGRBdHRhY2ggPyBGT0NVU19TVEFDS0lOR19DTEFTUyA6IFwiXCIsXG5cdFx0XHR0aGlzLnZhcmlhbnQgPT09IFwic2VwYXJhdG9yXCIgPyBTRVBBUkFUT1JfQ0xBU1NFUyA6IFwiXCIsXG5cdFx0XHR0aGlzLmNsYXNzTmFtZSxcblx0XHRdO1xuXHR9XG59XG4iLCI8ZGl2XG4gIHJvbGU9XCJncm91cFwiXG4gIFthdHRyLmFyaWEtb3JpZW50YXRpb25dPVwiYXJpYU9yaWVudGF0aW9uXCJcbiAgW25nQ2xhc3NdPVwicm9vdENsYXNzZXNcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==