@openelement/ui 0.41.0-alpha.1

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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +78 -0
  3. package/package.json +142 -0
  4. package/src/daisy-classes.d.ts +7 -0
  5. package/src/daisy-classes.js +770 -0
  6. package/src/index.d.ts +57 -0
  7. package/src/index.js +62 -0
  8. package/src/manifest.d.ts +8 -0
  9. package/src/manifest.js +255 -0
  10. package/src/open-badge.d.ts +15 -0
  11. package/src/open-badge.js +88 -0
  12. package/src/open-brand-mark.d.ts +14 -0
  13. package/src/open-brand-mark.js +107 -0
  14. package/src/open-button.d.ts +38 -0
  15. package/src/open-button.js +219 -0
  16. package/src/open-callout.d.ts +26 -0
  17. package/src/open-callout.js +99 -0
  18. package/src/open-card.d.ts +33 -0
  19. package/src/open-card.js +107 -0
  20. package/src/open-code-block.d.ts +44 -0
  21. package/src/open-code-block.js +267 -0
  22. package/src/open-dialog.d.ts +47 -0
  23. package/src/open-dialog.js +235 -0
  24. package/src/open-dropdown.d.ts +25 -0
  25. package/src/open-dropdown.js +45 -0
  26. package/src/open-hero-ping.d.ts +27 -0
  27. package/src/open-hero-ping.js +136 -0
  28. package/src/open-input.d.ts +51 -0
  29. package/src/open-input.js +233 -0
  30. package/src/open-lab-panel.d.ts +16 -0
  31. package/src/open-lab-panel.js +151 -0
  32. package/src/open-lab-stage.d.ts +15 -0
  33. package/src/open-lab-stage.js +622 -0
  34. package/src/open-layout.d.ts +111 -0
  35. package/src/open-layout.js +1377 -0
  36. package/src/open-modal.d.ts +25 -0
  37. package/src/open-modal.js +48 -0
  38. package/src/open-props-tokens.d.ts +7 -0
  39. package/src/open-props-tokens.js +474 -0
  40. package/src/open-standards-visual.d.ts +20 -0
  41. package/src/open-standards-visual.js +425 -0
  42. package/src/open-step-card.d.ts +34 -0
  43. package/src/open-step-card.js +117 -0
  44. package/src/open-tabs.d.ts +27 -0
  45. package/src/open-tabs.js +56 -0
  46. package/src/open-theme-toggle.d.ts +38 -0
  47. package/src/open-theme-toggle.js +223 -0
