@serve.zone/catalog 2.8.0 → 2.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/catalog',
6
- version: '2.8.0',
6
+ version: '2.9.1',
7
7
  description: 'UI component catalog for serve.zone'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxxQ0FBcUM7Q0FDbkQsQ0FBQSJ9
@@ -36,5 +36,6 @@ export declare class SzAppStoreView extends DeesElement {
36
36
  render(): TemplateResult;
37
37
  private renderAppCard;
38
38
  private renderIconByName;
39
+ private handleViewDetails;
39
40
  private handleDeploy;
40
41
  }
@@ -423,6 +423,34 @@ let SzAppStoreView = (() => {
423
423
  height: 14px;
424
424
  }
425
425
 
426
+ .details-button {
427
+ display: inline-flex;
428
+ align-items: center;
429
+ gap: 6px;
430
+ padding: 7px 12px;
431
+ border-radius: 6px;
432
+ font-size: 13px;
433
+ font-weight: 500;
434
+ cursor: pointer;
435
+ transition: all 200ms ease;
436
+ border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
437
+ background: transparent;
438
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
439
+ white-space: nowrap;
440
+ flex-shrink: 0;
441
+ }
442
+
443
+ .details-button:hover {
444
+ border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
445
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
446
+ }
447
+
448
+ .card-actions {
449
+ display: flex;
450
+ align-items: center;
451
+ gap: 8px;
452
+ }
453
+
426
454
  .empty-state {
427
455
  grid-column: 1 / -1;
428
456
  padding: 64px 24px;
@@ -538,16 +566,21 @@ let SzAppStoreView = (() => {
538
566
  <div class="app-description">${app.description}</div>
539
567
  <div class="card-footer">
540
568
  <span class="image-tag" title="${app.image}">${app.image}</span>
541
- <button class="deploy-button" @click=${() => this.handleDeploy(app)}>
542
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
543
- <polyline points="20 12 20 22 4 22 4 12"></polyline>
544
- <rect x="2" y="7" width="20" height="5"></rect>
545
- <line x1="12" y1="22" x2="12" y2="7"></line>
546
- <path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path>
547
- <path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>
548
- </svg>
549
- Deploy
550
- </button>
569
+ <div class="card-actions">
570
+ <button class="details-button" @click=${() => this.handleViewDetails(app)}>
571
+ View Details
572
+ </button>
573
+ <button class="deploy-button" @click=${() => this.handleDeploy(app)}>
574
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
575
+ <polyline points="20 12 20 22 4 22 4 12"></polyline>
576
+ <rect x="2" y="7" width="20" height="5"></rect>
577
+ <line x1="12" y1="22" x2="12" y2="7"></line>
578
+ <path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path>
579
+ <path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>
580
+ </svg>
581
+ Deploy
582
+ </button>
583
+ </div>
551
584
  </div>
552
585
  </div>
553
586
  `;
@@ -567,6 +600,13 @@ let SzAppStoreView = (() => {
567
600
  };
568
601
  return icons[name] || html `<span class="letter-fallback">?</span>`;
569
602
  }
603
+ handleViewDetails(app) {
604
+ this.dispatchEvent(new CustomEvent('view-app', {
605
+ detail: { app },
606
+ bubbles: true,
607
+ composed: true,
608
+ }));
609
+ }
570
610
  handleDeploy(app) {
571
611
  this.dispatchEvent(new CustomEvent('deploy-app', {
572
612
  detail: { app },
@@ -585,4 +625,4 @@ let SzAppStoreView = (() => {
585
625
  return SzAppStoreView = _classThis;
586
626
  })();
587
627
  export { SzAppStoreView };
588
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otYXBwLXN0b3JlLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otYXBwLXN0b3JlLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEdBRU4sTUFBTSw2QkFBNkIsQ0FBQztJQXlCeEIsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztnQ0E0RjVDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQzs0Q0FHekIsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFBRTtZQUxSLGlLQUFnQixJQUFJLDZCQUFKLElBQUksbUZBQXNCO1lBRzFDLHFNQUFpQixnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBaUI7WUFHbEQsc0xBQWlCLFdBQVcsNkJBQVgsV0FBVyxpR0FBYztZQW5HNUMsNktBcWhCQzs7OztRQXBoQlEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7OztnQkFHakI7WUFDTjtnQkFDRSxFQUFFLEVBQUUsV0FBVztnQkFDZixJQUFJLEVBQUUsV0FBVztnQkFDakIsV0FBVyxFQUFFLGtHQUFrRztnQkFDL0csUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCLElBQUksRUFBRSxFQUFFO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFF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
628
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otYXBwLXN0b3JlLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc3otYXBwLXN0b3JlLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLElBQUksRUFDSixHQUFHLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixLQUFLLEdBRU4sTUFBTSw2QkFBNkIsQ0FBQztJQXlCeEIsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztnQ0E0RjVDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQzs0Q0FHekIsS0FBSyxFQUFFO3VDQUdQLEtBQUssRUFBRTtZQUxSLGlLQUFnQixJQUFJLDZCQUFKLElBQUksbUZBQXNCO1lBRzFDLHFNQUFpQixnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBaUI7WUFHbEQsc0xBQWlCLFdBQVcsNkJBQVgsV0FBVyxpR0FBYztZQW5HNUMsNktBZ2tCQzs7OztRQS9qQlEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7OztnQkFHakI7WUFDTjtnQkFDRSxFQUFFLEVBQUUsV0FBVztnQkFDZixJQUFJLEVBQUUsV0FBVztnQkFDakIsV0FBVyxFQUFFLGtHQUFrRztnQkFDL0csUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLEtBQUssRUFBRSxrQkFBa0I7Z0JBQ3pCLElBQUksRUFBRSxFQUFFO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxFQUFFLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFF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
@@ -52,6 +52,13 @@ export interface IRouteSecurity {
52
52
  window: number;
53
53
  };
54
54
  }
55
+ export interface IRouteMetadata {
56
+ securityProfileRef?: string;
57
+ networkTargetRef?: string;
58
+ securityProfileName?: string;
59
+ networkTargetName?: string;
60
+ lastResolvedAt?: number;
61
+ }
55
62
  export interface IRouteConfig {
56
63
  id?: string;
57
64
  match: IRouteMatch;
@@ -61,6 +68,7 @@ export interface IRouteConfig {
61
68
  request?: Record<string, string>;
62
69
  response?: Record<string, string>;
63
70
  };
71
+ metadata?: IRouteMetadata;
64
72
  name?: string;
65
73
  description?: string;
66
74
  priority?: number;
@@ -74,5 +82,6 @@ export declare class SzRouteCard extends DeesElement {
74
82
  static styles: import("@design.estate/dees-element").CSSResult[];
75
83
  render(): TemplateResult;
76
84
  private renderDomains;
85
+ private renderLinked;
77
86
  private renderFeatures;
78
87
  }
@@ -109,6 +109,10 @@ let SzRouteCard = (() => {
109
109
  rateLimit: { enabled: true, maxRequests: 100, window: 60 },
110
110
  maxConnections: 1000,
111
111
  },
112
+ metadata: {
113
+ securityProfileName: 'STANDARD',
114
+ networkTargetName: 'LOSSLESS_INFRA',
115
+ },
112
116
  }}
113
117
  ></sz-route-card>
114
118
  </div>
@@ -276,6 +280,21 @@ let SzRouteCard = (() => {
276
280
  border-left-color: ${cssManager.bdTheme('#f59e0b', '#f59e0b')};
277
281
  }
278
282
 
283
+ .section.linked {
284
+ border-left-color: ${cssManager.bdTheme('#8b5cf6', '#8b5cf6')};
285
+ }
286
+
287
+ .linked-name {
288
+ display: inline-flex;
289
+ padding: 1px 6px;
290
+ border-radius: 3px;
291
+ font-size: 12px;
292
+ font-weight: 600;
293
+ font-family: monospace;
294
+ background: ${cssManager.bdTheme('#ede9fe', 'rgba(139, 92, 246, 0.15)')};
295
+ color: ${cssManager.bdTheme('#6d28d9', '#a78bfa')};
296
+ }
297
+
279
298
  .section-label {
280
299
  font-size: 10px;
281
300
  font-weight: 600;
@@ -599,6 +618,9 @@ let SzRouteCard = (() => {
599
618
  `
600
619
  : ''}
601
620
 
621
+ <!-- Linked References Section -->
622
+ ${this.renderLinked()}
623
+
602
624
  <!-- Feature Icons Row -->
603
625
  ${this.renderFeatures()}
604
626
  </div>
@@ -608,6 +630,36 @@ let SzRouteCard = (() => {
608
630
  const list = Array.isArray(domains) ? domains : [domains];
609
631
  return html `${list.map((d) => html `<span class="domain-chip ${d.includes('*') ? 'glob' : ''}">${d}</span>`)}`;
610
632
  }
633
+ renderLinked() {
634
+ const meta = this.route?.metadata;
635
+ if (!meta)
636
+ return html ``;
637
+ const hasProfile = !!meta.securityProfileName;
638
+ const hasTarget = !!meta.networkTargetName;
639
+ if (!hasProfile && !hasTarget)
640
+ return html ``;
641
+ return html `
642
+ <div class="section linked">
643
+ <div class="section-label">Linked</div>
644
+ ${hasProfile
645
+ ? html `
646
+ <div class="field-row">
647
+ <span class="field-key">Profile</span>
648
+ <span class="field-value"><span class="linked-name">${meta.securityProfileName}</span></span>
649
+ </div>
650
+ `
651
+ : ''}
652
+ ${hasTarget
653
+ ? html `
654
+ <div class="field-row">
655
+ <span class="field-key">Target</span>
656
+ <span class="field-value"><span class="linked-name">${meta.networkTargetName}</span></span>
657
+ </div>
658
+ `
659
+ : ''}
660
+ </div>
661
+ `;
662
+ }
611
663
  renderFeatures() {
612
664
  if (!this.route)
613
665
  return html ``;
@@ -615,6 +667,7 @@ let SzRouteCard = (() => {
615
667
  const action = this.route.action;
616
668
  const security = this.route.security;
617
669
  const headers = this.route.headers;
670
+ const meta = this.route.metadata;
618
671
  if (action.tls) {
619
672
  features.push(html `<span class="feature"><span class="feature-icon">&#x1f512;</span>TLS</span>`);
620
673
  }
@@ -630,6 +683,9 @@ let SzRouteCard = (() => {
630
683
  if (headers) {
631
684
  features.push(html `<span class="feature"><span class="feature-icon">&#x2699;</span>Headers</span>`);
632
685
  }
686
+ if (meta?.securityProfileName || meta?.networkTargetName) {
687
+ features.push(html `<span class="feature"><span class="feature-icon">&#x1f517;</span>Linked</span>`);
688
+ }
633
689
  if (features.length === 0)
634
690
  return html ``;
635
691
  return html `<div class="features-row">${features}</div>`;
@@ -645,4 +701,4 @@ let SzRouteCard = (() => {
645
701
  return SzRouteCard = _classThis;
646
702
  })();
647
703
  export { SzRouteCard };
648
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yb3V0ZS1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQThEckMsU0FBUyxXQUFXLENBQUMsS0FBaUI7SUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXVCO0lBQzVDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
704
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3otcm91dGUtY2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zei1yb3V0ZS1jYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixJQUFJLEVBQ0osR0FBRyxFQUNILFVBQVUsRUFDVixRQUFRLEdBRVQsTUFBTSw2QkFBNkIsQ0FBQztBQXVFckMsU0FBUyxXQUFXLENBQUMsS0FBaUI7SUFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsT0FBTyxLQUFLO2FBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDVCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQXVCO0lBQzVDLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RFLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztJQUdZLFdBQVc7NEJBRHZCLGFBQWEsQ0FBQyxlQUFlLENBQUM7Ozs7c0JBQ0UsV0FBVzs7OzsyQkFBbkIsU0FBUSxXQUFXOzs7O2lDQTRDekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzNCLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBQTZCO1lBN0NwRCw2S0FrbkJDOzs7O1FBam5CUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7O2lCQUdoQjtZQUNQLElBQUksRUFBRSxhQUFhO1lBQ25CLFdBQVcsRUFBRSwwREFBMEQ7WUFDdkUsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1lBQ2xDLEtBQUssRUFBRTtnQkFDTCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQztnQkFDaEQsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLE1BQWU7Z0JBQ3pCLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN6QjtZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsU0FBa0I7Z0JBQ3hCLE9BQU8sRUFBRTtvQkFDUCxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2lCQUMvQztnQkFDRCxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBb0IsRUFBRSxXQUFXLEVBQUUsTUFBZSxFQUFFO2dCQUNqRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO2dCQUM1QixhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsYUFBc0IsRUFBRTtnQkFDcEQsZ0JBQWdCLEVBQUUsVUFBbUI7YUFDdEM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUMzQixXQUFXLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakMsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7Z0JBQzFELGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLG1CQUFtQixFQUFFLFVBQVU7Z0JBQy9CLGlCQUFpQixFQUFFLGdCQUFnQjthQUNwQztTQUNxQjs7O0dBRzdCLENBQUM7UUFFSyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHdEMsdUVBQTZDLElBQUksRUFBQztRQUFsRCxJQUFnQixLQUFLLDJDQUE2QjtRQUFsRCxJQUFnQixLQUFLLGlEQUE2QjtRQUUzQyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7O3NCQU1lLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs0QkFDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7O3dCQU81QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Z0NBQ2hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkEyQm5FLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs4QkFDaEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQzs7OztzQkFJeEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7aUJBTTdDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0JBdUJuQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQztpQkFDN0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O3NCQUluQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQztpQkFDN0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O3NCQUluQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQztpQkFDNUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O3NCQUluQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSwwQkFBMEIsQ0FBQztpQkFDOUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7OztpQkFLeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3NCQXNCbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O2lCQUk3QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7O2lCQUt4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7c0JBVW5DLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7NkJBUWpDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs2QkFJeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7OzZCQUl4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7NkJBSXhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7OztzQkFVL0MsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsMEJBQTBCLENBQUM7aUJBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7aUJBUXhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUJ4QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7aUJBT3hDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7OztzQkFPbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUM7Ozs7Ozs7OztzQkFTeEQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsMEJBQTBCLENBQUM7aUJBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7c0JBaUJuQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQztpQkFDN0QsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7O3NCQUluQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsQ0FBQztpQkFDNUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7Ozs7Ozs7Ozs7c0JBWW5DLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLHdCQUF3QixDQUFDO2lCQUM1RCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7c0JBSW5DLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLHlCQUF5QixDQUFDO2lCQUM3RCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7OztzQkFTbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUseUJBQXlCLENBQUM7aUJBQzdELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztnQ0FnQnpCLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7Ozs7Ozs7O2lCQVN2RCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7Ozs7Ozs7Ozs7aUJBVXhDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzs7O0tBR3BEO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQixPQUFPLElBQUksQ0FBQSxtRUFBbUUsQ0FBQztZQUNqRixDQUFDO1lBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3RCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDeEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUU1QixPQUFPLElBQUksQ0FBQTs7Ozs7c0NBS3VCLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVO3VDQUNqQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksZUFBZTs7O2lDQUd2QyxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJO2lDQUMzQixTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVOzs7O1VBSWhHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSw0QkFBNEIsQ0FBQyxDQUFDLFdBQVcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7WUFHeEUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUMzQixDQUFDLENBQUMsSUFBSSxDQUFBLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFBLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxRQUFRO2dCQUN6RixDQUFDLENBQUMsSUFBSSxDQUFBLGFBQWE7WUFDbkIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxvQ0FBb0MsQ0FBQyxDQUFDLFFBQVEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7Ozs7Ozs2Q0FRcEQsV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7O1lBRXpELEtBQUssQ0FBQyxPQUFPO2dCQUNiLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs4Q0FHNEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDOztlQUVoRTtnQkFDSCxDQUFDLENBQUMsRUFBRTtZQUNKLEtBQUssQ0FBQyxJQUFJO2dCQUNWLENBQUMsQ0FBQyxJQUFJLENBQUE7OzttREFHaUMsS0FBSyxDQUFDLElBQUk7O2VBRTlDO2dCQUNILENBQUMsQ0FBQyxFQUFFO1lBQ0osS0FBSyxDQUFDLFFBQVE7Z0JBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQTs7OztrREFJZ0MsS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUTs7O2VBR3BFO2dCQUNILENBQUMsQ0FBQyxFQUFFO1lBQ0osS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7bURBR2lDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7ZUFFN0Q7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7WUFDSixLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs4Q0FHNEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOztlQUUxRDtnQkFDSCxDQUFDLENBQUMsRUFBRTtZQUNKLEtBQUssQ0FBQyxPQUFPO2dCQUNiLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs7c0JBSUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUNqQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUEsNkJBQTZCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDOUQ7OztlQUdOO2dCQUNILENBQUMsQ0FBQyxFQUFFOzs7Ozs7WUFNSixNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUE7OzttREFHaUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOztlQUU1RTtnQkFDSCxDQUFDLENBQUMsRUFBRTtZQUNKLE1BQU0sQ0FBQyxHQUFHO2dCQUNWLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs7c0JBSUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3NCQUNmLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVztvQkFDdEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLE1BQU07d0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUEsZ0RBQWdEO3dCQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFBLG9EQUFvRDtvQkFDNUQsQ0FBQyxDQUFDLEVBQUU7OztlQUdYO2dCQUNILENBQUMsQ0FBQyxFQUFFO1lBQ0osTUFBTSxDQUFDLGdCQUFnQjtnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQTs7O3lFQUd1RCxNQUFNLENBQUMsZ0JBQWdCOztlQUVqRjtnQkFDSCxDQUFDLENBQUMsRUFBRTtZQUNKLE1BQU0sQ0FBQyxhQUFhO2dCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFBOzs7OENBRzRCLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUzs7ZUFFN0Q7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7WUFDSixNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU87Z0JBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs7O2VBS0g7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7Ozs7VUFJTixRQUFRO2dCQUNSLENBQUMsQ0FBQyxJQUFJLENBQUE7OztrQkFHRSxRQUFRLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQ3ZELENBQUMsQ0FBQyxJQUFJLENBQUE7Ozt5REFHaUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOztxQkFFbkU7b0JBQ0gsQ0FBQyxDQUFDLEVBQUU7a0JBQ0osUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFBOzs7eURBR2lDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7cUJBRW5FO29CQUNILENBQUMsQ0FBQyxFQUFFO2tCQUNKLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTztvQkFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQTs7O29EQUc0QixRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsVUFBVSxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU07O3FCQUVoRztvQkFDSCxDQUFDLENBQUMsRUFBRTtrQkFDSixRQUFRLENBQUMsY0FBYztvQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQTs7O29EQUc0QixRQUFRLENBQUMsY0FBYzs7cUJBRXREO29CQUNILENBQUMsQ0FBQyxFQUFFOzthQUVUO2dCQUNILENBQUMsQ0FBQyxFQUFFOzs7VUFHSixJQUFJLENBQUMsWUFBWSxFQUFFOzs7VUFHbkIsSUFBSSxDQUFDLGNBQWMsRUFBRTs7S0FFMUIsQ0FBQztRQUNKLENBQUM7UUFFTyxhQUFhLENBQUMsT0FBMEI7WUFDOUMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFELE9BQU8sSUFBSSxDQUFBLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDcEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLElBQUksQ0FBQSw0QkFBNEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQy9FLEVBQUUsQ0FBQztRQUNOLENBQUM7UUFFTyxZQUFZO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJO2dCQUFFLE9BQU8sSUFBSSxDQUFBLEVBQUUsQ0FBQztZQUN6QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQzlDLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVM7Z0JBQUUsT0FBTyxJQUFJLENBQUEsRUFBRSxDQUFDO1lBRTdDLE9BQU8sSUFBSSxDQUFBOzs7VUFHTCxVQUFVO2dCQUNWLENBQUMsQ0FBQyxJQUFJLENBQUE7OztzRUFHc0QsSUFBSSxDQUFDLG1CQUFtQjs7YUFFakY7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7VUFDSixTQUFTO2dCQUNULENBQUMsQ0FBQyxJQUFJLENBQUE7OztzRUFHc0QsSUFBSSxDQUFDLGlCQUFpQjs7YUFFL0U7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUU7O0tBRVQsQ0FBQztRQUNKLENBQUM7UUFFTyxjQUFjO1lBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQSxFQUFFLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQXFCLEVBQUUsQ0FBQztZQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUVqQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSw2RUFBNkUsQ0FBQyxDQUFDO1lBQ25HLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQzlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLDJFQUEyRSxDQUFDLENBQUM7WUFDakcsQ0FBQztZQUNELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQSwyRUFBMkUsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFDRCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLGtGQUFrRixDQUFDLENBQUM7WUFDeEcsQ0FBQztZQUNELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUEsZ0ZBQWdGLENBQUMsQ0FBQztZQUN0RyxDQUFDO1lBQ0QsSUFBSSxJQUFJLEVBQUUsbUJBQW1CLElBQUksSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBLGdGQUFnRixDQUFDLENBQUM7WUFDdEcsQ0FBQztZQUVELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFBLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQSw2QkFBNkIsUUFBUSxRQUFRLENBQUM7UUFDM0QsQ0FBQzs7Ozs7O1lBam5CVSx1REFBVzs7Ozs7U0FBWCxXQUFXIn0=
package/license ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Task Venture Capital GmbH
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@serve.zone/catalog",
3
- "version": "2.8.0",
3
+ "version": "2.9.1",
4
4
  "private": false,
5
5
  "description": "UI component catalog for serve.zone",
6
6
  "main": "dist_ts_web/index.js",
@@ -8,35 +8,34 @@
8
8
  "type": "module",
9
9
  "scripts": {
10
10
  "test": "tstest test/",
11
- "build": "tsbuild tsfolders --allowimplicitany && tsbundle element --production",
11
+ "build": "tsbuild tsfolders --allowimplicitany && tsbundle",
12
12
  "watch": "tswatch"
13
13
  },
14
14
  "author": "Lossless GmbH",
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "@design.estate/dees-catalog": "^3.43.0",
18
- "@design.estate/dees-domtools": "^2.3.8",
19
- "@design.estate/dees-element": "^2.1.6",
17
+ "@design.estate/dees-catalog": "^3.49.2",
18
+ "@design.estate/dees-domtools": "^2.5.4",
19
+ "@design.estate/dees-element": "^2.2.4",
20
20
  "@design.estate/dees-wcctools": "^3.8.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@git.zone/tsbuild": "^4.1.2",
24
- "@git.zone/tsbundle": "^2.8.3",
25
- "@git.zone/tsrun": "^2.0.1",
26
- "@git.zone/tstest": "^3.1.8",
27
- "@git.zone/tswatch": "^3.1.0",
28
- "@push.rocks/projectinfo": "^5.0.2",
29
- "@types/node": "^25.3.0"
23
+ "@git.zone/tsbuild": "^4.4.0",
24
+ "@git.zone/tsbundle": "^2.10.0",
25
+ "@git.zone/tsrun": "^2.0.2",
26
+ "@git.zone/tstest": "^3.6.3",
27
+ "@git.zone/tswatch": "^3.3.2",
28
+ "@push.rocks/projectinfo": "^5.1.0",
29
+ "@types/node": "^25.5.0"
30
30
  },
31
31
  "files": [
32
- "ts/**/*",
33
32
  "ts_web/**/*",
34
33
  "dist/**/*",
35
34
  "dist_*/**/*",
36
35
  "dist_ts/**/*",
37
36
  "dist_ts_web/**/*",
38
37
  "assets/**/*",
39
- "npmextra.json",
38
+ ".smartconfig.json",
40
39
  "readme.md"
41
40
  ],
42
41
  "browserslist": [
package/readme.hints.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Project Structure
4
4
  - `html/index.ts` - WccTools setup with sections for Pages and Elements
5
- - `ts_web/elements/` - All web components (27 elements + 6 demo-view wrappers)
5
+ - `ts_web/elements/` - All web components (34 elements + 9 demo-view wrappers)
6
6
  - `ts_web/elements/index.ts` - Barrel export for all element components
7
7
  - `ts_web/pages/` - Page components
8
8
 
@@ -20,9 +20,14 @@
20
20
  | Dashboard Grids | sz-status-grid-cluster, sz-status-grid-services, sz-status-grid-network, sz-status-grid-infra |
21
21
  | Platform | sz-platform-services-card, sz-platform-service-detail-view |
22
22
  | Network | sz-network-proxy-view, sz-network-dns-view, sz-network-domains-view, sz-reverse-proxy-card, sz-dns-ssl-card, sz-certificates-card, sz-domain-detail-view |
23
+ | Routes | sz-route-list-view, sz-route-card |
23
24
  | Services | sz-services-list-view, sz-services-backups-view, sz-service-detail-view, sz-service-create-view |
25
+ | App Store | sz-app-store-view |
26
+ | MTA / Email | sz-mta-list-view, sz-mta-detail-view |
27
+ | Configuration | sz-config-overview, sz-config-section |
24
28
  | Auth & Settings | sz-login-view, sz-tokens-view, sz-settings-view, sz-registry-advertisement, sz-registry-external-view |
25
29
 
26
30
  ## Build
27
- - `pnpm run build` - tsbuild tsfolders + tsbundle element --production
31
+ - `pnpm run build` - tsbuild tsfolders + tsbundle (reads from .smartconfig.json)
28
32
  - `pnpm run watch` - starts wcctools dev server
33
+ - Config file: `.smartconfig.json` (renamed from npmextra.json)
package/readme.md CHANGED
@@ -14,15 +14,19 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
14
14
 
15
15
  ## 🚀 What It Does
16
16
 
17
- `@serve.zone/catalog` provides **30+ production-ready web components** covering every aspect of server management:
17
+ `@serve.zone/catalog` provides **34 production-ready web components** covering every aspect of server management:
18
18
 
19
19
  - 📊 **Dashboard** — Real-time cluster overview, resource usage, traffic metrics, quick actions
20
20
  - 🐳 **Services** — Docker container management, deployment, logs, live stats, backups, and an integrated IDE workspace
21
+ - 🛒 **App Store** — Browse and deploy pre-configured application templates (WordPress, Gitea, etc.)
21
22
  - 🌐 **Network** — Reverse proxy configuration, DNS record management, domain & SSL certificate monitoring
23
+ - 🔀 **Routes** — SmartProxy route configuration, match criteria, TLS modes, security profiles, forwarding targets
24
+ - 📧 **MTA / Email** — Inbound and outbound email management, SMTP transaction logs, authentication results
22
25
  - 📦 **Registries** — Container registry management (onebox + external registries like Docker Hub, GHCR, ECR)
23
26
  - 🔑 **Auth** — Login view, API token management (global + CI tokens)
24
27
  - ⚙️ **Settings** — Appearance, Cloudflare integration, SSL/TLS config, network settings, account management
25
28
  - 🏗️ **Platform Services** — MongoDB, MinIO, ClickHouse, Redis, Caddy monitoring and control
29
+ - 📋 **Configuration** — Read-only overview of the running server configuration with collapsible sections
26
30
 
27
31
  Every component supports **light and dark themes** out of the box and communicates via standard `CustomEvent` dispatching.
28
32
 
@@ -85,6 +89,12 @@ import '@serve.zone/catalog';
85
89
  | `SzServiceCreateView` | `<sz-service-create-view>` | Service deployment form — image, ports, env vars, volumes, resource limits |
86
90
  | `SzServicesBackupsView` | `<sz-services-backups-view>` | Backup schedule and backup history management |
87
91
 
92
+ ### App Store
93
+
94
+ | Component | Tag | Description |
95
+ |-----------|-----|-------------|
96
+ | `SzAppStoreView` | `<sz-app-store-view>` | App marketplace for deploying pre-configured templates (WordPress, Gitea, etc.) with category filtering |
97
+
88
98
  ### Platform Services
89
99
 
90
100
  | Component | Tag | Description |
@@ -104,6 +114,20 @@ import '@serve.zone/catalog';
104
114
  | `SzDnsSslCard` | `<sz-dns-ssl-card>` | Cloudflare DNS and ACME config status |
105
115
  | `SzCertificatesCard` | `<sz-certificates-card>` | Certificate status counts — valid, expiring, expired |
106
116
 
117
+ ### Routes
118
+
119
+ | Component | Tag | Description |
120
+ |-----------|-----|-------------|
121
+ | `SzRouteListView` | `<sz-route-list-view>` | Route configuration list with type filtering (HTTPS, email, DNS, etc.) |
122
+ | `SzRouteCard` | `<sz-route-card>` | Single route card — match criteria, action type, TLS mode, targets, security profile |
123
+
124
+ ### MTA / Email
125
+
126
+ | Component | Tag | Description |
127
+ |-----------|-----|-------------|
128
+ | `SzMtaListView` | `<sz-mta-list-view>` | Email management — inbound/outbound messages with status badges and filtering |
129
+ | `SzMtaDetailView` | `<sz-mta-detail-view>` | Email detail — SMTP transaction log, TLS info, SPF/DKIM/DMARC results, headers, body |
130
+
107
131
  ### Registries
108
132
 
109
133
  | Component | Tag | Description |
@@ -119,6 +143,13 @@ import '@serve.zone/catalog';
119
143
  | `SzTokensView` | `<sz-tokens-view>` | API token management — global and CI tokens with copy/regenerate/delete |
120
144
  | `SzSettingsView` | `<sz-settings-view>` | Full settings panel — appearance, Cloudflare, SSL/TLS, network, account |
121
145
 
146
+ ### Configuration
147
+
148
+ | Component | Tag | Description |
149
+ |-----------|-----|-------------|
150
+ | `SzConfigOverview` | `<sz-config-overview>` | Top-level configuration overview with informational banner |
151
+ | `SzConfigSection` | `<sz-config-section>` | Collapsible config section — icon, enabled/disabled badge, key-value fields, action buttons |
152
+
122
153
  ## 🏗️ Architecture
123
154
 
124
155
  ### Component Pattern
@@ -186,8 +217,20 @@ import type { IServiceDetail, IServiceStats, ILogEntry, IServiceBackup } from '@
186
217
  // Network
187
218
  import type { IDomainDetail, ICertificateDetail, IDnsRecord, ITrafficTarget } from '@serve.zone/catalog';
188
219
 
220
+ // Routes
221
+ import type { IRouteConfig, IRouteMatch, IRouteAction, IRouteTls, IRouteSecurity } from '@serve.zone/catalog';
222
+
223
+ // MTA / Email
224
+ import type { IEmail, IEmailDetail, ISmtpLogEntry, IConnectionInfo, IAuthenticationResults } from '@serve.zone/catalog';
225
+
226
+ // Configuration
227
+ import type { IConfigField, IConfigSectionAction } from '@serve.zone/catalog';
228
+
189
229
  // Settings & Auth
190
230
  import type { ISettings, IToken, IExternalRegistry } from '@serve.zone/catalog';
231
+
232
+ // App Store
233
+ import type { IAppTemplate } from '@serve.zone/catalog';
191
234
  ```
192
235
 
193
236
  ## 🛠️ Development
@@ -210,7 +253,7 @@ The **wcctools dev server** provides an interactive dashboard where every compon
210
253
 
211
254
  ## License and Legal Information
212
255
 
213
- This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
256
+ This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file.
214
257
 
215
258
  **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
216
259
 
@@ -222,7 +265,7 @@ Use of these trademarks must comply with Task Venture Capital GmbH's Trademark G
222
265
 
223
266
  ### Company Information
224
267
 
225
- Task Venture Capital GmbH
268
+ Task Venture Capital GmbH
226
269
  Registered at District Court Bremen HRB 35230 HB, Germany
227
270
 
228
271
  For any legal inquiries or further information, please contact us via email at hello@task.vc.
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@serve.zone/catalog',
6
- version: '2.8.0',
6
+ version: '2.9.1',
7
7
  description: 'UI component catalog for serve.zone'
8
8
  }
@@ -396,6 +396,34 @@ export class SzAppStoreView extends DeesElement {
396
396
  height: 14px;
397
397
  }
398
398
 
399
+ .details-button {
400
+ display: inline-flex;
401
+ align-items: center;
402
+ gap: 6px;
403
+ padding: 7px 12px;
404
+ border-radius: 6px;
405
+ font-size: 13px;
406
+ font-weight: 500;
407
+ cursor: pointer;
408
+ transition: all 200ms ease;
409
+ border: 1px solid ${cssManager.bdTheme('#e4e4e7', '#27272a')};
410
+ background: transparent;
411
+ color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
412
+ white-space: nowrap;
413
+ flex-shrink: 0;
414
+ }
415
+
416
+ .details-button:hover {
417
+ border-color: ${cssManager.bdTheme('#d4d4d8', '#3f3f46')};
418
+ color: ${cssManager.bdTheme('#18181b', '#fafafa')};
419
+ }
420
+
421
+ .card-actions {
422
+ display: flex;
423
+ align-items: center;
424
+ gap: 8px;
425
+ }
426
+
399
427
  .empty-state {
400
428
  grid-column: 1 / -1;
401
429
  padding: 64px 24px;
@@ -524,16 +552,21 @@ export class SzAppStoreView extends DeesElement {
524
552
  <div class="app-description">${app.description}</div>
525
553
  <div class="card-footer">
526
554
  <span class="image-tag" title="${app.image}">${app.image}</span>
527
- <button class="deploy-button" @click=${() => this.handleDeploy(app)}>
528
- <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
529
- <polyline points="20 12 20 22 4 22 4 12"></polyline>
530
- <rect x="2" y="7" width="20" height="5"></rect>
531
- <line x1="12" y1="22" x2="12" y2="7"></line>
532
- <path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path>
533
- <path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>
534
- </svg>
535
- Deploy
536
- </button>
555
+ <div class="card-actions">
556
+ <button class="details-button" @click=${() => this.handleViewDetails(app)}>
557
+ View Details
558
+ </button>
559
+ <button class="deploy-button" @click=${() => this.handleDeploy(app)}>
560
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
561
+ <polyline points="20 12 20 22 4 22 4 12"></polyline>
562
+ <rect x="2" y="7" width="20" height="5"></rect>
563
+ <line x1="12" y1="22" x2="12" y2="7"></line>
564
+ <path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path>
565
+ <path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path>
566
+ </svg>
567
+ Deploy
568
+ </button>
569
+ </div>
537
570
  </div>
538
571
  </div>
539
572
  `;
@@ -556,6 +589,16 @@ export class SzAppStoreView extends DeesElement {
556
589
  return icons[name] || html`<span class="letter-fallback">?</span>`;
557
590
  }
558
591
 
592
+ private handleViewDetails(app: IAppTemplate) {
593
+ this.dispatchEvent(
594
+ new CustomEvent('view-app', {
595
+ detail: { app },
596
+ bubbles: true,
597
+ composed: true,
598
+ })
599
+ );
600
+ }
601
+
559
602
  private handleDeploy(app: IAppTemplate) {
560
603
  this.dispatchEvent(
561
604
  new CustomEvent('deploy-app', {