aizek-chatbot 1.0.15 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -4,39 +4,1470 @@ var react = require('react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var ReactMarkdown = require('react-markdown');
6
6
  var remarkGfm = require('remark-gfm');
7
- var Anthropic = require('@anthropic-ai/sdk');
8
- var client = require('@modelcontextprotocol/sdk/client');
9
- var sse_js = require('@modelcontextprotocol/sdk/client/sse.js');
10
7
 
11
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
9
 
13
10
  var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
14
11
  var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
15
- var Anthropic__default = /*#__PURE__*/_interopDefault(Anthropic);
16
-
17
- // src/services/chat-widget-api.ts
18
- var API_BASE_URL = "https://api-alpha.aizek.ai";
19
- var fetchChatWidgetSettings = async (clientId) => {
20
- try {
21
- const response = await fetch(`${API_BASE_URL}/ChatWidgetSettings/GetByClientId?client_id=${clientId}`, {
22
- method: "GET",
23
- headers: {
24
- "Content-Type": "application/json"
25
- }
26
- });
27
- if (!response.ok) {
28
- throw new Error(`HTTP error! status: ${response.status}`);
29
- }
30
- const data = await response.json();
31
- return data;
32
- } catch (error) {
33
- console.error("Error fetching chat widget settings:", error);
34
- throw error;
12
+
13
+ // src/styles/index.module.scss
14
+ var css = `@charset "UTF-8";
15
+ .message-container {
16
+ display: flex;
17
+ flex-direction: column;
18
+ width: 100%;
19
+ }
20
+ .message-container.user {
21
+ align-items: flex-end;
22
+ }
23
+ .message-container.assistant {
24
+ align-items: flex-start;
25
+ }
26
+
27
+ .message-bubble {
28
+ max-width: 80%;
29
+ padding: 12px 16px;
30
+ margin-bottom: 8px;
31
+ word-wrap: break-word;
32
+ line-height: 1.4;
33
+ font-size: 14px;
34
+ position: relative;
35
+ }
36
+ .message-bubble.user {
37
+ border-radius: 18px 18px 4px 18px;
38
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
39
+ color: #ffffff;
40
+ margin-left: auto;
41
+ margin-right: 0;
42
+ }
43
+ .message-bubble.assistant {
44
+ border-radius: 18px 18px 18px 4px;
45
+ background: #f8fafc;
46
+ color: #334155;
47
+ border: 1px solid #e2e8f0;
48
+ margin-left: 0;
49
+ margin-right: auto;
50
+ }
51
+ .message-bubble .message-typing-indicator {
52
+ display: inline-flex;
53
+ align-items: center;
54
+ margin-left: 8px;
55
+ }
56
+
57
+ .message-time {
58
+ font-size: 11px;
59
+ opacity: 0.7;
60
+ margin-top: 4px;
61
+ }
62
+
63
+ .message-time.user {
64
+ text-align: right;
65
+ }
66
+
67
+ .message-time.assistant {
68
+ text-align: left;
69
+ }
70
+
71
+ .markdown-content {
72
+ line-height: 1.6;
73
+ word-break: break-word;
74
+ }
75
+ .markdown-content + .generative-ui-container {
76
+ margin-top: 16px;
77
+ }
78
+ .markdown-content p {
79
+ margin: 0 0 12px 0;
80
+ line-height: 1.6;
81
+ }
82
+ .markdown-content p:last-child {
83
+ margin-bottom: 0;
84
+ }
85
+ .markdown-content p:first-child {
86
+ margin-top: 0;
87
+ }
88
+ .markdown-content a {
89
+ color: #667eea;
90
+ text-decoration: none;
91
+ transition: all 0.15s ease;
92
+ font-weight: 500;
93
+ border-bottom: 1px solid transparent;
94
+ }
95
+ .markdown-content a:hover {
96
+ color: #764ba2;
97
+ border-bottom-color: #764ba2;
98
+ }
99
+ .markdown-content ul,
100
+ .markdown-content ol {
101
+ margin: 12px 0;
102
+ padding-left: 20px;
103
+ }
104
+ .markdown-content ul {
105
+ list-style: none;
106
+ padding-left: 0;
107
+ }
108
+ .markdown-content ol {
109
+ list-style: decimal;
110
+ }
111
+ .markdown-content li {
112
+ margin-bottom: 8px;
113
+ line-height: 1.6;
114
+ position: relative;
115
+ padding-left: 20px;
116
+ }
117
+ .markdown-content li:last-child {
118
+ margin-bottom: 0;
119
+ }
120
+ .markdown-content li::before {
121
+ content: "\u2022";
122
+ position: absolute;
123
+ left: 0;
124
+ color: #667eea;
125
+ font-weight: bold;
126
+ font-size: 16px;
127
+ }
128
+ .markdown-content li ul,
129
+ .markdown-content li ol {
130
+ margin-top: 4px;
131
+ margin-bottom: 4px;
132
+ }
133
+ .markdown-content ol li {
134
+ padding-left: 0;
135
+ }
136
+ .markdown-content ol li::before {
137
+ content: none;
138
+ }
139
+ .markdown-content code {
140
+ background: rgba(102, 126, 234, 0.1);
141
+ color: #764ba2;
142
+ padding: 2px 6px;
143
+ border-radius: 4px;
144
+ font-family: "Monaco", "Menlo", "Ubuntu Mono", "Courier New", monospace;
145
+ font-size: 0.9em;
146
+ border: 1px solid rgba(102, 126, 234, 0.2);
147
+ }
148
+ .markdown-content pre {
149
+ background: #f8fafc;
150
+ padding: 12px 16px;
151
+ border-radius: 8px;
152
+ overflow-x: auto;
153
+ margin: 12px 0;
154
+ border: 1px solid #e2e8f0;
155
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
156
+ }
157
+ .markdown-content pre code {
158
+ background: none;
159
+ padding: 0;
160
+ border: none;
161
+ color: #1e293b;
162
+ font-size: 12px;
163
+ line-height: 1.5;
164
+ }
165
+ .markdown-content strong,
166
+ .markdown-content b {
167
+ font-weight: 600;
168
+ color: inherit;
169
+ }
170
+ .markdown-content em,
171
+ .markdown-content i {
172
+ font-style: italic;
173
+ }
174
+ .markdown-content h1,
175
+ .markdown-content h2,
176
+ .markdown-content h3,
177
+ .markdown-content h4,
178
+ .markdown-content h5,
179
+ .markdown-content h6 {
180
+ margin: 16px 0 8px 0;
181
+ font-weight: 600;
182
+ line-height: 1.4;
183
+ color: inherit;
184
+ }
185
+ .markdown-content h1:first-child,
186
+ .markdown-content h2:first-child,
187
+ .markdown-content h3:first-child,
188
+ .markdown-content h4:first-child,
189
+ .markdown-content h5:first-child,
190
+ .markdown-content h6:first-child {
191
+ margin-top: 0;
192
+ }
193
+ .markdown-content h1 {
194
+ font-size: 18px;
195
+ border-bottom: 2px solid #e2e8f0;
196
+ padding-bottom: 8px;
197
+ }
198
+ .markdown-content h2 {
199
+ font-size: 16px;
200
+ }
201
+ .markdown-content h3 {
202
+ font-size: 15px;
203
+ }
204
+ .markdown-content h4,
205
+ .markdown-content h5,
206
+ .markdown-content h6 {
207
+ font-size: 14px;
208
+ }
209
+ .markdown-content blockquote {
210
+ border-left: 3px solid #667eea;
211
+ padding-left: 12px;
212
+ margin: 12px 0;
213
+ color: inherit;
214
+ opacity: 0.9;
215
+ font-style: italic;
216
+ background: rgba(102, 126, 234, 0.05);
217
+ padding: 8px 12px;
218
+ border-radius: 0 4px 4px 0;
219
+ }
220
+ .markdown-content blockquote p {
221
+ margin: 0;
222
+ }
223
+ .markdown-content hr {
224
+ border: none;
225
+ border-top: 1px solid #e2e8f0;
226
+ margin: 16px 0;
227
+ }
228
+ .markdown-content table {
229
+ border-collapse: collapse;
230
+ width: 100%;
231
+ margin: 12px 0;
232
+ font-size: 12px;
233
+ border-radius: 8px;
234
+ overflow: hidden;
235
+ border: 1px solid #e2e8f0;
236
+ }
237
+ .markdown-content th,
238
+ .markdown-content td {
239
+ padding: 10px 12px;
240
+ text-align: left;
241
+ border-bottom: 1px solid #e2e8f0;
242
+ }
243
+ .markdown-content th {
244
+ background: #f1f5f9;
245
+ font-weight: 600;
246
+ color: #1e293b;
247
+ border-bottom: 2px solid #cbd5e1;
248
+ }
249
+ .markdown-content tr:last-child td {
250
+ border-bottom: none;
251
+ }
252
+ .markdown-content tbody tr {
253
+ transition: background-color 0.15s ease;
254
+ }
255
+ .markdown-content tbody tr:hover {
256
+ background-color: rgba(102, 126, 234, 0.05);
257
+ }
258
+ .markdown-content img {
259
+ max-width: 100%;
260
+ height: auto;
261
+ border-radius: 8px;
262
+ margin: 8px 0;
263
+ }
264
+ .markdown-content input[type=checkbox] {
265
+ margin-right: 6px;
266
+ }
267
+
268
+ .message-bubble.user .markdown-content {
269
+ color: #ffffff;
270
+ }
271
+ .message-bubble.user .markdown-content a {
272
+ color: #ffffff;
273
+ border-bottom-color: rgba(255, 255, 255, 0.4);
274
+ font-weight: 600;
275
+ }
276
+ .message-bubble.user .markdown-content a:hover {
277
+ border-bottom-color: #ffffff;
278
+ }
279
+ .message-bubble.user .markdown-content li::before {
280
+ color: #ffffff;
281
+ }
282
+ .message-bubble.user .markdown-content code {
283
+ background: rgba(255, 255, 255, 0.2);
284
+ color: #ffffff;
285
+ border-color: rgba(255, 255, 255, 0.3);
286
+ }
287
+ .message-bubble.user .markdown-content pre {
288
+ background: rgba(255, 255, 255, 0.1);
289
+ border-color: rgba(255, 255, 255, 0.2);
290
+ }
291
+ .message-bubble.user .markdown-content pre code {
292
+ color: #ffffff;
293
+ }
294
+ .message-bubble.user .markdown-content h1 {
295
+ border-bottom-color: rgba(255, 255, 255, 0.3);
296
+ }
297
+ .message-bubble.user .markdown-content blockquote {
298
+ border-left-color: #ffffff;
299
+ background: rgba(255, 255, 255, 0.1);
300
+ color: #ffffff;
301
+ }
302
+ .message-bubble.user .markdown-content hr {
303
+ border-top-color: rgba(255, 255, 255, 0.3);
304
+ }
305
+ .message-bubble.user .markdown-content table {
306
+ border-color: rgba(255, 255, 255, 0.3);
307
+ }
308
+ .message-bubble.user .markdown-content th,
309
+ .message-bubble.user .markdown-content td {
310
+ border-bottom-color: rgba(255, 255, 255, 0.2);
311
+ }
312
+ .message-bubble.user .markdown-content th {
313
+ background: rgba(255, 255, 255, 0.15);
314
+ color: #ffffff;
315
+ border-bottom-color: rgba(255, 255, 255, 0.3);
316
+ }
317
+ .message-bubble.user .markdown-content tbody tr:hover {
318
+ background-color: rgba(255, 255, 255, 0.1);
319
+ }
320
+
321
+ .message-bubble.assistant .markdown-content {
322
+ color: #334155;
323
+ }
324
+ .message-bubble.assistant .markdown-content a {
325
+ color: #667eea;
326
+ }
327
+ .message-bubble.assistant .markdown-content a:hover {
328
+ color: #764ba2;
329
+ }
330
+ .message-bubble.assistant .markdown-content li::before {
331
+ color: #667eea;
332
+ }
333
+ .message-bubble.assistant .markdown-content code {
334
+ background: rgba(102, 126, 234, 0.1);
335
+ color: #764ba2;
336
+ border-color: rgba(102, 126, 234, 0.2);
337
+ }
338
+ .message-bubble.assistant .markdown-content pre {
339
+ background: #ffffff;
340
+ border-color: #e2e8f0;
341
+ }
342
+ .message-bubble.assistant .markdown-content pre code {
343
+ color: #1e293b;
344
+ }
345
+ .message-bubble.assistant .markdown-content h1,
346
+ .message-bubble.assistant .markdown-content h2,
347
+ .message-bubble.assistant .markdown-content h3,
348
+ .message-bubble.assistant .markdown-content h4,
349
+ .message-bubble.assistant .markdown-content h5,
350
+ .message-bubble.assistant .markdown-content h6 {
351
+ color: #1e293b;
352
+ }
353
+ .message-bubble.assistant .markdown-content h1 {
354
+ border-bottom-color: #e2e8f0;
355
+ }
356
+ .message-bubble.assistant .markdown-content strong,
357
+ .message-bubble.assistant .markdown-content b {
358
+ color: #0f172a;
359
+ }
360
+ .message-bubble.assistant .markdown-content blockquote {
361
+ border-left-color: #667eea;
362
+ background: rgba(102, 126, 234, 0.05);
363
+ color: #334155;
364
+ }
365
+ .message-bubble.assistant .markdown-content th {
366
+ background: #f1f5f9;
367
+ color: #1e293b;
368
+ }
369
+ .message-bubble.assistant .markdown-content tbody tr:hover {
370
+ background-color: rgba(102, 126, 234, 0.05);
371
+ }
372
+
373
+ .input-container {
374
+ display: flex;
375
+ align-items: flex-end;
376
+ gap: 12px;
377
+ padding: 16px;
378
+ background: #ffffff;
379
+ border-top: 1px solid #e2e8f0;
380
+ border-radius: 0 0 12px 12px;
381
+ }
382
+
383
+ .textarea {
384
+ flex: 1;
385
+ min-height: 44px;
386
+ max-height: 120px;
387
+ padding: 12px 16px;
388
+ border: 1px solid #e2e8f0;
389
+ border-radius: 22px;
390
+ font-size: 14px;
391
+ line-height: 1.4;
392
+ resize: none;
393
+ outline: none;
394
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
395
+ font-family: inherit;
396
+ background: #f8fafc;
397
+ color: #334155;
398
+ }
399
+ .textarea:disabled {
400
+ opacity: 0.6;
401
+ cursor: not-allowed;
402
+ }
403
+ .textarea:focus:not(:disabled) {
404
+ border-color: #3b82f6;
405
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
406
+ }
407
+
408
+ .send-button {
409
+ width: 44px;
410
+ height: 44px;
411
+ border-radius: 50%;
412
+ border: none;
413
+ color: #ffffff;
414
+ cursor: pointer;
415
+ display: flex;
416
+ align-items: center;
417
+ justify-content: center;
418
+ transition: all 0.2s ease;
419
+ font-size: 16px;
420
+ }
421
+ .send-button:disabled {
422
+ background: #e2e8f0;
423
+ cursor: not-allowed;
424
+ }
425
+ .send-button:not(:disabled) {
426
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
427
+ }
428
+ .send-button:not(:disabled):hover {
429
+ transform: scale(1.05);
430
+ }
431
+
432
+ .header {
433
+ padding: 16px 20px;
434
+ color: #ffffff;
435
+ display: flex;
436
+ align-items: center;
437
+ gap: 12px;
438
+ }
439
+
440
+ .logo-container {
441
+ width: 40px;
442
+ height: 40px;
443
+ border-radius: 50%;
444
+ background: rgba(255, 255, 255, 0.2);
445
+ display: flex;
446
+ align-items: center;
447
+ justify-content: center;
448
+ font-size: 18px;
449
+ overflow: hidden;
450
+ }
451
+
452
+ .logo-image {
453
+ width: 100%;
454
+ height: 100%;
455
+ object-fit: cover;
456
+ border-radius: 50%;
457
+ }
458
+
459
+ .logo-text {
460
+ font-size: 16px;
461
+ font-weight: bold;
462
+ }
463
+
464
+ .company-name {
465
+ margin: 0;
466
+ font-size: 16px;
467
+ font-weight: 600;
468
+ }
469
+
470
+ .status-text {
471
+ margin: 0;
472
+ font-size: 12px;
473
+ opacity: 0.8;
474
+ }
475
+
476
+ .button-sizes.small {
477
+ width: 50px;
478
+ height: 50px;
479
+ font-size: 20px;
480
+ }
481
+ .button-sizes.medium {
482
+ width: 60px;
483
+ height: 60px;
484
+ font-size: 24px;
485
+ }
486
+ .button-sizes.large {
487
+ width: 70px;
488
+ height: 70px;
489
+ font-size: 28px;
490
+ }
491
+
492
+ .floating-button {
493
+ position: fixed;
494
+ bottom: 20px;
495
+ border-radius: 50%;
496
+ border: none;
497
+ color: #ffffff;
498
+ cursor: pointer;
499
+ display: flex;
500
+ align-items: center;
501
+ justify-content: center;
502
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
503
+ transition: all 0.3s ease;
504
+ z-index: 1000;
505
+ }
506
+ .floating-button.bottom-left {
507
+ left: 20px;
508
+ }
509
+ .floating-button.bottom-right {
510
+ right: 20px;
511
+ }
512
+ .floating-button.is-open {
513
+ transform: scale(0.9);
514
+ }
515
+ .floating-button:hover {
516
+ box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
517
+ }
518
+
519
+ .chat-container {
520
+ position: fixed;
521
+ bottom: 90px;
522
+ z-index: 9999999;
523
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
524
+ }
525
+ .chat-container.bottom-left {
526
+ left: 20px;
527
+ transform-origin: bottom left;
528
+ }
529
+ .chat-container.bottom-right {
530
+ right: 20px;
531
+ transform-origin: bottom right;
532
+ }
533
+ .chat-container.is-open {
534
+ transform: translateY(0) scale(1);
535
+ opacity: 1;
536
+ visibility: visible;
537
+ }
538
+ .chat-container:not(.is-open) {
539
+ transform: translateY(20px) scale(0.95);
540
+ opacity: 0;
541
+ visibility: hidden;
542
+ }
543
+
544
+ .overlay {
545
+ position: fixed;
546
+ top: 0;
547
+ left: 0;
548
+ right: 0;
549
+ bottom: 0;
550
+ background: rgba(0, 0, 0, 0.1);
551
+ z-index: 998;
552
+ transition: all 0.3s ease;
553
+ }
554
+ .overlay.is-open {
555
+ opacity: 1;
556
+ visibility: visible;
557
+ }
558
+ .overlay:not(.is-open) {
559
+ opacity: 0;
560
+ visibility: hidden;
561
+ }
562
+
563
+ .chatbot-container {
564
+ display: flex;
565
+ flex-direction: column;
566
+ height: 100%;
567
+ background: #ffffff;
568
+ border-radius: 12px;
569
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
570
+ border: 1px solid #e2e8f0;
571
+ overflow: hidden;
572
+ }
573
+
574
+ .messages-container {
575
+ flex: 1;
576
+ overflow-y: auto;
577
+ padding: 16px;
578
+ display: flex;
579
+ flex-direction: column;
580
+ gap: 4px;
581
+ background: #f8fafc;
582
+ }
583
+
584
+ .empty-state {
585
+ display: flex;
586
+ flex-direction: column;
587
+ align-items: center;
588
+ justify-content: center;
589
+ height: 100%;
590
+ color: #64748b;
591
+ text-align: center;
592
+ padding: 40px 20px;
593
+ }
594
+ .empty-state .empty-state-icon {
595
+ font-size: 48px;
596
+ margin-bottom: 16px;
597
+ }
598
+ .empty-state .empty-state-title {
599
+ margin: 0 0 8px 0;
600
+ font-size: 18px;
601
+ }
602
+ .empty-state .empty-state-description {
603
+ margin: 0;
604
+ font-size: 14px;
605
+ opacity: 0.8;
606
+ }
607
+
608
+ @keyframes spin {
609
+ from {
610
+ transform: rotate(0deg);
35
611
  }
36
- };
612
+ to {
613
+ transform: rotate(360deg);
614
+ }
615
+ }
616
+ .loading-spinner {
617
+ width: 16px;
618
+ height: 16px;
619
+ border: 2px solid transparent;
620
+ border-top: 2px solid currentColor;
621
+ border-radius: 50%;
622
+ animation: spin 1s linear infinite;
623
+ }
624
+
625
+ @keyframes slideDown {
626
+ from {
627
+ opacity: 0;
628
+ transform: translateY(-10px);
629
+ }
630
+ to {
631
+ opacity: 1;
632
+ transform: translateY(0);
633
+ }
634
+ }
635
+ .alert-container {
636
+ border-radius: 12px;
637
+ padding: 14px 16px;
638
+ margin: 12px 16px;
639
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
640
+ color: #ffffff;
641
+ font-size: 13px;
642
+ display: flex;
643
+ align-items: flex-start;
644
+ gap: 12px;
645
+ position: relative;
646
+ animation: slideDown 0.3s ease ease-out;
647
+ }
648
+ .alert-container.error {
649
+ background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
650
+ border: 1px solid #dc2626;
651
+ box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
652
+ }
653
+ .alert-container.warning {
654
+ background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
655
+ border: 1px solid #d97706;
656
+ box-shadow: 0 4px 12px rgba(245, 158, 11, 0.2);
657
+ }
658
+ .alert-container.success {
659
+ background: linear-gradient(135deg, #10b981 0%, #059669 100%);
660
+ border: 1px solid #059669;
661
+ box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
662
+ }
663
+
664
+ .alert-icon-container {
665
+ display: flex;
666
+ align-items: center;
667
+ justify-content: center;
668
+ width: 24px;
669
+ height: 24px;
670
+ flex-shrink: 0;
671
+ margin-top: 2px;
672
+ }
673
+
674
+ .alert-content {
675
+ flex: 1;
676
+ display: flex;
677
+ flex-direction: column;
678
+ gap: 8px;
679
+ }
680
+
681
+ .alert-title {
682
+ font-weight: 600;
683
+ font-size: 14px;
684
+ margin: 0;
685
+ line-height: 1.4;
686
+ }
687
+
688
+ .alert-message {
689
+ margin: 0;
690
+ line-height: 1.5;
691
+ opacity: 0.95;
692
+ }
693
+
694
+ .alert-list {
695
+ margin: 8px 0 0 0;
696
+ padding-left: 20px;
697
+ list-style: none;
698
+ }
699
+
700
+ .alert-list-item {
701
+ margin-bottom: 4px;
702
+ position: relative;
703
+ padding-left: 12px;
704
+ line-height: 1.4;
705
+ }
706
+ .alert-list-item li > span {
707
+ position: "absolute";
708
+ left: 0;
709
+ top: 2px;
710
+ font-weight: bold;
711
+ }
712
+ .alert-list-item li > code {
713
+ background: rgba(255, 255, 255, 0.2);
714
+ padding: 2px 6px;
715
+ border-radius: 4px;
716
+ font-size: 12px;
717
+ }
718
+
719
+ .alert-close-button {
720
+ position: absolute;
721
+ top: 12px;
722
+ right: 12px;
723
+ background: rgba(255, 255, 255, 0.2);
724
+ border: none;
725
+ border-radius: 6px;
726
+ width: 24px;
727
+ height: 24px;
728
+ display: flex;
729
+ align-items: center;
730
+ justify-content: center;
731
+ cursor: pointer;
732
+ color: #ffffff;
733
+ transition: all 0.2s ease;
734
+ padding: 0;
735
+ }
736
+ .alert-close-button:hover {
737
+ background: rgba(255, 255, 255, 0.3);
738
+ }
739
+
740
+ .ui-renderer {
741
+ display: flex;
742
+ flex-direction: column;
743
+ gap: 16px;
744
+ width: 100%;
745
+ }
746
+
747
+ .form-component {
748
+ width: 100%;
749
+ max-width: 500px;
750
+ border: 1px solid #e0e0e0;
751
+ border-radius: 12px;
752
+ padding: 24px;
753
+ background-color: #ffffff;
754
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
755
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
756
+ }
757
+
758
+ .form-title {
759
+ font-weight: 600;
760
+ font-size: 16px;
761
+ margin-bottom: 20px;
762
+ color: #1a1a1a;
763
+ margin-top: 0;
764
+ }
765
+
766
+ .form-fields {
767
+ display: flex;
768
+ flex-direction: column;
769
+ gap: 20px;
770
+ }
771
+
772
+ .form-field {
773
+ display: flex;
774
+ flex-direction: column;
775
+ gap: 8px;
776
+ }
777
+
778
+ .form-label {
779
+ font-weight: 500;
780
+ font-size: 13px;
781
+ color: #475569;
782
+ display: flex;
783
+ align-items: center;
784
+ gap: 4px;
785
+ }
786
+ .form-label span {
787
+ color: #ef4444;
788
+ font-size: 12px;
789
+ }
790
+
791
+ .form-input,
792
+ .form-select {
793
+ border: 1px solid #d1d5db;
794
+ border-radius: 8px;
795
+ padding: 10px 12px;
796
+ font-size: 13px;
797
+ color: #1a1a1a;
798
+ background-color: #ffffff;
799
+ font-family: inherit;
800
+ outline: none;
801
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
802
+ cursor: pointer;
803
+ }
804
+ .form-input:focus,
805
+ .form-select:focus {
806
+ border-color: #3b82f6;
807
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
808
+ }
809
+
810
+ .form-select {
811
+ cursor: pointer;
812
+ }
813
+
814
+ .form-submit-button {
815
+ margin-top: 24px;
816
+ display: inline-flex;
817
+ align-items: center;
818
+ justify-content: center;
819
+ border-radius: 8px;
820
+ padding: 12px 24px;
821
+ font-size: 13px;
822
+ font-weight: 500;
823
+ background-color: #3b82f6;
824
+ color: #ffffff;
825
+ border: none;
826
+ cursor: pointer;
827
+ transition: background-color 0.15s ease, transform 0.1s ease;
828
+ font-family: inherit;
829
+ }
830
+ .form-submit-button:hover {
831
+ background-color: #2563eb;
832
+ }
833
+ .form-submit-button:active {
834
+ transform: scale(0.98);
835
+ }
836
+
837
+ .buttons-component {
838
+ display: flex;
839
+ gap: 12px;
840
+ flex-wrap: wrap;
841
+ }
842
+
843
+ .button-component {
844
+ border-radius: 8px;
845
+ padding: 10px 20px;
846
+ font-size: 13px;
847
+ font-weight: 500;
848
+ border: 1px solid #e0e0e0;
849
+ background-color: #ffffff;
850
+ color: #475569;
851
+ cursor: pointer;
852
+ transition: all 0.15s ease;
853
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
854
+ outline: none;
855
+ }
856
+ .button-component.primary {
857
+ background-color: #3b82f6;
858
+ color: #ffffff;
859
+ border-color: #3b82f6;
860
+ }
861
+ .button-component.primary:hover {
862
+ background-color: #2563eb;
863
+ border-color: #2563eb;
864
+ }
865
+ .button-component.secondary {
866
+ background-color: #f3f4f6;
867
+ color: #475569;
868
+ border-color: #d1d5db;
869
+ }
870
+ .button-component.secondary:hover {
871
+ background-color: #e5e7eb;
872
+ border-color: #9ca3af;
873
+ }
874
+ .button-component.danger {
875
+ background-color: #ef4444;
876
+ color: #ffffff;
877
+ border-color: #ef4444;
878
+ }
879
+ .button-component.danger:hover {
880
+ background-color: #dc2626;
881
+ border-color: #dc2626;
882
+ }
883
+ .button-component:not(.primary):not(.secondary):not(.danger):hover {
884
+ background-color: #f9fafb;
885
+ border-color: #d1d5db;
886
+ }
887
+ .button-component:active {
888
+ transform: scale(0.97);
889
+ }
890
+
891
+ .table-component {
892
+ border: 1px solid #e0e0e0;
893
+ border-radius: 12px;
894
+ overflow: hidden;
895
+ font-size: 13px;
896
+ background-color: #ffffff;
897
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
898
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
899
+ }
900
+
901
+ .table-caption {
902
+ padding: 16px 20px;
903
+ font-weight: 600;
904
+ font-size: 14px;
905
+ border-bottom: 1px solid #e0e0e0;
906
+ background-color: #f8f9fa;
907
+ color: #1a1a1a;
908
+ }
909
+
910
+ .table-wrapper {
911
+ overflow-x: auto;
912
+ }
913
+
914
+ .table {
915
+ width: 100%;
916
+ border-collapse: collapse;
917
+ min-width: 100%;
918
+ }
919
+
920
+ .table-header {
921
+ background-color: #f8f9fa;
922
+ }
923
+
924
+ .table-th {
925
+ border-bottom: 2px solid #e0e0e0;
926
+ padding: 14px 20px;
927
+ text-align: left;
928
+ font-weight: 600;
929
+ font-size: 12px;
930
+ color: #4a5568;
931
+ text-transform: uppercase;
932
+ letter-spacing: 0.5px;
933
+ white-space: nowrap;
934
+ }
935
+
936
+ .table-tbody tr {
937
+ background-color: #ffffff;
938
+ transition: background-color 0.15s ease;
939
+ }
940
+ .table-tbody tr:nth-child(even) {
941
+ background-color: #fafbfc;
942
+ }
943
+ .table-tbody tr:hover {
944
+ background-color: #f0f4f8;
945
+ }
946
+
947
+ .table-td {
948
+ border-bottom: 1px solid #e8e8e8;
949
+ padding: 16px 20px;
950
+ font-size: 13px;
951
+ vertical-align: middle;
952
+ }
953
+ .table-td > span {
954
+ color: #a0a0a0;
955
+ font-style: italic;
956
+ }
957
+
958
+ .table-cell-image {
959
+ display: flex;
960
+ align-items: center;
961
+ }
962
+
963
+ .table-image {
964
+ width: 40px;
965
+ height: 40px;
966
+ border-radius: 8px;
967
+ object-fit: cover;
968
+ border: 1px solid #e0e0e0;
969
+ }
970
+
971
+ .table-cell-text {
972
+ color: #2d3748;
973
+ line-height: 1.5;
974
+ }
975
+
976
+ .table-empty {
977
+ padding: 40px;
978
+ text-align: center;
979
+ color: #9ca3af;
980
+ font-size: 13px;
981
+ }
982
+
983
+ .card-component {
984
+ border: 1px solid #e5e7eb;
985
+ border-radius: 16px;
986
+ padding: 16px;
987
+ background-color: #ffffff;
988
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
989
+ overflow: hidden;
990
+ margin-bottom: 12px;
991
+ }
992
+
993
+ .card-content {
994
+ display: flex;
995
+ gap: 12px;
996
+ }
997
+
998
+ .card-image {
999
+ width: 64px;
1000
+ height: 64px;
1001
+ border-radius: 8px;
1002
+ object-fit: cover;
1003
+ flex-shrink: 0;
1004
+ }
1005
+
1006
+ .card-info {
1007
+ flex: 1;
1008
+ min-width: 0;
1009
+ }
1010
+
1011
+ .card-title {
1012
+ font-weight: 600;
1013
+ font-size: 14px;
1014
+ margin-bottom: 8px;
1015
+ overflow: hidden;
1016
+ text-overflow: ellipsis;
1017
+ white-space: nowrap;
1018
+ }
1019
+
1020
+ .card-subtitle {
1021
+ color: #64748b;
1022
+ font-size: 12px;
1023
+ margin-bottom: 4px;
1024
+ margin: 0;
1025
+ }
1026
+
1027
+ .card-status {
1028
+ display: flex;
1029
+ gap: 8px;
1030
+ font-size: 12px;
1031
+ margin-bottom: 4px;
1032
+ }
1033
+
1034
+ .card-status-label {
1035
+ color: #64748b;
1036
+ font-weight: 500;
1037
+ }
1038
+
1039
+ .card-status-value {
1040
+ color: #475569;
1041
+ }
1042
+
1043
+ .card-fields {
1044
+ display: flex;
1045
+ flex-direction: column;
1046
+ gap: 4px;
1047
+ }
1048
+
1049
+ .card-field {
1050
+ display: flex;
1051
+ gap: 8px;
1052
+ font-size: 12px;
1053
+ }
1054
+
1055
+ .card-field-label {
1056
+ color: #64748b;
1057
+ font-weight: 500;
1058
+ }
1059
+
1060
+ .card-field-value {
1061
+ color: #475569;
1062
+ }
1063
+
1064
+ .card-description {
1065
+ color: #64748b;
1066
+ font-size: 12px;
1067
+ margin-top: 8px;
1068
+ margin: 0;
1069
+ }
1070
+
1071
+ .card-list {
1072
+ width: 100%;
1073
+ }
1074
+
1075
+ .card-list-title {
1076
+ font-weight: 600;
1077
+ margin-bottom: 12px;
1078
+ font-size: 14px;
1079
+ color: #1a1a1a;
1080
+ margin-top: 0;
1081
+ }
1082
+
1083
+ .card-list-description {
1084
+ color: #64748b;
1085
+ margin-bottom: 12px;
1086
+ font-size: 12px;
1087
+ margin-top: 0;
1088
+ }
1089
+
1090
+ .card-grid {
1091
+ display: grid;
1092
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1093
+ gap: 12px;
1094
+ }
1095
+
1096
+ .card-item {
1097
+ font-size: 12px;
1098
+ border: 1px solid #e0e0e0;
1099
+ border-radius: 12px;
1100
+ padding: 16px;
1101
+ background-color: #ffffff;
1102
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1103
+ overflow: hidden;
1104
+ }
1105
+
1106
+ .card-item-content {
1107
+ display: flex;
1108
+ gap: 12px;
1109
+ }
1110
+
1111
+ .card-item-image {
1112
+ width: 64px;
1113
+ height: 64px;
1114
+ border-radius: 8px;
1115
+ object-fit: cover;
1116
+ flex-shrink: 0;
1117
+ }
1118
+
1119
+ .card-item-info {
1120
+ flex: 1;
1121
+ min-width: 0;
1122
+ }
1123
+
1124
+ .card-item-title {
1125
+ font-weight: 600;
1126
+ font-size: 14px;
1127
+ margin-bottom: 4px;
1128
+ overflow: hidden;
1129
+ text-overflow: ellipsis;
1130
+ white-space: nowrap;
1131
+ color: #1a1a1a;
1132
+ margin-top: 0;
1133
+ }
1134
+
1135
+ .card-item-subtitle {
1136
+ color: #64748b;
1137
+ font-size: 12px;
1138
+ margin: 0;
1139
+ }
1140
+
1141
+ .card-item-legacy {
1142
+ display: flex;
1143
+ justify-content: space-between;
1144
+ gap: 8px;
1145
+ font-size: 12px;
1146
+ }
1147
+
1148
+ .card-item-legacy-label {
1149
+ color: #64748b;
1150
+ margin: 0;
1151
+ }
1152
+
1153
+ .card-item-legacy-value {
1154
+ font-weight: 500;
1155
+ color: #1a1a1a;
1156
+ margin: 0;
1157
+ }
1158
+
1159
+ .field-image {
1160
+ width: 24px;
1161
+ height: 24px;
1162
+ border-radius: 999px;
1163
+ object-fit: cover;
1164
+ }
1165
+
1166
+ .field-link {
1167
+ text-decoration: underline;
1168
+ }
1169
+
1170
+ .field-badge {
1171
+ display: inline-block;
1172
+ padding: 2px 6px;
1173
+ border-radius: 999px;
1174
+ font-size: 10px;
1175
+ font-weight: 500;
1176
+ }
1177
+ .field-badge.success {
1178
+ background-color: #e0fce5;
1179
+ color: #1a7f36;
1180
+ }
1181
+ .field-badge.warning {
1182
+ background-color: #fff7d6;
1183
+ color: #8a6a00;
1184
+ }
1185
+ .field-badge.danger {
1186
+ background-color: #ffe4e4;
1187
+ color: #b42318;
1188
+ }
1189
+ .field-badge:not(.success):not(.warning):not(.danger) {
1190
+ background-color: #f2f2f2;
1191
+ color: #333;
1192
+ }
1193
+
1194
+ .field-list {
1195
+ margin: 0;
1196
+ padding-left: 16px;
1197
+ }
1198
+
1199
+ .generative-ui-container {
1200
+ display: flex;
1201
+ flex-direction: column;
1202
+ gap: 16px;
1203
+ width: 100%;
1204
+ }
1205
+
1206
+ .generative-ui-header {
1207
+ margin-bottom: 12px;
1208
+ }
1209
+
1210
+ .generative-ui-title {
1211
+ font-size: 18px;
1212
+ font-weight: 600;
1213
+ color: #0f172a;
1214
+ margin: 0 0 8px 0;
1215
+ }
1216
+
1217
+ .generative-ui-description {
1218
+ font-size: 14px;
1219
+ color: #475569;
1220
+ margin: 0;
1221
+ line-height: 1.5;
1222
+ }
1223
+
1224
+ .gen-ui-text {
1225
+ font-size: 13px;
1226
+ color: #1e293b;
1227
+ line-height: 1.6;
1228
+ margin: 0;
1229
+ }
1230
+
1231
+ .gen-ui-input-wrapper {
1232
+ display: flex;
1233
+ flex-direction: column;
1234
+ gap: 8px;
1235
+ }
1236
+
1237
+ .gen-ui-input-label {
1238
+ font-size: 12px;
1239
+ font-weight: 500;
1240
+ color: #334155;
1241
+ margin: 0;
1242
+ }
1243
+
1244
+ .gen-ui-input,
1245
+ .gen-ui-textarea {
1246
+ width: 100%;
1247
+ padding: 10px 12px;
1248
+ border: 1px solid #cbd5e1;
1249
+ border-radius: 8px;
1250
+ font-size: 13px;
1251
+ color: #0f172a;
1252
+ background-color: #ffffff;
1253
+ outline: none;
1254
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1255
+ font-family: inherit;
1256
+ }
1257
+ .gen-ui-input::placeholder,
1258
+ .gen-ui-textarea::placeholder {
1259
+ color: #94a3b8;
1260
+ }
1261
+ .gen-ui-input:focus,
1262
+ .gen-ui-textarea:focus {
1263
+ border-color: #3b82f6;
1264
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1265
+ }
1266
+ .gen-ui-input:disabled,
1267
+ .gen-ui-textarea:disabled {
1268
+ background-color: #f1f5f9;
1269
+ cursor: not-allowed;
1270
+ opacity: 0.6;
1271
+ }
1272
+
1273
+ .gen-ui-textarea {
1274
+ min-height: 80px;
1275
+ resize: vertical;
1276
+ }
1277
+
1278
+ .gen-ui-select-wrapper {
1279
+ display: flex;
1280
+ flex-direction: column;
1281
+ gap: 8px;
1282
+ }
1283
+
1284
+ .gen-ui-select-label {
1285
+ font-size: 12px;
1286
+ font-weight: 500;
1287
+ color: #334155;
1288
+ margin: 0;
1289
+ }
1290
+
1291
+ .gen-ui-select {
1292
+ width: 100%;
1293
+ padding: 10px 12px;
1294
+ border: 1px solid #cbd5e1;
1295
+ border-radius: 8px;
1296
+ font-size: 13px;
1297
+ color: #0f172a;
1298
+ background-color: #ffffff;
1299
+ outline: none;
1300
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
1301
+ cursor: pointer;
1302
+ font-family: inherit;
1303
+ }
1304
+ .gen-ui-select:focus {
1305
+ border-color: #3b82f6;
1306
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
1307
+ }
1308
+ .gen-ui-select:disabled {
1309
+ background-color: #f1f5f9;
1310
+ cursor: not-allowed;
1311
+ opacity: 0.6;
1312
+ }
1313
+
1314
+ .gen-ui-button {
1315
+ display: inline-flex;
1316
+ align-items: center;
1317
+ justify-content: center;
1318
+ padding: 10px 16px;
1319
+ border-radius: 8px;
1320
+ font-size: 13px;
1321
+ font-weight: 500;
1322
+ border: none;
1323
+ cursor: pointer;
1324
+ transition: all 0.2s ease;
1325
+ font-family: inherit;
1326
+ outline: none;
1327
+ background: #2563eb;
1328
+ color: #ffffff;
1329
+ }
1330
+ .gen-ui-button:hover {
1331
+ background: #1d4ed8;
1332
+ }
1333
+ .gen-ui-button:active {
1334
+ transform: scale(0.98);
1335
+ }
1336
+ .gen-ui-button:disabled {
1337
+ background: #cbd5e1;
1338
+ cursor: not-allowed;
1339
+ opacity: 0.6;
1340
+ }
1341
+
1342
+ .gen-ui-card {
1343
+ border: 1px solid #e2e8f0;
1344
+ border-radius: 12px;
1345
+ padding: 16px;
1346
+ background-color: #ffffff;
1347
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
1348
+ transition: box-shadow 0.2s ease;
1349
+ }
1350
+ .gen-ui-card:hover {
1351
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1352
+ }
1353
+
1354
+ .gen-ui-card-title {
1355
+ font-size: 16px;
1356
+ font-weight: 600;
1357
+ color: #0f172a;
1358
+ margin: 0 0 8px 0;
1359
+ }
1360
+
1361
+ .gen-ui-card-content {
1362
+ font-size: 13px;
1363
+ color: #334155;
1364
+ margin: 0;
1365
+ line-height: 1.5;
1366
+ }
1367
+
1368
+ .gen-ui-list {
1369
+ list-style-type: disc;
1370
+ padding-left: 20px;
1371
+ margin: 0;
1372
+ }
1373
+
1374
+ .gen-ui-list-item {
1375
+ font-size: 13px;
1376
+ color: #1e293b;
1377
+ line-height: 1.6;
1378
+ margin-bottom: 4px;
1379
+ }
1380
+ .gen-ui-list-item:last-child {
1381
+ margin-bottom: 0;
1382
+ }
1383
+
1384
+ .gen-ui-image {
1385
+ max-width: 100%;
1386
+ height: auto;
1387
+ border-radius: 8px;
1388
+ display: block;
1389
+ }
1390
+
1391
+ .gen-ui-link {
1392
+ color: #2563eb;
1393
+ text-decoration: none;
1394
+ font-size: 13px;
1395
+ transition: color 0.2s ease;
1396
+ }
1397
+ .gen-ui-link:hover {
1398
+ color: #1d4ed8;
1399
+ text-decoration: underline;
1400
+ }
1401
+ .gen-ui-link:visited {
1402
+ color: #2563eb;
1403
+ }
1404
+
1405
+ .gen-ui-table-wrapper {
1406
+ width: 100%;
1407
+ overflow-x: auto;
1408
+ border: 1px solid #e2e8f0;
1409
+ border-radius: 12px;
1410
+ background-color: #ffffff;
1411
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
1412
+ }
1413
+
1414
+ .gen-ui-table {
1415
+ width: 100%;
1416
+ border-collapse: collapse;
1417
+ min-width: 100%;
1418
+ }
1419
+
1420
+ .gen-ui-table-header {
1421
+ background-color: #f8fafc;
1422
+ }
1423
+
1424
+ .gen-ui-table-th {
1425
+ padding: 12px 16px;
1426
+ text-align: left;
1427
+ font-size: 12px;
1428
+ font-weight: 600;
1429
+ color: #334155;
1430
+ border-bottom: 2px solid #e2e8f0;
1431
+ white-space: nowrap;
1432
+ }
1433
+
1434
+ .gen-ui-table-body tr {
1435
+ transition: background-color 0.2s ease;
1436
+ }
1437
+ .gen-ui-table-body tr:hover {
1438
+ background-color: #f8fafc;
1439
+ }
1440
+ .gen-ui-table-body tr:not(:last-child) {
1441
+ border-bottom: 1px solid #e2e8f0;
1442
+ }
1443
+
1444
+ .gen-ui-table-td {
1445
+ padding: 12px 16px;
1446
+ font-size: 13px;
1447
+ color: #1e293b;
1448
+ vertical-align: middle;
1449
+ }
1450
+
1451
+ .gen-ui-form {
1452
+ display: flex;
1453
+ flex-direction: column;
1454
+ gap: 16px;
1455
+ width: 100%;
1456
+ }
1457
+ /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiQzpcXENhbGlzbWFsYXJcXHpla2FpXFxhaXplay13aWRnZXRcXHNyY1xcc3R5bGVzIiwic291cmNlcyI6WyJtZXNzYWdlU3R5bGVzLnNjc3MiLCJ2YXJpYWJsZXMuc2NzcyIsImlucHV0U3R5bGVzLnNjc3MiLCJoZWFkZXJTdHlsZXMuc2NzcyIsImNvbnRhaW5lclN0eWxlcy5zY3NzIiwibG9hZGluZ1N0eWxlcy5zY3NzIiwiYWxlcnRTdHlsZXMuc2NzcyIsInVpUmVuZGVyZXIuc2NzcyIsImdlbmVyYXRpdmVVSS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdDMkJRO0VEMUJSOztBQUVBO0VBQ0U7RUFDQSxZQzFCZTtFRDJCZixPQ3hCSTtFRHlCSjtFQUNBOztBQUdGO0VBQ0U7RUFDQSxZQzdCTTtFRDhCTixPQ3ZCTztFRHdCUDtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUtKO0VBQ0UsV0NMUTtFRE1SO0VBQ0EsWUN0Qlc7OztBRHlCYjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBS0o7QUFBQTtFQUVFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7RUFFRTtFQUNBOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVDdEhRO0VEdUhSO0VBQ0E7RUFDQTs7QUFJRjtFQUNFLFlDL0pNO0VEZ0tOO0VBQ0EsZUMvSFE7RURnSVI7RUFDQTtFQUNBO0VBQ0EsWUNoSFE7O0FEa0hSO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT0NuS0s7RURvS0wsV0NuSUk7RURvSUo7O0FBS0o7QUFBQTtFQUVFO0VBQ0E7O0FBSUY7QUFBQTtFQUVFOztBQUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOztBQUlKO0VBQ0UsV0NuS007RURvS047RUFDQTs7QUFHRjtFQUNFLFdDMUtNOztBRDZLUjtFQUNFOztBQUdGO0FBQUE7QUFBQTtFQUdFLFdDckxNOztBRHlMUjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUtKO0VBQ0U7RUFDQTtFQUNBOztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsV0N2Tk07RUR3Tk4sZUMvTlE7RURnT1I7RUFDQTs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBOztBQUdGO0VBQ0UsWUM3UU87RUQ4UVA7RUFDQSxPQ3hRTztFRHlRUDs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFLSjtFQUNFO0VBQ0E7RUFDQSxlQ2xRUTtFRG1RUjs7QUFJRjtFQUNFOzs7QUFNRjtFQUNFLE9DblRJOztBRHNUSjtFQUNFLE9DdlRFO0VEd1RGO0VBQ0E7O0FBRUE7RUFDRSxxQkM1VEE7O0FEaVVKO0VBQ0UsT0NsVUU7O0FEc1VKO0VBQ0U7RUFDQSxPQ3hVRTtFRHlVRjs7QUFJRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRSxPQ2xWQTs7QUR1Vko7RUFDRTs7QUFJRjtFQUNFLG1CQzdWRTtFRDhWRjtFQUNBLE9DL1ZFOztBRG1XSjtFQUNFOztBQUlGO0VBQ0U7O0FBR0Y7QUFBQTtFQUVFOztBQUdGO0VBQ0U7RUFDQSxPQ25YRTtFRG9YRjs7QUFHRjtFQUNFOzs7QUFPSjtFQUNFLE9DdlhPOztBRDBYUDtFQUNFOztBQUVBO0VBQ0U7O0FBS0o7RUFDRTs7QUFJRjtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFLFlDelpFO0VEMFpGLGNDdFpLOztBRHdaTDtFQUNFLE9DblpHOztBRHdaUDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNRSxPQzlaSzs7QURpYVA7RUFDRSxxQkN4YUs7O0FENGFQO0FBQUE7RUFFRSxPQ3ZhSzs7QUQyYVA7RUFDRTtFQUNBO0VBQ0EsT0NoYks7O0FEb2JQO0VBQ0UsWUMzYks7RUQ0YkwsT0NyYks7O0FEd2JQO0VBQ0U7OztBRXJjTjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFNENEJXO0VDM0JYLFlESE07RUNJTjtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdEOEJRO0VDN0JSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZRG5CUTtFQ29CUixPRGJTOztBQ2VUO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLGNEaEJPO0VDaUJQOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQSxlRENZO0VDQVo7RUFDQSxPRHhDTTtFQ3lDTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxZRDdDTztFQzhDUDs7QUFHRjtFQUNFLFlEekRlOztBQzJEZjtFQUNFOzs7QUMzRE47RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQSxlRjhCWTtFRTdCWjtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdGaUNRO0VFaENSOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVGaUJZOzs7QUVkZDtFQUNFLFdGb0JRO0VFbkJSOzs7QUFHRjtFQUNFO0VBQ0EsV0ZjUTtFRWJSOzs7QUFHRjtFQUNFO0VBQ0EsV0ZLUTtFRUpSOzs7QUN4Q0E7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQSxRSFdXO0VHVlgsZUhrQlk7RUdqQlo7RUFDQSxPSHZCTTtFR3dCTjtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlINkJVO0VHNUJWO0VBQ0E7O0FBRUE7RUFDRSxNSEZTOztBR0tYO0VBQ0UsT0hOUzs7QUdTWDtFQUNFOztBQUdGO0VBQ0UsWUhhUTs7O0FHVFo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLE1IekJTO0VHMEJUOztBQUdGO0VBQ0UsT0g5QlM7RUcrQlQ7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFlIdkdNO0VHd0dOLGVIbkVVO0VHb0VWO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsU0huRlc7RUdvRlg7RUFDQTtFQUNBLEtIekZXO0VHMEZYLFlIbkhROzs7QUdzSFY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0h2SFM7RUd3SFQ7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOzs7QUNqSko7RUFDRTtJQUNFOztFQUVGO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlSjJCWTtFSTFCWjs7O0FDZkY7RUFDRTtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFLGVMMEJVO0VLekJWO0VBQ0E7RUFDQTtFQUNBLE9MZk07RUtnQk4sV0w0QlU7RUszQlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxLTDVCVzs7O0FLK0JiO0VBQ0U7RUFDQSxXTGhCUTtFS2lCUjtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBLGNMM0NXO0VLNENYOzs7QUFHRjtFQUNFLGVMcERXO0VLcURYO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0xqSE07RUtrSE47RUFDQTs7QUFFQTtFQUNFOzs7QUN4SEo7RUFDRTtFQUNBO0VBQ0EsS042Qlc7RU01Qlg7OztBQUlGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZU4yQlU7RU0xQlYsU05xQlk7RU1wQlosa0JOWk07RU1hTixZTjJDVTtFTTFDVjs7O0FBR0Y7RUFDRTtFQUNBLFdOMkJRO0VNMUJSLGVOV1c7RU1WWCxPTnBCTTtFTXFCTjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsS05HVzs7O0FNQWI7RUFDRTtFQUNBO0VBQ0EsS05OVzs7O0FNU2I7RUFDRTtFQUNBLFdOS1U7RU1KVixPTmhDUztFTWlDVDtFQUNBO0VBQ0EsS05oQlc7O0FNa0JYO0VBQ0UsT04zQkk7RU00QkosV05KTTs7O0FNUVY7QUFBQTtFQUVFO0VBQ0EsZU5sQlU7RU1tQlY7RUFDQSxXTlpVO0VNYVYsT054RE07RU15RE4sa0JOMURNO0VNMkROO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRSxjTm5ETztFTW9EUDs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRSxZTjNDWTtFTTRDWjtFQUNBO0VBQ0E7RUFDQSxlTjNDVTtFTTRDVjtFQUNBLFdOckNVO0VNc0NWO0VBQ0Esa0JOckVTO0VNc0VULE9OcEZNO0VNcUZOO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0Usa0JONUVPOztBTStFVDtFQUNFOzs7QUFLSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRSxlTnZFVTtFTXdFVjtFQUNBLFdOakVVO0VNa0VWO0VBQ0E7RUFDQSxrQk5oSE07RU1pSE4sT056R1M7RU0wR1Q7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxrQk4xR087RU0yR1AsT056SEk7RU0wSEosY041R087O0FNOEdQO0VBQ0Usa0JOOUdLO0VNK0dMLGNOL0dLOztBTW1IVDtFQUNFO0VBQ0EsT041SE87RU02SFA7O0FBRUE7RUFDRTtFQUNBOztBQUlKO0VBQ0Usa0JOM0hJO0VNNEhKLE9OL0lJO0VNZ0pKLGNON0hJOztBTStISjtFQUNFLGtCTi9ITztFTWdJUCxjTmhJTzs7QU1vSVg7RUFDRTtFQUNBOztBQUdGO0VBQ0U7OztBQUtKO0VBQ0U7RUFDQSxlTmhJVTtFTWlJVjtFQUNBLFdOM0hVO0VNNEhWLGtCTnhLTTtFTXlLTixZTmpIVTtFTWtIVjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsV05uSVE7RU1vSVI7RUFDQTtFQUNBLE9ObExNOzs7QU1xTFI7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXTjlKUTtFTStKUjtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDRSxrQk5sTkk7RU1tTko7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQSxXTnRMVTtFTXVMVjs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsZU4vTVU7RU1nTlY7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLFdOck5VOzs7QU15Tlo7RUFDRTtFQUNBLGVOak9VO0VNa09WLFNOMU9XO0VNMk9YLGtCTnpRTTtFTTBRTjtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsZU5uUFU7RU1vUFY7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0EsV050UFE7RU11UFIsZU54UVc7RU15UVg7RUFDQTtFQUNBOzs7QUFHRjtFQUNFLE9OcFNTO0VNcVNULFdOalFRO0VNa1FSLGVObFJXO0VNbVJYOzs7QUFHRjtFQUNFO0VBQ0EsS052Ulc7RU13UlgsV056UVE7RU0wUVIsZU4xUlc7OztBTTZSYjtFQUNFLE9ObFRTO0VNbVRUOzs7QUFHRjtFQUNFLE9OdFRTOzs7QU15VFg7RUFDRTtFQUNBO0VBQ0EsS056U1c7OztBTTRTYjtFQUNFO0VBQ0EsS043U1c7RU04U1gsV04vUlE7OztBTWtTVjtFQUNFLE9OdlVTO0VNd1VUOzs7QUFHRjtFQUNFLE9OM1VTOzs7QU04VVg7RUFDRSxPTmhWUztFTWlWVCxXTjdTUTtFTThTUixZTjdUVztFTThUWDs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsV052VFE7RU13VFIsT05wV007RU1xV047OztBQUdGO0VBQ0UsT05uV1M7RU1vV1Q7RUFDQSxXTmpVUTtFTWtVUjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0UsV041VVE7RU02VVI7RUFDQSxlTnBWVTtFTXFWVixTTjVWVztFTTZWWCxrQk4zWE07RU00WE4sWU5wVVU7RU1xVVY7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsZU5wV1U7RU1xV1Y7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0EsV052V1E7RU13V1I7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPTnhaTTtFTXlaTjs7O0FBR0Y7RUFDRSxPTnZaUztFTXdaVCxXTnBYUTtFTXFYUjs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0EsS04xWVc7RU0yWVgsV041WFE7OztBTStYVjtFQUNFLE9OcGFTO0VNcWFUOzs7QUFHRjtFQUNFO0VBQ0EsT05oYk07RU1pYk47OztBQVFGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7O0FDcmVGO0VBQ0U7RUFDQTtFQUNBLEtQNkJXO0VPNUJYOzs7QUFLRjtFQUNFLGVQcUJXOzs7QU9sQmI7RUFDRSxXUG1DUTtFT2xDUjtFQUNBLE9QSFM7RU9JVDs7O0FBR0Y7RUFDRSxXUDBCUTtFT3pCUixPUFpTO0VPYVQ7RUFDQTs7O0FBSUY7RUFDRSxXUGlCVTtFT2hCVixPUGxCUztFT21CVDtFQUNBOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQSxLUFRXOzs7QU9ZYjtFQUNFLFdQRVE7RU9EUjtFQUNBLE9QbENTO0VPbUNUOzs7QUFHRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0EsZVBoQlU7RU9pQlYsV1BUVTtFT1VWLE9QM0NTO0VPNENULGtCUHZETTtFT3dETjtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNFLE9QdkRPOztBTzBEVDtBQUFBO0VBQ0UsY1BuRE87RU9vRFA7O0FBR0Y7QUFBQTtFQUNFLGtCUG5FTztFT29FUDtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTtFQUNBLEtQekRXOzs7QU80RGI7RUFDRSxXUDlDUTtFTytDUjtFQUNBLE9QbEZTO0VPbUZUOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVQL0RVO0VPZ0VWLFdQeERVO0VPeURWLE9QMUZTO0VPMkZULGtCUHRHTTtFT3VHTjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLGNQL0ZPO0VPZ0dQOztBQUdGO0VBQ0Usa0JQL0dPO0VPZ0hQO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlUDFGVTtFTzJGVixXUG5GVTtFT29GVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZUHZIUztFT3dIVCxPUHZJTTs7QU95SU47RUFDRSxZUDFITzs7QU82SFQ7RUFDRTs7QUFHRjtFQUNFLFlQN0lPO0VPOElQO0VBQ0E7OztBQUtKO0VBQ0U7RUFDQSxlUHRIVTtFT3VIVixTUDlIVztFTytIWCxrQlA3Sk07RU84Sk4sWVB2R1U7RU93R1Y7O0FBRUE7RUFDRSxZUDFHUTs7O0FPOEdaO0VBQ0UsV1B6SFE7RU8wSFI7RUFDQSxPUDlKUztFTytKVDs7O0FBR0Y7RUFDRSxXUGxJVTtFT21JVixPUHRLUztFT3VLVDtFQUNBOzs7QUFJRjtFQUNFO0VBQ0EsY1B4Slc7RU95Slg7OztBQUdGO0VBQ0UsV1BoSlU7RU9pSlYsT1BuTFM7RU9vTFQ7RUFDQSxlUHBLVzs7QU9zS1g7RUFDRTs7O0FBS0o7RUFDRTtFQUNBO0VBQ0EsZVB0S1U7RU91S1Y7OztBQUlGO0VBQ0UsT1BqTVM7RU9rTVQ7RUFDQSxXUHRLVTtFT3VLVjs7QUFFQTtFQUNFLE9QdE1PO0VPdU1QOztBQUdGO0VBQ0UsT1A1TU87OztBT2lOWDtFQUNFO0VBQ0E7RUFDQTtFQUNBLGVQL0xVO0VPZ01WLGtCUHJPTTtFT3NPTixZUC9LVTs7O0FPa0xaO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFLGtCUDlPUTs7O0FPaVBWO0VBQ0U7RUFDQTtFQUNBLFdQM01RO0VPNE1SO0VBQ0EsT1AvT1M7RU9nUFQ7RUFDQTs7O0FBSUE7RUFDRTs7QUFFQTtFQUNFLGtCUGhRSTs7QU9tUU47RUFDRTs7O0FBS047RUFDRTtFQUNBLFdQak9VO0VPa09WLE9QcFFTO0VPcVFUOzs7QUFJRjtFQUNFO0VBQ0E7RUFDQSxLUHhQVztFT3lQWCIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4vdmFyaWFibGVzLnNjc3MnIGFzICo7XHJcblxyXG4ubWVzc2FnZS1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJi51c2VyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gICYuYXNzaXN0YW50IHtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxufVxyXG5cclxuLm1lc3NhZ2UtYnViYmxlIHtcclxuICBtYXgtd2lkdGg6IDgwJTtcclxuICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtbWQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmLnVzZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMThweCAxOHB4IDRweCAxOHB4O1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktZ3JhZGllbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICAmLmFzc2lzdGFudCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4IDE4cHggMThweCA0cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS01MDtcclxuICAgIGNvbG9yOiAkZ3JheS03MDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0yMDA7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIC5tZXNzYWdlLXR5cGluZy1pbmRpY2F0b3Ige1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4ubWVzc2FnZS10aW1lIHtcclxuICBmb250LXNpemU6ICR0ZXh0LXhzO1xyXG4gIG9wYWNpdHk6IDAuNztcclxuICBtYXJnaW4tdG9wOiAkc3BhY2luZy14cztcclxufVxyXG5cclxuLm1lc3NhZ2UtdGltZS51c2VyIHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm1lc3NhZ2UtdGltZS5hc3Npc3RhbnQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5tYXJrZG93bi1jb250ZW50IHtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcblxyXG4gICYrLmdlbmVyYXRpdmUtdWktY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgfVxyXG5cclxuICAvLyBQYXJhZ3JhZmxhclxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTGlua2xlclxyXG4gIGEge1xyXG4gICAgY29sb3I6ICM2NjdlZWE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZmFzdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjNzY0YmEyO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNzY0YmEyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTGlzdGVsZXJcclxuICB1bCxcclxuICBvbCB7XHJcbiAgICBtYXJnaW46IDEycHggMDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICBvbCB7XHJcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEJ1bGxldCBwb2ludCBpw6dpblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCLigKJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBjb2xvcjogIzY2N2VlYTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBOZXN0ZWQgbGlzdCBpw6dpbiBkYWhhIGl5aSBnw7Zyw7xuw7xtXHJcbiAgICB1bCxcclxuICAgIG9sIHtcclxuICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbCBsaSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIElubGluZSBrb2RcclxuICBjb2RlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4xKTtcclxuICAgIGNvbG9yOiAjNzY0YmEyO1xyXG4gICAgcGFkZGluZzogMnB4IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtc207XHJcbiAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdNZW5sbycsICdVYnVudHUgTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMik7XHJcbiAgfVxyXG5cclxuICAvLyBLb2QgYmxva2xhcsSxXHJcbiAgcHJlIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5LTUwO1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBtYXJnaW46IDEycHggMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMDtcclxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctc207XHJcblxyXG4gICAgY29kZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgY29sb3I6ICRncmF5LTgwMDtcclxuICAgICAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFZ1cmd1IG1ldG5pXHJcbiAgc3Ryb25nLFxyXG4gIGIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgLy8gxLB0YWxpayBtZXRpblxyXG4gIGVtLFxyXG4gIGkge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuXHJcbiAgLy8gQmHFn2zEsWtsYXJcclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNiB7XHJcbiAgICBtYXJnaW46IDE2cHggMCA4cHggMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6ICR0ZXh0LXhsO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmF5LTIwMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6ICR0ZXh0LWxnO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gIH1cclxuXHJcbiAgaDQsXHJcbiAgaDUsXHJcbiAgaDYge1xyXG4gICAgZm9udC1zaXplOiAkdGV4dC1tZDtcclxuICB9XHJcblxyXG4gIC8vIEFsxLFudMSxbGFyXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM2NjdlZWE7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgICBtYXJnaW46IDEycHggMDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgb3BhY2l0eTogMC45O1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjA1KTtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzLXNtICRyYWRpdXMtc20gMDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gWWF0YXkgw6dpemdpXHJcbiAgaHIge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTIwMDtcclxuICAgIG1hcmdpbjogMTZweCAwO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFibG9sYXJcclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDEycHggMDtcclxuICAgIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMDtcclxuICB9XHJcblxyXG4gIHRoLFxyXG4gIHRkIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktMjAwO1xyXG4gIH1cclxuXHJcbiAgdGgge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktMTAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiAkZ3JheS04MDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXktMzAwO1xyXG4gIH1cclxuXHJcbiAgdHI6bGFzdC1jaGlsZCB0ZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gIH1cclxuXHJcbiAgdGJvZHkgdHIge1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi1mYXN0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMDUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gR8O2cnNlbGxlclxyXG4gIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gICAgbWFyZ2luOiA4cHggMDtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrYm94IGxpc3RlbGVyIChHaXRIdWIgc3R5bGUpXHJcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gVXNlciBtZXNzYWdlIHNwZWNpZmljIHN0eWxlc1xyXG4ubWVzc2FnZS1idWJibGUudXNlciB7XHJcbiAgLm1hcmtkb3duLWNvbnRlbnQge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAvLyBMaW5rbGVyXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQnVsbGV0IHBvaW50c1xyXG4gICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5saW5lIGtvZFxyXG4gICAgY29kZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gS29kIGJsb2tsYXLEsVxyXG4gICAgcHJlIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuXHJcbiAgICAgIGNvZGUge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCYcWfbMSxa2xhclxyXG4gICAgaDEge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWzEsW50xLFsYXJcclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gWWF0YXkgw6dpemdpXHJcbiAgICBociB7XHJcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUYWJsb2xhclxyXG4gICAgdGFibGUge1xyXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcclxuICAgIH1cclxuXHJcbiAgICB0aCxcclxuICAgIHRkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHRyOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQXNzaXN0YW50IG1lc3NhZ2Ugc3BlY2lmaWMgc3R5bGVzXHJcbi5tZXNzYWdlLWJ1YmJsZS5hc3Npc3RhbnQge1xyXG4gIC5tYXJrZG93bi1jb250ZW50IHtcclxuICAgIGNvbG9yOiAkZ3JheS03MDA7XHJcblxyXG4gICAgLy8gTGlua2xlclxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAjNjY3ZWVhO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICM3NjRiYTI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBCdWxsZXQgcG9pbnRzXHJcbiAgICBsaTo6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICM2NjdlZWE7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSW5saW5lIGtvZFxyXG4gICAgY29kZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4xKTtcclxuICAgICAgY29sb3I6ICM3NjRiYTI7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEtvZCBibG9rbGFyxLFcclxuICAgIHByZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0yMDA7XHJcblxyXG4gICAgICBjb2RlIHtcclxuICAgICAgICBjb2xvcjogJGdyYXktODAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmHFn2zEsWtsYXJcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0LFxyXG4gICAgaDUsXHJcbiAgICBoNiB7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS04MDA7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZ3JheS0yMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVnVyZ3VcclxuICAgIHN0cm9uZyxcclxuICAgIGIge1xyXG4gICAgICBjb2xvcjogJGdyYXktOTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsxLFudMSxbGFyXHJcbiAgICBibG9ja3F1b3RlIHtcclxuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICM2NjdlZWE7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4wNSk7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS03MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFibG9sYXJcclxuICAgIHRoIHtcclxuICAgICAgYmFja2dyb3VuZDogJGdyYXktMTAwO1xyXG4gICAgICBjb2xvcjogJGdyYXktODAwO1xyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHRyOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjA1KTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyBDb2xvciBWYXJpYWJsZXNcclxuJHByaW1hcnktZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XHJcbiRidXR0b24tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XHJcblxyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiRibGFjazogIzFhMWExYTtcclxuJGdyYXktNTA6ICNmOGZhZmM7XHJcbiRncmF5LTEwMDogI2YxZjVmOTtcclxuJGdyYXktMjAwOiAjZTJlOGYwO1xyXG4kZ3JheS0zMDA6ICNjYmQ1ZTE7XHJcbiRncmF5LTQwMDogIzk0YTNiODtcclxuJGdyYXktNTAwOiAjNjQ3NDhiO1xyXG4kZ3JheS02MDA6ICM0NzU1Njk7XHJcbiRncmF5LTcwMDogIzMzNDE1NTtcclxuJGdyYXktODAwOiAjMWUyOTNiO1xyXG4kZ3JheS05MDA6ICMwZjE3MmE7XHJcblxyXG4vLyBCcmFuZCBDb2xvcnNcclxuJGJsdWUtNTAwOiAjM2I4MmY2O1xyXG4kYmx1ZS02MDA6ICMyNTYzZWI7XHJcbiRibHVlLTcwMDogIzFkNGVkODtcclxuXHJcbi8vIFN0YXR1cyBDb2xvcnNcclxuJGVycm9yOiAjZWY0NDQ0O1xyXG4kZXJyb3ItZGFyazogI2RjMjYyNjtcclxuJHdhcm5pbmc6ICNmNTllMGI7XHJcbiR3YXJuaW5nLWRhcms6ICNkOTc3MDY7XHJcbiRzdWNjZXNzOiAjMTBiOTgxO1xyXG4kc3VjY2Vzcy1kYXJrOiAjMDU5NjY5O1xyXG5cclxuLy8gU3BhY2luZ1xyXG4kc3BhY2luZy14czogNHB4O1xyXG4kc3BhY2luZy1zbTogOHB4O1xyXG4kc3BhY2luZy1tZDogMTJweDtcclxuJHNwYWNpbmctbGc6IDE2cHg7XHJcbiRzcGFjaW5nLXhsOiAyMHB4O1xyXG4kc3BhY2luZy0yeGw6IDI0cHg7XHJcblxyXG4vLyBCb3JkZXIgUmFkaXVzXHJcbiRyYWRpdXMtc206IDRweDtcclxuJHJhZGl1cy1tZDogOHB4O1xyXG4kcmFkaXVzLWxnOiAxMnB4O1xyXG4kcmFkaXVzLXhsOiAxNnB4O1xyXG4kcmFkaXVzLWZ1bGw6IDUwJTtcclxuXHJcbi8vIEZvbnQgU2l6ZXNcclxuJHRleHQteHM6IDExcHg7XHJcbiR0ZXh0LXNtOiAxMnB4O1xyXG4kdGV4dC1iYXNlOiAxM3B4O1xyXG4kdGV4dC1tZDogMTRweDtcclxuJHRleHQtbGc6IDE2cHg7XHJcbiR0ZXh0LXhsOiAxOHB4O1xyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuJHRyYW5zaXRpb24tZmFzdDogMC4xNXMgZWFzZTtcclxuJHRyYW5zaXRpb24tYmFzZTogMC4ycyBlYXNlO1xyXG4kdHJhbnNpdGlvbi1zbG93OiAwLjNzIGVhc2U7XHJcblxyXG4vLyBTaGFkb3dzXHJcbiRzaGFkb3ctc206IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4kc2hhZG93LW1kOiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxuJHNoYWRvdy1sZzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4kc2hhZG93LXhsOiAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcblxyXG4iLCJAdXNlICcuL3ZhcmlhYmxlcy5zY3NzJyBhcyAqO1xyXG5cclxuLmlucHV0LWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgZ2FwOiAxMnB4O1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXktMjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzLWxnICRyYWRpdXMtbGc7XHJcbn1cclxuXHJcbi50ZXh0YXJlYSB7XHJcbiAgZmxleDogMTtcclxuICBtaW4taGVpZ2h0OiA0NHB4O1xyXG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gIHBhZGRpbmc6IDEycHggJHNwYWNpbmctbGc7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMjAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1tZDtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG4gIHJlc2l6ZTogbm9uZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1iYXNlLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktNTA7XHJcbiAgY29sb3I6ICRncmF5LTcwMDtcclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRibHVlLTUwMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTtcclxuICB9XHJcbn1cclxuXHJcbi5zZW5kLWJ1dHRvbiB7XHJcbiAgd2lkdGg6IDQ0cHg7XHJcbiAgaGVpZ2h0OiA0NHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtZnVsbDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1iYXNlO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtbGc7XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktMjAwO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcblxyXG4gICY6bm90KDpkaXNhYmxlZCkge1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktZ3JhZGllbnQ7XHJcbiAgICBcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiQHVzZSAnLi92YXJpYWJsZXMuc2NzcycgYXMgKjtcclxuXHJcbi5oZWFkZXIge1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLXhsO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTJweDtcclxufVxyXG5cclxuLmxvZ28tY29udGFpbmVyIHtcclxuICB3aWR0aDogNDBweDtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1mdWxsO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAkdGV4dC14bDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubG9nby1pbWFnZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtZnVsbDtcclxufVxyXG5cclxuLmxvZ28tdGV4dCB7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1sZztcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmNvbXBhbnktbmFtZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtbGc7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLnN0YXR1cy10ZXh0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbiIsIkB1c2UgJy4vdmFyaWFibGVzLnNjc3MnIGFzICo7XHJcblxyXG4uYnV0dG9uLXNpemVzIHtcclxuICAmLnNtYWxsIHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5tZWRpdW0ge1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgfVxyXG5cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmZsb2F0aW5nLWJ1dHRvbiB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogJHNwYWNpbmcteGw7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1mdWxsO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1sZztcclxuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tc2xvdztcclxuICB6LWluZGV4OiAxMDAwO1xyXG5cclxuICAmLmJvdHRvbS1sZWZ0IHtcclxuICAgIGxlZnQ6ICRzcGFjaW5nLXhsO1xyXG4gIH1cclxuXHJcbiAgJi5ib3R0b20tcmlnaHQge1xyXG4gICAgcmlnaHQ6ICRzcGFjaW5nLXhsO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1vcGVuIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdy14bDtcclxuICB9XHJcbn1cclxuXHJcbi5jaGF0LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogOTBweDtcclxuICB6LWluZGV4OiA5OTk5OTk5O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XHJcblxyXG4gICYuYm90dG9tLWxlZnQge1xyXG4gICAgbGVmdDogJHNwYWNpbmcteGw7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcclxuICB9XHJcblxyXG4gICYuYm90dG9tLXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAkc3BhY2luZy14bDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcclxuICB9XHJcblxyXG4gICYuaXMtb3BlbiB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gICY6bm90KC5pcy1vcGVuKSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIH1cclxufVxyXG5cclxuLm92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIHotaW5kZXg6IDk5ODtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tc2xvdztcclxuXHJcbiAgJi5pcy1vcGVuIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgJjpub3QoLmlzLW9wZW4pIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhdGJvdC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbGc7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubWVzc2FnZXMtY29udGFpbmVyIHtcclxuICBmbGV4OiAxO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgcGFkZGluZzogJHNwYWNpbmctbGc7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogJHNwYWNpbmcteHM7XHJcbiAgYmFja2dyb3VuZDogJGdyYXktNTA7XHJcbn1cclxuXHJcbi5lbXB0eS1zdGF0ZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDQwcHggJHNwYWNpbmcteGw7XHJcblxyXG4gIC5lbXB0eS1zdGF0ZS1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgfVxyXG5cclxuICAuZW1wdHktc3RhdGUtdGl0bGUge1xyXG4gICAgbWFyZ2luOiAwIDAgOHB4IDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG5cclxuICAuZW1wdHktc3RhdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgb3BhY2l0eTogMC44O1xyXG4gIH1cclxufSIsIkB1c2UgJy4vdmFyaWFibGVzLnNjc3MnIGFzICo7XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4ubG9hZGluZy1zcGlubmVyIHtcclxuICB3aWR0aDogMTZweDtcclxuICBoZWlnaHQ6IDE2cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWZ1bGw7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG5cclxuIiwiQHVzZSAnLi92YXJpYWJsZXMuc2NzcycgYXMgKjtcclxuXHJcbkBrZXlmcmFtZXMgc2xpZGVEb3duIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbGVydC1jb250YWluZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbGc7XHJcbiAgcGFkZGluZzogMTRweCAkc3BhY2luZy1sZztcclxuICBtYXJnaW46IDEycHggJHNwYWNpbmctbGc7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBmb250LXNpemU6ICR0ZXh0LWJhc2U7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBnYXA6IDEycHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGFuaW1hdGlvbjogc2xpZGVEb3duICR0cmFuc2l0aW9uLXNsb3cgZWFzZS1vdXQ7XHJcblxyXG4gICYuZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJGVycm9yIDAlLCAkZXJyb3ItZGFyayAxMDAlKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRlcnJvci1kYXJrO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xyXG4gIH1cclxuXHJcbiAgJi53YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR3YXJuaW5nIDAlLCAkd2FybmluZy1kYXJrIDEwMCUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdhcm5pbmctZGFyaztcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7XHJcbiAgfVxyXG5cclxuICAmLnN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgJHN1Y2Nlc3MgMCUsICRzdWNjZXNzLWRhcmsgMTAwJSk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc3VjY2Vzcy1kYXJrO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4yKTtcclxuICB9XHJcbn1cclxuXHJcbi5hbGVydC1pY29uLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuICBmbGV4LXNocmluazogMDtcclxuICBtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5hbGVydC1jb250ZW50IHtcclxuICBmbGV4OiAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6ICRzcGFjaW5nLXNtO1xyXG59XHJcblxyXG4uYWxlcnQtdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1tZDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmFsZXJ0LW1lc3NhZ2Uge1xyXG4gIG1hcmdpbjogMDtcclxuICBsaW5lLWhlaWdodDogMS41O1xyXG4gIG9wYWNpdHk6IDAuOTU7XHJcbn1cclxuXHJcbi5hbGVydC1saXN0IHtcclxuICBtYXJnaW46ICRzcGFjaW5nLXNtIDAgMCAwO1xyXG4gIHBhZGRpbmctbGVmdDogJHNwYWNpbmcteGw7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLmFsZXJ0LWxpc3QtaXRlbSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHM7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctbGVmdDogMTJweDtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG5cclxuICBsaT5zcGFuIHtcclxuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCI7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgfVxyXG5cclxuICBsaT5jb2RlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIHBhZGRpbmc6IDJweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgfVxyXG59XHJcblxyXG4uYWxlcnQtY2xvc2UtYnV0dG9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMnB4O1xyXG4gIHJpZ2h0OiAxMnB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XHJcbiAgfVxyXG59IiwiQHVzZSAnLi92YXJpYWJsZXMuc2NzcycgYXMgKjtcclxuXHJcbi51aS1yZW5kZXJlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogJHNwYWNpbmctbGc7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIEZvcm0gQ29tcG9uZW50XHJcbi5mb3JtLWNvbXBvbmVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbGc7XHJcbiAgcGFkZGluZzogJHNwYWNpbmctMnhsO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3gtc2hhZG93OiAkc2hhZG93LW1kO1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uZm9ybS10aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6ICR0ZXh0LWxnO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhsO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLmZvcm0tZmllbGRzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAkc3BhY2luZy14bDtcclxufVxyXG5cclxuLmZvcm0tZmllbGQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6ICRzcGFjaW5nLXNtO1xyXG59XHJcblxyXG4uZm9ybS1sYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBmb250LXNpemU6ICR0ZXh0LWJhc2U7XHJcbiAgY29sb3I6ICRncmF5LTYwMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiAkc3BhY2luZy14cztcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBjb2xvcjogJGVycm9yO1xyXG4gICAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtLWlucHV0LFxyXG4uZm9ybS1zZWxlY3Qge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcclxuICBwYWRkaW5nOiAxMHB4IDEycHg7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWZhc3QsIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZmFzdDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS01MDA7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7XHJcbiAgfVxyXG59XHJcblxyXG4uZm9ybS1zZWxlY3Qge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZvcm0tc3VibWl0LWJ1dHRvbiB7XHJcbiAgbWFyZ2luLXRvcDogJHNwYWNpbmctMnhsO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1tZDtcclxuICBwYWRkaW5nOiAxMnB4ICRzcGFjaW5nLTJ4bDtcclxuICBmb250LXNpemU6ICR0ZXh0LWJhc2U7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS01MDA7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZmFzdCwgdHJhbnNmb3JtIDAuMXMgZWFzZTtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS02MDA7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9ucyBDb21wb25lbnRcclxuLmJ1dHRvbnMtY29tcG9uZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMTJweDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5idXR0b24tY29tcG9uZW50IHtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIHBhZGRpbmc6IDEwcHggJHNwYWNpbmcteGw7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgY29sb3I6ICRncmF5LTYwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWZhc3Q7XHJcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgJi5wcmltYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTUwMDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItY29sb3I6ICRibHVlLTUwMDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtNjAwO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRibHVlLTYwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuc2Vjb25kYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjY7XHJcbiAgICBjb2xvcjogJGdyYXktNjAwO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZDFkNWRiO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlN2ViO1xyXG4gICAgICBib3JkZXItY29sb3I6ICM5Y2EzYWY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3I7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkZXJyb3I7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRlcnJvci1kYXJrO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRlcnJvci1kYXJrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjpub3QoLnByaW1hcnkpOm5vdCguc2Vjb25kYXJ5KTpub3QoLmRhbmdlcik6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZmFmYjtcclxuICAgIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBDb21wb25lbnRcclxuLnRhYmxlLWNvbXBvbmVudCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3gtc2hhZG93OiAkc2hhZG93LW1kO1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4udGFibGUtY2FwdGlvbiB7XHJcbiAgcGFkZGluZzogJHNwYWNpbmctbGcgJHNwYWNpbmcteGw7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6ICR0ZXh0LW1kO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XHJcbiAgY29sb3I6ICRibGFjaztcclxufVxyXG5cclxuLnRhYmxlLXdyYXBwZXIge1xyXG4gIG92ZXJmbG93LXg6IGF1dG87XHJcbn1cclxuXHJcbi50YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50YWJsZS1oZWFkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XHJcbn1cclxuXHJcbi50YWJsZS10aCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlMGUwZTA7XHJcbiAgcGFkZGluZzogMTRweCAkc3BhY2luZy14bDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICBjb2xvcjogIzRhNTU2ODtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4udGFibGUtdGJvZHkge1xyXG4gIHRyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZmFzdDtcclxuXHJcbiAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZiZmM7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGY0Zjg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtdGQge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU4O1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnICRzcGFjaW5nLXhsO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtYmFzZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICA+c3BhbiB7XHJcbiAgICBjb2xvcjogI2EwYTBhMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZS1jZWxsLWltYWdlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YWJsZS1pbWFnZSB7XHJcbiAgd2lkdGg6IDQwcHg7XHJcbiAgaGVpZ2h0OiA0MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxufVxyXG5cclxuLnRhYmxlLWNlbGwtdGV4dCB7XHJcbiAgY29sb3I6ICMyZDM3NDg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLnRhYmxlLWVtcHR5IHtcclxuICBwYWRkaW5nOiA0MHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogIzljYTNhZjtcclxuICBmb250LXNpemU6ICR0ZXh0LWJhc2U7XHJcbn1cclxuXHJcbi8vIENhcmQgQ29tcG9uZW50XHJcbi5jYXJkLWNvbXBvbmVudCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLXhsO1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4uY2FyZC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMTJweDtcclxufVxyXG5cclxuLmNhcmQtaW1hZ2Uge1xyXG4gIHdpZHRoOiA2NHB4O1xyXG4gIGhlaWdodDogNjRweDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uY2FyZC1pbmZvIHtcclxuICBmbGV4OiAxO1xyXG4gIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLmNhcmQtdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1tZDtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5jYXJkLXN1YnRpdGxlIHtcclxuICBjb2xvcjogJGdyYXktNTAwO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmcteHM7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uY2FyZC1zdGF0dXMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAkc3BhY2luZy1zbTtcclxuICBmb250LXNpemU6ICR0ZXh0LXNtO1xyXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXhzO1xyXG59XHJcblxyXG4uY2FyZC1zdGF0dXMtbGFiZWwge1xyXG4gIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLmNhcmQtc3RhdHVzLXZhbHVlIHtcclxuICBjb2xvcjogJGdyYXktNjAwO1xyXG59XHJcblxyXG4uY2FyZC1maWVsZHMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6ICRzcGFjaW5nLXhzO1xyXG59XHJcblxyXG4uY2FyZC1maWVsZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6ICRzcGFjaW5nLXNtO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbn1cclxuXHJcbi5jYXJkLWZpZWxkLWxhYmVsIHtcclxuICBjb2xvcjogJGdyYXktNTAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5jYXJkLWZpZWxkLXZhbHVlIHtcclxuICBjb2xvcjogJGdyYXktNjAwO1xyXG59XHJcblxyXG4uY2FyZC1kZXNjcmlwdGlvbiB7XHJcbiAgY29sb3I6ICRncmF5LTUwMDtcclxuICBmb250LXNpemU6ICR0ZXh0LXNtO1xyXG4gIG1hcmdpbi10b3A6ICRzcGFjaW5nLXNtO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmNhcmQtbGlzdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXJkLWxpc3QtdGl0bGUge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICBmb250LXNpemU6ICR0ZXh0LW1kO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLmNhcmQtbGlzdC1kZXNjcmlwdGlvbiB7XHJcbiAgY29sb3I6ICRncmF5LTUwMDtcclxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLmNhcmQtZ3JpZCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcclxuICBnYXA6IDEycHg7XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0ge1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3gtc2hhZG93OiAkc2hhZG93LW1kO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0tY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDEycHg7XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0taW1hZ2Uge1xyXG4gIHdpZHRoOiA2NHB4O1xyXG4gIGhlaWdodDogNjRweDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcblxyXG4uY2FyZC1pdGVtLWluZm8ge1xyXG4gIGZsZXg6IDE7XHJcbiAgbWluLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uY2FyZC1pdGVtLXRpdGxlIHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtbWQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjb2xvcjogJGJsYWNrO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0tc3VidGl0bGUge1xyXG4gIGNvbG9yOiAkZ3JheS01MDA7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0tbGVnYWN5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBnYXA6ICRzcGFjaW5nLXNtO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbn1cclxuXHJcbi5jYXJkLWl0ZW0tbGVnYWN5LWxhYmVsIHtcclxuICBjb2xvcjogJGdyYXktNTAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmNhcmQtaXRlbS1sZWdhY3ktdmFsdWUge1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICRibGFjaztcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vIEZpZWxkIHJlbmRlcmVyXHJcbi5maWVsZC10ZXh0IHtcclxuICAvLyBUZXh0IGZpZWxkIHN0eWxlcyBpZiBuZWVkZWRcclxufVxyXG5cclxuLmZpZWxkLWltYWdlIHtcclxuICB3aWR0aDogMjRweDtcclxuICBoZWlnaHQ6IDI0cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi5maWVsZC1saW5rIHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmZpZWxkLWJhZGdlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogMnB4IDZweDtcclxuICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcbiAgJi5zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMGZjZTU7XHJcbiAgICBjb2xvcjogIzFhN2YzNjtcclxuICB9XHJcblxyXG4gICYud2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2Q2O1xyXG4gICAgY29sb3I6ICM4YTZhMDA7XHJcbiAgfVxyXG5cclxuICAmLmRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNGU0O1xyXG4gICAgY29sb3I6ICNiNDIzMTg7XHJcbiAgfVxyXG5cclxuICAmOm5vdCguc3VjY2Vzcyk6bm90KC53YXJuaW5nKTpub3QoLmRhbmdlcikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkLWxpc3Qge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XHJcbn0iLCJAdXNlICcuL3ZhcmlhYmxlcy5zY3NzJyBhcyAqO1xyXG5cclxuLmdlbmVyYXRpdmUtdWktY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZ2FwOiAkc3BhY2luZy1sZztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgIFxyXG59XHJcblxyXG4uZ2VuZXJhdGl2ZS11aS1oZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLW1kO1xyXG59XHJcblxyXG4uZ2VuZXJhdGl2ZS11aS10aXRsZSB7XHJcbiAgZm9udC1zaXplOiAkdGV4dC14bDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgbWFyZ2luOiAwIDAgJHNwYWNpbmctc20gMDtcclxufVxyXG5cclxuLmdlbmVyYXRpdmUtdWktZGVzY3JpcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtbWQ7XHJcbiAgY29sb3I6ICRncmF5LTYwMDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxufVxyXG5cclxuLy8gVGV4dCBDb21wb25lbnRcclxuLmdlbi11aS10ZXh0IHtcclxuICBmb250LXNpemU6ICR0ZXh0LWJhc2U7XHJcbiAgY29sb3I6ICRncmF5LTgwMDtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8gSW5wdXQgQ29tcG9uZW50XHJcbi5nZW4tdWktaW5wdXQtd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogJHNwYWNpbmctc207XHJcbn1cclxuXHJcbi5nZW4tdWktaW5wdXQtbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogJGdyYXktNzAwO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLmdlbi11aS1pbnB1dCxcclxuLmdlbi11aS10ZXh0YXJlYSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtYmFzZTtcclxuICBjb2xvcjogJGdyYXktOTAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1iYXNlLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkZ3JheS00MDA7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJsdWUtNTAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gIH1cclxufVxyXG5cclxuLmdlbi11aS10ZXh0YXJlYSB7XHJcbiAgbWluLWhlaWdodDogODBweDtcclxuICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG4vLyBTZWxlY3QgQ29tcG9uZW50XHJcbi5nZW4tdWktc2VsZWN0LXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBnYXA6ICRzcGFjaW5nLXNtO1xyXG59XHJcblxyXG4uZ2VuLXVpLXNlbGVjdC1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1zbTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAkZ3JheS03MDA7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZ2VuLXVpLXNlbGVjdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtYmFzZTtcclxuICBjb2xvcjogJGdyYXktOTAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1iYXNlLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWJhc2U7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJsdWUtNTAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIENvbXBvbmVudFxyXG4uZ2VuLXVpLWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4ICRzcGFjaW5nLWxnO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtbWQ7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tYmFzZTtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQ6ICRibHVlLTYwMDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRibHVlLTcwMDtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRncmF5LTMwMDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDYXJkIENvbXBvbmVudFxyXG4uZ2VuLXVpLWNhcmQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTIwMDtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xyXG4gIHBhZGRpbmc6ICRzcGFjaW5nLWxnO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3gtc2hhZG93OiAkc2hhZG93LXNtO1xyXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb24tYmFzZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93LW1kO1xyXG4gIH1cclxufVxyXG5cclxuLmdlbi11aS1jYXJkLXRpdGxlIHtcclxuICBmb250LXNpemU6ICR0ZXh0LWxnO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgY29sb3I6ICRncmF5LTkwMDtcclxuICBtYXJnaW46IDAgMCAkc3BhY2luZy1zbSAwO1xyXG59XHJcblxyXG4uZ2VuLXVpLWNhcmQtY29udGVudCB7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGNvbG9yOiAkZ3JheS03MDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi8vIExpc3QgQ29tcG9uZW50XHJcbi5nZW4tdWktbGlzdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gIHBhZGRpbmctbGVmdDogJHNwYWNpbmcteGw7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZ2VuLXVpLWxpc3QtaXRlbSB7XHJcbiAgZm9udC1zaXplOiAkdGV4dC1iYXNlO1xyXG4gIGNvbG9yOiAkZ3JheS04MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy14cztcclxuXHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBJbWFnZSBDb21wb25lbnRcclxuLmdlbi11aS1pbWFnZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLW1kO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyBMaW5rIENvbXBvbmVudFxyXG4uZ2VuLXVpLWxpbmsge1xyXG4gIGNvbG9yOiAkYmx1ZS02MDA7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtYmFzZTtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1iYXNlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkYmx1ZS03MDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcblxyXG4gICY6dmlzaXRlZCB7XHJcbiAgICBjb2xvcjogJGJsdWUtNjAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGFibGUgQ29tcG9uZW50XHJcbi5nZW4tdWktdGFibGUtd3JhcHBlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS0yMDA7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1sZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1zbTtcclxufVxyXG5cclxuLmdlbi11aS10YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5nZW4tdWktdGFibGUtaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS01MDtcclxufVxyXG5cclxuLmdlbi11aS10YWJsZS10aCB7XHJcbiAgcGFkZGluZzogMTJweCAkc3BhY2luZy1sZztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtc207XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogJGdyYXktNzAwO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheS0yMDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLmdlbi11aS10YWJsZS1ib2R5IHtcclxuICB0ciB7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWJhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0yMDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2VuLXVpLXRhYmxlLXRkIHtcclxuICBwYWRkaW5nOiAxMnB4ICRzcGFjaW5nLWxnO1xyXG4gIGZvbnQtc2l6ZTogJHRleHQtYmFzZTtcclxuICBjb2xvcjogJGdyYXktODAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi8vIEZvcm0gQ29tcG9uZW50XHJcbi5nZW4tdWktZm9ybSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGdhcDogJHNwYWNpbmctbGc7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbiJdfQ== */`;
1458
+ document.head.appendChild(document.createElement("style")).appendChild(document.createTextNode(css));
37
1459
 
38
1460
  // src/utils/cx.ts
39
1461
  function validateHeaders(headers, authConfig, opts = {}) {
1462
+ if (headers && (!authConfig || Object.keys(authConfig).length === 0)) {
1463
+ return {
1464
+ isValid: false,
1465
+ missingKeys: [],
1466
+ extraKeys: [],
1467
+ emptyValueKeys: [],
1468
+ warning: "Auth config bo\u015F ya da tan\u0131ms\u0131z, header do\u011Frulamas\u0131 yap\u0131lam\u0131yor."
1469
+ };
1470
+ }
40
1471
  const { caseSensitive = false, allowExtra = false } = opts;
41
1472
  const normalize = (s) => caseSensitive ? s : s.toLowerCase();
42
1473
  const headerEntries = Object.entries(headers).map(([k, v]) => [normalize(k), v.trim()]);
@@ -55,90 +1486,14 @@ function validateHeaders(headers, authConfig, opts = {}) {
55
1486
  const isValid = hasAllRequired && !hasExtraKeys && emptyValueKeys.length === 0;
56
1487
  return { isValid, missingKeys, extraKeys, emptyValueKeys };
57
1488
  }
58
-
59
- // src/store/static.ts
60
- var defaultConfig = {
61
- auth_config: {
62
- "header": ""
63
- },
64
- chat_widget_settings: {
65
- welcome_message: "Merhaba! Size nas\u0131l yard\u0131mc\u0131 olabilirim?",
66
- button_background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
67
- placeholder: "Mesaj\u0131n\u0131z\u0131 yaz\u0131n...",
68
- button_position: "bottom-left",
69
- button_size: "medium",
70
- chat_width: "400px",
71
- chat_height: "600px",
72
- show_typing_indicator: true,
73
- initial_open: true,
74
- header_background: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)",
75
- company_logo: "",
76
- company_name: "Aizek",
77
- api_source_id: 0,
78
- chat_widget_settings_id: 0,
79
- created_at: "",
80
- updated_at: ""
81
- },
82
- mcp_url: "",
83
- openai_key: ""
84
- };
85
- var GENERATIVE_UI_SYSTEM_PROMPT = `
86
- You can generate interactive UI components as part of your responses.
87
- When users need to:
88
- - Provide multiple pieces of information \u2192 Generate a FORM
89
- - Make a choice between options \u2192 Generate BUTTONS
90
- - View structured data \u2192 Generate a TABLE or LIST
91
- - See entity details \u2192 Generate a CARD
92
-
93
- For each component type, include JSON in this format:
94
-
95
- \`\`\`ui-component
96
- {
97
- "version": "1.0",
98
- "title": string,
99
- "description"?: string,
100
- "components": Array<{
101
- id: string,
102
- type:
103
- | "text"
104
- | "input"
105
- | "button"
106
- | "select"
107
- | "card"
108
- | "list"
109
- | "image"
110
- | "link"
111
- | "table"
112
- | "form",
113
- label?: string,
114
- fieldType?: "text" | "number" | "date" | "textarea",
115
- requiredField?: boolean,
116
- placeholder?: string,
117
- options?: string[],
118
- columns?: string[],
119
- rows?: string[][],
120
- url?: string,
121
- fieldName?: string
122
- buttonType?: click | submit
123
- }>
124
- }
125
- \`\`\`
126
-
127
-
128
-
129
-
130
-
131
- Always provide both a conversational text response AND appropriate UI components.
132
-
133
- `;
134
1489
  var HeaderAlert = ({ headerValidation, showAlert, setShowAlert }) => {
135
1490
  if (!headerValidation || !showAlert) return null;
136
- const { isValid, missingKeys, extraKeys, emptyValueKeys } = headerValidation;
137
- if (isValid && missingKeys.length === 0 && extraKeys.length === 0 && emptyValueKeys.length === 0) {
1491
+ const { isValid, missingKeys, extraKeys, emptyValueKeys, warning } = headerValidation;
1492
+ if (isValid && missingKeys.length === 0 && extraKeys.length === 0 && emptyValueKeys.length === 0 && !warning) {
138
1493
  return null;
139
1494
  }
140
1495
  const hasErrors = missingKeys.length > 0 || emptyValueKeys.length > 0;
141
- const hasWarnings = extraKeys.length > 0;
1496
+ const hasWarnings = extraKeys.length > 0 || !!warning;
142
1497
  const alertType = hasErrors ? "error" : "warning";
143
1498
  const getAlertIcon = () => {
144
1499
  if (hasErrors) {
@@ -172,6 +1527,10 @@ var HeaderAlert = ({ headerValidation, showAlert, setShowAlert }) => {
172
1527
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u2022" }),
173
1528
  /* @__PURE__ */ jsxRuntime.jsx("code", { children: key })
174
1529
  ] }, index)) })
1530
+ ] }),
1531
+ warning && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1532
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: "Uyar\u0131:" }),
1533
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "alert-message", children: warning })
175
1534
  ] })