@@ -0,0 +1,770 @@
1
+ /**
2
+ * @openelement/ui - daisyUI forked CSS classes (Pure CSS, Open Props tokens)
3
+ *
4
+ * Inlined at build time so consumers do not need to ship a separate CSS asset
5
+ * and SSR bundles do not depend on a file-system path next to import.meta.url.
6
+ */ import { StyleSheet } from '@openelement/core/style-sheet';
7
+ const sheet = new StyleSheet();
8
+ sheet.replaceSync(`/**
9
+ * @openelement/ui - daisyUI forked CSS classes (Pure CSS, Open Props tokens)
10
+ *
11
+ * Forked daisyUI class semantics (btn, card, badge, alert, input, modal, menu, etc.)
12
+ * with Tailwind token engine replaced by Open Props.
13
+ *
14
+ * Key rules:
15
+ * - All selectors use \`:host\` prefix (DSD-compatible, not \`:root\`/\`html\`)
16
+ * - All colors/spacing use \`var(--*)\` (Open Props tokens)
17
+ * - Zero Tailwind syntax (no \`@apply\`, \`theme()\`, \`rgb()\`)
18
+ * - Class names preserve daisyUI semantics
19
+ */
20
+
21
+ :host {
22
+ /* ═══════════════════════════════════════════════
23
+ btn — daisyUI btn class set
24
+ ═══════════════════════════════════════════════ */
25
+ .btn {
26
+ display: inline-flex;
27
+ align-items: center;
28
+ justify-content: center;
29
+ gap: var(--size-2);
30
+ padding: var(--btn-padding-y) var(--btn-padding-x);
31
+ border-radius: var(--btn-radius);
32
+ font-size: var(--btn-font-size);
33
+ font-weight: var(--btn-font-weight);
34
+ text-transform: var(--btn-text-case);
35
+ cursor: pointer;
36
+ border: 1px solid transparent;
37
+ transition: all var(--duration-2) var(--ease-1);
38
+ line-height: 1.5;
39
+ text-decoration: none;
40
+ user-select: none;
41
+ background: var(--brand);
42
+ color: white;
43
+ }
44
+ .btn:hover {
45
+ background: var(--brand-hover);
46
+ }
47
+ .btn:focus-visible {
48
+ outline: 2px solid var(--brand);
49
+ outline-offset: 2px;
50
+ }
51
+ .btn:disabled {
52
+ opacity: 0.5;
53
+ cursor: not-allowed;
54
+ }
55
+ .btn-primary {
56
+ background: var(--brand);
57
+ color: white;
58
+ }
59
+ .btn-primary:hover {
60
+ background: var(--brand-hover);
61
+ }
62
+ .btn-ghost {
63
+ background: transparent;
64
+ color: var(--text-primary);
65
+ border-color: var(--border);
66
+ }
67
+ .btn-ghost:hover {
68
+ background: var(--bg-hover);
69
+ }
70
+ .btn-outline {
71
+ background: transparent;
72
+ color: var(--brand);
73
+ border-color: var(--brand);
74
+ }
75
+ .btn-outline:hover {
76
+ background: var(--brand);
77
+ color: white;
78
+ }
79
+ .btn-sm {
80
+ padding: var(--size-1) var(--size-3);
81
+ font-size: var(--font-size-00);
82
+ }
83
+ .btn-lg {
84
+ padding: var(--size-3) var(--size-6);
85
+ font-size: var(--font-size-2);
86
+ }
87
+ .btn-wide {
88
+ min-width: 16rem;
89
+ }
90
+
91
+ /* ═══════════════════════════════════════════════
92
+ card
93
+ ═══════════════════════════════════════════════ */
94
+ .card {
95
+ display: flex;
96
+ flex-direction: column;
97
+ border-radius: var(--card-radius);
98
+ border: 1px solid var(--border);
99
+ background: var(--bg-card);
100
+ overflow: hidden;
101
+ }
102
+ .card-body {
103
+ padding: var(--card-padding);
104
+ display: flex;
105
+ flex-direction: column;
106
+ gap: var(--size-4);
107
+ }
108
+ .card-title {
109
+ font-size: var(--font-size-3);
110
+ font-weight: var(--font-weight-6);
111
+ color: var(--text-primary);
112
+ }
113
+ .card-bordered {
114
+ border: 1px solid var(--border);
115
+ }
116
+
117
+ /* ═══════════════════════════════════════════════
118
+ badge
119
+ ═══════════════════════════════════════════════ */
120
+ .badge {
121
+ display: inline-flex;
122
+ align-items: center;
123
+ padding: var(--badge-padding-y) var(--badge-padding-x);
124
+ border-radius: var(--badge-radius);
125
+ font-size: var(--badge-font-size);
126
+ font-weight: var(--font-weight-6);
127
+ line-height: 1;
128
+ border: 1px solid transparent;
129
+ background: var(--bg-hover);
130
+ color: var(--text-primary);
131
+ }
132
+ .badge-primary {
133
+ background: var(--brand);
134
+ color: white;
135
+ }
136
+ .badge-success {
137
+ background: var(--success-subtle);
138
+ color: var(--success);
139
+ }
140
+ .badge-warning {
141
+ background: var(--warning-subtle);
142
+ color: var(--warning);
143
+ }
144
+ .badge-error {
145
+ background: var(--error-subtle);
146
+ color: var(--error);
147
+ }
148
+ .badge-info {
149
+ background: var(--info-subtle);
150
+ color: var(--info);
151
+ }
152
+ .badge-outline {
153
+ background: transparent;
154
+ border-color: currentColor;
155
+ }
156
+
157
+ /* ═══════════════════════════════════════════════
158
+ alert
159
+ ═══════════════════════════════════════════════ */
160
+ .alert {
161
+ display: flex;
162
+ align-items: flex-start;
163
+ gap: var(--size-3);
164
+ padding: var(--alert-padding);
165
+ border-radius: var(--alert-radius);
166
+ border: 1px solid transparent;
167
+ }
168
+ .alert-info {
169
+ background: var(--info-subtle);
170
+ color: var(--info);
171
+ border-color: var(--info-subtle);
172
+ }
173
+ .alert-success {
174
+ background: var(--success-subtle);
175
+ color: var(--success);
176
+ border-color: var(--success-subtle);
177
+ }
178
+ .alert-warning {
179
+ background: var(--warning-subtle);
180
+ color: var(--warning);
181
+ border-color: var(--warning-subtle);
182
+ }
183
+ .alert-error {
184
+ background: var(--error-subtle);
185
+ color: var(--error);
186
+ border-color: var(--error-subtle);
187
+ }
188
+
189
+ /* ═══════════════════════════════════════════════
190
+ input / textarea / select
191
+ ═══════════════════════════════════════════════ */
192
+ .input, .textarea, .select {
193
+ padding: var(--input-padding-y) var(--input-padding-x);
194
+ border-radius: var(--input-radius);
195
+ font-size: var(--input-font-size);
196
+ border: 1px solid var(--input-border-color);
197
+ background: var(--bg-elevated);
198
+ color: var(--text-primary);
199
+ outline: none;
200
+ transition: border-color var(--duration-2) var(--ease-1);
201
+ width: 100%;
202
+ box-sizing: border-box;
203
+ }
204
+ .input:focus, .textarea:focus, .select:focus {
205
+ border-color: var(--brand);
206
+ box-shadow: 0 0 0 3px var(--brand-subtle);
207
+ }
208
+ .input:disabled, .textarea:disabled, .select:disabled {
209
+ opacity: 0.5;
210
+ cursor: not-allowed;
211
+ }
212
+ .input-bordered {
213
+ border-color: var(--border);
214
+ }
215
+ .textarea {
216
+ min-height: 6rem;
217
+ resize: vertical;
218
+ }
219
+ .input-sm, .textarea-sm, .select-sm {
220
+ padding: var(--size-1) var(--size-2);
221
+ font-size: var(--font-size-00);
222
+ }
223
+
224
+ /* ═══════════════════════════════════════════════
225
+ divider
226
+ ═══════════════════════════════════════════════ */
227
+ .divider {
228
+ display: flex;
229
+ align-items: center;
230
+ gap: var(--size-4);
231
+ margin: var(--divider-margin);
232
+ color: var(--text-muted);
233
+ }
234
+ .divider::before, .divider::after {
235
+ content: '';
236
+ flex: 1;
237
+ height: 1px;
238
+ background: var(--divider-color);
239
+ }
240
+
241
+ /* ═══════════════════════════════════════════════
242
+ tooltip
243
+ ═══════════════════════════════════════════════ */
244
+ [data-tooltip] {
245
+ position: relative;
246
+ }
247
+ [data-tooltip]::after {
248
+ content: attr(data-tooltip);
249
+ position: absolute;
250
+ bottom: 100%;
251
+ left: 50%;
252
+ transform: translateX(-50%);
253
+ margin-bottom: var(--size-2);
254
+ padding: var(--tooltip-padding);
255
+ border-radius: var(--tooltip-radius);
256
+ background: var(--tooltip-bg);
257
+ color: var(--tooltip-color);
258
+ font-size: var(--font-size-00);
259
+ white-space: nowrap;
260
+ opacity: 0;
261
+ pointer-events: none;
262
+ transition: opacity var(--duration-2) var(--ease-1);
263
+ }
264
+ [data-tooltip]:hover::after {
265
+ opacity: 1;
266
+ }
267
+
268
+ /* ═══════════════════════════════════════════════
269
+ modal
270
+ ═══════════════════════════════════════════════ */
271
+ .modal {
272
+ display: none;
273
+ position: fixed;
274
+ inset: 0;
275
+ z-index: 100;
276
+ }
277
+ .modal[open] {
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: center;
281
+ }
282
+ .modal-backdrop {
283
+ position: absolute;
284
+ inset: 0;
285
+ background: var(--overlay);
286
+ }
287
+ .modal-content {
288
+ position: relative;
289
+ background: var(--modal-bg);
290
+ border-radius: var(--modal-radius);
291
+ padding: var(--modal-padding);
292
+ max-width: 32rem;
293
+ width: 90%;
294
+ box-shadow: var(--shadow-1);
295
+ }
296
+
297
+ /* ═══════════════════════════════════════════════
298
+ menu
299
+ ═══════════════════════════════════════════════ */
300
+ .menu {
301
+ display: flex;
302
+ flex-direction: column;
303
+ gap: 0;
304
+ padding: var(--menu-padding);
305
+ border-radius: var(--menu-radius);
306
+ }
307
+ .menu-item {
308
+ display: flex;
309
+ align-items: center;
310
+ gap: var(--size-2);
311
+ padding: var(--menu-item-padding);
312
+ border-radius: var(--radius-1);
313
+ color: var(--text-primary);
314
+ text-decoration: none;
315
+ cursor: pointer;
316
+ transition: background var(--duration-2);
317
+ }
318
+ .menu-item:hover {
319
+ background: var(--bg-hover);
320
+ }
321
+ .menu-item.active {
322
+ background: var(--brand-subtle);
323
+ color: var(--brand);
324
+ }
325
+
326
+ /* ═══════════════════════════════════════════════
327
+ dropdown
328
+ ═══════════════════════════════════════════════ */
329
+ .dropdown {
330
+ position: relative;
331
+ display: inline-block;
332
+ }
333
+ .dropdown-content {
334
+ display: none;
335
+ position: absolute;
336
+ top: 100%;
337
+ left: 0;
338
+ min-width: 12rem;
339
+ background: var(--dropdown-bg);
340
+ border-radius: var(--dropdown-radius);
341
+ border: 1px solid var(--border);
342
+ box-shadow: var(--shadow-1);
343
+ z-index: 50;
344
+ padding: var(--size-2);
345
+ }
346
+ .dropdown:focus-within .dropdown-content,
347
+ .dropdown:hover .dropdown-content {
348
+ display: block;
349
+ }
350
+ &[data-open='true'] .dropdown-content {
351
+ display: block;
352
+ }
353
+
354
+ /* ═══════════════════════════════════════════════
355
+ tabs
356
+ ═══════════════════════════════════════════════ */
357
+ .tabs {
358
+ display: flex;
359
+ border-bottom: 1px solid var(--border);
360
+ }
361
+ .tab {
362
+ padding: var(--tab-padding);
363
+ border-bottom: 2px solid transparent;
364
+ color: var(--text-secondary);
365
+ cursor: pointer;
366
+ transition: all var(--duration-2);
367
+ }
368
+ .tab:hover {
369
+ color: var(--text-primary);
370
+ }
371
+ .tab-active {
372
+ color: var(--brand);
373
+ border-bottom-color: var(--brand);
374
+ }
375
+
376
+ /* ═══════════════════════════════════════════════
377
+ Color variants — semantic token mapping (~300 lines)
378
+ ═══════════════════════════════════════════════ */
379
+
380
+ /* btn color variants */
381
+ .btn-success {
382
+ background: var(--success);
383
+ color: white;
384
+ }
385
+ .btn-success:hover {
386
+ background: color-mix(in srgb, var(--success) 80%, black);
387
+ }
388
+ .btn-warning {
389
+ background: var(--warning);
390
+ color: white;
391
+ }
392
+ .btn-warning:hover {
393
+ background: color-mix(in srgb, var(--warning) 80%, black);
394
+ }
395
+ .btn-error {
396
+ background: var(--error);
397
+ color: white;
398
+ }
399
+ .btn-error:hover {
400
+ background: color-mix(in srgb, var(--error) 80%, black);
401
+ }
402
+ .btn-info {
403
+ background: var(--info);
404
+ color: white;
405
+ }
406
+ .btn-info:hover {
407
+ background: color-mix(in srgb, var(--info) 80%, black);
408
+ }
409
+
410
+ /* badge color variants */
411
+ .badge-success {
412
+ background: var(--success-subtle);
413
+ color: var(--success);
414
+ }
415
+ .badge-warning {
416
+ background: var(--warning-subtle);
417
+ color: var(--warning);
418
+ }
419
+ .badge-error {
420
+ background: var(--error-subtle);
421
+ color: var(--error);
422
+ }
423
+ .badge-info {
424
+ background: var(--info-subtle);
425
+ color: var(--info);
426
+ }
427
+
428
+ /* alert color variants */
429
+ .alert-success {
430
+ background: var(--success-subtle);
431
+ color: var(--success);
432
+ border-color: var(--success-subtle);
433
+ }
434
+ .alert-warning {
435
+ background: var(--warning-subtle);
436
+ color: var(--warning);
437
+ border-color: var(--warning-subtle);
438
+ }
439
+ .alert-error {
440
+ background: var(--error-subtle);
441
+ color: var(--error);
442
+ border-color: var(--error-subtle);
443
+ }
444
+ .alert-info {
445
+ background: var(--info-subtle);
446
+ color: var(--info);
447
+ border-color: var(--info-subtle);
448
+ }
449
+
450
+ /* ═══════════════════════════════════════════════
451
+ Size system (~200 lines)
452
+ ═══════════════════════════════════════════════ */
453
+
454
+ /* btn sizes */
455
+ .btn-xs {
456
+ padding: var(--size-1) var(--size-2);
457
+ font-size: var(--font-size-00);
458
+ border-radius: var(--radius-1);
459
+ }
460
+ .btn-sm {
461
+ padding: var(--size-1) var(--size-3);
462
+ font-size: var(--font-size-00);
463
+ }
464
+ .btn-md {
465
+ padding: var(--btn-padding-y) var(--btn-padding-x);
466
+ font-size: var(--btn-font-size);
467
+ }
468
+ .btn-lg {
469
+ padding: var(--size-3) var(--size-6);
470
+ font-size: var(--font-size-2);
471
+ }
472
+
473
+ /* badge sizes */
474
+ .badge-xs {
475
+ padding: 0 var(--size-1);
476
+ font-size: 0.625rem;
477
+ }
478
+ .badge-sm {
479
+ padding: var(--badge-padding-y) var(--badge-padding-x);
480
+ font-size: var(--badge-font-size);
481
+ }
482
+ .badge-lg {
483
+ padding: var(--size-1) var(--size-3);
484
+ font-size: var(--font-size-0);
485
+ }
486
+
487
+ /* input sizes */
488
+ .input-xs {
489
+ padding: var(--size-1) var(--size-2);
490
+ font-size: var(--font-size-00);
491
+ }
492
+ .input-sm {
493
+ padding: var(--size-1) var(--size-2);
494
+ font-size: var(--font-size-00);
495
+ }
496
+ .input-md {
497
+ padding: var(--input-padding-y) var(--input-padding-x);
498
+ font-size: var(--input-font-size);
499
+ }
500
+ .input-lg {
501
+ padding: var(--size-3) var(--size-4);
502
+ font-size: var(--font-size-1);
503
+ }
504
+ .textarea-sm {
505
+ padding: var(--size-1) var(--size-2);
506
+ font-size: var(--font-size-00);
507
+ min-height: 4rem;
508
+ }
509
+ .textarea-lg {
510
+ padding: var(--size-3) var(--size-4);
511
+ font-size: var(--font-size-1);
512
+ min-height: 10rem;
513
+ }
514
+ .select-sm {
515
+ padding: var(--size-1) var(--size-2);
516
+ font-size: var(--font-size-00);
517
+ }
518
+ .select-lg {
519
+ padding: var(--size-3) var(--size-4);
520
+ font-size: var(--font-size-1);
521
+ }
522
+
523
+ /* card sizes */
524
+ .card-sm {
525
+ --card-padding: var(--size-4);
526
+ }
527
+ .card-sm .card-body {
528
+ padding: var(--card-padding);
529
+ }
530
+ .card-lg {
531
+ --card-padding: var(--size-8);
532
+ }
533
+ .card-lg .card-body {
534
+ padding: var(--card-padding);
535
+ }
536
+
537
+ /* alert sizes */
538
+ .alert-sm {
539
+ padding: var(--size-2) var(--size-3);
540
+ font-size: var(--font-size-00);
541
+ }
542
+ .alert-lg {
543
+ padding: var(--size-6);
544
+ }
545
+
546
+ /* modal sizes */
547
+ .modal-sm .modal-content {
548
+ max-width: 24rem;
549
+ }
550
+ .modal-lg .modal-content {
551
+ max-width: 48rem;
552
+ }
553
+
554
+ /* ═══════════════════════════════════════════════
555
+ Layout & display classes (~200 lines)
556
+ ═══════════════════════════════════════════════ */
557
+
558
+ /* table */
559
+ .table {
560
+ width: 100%;
561
+ border-collapse: collapse;
562
+ }
563
+ .table th, .table td {
564
+ padding: var(--size-3) var(--size-4);
565
+ text-align: left;
566
+ border-bottom: 1px solid var(--border);
567
+ }
568
+ .table th {
569
+ font-weight: var(--font-weight-6);
570
+ color: var(--text-secondary);
571
+ font-size: var(--font-size-00);
572
+ }
573
+ .table-zebra tbody tr:nth-child(odd) {
574
+ background: var(--bg-muted);
575
+ }
576
+
577
+ /* hero */
578
+ .hero {
579
+ display: flex;
580
+ flex-direction: column;
581
+ align-items: center;
582
+ justify-content: center;
583
+ text-align: center;
584
+ padding: var(--size-12) var(--size-6);
585
+ }
586
+ .hero-content {
587
+ max-width: 48rem;
588
+ }
589
+ .hero-title {
590
+ font-size: var(--font-size-6);
591
+ font-weight: var(--font-weight-8);
592
+ color: var(--text-primary);
593
+ line-height: var(--font-lineheight-1);
594
+ }
595
+ .hero-description {
596
+ font-size: var(--font-size-2);
597
+ color: var(--text-secondary);
598
+ margin-top: var(--size-4);
599
+ }
600
+
601
+ /* kbd */
602
+ .kbd {
603
+ display: inline-flex;
604
+ padding: var(--size-1) var(--size-2);
605
+ border-radius: var(--radius-1);
606
+ background: var(--bg-surface);
607
+ border: 1px solid var(--border);
608
+ font-family: var(--font-mono);
609
+ font-size: var(--font-size-00);
610
+ }
611
+
612
+ /* link */
613
+ .link {
614
+ color: var(--brand);
615
+ text-decoration: underline;
616
+ cursor: pointer;
617
+ }
618
+ .link:hover {
619
+ color: var(--brand-hover);
620
+ }
621
+
622
+ /* loading spinner */
623
+ .loading {
624
+ display: inline-block;
625
+ width: 1.5em;
626
+ height: 1.5em;
627
+ border: 2px solid var(--border);
628
+ border-top-color: var(--brand);
629
+ border-radius: 50%;
630
+ animation: spin var(--duration-2) var(--ease-3) infinite;
631
+ }
632
+ @keyframes spin {
633
+ to {
634
+ transform: rotate(360deg);
635
+ }
636
+ }
637
+ .loading-sm {
638
+ width: 1em;
639
+ height: 1em;
640
+ }
641
+ .loading-lg {
642
+ width: 2.5em;
643
+ height: 2.5em;
644
+ }
645
+
646
+ /* stats */
647
+ .stats {
648
+ display: flex;
649
+ flex-wrap: wrap;
650
+ }
651
+ .stat {
652
+ display: flex;
653
+ flex-direction: column;
654
+ padding: var(--size-4) var(--size-6);
655
+ border: 1px solid var(--border);
656
+ }
657
+ .stat-title {
658
+ font-size: var(--font-size-00);
659
+ color: var(--text-muted);
660
+ }
661
+ .stat-value {
662
+ font-size: var(--font-size-5);
663
+ font-weight: var(--font-weight-7);
664
+ color: var(--text-primary);
665
+ }
666
+ .stat-desc {
667
+ font-size: var(--font-size-00);
668
+ color: var(--text-secondary);
669
+ }
670
+
671
+ /* steps */
672
+ .steps {
673
+ display: flex;
674
+ }
675
+ .step {
676
+ display: flex;
677
+ align-items: center;
678
+ gap: var(--size-2);
679
+ color: var(--text-muted);
680
+ }
681
+ .step::before {
682
+ content: '';
683
+ width: 1.5rem;
684
+ height: 1.5rem;
685
+ border-radius: 50%;
686
+ border: 2px solid var(--border);
687
+ display: flex;
688
+ align-items: center;
689
+ justify-content: center;
690
+ font-size: var(--font-size-00);
691
+ }
692
+ .step-primary.step-active::before {
693
+ border-color: var(--brand);
694
+ background: var(--brand);
695
+ color: white;
696
+ }
697
+ .step-active {
698
+ color: var(--brand);
699
+ font-weight: var(--font-weight-6);
700
+ }
701
+
702
+ /* timeline */
703
+ .timeline {
704
+ display: flex;
705
+ flex-direction: column;
706
+ gap: var(--size-4);
707
+ padding-left: var(--size-6);
708
+ border-left: 2px solid var(--border);
709
+ }
710
+ .timeline-item {
711
+ position: relative;
712
+ }
713
+ .timeline-item::before {
714
+ content: '';
715
+ position: absolute;
716
+ left: calc(-1 * var(--size-6) - 5px);
717
+ top: var(--size-2);
718
+ width: 10px;
719
+ height: 10px;
720
+ border-radius: 50%;
721
+ background: var(--brand);
722
+ }
723
+ .timeline-title {
724
+ font-weight: var(--font-weight-6);
725
+ color: var(--text-primary);
726
+ }
727
+ .timeline-desc {
728
+ color: var(--text-secondary);
729
+ font-size: var(--font-size-0);
730
+ }
731
+
732
+ /* skeleton */
733
+ .skeleton {
734
+ background: linear-gradient(
735
+ 90deg,
736
+ var(--bg-hover) 25%,
737
+ var(--bg-surface) 50%,
738
+ var(--bg-hover) 75%
739
+ );
740
+ background-size: 200% 100%;
741
+ animation: shimmer 1.5s ease infinite;
742
+ border-radius: var(--radius-1);
743
+ }
744
+ @keyframes shimmer {
745
+ 0% {
746
+ background-position: 200% 0;
747
+ }
748
+ 100% {
749
+ background-position: -200% 0;
750
+ }
751
+ }
752
+ .skeleton-text {
753
+ height: 1em;
754
+ }
755
+ .skeleton-title {
756
+ height: 1.5em;
757
+ width: 60%;
758
+ }
759
+ .skeleton-avatar {
760
+ width: 3em;
761
+ height: 3em;
762
+ border-radius: 50%;
763
+ }
764
+ .skeleton-card {
765
+ height: 12em;
766
+ }
767
+ }
768
+ `);
769
+ export const daisyClassSheet = sheet;
770
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9vcGVuZWxlbWVudC9vcGVuZWxlbWVudC9wYWNrYWdlcy91aS9zcmMvZGFpc3ktY2xhc3Nlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBvcGVuZWxlbWVudC91aSAtIGRhaXN5VUkgZm9ya2VkIENTUyBjbGFzc2VzIChQdXJlIENTUywgT3BlbiBQcm9wcyB0b2tlbnMpXG4gKlxuICogSW5saW5lZCBhdCBidWlsZCB0aW1lIHNvIGNvbnN1bWVycyBkbyBub3QgbmVlZCB0byBzaGlwIGEgc2VwYXJhdGUgQ1NTIGFzc2V0XG4gKiBhbmQgU1NSIGJ1bmRsZXMgZG8gbm90IGRlcGVuZCBvbiBhIGZpbGUtc3lzdGVtIHBhdGggbmV4dCB0byBpbXBvcnQubWV0YS51cmwuXG4gKi9cblxuaW1wb3J0IHsgU3R5bGVTaGVldCwgdHlwZSBTdHlsZVNoZWV0TGlrZSB9IGZyb20gJ0BvcGVuZWxlbWVudC9jb3JlL3N0eWxlLXNoZWV0JztcblxuY29uc3Qgc2hlZXQ6IFN0eWxlU2hlZXRMaWtlID0gbmV3IFN0eWxlU2hlZXQoKTtcbnNoZWV0LnJlcGxhY2VTeW5jKGAvKipcbiAqIEBvcGVuZWxlbWVudC91aSAtIGRhaXN5VUkgZm9ya2VkIENTUyBjbGFzc2VzIChQdXJlIENTUywgT3BlbiBQcm9wcyB0b2tlbnMpXG4gKlxuICogRm9ya2VkIGRhaXN5VUkgY2xhc3Mgc2VtYW50aWNzIChidG4sIGNhcmQsIGJhZGdlLCBhbGVydCwgaW5wdXQsIG1vZGFsLCBtZW51LCBldGMuKVxuICogd2l0aCBUYWlsd2luZCB0b2tlbiBlbmdpbmUgcmVwbGFjZWQgYnkgT3BlbiBQcm9wcy5cbiAqXG4gKiBLZXkgcnVsZXM6XG4gKiAtIEFsbCBzZWxlY3RvcnMgdXNlIFxcYDpob3N0XFxgIHByZWZpeCAoRFNELWNvbXBhdGlibGUsIG5vdCBcXGA6cm9vdFxcYC9cXGBodG1sXFxgKVxuICogLSBBbGwgY29sb3JzL3NwYWNpbmcgdXNlIFxcYHZhcigtLSopXFxgIChPcGVuIFByb3BzIHRva2VucylcbiAqIC0gWmVybyBUYWlsd2luZCBzeW50YXggKG5vIFxcYEBhcHBseVxcYCwgXFxgdGhlbWUoKVxcYCwgXFxgcmdiKClcXGApXG4gKiAtIENsYXNzIG5hbWVzIHByZXNlcnZlIGRhaXN5VUkgc2VtYW50aWNzXG4gKi9cblxuOmhvc3Qge1xuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgYnRuIOKAlCBkYWlzeVVJIGJ0biBjbGFzcyBzZXRcbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zaXplLTIpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJ0bi1wYWRkaW5nLXkpIHZhcigtLWJ0bi1wYWRkaW5nLXgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnRuLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWJ0bi1mb250LXdlaWdodCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHZhcigtLWJ0bi10ZXh0LWNhc2UpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tZHVyYXRpb24tMikgdmFyKC0tZWFzZS0xKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5idG46aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kLWhvdmVyKTtcbiAgfVxuICAuYnRuOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1icmFuZCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuICAuYnRuOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAuYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1ob3Zlcik7XG4gIH1cbiAgLmJ0bi1naG9zdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXIpO1xuICB9XG4gIC5idG4tZ2hvc3Q6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgfVxuICAuYnRuLW91dGxpbmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZCk7XG4gIH1cbiAgLmJ0bi1vdXRsaW5lOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5idG4tc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMSkgdmFyKC0tc2l6ZS0zKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cbiAgLmJ0bi1sZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc2l6ZS0zKSB2YXIoLS1zaXplLTYpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIpO1xuICB9XG4gIC5idG4td2lkZSB7XG4gICAgbWluLXdpZHRoOiAxNnJlbTtcbiAgfVxuXG4gIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICBjYXJkXG4gICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuICAuY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNhcmQtcmFkaXVzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogdmFyKC0tY2FyZC1wYWRkaW5nKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zaXplLTQpO1xuICB9XG4gIC5jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtNik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIH1cbiAgLmNhcmQtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgYmFkZ2VcbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIC5iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1iYWRnZS1wYWRkaW5nLXkpIHZhcigtLWJhZGdlLXBhZGRpbmcteCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYmFkZ2UtcmFkaXVzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWJhZGdlLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgfVxuICAuYmFkZ2UtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAuYmFkZ2Utc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgfVxuICAuYmFkZ2Utd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS13YXJuaW5nKTtcbiAgfVxuICAuYmFkZ2UtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWVycm9yKTtcbiAgfVxuICAuYmFkZ2UtaW5mbyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW5mby1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1pbmZvKTtcbiAgfVxuICAuYmFkZ2Utb3V0bGluZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgYWxlcnRcbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIC5hbGVydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNpemUtMyk7XG4gICAgcGFkZGluZzogdmFyKC0tYWxlcnQtcGFkZGluZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWxlcnQtcmFkaXVzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYWxlcnQtaW5mbyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW5mby1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1pbmZvKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWluZm8tc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS13YXJuaW5nKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdhcm5pbmctc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWVycm9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLXN1YnRsZSk7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgaW5wdXQgLyB0ZXh0YXJlYSAvIHNlbGVjdFxuICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgLmlucHV0LCAudGV4dGFyZWEsIC5zZWxlY3Qge1xuICAgIHBhZGRpbmc6IHZhcigtLWlucHV0LXBhZGRpbmcteSkgdmFyKC0taW5wdXQtcGFkZGluZy14KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1pbnB1dC1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taW5wdXQtZm9udC1zaXplKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWVsZXZhdGVkKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1kdXJhdGlvbi0yKSB2YXIoLS1lYXNlLTEpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLmlucHV0OmZvY3VzLCAudGV4dGFyZWE6Zm9jdXMsIC5zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1icmFuZC1zdWJ0bGUpO1xuICB9XG4gIC5pbnB1dDpkaXNhYmxlZCwgLnRleHRhcmVhOmRpc2FibGVkLCAuc2VsZWN0OmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAuaW5wdXQtYm9yZGVyZWQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyKTtcbiAgfVxuICAudGV4dGFyZWEge1xuICAgIG1pbi1oZWlnaHQ6IDZyZW07XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuICAuaW5wdXQtc20sIC50ZXh0YXJlYS1zbSwgLnNlbGVjdC1zbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc2l6ZS0xKSB2YXIoLS1zaXplLTIpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTAwKTtcbiAgfVxuXG4gIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICBkaXZpZGVyXG4gICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuICAuZGl2aWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc2l6ZS00KTtcbiAgICBtYXJnaW46IHZhcigtLWRpdmlkZXItbWFyZ2luKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gIH1cbiAgLmRpdmlkZXI6OmJlZm9yZSwgLmRpdmlkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmbGV4OiAxO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRpdmlkZXItY29sb3IpO1xuICB9XG5cbiAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgIHRvb2x0aXBcbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIFtkYXRhLXRvb2x0aXBdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtMik7XG4gICAgcGFkZGluZzogdmFyKC0tdG9vbHRpcC1wYWRkaW5nKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS10b29sdGlwLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7XG4gICAgY29sb3I6IHZhcigtLXRvb2x0aXAtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi0yKSB2YXIoLS1lYXNlLTEpO1xuICB9XG4gIFtkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICBtb2RhbFxuICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgLm1vZGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cbiAgLm1vZGFsW29wZW5dIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLm1vZGFsLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tb3ZlcmxheSk7XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tb2RhbC1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbW9kYWwtcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1tb2RhbC1wYWRkaW5nKTtcbiAgICBtYXgtd2lkdGg6IDMycmVtO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTEpO1xuICB9XG5cbiAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgIG1lbnVcbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIC5tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLW1lbnUtcGFkZGluZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbWVudS1yYWRpdXMpO1xuICB9XG4gIC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNpemUtMik7XG4gICAgcGFkZGluZzogdmFyKC0tbWVudS1pdGVtLXBhZGRpbmcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy0xKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZHVyYXRpb24tMik7XG4gIH1cbiAgLm1lbnUtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICB9XG4gIC5tZW51LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZC1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZCk7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgZHJvcGRvd25cbiAgICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4gIC5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLXdpZHRoOiAxMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kcm9wZG93bi1iZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZHJvcGRvd24tcmFkaXVzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0xKTtcbiAgICB6LWluZGV4OiA1MDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTIpO1xuICB9XG4gIC5kcm9wZG93bjpmb2N1cy13aXRoaW4gLmRyb3Bkb3duLWNvbnRlbnQsXG4gIC5kcm9wZG93bjpob3ZlciAuZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJltkYXRhLW9wZW49J3RydWUnXSAuZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgdGFic1xuICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbiAgLnRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIH1cbiAgLnRhYiB7XG4gICAgcGFkZGluZzogdmFyKC0tdGFiLXBhZGRpbmcpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tZHVyYXRpb24tMik7XG4gIH1cbiAgLnRhYjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gIH1cbiAgLnRhYi1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tYnJhbmQpO1xuICB9XG5cbiAgLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICAgIENvbG9yIHZhcmlhbnRzIOKAlCBzZW1hbnRpYyB0b2tlbiBtYXBwaW5nICh+MzAwIGxpbmVzKVxuICAgICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cblxuICAvKiBidG4gY29sb3IgdmFyaWFudHMgKi9cbiAgLmJ0bi1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdWNjZXNzKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc3VjY2VzcykgODAlLCBibGFjayk7XG4gIH1cbiAgLmJ0bi13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13YXJuaW5nKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmJ0bi13YXJuaW5nOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0td2FybmluZykgODAlLCBibGFjayk7XG4gIH1cbiAgLmJ0bi1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZXJyb3IpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAuYnRuLWVycm9yOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tZXJyb3IpIDgwJSwgYmxhY2spO1xuICB9XG4gIC5idG4taW5mbyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0taW5mbyk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5idG4taW5mbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWluZm8pIDgwJSwgYmxhY2spO1xuICB9XG5cbiAgLyogYmFkZ2UgY29sb3IgdmFyaWFudHMgKi9cbiAgLmJhZGdlLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcyk7XG4gIH1cbiAgLmJhZGdlLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdhcm5pbmctc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0td2FybmluZyk7XG4gIH1cbiAgLmJhZGdlLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1lcnJvcik7XG4gIH1cbiAgLmJhZGdlLWluZm8ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWluZm8tc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0taW5mbyk7XG4gIH1cblxuICAvKiBhbGVydCBjb2xvciB2YXJpYW50cyAqL1xuICAuYWxlcnQtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3VjY2Vzcy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXN1Y2Nlc3Mtc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2FybmluZy1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS13YXJuaW5nKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXdhcm5pbmctc3VidGxlKTtcbiAgfVxuICAuYWxlcnQtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWVycm9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLXN1YnRsZSk7XG4gIH1cbiAgLmFsZXJ0LWluZm8ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWluZm8tc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0taW5mbyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbmZvLXN1YnRsZSk7XG4gIH1cblxuICAvKiDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbiAgICAgU2l6ZSBzeXN0ZW0gKH4yMDAgbGluZXMpXG4gICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuXG4gIC8qIGJ0biBzaXplcyAqL1xuICAuYnRuLXhzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTEpIHZhcigtLXNpemUtMik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy0xKTtcbiAgfVxuICAuYnRuLXNtIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTEpIHZhcigtLXNpemUtMyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMDApO1xuICB9XG4gIC5idG4tbWQge1xuICAgIHBhZGRpbmc6IHZhcigtLWJ0bi1wYWRkaW5nLXkpIHZhcigtLWJ0bi1wYWRkaW5nLXgpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYnRuLWZvbnQtc2l6ZSk7XG4gIH1cbiAgLmJ0bi1sZyB7XG4gICAgcGFkZGluZzogdmFyKC0tc2l6ZS0zKSB2YXIoLS1zaXplLTYpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIpO1xuICB9XG5cbiAgLyogYmFkZ2Ugc2l6ZXMgKi9cbiAgLmJhZGdlLXhzIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNpemUtMSk7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgfVxuICAuYmFkZ2Utc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLWJhZGdlLXBhZGRpbmcteSkgdmFyKC0tYmFkZ2UtcGFkZGluZy14KTtcbiAgICBmb250LXNpemU6IHZhcigtLWJhZGdlLWZvbnQtc2l6ZSk7XG4gIH1cbiAgLmJhZGdlLWxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTEpIHZhcigtLXNpemUtMyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMCk7XG4gIH1cblxuICAvKiBpbnB1dCBzaXplcyAqL1xuICAuaW5wdXQteHMge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMSkgdmFyKC0tc2l6ZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cbiAgLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTEpIHZhcigtLXNpemUtMik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMDApO1xuICB9XG4gIC5pbnB1dC1tZCB7XG4gICAgcGFkZGluZzogdmFyKC0taW5wdXQtcGFkZGluZy15KSB2YXIoLS1pbnB1dC1wYWRkaW5nLXgpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0taW5wdXQtZm9udC1zaXplKTtcbiAgfVxuICAuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMykgdmFyKC0tc2l6ZS00KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xKTtcbiAgfVxuICAudGV4dGFyZWEtc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMSkgdmFyKC0tc2l6ZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gICAgbWluLWhlaWdodDogNHJlbTtcbiAgfVxuICAudGV4dGFyZWEtbGcge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMykgdmFyKC0tc2l6ZS00KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xKTtcbiAgICBtaW4taGVpZ2h0OiAxMHJlbTtcbiAgfVxuICAuc2VsZWN0LXNtIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTEpIHZhcigtLXNpemUtMik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMDApO1xuICB9XG4gIC5zZWxlY3QtbGcge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMykgdmFyKC0tc2l6ZS00KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xKTtcbiAgfVxuXG4gIC8qIGNhcmQgc2l6ZXMgKi9cbiAgLmNhcmQtc20ge1xuICAgIC0tY2FyZC1wYWRkaW5nOiB2YXIoLS1zaXplLTQpO1xuICB9XG4gIC5jYXJkLXNtIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLWNhcmQtcGFkZGluZyk7XG4gIH1cbiAgLmNhcmQtbGcge1xuICAgIC0tY2FyZC1wYWRkaW5nOiB2YXIoLS1zaXplLTgpO1xuICB9XG4gIC5jYXJkLWxnIC5jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLWNhcmQtcGFkZGluZyk7XG4gIH1cblxuICAvKiBhbGVydCBzaXplcyAqL1xuICAuYWxlcnQtc20ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMikgdmFyKC0tc2l6ZS0zKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cbiAgLmFsZXJ0LWxnIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTYpO1xuICB9XG5cbiAgLyogbW9kYWwgc2l6ZXMgKi9cbiAgLm1vZGFsLXNtIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDI0cmVtO1xuICB9XG4gIC5tb2RhbC1sZyAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgfVxuXG4gIC8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgICBMYXlvdXQgJiBkaXNwbGF5IGNsYXNzZXMgKH4yMDAgbGluZXMpXG4gICAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuXG4gIC8qIHRhYmxlICovXG4gIC50YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuICAudGFibGUgdGgsIC50YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc2l6ZS0zKSB2YXIoLS1zaXplLTQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIH1cbiAgLnRhYmxlIHRoIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtNik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cbiAgLnRhYmxlLXplYnJhIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1tdXRlZCk7XG4gIH1cblxuICAvKiBoZXJvICovXG4gIC5oZXJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc2l6ZS0xMikgdmFyKC0tc2l6ZS02KTtcbiAgfVxuICAuaGVyby1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQ4cmVtO1xuICB9XG4gIC5oZXJvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS02KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtOCk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnQtbGluZWhlaWdodC0xKTtcbiAgfVxuICAuaGVyby1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLTQpO1xuICB9XG5cbiAgLyoga2JkICovXG4gIC5rYmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNpemUtMSkgdmFyKC0tc2l6ZS0yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtMSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cblxuICAvKiBsaW5rICovXG4gIC5saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAubGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWhvdmVyKTtcbiAgfVxuXG4gIC8qIGxvYWRpbmcgc3Bpbm5lciAqL1xuICAubG9hZGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYnJhbmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHNwaW4gdmFyKC0tZHVyYXRpb24tMikgdmFyKC0tZWFzZS0zKSBpbmZpbml0ZTtcbiAgfVxuICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG4gIC5sb2FkaW5nLXNtIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICB9XG4gIC5sb2FkaW5nLWxnIHtcbiAgICB3aWR0aDogMi41ZW07XG4gICAgaGVpZ2h0OiAyLjVlbTtcbiAgfVxuXG4gIC8qIHN0YXRzICovXG4gIC5zdGF0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnN0YXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zaXplLTQpIHZhcigtLXNpemUtNik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgfVxuICAuc3RhdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMDApO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgfVxuICAuc3RhdC12YWx1ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtNSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LTcpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICB9XG4gIC5zdGF0LWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTAwKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICB9XG5cbiAgLyogc3RlcHMgKi9cbiAgLnN0ZXBzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5zdGVwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zaXplLTIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgfVxuICAuc3RlcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0wMCk7XG4gIH1cbiAgLnN0ZXAtcHJpbWFyeS5zdGVwLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5zdGVwLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtNik7XG4gIH1cblxuICAvKiB0aW1lbGluZSAqL1xuICAudGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNpemUtNCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaXplLTYpO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgfVxuICAudGltZWxpbmUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC50aW1lbGluZS1pdGVtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tc2l6ZS02KSAtIDVweCk7XG4gICAgdG9wOiB2YXIoLS1zaXplLTIpO1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQpO1xuICB9XG4gIC50aW1lbGluZS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LTYpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICB9XG4gIC50aW1lbGluZS1kZXNjIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTApO1xuICB9XG5cbiAgLyogc2tlbGV0b24gKi9cbiAgLnNrZWxldG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICA5MGRlZyxcbiAgICAgIHZhcigtLWJnLWhvdmVyKSAyNSUsXG4gICAgICB2YXIoLS1iZy1zdXJmYWNlKSA1MCUsXG4gICAgICB2YXIoLS1iZy1ob3ZlcikgNzUlXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246IHNoaW1tZXIgMS41cyBlYXNlIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy0xKTtcbiAgfVxuICBAa2V5ZnJhbWVzIHNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuICAgIH1cbiAgfVxuICAuc2tlbGV0b24tdGV4dCB7XG4gICAgaGVpZ2h0OiAxZW07XG4gIH1cbiAgLnNrZWxldG9uLXRpdGxlIHtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLnNrZWxldG9uLWF2YXRhciB7XG4gICAgd2lkdGg6IDNlbTtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgLnNrZWxldG9uLWNhcmQge1xuICAgIGhlaWdodDogMTJlbTtcbiAgfVxufVxuYCk7XG5cbmV4cG9ydCBjb25zdCBkYWlzeUNsYXNzU2hlZXQ6IFN0eWxlU2hlZXRMaWtlID0gc2hlZXQ7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0NBS0MsR0FFRCxTQUFTLFVBQVUsUUFBNkIsZ0NBQWdDO0FBRWhGLE1BQU0sUUFBd0IsSUFBSTtBQUNsQyxNQUFNLFdBQVcsQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd3ZCbkIsQ0FBQztBQUVELE9BQU8sTUFBTSxrQkFBa0MsTUFBTSJ9