cfc-ds
Version:
Design System do Conselho Federal de Contabilidade baseado no govbr-ds
73 lines • 40.4 kB
JavaScript
import { Component, Input, } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/flex-layout/extended";
export class FooterComponent {
config = {
theme: 'dark',
alignment: 'left',
gridColumns: 12
};
activeCategory = null;
screenWidth = window.innerWidth;
get themeClass() {
return `footer-theme-${this.config.theme || 'dark'}`;
}
get alignmentClass() {
return `footer-align-${this.config.alignment || 'left'}`;
}
get gridClass() {
return `footer-grid-${this.config.gridColumns || 12}`;
}
get isCollapsible() {
// Sempre usar accordion para layouts de 8 e 4 colunas
if (this.config.gridColumns === 8 || this.config.gridColumns === 4) {
return true;
}
// Para layout de 12 colunas, usar accordion em telas menores que 992px
if (this.config.gridColumns === 12) {
return this.screenWidth < 992;
}
return false;
}
constructor() { }
ngOnInit() {
// Set default values for optional fields
this.config = {
theme: 'dark',
alignment: 'left',
gridColumns: 12,
...this.config
};
// Adicionar listener para redimensionamento da tela
window.addEventListener('resize', this.onResize.bind(this));
this.onResize();
}
ngOnDestroy() {
// Remover listener ao destruir o componente
window.removeEventListener('resize', this.onResize.bind(this));
}
onResize() {
this.screenWidth = window.innerWidth;
}
toggleCategory(categoryTitle) {
if (this.activeCategory === categoryTitle) {
this.activeCategory = null;
}
else {
this.activeCategory = categoryTitle;
}
}
isCategoryActive(categoryTitle) {
return this.activeCategory === categoryTitle;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FooterComponent, selector: "cfc-footer", inputs: { config: "config" }, ngImport: i0, template: "<!-- footer.component.html - Ajustado para os diferentes layouts de grid -->\r\n<footer class=\"footer-container\" [ngClass]=\"[themeClass, alignmentClass, gridClass]\">\r\n <div class=\"footer-content\">\r\n <!-- Logo Area -->\r\n <div class=\"footer-logo-area\" *ngIf=\"config.logo\">\r\n <a [href]=\"config.logo.url || '#'\" class=\"footer-logo\">\r\n <img [src]=\"config.logo.src\" [alt]=\"config.logo.alt\">\r\n </a>\r\n </div>\r\n \r\n <!-- Site Map Area -->\r\n <div class=\"footer-sitemap-area\" *ngIf=\"config.categories && config.categories.length > 0\">\r\n <!-- Grid view for 12 columns -->\r\n <div \r\n class=\"sitemap-grid\" \r\n [class.categories-6]=\"config.categories.length <= 6\"\r\n [class.categories-12]=\"config.categories.length > 6 && config.categories.length <= 12\"\r\n >\r\n <div *ngFor=\"let category of config.categories\">\r\n <h3 class=\"sitemap-category\">{{ category.title }}</h3>\r\n <ul class=\"sitemap-list\">\r\n <li *ngFor=\"let link of category.links\">\r\n <a [href]=\"link.url\" [target]=\"link.target || '_self'\">{{ link.label }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- Accordion view for 8 and 4 columns (and responsive 12 columns) -->\r\n <div class=\"sitemap-accordion\">\r\n <div class=\"sitemap-accordion-item\" *ngFor=\"let category of config.categories\">\r\n <div \r\n class=\"sitemap-accordion-header\" \r\n [class.active]=\"isCategoryActive(category.title)\"\r\n (click)=\"toggleCategory(category.title)\"\r\n >\r\n <h3 class=\"sitemap-category\">{{ category.title }}</h3>\r\n <span class=\"sitemap-toggle-icon\">\r\n <i class=\"icon-arrow\" [class.icon-down]=\"!isCategoryActive(category.title)\" [class.icon-up]=\"isCategoryActive(category.title)\"></i>\r\n </span>\r\n </div>\r\n <div class=\"sitemap-accordion-content\" [class.expanded]=\"isCategoryActive(category.title)\">\r\n <ul class=\"sitemap-list\">\r\n <li *ngFor=\"let link of category.links\">\r\n <a [href]=\"link.url\" [target]=\"link.target || '_self'\">{{ link.label }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- Secondary Information Area -->\r\n <div class=\"footer-secondary-area\" *ngIf=\"(config.socialItems && config.socialItems.length > 0) || (config.partnerLogos && config.partnerLogos.length > 0)\">\r\n <!-- Social Networks -->\r\n <div class=\"footer-social\" *ngIf=\"config.socialItems && config.socialItems.length > 0\">\r\n <h3 class=\"social-title\" *ngIf=\"config.socialTitle\">{{ config.socialTitle }}</h3>\r\n <div class=\"social-icons\">\r\n <a \r\n *ngFor=\"let item of config.socialItems\" \r\n [href]=\"item.url\" \r\n target=\"_blank\" \r\n class=\"social-icon\" \r\n [attr.aria-label]=\"item.label\"\r\n >\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Partner Logos -->\r\n <div class=\"footer-partner-logos\" *ngIf=\"config.partnerLogos && config.partnerLogos.length > 0\">\r\n <a *ngFor=\"let logo of config.partnerLogos\" [href]=\"logo.url || '#'\" class=\"partner-logo\">\r\n <img [src]=\"logo.src\" [alt]=\"logo.alt\">\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Divider -->\r\n <hr class=\"footer-divider\" *ngIf=\"config.legalText || config.highlightedLegalText || config.licenseText\">\r\n \r\n <!-- Legal Information Area -->\r\n <div class=\"footer-legal-area\" *ngIf=\"config.legalText || config.highlightedLegalText || config.licenseText\">\r\n <p class=\"legal-text\" *ngIf=\"config.legalText || config.highlightedLegalText\">\r\n {{ config.legalText || '' }}\r\n <ng-container *ngIf=\"config.highlightedLegalText\">\r\n <span class=\"legal-highlight\"> {{ config.highlightedLegalText }}</span>\r\n </ng-container>\r\n </p>\r\n \r\n <p class=\"legal-text\" *ngIf=\"config.licenseText\">\r\n {{ config.licenseText }}\r\n <a *ngIf=\"config.licenseUrl\" [href]=\"config.licenseUrl\" target=\"_blank\">{{ config.licenseName || 'licen\u00E7a de uso' }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n</footer>", styles: [":host{display:block;width:100%}.footer-container{width:100%;box-sizing:border-box}.footer-container.footer-theme-dark{background-color:#071d41;color:#fff}.footer-container.footer-theme-dark a{color:#fff;text-decoration:none}.footer-container.footer-theme-dark a:hover{text-decoration:underline;color:#fffc}.footer-container.footer-theme-dark .sitemap-category{color:#fff;font-weight:600}.footer-container.footer-theme-dark .social-title{color:#fff}.footer-container.footer-theme-dark .legal-text{color:#fffc}.footer-container.footer-theme-dark .legal-highlight{color:#fff;font-weight:600}.footer-container.footer-theme-dark .footer-divider{background-color:#ffffff1a}.footer-container.footer-theme-dark .sitemap-accordion-header:hover{background-color:#ffffff0d}.footer-container.footer-theme-dark .sitemap-accordion-header.active,.footer-container.footer-theme-dark .social-icon{background-color:#ffffff1a}.footer-container.footer-theme-dark .social-icon:hover{background-color:#fff3}.footer-container.footer-theme-light{background-color:#fff;color:#333}.footer-container.footer-theme-light a{color:#1351b4;text-decoration:none}.footer-container.footer-theme-light a:hover{text-decoration:underline;color:#071d41}.footer-container.footer-theme-light .sitemap-category{color:#333;font-weight:600}.footer-container.footer-theme-light .social-title{color:#071d41}.footer-container.footer-theme-light .legal-text{color:#555}.footer-container.footer-theme-light .legal-highlight{color:#071d41;font-weight:600}.footer-container.footer-theme-light .footer-divider{background-color:#0000001a}.footer-container.footer-theme-light .sitemap-accordion-header:hover{background-color:#0000000d}.footer-container.footer-theme-light .sitemap-accordion-header.active{background-color:#0000001a}.footer-container.footer-theme-light .social-icon{background-color:#0000000d;color:#071d41}.footer-container.footer-theme-light .social-icon:hover{background-color:#0000001a}.footer-container.footer-align-left .footer-sitemap-area,.footer-container.footer-align-left .footer-secondary-area,.footer-container.footer-align-left .footer-legal-area{text-align:left}.footer-container.footer-align-center .footer-sitemap-area,.footer-container.footer-align-center .footer-secondary-area,.footer-container.footer-align-center .footer-legal-area{text-align:center;margin-left:auto;margin-right:auto}.footer-container.footer-align-center .sitemap-grid,.footer-container.footer-align-center .footer-social .social-icons,.footer-container.footer-align-center .footer-partner-logos{justify-content:center}.footer-container.footer-align-right .footer-logo-area,.footer-container.footer-align-right .footer-sitemap-area,.footer-container.footer-align-right .footer-secondary-area,.footer-container.footer-align-right .footer-legal-area{text-align:right}.footer-container.footer-align-right .sitemap-grid,.footer-container.footer-align-right .footer-social .social-icons,.footer-container.footer-align-right .footer-partner-logos{justify-content:flex-end}.footer-content{max-width:1280px;margin:0 auto;padding:2.5rem 2rem}.footer-grid-4 .footer-content{max-width:576px;padding:1.5rem 1rem}.footer-grid-8 .footer-content{max-width:960px}.footer-grid-12 .footer-content{max-width:1280px}.footer-logo-area{margin-bottom:3rem}.footer-logo-area .footer-logo{display:inline-block}.footer-logo-area .footer-logo img{max-height:48px;width:auto}.footer-grid-4 .footer-logo-area{margin-bottom:2rem}.sitemap-grid{display:grid;gap:2rem;margin-bottom:3rem}.footer-grid-12 .sitemap-grid,.footer-grid-12 .sitemap-grid.categories-6{grid-template-columns:repeat(6,1fr)}.footer-grid-12 .sitemap-grid.categories-12{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto)}.footer-grid-8 .sitemap-grid,.footer-grid-4 .sitemap-grid{display:none}.sitemap-category{font-size:1rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase}.sitemap-list{list-style:none;padding:0;margin:0}.sitemap-list li{margin-bottom:.75rem}.sitemap-list li a{font-size:.9rem;line-height:1.4;display:inline-block}.sitemap-accordion{width:100%;display:none}.footer-grid-8 .sitemap-accordion,.footer-grid-4 .sitemap-accordion{display:block}.sitemap-accordion-item{border-bottom:1px solid rgba(255,255,255,.1)}.footer-theme-light .sitemap-accordion-item{border-bottom:1px solid rgba(0,0,0,.1)}.sitemap-accordion-item:last-child{border-bottom:none}.sitemap-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;transition:background-color .2s}.sitemap-accordion-header .sitemap-category{margin:0}.sitemap-accordion-header .sitemap-toggle-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow{width:10px;height:6px;position:relative;transition:transform .2s}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:before,.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:after{content:\"\";position:absolute;width:8px;height:2px;background-color:currentColor;transition:transform .2s}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:before{left:0;transform:rotate(45deg);transform-origin:left center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:after{right:0;transform:rotate(-45deg);transform-origin:right center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow.icon-down{transform:rotate(0)}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow.icon-up{transform:rotate(180deg)}.sitemap-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.sitemap-accordion-content.expanded{max-height:500px}.sitemap-accordion-content .sitemap-list{padding:0 1rem 1.25rem}.footer-secondary-area{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin:2rem 0;gap:2rem}.footer-grid-4 .footer-secondary-area{flex-direction:column;gap:1.5rem}.footer-social .social-title{font-size:1rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase}.footer-social .social-icons{display:flex;flex-wrap:wrap;gap:.75rem}.footer-social .social-icons .social-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background-color .2s}.footer-social .social-icons .social-icon i{font-size:1.2rem}.footer-grid-4 .footer-social{width:100%}.footer-partner-logos{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.footer-partner-logos .partner-logo{display:inline-block}.footer-partner-logos .partner-logo img{height:40px;width:auto}.footer-grid-4 .footer-partner-logos{width:100%;justify-content:flex-start}.footer-align-center .footer-grid-4 .footer-partner-logos{justify-content:center}.footer-align-right .footer-grid-4 .footer-partner-logos{justify-content:flex-end}.footer-divider{height:1px;border:0;margin:2rem 0;width:100%}.footer-legal-area{padding:1rem 0}.footer-legal-area .legal-text{font-size:.85rem;margin:0;line-height:1.5}.footer-legal-area a{font-weight:600}@media (max-width: 1200px){.footer-grid-12 .sitemap-grid{grid-template-columns:repeat(4,1fr)}.footer-grid-12 .sitemap-grid.categories-12{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,auto)}.footer-grid-12 .sitemap-grid.categories-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,auto)}}@media (max-width: 991px){.footer-grid-12 .sitemap-grid{display:none}.footer-grid-12 .sitemap-accordion{display:block}.footer-content{padding:2rem 1.5rem}.footer-secondary-area{flex-direction:column;gap:1.5rem}.footer-secondary-area .footer-social,.footer-secondary-area .footer-partner-logos{width:100%}}@media (max-width: 767px){.footer-content{padding:1.5rem 1rem}.footer-logo-area{margin-bottom:1.5rem}.footer-partner-logos{flex-direction:column;align-items:flex-start;gap:1rem}.footer-align-center .footer-partner-logos{align-items:center}.footer-align-right .footer-partner-logos{align-items:flex-end}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterComponent, decorators: [{
type: Component,
args: [{ selector: 'cfc-footer', template: "<!-- footer.component.html - Ajustado para os diferentes layouts de grid -->\r\n<footer class=\"footer-container\" [ngClass]=\"[themeClass, alignmentClass, gridClass]\">\r\n <div class=\"footer-content\">\r\n <!-- Logo Area -->\r\n <div class=\"footer-logo-area\" *ngIf=\"config.logo\">\r\n <a [href]=\"config.logo.url || '#'\" class=\"footer-logo\">\r\n <img [src]=\"config.logo.src\" [alt]=\"config.logo.alt\">\r\n </a>\r\n </div>\r\n \r\n <!-- Site Map Area -->\r\n <div class=\"footer-sitemap-area\" *ngIf=\"config.categories && config.categories.length > 0\">\r\n <!-- Grid view for 12 columns -->\r\n <div \r\n class=\"sitemap-grid\" \r\n [class.categories-6]=\"config.categories.length <= 6\"\r\n [class.categories-12]=\"config.categories.length > 6 && config.categories.length <= 12\"\r\n >\r\n <div *ngFor=\"let category of config.categories\">\r\n <h3 class=\"sitemap-category\">{{ category.title }}</h3>\r\n <ul class=\"sitemap-list\">\r\n <li *ngFor=\"let link of category.links\">\r\n <a [href]=\"link.url\" [target]=\"link.target || '_self'\">{{ link.label }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- Accordion view for 8 and 4 columns (and responsive 12 columns) -->\r\n <div class=\"sitemap-accordion\">\r\n <div class=\"sitemap-accordion-item\" *ngFor=\"let category of config.categories\">\r\n <div \r\n class=\"sitemap-accordion-header\" \r\n [class.active]=\"isCategoryActive(category.title)\"\r\n (click)=\"toggleCategory(category.title)\"\r\n >\r\n <h3 class=\"sitemap-category\">{{ category.title }}</h3>\r\n <span class=\"sitemap-toggle-icon\">\r\n <i class=\"icon-arrow\" [class.icon-down]=\"!isCategoryActive(category.title)\" [class.icon-up]=\"isCategoryActive(category.title)\"></i>\r\n </span>\r\n </div>\r\n <div class=\"sitemap-accordion-content\" [class.expanded]=\"isCategoryActive(category.title)\">\r\n <ul class=\"sitemap-list\">\r\n <li *ngFor=\"let link of category.links\">\r\n <a [href]=\"link.url\" [target]=\"link.target || '_self'\">{{ link.label }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- Secondary Information Area -->\r\n <div class=\"footer-secondary-area\" *ngIf=\"(config.socialItems && config.socialItems.length > 0) || (config.partnerLogos && config.partnerLogos.length > 0)\">\r\n <!-- Social Networks -->\r\n <div class=\"footer-social\" *ngIf=\"config.socialItems && config.socialItems.length > 0\">\r\n <h3 class=\"social-title\" *ngIf=\"config.socialTitle\">{{ config.socialTitle }}</h3>\r\n <div class=\"social-icons\">\r\n <a \r\n *ngFor=\"let item of config.socialItems\" \r\n [href]=\"item.url\" \r\n target=\"_blank\" \r\n class=\"social-icon\" \r\n [attr.aria-label]=\"item.label\"\r\n >\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Partner Logos -->\r\n <div class=\"footer-partner-logos\" *ngIf=\"config.partnerLogos && config.partnerLogos.length > 0\">\r\n <a *ngFor=\"let logo of config.partnerLogos\" [href]=\"logo.url || '#'\" class=\"partner-logo\">\r\n <img [src]=\"logo.src\" [alt]=\"logo.alt\">\r\n </a>\r\n </div>\r\n </div>\r\n \r\n <!-- Divider -->\r\n <hr class=\"footer-divider\" *ngIf=\"config.legalText || config.highlightedLegalText || config.licenseText\">\r\n \r\n <!-- Legal Information Area -->\r\n <div class=\"footer-legal-area\" *ngIf=\"config.legalText || config.highlightedLegalText || config.licenseText\">\r\n <p class=\"legal-text\" *ngIf=\"config.legalText || config.highlightedLegalText\">\r\n {{ config.legalText || '' }}\r\n <ng-container *ngIf=\"config.highlightedLegalText\">\r\n <span class=\"legal-highlight\"> {{ config.highlightedLegalText }}</span>\r\n </ng-container>\r\n </p>\r\n \r\n <p class=\"legal-text\" *ngIf=\"config.licenseText\">\r\n {{ config.licenseText }}\r\n <a *ngIf=\"config.licenseUrl\" [href]=\"config.licenseUrl\" target=\"_blank\">{{ config.licenseName || 'licen\u00E7a de uso' }}</a>\r\n </p>\r\n </div>\r\n </div>\r\n</footer>", styles: [":host{display:block;width:100%}.footer-container{width:100%;box-sizing:border-box}.footer-container.footer-theme-dark{background-color:#071d41;color:#fff}.footer-container.footer-theme-dark a{color:#fff;text-decoration:none}.footer-container.footer-theme-dark a:hover{text-decoration:underline;color:#fffc}.footer-container.footer-theme-dark .sitemap-category{color:#fff;font-weight:600}.footer-container.footer-theme-dark .social-title{color:#fff}.footer-container.footer-theme-dark .legal-text{color:#fffc}.footer-container.footer-theme-dark .legal-highlight{color:#fff;font-weight:600}.footer-container.footer-theme-dark .footer-divider{background-color:#ffffff1a}.footer-container.footer-theme-dark .sitemap-accordion-header:hover{background-color:#ffffff0d}.footer-container.footer-theme-dark .sitemap-accordion-header.active,.footer-container.footer-theme-dark .social-icon{background-color:#ffffff1a}.footer-container.footer-theme-dark .social-icon:hover{background-color:#fff3}.footer-container.footer-theme-light{background-color:#fff;color:#333}.footer-container.footer-theme-light a{color:#1351b4;text-decoration:none}.footer-container.footer-theme-light a:hover{text-decoration:underline;color:#071d41}.footer-container.footer-theme-light .sitemap-category{color:#333;font-weight:600}.footer-container.footer-theme-light .social-title{color:#071d41}.footer-container.footer-theme-light .legal-text{color:#555}.footer-container.footer-theme-light .legal-highlight{color:#071d41;font-weight:600}.footer-container.footer-theme-light .footer-divider{background-color:#0000001a}.footer-container.footer-theme-light .sitemap-accordion-header:hover{background-color:#0000000d}.footer-container.footer-theme-light .sitemap-accordion-header.active{background-color:#0000001a}.footer-container.footer-theme-light .social-icon{background-color:#0000000d;color:#071d41}.footer-container.footer-theme-light .social-icon:hover{background-color:#0000001a}.footer-container.footer-align-left .footer-sitemap-area,.footer-container.footer-align-left .footer-secondary-area,.footer-container.footer-align-left .footer-legal-area{text-align:left}.footer-container.footer-align-center .footer-sitemap-area,.footer-container.footer-align-center .footer-secondary-area,.footer-container.footer-align-center .footer-legal-area{text-align:center;margin-left:auto;margin-right:auto}.footer-container.footer-align-center .sitemap-grid,.footer-container.footer-align-center .footer-social .social-icons,.footer-container.footer-align-center .footer-partner-logos{justify-content:center}.footer-container.footer-align-right .footer-logo-area,.footer-container.footer-align-right .footer-sitemap-area,.footer-container.footer-align-right .footer-secondary-area,.footer-container.footer-align-right .footer-legal-area{text-align:right}.footer-container.footer-align-right .sitemap-grid,.footer-container.footer-align-right .footer-social .social-icons,.footer-container.footer-align-right .footer-partner-logos{justify-content:flex-end}.footer-content{max-width:1280px;margin:0 auto;padding:2.5rem 2rem}.footer-grid-4 .footer-content{max-width:576px;padding:1.5rem 1rem}.footer-grid-8 .footer-content{max-width:960px}.footer-grid-12 .footer-content{max-width:1280px}.footer-logo-area{margin-bottom:3rem}.footer-logo-area .footer-logo{display:inline-block}.footer-logo-area .footer-logo img{max-height:48px;width:auto}.footer-grid-4 .footer-logo-area{margin-bottom:2rem}.sitemap-grid{display:grid;gap:2rem;margin-bottom:3rem}.footer-grid-12 .sitemap-grid,.footer-grid-12 .sitemap-grid.categories-6{grid-template-columns:repeat(6,1fr)}.footer-grid-12 .sitemap-grid.categories-12{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto)}.footer-grid-8 .sitemap-grid,.footer-grid-4 .sitemap-grid{display:none}.sitemap-category{font-size:1rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase}.sitemap-list{list-style:none;padding:0;margin:0}.sitemap-list li{margin-bottom:.75rem}.sitemap-list li a{font-size:.9rem;line-height:1.4;display:inline-block}.sitemap-accordion{width:100%;display:none}.footer-grid-8 .sitemap-accordion,.footer-grid-4 .sitemap-accordion{display:block}.sitemap-accordion-item{border-bottom:1px solid rgba(255,255,255,.1)}.footer-theme-light .sitemap-accordion-item{border-bottom:1px solid rgba(0,0,0,.1)}.sitemap-accordion-item:last-child{border-bottom:none}.sitemap-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;transition:background-color .2s}.sitemap-accordion-header .sitemap-category{margin:0}.sitemap-accordion-header .sitemap-toggle-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow{width:10px;height:6px;position:relative;transition:transform .2s}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:before,.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:after{content:\"\";position:absolute;width:8px;height:2px;background-color:currentColor;transition:transform .2s}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:before{left:0;transform:rotate(45deg);transform-origin:left center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow:after{right:0;transform:rotate(-45deg);transform-origin:right center}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow.icon-down{transform:rotate(0)}.sitemap-accordion-header .sitemap-toggle-icon .icon-arrow.icon-up{transform:rotate(180deg)}.sitemap-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out}.sitemap-accordion-content.expanded{max-height:500px}.sitemap-accordion-content .sitemap-list{padding:0 1rem 1.25rem}.footer-secondary-area{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin:2rem 0;gap:2rem}.footer-grid-4 .footer-secondary-area{flex-direction:column;gap:1.5rem}.footer-social .social-title{font-size:1rem;font-weight:600;margin:0 0 1rem;text-transform:uppercase}.footer-social .social-icons{display:flex;flex-wrap:wrap;gap:.75rem}.footer-social .social-icons .social-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;transition:background-color .2s}.footer-social .social-icons .social-icon i{font-size:1.2rem}.footer-grid-4 .footer-social{width:100%}.footer-partner-logos{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.footer-partner-logos .partner-logo{display:inline-block}.footer-partner-logos .partner-logo img{height:40px;width:auto}.footer-grid-4 .footer-partner-logos{width:100%;justify-content:flex-start}.footer-align-center .footer-grid-4 .footer-partner-logos{justify-content:center}.footer-align-right .footer-grid-4 .footer-partner-logos{justify-content:flex-end}.footer-divider{height:1px;border:0;margin:2rem 0;width:100%}.footer-legal-area{padding:1rem 0}.footer-legal-area .legal-text{font-size:.85rem;margin:0;line-height:1.5}.footer-legal-area a{font-weight:600}@media (max-width: 1200px){.footer-grid-12 .sitemap-grid{grid-template-columns:repeat(4,1fr)}.footer-grid-12 .sitemap-grid.categories-12{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,auto)}.footer-grid-12 .sitemap-grid.categories-6{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,auto)}}@media (max-width: 991px){.footer-grid-12 .sitemap-grid{display:none}.footer-grid-12 .sitemap-accordion{display:block}.footer-content{padding:2rem 1.5rem}.footer-secondary-area{flex-direction:column;gap:1.5rem}.footer-secondary-area .footer-social,.footer-secondary-area .footer-partner-logos{width:100%}}@media (max-width: 767px){.footer-content{padding:1.5rem 1rem}.footer-logo-area{margin-bottom:1.5rem}.footer-partner-logos{flex-direction:column;align-items:flex-start;gap:1rem}.footer-align-center .footer-partner-logos{align-items:center}.footer-align-right .footer-partner-logos{align-items:flex-end}}\n"] }]
}], ctorParameters: () => [], propDecorators: { config: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NmYy1kcy9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZmMtZHMvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7Ozs7QUFRdkIsTUFBTSxPQUFPLGVBQWU7SUFDaEIsTUFBTSxHQUFpQjtRQUMvQixLQUFLLEVBQUUsTUFBTTtRQUNiLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLFdBQVcsRUFBRSxFQUFFO0tBQ2hCLENBQUM7SUFFRixjQUFjLEdBQWtCLElBQUksQ0FBQztJQUNyQyxXQUFXLEdBQVcsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUV4QyxJQUFJLFVBQVU7UUFDWixPQUFPLGdCQUFnQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLGVBQWUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCx1RUFBdUU7UUFDdkUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO1FBQ04seUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixLQUFLLEVBQUUsTUFBTTtZQUNiLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsR0FBRyxJQUFJLENBQUMsTUFBTTtTQUNmLENBQUM7UUFFRixvREFBb0Q7UUFDcEQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULDRDQUE0QztRQUM1QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxhQUFxQjtRQUNsQyxJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssYUFBYSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLGFBQXFCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUM7SUFDL0MsQ0FBQzt3R0F2RVUsZUFBZTs0RkFBZixlQUFlLGdGQ1o1Qix5L0lBZ0dTOzs0RkRwRkksZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3dEQUtaLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9vdGVyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvb3Rlci5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NmYy1mb290ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvb3Rlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICBASW5wdXQoKSBjb25maWc6IEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHRoZW1lOiAnZGFyaycsXHJcbiAgICBhbGlnbm1lbnQ6ICdsZWZ0JyxcclxuICAgIGdyaWRDb2x1bW5zOiAxMlxyXG4gIH07XHJcbiAgXHJcbiAgYWN0aXZlQ2F0ZWdvcnk6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNjcmVlbldpZHRoOiBudW1iZXIgPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHJcbiAgZ2V0IHRoZW1lQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgZm9vdGVyLXRoZW1lLSR7dGhpcy5jb25maWcudGhlbWUgfHwgJ2RhcmsnfWA7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBhbGlnbm1lbnRDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBmb290ZXItYWxpZ24tJHt0aGlzLmNvbmZpZy5hbGlnbm1lbnQgfHwgJ2xlZnQnfWA7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBncmlkQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgZm9vdGVyLWdyaWQtJHt0aGlzLmNvbmZpZy5ncmlkQ29sdW1ucyB8fCAxMn1gO1xyXG4gIH1cclxuICBcclxuICBnZXQgaXNDb2xsYXBzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIC8vIFNlbXByZSB1c2FyIGFjY29yZGlvbiBwYXJhIGxheW91dHMgZGUgOCBlIDQgY29sdW5hc1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmdyaWRDb2x1bW5zID09PSA4IHx8IHRoaXMuY29uZmlnLmdyaWRDb2x1bW5zID09PSA0KSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBQYXJhIGxheW91dCBkZSAxMiBjb2x1bmFzLCB1c2FyIGFjY29yZGlvbiBlbSB0ZWxhcyBtZW5vcmVzIHF1ZSA5OTJweFxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmdyaWRDb2x1bW5zID09PSAxMikge1xyXG4gICAgICByZXR1cm4gdGhpcy5zY3JlZW5XaWR0aCA8IDk5MjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIFxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gU2V0IGRlZmF1bHQgdmFsdWVzIGZvciBvcHRpb25hbCBmaWVsZHNcclxuICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICB0aGVtZTogJ2RhcmsnLFxyXG4gICAgICBhbGlnbm1lbnQ6ICdsZWZ0JyxcclxuICAgICAgZ3JpZENvbHVtbnM6IDEyLFxyXG4gICAgICAuLi50aGlzLmNvbmZpZ1xyXG4gICAgfTtcclxuICAgIFxyXG4gICAgLy8gQWRpY2lvbmFyIGxpc3RlbmVyIHBhcmEgcmVkaW1lbnNpb25hbWVudG8gZGEgdGVsYVxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25SZXNpemUuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLm9uUmVzaXplKCk7XHJcbiAgfVxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy8gUmVtb3ZlciBsaXN0ZW5lciBhbyBkZXN0cnVpciBvIGNvbXBvbmVudGVcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uUmVzaXplLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBcclxuICBvblJlc2l6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICB9XHJcbiAgXHJcbiAgdG9nZ2xlQ2F0ZWdvcnkoY2F0ZWdvcnlUaXRsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVDYXRlZ29yeSA9PT0gY2F0ZWdvcnlUaXRsZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUNhdGVnb3J5ID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPSBjYXRlZ29yeVRpdGxlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBpc0NhdGVnb3J5QWN0aXZlKGNhdGVnb3J5VGl0bGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlQ2F0ZWdvcnkgPT09IGNhdGVnb3J5VGl0bGU7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gZm9vdGVyLmNvbXBvbmVudC5odG1sIC0gQWp1c3RhZG8gcGFyYSBvcyBkaWZlcmVudGVzIGxheW91dHMgZGUgZ3JpZCAtLT5cclxuPGZvb3RlciBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIiBbbmdDbGFzc109XCJbdGhlbWVDbGFzcywgYWxpZ25tZW50Q2xhc3MsIGdyaWRDbGFzc11cIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWNvbnRlbnRcIj5cclxuICAgIDwhLS0gTG9nbyBBcmVhIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1sb2dvLWFyZWFcIiAqbmdJZj1cImNvbmZpZy5sb2dvXCI+XHJcbiAgICAgIDxhIFtocmVmXT1cImNvbmZpZy5sb2dvLnVybCB8fCAnIydcIiBjbGFzcz1cImZvb3Rlci1sb2dvXCI+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cImNvbmZpZy5sb2dvLnNyY1wiIFthbHRdPVwiY29uZmlnLmxvZ28uYWx0XCI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICA8IS0tIFNpdGUgTWFwIEFyZWEgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXNpdGVtYXAtYXJlYVwiICpuZ0lmPVwiY29uZmlnLmNhdGVnb3JpZXMgJiYgY29uZmlnLmNhdGVnb3JpZXMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8IS0tIEdyaWQgdmlldyBmb3IgMTIgY29sdW1ucyAtLT5cclxuICAgICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cInNpdGVtYXAtZ3JpZFwiIFxyXG4gICAgICAgIFtjbGFzcy5jYXRlZ29yaWVzLTZdPVwiY29uZmlnLmNhdGVnb3JpZXMubGVuZ3RoIDw9IDZcIlxyXG4gICAgICAgIFtjbGFzcy5jYXRlZ29yaWVzLTEyXT1cImNvbmZpZy5jYXRlZ29yaWVzLmxlbmd0aCA+IDYgJiYgY29uZmlnLmNhdGVnb3JpZXMubGVuZ3RoIDw9IDEyXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIGNvbmZpZy5jYXRlZ29yaWVzXCI+XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJzaXRlbWFwLWNhdGVnb3J5XCI+e3sgY2F0ZWdvcnkudGl0bGUgfX08L2gzPlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwic2l0ZW1hcC1saXN0XCI+XHJcbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGluayBvZiBjYXRlZ29yeS5saW5rc1wiPlxyXG4gICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsudXJsXCIgW3RhcmdldF09XCJsaW5rLnRhcmdldCB8fCAnX3NlbGYnXCI+e3sgbGluay5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBcclxuICAgICAgPCEtLSBBY2NvcmRpb24gdmlldyBmb3IgOCBhbmQgNCBjb2x1bW5zIChhbmQgcmVzcG9uc2l2ZSAxMiBjb2x1bW5zKSAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpdGVtYXAtYWNjb3JkaW9uXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpdGVtYXAtYWNjb3JkaW9uLWl0ZW1cIiAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY29uZmlnLmNhdGVnb3JpZXNcIj5cclxuICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgIGNsYXNzPVwic2l0ZW1hcC1hY2NvcmRpb24taGVhZGVyXCIgXHJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXNDYXRlZ29yeUFjdGl2ZShjYXRlZ29yeS50aXRsZSlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2F0ZWdvcnkoY2F0ZWdvcnkudGl0bGUpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGgzIGNsYXNzPVwic2l0ZW1hcC1jYXRlZ29yeVwiPnt7IGNhdGVnb3J5LnRpdGxlIH19PC9oMz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaXRlbWFwLXRvZ2dsZS1pY29uXCI+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uLWFycm93XCIgW2NsYXNzLmljb24tZG93bl09XCIhaXNDYXRlZ29yeUFjdGl2ZShjYXRlZ29yeS50aXRsZSlcIiBbY2xhc3MuaWNvbi11cF09XCJpc0NhdGVnb3J5QWN0aXZlKGNhdGVnb3J5LnRpdGxlKVwiPjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2l0ZW1hcC1hY2NvcmRpb24tY29udGVudFwiIFtjbGFzcy5leHBhbmRlZF09XCJpc0NhdGVnb3J5QWN0aXZlKGNhdGVnb3J5LnRpdGxlKVwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJzaXRlbWFwLWxpc3RcIj5cclxuICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2YgY2F0ZWdvcnkubGlua3NcIj5cclxuICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsudXJsXCIgW3RhcmdldF09XCJsaW5rLnRhcmdldCB8fCAnX3NlbGYnXCI+e3sgbGluay5sYWJlbCB9fTwvYT5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDwhLS0gU2Vjb25kYXJ5IEluZm9ybWF0aW9uIEFyZWEgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXNlY29uZGFyeS1hcmVhXCIgKm5nSWY9XCIoY29uZmlnLnNvY2lhbEl0ZW1zICYmIGNvbmZpZy5zb2NpYWxJdGVtcy5sZW5ndGggPiAwKSB8fCAoY29uZmlnLnBhcnRuZXJMb2dvcyAmJiBjb25maWcucGFydG5lckxvZ29zLmxlbmd0aCA+IDApXCI+XHJcbiAgICAgIDwhLS0gU29jaWFsIE5ldHdvcmtzIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXNvY2lhbFwiICpuZ0lmPVwiY29uZmlnLnNvY2lhbEl0ZW1zICYmIGNvbmZpZy5zb2NpYWxJdGVtcy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwic29jaWFsLXRpdGxlXCIgKm5nSWY9XCJjb25maWcuc29jaWFsVGl0bGVcIj57eyBjb25maWcuc29jaWFsVGl0bGUgfX08L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzb2NpYWwtaWNvbnNcIj5cclxuICAgICAgICAgIDxhIFxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb25maWcuc29jaWFsSXRlbXNcIiBcclxuICAgICAgICAgICAgW2hyZWZdPVwiaXRlbS51cmxcIiBcclxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCIgXHJcbiAgICAgICAgICAgIGNsYXNzPVwic29jaWFsLWljb25cIiBcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmxhYmVsXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cIml0ZW0uaWNvblwiPjwvaT5cclxuICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICA8IS0tIFBhcnRuZXIgTG9nb3MgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItcGFydG5lci1sb2dvc1wiICpuZ0lmPVwiY29uZmlnLnBhcnRuZXJMb2dvcyAmJiBjb25maWcucGFydG5lckxvZ29zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8YSAqbmdGb3I9XCJsZXQgbG9nbyBvZiBjb25maWcucGFydG5lckxvZ29zXCIgW2hyZWZdPVwibG9nby51cmwgfHwgJyMnXCIgY2xhc3M9XCJwYXJ0bmVyLWxvZ29cIj5cclxuICAgICAgICAgIDxpbWcgW3NyY109XCJsb2dvLnNyY1wiIFthbHRdPVwibG9nby5hbHRcIj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBcclxuICAgIDwhLS0gRGl2aWRlciAtLT5cclxuICAgIDxociBjbGFzcz1cImZvb3Rlci1kaXZpZGVyXCIgKm5nSWY9XCJjb25maWcubGVnYWxUZXh0IHx8IGNvbmZpZy5oaWdobGlnaHRlZExlZ2FsVGV4dCB8fCBjb25maWcubGljZW5zZVRleHRcIj5cclxuICAgIFxyXG4gICAgPCEtLSBMZWdhbCBJbmZvcm1hdGlvbiBBcmVhIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvb3Rlci1sZWdhbC1hcmVhXCIgKm5nSWY9XCJjb25maWcubGVnYWxUZXh0IHx8IGNvbmZpZy5oaWdobGlnaHRlZExlZ2FsVGV4dCB8fCBjb25maWcubGljZW5zZVRleHRcIj5cclxuICAgICAgPHAgY2xhc3M9XCJsZWdhbC10ZXh0XCIgKm5nSWY9XCJjb25maWcubGVnYWxUZXh0IHx8IGNvbmZpZy5oaWdobGlnaHRlZExlZ2FsVGV4dFwiPlxyXG4gICAgICAgIHt7IGNvbmZpZy5sZWdhbFRleHQgfHwgJycgfX1cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnLmhpZ2hsaWdodGVkTGVnYWxUZXh0XCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2FsLWhpZ2hsaWdodFwiPiB7eyBjb25maWcuaGlnaGxpZ2h0ZWRMZWdhbFRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvcD5cclxuICAgICAgXHJcbiAgICAgIDxwIGNsYXNzPVwibGVnYWwtdGV4dFwiICpuZ0lmPVwiY29uZmlnLmxpY2Vuc2VUZXh0XCI+XHJcbiAgICAgICAge3sgY29uZmlnLmxpY2Vuc2VUZXh0IH19XHJcbiAgICAgICAgPGEgKm5nSWY9XCJjb25maWcubGljZW5zZVVybFwiIFtocmVmXT1cImNvbmZpZy5saWNlbnNlVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3sgY29uZmlnLmxpY2Vuc2VOYW1lIHx8ICdsaWNlbsOnYSBkZSB1c28nIH19PC9hPlxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9mb290ZXI+Il19