176
1535
  ] }),
177
1536
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -517,138 +1876,95 @@ var extractUIJsonFromText = (text) => {
517
1876
  uiData
518
1877
  };
519
1878
  };
520
- var generateId = () => Date.now().toString() + Math.random().toString(36).substr(2, 9);
521
- var normalizeHeaders = (headers) => {
522
- const result = {};
523
- for (const [key, value] of Object.entries(headers)) {
524
- if (!value) continue;
525
- if (key.toLowerCase() === "cookie") {
526
- result["x-cookie"] = value;
527
- } else {
528
- result[key] = value;
529
- }
530
- }
531
- return result;
532
- };
533
- var AizekChatBot = ({ clientId, headers }) => {
1879
+ var AizekChatBot = ({ clientId, headers, onMounted, onReady, onOpen, onClose, onMessage, onToolCall, onDisconnect }) => {
534
1880
  const messagesEndRef = react.useRef(null);
535
- const [config, setConfig] = react.useState(defaultConfig);
536
- const [anthropic, setAnthropic] = react.useState();
1881
+ const [config, setConfig] = react.useState();
537
1882
  const [messages, setMessages] = react.useState([]);
538
1883
  const [isLoading, setIsLoading] = react.useState(false);
539
- const [mcpClient, setMcpClient] = react.useState();
540
1884
  const [isConfigLoading, setIsConfigLoading] = react.useState(true);
541
1885
  const [isOpen, setIsOpen] = react.useState(false);
542
1886
  const [headerValidation, setHeaderValidation] = react.useState(null);
543
1887
  const [showAlert, setShowAlert] = react.useState(true);
544
- const { button_background, button_position, button_size, chat_height, chat_width, company_logo, company_name, header_background, initial_open, placeholder, show_typing_indicator, welcome_message } = config.chat_widget_settings;
545
- react.useEffect(() => {
546
- const loadConfig = async () => {
547
- try {
548
- setIsConfigLoading(true);
549
- const apiResponse = await fetchChatWidgetSettings(clientId);
550
- if (apiResponse.success) {
551
- const anthropic2 = new Anthropic__default.default({ apiKey: apiResponse.data.openai_key, dangerouslyAllowBrowser: true });
552
- const mcpClient2 = new client.Client({ name: "mcp-client-cli", version: "1.0.0" });
553
- const transport = new sse_js.SSEClientTransport(new URL("", apiResponse.data.mcp_url), {
554
- eventSourceInit: {
555
- fetch: (url, init) => {
556
- if (headers) {
557
- const dynamicHeaders = normalizeHeaders(headers);
558
- return fetch(url, {
559
- headers: {
560
- ...init?.headers ?? {},
561
- ...dynamicHeaders
562
- }
563
- });
564
- } else {
565
- return fetch(url, {
566
- headers: {
567
- ...init?.headers ?? {}
568
- }
569
- });
570
- }
571
- }
1888
+ const loadConfig = async () => {
1889
+ try {
1890
+ setIsConfigLoading(true);
1891
+ const response = await fetch("https://proxy.aizek.ai/api/aizek-connect", {
1892
+ method: "POST",
1893
+ headers: {
1894
+ "Content-Type": "application/json",
1895
+ ...headers
1896
+ },
1897
+ body: JSON.stringify({ clientId }),
1898
+ credentials: "include"
1899
+ });
1900
+ const data = await response.json();
1901
+ if (data.success) {
1902
+ setIsOpen(data.data.chat_widget_settings.initial_open);
1903
+ setConfig(data.data);
1904
+ console.log(data.data);
1905
+ if (headers) {
1906
+ const validationResult = validateHeaders(
1907
+ headers,
1908
+ data.data.auth_config,
1909
+ {
1910
+ allowExtra: false,
1911
+ caseSensitive: true
572
1912
  }
573
- });
574
- await mcpClient2.connect(transport);
575
- setMcpClient(mcpClient2);
576
- setAnthropic(anthropic2);
577
- if (headers && apiResponse.data.auth_config) {
578
- const validationResult = validateHeaders(
579
- headers,
580
- apiResponse.data.auth_config,
581
- {
582
- allowExtra: false,
583
- caseSensitive: true
584
- }
585
- );
586
- setHeaderValidation(validationResult);
587
- }
588
- if (!apiResponse.data.chat_widget_settings) {
589
- setConfig({
590
- auth_config: apiResponse.data.auth_config,
591
- mcp_url: apiResponse.data.mcp_url,
592
- openai_key: apiResponse.data.openai_key,
593
- chat_widget_settings: {
594
- api_source_id: 0,
595
- chat_widget_settings_id: 0,
596
- created_at: "",
597
- updated_at: "",
598
- button_background: defaultConfig.chat_widget_settings.button_background,
599
- button_position: defaultConfig.chat_widget_settings.button_position,
600
- button_size: defaultConfig.chat_widget_settings.button_size,
601
- chat_height: defaultConfig.chat_widget_settings.chat_height,
602
- chat_width: defaultConfig.chat_widget_settings.chat_width,
603
- company_logo: defaultConfig.chat_widget_settings.company_logo,
604
- company_name: defaultConfig.chat_widget_settings.company_name,
605
- header_background: defaultConfig.chat_widget_settings.header_background,
606
- initial_open: defaultConfig.chat_widget_settings.initial_open,
607
- placeholder: defaultConfig.chat_widget_settings.placeholder,
608
- show_typing_indicator: defaultConfig.chat_widget_settings.show_typing_indicator,
609
- welcome_message: defaultConfig.chat_widget_settings.welcome_message
610
- }
611
- });
612
- } else {
613
- setConfig(apiResponse.data);
614
- }
1913
+ );
1914
+ setHeaderValidation(validationResult);
615
1915
  }
616
- } catch (error) {
617
- console.error("Failed to load chat widget config:", error);
618
- } finally {
619
- setIsConfigLoading(false);
1916
+ onReady?.({ config: { ...data.data } });
1917
+ } else {
1918
+ setIsOpen(false);
620
1919
  }
621
- };
1920
+ } catch (error) {
1921
+ console.error("Failed to load chat widget config:", error);
1922
+ } finally {
1923
+ setIsConfigLoading(false);
1924
+ }
1925
+ };
1926
+ const disconnect = async () => {
1927
+ try {
1928
+ setIsConfigLoading(true);
1929
+ await fetch("http://localhost:3001/api/aizek-disconnect", {
1930
+ method: "POST",
1931
+ headers: {
1932
+ "Content-Type": "application/json",
1933
+ ...headers
1934
+ },
1935
+ credentials: "include"
1936
+ });
1937
+ onDisconnect?.();
1938
+ } catch (error) {
1939
+ console.error("Failed to load chat widget config:", error);
1940
+ } finally {
1941
+ setIsConfigLoading(false);
1942
+ }
1943
+ };
1944
+ react.useEffect(() => {
1945
+ onMounted?.();
622
1946
  loadConfig();
1947
+ return () => {
1948
+ disconnect();
1949
+ };
623
1950
  }, []);
624
1951
  react.useEffect(() => {
625
- setIsOpen(initial_open);
626
- }, [initial_open]);
1952
+ const newIsOpen = !isOpen;
1953
+ setIsOpen(newIsOpen);
1954
+ if (newIsOpen) onOpen?.();
1955
+ else onClose?.();
1956
+ }, [config?.chat_widget_settings.initial_open]);
627
1957
  react.useEffect(() => {
628
1958
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
629
1959
  }, [messages]);
630
- if (isConfigLoading || !mcpClient || !anthropic) {
631
- return /* @__PURE__ */ jsxRuntime.jsx("button", { className: `floating-button ${button_position} button-sizes ${button_size}`, style: { background: button_background }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "loading-spinner" }) });
632
- }
633
- const historyMessages = (history, currentUserText) => {
634
- const claudeHistory = history.filter((m) => m.role === "user" || m.role === "assistant").map((m) => ({
635
- role: m.role,
636
- content: m.text ?? JSON.stringify(m.ui ?? "")
637
- }));
638
- claudeHistory.push({
639
- role: "user",
640
- content: currentUserText
641
- });
642
- return claudeHistory;
643
- };
644
1960
  const addMessage = (payload) => {
645
1961
  const newMessage = {
646
- id: generateId(),
647
1962
  text: payload.text,
648
1963
  ui: payload.ui,
649
1964
  role: payload.role,
650
1965
  timestamp: /* @__PURE__ */ new Date()
651
1966
  };
1967
+ onMessage?.(newMessage);
652
1968
  setMessages((prev) => [...prev, newMessage]);
653
1969
  messagesEndRef.current?.scrollIntoView({ behavior: "smooth" });
654
1970
  return newMessage;
@@ -656,7 +1972,6 @@ var AizekChatBot = ({ clientId, headers }) => {
656
1972
  const sendMessage = async (message, approval) => {
657
1973
  if (!message.trim() || isLoading) return;
658
1974
  const newMessage = {
659
- id: generateId(),
660
1975
  text: message,
661
1976
  ui: void 0,
662
1977
  role: approval ? "approval" : "user",
@@ -664,105 +1979,141 @@ var AizekChatBot = ({ clientId, headers }) => {
664
1979
  };
665
1980
  setMessages((prev) => [...prev, newMessage]);
666
1981
  setIsLoading(true);
667
- const toolsResult = await mcpClient.listTools();
668
- const tools = toolsResult.tools.map((tool) => {
669
- return {
670
- name: tool.name,
671
- description: tool.description,
672
- input_schema: tool.inputSchema
673
- };
674
- });
675
1982
  try {
676
- const historyForContext = historyMessages([...messages, newMessage], message);
677
- const response = await anthropic.beta.messages.create({
678
- model: "claude-sonnet-4-5",
679
- betas: ["structured-outputs-2025-11-13"],
680
- max_tokens: 5e3,
681
- messages: historyForContext,
682
- tools,
683
- system: GENERATIVE_UI_SYSTEM_PROMPT
1983
+ const response = await fetch("http://localhost:3001/api/aizek-chat", {
1984
+ method: "POST",
1985
+ headers: {
1986
+ "Content-Type": "application/json"
1987
+ },
1988
+ body: JSON.stringify({ message }),
1989
+ credentials: "include"
684
1990
  });
685
- for (const content of response.content) {
686
- if (content.type === "tool_use") {
687
- const toolCall = await mcpClient.callTool({ name: content.name, arguments: content.input });
688
- const toolMessagesForContext = historyMessages([...messages, newMessage], JSON.stringify(toolCall.structuredContent));
689
- const finalResponse = await anthropic.beta.messages.create({
690
- model: "claude-sonnet-4-5",
691
- max_tokens: 1024,
692
- betas: ["structured-outputs-2025-11-13"],
693
- messages: toolMessagesForContext,
694
- tools,
695
- system: GENERATIVE_UI_SYSTEM_PROMPT
696
- });
697
- const textBlock = finalResponse.content.find((x) => x.type === "text");
698
- const { cleanedText, uiData } = extractUIJsonFromText(textBlock?.text ?? "");
699
- addMessage({ ui: uiData, text: cleanedText || void 0, role: "assistant" });
700
- } else if (content.type === "text") {
701
- const { cleanedText, uiData } = extractUIJsonFromText(content?.text);
702
- console.log(cleanedText, uiData);
703
- addMessage({ ui: uiData, text: cleanedText || void 0, role: "assistant" });
1991
+ if (!response.ok) {
1992
+ throw new Error(`HTTP error ${response.status}`);
1993
+ }
1994
+ if (!response.body) {
1995
+ throw new Error("Streaming desteklenmiyor (response.body yok)");
1996
+ }
1997
+ const reader = response.body.getReader();
1998
+ const decoder = new TextDecoder();
1999
+ let buffer = "";
2000
+ while (true) {
2001
+ const { value, done } = await reader.read();
2002
+ if (done) break;
2003
+ buffer += decoder.decode(value, { stream: true });
2004
+ const chunks = buffer.split("\n\n");
2005
+ buffer = chunks.pop() ?? "";
2006
+ for (const rawChunk of chunks) {
2007
+ const line = rawChunk.split("\n").find((l) => l.startsWith("data:"));
2008
+ if (!line) continue;
2009
+ const jsonStr = line.replace(/^data:\s*/, "").trim();
2010
+ if (!jsonStr) continue;
2011
+ const event = JSON.parse(jsonStr);
2012
+ if (event.type === "assistant_text" && event.content) {
2013
+ const { cleanedText, uiData } = extractUIJsonFromText(event.content);
2014
+ addMessage({
2015
+ text: cleanedText,
2016
+ ui: uiData,
2017
+ role: "assistant"
2018
+ });
2019
+ }
2020
+ if (event.type === "assistant_tool_result" && event.content) {
2021
+ const toolInfoParsed = JSON.parse(event.content);
2022
+ onToolCall?.(toolInfoParsed);
2023
+ }
2024
+ if (event.type === "error" && event.content) {
2025
+ const { cleanedText, uiData } = extractUIJsonFromText(event.content);
2026
+ addMessage({
2027
+ text: cleanedText,
2028
+ ui: uiData,
2029
+ role: "assistant"
2030
+ });
2031
+ }
704
2032
  }
705
2033
  }
706
- setIsLoading(false);
707
2034
  } catch (error) {
708
2035
  console.error("Error sending message:", error);
709
2036
  addMessage({ text: "\xDCzg\xFCn\xFCm, bir hata olu\u015Ftu. L\xFCtfen tekrar deneyin.", role: "assistant" });
2037
+ } finally {
710
2038
  setIsLoading(false);
711
2039
  }
712
2040
  };
713
2041
  const toggleChat = () => {
714
2042
  const newIsOpen = !isOpen;
715
2043
  setIsOpen(newIsOpen);
2044
+ if (newIsOpen) onOpen?.();
2045
+ else onClose?.();
716
2046
  };
717
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2047
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: isConfigLoading ? /* @__PURE__ */ jsxRuntime.jsx(
2048
+ "button",
2049
+ {
2050
+ className: "floating-button bottom-right button-sizes medium loading-state",
2051
+ style: { background: "#4f46e5" },
2052
+ "aria-label": "Y\xFCkleniyor",
2053
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "loading-spinner" })
2054
+ }
2055
+ ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
718
2056
  isOpen && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `overlay floating-chat-overlay ${isOpen ? "is-open" : ""}`, onClick: toggleChat }),
719
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `chat-container ${button_position} ${isOpen ? "is-open" : ""}`, style: { width: chat_width, height: chat_height }, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "chatbot-container", children: [
720
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "header", style: { background: header_background }, children: [
721
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "logo-container", children: company_logo ? company_logo.startsWith("http") || company_logo.startsWith("data:") ? /* @__PURE__ */ jsxRuntime.jsx(
2057
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `chat-container ${config?.chat_widget_settings.button_position} ${isOpen ? "is-open" : ""}`, style: { width: config?.chat_widget_settings.chat_width, height: config?.chat_widget_settings.chat_height }, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "chatbot-container", children: [
2058
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "header", style: { background: config?.chat_widget_settings.header_background }, children: [
2059
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "logo-container", children: config?.chat_widget_settings.company_logo ? config?.chat_widget_settings.company_logo.startsWith("http") || config?.chat_widget_settings.company_logo.startsWith("data:") ? /* @__PURE__ */ jsxRuntime.jsx(
722
2060
  "img",
723
2061
  {
724
- src: company_logo,
2062
+ src: config?.chat_widget_settings.company_logo,
725
2063
  alt: "Company Logo",
726
2064
  className: "logo-image"
727
2065
  }
728
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "logo-text", children: company_logo }) : "\u{1F916}" }),
2066
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "logo-text", children: config?.chat_widget_settings.company_logo }) : "\u{1F916}" }),
729
2067
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
730
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "company-name", children: company_name }),
2068
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "company-name", children: config?.chat_widget_settings.company_name }),
731
2069
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "status-text", children: isLoading ? "Yaz\u0131yor..." : "\xC7evrimi\xE7i" })
732
2070
  ] })
733
2071
  ] }),
734
2072
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "messages-container", children: [
735
- /* @__PURE__ */ jsxRuntime.jsx(HeaderAlert, { headerValidation, setShowAlert, showAlert }),
2073
+ /* @__PURE__ */ jsxRuntime.jsx(
2074
+ HeaderAlert,
2075
+ {
2076
+ headerValidation,
2077
+ setShowAlert,
2078
+ showAlert
2079
+ }
2080
+ ),
736
2081
  messages.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "empty-state", children: [
737
2082
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "empty-state-icon", children: "\u{1F4AC}" }),
738
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "empty-state-title", children: welcome_message }),
2083
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "empty-state-title", children: config?.chat_widget_settings.welcome_message }),
739
2084
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "empty-state-description", children: "A\u015Fa\u011F\u0131daki alana mesaj\u0131n\u0131z\u0131 yazarak ba\u015Flayabilirsiniz." })
740
2085
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
741
- messages.map((message) => /* @__PURE__ */ jsxRuntime.jsx(
2086
+ messages.map((message, index) => /* @__PURE__ */ jsxRuntime.jsx(
742
2087
  MessageBubble,
743
2088
  {
744
2089
  message,
745
2090
  onAction: sendMessage
746
2091
  },
747
- message.id
2092
+ index
748
2093
  )),
749
- show_typing_indicator && isLoading && /* @__PURE__ */ jsxRuntime.jsx(TypingDots, {})
750
- ] }),
751
- /* @__PURE__ */ jsxRuntime.jsx("div", { ref: messagesEndRef })
2094
+ config?.chat_widget_settings.show_typing_indicator && isLoading && /* @__PURE__ */ jsxRuntime.jsx(TypingDots, {})
2095
+ ] })
752
2096
  ] }),
753
- /* @__PURE__ */ jsxRuntime.jsx(ChatInput, { handleSendMessage: sendMessage, isLoading, placeholder })
2097
+ /* @__PURE__ */ jsxRuntime.jsx(
2098
+ ChatInput,
2099
+ {
2100
+ handleSendMessage: sendMessage,
2101
+ isLoading,
2102
+ placeholder: config?.chat_widget_settings.placeholder ?? ""
2103
+ }
2104
+ )
754
2105
  ] }) }),
755
2106
  /* @__PURE__ */ jsxRuntime.jsx(
756
2107
  "button",
757
2108
  {
758
2109
  onClick: toggleChat,
759
- className: `floating-button ${button_position} button-sizes ${button_size} ${isOpen ? "is-open" : ""}`,
760
- style: { background: button_background },
2110
+ className: `floating-button ${config?.chat_widget_settings.button_position} button-sizes ${config?.chat_widget_settings.button_size} ${isOpen ? "is-open" : ""}`,
2111
+ style: { background: config?.chat_widget_settings.button_background },
761
2112
  "aria-label": isOpen ? "Chati kapat" : "Chati a\xE7",
762
2113
  children: isOpen ? /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h4l4 4 4-4h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z" }) })
763
2114
  }
764
2115
  )
765
- ] });
2116
+ ] }) });
766
2117
  };
767
2118
 
768
2119
  exports.AizekChatBot = AizekChatBot;