@testgorilla/tgo-ui 1.2.1 → 1.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui.mjs","sources":["../../../src/utils/alert-bars.utils.ts","../../../src/components/icon/icon.config.ts","../../../src/components/icon/icon.component.ts","../../../src/components/icon/icon.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/alert-banner/alert-banner.component.ts","../../../src/components/alert-banner/alert-banner.component.html","../../../src/components/icon/icon.component.module.ts","../../../src/components/button/button.component.module.ts","../../../src/components/alert-banner/alert-banner.component.module.ts","../../../src/components/banner-action/banner-action.component.ts","../../../src/components/banner-action/banner-action.component.html","../../../src/components/banner-action/banner-action.component.module.ts","../../../src/components/logo/logo.model.ts","../../../src/components/logo/logo.component.ts","../../../src/components/logo/logo.component.html","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/logo/logo.component.module.ts","../../../src/components/card/card.component.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.component.module.ts","../../../src/utils/validators.utils.ts","../../../src/components/create-account/create-account.constant.ts","../../../src/directives/digits-only.directive.ts","../../../src/components/field/field.component.ts","../../../src/components/field/field.component.html","../../../src/components/create-account/create-account.component.ts","../../../src/components/create-account/create-account.component.html","../../../src/components/field/field.component.module.ts","../../../src/components/create-account/create-account.component.module.ts","../../../src/components/create-password/create-password.constant.ts","../../../src/components/create-password/create-password.component.ts","../../../src/components/create-password/create-password.component.html","../../../src/components/create-password/create-password.component.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog.component.module.ts","../../../src/components/elevation-shadow/elevation-shadow.constant.ts","../../../src/components/elevation-shadow/elevation-shadow.component.ts","../../../src/components/elevation-shadow/elevation-shadow.component.html","../../../src/components/elevation-shadow/elevation-shadow.component.module.ts","../../../src/components/progress-bar/progress-bar.component.ts","../../../src/components/progress-bar/progress-bar.component.html","../../../src/directives/drag-drop.directive.ts","../../../src/components/file-upload/file-upload.component.ts","../../../src/components/file-upload/file-upload.component.html","../../../src/components/progress-bar/progress-bar.component.module.ts","../../../src/components/file-upload/file-upload.component.module.ts","../../../src/components/forgot-password/forgot-password.constant.ts","../../../src/components/forgot-password/forgot-password.component.ts","../../../src/components/forgot-password/forgot-password.component.html","../../../src/components/forgot-password/forgot-password.component.module.ts","../../../src/components/icon-label/icon-label.component.ts","../../../src/components/icon-label/icon-label.component.html","../../../src/components/icon-label/icon-label.component.module.ts","../../../src/components/label/label.model.ts","../../../src/components/label/label.component.ts","../../../src/components/label/label.component.html","../../../src/components/label/label.component.module.ts","../../../src/components/login/login.constant.ts","../../../src/components/login/login.component.ts","../../../src/components/login/login.component.html","../../../src/components/login/login.component.module.ts","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar.component.module.ts","../../../src/components/navigation/navigation.component.ts","../../../src/components/navigation/navigation.component.html","../../../src/components/navigation/navigation.component.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/paginator/paginator.component.module.ts","../../../src/components/radio-button/radio-button.component.ts","../../../src/components/radio-button/radio-button.component.html","../../../src/components/radio-button/radio-button.component.module.ts","../../../src/utils/localization/language.service.ts","../../../src/components/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar.component.module.ts","../../../src/components/table/pipes/data-property-getter.ts","../../../src/components/table/table.model.ts","../../../src/components/table/directives/dynamic-component.directive.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table.component.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/tooltip/tooltip.model.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.component.module.ts","../../../src/components/tag/tag.component.module.ts","../../../src/components/dropdown/dropdown.component.ts","../../../src/components/dropdown/dropdown.component.html","../../../src/components/dropdown/dropdown.component.module.ts","../../../src/components/spinner/spinner.component.ts","../../../src/components/spinner/spinner.component.html","../../../src/components/spinner/spinner.module.ts","../../../src/components/confirm-dialog/confirm-dialog.constants.ts","../../../src/components/confirm-dialog/confirm-dialog.component.ts","../../../src/components/confirm-dialog/confirm-dialog.component.html","../../../src/components/confirm-dialog/confirm-dialog.component.module.ts","../../../src/components/datepicker/datepicker.component.ts","../../../src/components/datepicker/datepicker.component.html","../../../src/components/datepicker/datepicker.component.module.ts","../../../src/components/rating/rating.component.ts","../../../src/components/rating/rating.component.html","../../../src/components/rating/rating.component.module.ts","../../../src/components/toggle/toggle.component.ts","../../../src/components/toggle/toggle.component.html","../../../src/components/toggle/toggle.component.module.ts","../../../src/components/avatar/avatar.model.ts","../../../src/pipes/name-initials.pipe.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.component.module.ts","../../../src/public-api.ts","../../../src/testgorilla-tgo-ui.ts"],"sourcesContent":["import { IconName } from '../components/icon/icon.model';\n\nexport const alertBarsUtil = {\n //Set css class and iconName according type\n setIcon: (alertType: string): IconName => {\n if (alertType === 'success') {\n return 'Round-check';\n }\n if (alertType === 'info') {\n return 'Info';\n }\n if (alertType === 'warning') {\n return 'Warning';\n }\n if (alertType === 'error') {\n return 'Error';\n }\n return '';\n },\n\n //Set cssClass for fixed or static position\n setPosition: (fixed: boolean): string => {\n if (fixed === true) {\n return 'fixed';\n } else {\n return 'static';\n }\n },\n\n //Set css class for alertbanner\n setCssClass: (fullWidth: boolean, type: string, position: string): string => {\n const isFullWidth = !!fullWidth ? 'full-width' : '';\n return `${type} ${position} ${isFullWidth}`;\n },\n};\n","// Data of all tgoIcons\nexport const tgoIcons = [\n 'Add',\n 'Archive',\n 'Arrow_down',\n 'Arrow_left',\n 'Arrow_right',\n 'Arrow_up',\n 'Assessment',\n 'Attempts',\n 'Book',\n 'Calendar',\n 'Candidates',\n 'Chat-notifications',\n 'Chat',\n 'Check',\n 'Clone',\n 'Close',\n 'Code',\n 'Company',\n 'Copy',\n 'Custom-questions',\n 'Delete',\n 'Devices',\n 'Document',\n 'Download',\n 'Edit',\n 'Email-message',\n 'Empty-placeholder',\n 'Error',\n 'Essay',\n 'Eye-hide',\n 'Eye-view',\n 'Feedback-1',\n 'Feedback-2',\n 'Feedback-3',\n 'Feedback-4',\n 'Feedback-5',\n 'File-attach',\n 'File-upload',\n 'Filter',\n 'Folder',\n 'Format-add-file',\n 'Format-add-table',\n 'Format-align-L',\n 'Format-align-R',\n 'Format-align-center',\n 'Format-align-justify',\n 'Format-bold',\n 'Format-code-active',\n 'Format-code-block',\n 'Format-edit-table',\n 'Format-format',\n 'Format-function',\n 'Format-italics',\n 'Format-list-bulleted',\n 'Format-list-numbered',\n 'Format-picker',\n 'Format-quote',\n 'Format-subscript',\n 'Format-superscript',\n 'Format-text-direction-L',\n 'Format-text-direction-R',\n 'Format-text-size',\n 'Format-underline',\n 'Format-variable',\n 'Full-screen',\n 'Gender-female',\n 'Gender-male',\n 'Help-2',\n 'Help',\n 'Image',\n 'Info',\n 'Integration',\n 'Language',\n 'Layout',\n 'Learn',\n 'Level',\n 'Light-bulb',\n 'Link',\n 'Loading-spinner',\n 'Localisation',\n 'Location',\n 'Lock',\n 'Log-out',\n 'Menu-burger',\n 'Menu-ellipsis',\n 'Microphone',\n 'Minus',\n 'Mouse-cursor',\n 'Mouse-grab-cursor',\n 'Mouse',\n 'Multi-choice',\n 'Notifications',\n 'Password',\n 'Path',\n 'Plan-billing',\n 'Plus',\n 'Premium',\n 'Promotion',\n 'Question-count',\n 'Refer',\n 'Reset',\n 'Review',\n 'Round-check-filled',\n 'Round-check',\n 'Search',\n 'Secure-checkout',\n 'Send',\n 'Settings',\n 'Social-facebook',\n 'Social-instagram',\n 'Social-linkedin',\n 'Sorting-down-1',\n 'Sorting-down',\n 'Speedometer',\n 'Star-filled',\n 'Star-half',\n 'Star-outline',\n 'Support',\n 'Sync',\n 'Team',\n 'Test',\n 'Thunder',\n 'Timer',\n 'Type',\n 'Unarchive',\n 'Unlock',\n 'Upgrade',\n 'Upload',\n 'User-access',\n 'User-add',\n 'User-invite',\n 'User-profile',\n 'User-reject',\n 'User-switch',\n 'Video-pause',\n 'Video-play',\n 'Video-record',\n 'Video',\n 'Volume',\n 'Warning',\n 'Zoom-in',\n 'Zoom-out',\n] as const;\n","import { Component, Input, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { tgoIcons } from './icon.config';\nimport { IconColor, IconName, IconSize } from './icon.model';\n\n@Component({\n selector: 'ui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent implements OnInit {\n /**\n * Icon size\n *\n * @type {IconSize}\n * @memberof IconComponent\n */\n @Input() size: IconSize = '16';\n\n /**\n * Icon css class\n *\n * @memberof IconComponent\n */\n @Input() cssClass = '';\n\n /**\n * Icon name\n *\n * @type {IconName}\n * @memberof IconComponent\n */\n @Input() name: IconName;\n\n /**\n * Icon color\n *\n * @type {IconColor}\n * @memberof IconComponent\n */\n @Input() color?: IconColor = 'black';\n\n customCssClass: string;\n\n constructor(private matIconRegistry: MatIconRegistry, private domSanitzer: DomSanitizer) {}\n\n ngOnInit(): void {\n this.customCssClass = this.setCssClass();\n this.addIcon();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['size'] || changes['cssClass'] || changes['color'] ) {\n this.customCssClass = this.setCssClass();\n }\n if (changes['name']) {\n this.addIcon();\n }\n }\n\n //set css class for size\n setCssClass(): string {\n return `${this.cssClass} size-${this.size} ${this.color}`;\n }\n\n //Add icon to matIcon registry\n addIcon() {\n const filename = tgoIcons.find(icon => icon === this.name);\n if (filename) {\n this.matIconRegistry.addSvgIcon(\n filename,\n this.domSanitzer.bypassSecurityTrustResourceUrl(`/icons/${filename}.svg`)\n );\n }\n }\n}\n","<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n","/* eslint-disable @angular-eslint/use-lifecycle-interface */\nimport { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { ButtonColor, ButtonIconPosition, ButtonSize, LinkUrlTarget } from './button.model';\n\n@Component({\n selector: 'ui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n /**\n * Define button height\n *\n * @type {ButtonSize}\n * @memberof ButtonComponent\n */\n @Input() size: ButtonSize = 'big';\n /**\n * Background color of the button while in active state\n *\n * @type {ButtonColor}\n * @memberof ButtonComponent\n */\n @Input() type: ButtonColor = 'primary';\n\n /**\n * Text content to appear on the button\n *\n * @memberof ButtonComponent\n */\n @Input() label = '';\n\n /**\n * Positioning of the icon (when existant)\n *\n * @type {ButtonIconPosition}\n * @memberof ButtonComponent\n */\n @Input() iconPosition?: ButtonIconPosition = 'right';\n\n /**\n * Define if button has only icon without text\n *\n * @memberof ButtonComponent\n */\n @Input() justIcon = false;\n\n /**\n * Name of ui-icon\n *\n * @type {IconName}\n * @memberof ButtonComponent\n */\n @Input() iconName: IconName = '';\n\n /**\n * Indicator if the button should be disabled\n *\n * @memberof ButtonComponent\n */\n @Input() disabled = false;\n\n /**\n * Indicator if the loading icon should be shown\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n * Indicator of the button width\n *\n * @memberof ButtonComponent\n */\n @Input() fullWidth = false;\n\n /**\n * Url of button if it is a link\n *\n * @memberof ButtonComponent\n */\n @Input() url?: string;\n\n /**\n * Url's target of button if it is a link\n *\n * @type {@type {LinkUrlTarget}}\n * @memberof ButtonComponent\n */\n @Input() urlTarget?: LinkUrlTarget;\n\n /**\n * Button value\n *\n * @memberof ButtonComponent\n */\n @Input() value?: string;\n\n @Output() buttonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() buttonHoverEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor() {}\n\n classCss: string;\n isButtonLink: boolean;\n isLabel: boolean;\n\n ngOnInit(): void {\n this.classCss = this.setCssClass();\n this.isButtonLink = this.showButtonLink();\n this.isLabel = this.showLabel();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['type']) {\n this.isButtonLink = this.showButtonLink();\n }\n if (changes['loading']) {\n this.isLabel = this.showLabel();\n }\n if (\n changes['type'] ||\n changes['fullWidth'] ||\n changes['iconName'] ||\n changes['justIcon'] ||\n changes['iconPosition']\n ) {\n this.classCss = this.setCssClass();\n }\n }\n\n buttonClick(event: Event): void {\n this.buttonClickEvent.emit(event);\n }\n\n buttonHover(event: Event): void {\n this.buttonHoverEvent.emit(event);\n }\n\n //Show or hide label\n showLabel(): boolean {\n return !this.loading;\n }\n\n //Set css class according inputs\n setCssClass(): string {\n const width = this.fullWidth ? 'full-width' : '';\n const hasIcon = this.iconName === null ? '' : 'icon';\n const justIcon = this.justIcon ? 'only-icon' : '';\n const iconPosition = this.iconPosition === undefined ? '' : this.iconPosition;\n return `${this.size} ${iconPosition} ${this.type} ${width} ${hasIcon} ${justIcon}`;\n }\n\n //Show or hide spinner\n showSpinner(): boolean {\n const isNotTab = this.type !== 'tab';\n const isNotLink = this.type !== 'link';\n const isLoading = this.loading === true;\n return isLoading && isNotTab && isNotLink;\n }\n\n //Show button with <button> or <a> tag\n showButtonLink(): boolean {\n return this.type !== 'link';\n }\n}\n","<button\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"isButtonLink\"\n mat-flat-button>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon === true && !!iconName\">\n <span class=\"icon only\" role=\"label\" [attr.aria-label]=\"label\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n </span>\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"justIcon === false\">\n <span class=\"icon\" *ngIf=\"iconPosition === 'left' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span *ngIf=\"isLabel\" class=\"label\">{{ label }}</span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span class=\"spinner-wrapper\" *ngIf=\"showSpinner()\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </span>\n</button>\n<a\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\" \n [href]=\"url\" \n [target]=\"urlTarget\"\n mat-flat-button>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n</a>\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { AlertBarType } from '../../utils/alert-bar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\nimport { LinkTargetType } from './alert-banner.model';\n\n@Component({\n selector: 'ui-alert-banner',\n templateUrl: './alert-banner.component.html',\n styleUrls: ['./alert-banner.component.scss'],\n animations: [\n trigger('openClose', [\n transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),\n transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertBannerComponent implements OnInit {\n constructor() {}\n\n /**\n * Alert Banner type\n *\n * @type {AlertBarType}\n * @memberof AlertBannerComponent\n */\n @Input() alertType: AlertBarType = 'success';\n\n /**\n * Alert banner message\n *\n * @memberof AlertBannerComponent\n */\n @Input() message = '';\n\n /**\n * Include dismmiss button\n *\n * @memberof AlertBannerComponent\n */\n @Input() includeDismissButton = true;\n\n /**\n * Static or fixed position\n *\n * @memberof AlertBannerComponent\n */\n @Input() fixed = false;\n\n /**\n * Full width for alert banner\n *\n * @memberof AlertBannerComponent\n */\n @Input() fullWidth = true;\n\n /**\n * Link text that will appended at the end of message\n *\n * @memberof AlertBannerComponent\n */\n @Input() linkText? = '';\n\n /**\n * Link url\n *\n * @memberof AlertBannerComponent\n */\n @Input() linkUrl?: string;\n\n /**\n * Link target\n *\n * @type {@type {LinkTargetType}}\n * @memberof AlertBannerComponent\n */\n @Input() linkTarget?: LinkTargetType = '_blank';\n\n iconName: IconName;\n visible = true;\n position: string;\n cssClass: string;\n\n ngOnInit(): void {\n this.iconName = alertBarsUtil.setIcon(this.alertType);\n this.position = alertBarsUtil.setPosition(this.fixed);\n this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.alertType, this.position);\n }\n\n //Hide snackbar when dismiss button is clicked\n dismissClick() {\n this.visible = false;\n }\n}\n","<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule, MatIconModule, HttpClientModule],\n exports: [IconComponent],\n providers: [HttpClientModule],\n})\nexport class IconComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { IconComponentModule } from '../../components/icon/icon.component.module';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule, MatButtonModule, IconComponentModule, MatProgressSpinnerModule],\n exports: [ButtonComponent],\n providers: [],\n})\nexport class ButtonComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { AlertBannerComponent } from './alert-banner.component';\n\n@NgModule({\n declarations: [AlertBannerComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule],\n exports: [AlertBannerComponent],\n})\nexport class AlertBannerComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { AlertBarType } from '../../utils/alert-bar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\n\n@Component({\n selector: 'ui-banner-action',\n templateUrl: './banner-action.component.html',\n styleUrls: ['./banner-action.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BannerActionComponent implements OnInit {\n /**\n * BannerAction text\n *\n * @memberof BannerActionComponent\n */\n @Input() message? = '';\n\n /**\n * BannerAction type\n *\n * @type {AlertBarType}\n * @memberof BannerActionComponent\n */\n @Input() bannerActionType: AlertBarType = 'success';\n\n /**\n * BannerAction button label\n *\n * @memberof BannerActionComponent\n */\n @Input() buttonText: string;\n\n /**\n * Static or fixed position\n *\n * @memberof AlertBannerComponent\n */\n @Input() fixed = false;\n\n /**\n * Full width for alert banner\n *\n * @memberof AlertBannerComponent\n */\n @Input() fullWidth = true;\n\n /**\n * BannerAction button icon\n *\n * @memberof BannerActionComponent\n */\n @Input() buttonIcon: IconName;\n\n @Output() buttonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n iconName: IconName;\n position: string;\n cssClass: string;\n\n constructor() {}\n\n buttonClick(event: Event): void {\n this.buttonClickEvent.emit(event);\n }\n\n ngOnInit(): void {\n this.iconName = alertBarsUtil.setIcon(this.bannerActionType);\n this.position = alertBarsUtil.setPosition(this.fixed);\n this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.bannerActionType, this.position);\n }\n}\n","<div id=\"banner-action\" class=\"banner-action-container\" [ngClass]=\"cssClass\">\n <div class=\"banner-action-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button [label]=\"buttonText\" (buttonClickEvent)=\"buttonClick($event)\" [iconName]=\"buttonIcon\"></ui-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { BannerActionComponent } from './banner-action.component';\n\n@NgModule({\n declarations: [BannerActionComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule],\n exports: [BannerActionComponent],\n providers: [],\n})\nexport class BannerActionComponentModule {}\n","export enum LogoTypeEnum {\n DEFAULT = 'default',\n POWEREDBY = 'poweredby',\n REVERSE = 'reverse',\n};\n\nexport enum LogoPathEnum {\n DEFAULT = '/images/testgorilla.svg',\n POWEREDBY = '/images/poweredbyTG.svg',\n REVERSE = '/images/reverseTG.svg',\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LogoPathEnum, LogoTypeEnum } from './logo.model';\n\n@Component({\n selector: 'ui-logo',\n templateUrl: './logo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LogoComponent {\n /**\n * Logo type\n *\n * @type {LogoTypeEnum}\n * @memberof LogoComponent\n */\n @Input() type: LogoTypeEnum = LogoTypeEnum.DEFAULT;\n\n /**\n * @ignore\n */\n logoURL: String;\n\n /**\n * @ignore\n */\n setURL = () => {\n switch(this.type) {\n case LogoTypeEnum.POWEREDBY: {\n this.logoURL = LogoPathEnum.POWEREDBY;\n break;\n }\n case LogoTypeEnum.REVERSE: {\n this.logoURL = LogoPathEnum.REVERSE;\n break;\n }\n default: {\n this.logoURL = LogoPathEnum.DEFAULT;\n break;\n }\n }\n };\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n this.setURL();\n };\n\n /**\n * @ignore\n */\n ngOnChanges(): void {\n this.setURL();\n }\n}\n","<img [src]=\"logoURL\" [alt]=\"type\">\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardComponent {\n @Input() title = '';\n @Input() subTitle = '';\n\n}\n","<mat-card appearance=\"outlined\" class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n","import { NgModule } from '@angular/core';\nimport { LogoComponent } from './logo.component';\n\n@NgModule({\n declarations: [LogoComponent],\n imports: [],\n exports: [LogoComponent],\n})\nexport class LogoComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, MatCardModule, LogoComponentModule],\n exports: [CardComponent],\n})\nexport class CardComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, SimpleChanges, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n@Component({\n selector: 'ui-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements OnInit, ControlValueAccessor {\n /**\n * Determines whether the checkbox is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() disabled = false;\n\n /**\n * Determines whether the checkbox is checked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() checked = false;\n\n /**\n * Determines whether the checkbox is indeterminate.\n * It can be used to represent a checkbox with three states, e.g. a checkbox that represents a nested list of checkable items.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() indeterminate = false;\n\n /**\n * Determines whether the checkbox color.\n * Default: Test Gorilla primary color.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @HostBinding('style.--color')\n @Input() color = '#46A997';\n\n /**\n * Name value will be applied to the input element if present.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @Input() name = '';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @Input() label = '';\n\n /**\n * Determines whether the checkbox is a multiple choice cell.\n * Default: false\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() multiple = false;\n\n /**\n * Event emitted when the checkbox's checked value changes.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Output() changed = new EventEmitter<boolean>();\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n classMultiple: string;\n\n emitChange(event: MatCheckboxChange): void {\n this.changed.emit(event.checked);\n }\n\n ngOnInit() {\n this.classMultiple = this.setClass();\n }\n\n toggleChecked(event: MatCheckboxChange): void {\n this.changed.emit(event.checked);\n this.checked = event.checked;\n this.onTouch();\n this.onChange(this.checked);\n if (!this.disabled) {\n this.indeterminate = false;\n this.classMultiple = this.setClass();\n }\n }\n\n setClass(): string {\n if (this.multiple) {\n return this.checked || this.indeterminate ? 'multiple-checked' : 'multiple-unchecked';\n }\n return '';\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div [ngClass]=\"classMultiple\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [aria-label]=\"label\"\n class=\"checkbox\"\n >\n {{ label }}\n </mat-checkbox>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, MatCheckboxModule, FormsModule, ReactiveFormsModule],\n exports: [CheckboxComponent],\n})\nexport class CheckboxComponentModule {}\n","import { ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\n\nconst PASSWORD_REGEX = /^(?=\\D*\\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,\\-./:;<=>?@!^_~|\"`{}\\[\\]])(?=[^A-Z]*[A-Z]).{12,}$/;\n\nexport class ValidatorsUtil {\n public static validatePassword(): ValidationErrors | ValidatorFn[] {\n return [Validators.required, Validators.minLength(12), Validators.pattern(PASSWORD_REGEX)];\n }\n}\n","export const CREATE_ACCOUNT_i18n = {\n title: 'Create your Career Passport',\n subtitle: 'Enter the email address to which you received an assessment invite.',\n email_label: 'Email',\n password_label: 'Password',\n terms_conditions: 'I have read and accepted the ',\n terms_conditions_link_label: 'candidate terms',\n privacy_policy_link_label: 'privacy policy',\n terms_conditions_delimiter: 'and',\n button_label: 'Next',\n have_career_passport: 'Already have a Career Passport?',\n login: 'Log in here',\n};\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[digitsOnly]',\n})\nexport class DigitsOnlyDirective {\n constructor(private el: ElementRef) {}\n\n @Input() allowNegative = false;\n @Input() allowDecimal = false;\n @Input() allowOnlyDigits = false;\n regex: RegExp;\n\n @HostListener('keypress', ['$event'])\n onKeyPress(event: KeyboardEvent) {\n this.validate(event, event.key);\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: Event) {\n const pastedText = <ClipboardEvent>event && (<ClipboardEvent>event)?.clipboardData?.getData('text/plain'); // Non-IE browsers\n this.validate(event, pastedText || '');\n }\n\n validate(event: Event, text: string) {\n if (this.allowOnlyDigits) {\n const txtInput = this.el.nativeElement;\n const newValue =\n txtInput.value.substring(0, txtInput.selectionStart) + text + txtInput.value.substring(txtInput.selectionEnd);\n if (!this.regex) {\n this.regex = // eslint-disable-next-line no-eval\n eval(\n `/^${this.allowNegative ? '-?' : ''}${this.allowDecimal ? '((\\\\d+\\\\.?)|(\\\\.?))\\\\d*' : '\\\\d*'}$/g`\n ) as RegExp;\n }\n if (!newValue.match(this.regex)) {\n event.preventDefault();\n return;\n }\n }\n }\n}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FieldType } from '../../components/field/field.model';\n\n@Component({\n selector: 'ui-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FieldComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FieldComponent implements OnInit, ControlValueAccessor {\n @HostBinding() class = 'ui-field';\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() value = '';\n\n _errors: string[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors;\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() required: boolean;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() hintMessage = '';\n\n /**\n * Input type\n *\n * @type {FieldType}\n * @memberof FieldComponent\n */\n @Input() type: FieldType = 'text';\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * allow only digits in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowOnlyDigits = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor() {}\n\n showSearch: boolean;\n showClose: boolean;\n showPassword: boolean;\n currentType: string;\n errorsLength: boolean;\n\n ngOnInit(): void {\n this.setSearchInput();\n this.currentType = this.getType();\n }\n\n //set search input initial value\n setSearchInput(): void {\n if (this.type === 'search') {\n this.showSearch = true;\n } else {\n this.showClose = false;\n this.showSearch = false;\n }\n }\n\n //change type for reveal password\n getType(): string {\n if (this.type === 'password' && this.showPassword) {\n return 'text';\n }\n return this.type;\n }\n\n //Clear input value\n clearValue(): void {\n this.value = '';\n this.onChangeInputSearch();\n }\n\n //toggle for password\n showPasswordClick() {\n this.showPassword = !this.showPassword;\n this.currentType = this.getType();\n }\n\n //Set options for search input\n onChangeInputSearch() {\n if (this.type === 'search') {\n if (!this.value) {\n this.showClose = false;\n this.showSearch = true;\n }\n if (this.value) {\n this.showClose = true;\n this.showSearch = false;\n }\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (!!this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n //Save input value\n onInput(event: any) {\n this.value = event.target.value;\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n this.onChange(this.value);\n }\n\n writeValue(value?: any): void {\n if (value) {\n this.value = value || '';\n } else {\n this.value = '';\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-form-field #uiField appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <input\n matInput\n (blur)=\"onTouch()\"\n (input)=\"onInput($event)\"\n [id]=\"id!\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [type]=\"currentType\"\n [name]=\"fieldName!\"\n digitsOnly\n [allowOnlyDigits]=\"allowOnlyDigits\"\n />\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'password'\">\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n type=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n label=\"Clear\"\n (buttonClickEvent)=\"clearValue()\"\n ></ui-button>\n <ui-icon *ngIf=\"showSearch\" size=\"24\" class=\"search\" name=\"Search\"></ui-icon>\n <ui-button\n *ngIf=\"type === 'password'\"\n type=\"secondary\"\n [justIcon]=\"true\"\n class=\"password\"\n [iconName]=\"showPassword ? 'Eye-hide' : 'Eye-view'\"\n label=\"View password\"\n (buttonClickEvent)=\"showPasswordClick()\"\n ></ui-button>\n </div>\n </div>\n <mat-hint class=\"info\" *ngIf=\"hintMessage && !_errors\">{{ hintMessage }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\"><ui-icon name=\"Error\"></ui-icon>{{ error }}</div>\n </mat-hint>\n</mat-form-field>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { ValidatorsUtil } from '../../utils/validators.utils';\nimport { CREATE_ACCOUNT_i18n } from './create-account.constant';\nimport { CreateAccountCredentials, Ii18nCreateAccount } from './create-account.model';\n\n@Component({\n selector: 'ui-create-account',\n templateUrl: './create-account.component.html',\n styleUrls: ['./create-account.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CreateAccountComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n @Input() email = '';\n\n /**\n * @ignore\n */\n @Input() emailEditable = true;\n /**\n * Path for candidate terms link\n * @memberof CreateAccountComponent\n */\n @Input() termsOfusePath = 'https://www.testgorilla.com/candidate-terms/';\n /**\n * Path for privacy policy link\n * @memberof CreateAccountComponent\n */\n @Input() privacyPolicyPath = 'https://www.testgorilla.com/privacy-policy/';\n\n /**\n * @ignore\n */\n registerForm = this.fb.group({\n username: ['', [Validators.required, Validators.email]],\n password: ['', ValidatorsUtil.validatePassword()],\n agree_terms_and_conditions: [false, [Validators.requiredTrue]],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n username: [''],\n password: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nCreateAccount}\n * @memberof CreateAccountComponent\n */\n @Input() i18n: Ii18nCreateAccount = CREATE_ACCOUNT_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<CreateAccountCredentials> = new EventEmitter<CreateAccountCredentials>();\n\n /**\n * @ignore\n */\n @Output() loginEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n if (this.email) {\n this.registerForm.get('username')?.setValue(this.email);\n }\n if (!this.emailEditable) {\n this.registerForm.get('username')?.disable();\n }\n }\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n username: this.registerForm.get('username')?.value,\n password: this.registerForm.get('password')?.value,\n });\n }\n\n login(): void {\n this.loginEvent.emit();\n }\n\n /**\n * @ignore\n */\n errorMessages: Record<string, string> = {\n email: 'Enter a valid email',\n required: 'This field is required',\n };\n\n /**\n * @ignore\n */\n passwordErrorMessages: Record<string, string> = {\n pattern: 'Password is invalid',\n };\n\n checkErrors(field: string) {\n const errorsMap = this.registerForm.controls[field].errors || {};\n const errors: string[] = [];\n for (const key in errorsMap) {\n if (errorsMap[key] && this.errorMessages[key]) {\n errors.push(this.errorMessages[key]);\n }\n }\n if (field === 'password') {\n for (const key in errorsMap) {\n if (errorsMap[key] && this.passwordErrorMessages[key]) {\n errors.push(this.passwordErrorMessages[key]);\n }\n }\n }\n this.formErrors[field as keyof typeof this.formErrors] = errors;\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors['username']\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors['password']\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <ui-checkbox formControlName=\"agree_terms_and_conditions\" [label]=\"i18n.terms_conditions\"></ui-checkbox>\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>\n <span>{{i18n.terms_conditions_delimiter}}</span>\n <a class=\"link\" [href]=\"privacyPolicyPath\" target=\"_blank\">{{ i18n.privacy_policy_link_label }}</a>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ButtonComponentModule } from '../../components/button/button.component.module';\nimport { IconComponentModule } from '../../components/icon/icon.component.module';\nimport { DigitsOnlyDirective } from '../../directives/digits-only.directive';\nimport { FieldComponent } from './field.component';\n\n@NgModule({\n declarations: [FieldComponent, DigitsOnlyDirective],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n ],\n exports: [FieldComponent],\n providers: [],\n})\nexport class FieldComponentModule {}\n","import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { CheckboxComponentModule } from '../checkbox/checkbox.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CreateAccountComponent } from './create-account.component';\n\n@NgModule({\n declarations: [CreateAccountComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n CheckboxComponentModule,\n MatPasswordStrengthModule,\n LogoComponentModule,\n ],\n exports: [CreateAccountComponent],\n providers: [],\n})\nexport class CreateAccountComponentModule {}\n","export const CREATE_PASSWORD_i18n = {\n title: 'Please create a new password',\n password_label: 'Set password',\n button: 'Set new password',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder } from '@angular/forms';\nimport { ValidatorsUtil } from '../../utils/validators.utils';\nimport { CREATE_PASSWORD_i18n } from './create-password.constant';\nimport { CreatePasswordCredentials, Ii18nCreatePassword } from './create-password.model';\n\n@Component({\n selector: 'ui-create-password',\n templateUrl: './create-password.component.html',\n styleUrls: ['./create-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CreatePasswordComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n createPasswordForm = this.fb.group({\n password: ['', ValidatorsUtil.validatePassword()],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n password: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nCreatePassword}\n * @memberof CreatePasswordComponent\n */\n @Input() i18n: Ii18nCreatePassword = CREATE_PASSWORD_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<CreatePasswordCredentials> = new EventEmitter<CreatePasswordCredentials>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n password: this.createPasswordForm.get('password')?.value,\n });\n }\n\n checkErrors(field: string) {\n if (this.createPasswordForm.controls[field].touched) {\n if (this.createPasswordForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['This field is required'];\n return;\n }\n\n if (field === 'password' && this.createPasswordForm.controls[field].hasError('pattern')) {\n this.formErrors.password = ['Password is invalid'];\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = [''];\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n","import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CreatePasswordComponent } from './create-password.component';\n\n@NgModule({\n declarations: [CreatePasswordComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n MatPasswordStrengthModule,\n LogoComponentModule,\n ],\n exports: [CreatePasswordComponent],\n providers: [],\n})\nexport class CreatePasswordComponentModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonColor } from '../button/button.model';\n\n@Component({\n selector: 'ui-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DialogComponent implements OnInit, OnChanges {\n constructor(public dialogRef: MatDialogRef<DialogComponent>) {}\n\n /**\n * Dialog title\n *\n * @memberof DialogComponent\n */\n @Input() title? = '';\n\n /**\n * Show close button\n *\n * @memberof DialogComponent\n */\n @Input() showCloseButton = true;\n\n /**\n * Fuction called before dialgo is closed\n *\n * @memberof DialogComponent\n */\n @Input() canCloseFn: () => boolean = () => true;\n\n /**\n * Secondary button label\n *\n * @memberof DialogComponent\n */\n @Input() secondaryButtonLabel? = '';\n\n /**\n * Primary button label\n *\n * @memberof DialogComponent\n */\n @Input() primaryButtonLabel? = '';\n\n /**\n * Secondary button type\n *\n * @memberof DialogComponent\n */\n @Input() secondaryButtonType: ButtonColor = 'secondary';\n\n /**\n * Primary button type\n *\n * @memberof DialogComponent\n */\n @Input() primaryButtonType: ButtonColor = 'primary';\n\n @Output() closeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() secondaryButtonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() primaryButtonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n disableButtons = false;\n\n ngOnInit(): void {\n this.areButtonsDisabled();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['canCloseFn']) {\n this.dialogRef.disableClose = !this.canCloseFn();\n this.areButtonsDisabled();\n }\n }\n\n //Disable primary button when canClose is false\n areButtonsDisabled() {\n if (this.canCloseFn() === false) {\n this.disableButtons = true;\n } else {\n this.disableButtons = false;\n }\n }\n\n //Close modal\n dismiss(): void {\n if (this.canCloseFn()) {\n this.dialogRef.disableClose = false;\n this.dialogRef.close();\n }\n }\n\n onClose(event: Event): void {\n this.closeEvent.emit(event);\n }\n\n onSecondaryButtonClick(event: Event): void {\n this.secondaryButtonClickEvent.emit(event);\n }\n\n onPrimaryButtonClick(event: Event): void {\n this.primaryButtonClickEvent.emit(event);\n }\n}\n","<ng-container>\n <div mat-dialog-title class=\"dialog-title\">\n {{ title }}\n <div *ngIf=\"showCloseButton\">\n <ui-button\n type=\"text\"\n [justIcon]=\"true\"\n [disabled]=\"disableButtons\"\n class=\"close\"\n iconName=\"Close\"\n label=\"Close dialog\"\n (click)=\"onClose($event)\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button\n [type]=\"secondaryButtonType\"\n *ngIf=\"!!secondaryButtonLabel\"\n [label]=\"secondaryButtonLabel\"\n (click)=\"onSecondaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [type]=\"primaryButtonType\"\n *ngIf=\"!!primaryButtonLabel\"\n [disabled]=\"disableButtons\"\n (click)=\"onPrimaryButtonClick($event)\"\n [label]=\"primaryButtonLabel\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n</ng-container>\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\n@Injectable()\nexport class DialogService {\n\n constructor(private matDialog: MatDialog) {}\n\n open(dialogComponent: ComponentType<any>): MatDialogRef<any> {\n // Open the dialog using UI custom styles\n return this.matDialog.open(dialogComponent, {\n panelClass: 'ui-dialog-wrapper',\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogService } from './dialog.service';\n\n@NgModule({\n declarations: [DialogComponent],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule],\n exports: [DialogComponent],\n providers: [{ provide: MAT_DIALOG_DATA, useValue: {} }, { provide: MatDialogRef, useValue: {} }, DialogService],\n})\nexport class DialogComponentModule {}\n","export enum ElevationType {\n DEFAULT = 'default',\n MODAL = 'modal'\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ElevationType } from './elevation-shadow.constant';\n\n@Component({\n selector: 'ui-elevation-shadow',\n templateUrl: './elevation-shadow.component.html',\n styleUrls: ['./elevation-shadow.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ElevationShadowComponent {\n /**\n * The type of elevation shadow.\n * Default: default.\n *\n * @type {ElevationType}\n * @memberof ElevationShadowComponent\n */\n @Input() elevationType = ElevationType.DEFAULT;\n}\n","<div [ngClass]=\"elevationType\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ElevationShadowComponent } from './elevation-shadow.component';\n\n@NgModule({\n declarations: [ElevationShadowComponent],\n imports: [CommonModule],\n exports: [ElevationShadowComponent],\n})\nexport class ElevationShadowComponentModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'ui-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressBarComponent {\n /**\n * Color of the progress bar.\n * Defaults to Test Gorilla primary color.\n *\n * @type {string}\n * @memberof ProgressBarComponent\n */\n @HostBinding('style.--color')\n @Input()\n color = '#46A997';\n\n /**\n * Progress value of the progress bar.\n * Defaults to zero.\n *\n * @type {number}\n * @memberof ProgressBarComponent\n */\n @Input() progress = 0;\n\n /**\n * Mode of the progress bar.\n * Mode must be one of these values: determinate, indeterminate, buffer, query.\n * Defaults to 'determinate'.\n *\n * @type {ProgressBarMode}\n * @memberof ProgressBarComponent\n */\n @Input() mode: ProgressBarMode = 'determinate';\n\n /**\n * Buffer value of the progress bar.\n * Defaults to zero.\n *\n * @type {number}\n * @memberof ProgressBarComponent\n */\n @Input() buffer = 0;\n\n constructor() {}\n}\n","<mat-progress-bar\n [mode]=\"mode\"\n [value]=\"progress\"\n [bufferValue]=\"buffer\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n class=\"progress-bar\"\n></mat-progress-bar>\n","import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[uiDragDrop]'\n})\nexport class DragDropDirective {\n constructor() { }\n\n @HostBinding('class.file-over') file: boolean;\n @Output() fileDropped = new EventEmitter<any>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.file = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.file = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.file = false;\n let files: FileList;\n if (!!event.dataTransfer) {\n files = event.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ui-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploadComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('inOutAnimationProgress', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('inOutAnimationChange', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n ],\n})\nexport class FileUploadComponent implements OnInit, OnChanges, ControlValueAccessor {\n @HostBinding() class = 'ui-file-upload';\n\n /**\n *\n * @type {number}\n * @memberof FileUploadComponent\n */\n @Input() maxFileSizeMB: number;\n\n /**\n * Supported files for input field\n *\n * @type {string}\n * @memberof FileUploadComponent\n */\n @Input() supportedFileTypes?: string;\n\n /**\n * Upload progress\n *\n * @type {number}\n * @memberof FileUploadComponent\n */\n @Input() uploadProgress: number;\n\n /**\n * File upload errors\n *\n * @type {string[]}\n * @memberof FileUploadComponent\n */\n @Input() errors?: string[] | null;\n\n /**\n * File upload disabled\n *\n * @type {boolean}\n * @memberof FileUploadComponent\n */\n @Input() disabled?: boolean;\n\n /**\n * Existing file information\n *\n * @type {(File | null)}\n * @memberof FileUploadComponent\n */\n @Input() file: File | null = null;\n\n @Output() OnDrop: EventEmitter<File> = new EventEmitter<File>();\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n progress = false;\n success = false;\n browse: boolean;\n\n constructor() {}\n\n ngOnInit(): void {\n this.browse = true;\n }\n\n //When file is dropped\n onFileDropped(files: FileList) {\n this.emitFile(files);\n }\n\n //When input changes\n onChangeUpload(event: Event) {\n const element = event.currentTarget as HTMLInputElement;\n this.emitFile(element.files || new FileList());\n }\n\n //Emit drop file\n emitFile(files: FileList) {\n const [file] = Array.from(files);\n this.file = file;\n this.errors = null;\n this.onTouch();\n this.onChange(this.file);\n this.OnDrop.emit(file);\n }\n\n //Show progress-bar\n showProgress(): boolean {\n this.browse = false;\n return this.file && !this.errors ? true : false;\n }\n\n //Show success elements\n showSuccess(): boolean {\n return this.file && this.uploadProgress === 100 && !this.errors ? true : false;\n }\n\n //Show browse when there are error\n showBrowse(): boolean {\n return this.errors ? true : false;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['uploadProgress'] || changes['file']) {\n this.progress = this.showProgress();\n this.success = this.showSuccess();\n this.browse = this.showBrowse();\n }\n if (changes['errors']) {\n this.progress = this.showProgress();\n this.success = this.showSuccess();\n this.browse = this.showBrowse();\n }\n }\n\n writeValue(value?: File): void {\n if (value) {\n this.file = value || null;\n } else {\n this.file = null;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div\n class=\"upload-file-container\"\n uiDragDrop\n [ngClass]=\"{ 'upload-errors': !!errors }\"\n (fileDropped)=\"onFileDropped($event)\"\n>\n <div *ngIf=\"browse && !(!!success && !!file && !!progress)\" [@inOutAnimation] class=\"upload-files\">\n <div class=\"upload-browse\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <div class=\"errors\" *ngIf=\"!!errors\">\n <span *ngFor=\"let error of errors\"> <ui-icon name=\"Error\"></ui-icon> {{ error }} </span>\n </div>\n <input\n class=\"form-control\"\n #fileDrop\n type=\"file\"\n [accept]=\"supportedFileTypes\"\n id=\"fileDrop\"\n (change)=\"onChangeUpload($event)\"\n />\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">browse</label> your files</p>\n <span class=\"upload-text\">{{ maxFileSizeMB }}MB max file size.</span>\n </div>\n </div>\n <div class=\"upload-change\" [@inOutAnimationChange] *ngIf=\"!!success && !!file && !!progress\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <input\n class=\"form-control\"\n #fileDrop\n type=\"file\"\n id=\"fileDrop\"\n [accept]=\"supportedFileTypes\"\n (change)=\"onChangeUpload($event)\"\n [disabled]=\"disabled\"\n />\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">change</label> your files</p>\n <span class=\"upload-text\"\n ><strong>{{ file.name }}</strong></span\n >\n </div>\n <div class=\"upload-progress\" [@inOutAnimationProgress] *ngIf=\"!!progress && !!file && !success\">\n <p>{{ file.name }}</p>\n <ui-progress-bar [progress]=\"uploadProgress\"></ui-progress-bar>\n <p class=\"upload-text\">\n Uploading <span>{{ uploadProgress }}</span\n >%\n </p>\n </div>\n</div>\n<div class=\"upload-supported-files\" *ngIf=\"!!supportedFileTypes\">\n <span>Supported file types:</span>{{ supportedFileTypes }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [ProgressBarComponent],\n imports: [CommonModule, MatProgressBarModule],\n exports: [ProgressBarComponent],\n providers: [],\n})\nexport class ProgressBarComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { DragDropDirective } from '../../directives/drag-drop.directive';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { ProgressBarComponentModule } from '../progress-bar/progress-bar.component.module';\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n declarations: [FileUploadComponent, DragDropDirective],\n imports: [CommonModule, MatFormFieldModule, MatInputModule, IconComponentModule, ProgressBarComponentModule],\n exports: [FileUploadComponent],\n providers: [],\n})\nexport class FileUploadComponentModule {}\n","export const FORGOT_PASSWORD_i18n = {\n title: 'Reset your password',\n email_label: 'Email',\n button_label: 'Send reset link',\n back_to_login: 'Back to log in',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { FORGOT_PASSWORD_i18n } from './forgot-password.constant';\nimport { ForgotPasswordCredentials, Ii18nForgotPassword } from './forgot-password.model';\n\n@Component({\n selector: 'ui-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ForgotPasswordComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n forgotPasswordForm = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n email: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading: boolean;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nForgotPassword}\n * @memberof ForgotPasswordComponent\n */\n @Input() i18n: Ii18nForgotPassword = FORGOT_PASSWORD_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<ForgotPasswordCredentials> = new EventEmitter<ForgotPasswordCredentials>();\n\n /**\n * @ignore\n */\n @Output() backToLoginEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n email: this.forgotPasswordForm.get('email')?.value,\n });\n }\n\n backToLogin(): void {\n this.backToLoginEvent.emit();\n }\n\n checkErrors(field: string) {\n if (this.forgotPasswordForm.controls[field].touched) {\n if (this.forgotPasswordForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['This field is required'];\n return;\n }\n\n if (this.forgotPasswordForm.controls[field].hasError('email')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['Enter a valid email'];\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = [''];\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { ForgotPasswordComponent } from './forgot-password.component';\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n MatIconModule,\n LogoComponentModule,\n ],\n exports: [ForgotPasswordComponent],\n providers: [],\n})\nexport class ForgotPasswordComponentModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IconName, IconSize } from '../../components/icon/icon.model';\n\n@Component({\n selector: 'ui-icon-label',\n templateUrl: './icon-label.component.html',\n styleUrls: ['./icon-label.component.scss']\n})\nexport class IconLabelComponent implements OnInit {\n\n /**\n * Icon size\n *\n * @type {IconSize}\n * @memberof IconLabelComponent\n */\n @Input() iconSize: IconSize = '16';\n\n /**\n * Icon name\n *\n * @type {IconName}\n * @memberof IconLabelComponent\n */\n @Input() iconName: IconName;\n\n /**\n * Label\n *\n * @memberof IconLabelComponent\n */\n @Input() text = '';\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ui-icon [name]=\"iconName\" [size]=\"iconSize\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { IconLabelComponent } from './icon-label.component';\n\n@NgModule({\n declarations: [IconLabelComponent],\n imports: [CommonModule, IconComponentModule],\n exports: [IconLabelComponent],\n providers: [],\n})\nexport class IconLabelComponentModule {}\n","export interface ILabelOptions {\n [key: string]: ILabelOptionItem;\n}\n\nexport interface ILabelOptionItem {\n title: string;\n textColor: string;\n backgroundColor: string;\n size: LabelSizeEnum;\n}\n\nexport enum LabelSizeEnum {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n BIG = 'big',\n HUGE = 'huge',\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LabelSizeEnum } from './label.model';\n\n@Component({\n selector: 'ui-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LabelComponent {\n /**\n * @ignore\n */\n LabelSizeEnum = LabelSizeEnum;\n\n /**\n * Label background color\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() backgroundColor = '';\n\n /**\n * Status text color\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() textColor = '';\n\n /**\n * Status title\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() title = '';\n\n /**\n * Status description\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() description = '';\n\n /**\n * Label size\n *\n * @type {LabelSizeEnum}\n * @memberof LabelComponent\n */\n @Input() size: LabelSizeEnum = LabelSizeEnum.SMALL;\n\n constructor() {}\n}\n","<div\n class=\"label\"\n [ngStyle]=\"{ 'background-color': backgroundColor, color: textColor }\"\n [ngClass]=\"{\n small: size === LabelSizeEnum.SMALL,\n medium: size === LabelSizeEnum.MEDIUM,\n large: size === LabelSizeEnum.LARGE,\n big: size === LabelSizeEnum.BIG,\n huge: size === LabelSizeEnum.HUGE\n }\"\n>\n <div [innerHTML]=\"title\"></div>\n <div [innerHTML]=\"description\" class=\"description\" *ngIf=\"description && size === LabelSizeEnum.HUGE\"></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LabelComponent } from './label.component';\n\n@NgModule({\n declarations: [LabelComponent],\n imports: [CommonModule],\n exports: [LabelComponent],\n providers: [],\n})\nexport class LabelComponentModule {}\n","export const LOGIN_i18n = {\n title: 'Log in to your Career Passport',\n email_label: 'Email address',\n password_label: 'Password',\n remember_me: 'Keep me logged in',\n forgot_password: 'Forgot password?',\n button_label: 'Log in',\n not_have_account: \"Don't have an account?\",\n create_account: 'Create one here',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { LOGIN_i18n } from './login.constant';\nimport { Ii18nLogin, LoginCredentials } from './login.model';\n\n@Component({\n selector: 'ui-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n @Input() email = '';\n\n /**\n * @ignore\n */\n loginForm = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n password: ['', [Validators.required]],\n remember_me: [false],\n });\n\n /**\n * @ignore\n */\n formErrors = {\n email: '',\n password: '',\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n * @description Object with the translations for the component.\n * @type {Ii18n}\n * @memberof LoginComponent\n */\n @Input() i18n: Ii18nLogin = LOGIN_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<LoginCredentials> = new EventEmitter<LoginCredentials>();\n\n /**\n * @ignore\n */\n @Output() forgotPasswordEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n @Output() createAccountEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n if (this.email) {\n this.loginForm.get('email')?.setValue(this.email);\n }\n }\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit() {\n this.submitEvent.emit({\n username: this.loginForm.get('email')?.value,\n password: this.loginForm.get('password')?.value,\n remember_me: this.loginForm.get('remember_me')?.value,\n });\n }\n\n forgotPassword() {\n this.forgotPasswordEvent.emit();\n }\n\n createAccount() {\n this.createAccountEvent.emit();\n }\n\n checkErrors(field: string) {\n if (this.loginForm.controls[field].touched) {\n if (this.loginForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = 'This field is required';\n return;\n }\n\n if (this.loginForm.controls[field].hasError('email')) {\n this.formErrors[field as keyof typeof this.formErrors] = 'Enter a valid email';\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = '';\n }\n}\n","<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"[formErrors.email]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"[formErrors.password]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div class=\"remember-me\">\n <ui-checkbox formControlName=\"remember_me\" [label]=\"i18n.remember_me\"></ui-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { CheckboxComponentModule } from '../checkbox/checkbox.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { LoginComponent } from './login.component';\n\n@NgModule({\n declarations: [LoginComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n CheckboxComponentModule,\n LogoComponentModule,\n ],\n exports: [LoginComponent],\n providers: [],\n})\nexport class LoginComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IRoute, MenuItem } from './navbar.model';\n\n@Component({\n selector: 'ui-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Routes object\n *\n * @type {IRoute}\n * @memberof NavbarComponent\n * @ignore\n */\n @Input() routes: IRoute[] = [];\n\n /**\n * Actived route id\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() activedRoute = '';\n\n /**\n * User first name and last name\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() userName = '';\n\n /**\n * Menu items to show in menu above the Log out button\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() menuItems: MenuItem[] = [];\n\n /**\n * @ignore\n */\n @Output() navigateEvent: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n @Output() menuItemClicked: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n @Output() logoutEvent: EventEmitter<void> = new EventEmitter<void>();\n\n constructor() {}\n\n navigate(routeId: string) {\n this.navigateEvent.emit(`/${routeId}`);\n }\n\n logout(): void {\n this.logoutEvent.emit();\n }\n\n clickMenuItem(id: string) {\n this.menuItemClicked.emit(id);\n }\n}\n","<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon iconPositionEnd>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let e of menuItems\" mat-menu-item (click)=\"clickMenuItem(e.id)\">\n <div class=\"menu-item\">\n <ui-icon [name]=\"e.icon\" size=\"24\"></ui-icon>\n {{ e.text }}\n </div>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { NavbarComponent } from './navbar.component';\nimport { IconComponentModule } from '../icon/icon.component.module';\n\n@NgModule({\n declarations: [NavbarComponent],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatRippleModule,\n MatMenuModule,\n LogoComponentModule,\n IconComponentModule,\n ],\n exports: [NavbarComponent],\n providers: [],\n})\nexport class NavbarComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ILabelOptionItem } from '../label/label.model';\n\n@Component({\n selector: 'ui-navigation',\n templateUrl: './navigation.component.html',\n styleUrls: ['./navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavigationComponent {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Navigation title\n *\n * @type {string}\n * @memberof NavigationComponent\n */\n @Input() title: string;\n\n /**\n * Navigation subtitle\n *\n * @type {string}\n * @memberof NavigationComponent\n */\n @Input() subtitle: string;\n\n /**\n * Navigation status component\n *\n * @type {ILabelOptionItem}\n * @memberof NavigationComponent\n * @ignore\n */\n @Input() labelItem: ILabelOptionItem;\n\n /**\n * logo url\n *\n * @memberof NavigationComponent\n */\n @Input() logoURL: String;\n\n /**\n * @ignore\n */\n @Output() goBackClickedEvent: EventEmitter<void> = new EventEmitter<void>();\n\n constructor() {}\n\n goBackClicked(): void {\n this.goBackClickedEvent.emit();\n }\n}\n","<div class=\"navigation\">\n <button aria-label=\"Go back\" mat-icon-button (click)=\"goBackClicked()\">\n <mat-icon aria-hidden=\"true\">chevron_left</mat-icon>\n </button>\n <div class=\"logo\" *ngIf=\"logoURL\">\n <img [src]=\"logoURL\" />\n </div>\n <div class=\"content\">\n <div class=\"title\">\n <span>{{ title }}</span>\n <div class=\"status\" *ngIf=\"labelItem\">\n <ui-label\n [backgroundColor]=\"labelItem.backgroundColor\"\n [textColor]=\"labelItem.textColor\"\n [title]=\"labelItem.title\"\n [size]=\"labelItem.size\"\n >\n </ui-label>\n </div>\n </div>\n <div class=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LabelComponentModule } from '../label/label.component.module';\nimport { NavigationComponent } from './navigation.component';\n\n@NgModule({\n declarations: [NavigationComponent],\n imports: [CommonModule, MatIconModule, MatButtonModule, LabelComponentModule],\n exports: [NavigationComponent],\n providers: [],\n})\nexport class NavigationComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\n\n@Component({\n selector: 'ui-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaginatorComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Paginator size options\n *\n * @type {number[]}\n * @memberof PaginatorComponent\n */\n readonly pageSizeOptions = [10, 25, 50];\n\n /**\n * Data length\n *\n * @type {number}\n * @memberof PaginatorComponent\n */\n @Input() length = 0;\n\n /**\n * Default page size\n *\n * @type {number}\n * @memberof PaginatorComponent\n */\n @Input() defaultPageSize = 25;\n\n /**\n * @ignore\n */\n @Output() paginatorChangedEvent: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor() {}\n\n paginatorChanged(paginator: PageEvent) {\n this.paginatorChangedEvent.emit(paginator);\n }\n}\n","<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { PaginatorComponent } from './paginator.component';\n\n@NgModule({\n declarations: [PaginatorComponent],\n imports: [CommonModule, MatPaginatorModule],\n exports: [PaginatorComponent],\n providers: [],\n})\nexport class PaginatorComponentModule {}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { MatRadioButton } from '@angular/material/radio';\nimport { RadioButtonEventType } from './radio-button.model';\n\n@Component({\n selector: 'ui-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioButtonComponent implements OnInit, OnChanges {\n /**\n * Determines whether the radio button is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() disabled = false;\n\n /**\n * Determines whether the radio button is checked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n //@Input() selected = false;\n\n _selected = false;\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(selected: boolean) {\n this._selected = selected;\n }\n\n /**\n * Determines whether the radio button can be unchecked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() allowUnselect = false;\n\n /**\n * Determines the radio button color.\n * Default: Test Gorilla primary color.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @HostBinding('style.--color')\n @Input()\n color = '#46A997';\n\n /**\n * Used to group radios for unique selection.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @Input() name = '';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @Input() label = '';\n\n /**\n * Determines whether the radio button is a multiple choice cell.\n * Default: false\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() multiple = false;\n\n /**\n * Determines value of the radio button.\n * Default: false\n *\n * @type {any}\n * @memberof RadioButtonComponent\n */\n @Input() value: any;\n\n /**\n * Event emitted when the checked state of the radio button changes.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Output() changeRadio = new EventEmitter<RadioButtonEventType>();\n\n classMultiple: string;\n\n ngOnInit() {\n this.classMultiple = this.setClass();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['selected']) {\n this.classMultiple = this.setClass();\n }\n }\n\n //Click method\n clickRadio(element: MatRadioButton, event: MouseEvent) {\n //event.preventDefault();\n if (this.allowUnselect) {\n element.checked = !element.checked;\n this._selected = element.checked;\n this.classMultiple = this.setClass();\n this.changeRadio.emit({ optionName: element.value, optionChecked: element.checked });\n } else {\n this._selected = true;\n this.changeRadio.emit({ optionName: element.value, optionChecked: true });\n }\n if (this.disabled) {\n this._selected = false;\n this.changeRadio.emit({ optionName: '', optionChecked: false });\n }\n }\n\n //Set class for multiple radio\n setClass(): string {\n if (this.multiple) {\n return this._selected ? 'multiple-checked' : 'multiple-unchecked';\n }\n return '';\n }\n}\n","<div [ngClass]=\"classMultiple\">\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [aria-label]=\"label\"\n [value]=\"value\"\n class=\"radio-button\"\n (click)=\"clickRadio(radio, $event)\"\n >\n {{ label }}\n </mat-radio-button>\n</div>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { RadioButtonComponent } from './radio-button.component';\n\n@NgModule({\n declarations: [RadioButtonComponent],\n imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule],\n exports: [RadioButtonComponent],\n})\nexport class RadioButtonComponentModule {}\n","import { Injectable } from '@angular/core';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { Subscription } from 'rxjs';\n\n//Languages available in the app as enum\nexport enum Language {\n en = 'en',\n es = 'es',\n nl = 'nl',\n fr = 'fr',\n de = 'de',\n 'it-it' = 'it-it',\n 'ja-jp' = 'ja-jp',\n 'pt-br' = 'pt-br',\n 'da-dk' = 'da-dk',\n 'nb-no' = 'nb-no',\n 'pl-pl' = 'pl-pl',\n 'sv-se' = 'sv-se',\n}\n\n//This type enforces all translations are present when some translation needs to live in the frontend\nexport type TranslationMap = { [key in Language]: string };\n\n//This function retrieves all languages from the enum. It is used to initialize transloco\nexport const getAvailableLangs = () => Object.values(Language);\n\n//This type is intended for UI uses only\nexport type UILanguage = { code: Language | string; label: string };\n\n@Injectable({\n providedIn: 'root',\n})\n@UntilDestroy({ checkProperties: true })\nexport class LanguageService {\n static readonly defaultLanguage = Language.en;\n\n readonly defaultLanguageList: UILanguage[] = [\n { code: Language.en, label: 'English' },\n { code: Language.es, label: 'Spanish' },\n { code: Language.de, label: 'German' },\n { code: Language.fr, label: 'French' },\n { code: Language.nl, label: 'Dutch' },\n { code: Language['it-it'], label: 'Italian' },\n { code: Language['ja-jp'], label: 'Japanese' },\n { code: Language['pt-br'], label: 'Portuguese' },\n { code: Language['da-dk'], label: 'Danish' },\n { code: Language['nb-no'], label: 'Norwegian' },\n { code: Language['pl-pl'], label: 'Polish' },\n { code: Language['sv-se'], label: 'Swedish' },\n ];\n\n private languageChangeSubscription: Subscription;\n\n constructor(private translocoService: TranslocoService) {}\n\n /**\n *\n * @description Initialize Language Service.\n * @memberof LanguageService\n */\n init(language: string): void {\n // Set active language according to user settings. TODO: Replace with user value.\n this.setActiveLanguage(language);\n\n // React to language changes and load the language selected.\n this.languageChangeSubscription = this.translocoService.langChanges$.subscribe(lang => {\n this.translocoService.load(lang).subscribe();\n });\n }\n\n /**\n *\n * @description Set a langauge as active language.\n * @param {string} languageCode Language value code.\n * @memberof LanguageService\n */\n setActiveLanguage(languageCode: string): void {\n this.translocoService.setActiveLang(languageCode);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { IconName } from '../../components/icon/icon.model';\nimport { SnackbarType } from '../../components/snackbar/snackbar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\nimport { Language, LanguageService } from '../../utils/localization/language.service';\n\n@Component({\n selector: 'ui-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.scss'],\n animations: [\n trigger('openClose', [\n transition(':enter', [\n style({ bottom: '-55px', opacity: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, bottom: '10px' })),\n ]),\n transition(':leave', [\n style({ bottom: '10px', opacity: 1 }),\n animate('0.2s ease-in', style({ bottom: '-55px', opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class SnackbarComponent implements OnInit {\n /**\n * Background color of the button while in active state\n *\n * @type {SnackbarType}\n * @memberof SnackbarComponent\n */\n @Input() snackbarType: SnackbarType = 'success';\n\n /**\n * Snackbar message\n *\n * @memberof SnackbarComponent\n */\n @Input() message = '';\n\n /**\n * Set the time that the snackbar will be visible\n *\n * @memberof SnackbarComponent\n */\n @Input() seconds = 5;\n\n /**\n * Include dismmiss button\n *\n * @memberof SnackbarComponent\n */\n @Input() includeDismissButton = true;\n\n /**\n * Static or fixed position\n *\n * @memberof SnackbarComponent\n */\n @Input() fixed = true;\n\n /**\n * The language to be used\n *\n * @type {string}\n * @memberof SnackbarComponent\n */\n @Input() language: Language = LanguageService.defaultLanguage;\n\n iconName: IconName;\n showSnackbar = true;\n milisenconds: number;\n visible = false;\n timer?: NodeJS.Timer;\n timerStartedAt = 0;\n timerPausedAt = 0;\n position: string;\n\n translationContext = 'SNACKBAR.';\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA) private data: any,\n private snackbarRef: MatSnackBarRef<SnackbarComponent>,\n private languageService: LanguageService\n ) {\n this.snackbarType = data.snackbarType ?? 'success';\n this.message = data.message ?? '';\n }\n\n ngOnInit(): void {\n this.milisenconds = this.seconds * 1000;\n this.iconName = alertBarsUtil.setIcon(this.snackbarType);\n this.show();\n this.position = alertBarsUtil.setPosition(this.fixed);\n\n this.languageService.init(this.language);\n }\n\n //Show snackbar\n show() {\n this.timerStartedAt = Date.now();\n this.visible = true;\n this.timer = setTimeout(() => this.hide(), this.milisenconds);\n }\n\n //Hide snackbar\n hide() {\n this.visible = false;\n this.timerPausedAt = 0;\n this.timerStartedAt = 0;\n clearTimeout(this.timer);\n this.timer = undefined;\n }\n\n //Pause timer when mouse enter\n onMouseEnter() {\n this.visible = true;\n this.timerPausedAt = Date.now();\n clearTimeout(this.timer);\n }\n\n //Continue timer when mouse leave\n onMouseLeave() {\n const diff = this.timerPausedAt - this.timerStartedAt;\n if (diff <= 0) {\n return this.hide();\n }\n this.timer = setTimeout(() => this.hide(), this.milisenconds - diff);\n }\n\n //Hide snackbar when dismiss button is clicked\n dismissClick() {\n this.visible = false;\n this.snackbarRef.dismiss();\n }\n}\n","<ng-container *transloco=\"let t\">\n <div\n [ngClass]=\"snackbarType + ' ' + position\"\n [@openClose]\n *ngIf=\"visible\"\n class=\"snackbar-container\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div class=\"snackbar-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [label]=\"t(translationContext + 'DISMISS')\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n </div>\n</ng-container>\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackbarComponent } from './snackbar.component';\n\n@Injectable()\nexport class SnackbarService {\n constructor(private snackBar: MatSnackBar) {}\n\n error(message: string) {\n return this.snackBar.openFromComponent(SnackbarComponent, {\n data: {\n snackbarType: 'error',\n message,\n },\n });\n }\n\n success(message: string) {\n return this.snackBar.openFromComponent(SnackbarComponent, {\n data: {\n snackbarType: 'success',\n message,\n },\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { lastValueFrom } from 'rxjs';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { SnackbarComponent } from './snackbar.component';\nimport { SnackbarService } from './snackbar.service';\n\nexport const preloadLang = (transloco: TranslocoService) => () => {\n transloco.setActiveLang('en');\n return lastValueFrom(transloco.load('en'));\n};\n\n@NgModule({\n declarations: [SnackbarComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule, TranslocoModule],\n exports: [SnackbarComponent],\n providers: [\n SnackbarService,\n {\n provide: APP_INITIALIZER,\n useFactory: preloadLang,\n deps: [TranslocoService],\n multi: true,\n },\n ],\n})\nexport class SnackbarComponentModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n// TODO: Check type (backend could return a number)\ntype DataPropertyGetterType = string;\n\n@Pipe({\n name: 'dataPropertyGetter',\n})\nexport class DataPropertyGetterPipe implements PipeTransform {\n transform(obj: object, keyName: string = '') {\n return this.getDeepVal(obj, keyName);\n }\n\n private getDeepVal(obj: any, path: string) {\n if (typeof obj === 'undefined' || obj === null) {\n return '';\n }\n const splittedPath = path.split(/[\\.\\[\\]\\\"\\']{1,2}/);\n for (let i = 0, l = splittedPath.length; i < l; i++) {\n if (splittedPath[i] === '') {\n continue;\n }\n obj = obj[splittedPath[i]];\n if (typeof obj === 'undefined' || obj === null) {\n return '';\n }\n }\n return obj;\n }\n}\n","import { Type } from '@angular/core';\n\nexport type IDataSource = {\n [key: string]: any;\n};\n\nexport interface ITableColumn<T> {\n headerName: string;\n headerTooltip?: string;\n field?: string;\n type?: ColumnTypeEnum;\n function?: (v: T) => string;\n renderer?: (v: T) => IComponentRenderer | string;\n sortable?: boolean;\n styles?: IColumnStyles;\n}\n\nexport interface IComponentRenderer {\n component: Type<any>;\n inputs?: any;\n outputs?: { [key: string]: any };\n}\n\nexport interface IDetailRowDataParams<T, TDetail> {\n data: T;\n setDetailDataSource(rowData: TDetail[]): void;\n}\n\nexport interface ITableDetailColumn<T, TDetail> {\n columnDefs: ITableColumn<TDetail>[];\n setDetailRowData: (params: IDetailRowDataParams<T, TDetail>) => void;\n}\n\nexport interface IColumnStyles {\n alignment?: ColumnAlignmentEnum;\n width?: string;\n 'min-width'?: string;\n padding?: string;\n}\n\nexport enum ColumnTypeEnum {\n FIELD = 'field',\n FUNCTION = 'function',\n RENDERER = 'renderer',\n}\n\nexport enum ColumnAlignmentEnum {\n LEFT = 'left',\n RIGHT = 'right',\n CENTER = 'center',\n}\n","import { ComponentRef, Directive, EventEmitter, Input, OnDestroy, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IComponentRenderer } from '../table.model';\n\n@Directive({\n selector: '[dynamicComponent]',\n})\nexport class DynamicComponentDirective implements OnDestroy {\n private subscription = new Subscription();\n private compRef: ComponentRef<any>;\n\n @Input() set dynamicComponent(componentRenderer: IComponentRenderer) {\n if (componentRenderer.component) {\n this.compRef = this.vcr.createComponent(componentRenderer.component);\n\n if (componentRenderer.inputs) {\n Object.keys(componentRenderer.inputs).map(\n inputName => (this.compRef.instance[inputName] = componentRenderer.inputs[inputName])\n );\n }\n\n if (componentRenderer.outputs) {\n Object.keys(componentRenderer.outputs).map(output => {\n this.subscription.add(\n (this.compRef.instance[output] as EventEmitter<any>).subscribe(componentRenderer.outputs?.[output])\n );\n });\n }\n }\n }\n\n constructor(private vcr: ViewContainerRef) {}\n\n ngOnDestroy() {\n if (this.compRef) {\n this.compRef.destroy();\n }\n this.subscription.unsubscribe();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DataPropertyGetterPipe } from './pipes/data-property-getter';\nimport { ColumnTypeEnum, IDataSource, ITableColumn, ITableDetailColumn } from './table.model';\n\n@Component({\n selector: 'ui-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('expandDetail', [\n state('collapsed, void', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n transition('expanded <=> void', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class TableComponent<T extends IDataSource, TDetail extends IDataSource> implements OnInit {\n /**\n * @ignore\n */\n @ViewChild(MatSort) set matSort(matSort: MatSort) {\n this.dataSource.sort = matSort;\n this.dataSource.sortingDataAccessor = (item, property) => this.dataPropertyGetterPipe.transform(item, property);\n }\n\n /**\n * @ignore\n */\n @Input() tableDetails = false;\n\n /**\n * Data to be rendered\n *\n * @ignore\n * @type {IDataSource}\n * @memberof TableComponent\n */\n @Input() set tableData(data: T[] | null) {\n if (data?.length) {\n this.setTableDataSource(data);\n }\n }\n\n /**\n * Data structure to select which columns should be rendered and their capabilities\n *\n * @type {ITableColumn}\n * @memberof TableComponent\n */\n @Input() tableColumns: ITableColumn<T>[] = [];\n\n /**\n * Data structure to select which columns should be rendered and their capabilities\n *\n * @type {ITableColumn}\n * @memberof TableComponent\n */\n @Input() tableDetailColumns: ITableDetailColumn<T, TDetail>;\n\n /**\n * @ignore\n */\n @Output() onSortEvent: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /**\n * @ignore\n */\n @Output() onRowClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @ignore\n */\n @Output() onDetailRowClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @ignore\n */\n dataSource = new MatTableDataSource<any>([]);\n\n /**\n * @ignore\n */\n dataSourceDetail = new MatTableDataSource<any>([]);\n\n /**\n * @ignore\n */\n elementDetail: any;\n\n /**\n * @ignore\n */\n columnsToDisplay: string[] = [];\n\n /**\n * @ignore\n */\n columnsDetailToDisplay: string[] = [];\n\n /**\n * @ignore\n */\n DataType = ColumnTypeEnum;\n\n ngOnInit(): void {\n this.columnsToDisplay = this.tableColumns.map((tableColumn: ITableColumn<T>) => tableColumn.headerName);\n if (this.tableDetailColumns) {\n this.columnsDetailToDisplay = this.tableDetailColumns.columnDefs.map(\n (tableColumn: ITableColumn<TDetail>) => tableColumn.headerName\n );\n }\n }\n\n constructor(private dataPropertyGetterPipe: DataPropertyGetterPipe) {}\n\n onSort(sortParams: Sort) {\n const columnSort = this.tableColumns.find((column: ITableColumn<T>) => column.headerName === sortParams.active);\n if (columnSort?.field) {\n sortParams.active = columnSort?.field;\n }\n this.onSortEvent.emit(sortParams);\n }\n\n onRowClick(rowParams: any) {\n this.onRowClickEvent.emit(rowParams);\n }\n\n onDetailRowClick(rowParams: any) {\n this.onDetailRowClickEvent.emit(rowParams);\n }\n\n toggleRow(element: T) {\n this.elementDetail = this.elementDetail === element ? null : element;\n if (this.elementDetail) {\n this.tableDetailColumns.setDetailRowData({\n data: element,\n setDetailDataSource: this.setTableDetailDataSource.bind(this),\n });\n }\n }\n\n /**\n * @ignore\n */\n private setTableDataSource(data: T[]) {\n this.dataSource = new MatTableDataSource<any>(data);\n }\n\n /**\n * @ignore\n */\n private setTableDetailDataSource(rowData: TDetail[]) {\n this.dataSourceDetail = new MatTableDataSource<any>(rowData);\n }\n}\n","<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DynamicComponentDirective } from './directives/dynamic-component.directive';\nimport { DataPropertyGetterPipe } from './pipes/data-property-getter';\nimport { TableComponent } from './table.component';\n@NgModule({\n declarations: [TableComponent, DataPropertyGetterPipe, DynamicComponentDirective],\n imports: [CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule],\n exports: [TableComponent],\n providers: [DataPropertyGetterPipe],\n})\nexport class TableComponentModule {}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { debounceTime, map, ReplaySubject } from 'rxjs';\nimport { IconName } from '../icon/icon.model';\n\n@Component({\n selector: 'ui-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n})\nexport class TagComponent implements AfterViewInit {\n /**\n * Tag's label\n *\n * @memberof TagComponent\n */\n @Input() set label(value: string) {\n this.labelText = value;\n if (this.labelElement) {\n this.isLabelEllipseActive();\n }\n }\n\n /**\n * Icon\n *\n * @type {string}\n * @memberof TagComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * Whether to allow the tag to be closed.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() allowClose = false;\n\n /**\n * Whether the tag is in read-only mode.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() readOnly = false;\n\n /**\n * Whether the tag is selected.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isSelected = false;\n\n /**\n * Display icon when is selected\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() showIconWhenSelected = false;\n\n /**\n * Specifies whether the element is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isDisabled = false;\n\n /**\n * Event triggered when the tag should be closed.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() close = new EventEmitter<void>();\n\n /**\n * Event triggered when a press action occurs.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() press = new EventEmitter<boolean>();\n\n /**\n * Subject that needs to be triggered when Label input changes, to check if it's truncated\n * @private\n * @type {void}\n * @memberof TagComponent\n */\n private checkLabelEllipsis$ = new ReplaySubject<void>(1);\n\n /**\n * Observable that indicates if the Label is truncated\n * debounceTime is used to wait for view to be initialized after receiving a new Label input\n * @protected\n * @type {boolean}\n * @memberof TagComponent\n */\n protected isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(\n debounceTime(100),\n map(() => {\n const el = this.labelElement.nativeElement;\n return el.offsetWidth < el.scrollWidth;\n })\n );\n protected labelText = '';\n\n @ViewChild('labelElement') labelElement: ElementRef<HTMLElement>;\n\n ngAfterViewInit(): void {\n this.isLabelEllipseActive();\n }\n\n onPress(): void {\n if (!this.readOnly && !this.allowClose) {\n this.isSelected = this.showIconWhenSelected ? !this.isSelected : false;\n this.press.emit(this.isSelected);\n }\n }\n\n onClose(): void {\n this.close.emit();\n }\n\n private isLabelEllipseActive(): void {\n this.checkLabelEllipsis$.next();\n }\n\n get tabIndex(): number {\n return this.isDisabled || this.readOnly ? -1 : 0;\n }\n\n get filled(): boolean {\n return this.readOnly || this.allowClose || this.isSelected;\n }\n}\n","<div class=\"tag-wrapper\" [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\">\n <div\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n }\"\n (click)=\"onPress()\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [name]=\"icon\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" class=\"icon\" [name]=\"'Check'\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\" (click)=\"onClose()\" [name]=\"'Close'\"></ui-icon>\n </div>\n</div>\n","export enum TooltipPositionType {\n TOP = 'top',\n BOTTOM = 'bottom',\n LEFT = 'left',\n RIGHT = 'right'\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TooltipPositionType } from './tooltip.model';\nimport { TooltipPosition } from '@angular/material/tooltip';\n\n@Component({\n selector: 'ui-tooltip',\n templateUrl: './tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TooltipComponent implements OnInit {\n /**\n * Allows the user to define the position of the tooltip relative to the parent element.\n *\n * @type {TooltipPositionType}\n * @memberof TooltipComponent\n */\n @Input() position: TooltipPositionType = TooltipPositionType.TOP;\n\n /**\n * The message to be displayed in the tooltip.\n *\n * @type {string}\n * @memberof TooltipComponent\n */\n @Input() message = '';\n\n matPosition: TooltipPosition;\n\n ngOnInit() {\n this.setPosition();\n }\n\n //set position\n setPosition(): void {\n switch (this.position) {\n case TooltipPositionType.TOP:\n this.matPosition = 'above';\n break;\n case TooltipPositionType.BOTTOM:\n this.matPosition = 'below';\n break;\n default:\n this.matPosition = this.position;\n break;\n }\n }\n}","<div [matTooltip]=\"message\" [matTooltipPosition]=\"matPosition\" matTooltipClass=\"tooltip\" aria-label=\"tooltip\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n declarations: [TooltipComponent],\n imports: [MatTooltipModule],\n exports: [TooltipComponent],\n})\nexport class TooltipComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TagComponent } from './tag.component';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { TooltipComponentModule } from '../tooltip/tooltip.component.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TagComponent],\n imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule],\n exports: [TagComponent],\n providers: [],\n})\nexport class TagComponentModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FloatLabelType } from '@angular/material/form-field';\nimport { OptionType } from './dropdown.model';\n\n@Component({\n selector: 'ui-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent implements OnInit, ControlValueAccessor {\n @HostBinding() class = 'ui-dropdown';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() name: string;\n /**\n * Placeholder to be shown if no value has been selected.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() placeholder: string;\n\n /**\n * Unique id of the element.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() value?: string;\n\n /**\n * Whether the component is in an error state.\n *\n * @type {string[]}\n * @memberof DropdownComponent\n */\n @Input() errors?: string[];\n\n /**\n * Whether the component is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() disabled = false;\n\n /**\n * List of options.\n *\n * @type {OptionType}\n * @memberof DropdownComponent\n */\n @Input() valueList: OptionType[] = [];\n\n /**\n * Whether the user should be allowed to clear the values.\n * Default: true.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() allowClear = true;\n\n /**\n * This will allow the user to select multiple values at once.\n * Default: true.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() allowMultipleSelection? = false;\n\n /**\n * Whether the component is required.\n * Default: false.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() required = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor() {\n this.errors = [];\n this.valueList = [];\n }\n\n floatLabel: FloatLabelType;\n classError: string;\n errorsLength: boolean;\n showCheck: boolean;\n\n ngOnInit(): void {\n this.errorsLength = this.setErrorsLength();\n }\n\n clearValue(event: Event): void {\n event?.stopPropagation();\n this.value = '';\n }\n\n //Save select value\n onChangeOption(event: any) {\n this.value = event.value;\n this.errorsLength = this.setErrorsLength();\n this.onTouch();\n this.onChange(this.value);\n }\n\n //Set errors length for validation\n setErrorsLength(): boolean {\n if (!!this.errors) {\n return this.errors.length > 0 ? true : false;\n }\n return false;\n }\n\n writeValue(value?: any): void {\n if (value) {\n this.value = value || '';\n } else {\n this.value = '';\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-form-field appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label>{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <mat-select\n #matSelect\n [id]=\"id!\"\n panelClass=\"ui-dropdown-list\"\n [disabled]=\"disabled\"\n [multiple]=\"allowMultipleSelection\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (selectionChange)=\"onChangeOption($event)\"\n [attr.name]=\"name\">\n <div class=\"mat-option-section\" *ngFor=\"let section of valueList\">\n <span *ngIf=\"section.sectionTitle\" class=\"section-title\">{{ section.sectionTitle }}</span>\n <mat-option *ngIf=\"section.value\" #matOption [value]=\"section.value\">\n {{ section.value }}\n </mat-option>\n </div>\n </mat-select>\n <ui-button *ngIf=\"allowClear && !matSelect.empty\" type=\"secondary\" [justIcon]=\"true\" class=\"clear\" iconName=\"Close\" label=\"Clear\" (click)=\"clearValue($event)\"></ui-button>\n <ui-icon color=\"dark\" *ngIf=\"!matSelect.panelOpen\" size=\"24\" name=\"Arrow_down\"></ui-icon>\n <ui-icon color=\"petrol\" *ngIf=\"matSelect.panelOpen\" size=\"24\" name=\"Arrow_up\"></ui-icon>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of errors\">\n <ui-icon name=\"Error\"></ui-icon>{{ error }}\n </div>\n </mat-hint>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n MatSelectModule,\n ],\n exports: [DropdownComponent],\n providers: [],\n})\nexport class DropdownComponentModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ui-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent {}\n","<svg class=\"spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n declarations: [SpinnerComponent],\n exports: [SpinnerComponent],\n})\nexport class SpinnerComponentModule {}\n","export const CONFIRM_DIALOG_i18n = {\n confirmButtonText: 'YES',\n cancelButtonText: 'Cancel',\n title: 'Confirm',\n};\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CONFIRM_DIALOG_i18n } from './confirm-dialog.constants';\nimport { ConfirmDialogData } from './confirm-dialog.model';\n\n@Component({\n selector: 'ui-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class ConfirmDialogComponent {\n confirmMessage: string;\n confirmButtonText: string;\n cancelButtonText: string;\n title: string;\n\n constructor(\n public dialogRef: MatDialogRef<ConfirmDialogComponent>,\n @Inject(MAT_DIALOG_DATA) private data: ConfirmDialogData\n ) {\n this.confirmMessage = data.message;\n this.confirmButtonText = data.confirmButtonText ?? CONFIRM_DIALOG_i18n.confirmButtonText;\n this.cancelButtonText = data.cancelButtonText ?? CONFIRM_DIALOG_i18n.cancelButtonText;\n this.title = data.title ?? CONFIRM_DIALOG_i18n.title;\n }\n}\n","<ui-dialog\n [title]=\"title\"\n [primaryButtonLabel]=\"confirmButtonText\"\n [secondaryButtonLabel]=\"cancelButtonText\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n primaryButtonType=\"destructive\"\n secondaryButtonType=\"outlined\"\n [showCloseButton]=\"false\"\n>\n <div class=\"message\">{{ confirmMessage }}</div>\n</ui-dialog>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { DialogComponentModule } from '../dialog/dialog.component.module';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n providers: [\n { provide: MAT_DIALOG_DATA, useValue: {} },\n { provide: MatDialogRef, useValue: {} },\n ],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule, DialogComponentModule],\n})\nexport class ConfirmDialogComponentModule {}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ui-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DatepickerComponent implements OnChanges, ControlValueAccessor {\n @HostBinding() class = 'ui-datepicker';\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() value?: string | Date;\n\n _errors: string[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors;\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is date range\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() isRange: boolean;\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() required: boolean;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() hintMessage: string;\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof DatepickerComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n /**\n * Event emitted when the value is change - when used outside of form\n *\n * @type {Date}\n * @memberof DatepickerComponent\n */\n @Output() changed = new EventEmitter<Date | string>();\n\n range = new FormGroup({\n start: new FormControl<Date | null>(null),\n end: new FormControl<Date | null>(null),\n });\n\n errorsLength: boolean;\n\n get hint(): string {\n if (this.hintMessage === undefined) {\n return this.isRange ? 'MM/DD/YYYY - MM/DD/YYYY' : 'MM/DD/YYYY';\n }\n\n return this.hintMessage;\n }\n\n ngOnChanges(): void {\n if (this.isRange) {\n this.setRange();\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (!!this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n onValueChange(value: Date | string) {\n this.writeValue(value);\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n this.onChange(value);\n this.changed.emit(value);\n }\n\n writeValue(value?: Date | string): void {\n this.value = value;\n if (this.isRange) {\n this.setRange();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n dateRangeChange(start: string, end: string) {\n if (start && end) {\n this.onValueChange(this.getRange(start, end));\n }\n }\n\n private setRange() {\n if (typeof this.value === 'string') {\n const [start, end] = this.value?.split('-');\n if (start) {\n this.range.controls.start.setValue(new Date(start));\n }\n if (end) {\n this.range.controls.end.setValue(new Date(end));\n }\n }\n }\n\n private getRange(start: string, end: string): string {\n return `${start}-${end}`;\n }\n}\n","<mat-form-field #uiDatepicker appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n <ng-container *ngIf=\"!isRange\">\n <input *ngIf=\"!isRange\" matInput\n [matDatepicker]=\"picker\"\n matInput\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon matDatepickerToggleIcon name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </ng-container>\n <ng-container *ngIf=\"isRange\">\n <mat-date-range-input *ngIf=\"isRange\" [formGroup]=\"range\" [rangePicker]=\"rangePicker\" >\n <input matStartDate #dateRangeStart formControlName=\"start\" placeholder=\"Start date\" >\n <input matEndDate #dateRangeEnd formControlName=\"end\" placeholder=\"End date\" (dateChange)=\"dateRangeChange(dateRangeStart.value, dateRangeEnd.value)\">\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon matDatepickerToggleIcon name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n </ng-container>\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\"><ui-icon name=\"Error\"></ui-icon>{{ error }}</div>\n </mat-hint>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerComponent } from './datepicker.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { MatNativeDateModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [DatepickerComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ],\n providers: [],\n exports: [DatepickerComponent],\n})\nexport class DatepickerComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport type RatingComponentTheme = 'stars' | 'block';\n\n@Component({\n selector: 'ui-rating',\n templateUrl: './rating.component.html',\n styleUrls: ['./rating.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RatingComponent {\n private readonly MIN_LENGTH = 0;\n private readonly DEFAULT_LENGTH = 5;\n items: number[] = [];\n hoverIndex: number;\n\n @Input() value: number;\n // todo support stars rating\n @Input() theme: RatingComponentTheme = 'block';\n @Input() barWidth = 35;\n @Input() set length(length: number) {\n this.items = Array(Math.max(length, this.MIN_LENGTH))\n .fill(0)\n .map((x, i) => i);\n }\n\n @Output() valueChange: EventEmitter<number> = new EventEmitter<number>();\n\n constructor() {\n this.length = this.DEFAULT_LENGTH;\n }\n\n select(index: number) {\n this.value = index + 1;\n this.valueChange.emit(this.value);\n }\n\n onHover(index: number) {\n this.hoverIndex = index + 1;\n }\n}\n","<div class=\"rating\" (mouseleave)=\"onHover(-1)\">\n <div class=\"rating-item\" *ngFor=\"let item of items\" (click)=\"select(item)\" (mouseenter)=\"onHover(item)\"\n [ngClass]=\"{ 'rating-item-selected': item < value, 'rating-item-hover': item < hoverIndex }\" [ngStyle]=\"{'width.px': barWidth}\">\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RatingComponent } from './rating.component';\n\n@NgModule({\n declarations: [RatingComponent],\n imports: [CommonModule],\n exports: [RatingComponent],\n})\nexport class RatingComponentModule {}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RegisterFn } from './toggle.model';\n\n@Component({\n selector: 'ui-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleComponent implements ControlValueAccessor {\n /**\n * The `selected` property determines the current state of the toggle switch.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() selected = false;\n\n /**\n * The `disabled` property determines whether the toggle switch is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() disabled = false;\n\n /**\n * The `toggle` event is triggered when the state of the toggle switch changes. It returns the new state.\n *\n * @type {event}\n * @memberof ToggleComponent\n */\n @Output() toggle = new EventEmitter<boolean>();\n\n onToggle(): void {\n if (!this.disabled) {\n this.selected = !this.selected;\n this.toggle.emit(this.selected);\n }\n }\n\n writeValue(state: boolean): void {\n if (state) {\n this.selected = state;\n }\n }\n\n registerOnChange(fn: RegisterFn): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: RegisterFn): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private onChange: RegisterFn = () => {};\n private onTouched: RegisterFn = () => {};\n}\n","<div\n [tabIndex]=\"0\"\n class=\"toggle-container\"\n [ngClass]=\"{ 'active': selected, 'disabled': disabled }\"\n (click)=\"onToggle()\"\n>\n <div class=\"knob\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToggleComponent } from './toggle.component';\n\n@NgModule({\n declarations: [ToggleComponent],\n imports: [CommonModule],\n})\nexport class ToggleComponentModule {}\n","import { IconSize } from '../icon/icon.model';\n\nexport enum AvatarSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const iconSize: Record<string, IconSize> = {\n small: '16',\n medium: '24',\n large: '80',\n};\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nameInitials',\n})\nexport class NameInitialsPipe implements PipeTransform {\n transform(value: string): string {\n const initials = value.split(' ').filter(Boolean);\n if (initials.length > 1) {\n return initials.map(initial => initial[0].toUpperCase()).join('');\n } else {\n const firstLetters = value.substring(0, 2);\n return `${firstLetters[0]?.toUpperCase() ?? ''}${firstLetters[1]?.toLowerCase() ?? ''}`;\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AvatarSize, iconSize } from './avatar.model';\n\n@Component({\n selector: 'ui-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class AvatarComponent {\n /**\n * Input property for specifying the size of the avatar.\n * @type {AvatarSize}\n * @default AvatarSize.SMALL\n * @memberof AvatarComponent\n */\n @Input() size = AvatarSize.SMALL;\n /**\n * Input property for specifying the URL of the image to display in the avatar.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() imageUrl = '';\n\n /**\n * Input property for specifying the initials to display in the avatar.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() name = '';\n\n /**\n * Input property for specifying the tooltip text for edit.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() tooltipText = '';\n\n /**\n * Input property that makes avatar clickable.\n * @type {boolean}\n * @memberof AvatarComponent\n */\n @Input() allowClick = false;\n\n /**\n * Event emitted when the avatar is clicked.\n * @type {void}\n * @memberof AvatarComponent\n */\n @Output() avatarClick = new EventEmitter<void>();\n\n protected iconSize = iconSize;\n protected avatarSize = AvatarSize;\n\n protected onAvatarClick(): void {\n this.avatarClick.emit();\n }\n\n get clickAllowance(): string {\n return this.allowClick ? 'clickable' : 'non-clickable';\n }\n}\n","<div\n class=\"avatar-container\"\n [attr.type]=\"!imageUrl && !name ? 'icon' : 'initials'\"\n [ngClass]=\"[size, clickAllowance]\"\n (click)=\"onAvatarClick()\"\n>\n <span *ngIf=\"name && !imageUrl\">\n {{ name | nameInitials }}\n </span>\n <img *ngIf=\"imageUrl\" [attr.src]=\"imageUrl\" [alt]=\"'profile-image'\">\n <ui-icon color=\"dark\" [size]=\"iconSize[size]\" *ngIf=\"!imageUrl && !name\" [name]=\"'User-profile'\"></ui-icon>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvatarComponent } from './avatar.component';\nimport { NameInitialsPipe } from '../../pipes/name-initials.pipe';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [AvatarComponent, NameInitialsPipe],\n imports: [CommonModule, IconComponentModule, MatTooltipModule],\n exports: [AvatarComponent],\n})\nexport class AvatarComponentModule {}\n","/* eslint-disable */\n\n/* Components */\n// Alert Banner\nexport * from './components/alert-banner/alert-banner.component';\nexport * from './components/alert-banner/alert-banner.component.module';\n// Banner Action\nexport * from './components/banner-action/banner-action.component';\nexport * from './components/banner-action/banner-action.component.module';\n// Button\nexport * from './components/button/button.component';\nexport * from './components/button/button.component.module';\nexport * from './components/button/button.model';\n// Card\nexport * from './components/card/card.component';\nexport * from './components/card/card.component.module';\n// Checkbox\nexport * from './components/checkbox/checkbox.component';\nexport * from './components/checkbox/checkbox.component.module';\n// Create Account\nexport * from './components/create-account/create-account.component';\nexport * from './components/create-account/create-account.component.module';\nexport * from './components/create-account/create-account.model';\n// Create Password\nexport * from './components/create-password/create-password.component';\nexport * from './components/create-password/create-password.component.module';\nexport * from './components/create-password/create-password.model';\n// Dialog\nexport * from './components/dialog/dialog.component';\nexport * from './components/dialog/dialog.component.module';\nexport * from './components/dialog/dialog.service';\n// Elevation shadow\nexport * from './components/elevation-shadow/elevation-shadow.component';\nexport * from './components/elevation-shadow/elevation-shadow.component.module';\nexport * from './components/elevation-shadow/elevation-shadow.constant';\n// Field\nexport * from './components/field/field.component';\nexport * from './components/field/field.component.module';\nexport * from './components/field/field.model';\n// File upload\nexport * from './components/file-upload/file-upload.component';\nexport * from './components/file-upload/file-upload.component.module';\n// Forgot password\nexport * from './components/forgot-password/forgot-password.component';\nexport * from './components/forgot-password/forgot-password.component.module';\nexport * from './components/forgot-password/forgot-password.model';\n// Icon\nexport * from './components/icon/icon.component';\nexport * from './components/icon/icon.component.module';\nexport * from './components/icon/icon.model';\n// Icon + label\nexport * from './components/icon-label/icon-label.component';\nexport * from './components/icon-label/icon-label.component.module';\n// Label\nexport * from './components/label/label.component';\nexport * from './components/label/label.component.module';\nexport * from './components/label/label.model';\n// Login\nexport * from './components/login/login.component';\nexport * from './components/login/login.component.module';\nexport * from './components/login/login.model';\n// Logo\nexport * from './components/logo/logo.component';\nexport * from './components/logo/logo.component.module';\nexport * from './components/logo/logo.model';\n// Navbar\nexport * from './components/navbar/navbar.component';\nexport * from './components/navbar/navbar.component.module';\nexport * from './components/navbar/navbar.model';\n// Navigation\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.component.module';\n// Paginator\nexport * from './components/paginator/paginator.component';\nexport * from './components/paginator/paginator.component.module';\n// Progress bar\nexport * from './components/progress-bar/progress-bar.component';\nexport * from './components/progress-bar/progress-bar.component.module';\n// Radio button\nexport * from './components/radio-button/radio-button.component';\nexport * from './components/radio-button/radio-button.component.module';\n// Snackbar\nexport * from './components/snackbar/snackbar.component';\nexport * from './components/snackbar/snackbar.component.module';\nexport * from './components/snackbar/snackbar.model';\nexport * from './components/snackbar/snackbar.service';\n// Table\nexport * from './components/table/pipes/data-property-getter';\nexport * from './components/table/table.component';\nexport * from './components/table/table.component.module';\nexport * from './components/table/table.model';\n// Tag\nexport * from './components/tag/tag.component';\nexport * from './components/tag/tag.component.module';\nexport * from './components/tag/tag.model';\n// Tooltip\nexport * from './components/tooltip/tooltip.component';\nexport * from './components/tooltip/tooltip.component.module';\nexport * from './components/tooltip/tooltip.model';\n// Dropdown\nexport * from './components/dropdown/dropdown.component';\nexport * from './components/dropdown/dropdown.component.module';\nexport * from './components/dropdown/dropdown.model';\n// Spinner\nexport * from './components/spinner/spinner.component';\nexport * from './components/spinner/spinner.module';\n// Confirm Dialog\nexport * from './components/confirm-dialog/confirm-dialog.component';\nexport * from './components/confirm-dialog/confirm-dialog.component.module';\n// Datepicker\nexport * from './components/datepicker/datepicker.component'\nexport * from './components/datepicker/datepicker.component.module'\n// Rating\nexport * from './components/rating/rating.component'\nexport * from './components/rating/rating.component.module'\n// Tag\nexport * from './components/tag/tag.component'\nexport * from './components/tag/tag.component.module'\n// Toggle\nexport * from './components/toggle/toggle.component'\nexport * from './components/toggle/toggle.component.module'\n// Avatar\nexport * from './components/avatar/avatar.component'\nexport * from './components/avatar/avatar.component.module'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.IconComponent","i2.ButtonComponent","i2.LogoComponent","i4.IconComponent","i5.ButtonComponent","i6.DigitsOnlyDirective","i2.FieldComponent","i3.ButtonComponent","i4.CheckboxComponent","i6.LogoComponent","i4","i5.LogoComponent","i2.IconComponent","i3.ProgressBarComponent","i4.DragDropDirective","i1.IconComponent","i3","i5","i7.IconComponent","i4.LabelComponent","i2.LanguageService","i4.ButtonComponent","i5.IconComponent","i6","i1.DataPropertyGetterPipe","i7.DynamicComponentDirective","i2.DialogComponent","i3.NameInitialsPipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,aAAa,GAAG;;AAE3B,IAAA,OAAO,EAAE,CAAC,SAAiB,KAAc;QACvC,IAAI,SAAS,KAAK,SAAS,EAAE;AAC3B,YAAA,OAAO,aAAa,CAAC;AACtB,SAAA;QACD,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;QACD,IAAI,SAAS,KAAK,SAAS,EAAE;AAC3B,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QACD,IAAI,SAAS,KAAK,OAAO,EAAE;AACzB,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;;AAGD,IAAA,WAAW,EAAE,CAAC,KAAc,KAAY;QACtC,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,QAAQ,CAAC;AACjB,SAAA;KACF;;IAGD,WAAW,EAAE,CAAC,SAAkB,EAAE,IAAY,EAAE,QAAgB,KAAY;AAC1E,QAAA,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC;AACpD,QAAA,OAAO,GAAG,IAAI,CAAA,CAAA,EAAI,QAAQ,CAAI,CAAA,EAAA,WAAW,EAAE,CAAC;KAC7C;CACF;;AClCD;AACO,MAAM,QAAQ,GAAG;IACtB,KAAK;IACL,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;IACZ,UAAU;IACV,MAAM;IACN,UAAU;IACV,YAAY;IACZ,oBAAoB;IACpB,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,kBAAkB;IAClB,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,eAAe;IACf,mBAAmB;IACnB,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;IACrB,sBAAsB;IACtB,aAAa;IACb,oBAAoB;IACpB,mBAAmB;IACnB,mBAAmB;IACnB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,eAAe;IACf,aAAa;IACb,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,aAAa;IACb,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,YAAY;IACZ,MAAM;IACN,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,MAAM;IACN,SAAS;IACT,aAAa;IACb,eAAe;IACf,YAAY;IACZ,OAAO;IACP,cAAc;IACd,mBAAmB;IACnB,OAAO;IACP,cAAc;IACd,eAAe;IACf,UAAU;IACV,MAAM;IACN,cAAc;IACd,MAAM;IACN,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,iBAAiB;IACjB,MAAM;IACN,UAAU;IACV,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,aAAa;IACb,WAAW;IACX,cAAc;IACd,SAAS;IACT,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,WAAW;IACX,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,aAAa;IACb,UAAU;IACV,aAAa;IACb,cAAc;IACd,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IACZ,cAAc;IACd,OAAO;IACP,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;CACF;;MCpIG,aAAa,CAAA;IAkCxB,WAAoB,CAAA,eAAgC,EAAU,WAAyB,EAAA;QAAnE,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAc;AAjCvF;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAa,IAAI,CAAC;AAE/B;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAUvB;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAe,OAAO,CAAC;KAIsD;IAE3F,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAG;AAC/D,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;KACF;;IAGD,WAAW,GAAA;AACT,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAS,MAAA,EAAA,IAAI,CAAC,IAAI,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,EAAE,CAAC;KAC3D;;IAGD,OAAO,GAAA;AACL,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAC7B,QAAQ,EACR,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAA,OAAA,EAAU,QAAQ,CAAM,IAAA,CAAA,CAAC,CAC1E,CAAC;AACH,SAAA;KACF;+GAhEU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,kJCZ1B,4EACA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDWa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;+BACE,SAAS,EAAA,aAAA,EAGJ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA,CAAA;iIAS5B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AE1CR;MAUa,eAAe,CAAA;AA6F1B,IAAA,WAAA,GAAA;AA5FA;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAe,KAAK,CAAC;AAClC;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAgB,SAAS,CAAC;AAEvC;;;;AAIG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAwB,OAAO,CAAC;AAErD;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;AAKG;QACM,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;AAEjC;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEzB;;;;AAIG;QACM,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAwBjB,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,YAAY,EAAS,CAAC;AAElE,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,YAAY,EAAS,CAAC;KAE5D;IAMhB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;KACjC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AAC3C,SAAA;AACD,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;AACtB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACjC,SAAA;QACD,IACE,OAAO,CAAC,MAAM,CAAC;YACf,OAAO,CAAC,WAAW,CAAC;YACpB,OAAO,CAAC,UAAU,CAAC;YACnB,OAAO,CAAC,UAAU,CAAC;YACnB,OAAO,CAAC,cAAc,CAAC,EACvB;AACA,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;;IAGD,SAAS,GAAA;AACP,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;KACtB;;IAGD,WAAW,GAAA;AACT,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE,CAAC;AACjD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;AACrD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC;AAClD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9E,QAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,YAAY,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,IAAI,KAAK,CAAA,CAAA,EAAI,OAAO,CAAI,CAAA,EAAA,QAAQ,EAAE,CAAC;KACpF;;IAGD,WAAW,GAAA;AACT,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AACrC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AACvC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;AACxC,QAAA,OAAO,SAAS,IAAI,QAAQ,IAAI,SAAS,CAAC;KAC3C;;IAGD,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KAC7B;+GA5JU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,uZCV5B,69CAkCA,EAAA,MAAA,EAAA,CAAA,w/jBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,gFAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDxBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,69CAAA,EAAA,MAAA,EAAA,CAAA,w/jBAAA,CAAA,EAAA,CAAA;0EAWZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAEG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;MElFI,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA;AAEA;;;;;AAKG;QACM,IAAS,CAAA,SAAA,GAAiB,SAAS,CAAC;AAE7C;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAEtB;;;;AAIG;QACM,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAErC;;;;AAIG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAEvB;;;;AAIG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAE1B;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAI,EAAE,CAAC;AASxB;;;;;AAKG;QACM,IAAU,CAAA,UAAA,GAAoB,QAAQ,CAAC;QAGhD,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;KA7DC;IAiEhB,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1F;;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;+GA3EU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAApB,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBjC,ufAeA,EDJc,MAAA,EAAA,CAAA,ozEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,WAAW,EAAE;AACnB,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,gBAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACvE,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAZhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGf,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;AACnB,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,4BAAA,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBACvE,CAAC;qBACH,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ufAAA,EAAA,MAAA,EAAA,CAAA,ozEAAA,CAAA,EAAA,CAAA;0EAWtC,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MElEK,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CALf,aAAa,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAC7C,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;gHAGZ,mBAAmB,EAAA,SAAA,EAFnB,CAAC,gBAAgB,CAAC,YAFnB,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAI5C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAC;oBACxD,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA,CAAA;;;MCEY,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CALjB,eAAe,CAAA,EAAA,OAAA,EAAA,CACpB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAC5E,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAJtB,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAI3E,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,wBAAwB,CAAC;oBACvF,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCDY,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAJtB,oBAAoB,CACzB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxD,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,EAH3B,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGvD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;oBACnE,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA,CAAA;;;MCCY,qBAAqB,CAAA;AAkDhC,IAAA,WAAA,GAAA;AAjDA;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAI,EAAE,CAAC;AAEvB;;;;;AAKG;QACM,IAAgB,CAAA,gBAAA,GAAiB,SAAS,CAAC;AASpD;;;;AAIG;QACM,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AAEvB;;;;AAIG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;AAShB,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,YAAY,EAAS,CAAC;KAM5D;AAEhB,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjG;+GA5DU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,6QCXlC,kVAOA,EAAA,MAAA,EAAA,CAAA,msCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDIa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kVAAA,EAAA,MAAA,EAAA,CAAA,msCAAA,CAAA,EAAA,CAAA;0EAQtC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;ME3CI,2BAA2B,CAAA;+GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA3B,2BAA2B,EAAA,YAAA,EAAA,CALvB,qBAAqB,CAC1B,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxD,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGpB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAJ5B,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIvD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;AACrC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;oBACnE,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ICXW,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA,CAAA;AAAA,CAAC;IAEU,aAIX;AAJD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,yBAAmC,CAAA;AACnC,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,yBAAqC,CAAA;AACrC,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC,CAAA;AACnC,CAAC,EAJW,YAAY,KAAZ,YAAY,GAIvB,EAAA,CAAA,CAAA;;MCFY,aAAa,CAAA;AAL1B,IAAA,WAAA,GAAA;AAME;;;;;AAKG;AACM,QAAA,IAAA,CAAA,IAAI,GAAiB,YAAY,CAAC,OAAO,CAAC;AAOnD;;AAEG;QACH,IAAM,CAAA,MAAA,GAAG,MAAK;YACZ,QAAO,IAAI,CAAC,IAAI;AACd,gBAAA,KAAK,YAAY,CAAC,SAAS,EAAE;AAC3B,oBAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;oBACtC,MAAM;AACP,iBAAA;AACD,gBAAA,KAAK,YAAY,CAAC,OAAO,EAAE;AACzB,oBAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;oBACpC,MAAM;AACP,iBAAA;AACD,gBAAA,SAAS;AACP,oBAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;oBACpC,MAAM;AACP,iBAAA;AACF,aAAA;AACH,SAAC,CAAC;AAeH,KAAA;AAbC;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;;AAED;;AAEG;IACH,WAAW,GAAA;QACT,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;+GA9CU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,8FCR1B,0CACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDOa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,SAAS,EAAA,eAAA,EAEF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0CAAA,EAAA,CAAA;8BAStC,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEPK,aAAa,CAAA;AAN1B,IAAA,WAAA,GAAA;QAOW,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAExB,KAAA;+GAJY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,iGCR1B,kNAKA,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDGa,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;+BACE,SAAS,EAAA,eAAA,EAGF,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kNAAA,EAAA,MAAA,EAAA,CAAA,uSAAA,CAAA,EAAA,CAAA;8BAGtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEFK,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAJf,aAAa,CAAA,EAAA,OAAA,EAAA,CAElB,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;gHAEZ,mBAAmB,EAAA,CAAA,CAAA,EAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;AAC7B,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA,CAAA;;;MCIY,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAJf,aAAa,CAClB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAChD,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;AAEZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHpB,OAAA,EAAA,CAAA,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAG/C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,mBAAmB,CAAC;oBAC3D,OAAO,EAAE,CAAC,aAAa,CAAC;AACzB,iBAAA,CAAA;;;MCOY,iBAAiB,CAAA;AAb9B,IAAA,WAAA,GAAA;AAcE;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;;AAMG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEzB;;;;;;;AAOG;QACM,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAE/B;;;;;;AAMG;QAEM,IAAK,CAAA,KAAA,GAAG,SAAS,CAAC;AAE3B;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW,CAAC;AAEhD;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;AA6CpB,KAAA;AAzCC,IAAA,UAAU,CAAC,KAAwB,EAAA;QACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KACtC;AAED,IAAA,aAAa,CAAC,KAAwB,EAAA;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACtC,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AACvF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;+GA5HU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EATjB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdH,qTAYM,EAAA,MAAA,EAAA,CAAA,y1DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDKO,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGZ,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qTAAA,EAAA,MAAA,EAAA,CAAA,y1DAAA,CAAA,EAAA,CAAA;8BAUtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAUG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAUG,KAAK,EAAA,CAAA;sBADb,WAAW;uBAAC,eAAe,CAAA;;sBAC3B,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQI,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;ME5EI,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAJnB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACjE,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAHxB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGhE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,CAAC;oBAC5E,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;ACRD,MAAM,cAAc,GAAG,6FAA6F,CAAC;MAExG,cAAc,CAAA;AAClB,IAAA,OAAO,gBAAgB,GAAA;AAC5B,QAAA,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;KAC5F;AACF;;ACRM,MAAM,mBAAmB,GAAG;AACjC,IAAA,KAAK,EAAE,6BAA6B;AACpC,IAAA,QAAQ,EAAE,qEAAqE;AAC/E,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,2BAA2B,EAAE,iBAAiB;AAC9C,IAAA,yBAAyB,EAAE,gBAAgB;AAC3C,IAAA,0BAA0B,EAAE,KAAK;AACjC,IAAA,YAAY,EAAE,MAAM;AACpB,IAAA,oBAAoB,EAAE,iCAAiC;AACvD,IAAA,KAAK,EAAE,aAAa;CACrB;;MCPY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAEzB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QACrB,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;KAJK;AAQtC,IAAA,UAAU,CAAC,KAAoB,EAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;KACjC;AAGD,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,MAAM,UAAU,GAAmB,KAAK,IAAqB,KAAM,EAAE,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1G,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;KACxC;IAED,QAAQ,CAAC,KAAY,EAAE,IAAY,EAAA;QACjC,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YACvC,MAAM,QAAQ,GACZ,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChH,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,IAAI,CAAC,KAAK;oBACR,IAAI,CACF,CAAK,EAAA,EAAA,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAG,EAAA,IAAI,CAAC,YAAY,GAAG,yBAAyB,GAAG,MAAM,CAAK,GAAA,CAAA,CACxF,CAAC;AACf,aAAA;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;AACR,aAAA;AACF,SAAA;KACF;+GAnCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAnB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;iGAIU,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAMpC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AClBnC;MA2Ba,cAAc,CAAA;AA4CzB;;;;;AAKG;IACH,IAAa,MAAM,CAAC,MAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KAC5C;AA4DD,IAAA,WAAA,GAAA;QAhHe,IAAK,CAAA,KAAA,GAAG,UAAU,CAAC;AAElC;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAI,EAAE,CAAC;AAUrB;;;;;AAKG;QACM,IAAW,CAAA,WAAA,GAAI,EAAE,CAAC;AAE3B;;;;;AAKG;QACM,IAAE,CAAA,EAAA,GAAI,EAAE,CAAC;AAElB;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AA8BpB;;;;;AAKG;QACM,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAE1B;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAc,MAAM,CAAC;AAElC;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAE9B;;;;;AAKG;QACM,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AAEjC;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;KAEH;IAQhB,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;KACnC;;IAGD,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;KACF;;IAGD,OAAO,GAAA;QACL,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,YAAY,EAAE;AACjD,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;;IAGD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;;IAGD,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;KACnC;;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,aAAA;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,aAAA;AACF,SAAA;KACF;;;IAID,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AACpE,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;AAGD,IAAA,OAAO,CAAC,KAAU,EAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,KAAW,EAAA;AACpB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;+GA/MU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EATd,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAC7C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,6kDA4CA,EAAA,MAAA,EAAA,CAAA,0/KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDjBa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAd1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAGL,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC;AAC7C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6kDAAA,EAAA,MAAA,EAAA,CAAA,0/KAAA,CAAA,EAAA,CAAA;0EAGhC,KAAK,EAAA,CAAA;sBAAnB,WAAW;gBAQH,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAWG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAQG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAQG,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;MEpHK,sBAAsB,CAAA;AAmEjC;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzD,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;AAC9C,SAAA;KACF;AAED,IAAA,WAAA,CAAoB,EAAsB,EAAA;QAAtB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAoB;;;;AA1E1C;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;AAEG;QACM,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AAC9B;;;AAGG;QACM,IAAc,CAAA,cAAA,GAAG,8CAA8C,CAAC;AACzE;;;AAGG;QACM,IAAiB,CAAA,iBAAA,GAAG,6CAA6C,CAAC;AAE3E;;AAEG;AACH,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AAC3B,YAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACvD,QAAQ,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,gBAAgB,EAAE,CAAC;YACjD,0BAA0B,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC/D,SAAA,CAAC,CAAC;AAEH;;AAEG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG;YACpB,QAAQ,EAAE,CAAC,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC,EAAE,CAAC;SACf,CAAC;AAEF;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEzB;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAuB,mBAAmB,CAAC;AAExD;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAA2C,IAAI,YAAY,EAA4B,CAAC;AAE7G;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ,CAAC;AA2BpE;;AAEG;AACH,QAAA,IAAA,CAAA,aAAa,GAA2B;AACtC,YAAA,KAAK,EAAE,qBAAqB;AAC5B,YAAA,QAAQ,EAAE,wBAAwB;SACnC,CAAC;AAEF;;AAEG;AACH,QAAA,IAAA,CAAA,qBAAqB,GAA2B;AAC9C,YAAA,OAAO,EAAE,qBAAqB;SAC/B,CAAC;KA1B4C;IAE9C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK;YAClD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK;AACnD,SAAA,CAAC,CAAC;KACJ;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;KACxB;AAiBD,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QACjE,MAAM,MAAM,GAAa,EAAE,CAAC;AAC5B,QAAA,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;YAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;gBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,aAAA;AACF,SAAA;QACD,IAAI,KAAK,KAAK,UAAU,EAAE;AACxB,YAAA,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;gBAC3B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE;oBACrD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,MAAM,CAAC;KACjE;+GA3HU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,8TCZnC,mkEAuDA,EAAA,MAAA,EAAA,CAAA,shCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FD3Ca,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mkEAAA,EAAA,MAAA,EAAA,CAAA,shCAAA,CAAA,EAAA,CAAA;2GAUtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAKG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAKG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAcG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAUG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MErDI,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAbhB,YAAA,EAAA,CAAA,cAAc,EAAE,mBAAmB,aAEhD,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;AACnB,YAAA,qBAAqB,aAEb,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAGb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAX7B,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;YACnB,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;AACnD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,cAAc;wBACd,mBAAmB;wBACnB,WAAW;wBACX,mBAAmB;wBACnB,qBAAqB;AACtB,qBAAA;oBACD,OAAO,EAAE,CAAC,cAAc,CAAC;AACzB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCEY,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA5B,4BAA4B,EAAA,YAAA,EAAA,CAdxB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAEnC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;AACzB,YAAA,mBAAmB,aAEX,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAZrC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;YACvB,yBAAyB;YACzB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,uBAAuB;wBACvB,yBAAyB;wBACzB,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACxBM,MAAM,oBAAoB,GAAG;AAClC,IAAA,KAAK,EAAE,8BAA8B;AACrC,IAAA,cAAc,EAAE,cAAc;AAC9B,IAAA,MAAM,EAAE,kBAAkB;CAC3B;;MCQY,uBAAuB,CAAA;AAuClC;;AAEG;AACH,IAAA,QAAQ,MAAW;AAEnB,IAAA,WAAA,CAAoB,EAAsB,EAAA;QAAtB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAoB;;;;AAvC1C;;AAEG;AACH,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjC,QAAQ,EAAE,CAAC,EAAE,EAAE,cAAc,CAAC,gBAAgB,EAAE,CAAC;AAClD,SAAA,CAAC,CAAC;AAEH;;AAEG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG;YACpB,QAAQ,EAAE,CAAC,EAAE,CAAC;SACf,CAAC;AAEF;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEzB;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAwB,oBAAoB,CAAC;AAE1D;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAA4C,IAAI,YAAY,EAA6B,CAAC;KAOjE;IAE9C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK;AACzD,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AACnD,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAChE,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACpF,OAAO;AACR,aAAA;AAED,YAAA,IAAI,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACvF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnD,OAAO;AACR,aAAA;AACF,SAAA;QAED,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC/D;+GAlEU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,IAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,2KCZpC,8lCAkCA,EAAA,MAAA,EAAA,CAAA,8YAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,KAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDtBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8lCAAA,EAAA,MAAA,EAAA,CAAA,8YAAA,CAAA,EAAA,CAAA;2GAiBtC,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBASG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;ME1BI,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA7B,6BAA6B,EAAA,YAAA,EAAA,CAbzB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,yBAAyB;AACzB,YAAA,mBAAmB,aAEX,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAXtC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,yBAAyB;YACzB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAdzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,yBAAyB;wBACzB,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AAClC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCDY,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAmB,SAAwC,EAAA;QAAxC,IAAS,CAAA,SAAA,GAAT,SAAS,CAA+B;AAE3D;;;;AAIG;QACM,IAAK,CAAA,KAAA,GAAI,EAAE,CAAC;AAErB;;;;AAIG;QACM,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAEhC;;;;AAIG;AACM,QAAA,IAAA,CAAA,UAAU,GAAkB,MAAM,IAAI,CAAC;AAEhD;;;;AAIG;QACM,IAAoB,CAAA,oBAAA,GAAI,EAAE,CAAC;AAEpC;;;;AAIG;QACM,IAAkB,CAAA,kBAAA,GAAI,EAAE,CAAC;AAElC;;;;AAIG;QACM,IAAmB,CAAA,mBAAA,GAAgB,WAAW,CAAC;AAExD;;;;AAIG;QACM,IAAiB,CAAA,iBAAA,GAAgB,SAAS,CAAC;AAE1C,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,YAAY,EAAS,CAAC;AAC5D,QAAA,IAAA,CAAA,yBAAyB,GAAwB,IAAI,YAAY,EAAS,CAAC;AAC3E,QAAA,IAAA,CAAA,uBAAuB,GAAwB,IAAI,YAAY,EAAS,CAAC;QAEnF,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;KAvDwC;IAyD/D,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,SAAA;KACF;;IAGD,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,KAAK,EAAE;AAC/B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC7B,SAAA;KACF;;IAGD,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,CAAC;AACpC,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACxB,SAAA;KACF;AAED,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED,IAAA,sBAAsB,CAAC,KAAY,EAAA;AACjC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5C;AAED,IAAA,oBAAoB,CAAC,KAAY,EAAA;AAC/B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;+GAhGU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAb,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,+dCrB5B,0lCAoCA,EAAA,MAAA,EAAA,CAAA,6wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDfa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,mBAGJ,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0lCAAA,EAAA,MAAA,EAAA,CAAA,6wCAAA,CAAA,EAAA,CAAA;qGAU5B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAOG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAOG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAOG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAOG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,yBAAyB,EAAA,CAAA;sBAAlC,MAAM;gBACG,uBAAuB,EAAA,CAAA;sBAAhC,MAAM;;;MEtEI,aAAa,CAAA;AAExB,IAAA,WAAA,CAAoB,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;KAAI;AAE5C,IAAA,IAAI,CAAC,eAAmC,EAAA;;AAEtC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE;AAC1C,YAAA,UAAU,EAAE,mBAAmB;AAChC,SAAA,CAAC,CAAC;KACJ;+GATU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAT,IAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAb,aAAa,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;MCSE,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CALjB,eAAe,CACpB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACpD,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAFrB,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAFrG,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAInD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,CAAC;oBAC/D,OAAO,EAAE,CAAC,eAAe,CAAC;oBAC1B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC;AAChH,iBAAA,CAAA;;;ICZW,cAGX;AAHD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,GAGxB,EAAA,CAAA,CAAA;;MCMY,wBAAwB,CAAA;AANrC,IAAA,WAAA,GAAA;AAOE;;;;;;AAMG;AACM,QAAA,IAAA,CAAA,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;AAChD,KAAA;+GATY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,uGCTrC,0EAEM,EAAA,MAAA,EAAA,CAAA,qLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDOO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,qLAAA,CAAA,EAAA,CAAA;8BAUtC,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MERK,8BAA8B,CAAA;+GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EAJ1B,YAAA,EAAA,CAAA,wBAAwB,CAC7B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,wBAAwB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YAH/B,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,wBAAwB,CAAC;AACpC,iBAAA,CAAA;;;MCCY,oBAAoB,CAAA;AAwC/B,IAAA,WAAA,GAAA;AAvCA;;;;;;AAMG;QAGH,IAAK,CAAA,KAAA,GAAG,SAAS,CAAC;AAElB;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;AAEtB;;;;;;;AAOG;QACM,IAAI,CAAA,IAAA,GAAoB,aAAa,CAAC;AAE/C;;;;;;AAMG;QACM,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;KAEJ;+GAxCL,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,kMCTjC,qMAQA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDCa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,qMAAA,EAAA,MAAA,EAAA,CAAA,6QAAA,CAAA,EAAA,CAAA;0EAY/C,KAAK,EAAA,CAAA;sBAFJ,WAAW;uBAAC,eAAe,CAAA;;sBAC3B,KAAK;gBAUG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAUG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBASG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;ME1CK,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;KAH/B;;AAMqB,IAAA,UAAU,CAAC,KAAY,EAAA;QAC3D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;AAG6C,IAAA,WAAW,CAAC,KAAY,EAAA;QACpE,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;;AAGwC,IAAA,MAAM,CAAC,KAAgB,EAAA;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,KAAe,CAAC;AACpB,QAAA,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE;AACxB,YAAA,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;AACjC,YAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACF,SAAA;KACF;+GAhCU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAjB,iBAAiB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;0EAIiC,IAAI,EAAA,CAAA;sBAAnC,WAAW;uBAAC,iBAAiB,CAAA;gBACpB,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAG+B,UAAU,EAAA,CAAA;sBAA/C,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAOU,WAAW,EAAA,CAAA;sBAAxD,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAOI,MAAM,EAAA,CAAA;sBAA9C,YAAY;uBAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCoCrB,mBAAmB,CAAA;AAkE9B,IAAA,WAAA,GAAA;QAjEe,IAAK,CAAA,KAAA,GAAG,gBAAgB,CAAC;AAyCxC;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAgB,IAAI,CAAC;AAExB,QAAA,IAAA,CAAA,MAAM,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAEhE;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;QAEnB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;KAGA;IAEhB,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;;AAGD,IAAA,aAAa,CAAC,KAAe,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtB;;AAGD,IAAA,cAAc,CAAC,KAAY,EAAA;AACzB,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,aAAiC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;KAChD;;AAGD,IAAA,QAAQ,CAAC,KAAe,EAAA;QACtB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;KACjD;;IAGD,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;KAChF;;IAGD,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;KACnC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;AAChD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACjC,SAAA;AACD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AACjC,SAAA;KACF;AAED,IAAA,UAAU,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC;AAC3B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;+GA5IU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAzCnB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BH,o8DAoDA,EDvBc,MAAA,EAAA,CAAA,2iFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,gBAAgB,EAAE;gBACxB,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,oBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;iBACjE,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,oBAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC1D,CAAC;aACH,CAAC;YACF,OAAO,CAAC,wBAAwB,EAAE;gBAChC,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,oBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;iBACjE,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,oBAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC1D,CAAC;aACH,CAAC;YACF,OAAO,CAAC,sBAAsB,EAAE;gBAC9B,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,oBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;iBACjE,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,oBAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC1D,CAAC;aACH,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA9C/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAGX,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACV,OAAO,CAAC,gBAAgB,EAAE;4BACxB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,gCAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;6BACjE,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,gCAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC1D,CAAC;yBACH,CAAC;wBACF,OAAO,CAAC,wBAAwB,EAAE;4BAChC,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,gCAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;6BACjE,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,gCAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC1D,CAAC;yBACH,CAAC;wBACF,OAAO,CAAC,sBAAsB,EAAE;4BAC9B,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAChC,gCAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;6BACjE,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtC,gCAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;6BAC1D,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,o8DAAA,EAAA,MAAA,EAAA,CAAA,2iFAAA,CAAA,EAAA,CAAA;0EAGc,KAAK,EAAA,CAAA;sBAAnB,WAAW;gBAOH,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAQG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAQG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAQG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MErGI,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,iBALtB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,YAAY,EAAE,oBAAoB,aAClC,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAGnB,0BAA0B,EAAA,OAAA,EAAA,CAJ3B,YAAY,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIjC,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,oBAAoB,CAAC;oBAC7C,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCKY,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EALrB,YAAA,EAAA,CAAA,mBAAmB,EAAE,iBAAiB,aAC3C,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,0BAA0B,aACjG,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAGlB,yBAAyB,EAAA,OAAA,EAAA,CAJ1B,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIhG,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,0BAA0B,CAAC;oBAC5G,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACdM,MAAM,oBAAoB,GAAG;AAClC,IAAA,KAAK,EAAE,qBAAqB;AAC5B,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,aAAa,EAAE,gBAAgB;CAChC;;MCMY,uBAAuB,CAAA;AA4ClC;;AAEG;AACH,IAAA,QAAQ,MAAW;AAEnB,IAAA,WAAA,CAAoB,EAAsB,EAAA;QAAtB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAoB;;;;AA5C1C;;AAEG;AACH,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACjC,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;AACrD,SAAA,CAAC,CAAC;AAEH;;AAEG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG;YACpB,KAAK,EAAE,CAAC,EAAE,CAAC;SACZ,CAAC;AASF;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAwB,oBAAoB,CAAC;AAE1D;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAA4C,IAAI,YAAY,EAA6B,CAAC;AAE/G;;AAEG;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAO5B;IAE9C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK;AACnD,SAAA,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAC9B;AAED,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AACnD,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAChE,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACpF,OAAO;AACR,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC7D,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACjF,OAAO;AACR,aAAA;AACF,SAAA;QAED,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC/D;+GA3EU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhB,IAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,iNCXpC,04BA8BA,EAAA,MAAA,EAAA,CAAA,khBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDnBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;+BACE,oBAAoB,EAAA,eAAA,EAGb,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,04BAAA,EAAA,MAAA,EAAA,CAAA,khBAAA,CAAA,EAAA,CAAA;2GAiBtC,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBASG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;ME9BI,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA7B,6BAA6B,EAAA,YAAA,EAAA,CAbzB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAEpC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,aAAa;AACb,YAAA,mBAAmB,aAEX,uBAAuB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAXtC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,aAAa;YACb,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAdzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,aAAa;wBACb,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,uBAAuB,CAAC;AAClC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCdY,kBAAkB,CAAA;AAyB7B,IAAA,WAAA,GAAA;AAvBA;;;;;AAKG;QACM,IAAQ,CAAA,QAAA,GAAa,IAAI,CAAC;AAUnC;;;;AAIG;QACM,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;KAEH;AAEhB,IAAA,QAAQ,MAAW;+GA3BR,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,2HCR/B,6GAEA,EAAA,MAAA,EAAA,CAAA,yEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDMa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,yEAAA,CAAA,EAAA,CAAA;0EAYhB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEpBK,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,iBALpB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,EAAE,mBAAmB,aACjC,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAGjB,wBAAwB,EAAA,OAAA,EAAA,CAJzB,YAAY,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIhC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;oBAC5C,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ICCW,cAMX;AAND,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EANW,aAAa,KAAb,aAAa,GAMxB,EAAA,CAAA,CAAA;;MCRY,cAAc,CAAA;AA8CzB,IAAA,WAAA,GAAA;AA7CA;;AAEG;QACH,IAAa,CAAA,aAAA,GAAG,aAAa,CAAC;AAE9B;;;;;AAKG;QACM,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;AAE9B;;;;;AAKG;QACM,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAExB;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;;;;AAKG;QACM,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAE1B;;;;;AAKG;AACM,QAAA,IAAA,CAAA,IAAI,GAAkB,aAAa,CAAC,KAAK,CAAC;KAEnC;+GA9CL,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,kLCT3B,ifAcA,EAAA,MAAA,EAAA,CAAA,imBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjB,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDLa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,UAAU,EAAA,eAAA,EAGH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ifAAA,EAAA,MAAA,EAAA,CAAA,imBAAA,CAAA,EAAA,CAAA;0EActC,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;ME3CK,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EALhB,YAAA,EAAA,CAAA,cAAc,CACnB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAGb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAJrB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIX,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,cAAc,CAAC;AACzB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACTM,MAAM,UAAU,GAAG;AACxB,IAAA,KAAK,EAAE,gCAAgC;AACvC,IAAA,WAAW,EAAE,eAAe;AAC5B,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,WAAW,EAAE,mBAAmB;AAChC,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,YAAY,EAAE,QAAQ;AACtB,IAAA,gBAAgB,EAAE,wBAAwB;AAC1C,IAAA,cAAc,EAAE,iBAAiB;CAClC;;MCEY,cAAc,CAAA;AAwDzB;;AAEG;IACH,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnD,SAAA;KACF;AAED,IAAA,WAAA,CAAoB,EAAsB,EAAA;QAAtB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAoB;;;;AA5D1C;;AAEG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,WAAW,EAAE,CAAC,KAAK,CAAC;AACrB,SAAA,CAAC,CAAC;AAEH;;AAEG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG;AACX,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;SACb,CAAC;AAEF;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAEzB;;;;AAIG;QACM,IAAI,CAAA,IAAA,GAAe,UAAU,CAAC;AAEvC;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAmC,IAAI,YAAY,EAAoB,CAAC;AAE7F;;AAEG;AACO,QAAA,IAAA,CAAA,mBAAmB,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAE7E;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAW9B;IAE9C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK;YAC5C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK;YAC/C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK;AACtD,SAAA,CAAC,CAAC;KACJ;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;KACjC;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;KAChC;AAED,IAAA,WAAW,CAAC,KAAa,EAAA;QACvB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;AAC1C,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AACvD,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,wBAAwB,CAAC;gBAClF,OAAO;AACR,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,qBAAqB,CAAC;gBAC/E,OAAO;AACR,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,KAAqC,CAAC,GAAG,EAAE,CAAC;KAC7D;+GAjGU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,6OCX3B,gjDA+CA,EAAA,MAAA,EAAA,CAAA,grDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDpCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,UAAU,EAAA,eAAA,EAGH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gjDAAA,EAAA,MAAA,EAAA,CAAA,grDAAA,CAAA,EAAA,CAAA;2GAUtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAwBG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBAKG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;ME1CI,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAApB,oBAAoB,EAAA,YAAA,EAAA,CAbhB,cAAc,CAAA,EAAA,OAAA,EAAA,CAE3B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;AACvB,YAAA,mBAAmB,aAEX,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAGb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAX7B,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;YACvB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,cAAc,CAAC;AAC9B,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,oBAAoB;wBACpB,qBAAqB;wBACrB,uBAAuB;wBACvB,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,cAAc,CAAC;AACzB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCbY,eAAe,CAAA;AAqD1B,IAAA,WAAA,GAAA;;;;AAhDA;;;;;;AAMG;QACM,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;AAE/B;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAE3B;;;;;AAKG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAEvB;;;;;AAKG;QACM,IAAS,CAAA,SAAA,GAAe,EAAE,CAAC;AAEpC;;AAEG;AACO,QAAA,IAAA,CAAA,aAAa,GAAyB,IAAI,YAAY,EAAU,CAAC;AAE3E;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAyB,IAAI,YAAY,EAAU,CAAC;AAE7E;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAErD;AAEhB,IAAA,QAAQ,CAAC,OAAe,EAAA;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAI,CAAA,EAAA,OAAO,CAAE,CAAA,CAAC,CAAC;KACxC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/B;+GAjEU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,wQCT5B,kmCA6BA,EAAA,MAAA,EAAA,CAAA,wvCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAb,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAiB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAS,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDpBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kmCAAA,EAAA,MAAA,EAAA,CAAA,wvCAAA,CAAA,EAAA,CAAA;0EActC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAKG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAKG,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MElCI,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CAdjB,eAAe,CAAA,EAAA,OAAA,EAAA,CAExB,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,eAAe;YACf,eAAe;YACf,aAAa;YACb,mBAAmB;AACnB,YAAA,mBAAmB,aAEf,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAGd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAZ1B,YAAY;YACZ,gBAAgB;YAChB,aAAa;YACb,eAAe;YACf,eAAe;YACf,aAAa;YACb,mBAAmB;YACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAfjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;AAC7B,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,mBAAmB;wBACnB,mBAAmB;AACtB,qBAAA;oBACH,OAAO,EAAE,CAAC,eAAe,CAAC;AAC1B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MChBY,mBAAmB,CAAA;AA0C9B,IAAA,WAAA,GAAA;AALA;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAE5D;IAEhB,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;KAChC;+GA9CU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0MCThC,suBAyBA,EAAA,MAAA,EAAA,CAAA,ioBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAApB,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAiB,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,aAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDhBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACE,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,suBAAA,EAAA,MAAA,EAAA,CAAA,ioBAAA,CAAA,EAAA,CAAA;0EAatC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKI,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MEpCI,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAzB,yBAAyB,EAAA,YAAA,EAAA,CALrB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACxB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAClE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAJ1B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIjE,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,CAAC;oBAC7E,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCHY,kBAAkB,CAAA;AAkC7B;;AAEG;AACH,IAAA,QAAQ,MAAW;AAEnB,IAAA,WAAA,GAAA;;;;AAlCA;;;;;AAKG;QACM,IAAe,CAAA,eAAA,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAExC;;;;;AAKG;QACM,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AAEpB;;;;;AAKG;QACM,IAAe,CAAA,eAAA,GAAG,EAAE,CAAC;AAE9B;;AAEG;AACO,QAAA,IAAA,CAAA,qBAAqB,GAA4B,IAAI,YAAY,EAAa,CAAC;KAOzE;AAEhB,IAAA,gBAAgB,CAAC,SAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5C;+GA3CU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,mLCT/B,6MAIgB,EAAA,MAAA,EAAA,CAAA,wrBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAArB,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDKH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,SAAS;+BACE,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,6MAAA,EAAA,MAAA,EAAA,CAAA,wrBAAA,CAAA,EAAA,CAAA;0EAqBtC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAKI,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;;;ME9BI,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,iBALpB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACvB,YAAY,EAAE,kBAAkB,aAChC,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAGjB,wBAAwB,EAAA,OAAA,EAAA,CAJzB,YAAY,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAI/B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;oBAC3C,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACVD;MAqBa,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AAOE;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;;AAMG;;QAGH,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AASlB;;;;;;AAMG;QACM,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAE/B;;;;;;AAMG;QAGH,IAAK,CAAA,KAAA,GAAG,SAAS,CAAC;AAElB;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAEpB;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAW1B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAwB,CAAC;AAuClE,KAAA;AA3GC,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,QAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;IAkED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACtC,SAAA;KACF;;IAGD,UAAU,CAAC,OAAuB,EAAE,KAAiB,EAAA;;QAEnD,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACtF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3E,SAAA;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,SAAA;KACF;;IAGD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAC,SAAS,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AACnE,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;+GA9HU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0VCrBjC,iUAaM,EAAA,MAAA,EAAA,CAAA,q/CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDQO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,iUAAA,EAAA,MAAA,EAAA,CAAA,q/CAAA,CAAA,EAAA,CAAA;8BAUtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAaF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAeG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAWN,KAAK,EAAA,CAAA;sBAFJ,WAAW;uBAAC,eAAe,CAAA;;sBAC3B,KAAK;gBASG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MElGI,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAJtB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACzB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAC9D,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAH3B,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAG7D,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;oBACpC,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,CAAC;oBACzE,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA,CAAA;;;ACLD;AACA,IAAY,QAaX,CAAA;AAbD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,QAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAiB,CAAA;AACnB,CAAC,EAbW,QAAQ,KAAR,QAAQ,GAanB,EAAA,CAAA,CAAA,CAAA;AAKD;AACO,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AASxD,IAAM,eAAe,GAArB,MAAM,eAAe,CAAA;AACV,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAA;AAmB9C,IAAA,WAAA,CAAoB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAjB7C,QAAA,IAAA,CAAA,mBAAmB,GAAiB;YAC3C,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACtC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACrC,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;YAC7C,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;YAC9C,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE;YAChD,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC5C,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE;YAC/C,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC5C,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE;SAC9C,CAAC;KAIwD;AAE1D;;;;AAIG;AACH,IAAA,IAAI,CAAC,QAAgB,EAAA;;AAEnB,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;;AAGjC,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAG;YACpF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;AAC/C,SAAC,CAAC,CAAC;KACJ;AAED;;;;;AAKG;AACH,IAAA,iBAAiB,CAAC,YAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;KACnD;+GA7CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAHd,MAAM,EAAA,CAAA,CAAA,EAAA;;AAGP,eAAe,GAAA,UAAA,CAAA;AAD3B,IAAA,YAAY,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAA,EAAA,eAAe,CA8C3B,CAAA;4FA9CY,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCPY,iBAAiB,CAAA;AAwD5B,IAAA,WAAA,CACsC,IAAS,EACrC,WAA8C,EAC9C,eAAgC,EAAA;QAFJ,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;QACrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmC;QAC9C,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AA1D1C;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAiB,SAAS,CAAC;AAEhD;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAEtB;;;;AAIG;QACM,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;AAErB;;;;AAIG;QACM,IAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;AAErC;;;;AAIG;QACM,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AAEtB;;;;;AAKG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAa,eAAe,CAAC,eAAe,CAAC;QAG9D,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;QAEpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAEhB,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;QACnB,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;QAGlB,IAAkB,CAAA,kBAAA,GAAG,WAAW,CAAC;QAO/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;KACnC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;;IAGD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/D;;IAGD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;AACxB,QAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KACxB;;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAChC,QAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;;IAGD,YAAY,GAAA;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QACtD,IAAI,IAAI,IAAI,CAAC,EAAE;AACb,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;KACtE;;IAGD,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;AA9GU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAyDlB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAsB,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAzDjB,iBAAiB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB9B,olBAqBA,EDTc,MAAA,EAAA,CAAA,kwEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,WAAW,EAAE;gBACnB,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACtC,oBAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;iBAChE,CAAC;gBACF,UAAU,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACrC,oBAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;iBAChE,CAAC;aACH,CAAC;AACH,SAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGX,UAAA,EAAA;wBACV,OAAO,CAAC,WAAW,EAAE;4BACnB,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACtC,gCAAA,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;6BAChE,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;gCACnB,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACrC,gCAAA,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;6BAChE,CAAC;yBACH,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,olBAAA,EAAA,MAAA,EAAA,CAAA,kwEAAA,CAAA,EAAA,CAAA;;0BA2DE,MAAM;2BAAC,kBAAkB,CAAA;sGAlDnB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAOG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAOG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ME/DK,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,QAAqB,EAAA;QAArB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAa;KAAI;AAE7C,IAAA,KAAK,CAAC,OAAe,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;AACxD,YAAA,IAAI,EAAE;AACJ,gBAAA,YAAY,EAAE,OAAO;gBACrB,OAAO;AACR,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,OAAe,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB,EAAE;AACxD,YAAA,IAAI,EAAE;AACJ,gBAAA,YAAY,EAAE,SAAS;gBACvB,OAAO;AACR,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;+GAnBU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAzB,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAf,eAAe,EAAA,CAAA,CAAA,EAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;ACKE,MAAA,WAAW,GAAG,CAAC,SAA2B,KAAK,MAAK;AAC/D,IAAA,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,EAAE;MAgBW,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAbnB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CACzE,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAWhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAVvB,SAAA,EAAA;YACT,eAAe;AACf,YAAA;AACE,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAVS,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAYxE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAdnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,eAAe,CAAC;oBACpF,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,oBAAA,SAAS,EAAE;wBACT,eAAe;AACf,wBAAA;AACE,4BAAA,OAAO,EAAE,eAAe;AACxB,4BAAA,UAAU,EAAE,WAAW;4BACvB,IAAI,EAAE,CAAC,gBAAgB,CAAC;AACxB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAA;;;MCnBY,sBAAsB,CAAA;AACjC,IAAA,SAAS,CAAC,GAAW,EAAE,OAAA,GAAkB,EAAE,EAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACtC;IAEO,UAAU,CAAC,GAAQ,EAAE,IAAY,EAAA;QACvC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE;AAC9C,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACrD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACnD,YAAA,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,SAAS;AACV,aAAA;YACD,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE;AAC9C,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACF,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACZ;+GApBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,EAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA,CAAA;;;ICiCW,eAIX;AAJD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;IAEW,oBAIX;AAJD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAI9B,EAAA,CAAA,CAAA;;MC3CY,yBAAyB,CAAA;IAIpC,IAAa,gBAAgB,CAAC,iBAAqC,EAAA;QACjE,IAAI,iBAAiB,CAAC,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAErE,IAAI,iBAAiB,CAAC,MAAM,EAAE;AAC5B,gBAAA,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CACvC,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CACtF,CAAC;AACH,aAAA;YAED,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC7B,gBAAA,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,IAAG;oBAClD,IAAI,CAAC,YAAY,CAAC,GAAG,CAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CACpG,CAAC;AACJ,iBAAC,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;KACF;AAED,IAAA,WAAA,CAAoB,GAAqB,EAAA;QAArB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;AAvBjC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAuBG;IAE7C,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACxB,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KACjC;+GA/BU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA,CAAA;uGAKc,gBAAgB,EAAA,CAAA;sBAA5B,KAAK;;;MCUK,cAAc,CAAA;AACzB;;AAEG;IACH,IAAwB,OAAO,CAAC,OAAgB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACjH;AAOD;;;;;;AAMG;IACH,IAAa,SAAS,CAAC,IAAgB,EAAA;QACrC,IAAI,IAAI,EAAE,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAA;KACF;IA+DD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAA4B,KAAK,WAAW,CAAC,UAAU,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAClE,CAAC,WAAkC,KAAK,WAAW,CAAC,UAAU,CAC/D,CAAC;AACH,SAAA;KACF;AAED,IAAA,WAAA,CAAoB,sBAA8C,EAAA;QAA9C,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;AAxFlE;;AAEG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAe9B;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAsB,EAAE,CAAC;AAU9C;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ,CAAC;AAErE;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAI,YAAY,EAAO,CAAC;AAEvE;;AAEG;AACO,QAAA,IAAA,CAAA,qBAAqB,GAAsB,IAAI,YAAY,EAAO,CAAC;AAE7E;;AAEG;AACH,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,kBAAkB,CAAM,EAAE,CAAC,CAAC;AAE7C;;AAEG;AACH,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,kBAAkB,CAAM,EAAE,CAAC,CAAC;AAOnD;;AAEG;QACH,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;AAEhC;;AAEG;QACH,IAAsB,CAAA,sBAAA,GAAa,EAAE,CAAC;AAEtC;;AAEG;QACH,IAAQ,CAAA,QAAA,GAAG,cAAc,CAAC;KAW4C;AAEtE,IAAA,MAAM,CAAC,UAAgB,EAAA;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAuB,KAAK,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;QAChH,IAAI,UAAU,EAAE,KAAK,EAAE;AACrB,YAAA,UAAU,CAAC,MAAM,GAAG,UAAU,EAAE,KAAK,CAAC;AACvC,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACnC;AAED,IAAA,UAAU,CAAC,SAAc,EAAA;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACtC;AAED,IAAA,gBAAgB,CAAC,SAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5C;AAED,IAAA,SAAS,CAAC,OAAU,EAAA;AAClB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;QACrE,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;AACvC,gBAAA,IAAI,EAAE,OAAO;gBACb,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9D,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;AAED;;AAEG;AACK,IAAA,kBAAkB,CAAC,IAAS,EAAA;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,CAAM,IAAI,CAAC,CAAC;KACrD;AAED;;AAEG;AACK,IAAA,wBAAwB,CAAC,OAAkB,EAAA;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,kBAAkB,CAAM,OAAO,CAAC,CAAC;KAC9D;+GAzIU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA0B,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAId,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAO,ECzBpB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,gvNAiHA,EDrGc,MAAA,EAAA,CAAA,uuEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzB,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAiB,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA1B,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAyB,sBAAA,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClD,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,gBAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AACrF,gBAAA,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;aACjF,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAd1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAGH,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACV,OAAO,CAAC,cAAc,EAAE;4BACtB,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;4BAClD,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACzC,4BAAA,UAAU,CAAC,wBAAwB,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AACrF,4BAAA,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;yBACjF,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,gvNAAA,EAAA,MAAA,EAAA,CAAA,uuEAAA,CAAA,EAAA,CAAA;0GAMuB,OAAO,EAAA,CAAA;sBAA9B,SAAS;uBAAC,OAAO,CAAA;gBAQT,YAAY,EAAA,CAAA;sBAApB,KAAK;gBASO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAYG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAQG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAKI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAKG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBAKG,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;;;ME9DI,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBALhB,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,CACtE,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,aAC5E,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAGb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAFpB,SAAA,EAAA,CAAC,sBAAsB,CAAC,EAFzB,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAI3E,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,cAAc,EAAE,sBAAsB,EAAE,yBAAyB,CAAC;oBACjF,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAC;oBACvF,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA,CAAA;;;MCLY,YAAY,CAAA;AALzB,IAAA,WAAA,GAAA;AAkBE;;;;;AAKG;QACM,IAAI,CAAA,IAAA,GAAa,EAAE,CAAC;AAE7B;;;;;;AAMG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE5B;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;;AAMG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE5B;;;;;;AAMG;QACM,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;AAEtC;;;;;;AAMG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE5B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAQ,CAAC;AAE3C;;;;;AAKG;AACO,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAW,CAAC;AAE9C;;;;;AAKG;AACK,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,aAAa,CAAO,CAAC,CAAC,CAAC;AAEzD;;;;;;AAMG;AACO,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC3D,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,MAAK;AACP,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AAC3C,YAAA,OAAO,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;SACxC,CAAC,CACH,CAAC;QACQ,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AA8B1B,KAAA;AArIC;;;;AAIG;IACH,IAAa,KAAK,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC7B,SAAA;KACF;IAiGD,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,OAAO,GAAA;QACL,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACtC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,SAAA;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;IAEO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;KACjC;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KAClD;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;KAC5D;+GArIU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,qYCTzB,iwBAmBA,EAAA,MAAA,EAAA,CAAA,6hDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA1B,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAlB,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDVa,YAAY,EAAA,UAAA,EAAA,CAAA;kBALxB,SAAS;+BACE,QAAQ,EAAA,QAAA,EAAA,iwBAAA,EAAA,MAAA,EAAA,CAAA,6hDAAA,CAAA,EAAA,CAAA;8BAUL,KAAK,EAAA,CAAA;sBAAjB,KAAK;gBAaG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBASG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAQI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBAQG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBA0BoB,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;;;IEnHf,oBAKX;AALD,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,GAK9B,EAAA,CAAA,CAAA;;MCIY,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;AAME;;;;;AAKG;AACM,QAAA,IAAA,CAAA,QAAQ,GAAwB,mBAAmB,CAAC,GAAG,CAAC;AAEjE;;;;;AAKG;QACM,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAsBvB,KAAA;IAlBC,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;;IAGD,WAAW,GAAA;QACT,QAAQ,IAAI,CAAC,QAAQ;YACnB,KAAK,mBAAmB,CAAC,GAAG;AAC1B,gBAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,MAAM;YACR,KAAK,mBAAmB,CAAC,MAAM;AAC7B,gBAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC3B,MAAM;AACR,YAAA;AACE,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACjC,MAAM;AACT,SAAA;KACF;+GApCU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,wGCT7B,+JAGA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDMa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,YAAY,EAAA,eAAA,EAEL,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+JAAA,EAAA,CAAA;8BAStC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEfK,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAJlB,YAAA,EAAA,CAAA,gBAAgB,CACrB,EAAA,OAAA,EAAA,CAAA,gBAAgB,aAChB,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAEf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAHvB,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGf,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;MCKY,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CALd,YAAY,CAAA,EAAA,OAAA,EAAA,CACjB,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAC3E,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAJnB,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAI1E,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAN9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;oBACtF,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCeY,iBAAiB,CAAA;AAwG5B,IAAA,WAAA,GAAA;QAvGe,IAAK,CAAA,KAAA,GAAG,aAAa,CAAC;AAErC;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAI,EAAE,CAAC;AAiBrB;;;;;AAKG;QACM,IAAE,CAAA,EAAA,GAAI,EAAE,CAAC;AAkBlB;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;AAKG;QACM,IAAS,CAAA,SAAA,GAAiB,EAAE,CAAC;AAEtC;;;;;;AAMG;QACM,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAE3B;;;;;;AAMG;QACM,IAAsB,CAAA,sBAAA,GAAI,KAAK,CAAC;AAEzC;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;AAGjB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;IAOD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KAC5C;AAED,IAAA,UAAU,CAAC,KAAY,EAAA;QACrB,KAAK,EAAE,eAAe,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;KACjB;;AAGD,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;;IAGD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;AACjB,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAC9C,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,UAAU,CAAC,KAAW,EAAA;AACpB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;+GA7JU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EATjB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB,CAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBH,i3CA4BA,EAAA,MAAA,EAAA,CAAA,u4UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAqB,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,8BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDDa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAd7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGR,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB,CAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,i3CAAA,EAAA,MAAA,EAAA,CAAA,u4UAAA,CAAA,EAAA,CAAA;0EAGhC,KAAK,EAAA,CAAA;sBAAnB,WAAW;gBAQH,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBASG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ME9FK,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAvB,uBAAuB,EAAA,YAAA,EAAA,CAdnB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAE9B,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;YACnB,qBAAqB;AACrB,YAAA,eAAe,aAEP,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAZhC,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;YACnB,qBAAqB;YACrB,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKN,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACjC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,cAAc;wBACd,mBAAmB;wBACnB,WAAW;wBACX,mBAAmB;wBACnB,qBAAqB;wBACrB,eAAe;AAChB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;MCjBY,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,kDCP7B,2JAGA,EAAA,MAAA,EAAA,CAAA,sbAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDIa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,2JAAA,EAAA,MAAA,EAAA,CAAA,sbAAA,CAAA,EAAA,CAAA;;;MEIX,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHlB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;gHAEf,sBAAsB,EAAA,CAAA,CAAA,EAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC5B,iBAAA,CAAA;;;ACNM,MAAM,mBAAmB,GAAG;AACjC,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,gBAAgB,EAAE,QAAQ;AAC1B,IAAA,KAAK,EAAE,SAAS;CACjB;;MCMY,sBAAsB,CAAA;IAMjC,WACS,CAAA,SAA+C,EACrB,IAAuB,EAAA;QADjD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsC;QACrB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AAExD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,mBAAmB,CAAC,iBAAiB,CAAC;QACzF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,gBAAgB,CAAC;QACtF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC;KACtD;AAdU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,gDAQvB,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AARd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yDCVnC,+ZAYA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,2BAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDFa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,+ZAAA,EAAA,MAAA,EAAA,CAAA,2DAAA,CAAA,EAAA,CAAA;;0BAY1B,MAAM;2BAAC,eAAe,CAAA;;;MEFd,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAA5B,4BAA4B,EAAA,YAAA,EAAA,CARxB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAM3B,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAL3E,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAOrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EAN5B,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE;AAC1C,YAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;AACxC,SAAA,EAAA,OAAA,EAAA,CACS,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE1E,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE;AAC1C,wBAAA,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,EAAE;AACxC,qBAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;AACvF,iBAAA,CAAA;;;ACfD;MA4Ba,mBAAmB,CAAA;AAdhC,IAAA,WAAA,GAAA;QAeiB,IAAK,CAAA,KAAA,GAAG,eAAe,CAAC;AAEvC;;;;;AAKG;QACM,IAAK,CAAA,KAAA,GAAI,EAAE,CAAC;AAUrB;;;;;AAKG;QACM,IAAW,CAAA,WAAA,GAAI,EAAE,CAAC;AAE3B;;;;;AAKG;QACM,IAAE,CAAA,EAAA,GAAI,EAAE,CAAC;AAsDlB;;;;;AAKG;QACM,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAE9B;;AAEG;AACH,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAE1B;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,MAAK,GAAG,CAAC;AAEnB;;;;;AAKG;AACO,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAiB,CAAC;QAEtD,IAAK,CAAA,KAAA,GAAG,IAAI,SAAS,CAAC;AACpB,YAAA,KAAK,EAAE,IAAI,WAAW,CAAc,IAAI,CAAC;AACzC,YAAA,GAAG,EAAE,IAAI,WAAW,CAAc,IAAI,CAAC;AACxC,SAAA,CAAC,CAAC;AA6EJ,KAAA;AArJC;;;;;AAKG;IACH,IAAa,MAAM,CAAC,MAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KAC5C;AAmED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,OAAO,IAAI,CAAC,OAAO,GAAG,yBAAyB,GAAG,YAAY,CAAC;AAChE,SAAA;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;;;IAID,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AACpE,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,KAAqB,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;IAED,eAAe,CAAC,KAAa,EAAE,GAAW,EAAA;QACxC,IAAI,KAAK,IAAI,GAAG,EAAE;AAChB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC/C,SAAA;KACF;IAEO,QAAQ,GAAA;AACd,QAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClC,YAAA,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,YAAA,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,aAAA;AACD,YAAA,IAAI,GAAG,EAAE;AACP,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,aAAA;AACF,SAAA;KACF;IAEO,QAAQ,CAAC,KAAa,EAAE,GAAW,EAAA;AACzC,QAAA,OAAO,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,EAAE,CAAC;KAC1B;+GAhMU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBH,wvDAkCA,EAAA,MAAA,EAAA,CAAA,0qIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA5B,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDNa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGV,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wvDAAA,EAAA,MAAA,EAAA,CAAA,0qIAAA,CAAA,EAAA,CAAA;8BAGhC,KAAK,EAAA,CAAA;sBAAnB,WAAW;gBAQH,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAQG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAQG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAWG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAQG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAkBI,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MElHI,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAzB,yBAAyB,EAAA,YAAA,EAAA,CAdrB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;YACnB,mBAAmB;AACnB,YAAA,mBAAmB,aAGX,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAElB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAZlC,YAAY;YACZ,kBAAkB;YAClB,cAAc;YACd,mBAAmB;YACnB,WAAW;YACX,mBAAmB;YACnB,mBAAmB;YACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAfrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,kBAAkB;wBAClB,cAAc;wBACd,mBAAmB;wBACnB,WAAW;wBACX,mBAAmB;wBACnB,mBAAmB;wBACnB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;MCdY,eAAe,CAAA;IAU1B,IAAa,MAAM,CAAC,MAAc,EAAA;AAChC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;aAClD,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;KACrB;AAID,IAAA,WAAA,GAAA;QAjBiB,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QACf,IAAc,CAAA,cAAA,GAAG,CAAC,CAAC;QACpC,IAAK,CAAA,KAAA,GAAa,EAAE,CAAC;;QAKZ,IAAK,CAAA,KAAA,GAAyB,OAAO,CAAC;QACtC,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAOb,QAAA,IAAA,CAAA,WAAW,GAAyB,IAAI,YAAY,EAAU,CAAC;AAGvE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;KACnC;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAED,IAAA,OAAO,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;KAC7B;+GA7BU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,8KCV5B,sUAKA,EAAA,MAAA,EAAA,CAAA,irBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzB,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FDKa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sUAAA,EAAA,MAAA,EAAA,CAAA,irBAAA,CAAA,EAAA,CAAA;0EAQtC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAMI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEjBI,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAJjB,YAAA,EAAA,CAAA,eAAe,CACpB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;MCQY,eAAe,CAAA;AAZ5B,IAAA,WAAA,GAAA;AAaE;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;;AAMG;QACM,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAE1B;;;;;AAKG;AACO,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAW,CAAC;AA2BvC,QAAA,IAAA,CAAA,QAAQ,GAAe,MAAK,GAAG,CAAC;AAChC,QAAA,IAAA,CAAA,SAAS,GAAe,MAAK,GAAG,CAAC;AAC1C,KAAA;IA3BC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAA;KACF;AAED,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACvB,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;+GAlDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EARf,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdH,2LAQA,EAAA,MAAA,EAAA,CAAA,snBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDQa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAZ3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGV,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,qBAAqB,CAAC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,2LAAA,EAAA,MAAA,EAAA,CAAA,snBAAA,CAAA,EAAA,CAAA;8BAUQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBASG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEjCI,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,eAAe,CAAA,EAAA,OAAA,EAAA,CACpB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;AAEX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAFtB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAEX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe,CAAC;oBAC/B,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACLD,IAAY,UAIX,CAAA;AAJD,CAAA,UAAY,UAAU,EAAA;AACpB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAJW,UAAU,KAAV,UAAU,GAIrB,EAAA,CAAA,CAAA,CAAA;AAEM,MAAM,QAAQ,GAA6B;AAChD,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,KAAK,EAAE,IAAI;CACZ;;MCPY,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClD,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnE,SAAA;AAAM,aAAA;YACL,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAA,EAAG,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA,CAAE,CAAC;AACzF,SAAA;KACF;+GATU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA,CAAA;;;MCIY,eAAe,CAAA;AAL5B,IAAA,WAAA,GAAA;AAME;;;;;AAKG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;AACjC;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;AAEvB;;;;AAIG;QACM,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AAEnB;;;;AAIG;QACM,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAE1B;;;;AAIG;QACM,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAE5B;;;;AAIG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ,CAAC;QAEvC,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;QACpB,IAAU,CAAA,UAAA,GAAG,UAAU,CAAC;AASnC,KAAA;IAPW,aAAa,GAAA;AACrB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,UAAU,GAAG,WAAW,GAAG,eAAe,CAAC;KACxD;+GApDU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,8MCR5B,2cAaA,EAAA,MAAA,EAAA,CAAA,wrCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAc,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAe,gBAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FDLa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,2cAAA,EAAA,MAAA,EAAA,CAAA,wrCAAA,CAAA,EAAA,CAAA;8BAWZ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAMG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAOG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAOG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAOG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAOI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MErCI,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAArB,qBAAqB,EAAA,YAAA,EAAA,CAJjB,eAAe,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACtC,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACnD,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;AAEd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAHtB,OAAA,EAAA,CAAA,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGlD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;AACjD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;oBAC9D,OAAO,EAAE,CAAC,eAAe,CAAC;AAC3B,iBAAA,CAAA;;;ACXD;AAEA;AACA;;ACHA;;AAEG;;;;"}
1
+ {"version":3,"file":"testgorilla-tgo-ui.mjs","sources":["../../../src/utils/alert-bars.utils.ts","../../../src/components/icon/icon.config.ts","../../../src/components/icon/icon.component.ts","../../../src/components/icon/icon.component.html","../../../src/components/button/button.component.ts","../../../src/components/button/button.component.html","../../../src/components/alert-banner/alert-banner.component.ts","../../../src/components/alert-banner/alert-banner.component.html","../../../src/components/icon/icon.component.module.ts","../../../src/components/button/button.component.module.ts","../../../src/components/alert-banner/alert-banner.component.module.ts","../../../src/components/banner-action/banner-action.component.ts","../../../src/components/banner-action/banner-action.component.html","../../../src/components/banner-action/banner-action.component.module.ts","../../../src/components/logo/logo.model.ts","../../../src/components/logo/logo.component.ts","../../../src/components/logo/logo.component.html","../../../src/components/card/card.component.ts","../../../src/components/card/card.component.html","../../../src/components/logo/logo.component.module.ts","../../../src/components/card/card.component.module.ts","../../../src/components/checkbox/checkbox.component.ts","../../../src/components/checkbox/checkbox.component.html","../../../src/components/checkbox/checkbox.component.module.ts","../../../src/utils/validators.utils.ts","../../../src/components/create-account/create-account.constant.ts","../../../src/directives/digits-only.directive.ts","../../../src/components/field/field.component.ts","../../../src/components/field/field.component.html","../../../src/components/create-account/create-account.component.ts","../../../src/components/create-account/create-account.component.html","../../../src/components/field/field.component.module.ts","../../../src/components/create-account/create-account.component.module.ts","../../../src/components/create-password/create-password.constant.ts","../../../src/components/create-password/create-password.component.ts","../../../src/components/create-password/create-password.component.html","../../../src/components/create-password/create-password.component.module.ts","../../../src/components/dialog/dialog.component.ts","../../../src/components/dialog/dialog.component.html","../../../src/components/dialog/dialog.service.ts","../../../src/components/dialog/dialog.component.module.ts","../../../src/components/elevation-shadow/elevation-shadow.constant.ts","../../../src/components/elevation-shadow/elevation-shadow.component.ts","../../../src/components/elevation-shadow/elevation-shadow.component.html","../../../src/components/elevation-shadow/elevation-shadow.component.module.ts","../../../src/components/progress-bar/progress-bar.component.ts","../../../src/components/progress-bar/progress-bar.component.html","../../../src/directives/drag-drop.directive.ts","../../../src/components/file-upload/file-upload.component.ts","../../../src/components/file-upload/file-upload.component.html","../../../src/components/progress-bar/progress-bar.component.module.ts","../../../src/components/file-upload/file-upload.component.module.ts","../../../src/components/forgot-password/forgot-password.constant.ts","../../../src/components/forgot-password/forgot-password.component.ts","../../../src/components/forgot-password/forgot-password.component.html","../../../src/components/forgot-password/forgot-password.component.module.ts","../../../src/components/icon-label/icon-label.component.ts","../../../src/components/icon-label/icon-label.component.html","../../../src/components/icon-label/icon-label.component.module.ts","../../../src/components/label/label.model.ts","../../../src/components/label/label.component.ts","../../../src/components/label/label.component.html","../../../src/components/label/label.component.module.ts","../../../src/components/login/login.constant.ts","../../../src/components/login/login.component.ts","../../../src/components/login/login.component.html","../../../src/components/login/login.component.module.ts","../../../src/components/navbar/navbar.component.ts","../../../src/components/navbar/navbar.component.html","../../../src/components/navbar/navbar.component.module.ts","../../../src/components/navigation/navigation.component.ts","../../../src/components/navigation/navigation.component.html","../../../src/components/navigation/navigation.component.module.ts","../../../src/components/paginator/paginator.component.ts","../../../src/components/paginator/paginator.component.html","../../../src/components/paginator/paginator.component.module.ts","../../../src/components/radio-button/radio-button.component.ts","../../../src/components/radio-button/radio-button.component.html","../../../src/components/radio-button/radio-button.component.module.ts","../../../src/utils/localization/language.service.ts","../../../src/components/snackbar/snackbar.component.ts","../../../src/components/snackbar/snackbar.component.html","../../../src/components/snackbar/snackbar.service.ts","../../../src/components/snackbar/snackbar.component.module.ts","../../../src/components/table/pipes/data-property-getter.ts","../../../src/components/table/table.model.ts","../../../src/components/table/directives/dynamic-component.directive.ts","../../../src/components/table/table.component.ts","../../../src/components/table/table.component.html","../../../src/components/table/table.component.module.ts","../../../src/components/tag/tag.component.ts","../../../src/components/tag/tag.component.html","../../../src/components/tooltip/tooltip.model.ts","../../../src/components/tooltip/tooltip.component.ts","../../../src/components/tooltip/tooltip.component.html","../../../src/components/tooltip/tooltip.component.module.ts","../../../src/components/tag/tag.component.module.ts","../../../src/components/dropdown/dropdown.component.ts","../../../src/components/dropdown/dropdown.component.html","../../../src/components/dropdown/dropdown.component.module.ts","../../../src/components/spinner/spinner.component.ts","../../../src/components/spinner/spinner.component.html","../../../src/components/spinner/spinner.module.ts","../../../src/components/confirm-dialog/confirm-dialog.constants.ts","../../../src/components/confirm-dialog/confirm-dialog.component.ts","../../../src/components/confirm-dialog/confirm-dialog.component.html","../../../src/components/confirm-dialog/confirm-dialog.component.module.ts","../../../src/components/datepicker/datepicker.component.ts","../../../src/components/datepicker/datepicker.component.html","../../../src/components/datepicker/datepicker.component.module.ts","../../../src/components/rating/rating.component.ts","../../../src/components/rating/rating.component.html","../../../src/components/rating/rating.component.module.ts","../../../src/components/toggle/toggle.component.ts","../../../src/components/toggle/toggle.component.html","../../../src/components/toggle/toggle.component.module.ts","../../../src/components/avatar/avatar.model.ts","../../../src/pipes/name-initials.pipe.ts","../../../src/components/avatar/avatar.component.ts","../../../src/components/avatar/avatar.component.html","../../../src/components/avatar/avatar.component.module.ts","../../../src/utils/autocomplete-utils.ts","../../../src/components/autocomplete/autocomplete.model.ts","../../../src/directives/select-text.directive.ts","../../../src/components/autocomplete/transform-Item.pipe.ts","../../../src/components/autocomplete/includes.pipe.ts","../../../src/components/autocomplete/autocomplete.component.ts","../../../src/components/autocomplete/autocomplete.component.html","../../../src/components/autocomplete/autocomplete.component.module.ts","../../../src/public-api.ts","../../../src/testgorilla-tgo-ui.ts"],"sourcesContent":["import { IconName } from '../components/icon/icon.model';\n\nexport const alertBarsUtil = {\n //Set css class and iconName according type\n setIcon: (alertType: string): IconName => {\n if (alertType === 'success') {\n return 'Round-check';\n }\n if (alertType === 'info') {\n return 'Info';\n }\n if (alertType === 'warning') {\n return 'Warning';\n }\n if (alertType === 'error') {\n return 'Error';\n }\n return '';\n },\n\n //Set cssClass for fixed or static position\n setPosition: (fixed: boolean): string => {\n if (fixed === true) {\n return 'fixed';\n } else {\n return 'static';\n }\n },\n\n //Set css class for alertbanner\n setCssClass: (fullWidth: boolean, type: string, position: string): string => {\n const isFullWidth = !!fullWidth ? 'full-width' : '';\n return `${type} ${position} ${isFullWidth}`;\n },\n};\n","// Data of all tgoIcons\nexport const tgoIcons = [\n 'Add',\n 'Archive',\n 'Arrow_down',\n 'Arrow_left',\n 'Arrow_right',\n 'Arrow_up',\n 'Assessment',\n 'Attempts',\n 'Book',\n 'Calendar',\n 'Candidates',\n 'Chat-notifications',\n 'Chat',\n 'Check',\n 'Clone',\n 'Close',\n 'Code',\n 'Company',\n 'Copy',\n 'Custom-questions',\n 'Delete',\n 'Devices',\n 'Document',\n 'Download',\n 'Edit',\n 'Email-message',\n 'Empty-placeholder',\n 'Error',\n 'Essay',\n 'Eye-hide',\n 'Eye-view',\n 'Feedback-1',\n 'Feedback-2',\n 'Feedback-3',\n 'Feedback-4',\n 'Feedback-5',\n 'File-attach',\n 'File-upload',\n 'Filter',\n 'Folder',\n 'Format-add-file',\n 'Format-add-table',\n 'Format-align-L',\n 'Format-align-R',\n 'Format-align-center',\n 'Format-align-justify',\n 'Format-bold',\n 'Format-code-active',\n 'Format-code-block',\n 'Format-edit-table',\n 'Format-format',\n 'Format-function',\n 'Format-italics',\n 'Format-list-bulleted',\n 'Format-list-numbered',\n 'Format-picker',\n 'Format-quote',\n 'Format-subscript',\n 'Format-superscript',\n 'Format-text-direction-L',\n 'Format-text-direction-R',\n 'Format-text-size',\n 'Format-underline',\n 'Format-variable',\n 'Full-screen',\n 'Gender-female',\n 'Gender-male',\n 'Help-2',\n 'Help',\n 'Image',\n 'Info',\n 'Integration',\n 'Language',\n 'Layout',\n 'Learn',\n 'Level',\n 'Light-bulb',\n 'Link',\n 'Loading-spinner',\n 'Localisation',\n 'Location',\n 'Lock',\n 'Log-out',\n 'Menu-burger',\n 'Menu-ellipsis',\n 'Microphone',\n 'Minus',\n 'Mouse-cursor',\n 'Mouse-grab-cursor',\n 'Mouse',\n 'Multi-choice',\n 'Notifications',\n 'Password',\n 'Path',\n 'Plan-billing',\n 'Plus',\n 'Premium',\n 'Promotion',\n 'Question-count',\n 'Refer',\n 'Reset',\n 'Review',\n 'Round-check-filled',\n 'Round-check',\n 'Search',\n 'Secure-checkout',\n 'Send',\n 'Settings',\n 'Social-facebook',\n 'Social-instagram',\n 'Social-linkedin',\n 'Sorting-down-1',\n 'Sorting-down',\n 'Speedometer',\n 'Star-filled',\n 'Star-half',\n 'Star-outline',\n 'Support',\n 'Sync',\n 'Team',\n 'Test',\n 'Thunder',\n 'Timer',\n 'Type',\n 'Unarchive',\n 'Unlock',\n 'Upgrade',\n 'Upload',\n 'User-access',\n 'User-add',\n 'User-invite',\n 'User-profile',\n 'User-reject',\n 'User-switch',\n 'Video-pause',\n 'Video-play',\n 'Video-record',\n 'Video',\n 'Volume',\n 'Warning',\n 'Zoom-in',\n 'Zoom-out',\n] as const;\n","import { Component, Input, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { tgoIcons } from './icon.config';\nimport { IconColor, IconName, IconSize } from './icon.model';\n\n@Component({\n selector: 'ui-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent implements OnInit {\n /**\n * Icon size\n *\n * @type {IconSize}\n * @memberof IconComponent\n */\n @Input() size: IconSize = '16';\n\n /**\n * Icon css class\n *\n * @memberof IconComponent\n */\n @Input() cssClass = '';\n\n /**\n * Icon name\n *\n * @type {IconName}\n * @memberof IconComponent\n */\n @Input() name: IconName;\n\n /**\n * Icon color\n *\n * @type {IconColor}\n * @memberof IconComponent\n */\n @Input() color?: IconColor = 'black';\n\n customCssClass: string;\n\n constructor(private matIconRegistry: MatIconRegistry, private domSanitzer: DomSanitizer) {}\n\n ngOnInit(): void {\n this.customCssClass = this.setCssClass();\n this.addIcon();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['size'] || changes['cssClass'] || changes['color'] ) {\n this.customCssClass = this.setCssClass();\n }\n if (changes['name']) {\n this.addIcon();\n }\n }\n\n //set css class for size\n setCssClass(): string {\n return `${this.cssClass} size-${this.size} ${this.color}`;\n }\n\n //Add icon to matIcon registry\n addIcon() {\n const filename = tgoIcons.find(icon => icon === this.name);\n if (filename) {\n this.matIconRegistry.addSvgIcon(\n filename,\n this.domSanitzer.bypassSecurityTrustResourceUrl(`/icons/${filename}.svg`)\n );\n }\n }\n}\n","<mat-icon [svgIcon]=\"name\" [attr.class]=\"customCssClass\"></mat-icon>\n","/* eslint-disable @angular-eslint/use-lifecycle-interface */\nimport { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { ButtonColor, ButtonIconPosition, ButtonSize, LinkUrlTarget } from './button.model';\n\n@Component({\n selector: 'ui-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent implements OnInit {\n /**\n * Define button height\n *\n * @type {ButtonSize}\n * @memberof ButtonComponent\n */\n @Input() size: ButtonSize = 'big';\n /**\n * Background color of the button while in active state\n *\n * @type {ButtonColor}\n * @memberof ButtonComponent\n */\n @Input() type: ButtonColor = 'primary';\n\n /**\n * Text content to appear on the button\n *\n * @memberof ButtonComponent\n */\n @Input() label = '';\n\n /**\n * Positioning of the icon (when existant)\n *\n * @type {ButtonIconPosition}\n * @memberof ButtonComponent\n */\n @Input() iconPosition?: ButtonIconPosition = 'right';\n\n /**\n * Define if button has only icon without text\n *\n * @memberof ButtonComponent\n */\n @Input() justIcon = false;\n\n /**\n * Name of ui-icon\n *\n * @type {IconName}\n * @memberof ButtonComponent\n */\n @Input() iconName: IconName = '';\n\n /**\n * Indicator if the button should be disabled\n *\n * @memberof ButtonComponent\n */\n @Input() disabled = false;\n\n /**\n * Indicator if the loading icon should be shown\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n * Indicator of the button width\n *\n * @memberof ButtonComponent\n */\n @Input() fullWidth = false;\n\n /**\n * Url of button if it is a link\n *\n * @memberof ButtonComponent\n */\n @Input() url?: string;\n\n /**\n * Url's target of button if it is a link\n *\n * @type {@type {LinkUrlTarget}}\n * @memberof ButtonComponent\n */\n @Input() urlTarget?: LinkUrlTarget;\n\n /**\n * Button value\n *\n * @memberof ButtonComponent\n */\n @Input() value?: string;\n\n @Output() buttonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n @Output() buttonHoverEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n constructor() {}\n\n classCss: string;\n isButtonLink: boolean;\n isLabel: boolean;\n\n ngOnInit(): void {\n this.classCss = this.setCssClass();\n this.isButtonLink = this.showButtonLink();\n this.isLabel = this.showLabel();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['type']) {\n this.isButtonLink = this.showButtonLink();\n }\n if (changes['loading']) {\n this.isLabel = this.showLabel();\n }\n if (\n changes['type'] ||\n changes['fullWidth'] ||\n changes['iconName'] ||\n changes['justIcon'] ||\n changes['iconPosition']\n ) {\n this.classCss = this.setCssClass();\n }\n }\n\n buttonClick(event: Event): void {\n this.buttonClickEvent.emit(event);\n }\n\n buttonHover(event: Event): void {\n this.buttonHoverEvent.emit(event);\n }\n\n //Show or hide label\n showLabel(): boolean {\n return !this.loading;\n }\n\n //Set css class according inputs\n setCssClass(): string {\n const width = this.fullWidth ? 'full-width' : '';\n const hasIcon = this.iconName === null ? '' : 'icon';\n const justIcon = this.justIcon ? 'only-icon' : '';\n const iconPosition = this.iconPosition === undefined ? '' : this.iconPosition;\n return `${this.size} ${iconPosition} ${this.type} ${width} ${hasIcon} ${justIcon}`;\n }\n\n //Show or hide spinner\n showSpinner(): boolean {\n const isNotTab = this.type !== 'tab';\n const isNotLink = this.type !== 'link';\n const isLoading = this.loading === true;\n return isLoading && isNotTab && isNotLink;\n }\n\n //Show button with <button> or <a> tag\n showButtonLink(): boolean {\n return this.type !== 'link';\n }\n}\n","<button\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"isButtonLink\"\n mat-flat-button>\n <span class=\"icon-only-wrapper\" *ngIf=\"justIcon === true && !!iconName\">\n <span class=\"icon only\" role=\"label\" [attr.aria-label]=\"label\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n </span>\n <span class=\"icon-label-wrapper\" [ngClass]=\"{'center-text': iconName === ''}\" *ngIf=\"justIcon === false\">\n <span class=\"icon\" *ngIf=\"iconPosition === 'left' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span *ngIf=\"isLabel\" class=\"label\">{{ label }}</span>\n <span class=\"icon\" *ngIf=\"iconPosition === 'right' && !!iconName\" aria-hidden=\"true\"><ui-icon [name]=\"iconName\" size=\"24\"></ui-icon></span>\n <span class=\"spinner-wrapper\" *ngIf=\"showSpinner()\">\n <mat-spinner class=\"position-spinner\" aria-label=\"loading\" mode=\"indeterminate\" diameter=\"24\"></mat-spinner>\n </span>\n </span>\n</button>\n<a\n [ngClass]=\"classCss\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick($event)\"\n (mouseenter)=\"buttonHover($event)\"\n [disableRipple]=\"true\"\n *ngIf=\"!isButtonLink\" \n [href]=\"url\" \n [target]=\"urlTarget\"\n mat-flat-button>\n <span class=\"icon-label-wrapper\">\n {{ label }}\n </span>\n</a>\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { AlertBarType } from '../../utils/alert-bar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\nimport { LinkTargetType } from './alert-banner.model';\n\n@Component({\n selector: 'ui-alert-banner',\n templateUrl: './alert-banner.component.html',\n styleUrls: ['./alert-banner.component.scss'],\n animations: [\n trigger('openClose', [\n transition(':enter', [animate('0.2s ease-out', style({ opacity: 1 }))]),\n transition(':leave', [animate('0.2s ease-in', style({ opacity: 0 }))]),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AlertBannerComponent implements OnInit {\n constructor() {}\n\n /**\n * Alert Banner type\n *\n * @type {AlertBarType}\n * @memberof AlertBannerComponent\n */\n @Input() alertType: AlertBarType = 'success';\n\n /**\n * Alert banner message\n *\n * @memberof AlertBannerComponent\n */\n @Input() message = '';\n\n /**\n * Include dismmiss button\n *\n * @memberof AlertBannerComponent\n */\n @Input() includeDismissButton = true;\n\n /**\n * Static or fixed position\n *\n * @memberof AlertBannerComponent\n */\n @Input() fixed = false;\n\n /**\n * Full width for alert banner\n *\n * @memberof AlertBannerComponent\n */\n @Input() fullWidth = true;\n\n /**\n * Link text that will appended at the end of message\n *\n * @memberof AlertBannerComponent\n */\n @Input() linkText? = '';\n\n /**\n * Link url\n *\n * @memberof AlertBannerComponent\n */\n @Input() linkUrl?: string;\n\n /**\n * Link target\n *\n * @type {@type {LinkTargetType}}\n * @memberof AlertBannerComponent\n */\n @Input() linkTarget?: LinkTargetType = '_blank';\n\n iconName: IconName;\n visible = true;\n position: string;\n cssClass: string;\n\n ngOnInit(): void {\n this.iconName = alertBarsUtil.setIcon(this.alertType);\n this.position = alertBarsUtil.setPosition(this.fixed);\n this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.alertType, this.position);\n }\n\n //Hide snackbar when dismiss button is clicked\n dismissClick() {\n this.visible = false;\n }\n}\n","<div [ngClass]=\"cssClass\" [@openClose] *ngIf=\"visible\" class=\"alert-container\">\n <div class=\"alert-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { IconComponent } from './icon.component';\n\n@NgModule({\n declarations: [IconComponent],\n imports: [CommonModule, MatIconModule, HttpClientModule],\n exports: [IconComponent],\n providers: [HttpClientModule],\n})\nexport class IconComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { IconComponentModule } from '../../components/icon/icon.component.module';\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n imports: [CommonModule, MatButtonModule, IconComponentModule, MatProgressSpinnerModule],\n exports: [ButtonComponent],\n providers: [],\n})\nexport class ButtonComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { AlertBannerComponent } from './alert-banner.component';\n\n@NgModule({\n declarations: [AlertBannerComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule],\n exports: [AlertBannerComponent],\n})\nexport class AlertBannerComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { IconName } from '../../components/icon/icon.model';\nimport { AlertBarType } from '../../utils/alert-bar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\n\n@Component({\n selector: 'ui-banner-action',\n templateUrl: './banner-action.component.html',\n styleUrls: ['./banner-action.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BannerActionComponent implements OnInit {\n /**\n * BannerAction text\n *\n * @memberof BannerActionComponent\n */\n @Input() message? = '';\n\n /**\n * BannerAction type\n *\n * @type {AlertBarType}\n * @memberof BannerActionComponent\n */\n @Input() bannerActionType: AlertBarType = 'success';\n\n /**\n * BannerAction button label\n *\n * @memberof BannerActionComponent\n */\n @Input() buttonText: string;\n\n /**\n * Static or fixed position\n *\n * @memberof AlertBannerComponent\n */\n @Input() fixed = false;\n\n /**\n * Full width for alert banner\n *\n * @memberof AlertBannerComponent\n */\n @Input() fullWidth = true;\n\n /**\n * BannerAction button icon\n *\n * @memberof BannerActionComponent\n */\n @Input() buttonIcon: IconName;\n\n @Output() buttonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n iconName: IconName;\n position: string;\n cssClass: string;\n\n constructor() {}\n\n buttonClick(event: Event): void {\n this.buttonClickEvent.emit(event);\n }\n\n ngOnInit(): void {\n this.iconName = alertBarsUtil.setIcon(this.bannerActionType);\n this.position = alertBarsUtil.setPosition(this.fixed);\n this.cssClass = alertBarsUtil.setCssClass(this.fullWidth, this.bannerActionType, this.position);\n }\n}\n","<div id=\"banner-action\" class=\"banner-action-container\" [ngClass]=\"cssClass\">\n <div class=\"banner-action-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button [label]=\"buttonText\" (buttonClickEvent)=\"buttonClick($event)\" [iconName]=\"buttonIcon\"></ui-button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { BannerActionComponent } from './banner-action.component';\n\n@NgModule({\n declarations: [BannerActionComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule],\n exports: [BannerActionComponent],\n providers: [],\n})\nexport class BannerActionComponentModule {}\n","export enum LogoTypeEnum {\n DEFAULT = 'default',\n POWEREDBY = 'poweredby',\n REVERSE = 'reverse',\n};\n\nexport enum LogoPathEnum {\n DEFAULT = '/images/testgorilla.svg',\n POWEREDBY = '/images/poweredbyTG.svg',\n REVERSE = '/images/reverseTG.svg',\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LogoPathEnum, LogoTypeEnum } from './logo.model';\n\n@Component({\n selector: 'ui-logo',\n templateUrl: './logo.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LogoComponent {\n /**\n * Logo type\n *\n * @type {LogoTypeEnum}\n * @memberof LogoComponent\n */\n @Input() type: LogoTypeEnum = LogoTypeEnum.DEFAULT;\n\n /**\n * @ignore\n */\n logoURL: String;\n\n /**\n * @ignore\n */\n setURL = () => {\n switch(this.type) {\n case LogoTypeEnum.POWEREDBY: {\n this.logoURL = LogoPathEnum.POWEREDBY;\n break;\n }\n case LogoTypeEnum.REVERSE: {\n this.logoURL = LogoPathEnum.REVERSE;\n break;\n }\n default: {\n this.logoURL = LogoPathEnum.DEFAULT;\n break;\n }\n }\n };\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n this.setURL();\n };\n\n /**\n * @ignore\n */\n ngOnChanges(): void {\n this.setURL();\n }\n}\n","<img [src]=\"logoURL\" [alt]=\"type\">\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ui-card',\n templateUrl: './card.component.html',\n styleUrls: ['./card.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CardComponent {\n @Input() title = '';\n @Input() subTitle = '';\n\n}\n","<mat-card appearance=\"outlined\" class=\"container\">\n <ui-logo class=\"logo\"></ui-logo>\n <mat-card-title>{{title}}</mat-card-title>\n <mat-card-subtitle>{{subTitle}}</mat-card-subtitle>\n</mat-card>\n","import { NgModule } from '@angular/core';\nimport { LogoComponent } from './logo.component';\n\n@NgModule({\n declarations: [LogoComponent],\n imports: [],\n exports: [LogoComponent],\n})\nexport class LogoComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CardComponent } from './card.component';\n\n@NgModule({\n declarations: [CardComponent],\n imports: [CommonModule, MatCardModule, LogoComponentModule],\n exports: [CardComponent],\n})\nexport class CardComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, OnInit, Output, SimpleChanges, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\n\n@Component({\n selector: 'ui-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CheckboxComponent implements OnInit, ControlValueAccessor {\n /**\n * Determines whether the checkbox is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() disabled = false;\n\n /**\n * Determines whether the checkbox is checked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() checked = false;\n\n /**\n * Determines whether the checkbox is indeterminate.\n * It can be used to represent a checkbox with three states, e.g. a checkbox that represents a nested list of checkable items.\n * Default: false.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() indeterminate = false;\n\n /**\n * Determines whether the checkbox color.\n * Default: Test Gorilla primary color.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @HostBinding('style.--color')\n @Input() color = '#46A997';\n\n /**\n * Name value will be applied to the input element if present.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @Input() name = '';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof CheckboxComponent\n */\n @Input() label = '';\n\n /**\n * Determines whether the checkbox is a multiple choice cell.\n * Default: false\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Input() multiple = false;\n\n /**\n * Event emitted when the checkbox's checked value changes.\n *\n * @type {boolean}\n * @memberof CheckboxComponent\n */\n @Output() changed = new EventEmitter<boolean>();\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n classMultiple: string;\n\n emitChange(event: MatCheckboxChange): void {\n this.changed.emit(event.checked);\n }\n\n ngOnInit() {\n this.classMultiple = this.setClass();\n }\n\n toggleChecked(event: MatCheckboxChange): void {\n this.changed.emit(event.checked);\n this.checked = event.checked;\n this.onTouch();\n this.onChange(this.checked);\n if (!this.disabled) {\n this.indeterminate = false;\n this.classMultiple = this.setClass();\n }\n }\n\n setClass(): string {\n if (this.multiple) {\n return this.checked || this.indeterminate ? 'multiple-checked' : 'multiple-unchecked';\n }\n return '';\n }\n\n writeValue(value: boolean): void {\n this.checked = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div [ngClass]=\"classMultiple\">\n <mat-checkbox\n [indeterminate]=\"indeterminate\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n (change)=\"toggleChecked($event)\"\n [aria-label]=\"label\"\n class=\"checkbox\"\n >\n {{ label }}\n </mat-checkbox>\n</div>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { CheckboxComponent } from './checkbox.component';\n\n@NgModule({\n declarations: [CheckboxComponent],\n imports: [CommonModule, MatCheckboxModule, FormsModule, ReactiveFormsModule],\n exports: [CheckboxComponent],\n})\nexport class CheckboxComponentModule {}\n","import { ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\n\nconst PASSWORD_REGEX = /^(?=\\D*\\d)(?=[^a-z]*[a-z])(?=.*[#$%&'()*+,\\-./:;<=>?@!^_~|\"`{}\\[\\]])(?=[^A-Z]*[A-Z]).{12,}$/;\n\nexport class ValidatorsUtil {\n public static validatePassword(): ValidationErrors | ValidatorFn[] {\n return [Validators.required, Validators.minLength(12), Validators.pattern(PASSWORD_REGEX)];\n }\n}\n","export const CREATE_ACCOUNT_i18n = {\n title: 'Create your Career Passport',\n subtitle: 'Enter the email address to which you received an assessment invite.',\n email_label: 'Email',\n password_label: 'Password',\n terms_conditions: 'I have read and accepted the ',\n terms_conditions_link_label: 'candidate terms',\n privacy_policy_link_label: 'privacy policy',\n terms_conditions_delimiter: 'and',\n button_label: 'Next',\n have_career_passport: 'Already have a Career Passport?',\n login: 'Log in here',\n};\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[digitsOnly]',\n})\nexport class DigitsOnlyDirective {\n constructor(private el: ElementRef) {}\n\n @Input() allowNegative = false;\n @Input() allowDecimal = false;\n @Input() allowOnlyDigits = false;\n regex: RegExp;\n\n @HostListener('keypress', ['$event'])\n onKeyPress(event: KeyboardEvent) {\n this.validate(event, event.key);\n }\n\n @HostListener('paste', ['$event'])\n onPaste(event: Event) {\n const pastedText = <ClipboardEvent>event && (<ClipboardEvent>event)?.clipboardData?.getData('text/plain'); // Non-IE browsers\n this.validate(event, pastedText || '');\n }\n\n validate(event: Event, text: string) {\n if (this.allowOnlyDigits) {\n const txtInput = this.el.nativeElement;\n const newValue =\n txtInput.value.substring(0, txtInput.selectionStart) + text + txtInput.value.substring(txtInput.selectionEnd);\n if (!this.regex) {\n this.regex = // eslint-disable-next-line no-eval\n eval(\n `/^${this.allowNegative ? '-?' : ''}${this.allowDecimal ? '((\\\\d+\\\\.?)|(\\\\.?))\\\\d*' : '\\\\d*'}$/g`\n ) as RegExp;\n }\n if (!newValue.match(this.regex)) {\n event.preventDefault();\n return;\n }\n }\n }\n}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FieldType } from '../../components/field/field.model';\n\n@Component({\n selector: 'ui-field',\n templateUrl: './field.component.html',\n styleUrls: ['./field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FieldComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FieldComponent implements OnInit, ControlValueAccessor {\n @HostBinding() class = 'ui-field';\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() value = '';\n\n _errors: string[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors;\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof FieldComponent\n */\n @Input() required: boolean;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof FieldComponent\n */\n @Input() hintMessage = '';\n\n /**\n * Input type\n *\n * @type {FieldType}\n * @memberof FieldComponent\n */\n @Input() type: FieldType = 'text';\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * allow only digits in input\n *\n * @type {Boolean}\n * @memberof FieldComponent\n */\n @Input() allowOnlyDigits = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor() {}\n\n showSearch: boolean;\n showClose: boolean;\n showPassword: boolean;\n currentType: string;\n errorsLength: boolean;\n\n ngOnInit(): void {\n this.setSearchInput();\n this.currentType = this.getType();\n }\n\n //set search input initial value\n setSearchInput(): void {\n if (this.type === 'search') {\n this.showSearch = true;\n } else {\n this.showClose = false;\n this.showSearch = false;\n }\n }\n\n //change type for reveal password\n getType(): string {\n if (this.type === 'password' && this.showPassword) {\n return 'text';\n }\n return this.type;\n }\n\n //Clear input value\n clearValue(): void {\n this.value = '';\n this.onChangeInputSearch();\n }\n\n //toggle for password\n showPasswordClick() {\n this.showPassword = !this.showPassword;\n this.currentType = this.getType();\n }\n\n //Set options for search input\n onChangeInputSearch() {\n if (this.type === 'search') {\n if (!this.value) {\n this.showClose = false;\n this.showSearch = true;\n }\n if (this.value) {\n this.showClose = true;\n this.showSearch = false;\n }\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (!!this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n //Save input value\n onInput(event: any) {\n this.value = event.target.value;\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n this.onChange(this.value);\n }\n\n writeValue(value?: any): void {\n if (value) {\n this.value = value || '';\n } else {\n this.value = '';\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-form-field #uiField appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <input\n matInput\n (blur)=\"onTouch()\"\n (input)=\"onInput($event)\"\n [id]=\"id!\"\n (keyup)=\"onChangeInputSearch()\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [type]=\"currentType\"\n [name]=\"fieldName!\"\n digitsOnly\n [allowOnlyDigits]=\"allowOnlyDigits\"\n />\n <div class=\"options\" *ngIf=\"type === 'search' || type === 'password'\">\n <div class=\"options-container\">\n <ui-button\n *ngIf=\"showClose\"\n type=\"secondary\"\n [justIcon]=\"true\"\n class=\"close\"\n iconName=\"Close\"\n label=\"Clear\"\n (buttonClickEvent)=\"clearValue()\"\n ></ui-button>\n <ui-icon *ngIf=\"showSearch\" size=\"24\" class=\"search\" name=\"Search\"></ui-icon>\n <ui-button\n *ngIf=\"type === 'password'\"\n type=\"secondary\"\n [justIcon]=\"true\"\n class=\"password\"\n [iconName]=\"showPassword ? 'Eye-hide' : 'Eye-view'\"\n label=\"View password\"\n (buttonClickEvent)=\"showPasswordClick()\"\n ></ui-button>\n </div>\n </div>\n <mat-hint class=\"info\" *ngIf=\"hintMessage && !_errors\">{{ hintMessage }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\"><ui-icon name=\"Error\"></ui-icon>{{ error }}</div>\n </mat-hint>\n</mat-form-field>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { ValidatorsUtil } from '../../utils/validators.utils';\nimport { CREATE_ACCOUNT_i18n } from './create-account.constant';\nimport { CreateAccountCredentials, Ii18nCreateAccount } from './create-account.model';\n\n@Component({\n selector: 'ui-create-account',\n templateUrl: './create-account.component.html',\n styleUrls: ['./create-account.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CreateAccountComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n @Input() email = '';\n\n /**\n * @ignore\n */\n @Input() emailEditable = true;\n /**\n * Path for candidate terms link\n * @memberof CreateAccountComponent\n */\n @Input() termsOfusePath = 'https://www.testgorilla.com/candidate-terms/';\n /**\n * Path for privacy policy link\n * @memberof CreateAccountComponent\n */\n @Input() privacyPolicyPath = 'https://www.testgorilla.com/privacy-policy/';\n\n /**\n * @ignore\n */\n registerForm = this.fb.group({\n username: ['', [Validators.required, Validators.email]],\n password: ['', ValidatorsUtil.validatePassword()],\n agree_terms_and_conditions: [false, [Validators.requiredTrue]],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n username: [''],\n password: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nCreateAccount}\n * @memberof CreateAccountComponent\n */\n @Input() i18n: Ii18nCreateAccount = CREATE_ACCOUNT_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<CreateAccountCredentials> = new EventEmitter<CreateAccountCredentials>();\n\n /**\n * @ignore\n */\n @Output() loginEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n if (this.email) {\n this.registerForm.get('username')?.setValue(this.email);\n }\n if (!this.emailEditable) {\n this.registerForm.get('username')?.disable();\n }\n }\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n username: this.registerForm.get('username')?.value,\n password: this.registerForm.get('password')?.value,\n });\n }\n\n login(): void {\n this.loginEvent.emit();\n }\n\n /**\n * @ignore\n */\n errorMessages: Record<string, string> = {\n email: 'Enter a valid email',\n required: 'This field is required',\n };\n\n /**\n * @ignore\n */\n passwordErrorMessages: Record<string, string> = {\n pattern: 'Password is invalid',\n };\n\n checkErrors(field: string) {\n const errorsMap = this.registerForm.controls[field].errors || {};\n const errors: string[] = [];\n for (const key in errorsMap) {\n if (errorsMap[key] && this.errorMessages[key]) {\n errors.push(this.errorMessages[key]);\n }\n }\n if (field === 'password') {\n for (const key in errorsMap) {\n if (errorsMap[key] && this.passwordErrorMessages[key]) {\n errors.push(this.passwordErrorMessages[key]);\n }\n }\n }\n this.formErrors[field as keyof typeof this.formErrors] = errors;\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <div class=\"subtitle\">{{ i18n.subtitle }}</div>\n <form [formGroup]=\"registerForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"username\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors['username']\"\n (ngModelChange)=\"checkErrors('username')\"\n ></ui-field>\n </div>\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors['password']\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <div class=\"password-strength-container\">\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"registerForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n </div>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div class=\"terms-conditions-container\">\n <ui-checkbox formControlName=\"agree_terms_and_conditions\" [label]=\"i18n.terms_conditions\"></ui-checkbox>\n <a class=\"link\" [href]=\"termsOfusePath\" target=\"_blank\">{{ i18n.terms_conditions_link_label }}</a>\n <span>{{i18n.terms_conditions_delimiter}}</span>\n <a class=\"link\" [href]=\"privacyPolicyPath\" target=\"_blank\">{{ i18n.privacy_policy_link_label }}</a>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"registerForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div>\n {{ i18n.have_career_passport }} <span class=\"link\" (click)=\"login()\">{{ i18n.login }}</span>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { ButtonComponentModule } from '../../components/button/button.component.module';\nimport { IconComponentModule } from '../../components/icon/icon.component.module';\nimport { DigitsOnlyDirective } from '../../directives/digits-only.directive';\nimport { FieldComponent } from './field.component';\n\n@NgModule({\n declarations: [FieldComponent, DigitsOnlyDirective],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n ],\n exports: [FieldComponent],\n providers: [],\n})\nexport class FieldComponentModule {}\n","import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { CheckboxComponentModule } from '../checkbox/checkbox.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CreateAccountComponent } from './create-account.component';\n\n@NgModule({\n declarations: [CreateAccountComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n CheckboxComponentModule,\n MatPasswordStrengthModule,\n LogoComponentModule,\n ],\n exports: [CreateAccountComponent],\n providers: [],\n})\nexport class CreateAccountComponentModule {}\n","export const CREATE_PASSWORD_i18n = {\n title: 'Please create a new password',\n password_label: 'Set password',\n button: 'Set new password',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder } from '@angular/forms';\nimport { ValidatorsUtil } from '../../utils/validators.utils';\nimport { CREATE_PASSWORD_i18n } from './create-password.constant';\nimport { CreatePasswordCredentials, Ii18nCreatePassword } from './create-password.model';\n\n@Component({\n selector: 'ui-create-password',\n templateUrl: './create-password.component.html',\n styleUrls: ['./create-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CreatePasswordComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n createPasswordForm = this.fb.group({\n password: ['', ValidatorsUtil.validatePassword()],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n password: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nCreatePassword}\n * @memberof CreatePasswordComponent\n */\n @Input() i18n: Ii18nCreatePassword = CREATE_PASSWORD_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<CreatePasswordCredentials> = new EventEmitter<CreatePasswordCredentials>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n password: this.createPasswordForm.get('password')?.value,\n });\n }\n\n checkErrors(field: string) {\n if (this.createPasswordForm.controls[field].touched) {\n if (this.createPasswordForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['This field is required'];\n return;\n }\n\n if (field === 'password' && this.createPasswordForm.controls[field].hasError('pattern')) {\n this.formErrors.password = ['Password is invalid'];\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = [''];\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"createPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"formErrors.password\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n <mat-password-strength\n [min]=\"12\"\n #passwordComponentWithValidation\n [password]=\"createPasswordForm.controls['password'].value\"\n aria-hidden=\"true\"\n >\n </mat-password-strength>\n <mat-password-strength-info [passwordComponent]=\"passwordComponentWithValidation\"> </mat-password-strength-info>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button\"\n [disabled]=\"createPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n </form>\n</div>\n","import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { CreatePasswordComponent } from './create-password.component';\n\n@NgModule({\n declarations: [CreatePasswordComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n MatPasswordStrengthModule,\n LogoComponentModule,\n ],\n exports: [CreatePasswordComponent],\n providers: [],\n})\nexport class CreatePasswordComponentModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { ButtonColor } from '../button/button.model';\n\n@Component({\n selector: 'ui-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DialogComponent implements OnInit, OnChanges {\n constructor(public dialogRef: MatDialogRef<DialogComponent>) {}\n\n /**\n * Dialog title\n *\n * @memberof DialogComponent\n */\n @Input() title? = '';\n\n /**\n * Show close button\n *\n * @memberof DialogComponent\n */\n @Input() showCloseButton = true;\n\n /**\n * Fuction called before dialgo is closed\n *\n * @memberof DialogComponent\n */\n @Input() canCloseFn: () => boolean = () => true;\n\n /**\n * Secondary button label\n *\n * @memberof DialogComponent\n */\n @Input() secondaryButtonLabel? = '';\n\n /**\n * Primary button label\n *\n * @memberof DialogComponent\n */\n @Input() primaryButtonLabel? = '';\n\n /**\n * Secondary button type\n *\n * @memberof DialogComponent\n */\n @Input() secondaryButtonType: ButtonColor = 'secondary';\n\n /**\n * Primary button type\n *\n * @memberof DialogComponent\n */\n @Input() primaryButtonType: ButtonColor = 'primary';\n\n @Output() closeEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() secondaryButtonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n @Output() primaryButtonClickEvent: EventEmitter<Event> = new EventEmitter<Event>();\n\n disableButtons = false;\n\n ngOnInit(): void {\n this.areButtonsDisabled();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['canCloseFn']) {\n this.dialogRef.disableClose = !this.canCloseFn();\n this.areButtonsDisabled();\n }\n }\n\n //Disable primary button when canClose is false\n areButtonsDisabled() {\n if (this.canCloseFn() === false) {\n this.disableButtons = true;\n } else {\n this.disableButtons = false;\n }\n }\n\n //Close modal\n dismiss(): void {\n if (this.canCloseFn()) {\n this.dialogRef.disableClose = false;\n this.dialogRef.close();\n }\n }\n\n onClose(event: Event): void {\n this.closeEvent.emit(event);\n }\n\n onSecondaryButtonClick(event: Event): void {\n this.secondaryButtonClickEvent.emit(event);\n }\n\n onPrimaryButtonClick(event: Event): void {\n this.primaryButtonClickEvent.emit(event);\n }\n}\n","<ng-container>\n <div mat-dialog-title class=\"dialog-title\">\n {{ title }}\n <div *ngIf=\"showCloseButton\">\n <ui-button\n type=\"text\"\n [justIcon]=\"true\"\n [disabled]=\"disableButtons\"\n class=\"close\"\n iconName=\"Close\"\n label=\"Close dialog\"\n (click)=\"onClose($event)\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n </div>\n <mat-dialog-content>\n <ng-content></ng-content>\n </mat-dialog-content>\n <div mat-dialog-actions *ngIf=\"secondaryButtonLabel !== '' || primaryButtonLabel !== ''\">\n <ui-button\n [type]=\"secondaryButtonType\"\n *ngIf=\"!!secondaryButtonLabel\"\n [label]=\"secondaryButtonLabel\"\n (click)=\"onSecondaryButtonClick($event)\"\n ></ui-button>\n <ui-button\n [type]=\"primaryButtonType\"\n *ngIf=\"!!primaryButtonLabel\"\n [disabled]=\"disableButtons\"\n (click)=\"onPrimaryButtonClick($event)\"\n [label]=\"primaryButtonLabel\"\n (buttonClickEvent)=\"dismiss()\"\n ></ui-button>\n </div>\n</ng-container>\n","import { ComponentType } from '@angular/cdk/portal';\nimport { Injectable } from '@angular/core';\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\n\n@Injectable()\nexport class DialogService {\n\n constructor(private matDialog: MatDialog) {}\n\n open(dialogComponent: ComponentType<any>): MatDialogRef<any> {\n // Open the dialog using UI custom styles\n return this.matDialog.open(dialogComponent, {\n panelClass: 'ui-dialog-wrapper',\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDialogModule, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { DialogComponent } from './dialog.component';\nimport { DialogService } from './dialog.service';\n\n@NgModule({\n declarations: [DialogComponent],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule],\n exports: [DialogComponent],\n providers: [{ provide: MAT_DIALOG_DATA, useValue: {} }, { provide: MatDialogRef, useValue: {} }, DialogService],\n})\nexport class DialogComponentModule {}\n","export enum ElevationType {\n DEFAULT = 'default',\n MODAL = 'modal'\n}","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ElevationType } from './elevation-shadow.constant';\n\n@Component({\n selector: 'ui-elevation-shadow',\n templateUrl: './elevation-shadow.component.html',\n styleUrls: ['./elevation-shadow.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ElevationShadowComponent {\n /**\n * The type of elevation shadow.\n * Default: default.\n *\n * @type {ElevationType}\n * @memberof ElevationShadowComponent\n */\n @Input() elevationType = ElevationType.DEFAULT;\n}\n","<div [ngClass]=\"elevationType\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ElevationShadowComponent } from './elevation-shadow.component';\n\n@NgModule({\n declarations: [ElevationShadowComponent],\n imports: [CommonModule],\n exports: [ElevationShadowComponent],\n})\nexport class ElevationShadowComponentModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'ui-progress-bar',\n templateUrl: './progress-bar.component.html',\n styleUrls: ['./progress-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressBarComponent {\n /**\n * Color of the progress bar.\n * Defaults to Test Gorilla primary color.\n *\n * @type {string}\n * @memberof ProgressBarComponent\n */\n @HostBinding('style.--color')\n @Input()\n color = '#46A997';\n\n /**\n * Progress value of the progress bar.\n * Defaults to zero.\n *\n * @type {number}\n * @memberof ProgressBarComponent\n */\n @Input() progress = 0;\n\n /**\n * Mode of the progress bar.\n * Mode must be one of these values: determinate, indeterminate, buffer, query.\n * Defaults to 'determinate'.\n *\n * @type {ProgressBarMode}\n * @memberof ProgressBarComponent\n */\n @Input() mode: ProgressBarMode = 'determinate';\n\n /**\n * Buffer value of the progress bar.\n * Defaults to zero.\n *\n * @type {number}\n * @memberof ProgressBarComponent\n */\n @Input() buffer = 0;\n\n constructor() {}\n}\n","<mat-progress-bar\n [mode]=\"mode\"\n [value]=\"progress\"\n [bufferValue]=\"buffer\"\n aria-label=\"Progress bar\"\n title=\"progress-bar\"\n class=\"progress-bar\"\n></mat-progress-bar>\n","import { Directive, EventEmitter, HostBinding, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[uiDragDrop]'\n})\nexport class DragDropDirective {\n constructor() { }\n\n @HostBinding('class.file-over') file: boolean;\n @Output() fileDropped = new EventEmitter<any>();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.file = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n this.file = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.file = false;\n let files: FileList;\n if (!!event.dataTransfer) {\n files = event.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ui-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FileUploadComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('inOutAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('inOutAnimationProgress', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n trigger('inOutAnimationChange', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, height: '196px' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '196px' }),\n animate('0.2s ease-in', style({ opacity: 0, height: 0 })),\n ]),\n ]),\n ],\n})\nexport class FileUploadComponent implements OnInit, OnChanges, ControlValueAccessor {\n @HostBinding() class = 'ui-file-upload';\n\n /**\n *\n * @type {number}\n * @memberof FileUploadComponent\n */\n @Input() maxFileSizeMB: number;\n\n /**\n * Supported files for input field\n *\n * @type {string}\n * @memberof FileUploadComponent\n */\n @Input() supportedFileTypes?: string;\n\n /**\n * Upload progress\n *\n * @type {number}\n * @memberof FileUploadComponent\n */\n @Input() uploadProgress: number;\n\n /**\n * File upload errors\n *\n * @type {string[]}\n * @memberof FileUploadComponent\n */\n @Input() errors?: string[] | null;\n\n /**\n * File upload disabled\n *\n * @type {boolean}\n * @memberof FileUploadComponent\n */\n @Input() disabled?: boolean;\n\n /**\n * Existing file information\n *\n * @type {(File | null)}\n * @memberof FileUploadComponent\n */\n @Input() file: File | null = null;\n\n @Output() OnDrop: EventEmitter<File> = new EventEmitter<File>();\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n progress = false;\n success = false;\n browse: boolean;\n\n constructor() {}\n\n ngOnInit(): void {\n this.browse = true;\n }\n\n //When file is dropped\n onFileDropped(files: FileList) {\n this.emitFile(files);\n }\n\n //When input changes\n onChangeUpload(event: Event) {\n const element = event.currentTarget as HTMLInputElement;\n this.emitFile(element.files || new FileList());\n }\n\n //Emit drop file\n emitFile(files: FileList) {\n const [file] = Array.from(files);\n this.file = file;\n this.errors = null;\n this.onTouch();\n this.onChange(this.file);\n this.OnDrop.emit(file);\n }\n\n //Show progress-bar\n showProgress(): boolean {\n this.browse = false;\n return this.file && !this.errors ? true : false;\n }\n\n //Show success elements\n showSuccess(): boolean {\n return this.file && this.uploadProgress === 100 && !this.errors ? true : false;\n }\n\n //Show browse when there are error\n showBrowse(): boolean {\n return this.errors ? true : false;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['uploadProgress'] || changes['file']) {\n this.progress = this.showProgress();\n this.success = this.showSuccess();\n this.browse = this.showBrowse();\n }\n if (changes['errors']) {\n this.progress = this.showProgress();\n this.success = this.showSuccess();\n this.browse = this.showBrowse();\n }\n }\n\n writeValue(value?: File): void {\n if (value) {\n this.file = value || null;\n } else {\n this.file = null;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<div\n class=\"upload-file-container\"\n uiDragDrop\n [ngClass]=\"{ 'upload-errors': !!errors }\"\n (fileDropped)=\"onFileDropped($event)\"\n>\n <div *ngIf=\"browse && !(!!success && !!file && !!progress)\" [@inOutAnimation] class=\"upload-files\">\n <div class=\"upload-browse\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <div class=\"errors\" *ngIf=\"!!errors\">\n <span *ngFor=\"let error of errors\"> <ui-icon name=\"Error\"></ui-icon> {{ error }} </span>\n </div>\n <input\n class=\"form-control\"\n #fileDrop\n type=\"file\"\n [accept]=\"supportedFileTypes\"\n id=\"fileDrop\"\n (change)=\"onChangeUpload($event)\"\n />\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">browse</label> your files</p>\n <span class=\"upload-text\">{{ maxFileSizeMB }}MB max file size.</span>\n </div>\n </div>\n <div class=\"upload-change\" [@inOutAnimationChange] *ngIf=\"!!success && !!file && !!progress\">\n <ui-icon class=\"upload-icon\" name=\"File-upload\"></ui-icon>\n <input\n class=\"form-control\"\n #fileDrop\n type=\"file\"\n id=\"fileDrop\"\n [accept]=\"supportedFileTypes\"\n (change)=\"onChangeUpload($event)\"\n [disabled]=\"disabled\"\n />\n <p>Drag and drop or <label for=\"fileDrop\" class=\"semibold\">change</label> your files</p>\n <span class=\"upload-text\"\n ><strong>{{ file.name }}</strong></span\n >\n </div>\n <div class=\"upload-progress\" [@inOutAnimationProgress] *ngIf=\"!!progress && !!file && !success\">\n <p>{{ file.name }}</p>\n <ui-progress-bar [progress]=\"uploadProgress\"></ui-progress-bar>\n <p class=\"upload-text\">\n Uploading <span>{{ uploadProgress }}</span\n >%\n </p>\n </div>\n</div>\n<div class=\"upload-supported-files\" *ngIf=\"!!supportedFileTypes\">\n <span>Supported file types:</span>{{ supportedFileTypes }}\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { ProgressBarComponent } from './progress-bar.component';\n\n@NgModule({\n declarations: [ProgressBarComponent],\n imports: [CommonModule, MatProgressBarModule],\n exports: [ProgressBarComponent],\n providers: [],\n})\nexport class ProgressBarComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { DragDropDirective } from '../../directives/drag-drop.directive';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { ProgressBarComponentModule } from '../progress-bar/progress-bar.component.module';\nimport { FileUploadComponent } from './file-upload.component';\n\n@NgModule({\n declarations: [FileUploadComponent, DragDropDirective],\n imports: [CommonModule, MatFormFieldModule, MatInputModule, IconComponentModule, ProgressBarComponentModule],\n exports: [FileUploadComponent],\n providers: [],\n})\nexport class FileUploadComponentModule {}\n","export const FORGOT_PASSWORD_i18n = {\n title: 'Reset your password',\n email_label: 'Email',\n button_label: 'Send reset link',\n back_to_login: 'Back to log in',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { FORGOT_PASSWORD_i18n } from './forgot-password.constant';\nimport { ForgotPasswordCredentials, Ii18nForgotPassword } from './forgot-password.model';\n\n@Component({\n selector: 'ui-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ForgotPasswordComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n forgotPasswordForm = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n });\n\n /**\n * @ignore\n */\n @Input() formErrors = {\n email: [''],\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading: boolean;\n\n /**\n *\n * @description Object with the translations for the component.\n * @type {Ii18nForgotPassword}\n * @memberof ForgotPasswordComponent\n */\n @Input() i18n: Ii18nForgotPassword = FORGOT_PASSWORD_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<ForgotPasswordCredentials> = new EventEmitter<ForgotPasswordCredentials>();\n\n /**\n * @ignore\n */\n @Output() backToLoginEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit(): void {\n this.submitEvent.emit({\n email: this.forgotPasswordForm.get('email')?.value,\n });\n }\n\n backToLogin(): void {\n this.backToLoginEvent.emit();\n }\n\n checkErrors(field: string) {\n if (this.forgotPasswordForm.controls[field].touched) {\n if (this.forgotPasswordForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['This field is required'];\n return;\n }\n\n if (this.forgotPasswordForm.controls[field].hasError('email')) {\n this.formErrors[field as keyof typeof this.formErrors] = ['Enter a valid email'];\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = [''];\n }\n}\n","<div class=\"form-box\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"forgotPasswordForm\">\n <div class=\"field\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"formErrors.email\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div></div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"forgotPasswordForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"back-login\" (click)=\"backToLogin()\">\n <mat-icon>arrow_back</mat-icon>\n <span>{{ i18n.back_to_login }}</span>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { ForgotPasswordComponent } from './forgot-password.component';\n\n@NgModule({\n declarations: [ForgotPasswordComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n MatIconModule,\n LogoComponentModule,\n ],\n exports: [ForgotPasswordComponent],\n providers: [],\n})\nexport class ForgotPasswordComponentModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { IconName, IconSize } from '../../components/icon/icon.model';\n\n@Component({\n selector: 'ui-icon-label',\n templateUrl: './icon-label.component.html',\n styleUrls: ['./icon-label.component.scss']\n})\nexport class IconLabelComponent implements OnInit {\n\n /**\n * Icon size\n *\n * @type {IconSize}\n * @memberof IconLabelComponent\n */\n @Input() iconSize: IconSize = '16';\n\n /**\n * Icon name\n *\n * @type {IconName}\n * @memberof IconLabelComponent\n */\n @Input() iconName: IconName;\n\n /**\n * Label\n *\n * @memberof IconLabelComponent\n */\n @Input() text = '';\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<ui-icon [name]=\"iconName\" [size]=\"iconSize\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { IconLabelComponent } from './icon-label.component';\n\n@NgModule({\n declarations: [IconLabelComponent],\n imports: [CommonModule, IconComponentModule],\n exports: [IconLabelComponent],\n providers: [],\n})\nexport class IconLabelComponentModule {}\n","export interface ILabelOptions {\n [key: string]: ILabelOptionItem;\n}\n\nexport interface ILabelOptionItem {\n title: string;\n textColor: string;\n backgroundColor: string;\n size: LabelSizeEnum;\n}\n\nexport enum LabelSizeEnum {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n BIG = 'big',\n HUGE = 'huge',\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LabelSizeEnum } from './label.model';\n\n@Component({\n selector: 'ui-label',\n templateUrl: './label.component.html',\n styleUrls: ['./label.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LabelComponent {\n /**\n * @ignore\n */\n LabelSizeEnum = LabelSizeEnum;\n\n /**\n * Label background color\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() backgroundColor = '';\n\n /**\n * Status text color\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() textColor = '';\n\n /**\n * Status title\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() title = '';\n\n /**\n * Status description\n *\n * @type {string}\n * @memberof LabelComponent\n */\n @Input() description = '';\n\n /**\n * Label size\n *\n * @type {LabelSizeEnum}\n * @memberof LabelComponent\n */\n @Input() size: LabelSizeEnum = LabelSizeEnum.SMALL;\n\n constructor() {}\n}\n","<div\n class=\"label\"\n [ngStyle]=\"{ 'background-color': backgroundColor, color: textColor }\"\n [ngClass]=\"{\n small: size === LabelSizeEnum.SMALL,\n medium: size === LabelSizeEnum.MEDIUM,\n large: size === LabelSizeEnum.LARGE,\n big: size === LabelSizeEnum.BIG,\n huge: size === LabelSizeEnum.HUGE\n }\"\n>\n <div [innerHTML]=\"title\"></div>\n <div [innerHTML]=\"description\" class=\"description\" *ngIf=\"description && size === LabelSizeEnum.HUGE\"></div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { LabelComponent } from './label.component';\n\n@NgModule({\n declarations: [LabelComponent],\n imports: [CommonModule],\n exports: [LabelComponent],\n providers: [],\n})\nexport class LabelComponentModule {}\n","export const LOGIN_i18n = {\n title: 'Log in to your Career Passport',\n email_label: 'Email address',\n password_label: 'Password',\n remember_me: 'Keep me logged in',\n forgot_password: 'Forgot password?',\n button_label: 'Log in',\n not_have_account: \"Don't have an account?\",\n create_account: 'Create one here',\n};\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UntypedFormBuilder, Validators } from '@angular/forms';\nimport { LOGIN_i18n } from './login.constant';\nimport { Ii18nLogin, LoginCredentials } from './login.model';\n\n@Component({\n selector: 'ui-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoginComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * @ignore\n */\n @Input() email = '';\n\n /**\n * @ignore\n */\n loginForm = this.fb.group({\n email: ['', [Validators.required, Validators.email]],\n password: ['', [Validators.required]],\n remember_me: [false],\n });\n\n /**\n * @ignore\n */\n formErrors = {\n email: '',\n password: '',\n };\n\n /**\n * Indicator if the form is loading\n *\n * @memberof ButtonComponent\n */\n @Input() loading = false;\n\n /**\n * @description Object with the translations for the component.\n * @type {Ii18n}\n * @memberof LoginComponent\n */\n @Input() i18n: Ii18nLogin = LOGIN_i18n;\n\n /**\n * @ignore\n */\n @Output() submitEvent: EventEmitter<LoginCredentials> = new EventEmitter<LoginCredentials>();\n\n /**\n * @ignore\n */\n @Output() forgotPasswordEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n @Output() createAccountEvent: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {\n if (this.email) {\n this.loginForm.get('email')?.setValue(this.email);\n }\n }\n\n constructor(private fb: UntypedFormBuilder) {}\n\n submit() {\n this.submitEvent.emit({\n username: this.loginForm.get('email')?.value,\n password: this.loginForm.get('password')?.value,\n remember_me: this.loginForm.get('remember_me')?.value,\n });\n }\n\n forgotPassword() {\n this.forgotPasswordEvent.emit();\n }\n\n createAccount() {\n this.createAccountEvent.emit();\n }\n\n checkErrors(field: string) {\n if (this.loginForm.controls[field].touched) {\n if (this.loginForm.controls[field].hasError('required')) {\n this.formErrors[field as keyof typeof this.formErrors] = 'This field is required';\n return;\n }\n\n if (this.loginForm.controls[field].hasError('email')) {\n this.formErrors[field as keyof typeof this.formErrors] = 'Enter a valid email';\n return;\n }\n }\n\n this.formErrors[field as keyof typeof this.formErrors] = '';\n }\n}\n","<div class=\"ui-login-container\">\n <ui-logo></ui-logo>\n <div class=\"title\">{{ i18n.title }}</div>\n <form [formGroup]=\"loginForm\" class=\"form-wrapper\">\n <div class=\"field-email\">\n <ui-field\n formControlName=\"email\"\n [label]=\"i18n.email_label\"\n [type]=\"'email'\"\n [required]=\"true\"\n [errors]=\"[formErrors.email]\"\n (ngModelChange)=\"checkErrors('email')\"\n ></ui-field>\n </div>\n <div class=\"field-password\">\n <ui-field\n formControlName=\"password\"\n [label]=\"i18n.password_label\"\n [type]=\"'password'\"\n [required]=\"true\"\n [errors]=\"[formErrors.password]\"\n (ngModelChange)=\"checkErrors('password')\"\n ></ui-field>\n </div>\n <div class=\"actions\">\n <div class=\"remember-me\">\n <ui-checkbox formControlName=\"remember_me\" [label]=\"i18n.remember_me\"></ui-checkbox>\n </div>\n <div class=\"forgot-password\" (click)=\"forgotPassword()\">{{ i18n.forgot_password }}</div>\n </div>\n <div class=\"submit-button\">\n <ui-button\n [label]=\"i18n.button_label\"\n [disabled]=\"loginForm.invalid\"\n [fullWidth]=\"true\"\n [loading]=\"loading\"\n (buttonClickEvent)=\"submit()\"\n ></ui-button>\n </div>\n <div class=\"create-account-wrapper\">\n <p>\n {{ i18n.not_have_account }}\n <span class=\"create-account\" (click)=\"createAccount()\">{{ i18n.create_account }}</span>\n </p>\n </div>\n </form>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { CheckboxComponentModule } from '../checkbox/checkbox.component.module';\nimport { FieldComponentModule } from '../field/field.component.module';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { LoginComponent } from './login.component';\n\n@NgModule({\n declarations: [LoginComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FieldComponentModule,\n ButtonComponentModule,\n CheckboxComponentModule,\n LogoComponentModule,\n ],\n exports: [LoginComponent],\n providers: [],\n})\nexport class LoginComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { IRoute, MenuItem } from './navbar.model';\n\n@Component({\n selector: 'ui-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavbarComponent {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Routes object\n *\n * @type {IRoute}\n * @memberof NavbarComponent\n * @ignore\n */\n @Input() routes: IRoute[] = [];\n\n /**\n * Actived route id\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() activedRoute = '';\n\n /**\n * User first name and last name\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() userName = '';\n\n /**\n * Menu items to show in menu above the Log out button\n *\n * @type {string}\n * @memberof NavbarComponent\n */\n @Input() menuItems: MenuItem[] = [];\n\n /**\n * @ignore\n */\n @Output() navigateEvent: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n @Output() menuItemClicked: EventEmitter<string> = new EventEmitter<string>();\n\n /**\n * @ignore\n */\n @Output() logoutEvent: EventEmitter<void> = new EventEmitter<void>();\n\n constructor() {}\n\n navigate(routeId: string) {\n this.navigateEvent.emit(`/${routeId}`);\n }\n\n logout(): void {\n this.logoutEvent.emit();\n }\n\n clickMenuItem(id: string) {\n this.menuItemClicked.emit(id);\n }\n}\n","<mat-toolbar>\n <div class=\"custom-toolbar row\">\n <ui-logo class=\"logo\" (click)=\"navigate('')\"></ui-logo>\n <div class=\"navigation row\">\n <a *ngFor=\"let route of routes\" (click)=\"navigate(route.id)\" [ngClass]=\"{'active': activedRoute === route.id}\">\n <span>{{ route.title }}</span>\n </a>\n </div>\n <div class=\"actions\">\n <button mat-button class=\"profile-menu\" [matMenuTriggerFor]=\"menu\">\n {{ userName }}\n <mat-icon iconPositionEnd>expand_more</mat-icon>\n </button>\n </div>\n </div>\n</mat-toolbar>\n\n<mat-menu #menu=\"matMenu\">\n <button *ngFor=\"let e of menuItems\" mat-menu-item (click)=\"clickMenuItem(e.id)\">\n <div class=\"menu-item\">\n <ui-icon [name]=\"e.icon\" size=\"24\"></ui-icon>\n {{ e.text }}\n </div>\n </button>\n <button mat-menu-item (click)=\"logout()\">\n <mat-icon>power_settings_new</mat-icon>\n Log out\n </button>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { LogoComponentModule } from '../logo/logo.component.module';\nimport { NavbarComponent } from './navbar.component';\nimport { IconComponentModule } from '../icon/icon.component.module';\n\n@NgModule({\n declarations: [NavbarComponent],\n imports: [\n CommonModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n MatRippleModule,\n MatMenuModule,\n LogoComponentModule,\n IconComponentModule,\n ],\n exports: [NavbarComponent],\n providers: [],\n})\nexport class NavbarComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { ILabelOptionItem } from '../label/label.model';\n\n@Component({\n selector: 'ui-navigation',\n templateUrl: './navigation.component.html',\n styleUrls: ['./navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NavigationComponent {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Navigation title\n *\n * @type {string}\n * @memberof NavigationComponent\n */\n @Input() title: string;\n\n /**\n * Navigation subtitle\n *\n * @type {string}\n * @memberof NavigationComponent\n */\n @Input() subtitle: string;\n\n /**\n * Navigation status component\n *\n * @type {ILabelOptionItem}\n * @memberof NavigationComponent\n * @ignore\n */\n @Input() labelItem: ILabelOptionItem;\n\n /**\n * logo url\n *\n * @memberof NavigationComponent\n */\n @Input() logoURL: String;\n\n /**\n * @ignore\n */\n @Output() goBackClickedEvent: EventEmitter<void> = new EventEmitter<void>();\n\n constructor() {}\n\n goBackClicked(): void {\n this.goBackClickedEvent.emit();\n }\n}\n","<div class=\"navigation\">\n <button aria-label=\"Go back\" mat-icon-button (click)=\"goBackClicked()\">\n <mat-icon aria-hidden=\"true\">chevron_left</mat-icon>\n </button>\n <div class=\"logo\" *ngIf=\"logoURL\">\n <img [src]=\"logoURL\" />\n </div>\n <div class=\"content\">\n <div class=\"title\">\n <span>{{ title }}</span>\n <div class=\"status\" *ngIf=\"labelItem\">\n <ui-label\n [backgroundColor]=\"labelItem.backgroundColor\"\n [textColor]=\"labelItem.textColor\"\n [title]=\"labelItem.title\"\n [size]=\"labelItem.size\"\n >\n </ui-label>\n </div>\n </div>\n <div class=\"subtitle\">\n {{ subtitle }}\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { LabelComponentModule } from '../label/label.component.module';\nimport { NavigationComponent } from './navigation.component';\n\n@NgModule({\n declarations: [NavigationComponent],\n imports: [CommonModule, MatIconModule, MatButtonModule, LabelComponentModule],\n exports: [NavigationComponent],\n providers: [],\n})\nexport class NavigationComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { PageEvent } from '@angular/material/paginator';\n\n@Component({\n selector: 'ui-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaginatorComponent implements OnInit {\n // TODO: Some properties and methods are ignored on purpose because of a current issue with compodoc and angular 13\n // https://github.com/storybookjs/storybook/issues/16865\n // https://github.com/storybookjs/storybook/issues/17004\n\n /**\n * Paginator size options\n *\n * @type {number[]}\n * @memberof PaginatorComponent\n */\n readonly pageSizeOptions = [10, 25, 50];\n\n /**\n * Data length\n *\n * @type {number}\n * @memberof PaginatorComponent\n */\n @Input() length = 0;\n\n /**\n * Default page size\n *\n * @type {number}\n * @memberof PaginatorComponent\n */\n @Input() defaultPageSize = 25;\n\n /**\n * @ignore\n */\n @Output() paginatorChangedEvent: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n\n /**\n * @ignore\n */\n ngOnInit(): void {}\n\n constructor() {}\n\n paginatorChanged(paginator: PageEvent) {\n this.paginatorChangedEvent.emit(paginator);\n }\n}\n","<mat-paginator [length]=\"length\"\n [pageSize]=\"defaultPageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"paginatorChanged($event)\">\n</mat-paginator>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { PaginatorComponent } from './paginator.component';\n\n@NgModule({\n declarations: [PaginatorComponent],\n imports: [CommonModule, MatPaginatorModule],\n exports: [PaginatorComponent],\n providers: [],\n})\nexport class PaginatorComponentModule {}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { MatRadioButton } from '@angular/material/radio';\nimport { RadioButtonEventType } from './radio-button.model';\n\n@Component({\n selector: 'ui-radio-button',\n templateUrl: './radio-button.component.html',\n styleUrls: ['./radio-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RadioButtonComponent implements OnInit, OnChanges {\n /**\n * Determines whether the radio button is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() disabled = false;\n\n /**\n * Determines whether the radio button is checked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n //@Input() selected = false;\n\n _selected = false;\n @Input()\n get selected() {\n return this._selected;\n }\n set selected(selected: boolean) {\n this._selected = selected;\n }\n\n /**\n * Determines whether the radio button can be unchecked.\n * Default: false.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() allowUnselect = false;\n\n /**\n * Determines the radio button color.\n * Default: Test Gorilla primary color.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @HostBinding('style.--color')\n @Input()\n color = '#46A997';\n\n /**\n * Used to group radios for unique selection.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @Input() name = '';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof RadioButtonComponent\n */\n @Input() label = '';\n\n /**\n * Determines whether the radio button is a multiple choice cell.\n * Default: false\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Input() multiple = false;\n\n /**\n * Determines value of the radio button.\n * Default: false\n *\n * @type {any}\n * @memberof RadioButtonComponent\n */\n @Input() value: any;\n\n /**\n * Event emitted when the checked state of the radio button changes.\n *\n * @type {boolean}\n * @memberof RadioButtonComponent\n */\n @Output() changeRadio = new EventEmitter<RadioButtonEventType>();\n\n classMultiple: string;\n\n ngOnInit() {\n this.classMultiple = this.setClass();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['selected']) {\n this.classMultiple = this.setClass();\n }\n }\n\n //Click method\n clickRadio(element: MatRadioButton, event: MouseEvent) {\n //event.preventDefault();\n if (this.allowUnselect) {\n element.checked = !element.checked;\n this._selected = element.checked;\n this.classMultiple = this.setClass();\n this.changeRadio.emit({ optionName: element.value, optionChecked: element.checked });\n } else {\n this._selected = true;\n this.changeRadio.emit({ optionName: element.value, optionChecked: true });\n }\n if (this.disabled) {\n this._selected = false;\n this.changeRadio.emit({ optionName: '', optionChecked: false });\n }\n }\n\n //Set class for multiple radio\n setClass(): string {\n if (this.multiple) {\n return this._selected ? 'multiple-checked' : 'multiple-unchecked';\n }\n return '';\n }\n}\n","<div [ngClass]=\"classMultiple\">\n <mat-radio-button\n #radio\n [checked]=\"selected\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [aria-label]=\"label\"\n [value]=\"value\"\n class=\"radio-button\"\n (click)=\"clickRadio(radio, $event)\"\n >\n {{ label }}\n </mat-radio-button>\n</div>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { RadioButtonComponent } from './radio-button.component';\n\n@NgModule({\n declarations: [RadioButtonComponent],\n imports: [CommonModule, MatRadioModule, FormsModule, ReactiveFormsModule],\n exports: [RadioButtonComponent],\n})\nexport class RadioButtonComponentModule {}\n","import { Injectable } from '@angular/core';\nimport { TranslocoService } from '@ngneat/transloco';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { Subscription } from 'rxjs';\n\n//Languages available in the app as enum\nexport enum Language {\n en = 'en',\n es = 'es',\n nl = 'nl',\n fr = 'fr',\n de = 'de',\n 'it-it' = 'it-it',\n 'ja-jp' = 'ja-jp',\n 'pt-br' = 'pt-br',\n 'da-dk' = 'da-dk',\n 'nb-no' = 'nb-no',\n 'pl-pl' = 'pl-pl',\n 'sv-se' = 'sv-se',\n}\n\n//This type enforces all translations are present when some translation needs to live in the frontend\nexport type TranslationMap = { [key in Language]: string };\n\n//This function retrieves all languages from the enum. It is used to initialize transloco\nexport const getAvailableLangs = () => Object.values(Language);\n\n//This type is intended for UI uses only\nexport type UILanguage = { code: Language | string; label: string };\n\n@Injectable({\n providedIn: 'root',\n})\n@UntilDestroy({ checkProperties: true })\nexport class LanguageService {\n static readonly defaultLanguage = Language.en;\n\n readonly defaultLanguageList: UILanguage[] = [\n { code: Language.en, label: 'English' },\n { code: Language.es, label: 'Spanish' },\n { code: Language.de, label: 'German' },\n { code: Language.fr, label: 'French' },\n { code: Language.nl, label: 'Dutch' },\n { code: Language['it-it'], label: 'Italian' },\n { code: Language['ja-jp'], label: 'Japanese' },\n { code: Language['pt-br'], label: 'Portuguese' },\n { code: Language['da-dk'], label: 'Danish' },\n { code: Language['nb-no'], label: 'Norwegian' },\n { code: Language['pl-pl'], label: 'Polish' },\n { code: Language['sv-se'], label: 'Swedish' },\n ];\n\n private languageChangeSubscription: Subscription;\n\n constructor(private translocoService: TranslocoService) {}\n\n /**\n *\n * @description Initialize Language Service.\n * @memberof LanguageService\n */\n init(language: string): void {\n // Set active language according to user settings. TODO: Replace with user value.\n this.setActiveLanguage(language);\n\n // React to language changes and load the language selected.\n this.languageChangeSubscription = this.translocoService.langChanges$.subscribe(lang => {\n this.translocoService.load(lang).subscribe();\n });\n }\n\n /**\n *\n * @description Set a langauge as active language.\n * @param {string} languageCode Language value code.\n * @memberof LanguageService\n */\n setActiveLanguage(languageCode: string): void {\n this.translocoService.setActiveLang(languageCode);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, Inject, Input, OnInit } from '@angular/core';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { IconName } from '../../components/icon/icon.model';\nimport { SnackbarType } from '../../components/snackbar/snackbar.model';\nimport { alertBarsUtil } from '../../utils/alert-bars.utils';\nimport { Language, LanguageService } from '../../utils/localization/language.service';\n\n@Component({\n selector: 'ui-snackbar',\n templateUrl: './snackbar.component.html',\n styleUrls: ['./snackbar.component.scss'],\n animations: [\n trigger('openClose', [\n transition(':enter', [\n style({ bottom: '-55px', opacity: 0 }),\n animate('0.2s ease-out', style({ opacity: 1, bottom: '10px' })),\n ]),\n transition(':leave', [\n style({ bottom: '10px', opacity: 1 }),\n animate('0.2s ease-in', style({ bottom: '-55px', opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class SnackbarComponent implements OnInit {\n /**\n * Background color of the button while in active state\n *\n * @type {SnackbarType}\n * @memberof SnackbarComponent\n */\n @Input() snackbarType: SnackbarType = 'success';\n\n /**\n * Snackbar message\n *\n * @memberof SnackbarComponent\n */\n @Input() message = '';\n\n /**\n * Set the time that the snackbar will be visible\n *\n * @memberof SnackbarComponent\n */\n @Input() seconds = 5;\n\n /**\n * Include dismmiss button\n *\n * @memberof SnackbarComponent\n */\n @Input() includeDismissButton = true;\n\n /**\n * Static or fixed position\n *\n * @memberof SnackbarComponent\n */\n @Input() fixed = true;\n\n /**\n * The language to be used\n *\n * @type {string}\n * @memberof SnackbarComponent\n */\n @Input() language: Language = LanguageService.defaultLanguage;\n\n iconName: IconName;\n showSnackbar = true;\n milisenconds: number;\n visible = false;\n timer?: NodeJS.Timer;\n timerStartedAt = 0;\n timerPausedAt = 0;\n position: string;\n\n translationContext = 'SNACKBAR.';\n\n constructor(\n @Inject(MAT_SNACK_BAR_DATA) private data: any,\n private snackbarRef: MatSnackBarRef<SnackbarComponent>,\n private languageService: LanguageService\n ) {\n this.snackbarType = data.snackbarType ?? 'success';\n this.message = data.message ?? '';\n }\n\n ngOnInit(): void {\n this.milisenconds = this.seconds * 1000;\n this.iconName = alertBarsUtil.setIcon(this.snackbarType);\n this.show();\n this.position = alertBarsUtil.setPosition(this.fixed);\n\n this.languageService.init(this.language);\n }\n\n //Show snackbar\n show() {\n this.timerStartedAt = Date.now();\n this.visible = true;\n this.timer = setTimeout(() => this.hide(), this.milisenconds);\n }\n\n //Hide snackbar\n hide() {\n this.visible = false;\n this.timerPausedAt = 0;\n this.timerStartedAt = 0;\n clearTimeout(this.timer);\n this.timer = undefined;\n }\n\n //Pause timer when mouse enter\n onMouseEnter() {\n this.visible = true;\n this.timerPausedAt = Date.now();\n clearTimeout(this.timer);\n }\n\n //Continue timer when mouse leave\n onMouseLeave() {\n const diff = this.timerPausedAt - this.timerStartedAt;\n if (diff <= 0) {\n return this.hide();\n }\n this.timer = setTimeout(() => this.hide(), this.milisenconds - diff);\n }\n\n //Hide snackbar when dismiss button is clicked\n dismissClick() {\n this.visible = false;\n this.snackbarRef.dismiss();\n }\n}\n","<ng-container *transloco=\"let t\">\n <div\n [ngClass]=\"snackbarType + ' ' + position\"\n [@openClose]\n *ngIf=\"visible\"\n class=\"snackbar-container\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n >\n <div class=\"snackbar-text\">\n <ui-icon [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message }}\n </div>\n <ui-button\n *ngIf=\"includeDismissButton\"\n type=\"text\"\n [label]=\"t(translationContext + 'DISMISS')\"\n (buttonClickEvent)=\"dismissClick()\"\n ></ui-button>\n </div>\n</ng-container>\n","import { Injectable } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { SnackbarComponent } from './snackbar.component';\n\n@Injectable()\nexport class SnackbarService {\n constructor(private snackBar: MatSnackBar) {}\n\n error(message: string) {\n return this.snackBar.openFromComponent(SnackbarComponent, {\n data: {\n snackbarType: 'error',\n message,\n },\n });\n }\n\n success(message: string) {\n return this.snackBar.openFromComponent(SnackbarComponent, {\n data: {\n snackbarType: 'success',\n message,\n },\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { lastValueFrom } from 'rxjs';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { SnackbarComponent } from './snackbar.component';\nimport { SnackbarService } from './snackbar.service';\n\nexport const preloadLang = (transloco: TranslocoService) => () => {\n transloco.setActiveLang('en');\n return lastValueFrom(transloco.load('en'));\n};\n\n@NgModule({\n declarations: [SnackbarComponent],\n imports: [CommonModule, ButtonComponentModule, IconComponentModule, TranslocoModule],\n exports: [SnackbarComponent],\n providers: [\n SnackbarService,\n {\n provide: APP_INITIALIZER,\n useFactory: preloadLang,\n deps: [TranslocoService],\n multi: true,\n },\n ],\n})\nexport class SnackbarComponentModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n// TODO: Check type (backend could return a number)\ntype DataPropertyGetterType = string;\n\n@Pipe({\n name: 'dataPropertyGetter',\n})\nexport class DataPropertyGetterPipe implements PipeTransform {\n transform(obj: object, keyName: string = '') {\n return this.getDeepVal(obj, keyName);\n }\n\n private getDeepVal(obj: any, path: string) {\n if (typeof obj === 'undefined' || obj === null) {\n return '';\n }\n const splittedPath = path.split(/[\\.\\[\\]\\\"\\']{1,2}/);\n for (let i = 0, l = splittedPath.length; i < l; i++) {\n if (splittedPath[i] === '') {\n continue;\n }\n obj = obj[splittedPath[i]];\n if (typeof obj === 'undefined' || obj === null) {\n return '';\n }\n }\n return obj;\n }\n}\n","import { Type } from '@angular/core';\n\nexport type IDataSource = {\n [key: string]: any;\n};\n\nexport interface ITableColumn<T> {\n headerName: string;\n headerTooltip?: string;\n field?: string;\n type?: ColumnTypeEnum;\n function?: (v: T) => string;\n renderer?: (v: T) => IComponentRenderer | string;\n sortable?: boolean;\n styles?: IColumnStyles;\n}\n\nexport interface IComponentRenderer {\n component: Type<any>;\n inputs?: any;\n outputs?: { [key: string]: any };\n}\n\nexport interface IDetailRowDataParams<T, TDetail> {\n data: T;\n setDetailDataSource(rowData: TDetail[]): void;\n}\n\nexport interface ITableDetailColumn<T, TDetail> {\n columnDefs: ITableColumn<TDetail>[];\n setDetailRowData: (params: IDetailRowDataParams<T, TDetail>) => void;\n}\n\nexport interface IColumnStyles {\n alignment?: ColumnAlignmentEnum;\n width?: string;\n 'min-width'?: string;\n padding?: string;\n}\n\nexport enum ColumnTypeEnum {\n FIELD = 'field',\n FUNCTION = 'function',\n RENDERER = 'renderer',\n}\n\nexport enum ColumnAlignmentEnum {\n LEFT = 'left',\n RIGHT = 'right',\n CENTER = 'center',\n}\n","import { ComponentRef, Directive, EventEmitter, Input, OnDestroy, ViewContainerRef } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { IComponentRenderer } from '../table.model';\n\n@Directive({\n selector: '[dynamicComponent]',\n})\nexport class DynamicComponentDirective implements OnDestroy {\n private subscription = new Subscription();\n private compRef: ComponentRef<any>;\n\n @Input() set dynamicComponent(componentRenderer: IComponentRenderer) {\n if (componentRenderer.component) {\n this.compRef = this.vcr.createComponent(componentRenderer.component);\n\n if (componentRenderer.inputs) {\n Object.keys(componentRenderer.inputs).map(\n inputName => (this.compRef.instance[inputName] = componentRenderer.inputs[inputName])\n );\n }\n\n if (componentRenderer.outputs) {\n Object.keys(componentRenderer.outputs).map(output => {\n this.subscription.add(\n (this.compRef.instance[output] as EventEmitter<any>).subscribe(componentRenderer.outputs?.[output])\n );\n });\n }\n }\n }\n\n constructor(private vcr: ViewContainerRef) {}\n\n ngOnDestroy() {\n if (this.compRef) {\n this.compRef.destroy();\n }\n this.subscription.unsubscribe();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatSort, Sort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { DataPropertyGetterPipe } from './pipes/data-property-getter';\nimport { ColumnTypeEnum, IDataSource, ITableColumn, ITableDetailColumn } from './table.model';\n\n@Component({\n selector: 'ui-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('expandDetail', [\n state('collapsed, void', style({ height: '0px' })),\n state('expanded', style({ height: '*' })),\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n transition('expanded <=> void', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\n ]),\n ],\n})\nexport class TableComponent<T extends IDataSource, TDetail extends IDataSource> implements OnInit {\n /**\n * @ignore\n */\n @ViewChild(MatSort) set matSort(matSort: MatSort) {\n this.dataSource.sort = matSort;\n this.dataSource.sortingDataAccessor = (item, property) => this.dataPropertyGetterPipe.transform(item, property);\n }\n\n /**\n * @ignore\n */\n @Input() tableDetails = false;\n\n /**\n * Data to be rendered\n *\n * @ignore\n * @type {IDataSource}\n * @memberof TableComponent\n */\n @Input() set tableData(data: T[] | null) {\n if (data?.length) {\n this.setTableDataSource(data);\n }\n }\n\n /**\n * Data structure to select which columns should be rendered and their capabilities\n *\n * @type {ITableColumn}\n * @memberof TableComponent\n */\n @Input() tableColumns: ITableColumn<T>[] = [];\n\n /**\n * Data structure to select which columns should be rendered and their capabilities\n *\n * @type {ITableColumn}\n * @memberof TableComponent\n */\n @Input() tableDetailColumns: ITableDetailColumn<T, TDetail>;\n\n /**\n * @ignore\n */\n @Output() onSortEvent: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /**\n * @ignore\n */\n @Output() onRowClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @ignore\n */\n @Output() onDetailRowClickEvent: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * @ignore\n */\n dataSource = new MatTableDataSource<any>([]);\n\n /**\n * @ignore\n */\n dataSourceDetail = new MatTableDataSource<any>([]);\n\n /**\n * @ignore\n */\n elementDetail: any;\n\n /**\n * @ignore\n */\n columnsToDisplay: string[] = [];\n\n /**\n * @ignore\n */\n columnsDetailToDisplay: string[] = [];\n\n /**\n * @ignore\n */\n DataType = ColumnTypeEnum;\n\n ngOnInit(): void {\n this.columnsToDisplay = this.tableColumns.map((tableColumn: ITableColumn<T>) => tableColumn.headerName);\n if (this.tableDetailColumns) {\n this.columnsDetailToDisplay = this.tableDetailColumns.columnDefs.map(\n (tableColumn: ITableColumn<TDetail>) => tableColumn.headerName\n );\n }\n }\n\n constructor(private dataPropertyGetterPipe: DataPropertyGetterPipe) {}\n\n onSort(sortParams: Sort) {\n const columnSort = this.tableColumns.find((column: ITableColumn<T>) => column.headerName === sortParams.active);\n if (columnSort?.field) {\n sortParams.active = columnSort?.field;\n }\n this.onSortEvent.emit(sortParams);\n }\n\n onRowClick(rowParams: any) {\n this.onRowClickEvent.emit(rowParams);\n }\n\n onDetailRowClick(rowParams: any) {\n this.onDetailRowClickEvent.emit(rowParams);\n }\n\n toggleRow(element: T) {\n this.elementDetail = this.elementDetail === element ? null : element;\n if (this.elementDetail) {\n this.tableDetailColumns.setDetailRowData({\n data: element,\n setDetailDataSource: this.setTableDetailDataSource.bind(this),\n });\n }\n }\n\n /**\n * @ignore\n */\n private setTableDataSource(data: T[]) {\n this.dataSource = new MatTableDataSource<any>(data);\n }\n\n /**\n * @ignore\n */\n private setTableDetailDataSource(rowData: TDetail[]) {\n this.dataSourceDetail = new MatTableDataSource<any>(rowData);\n }\n}\n","<table *ngIf=\"!tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\">\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', onRowClickEvent.observed && i === tableColumns.length - 1 ? 'row-detail': '']\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n <mat-icon *ngIf=\"onRowClickEvent.observed && i === tableColumns.length - 1\" class=\"row-detail-icon\">navigate_next</mat-icon>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnsToDisplay;\" [ngClass]=\"{'row-clickable': onRowClickEvent.observed}\"></tr>\n</table>\n\n<table *ngIf=\"tableDetails\" mat-table [dataSource]=\"dataSource\" matSort (matSortChange)=\"onSort($event)\"\n multiTemplateDataRows>\n <ng-container *ngFor=\"let tableColumn of tableColumns; let i = index\" [matColumnDef]=\"tableColumn.headerName\">\n <ng-container *ngIf=\"tableColumn.sortable; else notSortable\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" [mat-sort-header]=\"tableColumn.field || ''\"\n arrowPosition=\"after\" [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-container>\n <ng-template #notSortable>\n <th mat-header-cell *matHeaderCellDef [ngStyle]=\"{width: tableColumn.styles?.width, minWidth: tableColumn.styles?.['min-width']}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n <ng-container *ngTemplateOutlet=\"tableHeader; context: {tableColumn}\"></ng-container>\n </th>\n </ng-template>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"[tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : '', i === 0 ? 'row-expand' : '']\">\n <mat-icon *ngIf=\"i === 0\" class=\"row-expand-icon\">{{ element === elementDetail ? 'expand_less' : 'expand_more' }}</mat-icon>\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <!-- Expanded Content Column -->\n <ng-container matColumnDef=\"expandedDetail\">\n <td mat-cell *matCellDef=\"let element\" [attr.colspan]=\"columnsToDisplay.length\">\n <div class=\"element-detail\" *ngIf=\"dataSourceDetail.data.length\"\n [@expandDetail]=\"element === elementDetail ? 'expanded' : 'collapsed'\">\n <table mat-table [dataSource]=\"dataSourceDetail\">\n <ng-container *ngFor=\"let tableColumn of tableDetailColumns.columnDefs\"\n [matColumnDef]=\"tableColumn.headerName\">\n <th mat-header-cell *matHeaderCellDef=\"let element\" arrowPosition=\"after\"\n [ngStyle]=\"{width: tableColumn.styles?.width}\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'th-'+tableColumn.styles?.alignment : ''\">\n {{tableColumn.headerName | uppercase}}\n </th>\n <td mat-cell *matCellDef=\"let element\" (click)=\"onDetailRowClick(element)\"\n [align]=\"tableColumn.styles?.alignment\"\n [ngClass]=\"tableColumn.styles?.alignment ? 'td-'+tableColumn.styles?.alignment : ''\"\n [ngStyle]=\"{padding: tableColumn.styles?.padding}\">\n <ng-container *ngTemplateOutlet=\"tableDataTpl; context: {element, tableColumn}\"></ng-container>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsDetailToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let rowDetail; columns: columnsDetailToDisplay;\"></tr>\n </table>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnsToDisplay\"></tr>\n <tr mat-row *matRowDef=\"let element; columns: columnsToDisplay;\" class=\"element-row\"\n [ngClass]=\"{'expanded-row': elementDetail === element, 'row-clickable': tableDetails}\"\n (click)=\"toggleRow(element)\">\n </tr>\n <tr mat-row *matRowDef=\"let row; columns: ['expandedDetail']\" class=\"detail-row\"></tr>\n</table>\n\n<ng-template #tableDataTpl let-element=\"element\" let-tableColumn=\"tableColumn\">\n <div class=\"align-wrapper\">\n <ng-container [ngSwitch]=\"tableColumn.type\">\n <ng-container *ngSwitchCase=\"DataType.FIELD\">\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.FUNCTION\">\n {{tableColumn.function?.(element)}}\n </ng-container>\n <ng-container *ngSwitchCase=\"DataType.RENDERER\">\n <ng-template\n [dynamicComponent]=\"tableColumn.renderer?.(element)\">\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{element | dataPropertyGetter: tableColumn.field}}\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #tableHeader let-tableColumn=\"tableColumn\">\n <div class=\"tooltip\" [ngStyle]=\"{'justify-content': tableColumn.styles?.alignment}\" [ngClass]=\"tableColumn.styles?.alignment\">\n <span>{{tableColumn.headerName | uppercase}}</span>\n <mat-icon *ngIf=\"tableColumn.headerTooltip\" [matTooltip]=\"tableColumn.headerTooltip\" class=\"tooltip-icon\" (click)=\"$event.stopPropagation()\">help</mat-icon>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DynamicComponentDirective } from './directives/dynamic-component.directive';\nimport { DataPropertyGetterPipe } from './pipes/data-property-getter';\nimport { TableComponent } from './table.component';\n@NgModule({\n declarations: [TableComponent, DataPropertyGetterPipe, DynamicComponentDirective],\n imports: [CommonModule, MatTableModule, MatSortModule, MatIconModule, MatTooltipModule],\n exports: [TableComponent],\n providers: [DataPropertyGetterPipe],\n})\nexport class TableComponentModule {}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { debounceTime, map, ReplaySubject } from 'rxjs';\nimport { IconName } from '../icon/icon.model';\n\n@Component({\n selector: 'ui-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n})\nexport class TagComponent implements AfterViewInit {\n /**\n * Tag's label\n *\n * @memberof TagComponent\n */\n @Input() set label(value: string) {\n this.labelText = value;\n if (this.labelElement) {\n this.isLabelEllipseActive();\n }\n }\n\n /**\n * Icon\n *\n * @type {string}\n * @memberof TagComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * Whether to allow the tag to be closed.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() allowClose = false;\n\n /**\n * Whether the tag is in read-only mode.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() readOnly = false;\n\n /**\n * Whether the tag is selected.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isSelected = false;\n\n /**\n * Display icon when is selected\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() showIconWhenSelected = false;\n\n /**\n * Specifies whether the element is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isDisabled = false;\n\n /**\n * Event triggered when the tag should be closed.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() close = new EventEmitter<void>();\n\n /**\n * Event triggered when a press action occurs.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() press = new EventEmitter<boolean>();\n\n /**\n * Subject that needs to be triggered when Label input changes, to check if it's truncated\n * @private\n * @type {void}\n * @memberof TagComponent\n */\n private checkLabelEllipsis$ = new ReplaySubject<void>(1);\n\n /**\n * Observable that indicates if the Label is truncated\n * debounceTime is used to wait for view to be initialized after receiving a new Label input\n * @protected\n * @type {boolean}\n * @memberof TagComponent\n */\n protected isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(\n debounceTime(100),\n map(() => {\n const el = this.labelElement.nativeElement;\n return el.offsetWidth < el.scrollWidth;\n })\n );\n protected labelText = '';\n\n @ViewChild('labelElement') labelElement: ElementRef<HTMLElement>;\n\n ngAfterViewInit(): void {\n this.isLabelEllipseActive();\n }\n\n onPress(): void {\n if (!this.readOnly && !this.allowClose) {\n this.isSelected = this.showIconWhenSelected ? !this.isSelected : false;\n this.press.emit(this.isSelected);\n }\n }\n\n onClose(): void {\n this.close.emit();\n }\n\n private isLabelEllipseActive(): void {\n this.checkLabelEllipsis$.next();\n }\n\n get tabIndex(): number {\n return this.isDisabled || this.readOnly ? -1 : 0;\n }\n\n get filled(): boolean {\n return this.readOnly || this.allowClose || this.isSelected;\n }\n}\n","<div class=\"tag-wrapper\" [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\">\n <div\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n }\"\n (click)=\"onPress()\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [name]=\"icon\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" class=\"icon\" [name]=\"'Check'\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\" (click)=\"onClose()\" [name]=\"'Close'\"></ui-icon>\n </div>\n</div>\n","export enum TooltipPositionType {\n TOP = 'top',\n BOTTOM = 'bottom',\n LEFT = 'left',\n RIGHT = 'right'\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { TooltipPositionType } from './tooltip.model';\nimport { TooltipPosition } from '@angular/material/tooltip';\n\n@Component({\n selector: 'ui-tooltip',\n templateUrl: './tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TooltipComponent implements OnInit {\n /**\n * Allows the user to define the position of the tooltip relative to the parent element.\n *\n * @type {TooltipPositionType}\n * @memberof TooltipComponent\n */\n @Input() position: TooltipPositionType = TooltipPositionType.TOP;\n\n /**\n * The message to be displayed in the tooltip.\n *\n * @type {string}\n * @memberof TooltipComponent\n */\n @Input() message = '';\n\n matPosition: TooltipPosition;\n\n ngOnInit() {\n this.setPosition();\n }\n\n //set position\n setPosition(): void {\n switch (this.position) {\n case TooltipPositionType.TOP:\n this.matPosition = 'above';\n break;\n case TooltipPositionType.BOTTOM:\n this.matPosition = 'below';\n break;\n default:\n this.matPosition = this.position;\n break;\n }\n }\n}","<div [matTooltip]=\"message\" [matTooltipPosition]=\"matPosition\" matTooltipClass=\"tooltip\" aria-label=\"tooltip\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { TooltipComponent } from './tooltip.component';\n\n@NgModule({\n declarations: [TooltipComponent],\n imports: [MatTooltipModule],\n exports: [TooltipComponent],\n})\nexport class TooltipComponentModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TagComponent } from './tag.component';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { TooltipComponentModule } from '../tooltip/tooltip.component.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [TagComponent],\n imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule],\n exports: [TagComponent],\n providers: [],\n})\nexport class TagComponentModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { FloatLabelType } from '@angular/material/form-field';\nimport { OptionType } from './dropdown.model';\n\n@Component({\n selector: 'ui-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownComponent implements OnInit, ControlValueAccessor {\n @HostBinding() class = 'ui-dropdown';\n\n /**\n * Text content will be applied to the input element if present.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() name: string;\n /**\n * Placeholder to be shown if no value has been selected.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() placeholder: string;\n\n /**\n * Unique id of the element.\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof DropdownComponent\n */\n @Input() value?: string;\n\n /**\n * Whether the component is in an error state.\n *\n * @type {string[]}\n * @memberof DropdownComponent\n */\n @Input() errors?: string[];\n\n /**\n * Whether the component is disabled.\n * Default: false.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() disabled = false;\n\n /**\n * List of options.\n *\n * @type {OptionType}\n * @memberof DropdownComponent\n */\n @Input() valueList: OptionType[] = [];\n\n /**\n * Whether the user should be allowed to clear the values.\n * Default: true.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() allowClear = true;\n\n /**\n * This will allow the user to select multiple values at once.\n * Default: true.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() allowMultipleSelection? = false;\n\n /**\n * Whether the component is required.\n * Default: false.\n *\n * @type {boolean}\n * @memberof DropdownComponent\n */\n @Input() required = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n constructor() {\n this.errors = [];\n this.valueList = [];\n }\n\n floatLabel: FloatLabelType;\n classError: string;\n errorsLength: boolean;\n showCheck: boolean;\n\n ngOnInit(): void {\n this.errorsLength = this.setErrorsLength();\n }\n\n clearValue(event: Event): void {\n event?.stopPropagation();\n this.value = '';\n }\n\n //Save select value\n onChangeOption(event: any) {\n this.value = event.value;\n this.errorsLength = this.setErrorsLength();\n this.onTouch();\n this.onChange(this.value);\n }\n\n //Set errors length for validation\n setErrorsLength(): boolean {\n if (!!this.errors) {\n return this.errors.length > 0 ? true : false;\n }\n return false;\n }\n\n writeValue(value?: any): void {\n if (value) {\n this.value = value || '';\n } else {\n this.value = '';\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","<mat-form-field appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label>{{ label }} <span *ngIf=\"required\">*</span></mat-label>\n <mat-select\n #matSelect\n [id]=\"id!\"\n panelClass=\"ui-dropdown-list\"\n [disabled]=\"disabled\"\n [multiple]=\"allowMultipleSelection\"\n [placeholder]=\"placeholder\"\n [value]=\"value\"\n (selectionChange)=\"onChangeOption($event)\"\n [attr.name]=\"name\">\n <div class=\"mat-option-section\" *ngFor=\"let section of valueList\">\n <span *ngIf=\"section.sectionTitle\" class=\"section-title\">{{ section.sectionTitle }}</span>\n <mat-option *ngIf=\"section.value\" #matOption [value]=\"section.value\">\n {{ section.value }}\n </mat-option>\n </div>\n </mat-select>\n <ui-button *ngIf=\"allowClear && !matSelect.empty\" type=\"secondary\" [justIcon]=\"true\" class=\"clear\" iconName=\"Close\" label=\"Clear\" (click)=\"clearValue($event)\"></ui-button>\n <ui-icon color=\"dark\" *ngIf=\"!matSelect.panelOpen\" size=\"24\" name=\"Arrow_down\"></ui-icon>\n <ui-icon color=\"petrol\" *ngIf=\"matSelect.panelOpen\" size=\"24\" name=\"Arrow_up\"></ui-icon>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of errors\">\n <ui-icon name=\"Error\"></ui-icon>{{ error }}\n </div>\n </mat-hint>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n declarations: [DropdownComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonComponentModule,\n MatSelectModule,\n ],\n exports: [DropdownComponent],\n providers: [],\n})\nexport class DropdownComponentModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ui-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent {}\n","<svg class=\"spinner\" viewBox=\"0 0 50 50\">\n <circle class=\"path\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" stroke-width=\"5\"></circle>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { SpinnerComponent } from './spinner.component';\n\n@NgModule({\n declarations: [SpinnerComponent],\n exports: [SpinnerComponent],\n})\nexport class SpinnerComponentModule {}\n","export const CONFIRM_DIALOG_i18n = {\n confirmButtonText: 'YES',\n cancelButtonText: 'Cancel',\n title: 'Confirm',\n};\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CONFIRM_DIALOG_i18n } from './confirm-dialog.constants';\nimport { ConfirmDialogData } from './confirm-dialog.model';\n\n@Component({\n selector: 'ui-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n})\nexport class ConfirmDialogComponent {\n confirmMessage: string;\n confirmButtonText: string;\n cancelButtonText: string;\n title: string;\n\n constructor(\n public dialogRef: MatDialogRef<ConfirmDialogComponent>,\n @Inject(MAT_DIALOG_DATA) private data: ConfirmDialogData\n ) {\n this.confirmMessage = data.message;\n this.confirmButtonText = data.confirmButtonText ?? CONFIRM_DIALOG_i18n.confirmButtonText;\n this.cancelButtonText = data.cancelButtonText ?? CONFIRM_DIALOG_i18n.cancelButtonText;\n this.title = data.title ?? CONFIRM_DIALOG_i18n.title;\n }\n}\n","<ui-dialog\n [title]=\"title\"\n [primaryButtonLabel]=\"confirmButtonText\"\n [secondaryButtonLabel]=\"cancelButtonText\"\n (primaryButtonClickEvent)=\"dialogRef.close(true)\"\n (secondaryButtonClickEvent)=\"dialogRef.close(false)\"\n primaryButtonType=\"destructive\"\n secondaryButtonType=\"outlined\"\n [showCloseButton]=\"false\"\n>\n <div class=\"message\">{{ confirmMessage }}</div>\n</ui-dialog>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { ButtonComponentModule } from '../button/button.component.module';\nimport { DialogComponentModule } from '../dialog/dialog.component.module';\nimport { ConfirmDialogComponent } from './confirm-dialog.component';\n\n@NgModule({\n declarations: [ConfirmDialogComponent],\n exports: [ConfirmDialogComponent],\n providers: [\n { provide: MAT_DIALOG_DATA, useValue: {} },\n { provide: MatDialogRef, useValue: {} },\n ],\n imports: [CommonModule, MatDialogModule, ButtonComponentModule, DialogComponentModule],\n})\nexport class ConfirmDialogComponentModule {}\n","/* eslint-disable no-underscore-dangle */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ui-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DatepickerComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DatepickerComponent implements OnChanges, ControlValueAccessor {\n @HostBinding() class = 'ui-datepicker';\n\n /**\n * Form field label\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() label? = '';\n\n /**\n * Input name attribute\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() fieldName?: string;\n\n /**\n * Input placeholder\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() placeholder? = '';\n\n /**\n * Input id\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() id? = '';\n\n /**\n * Input value\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() value?: string | Date;\n\n _errors: string[];\n /**\n * Input field errors\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() set errors(errors: string[]) {\n this._errors = errors;\n this.errorsLength = this.setErrorsLength();\n }\n\n /**\n * Determines if input is date range\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() isRange: boolean;\n\n /**\n * Determines if input is disabled\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() disabled: boolean;\n\n /**\n * Input is required or not\n *\n * @type {boolean}\n * @memberof DatepickerComponent\n */\n @Input() required: boolean;\n\n /**\n * Hint text\n *\n * @type {string}\n * @memberof DatepickerComponent\n */\n @Input() hintMessage: string;\n\n /**\n * Input is update only on blur\n *\n * @type {Boolean}\n * @memberof DatepickerComponent\n */\n @Input() updateOnBlur = false;\n\n /**\n * @ignore\n */\n onChange = (_: any) => {};\n\n /**\n * @ignore\n */\n onTouch = () => {};\n\n /**\n * Event emitted when the value is change - when used outside of form\n *\n * @type {Date}\n * @memberof DatepickerComponent\n */\n @Output() changed = new EventEmitter<Date | string>();\n\n range = new FormGroup({\n start: new FormControl<Date | null>(null),\n end: new FormControl<Date | null>(null),\n });\n\n errorsLength: boolean;\n\n get hint(): string {\n if (this.hintMessage === undefined) {\n return this.isRange ? 'MM/DD/YYYY - MM/DD/YYYY' : 'MM/DD/YYYY';\n }\n\n return this.hintMessage;\n }\n\n ngOnChanges(): void {\n if (this.isRange) {\n this.setRange();\n }\n }\n\n // Set errors length for validation\n // Consider only those errors which which are not empty\n setErrorsLength(): boolean {\n if (!!this._errors) {\n return this._errors.filter(err => !!err).length > 0 ? true : false;\n }\n return false;\n }\n\n onValueChange(value: Date | string) {\n this.writeValue(value);\n this.errorsLength = this.setErrorsLength();\n if (!this.updateOnBlur) {\n this.onTouch();\n }\n this.onChange(value);\n this.changed.emit(value);\n }\n\n writeValue(value?: Date | string): void {\n this.value = value;\n if (this.isRange) {\n this.setRange();\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n dateRangeChange(start: string, end: string) {\n if (start && end) {\n this.onValueChange(this.getRange(start, end));\n }\n }\n\n private setRange() {\n if (typeof this.value === 'string') {\n const [start, end] = this.value?.split('-');\n if (start) {\n this.range.controls.start.setValue(new Date(start));\n }\n if (end) {\n this.range.controls.end.setValue(new Date(end));\n }\n }\n }\n\n private getRange(start: string, end: string): string {\n return `${start}-${end}`;\n }\n}\n","<mat-form-field #uiDatepicker appearance=\"outline\" [color]=\"errorsLength ? 'warn' : 'accent'\">\n <mat-label *ngIf=\"label\">{{ label }}<span *ngIf=\"required\"> *</span></mat-label>\n <ng-container *ngIf=\"!isRange\">\n <input *ngIf=\"!isRange\" matInput\n [matDatepicker]=\"picker\"\n matInput\n (blur)=\"onTouch()\"\n (dateChange)=\"onValueChange($event.value)\"\n [id]=\"id!\"\n [placeholder]=\"placeholder!\"\n [value]=\"value\"\n [disabled]=\"disabled\"\n [name]=\"fieldName!\"\n />\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\">\n <ui-icon matDatepickerToggleIcon name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n </ng-container>\n <ng-container *ngIf=\"isRange\">\n <mat-date-range-input *ngIf=\"isRange\" [formGroup]=\"range\" [rangePicker]=\"rangePicker\" >\n <input matStartDate #dateRangeStart formControlName=\"start\" placeholder=\"Start date\" >\n <input matEndDate #dateRangeEnd formControlName=\"end\" placeholder=\"End date\" (dateChange)=\"dateRangeChange(dateRangeStart.value, dateRangeEnd.value)\">\n </mat-date-range-input>\n <mat-datepicker-toggle matIconSuffix [for]=\"rangePicker\">\n <ui-icon matDatepickerToggleIcon name=\"Calendar\" size=\"24\" color=\"inherit\"></ui-icon>\n </mat-datepicker-toggle>\n <mat-date-range-picker #rangePicker></mat-date-range-picker>\n </ng-container>\n <mat-hint class=\"info\" *ngIf=\"hint && !_errors\">{{ hint }}</mat-hint>\n <mat-hint class=\"error\" *ngIf=\"errorsLength\">\n <div class=\"errors\" *ngFor=\"let error of _errors\"><ui-icon name=\"Error\"></ui-icon>{{ error }}</div>\n </mat-hint>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerComponent } from './datepicker.component';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { MatNativeDateModule } from '@angular/material/core';\n\n@NgModule({\n declarations: [DatepickerComponent],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatInputModule,\n IconComponentModule,\n FormsModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n MatNativeDateModule,\n ],\n providers: [],\n exports: [DatepickerComponent],\n})\nexport class DatepickerComponentModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nexport type RatingComponentTheme = 'stars' | 'block';\n\n@Component({\n selector: 'ui-rating',\n templateUrl: './rating.component.html',\n styleUrls: ['./rating.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class RatingComponent {\n private readonly MIN_LENGTH = 0;\n private readonly DEFAULT_LENGTH = 5;\n items: number[] = [];\n hoverIndex: number;\n\n @Input() value: number;\n // todo support stars rating\n @Input() theme: RatingComponentTheme = 'block';\n @Input() barWidth = 35;\n @Input() set length(length: number) {\n this.items = Array(Math.max(length, this.MIN_LENGTH))\n .fill(0)\n .map((x, i) => i);\n }\n\n @Output() valueChange: EventEmitter<number> = new EventEmitter<number>();\n\n constructor() {\n this.length = this.DEFAULT_LENGTH;\n }\n\n select(index: number) {\n this.value = index + 1;\n this.valueChange.emit(this.value);\n }\n\n onHover(index: number) {\n this.hoverIndex = index + 1;\n }\n}\n","<div class=\"rating\" (mouseleave)=\"onHover(-1)\">\n <div class=\"rating-item\" *ngFor=\"let item of items\" (click)=\"select(item)\" (mouseenter)=\"onHover(item)\"\n [ngClass]=\"{ 'rating-item-selected': item < value, 'rating-item-hover': item < hoverIndex }\" [ngStyle]=\"{'width.px': barWidth}\">\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RatingComponent } from './rating.component';\n\n@NgModule({\n declarations: [RatingComponent],\n imports: [CommonModule],\n exports: [RatingComponent],\n})\nexport class RatingComponentModule {}\n","import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RegisterFn } from './toggle.model';\n\n@Component({\n selector: 'ui-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleComponent implements ControlValueAccessor {\n /**\n * The `selected` property determines the current state of the toggle switch.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() selected = false;\n\n /**\n * The `disabled` property determines whether the toggle switch is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() disabled = false;\n\n /**\n * The `toggle` event is triggered when the state of the toggle switch changes. It returns the new state.\n *\n * @type {event}\n * @memberof ToggleComponent\n */\n @Output() toggle = new EventEmitter<boolean>();\n\n onToggle(): void {\n if (!this.disabled) {\n this.selected = !this.selected;\n this.toggle.emit(this.selected);\n }\n }\n\n writeValue(state: boolean): void {\n if (state) {\n this.selected = state;\n }\n }\n\n registerOnChange(fn: RegisterFn): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: RegisterFn): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n private onChange: RegisterFn = () => {};\n private onTouched: RegisterFn = () => {};\n}\n","<div\n [tabIndex]=\"0\"\n class=\"toggle-container\"\n [ngClass]=\"{ 'active': selected, 'disabled': disabled }\"\n (click)=\"onToggle()\"\n>\n <div class=\"knob\"></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToggleComponent } from './toggle.component';\n\n@NgModule({\n declarations: [ToggleComponent],\n imports: [CommonModule],\n})\nexport class ToggleComponentModule {}\n","import { IconSize } from '../icon/icon.model';\n\nexport enum AvatarSize {\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n}\n\nexport const iconSize: Record<string, IconSize> = {\n small: '16',\n medium: '24',\n large: '80',\n};\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'nameInitials',\n})\nexport class NameInitialsPipe implements PipeTransform {\n transform(value: string): string {\n const initials = value.split(' ').filter(Boolean);\n if (initials.length > 1) {\n return initials.map(initial => initial[0].toUpperCase()).join('');\n } else {\n const firstLetters = value.substring(0, 2);\n return `${firstLetters[0]?.toUpperCase() ?? ''}${firstLetters[1]?.toLowerCase() ?? ''}`;\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AvatarSize, iconSize } from './avatar.model';\n\n@Component({\n selector: 'ui-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n})\nexport class AvatarComponent {\n /**\n * Input property for specifying the size of the avatar.\n * @type {AvatarSize}\n * @default AvatarSize.SMALL\n * @memberof AvatarComponent\n */\n @Input() size = AvatarSize.SMALL;\n /**\n * Input property for specifying the URL of the image to display in the avatar.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() imageUrl = '';\n\n /**\n * Input property for specifying the initials to display in the avatar.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() name = '';\n\n /**\n * Input property for specifying the tooltip text for edit.\n * @type {string}\n * @memberof AvatarComponent\n */\n @Input() tooltipText = '';\n\n /**\n * Input property that makes avatar clickable.\n * @type {boolean}\n * @memberof AvatarComponent\n */\n @Input() allowClick = false;\n\n /**\n * Event emitted when the avatar is clicked.\n * @type {void}\n * @memberof AvatarComponent\n */\n @Output() avatarClick = new EventEmitter<void>();\n\n protected iconSize = iconSize;\n protected avatarSize = AvatarSize;\n\n protected onAvatarClick(): void {\n this.avatarClick.emit();\n }\n\n get clickAllowance(): string {\n return this.allowClick ? 'clickable' : 'non-clickable';\n }\n}\n","<div\n class=\"avatar-container\"\n [attr.type]=\"!imageUrl && !name ? 'icon' : 'initials'\"\n [ngClass]=\"[size, clickAllowance]\"\n (click)=\"onAvatarClick()\"\n>\n <span *ngIf=\"name && !imageUrl\">\n {{ name | nameInitials }}\n </span>\n <img *ngIf=\"imageUrl\" [attr.src]=\"imageUrl\" [alt]=\"'profile-image'\">\n <ui-icon color=\"dark\" [size]=\"iconSize[size]\" *ngIf=\"!imageUrl && !name\" [name]=\"'User-profile'\"></ui-icon>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvatarComponent } from './avatar.component';\nimport { NameInitialsPipe } from '../../pipes/name-initials.pipe';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [AvatarComponent, NameInitialsPipe],\n imports: [CommonModule, IconComponentModule, MatTooltipModule],\n exports: [AvatarComponent],\n})\nexport class AvatarComponentModule {}\n","export class AutocompleteUtils {\n static transformDisplayValue(value: any, textField: string): any {\n return AutocompleteUtils.isPrimitive(value) ? value : value[textField];\n }\n\n static filterItems(items: any, inputValue: string, textField?: string): any {\n if (!AutocompleteUtils.isPrimitive(items) && textField) {\n return items.filter((item: any) => item[textField].toLowerCase().includes(inputValue.toLowerCase()));\n } else {\n return items.filter((item: any) => item.toLowerCase().includes(inputValue.toLowerCase()));\n }\n }\n\n static isPrimitive(value: any): boolean {\n if (Array.isArray(value)) {\n return value.some(item => typeof item !== 'object');\n } else {\n return typeof value !== 'object';\n }\n }\n\n static isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n /// NEW\n static throwInvalidSetupError(): void {\n throw new Error(\n `AutocompleteComponent textField/valueField properties are not provided!\\n\n Items list that has non primitive values requires textField & valueField to be passed.`\n );\n }\n\n static excludeSuggestions(items: any[], excludeItems: any[], valueField?: string): any[] {\n if (AutocompleteUtils.isPrimitive(items)) {\n return items.filter(item => !excludeItems.find(excludeItem => excludeItem === item));\n } else {\n return valueField\n ? items.filter(item => !excludeItems.find(excludeItem => excludeItem[valueField] === item[valueField]))\n : [];\n }\n }\n\n static shouldBeObject(value: any, textField: string, valueField: string): boolean {\n return !!valueField && !!textField && typeof value !== 'object';\n }\n\n static createValueItem(value: any, textField: string, valueField: string): any {\n return AutocompleteUtils.shouldBeObject(value, textField, valueField)\n ? { [textField]: value, [valueField]: value }\n : value;\n }\n\n static findDuplicate(value: any, selectedValue: any, lookupKey?: string): any {\n if (AutocompleteUtils.isArray(value)) {\n return value.find((v: any) => {\n if (!AutocompleteUtils.isPrimitive(v) && lookupKey) {\n return v[lookupKey] === selectedValue[lookupKey];\n }\n return v === selectedValue;\n });\n } else {\n return value === selectedValue;\n }\n }\n}\n","export type AutocompleteType = 'single' | 'multi' | 'large';\n\nexport enum Autocomplete {\n SINGLE = 'single',\n MULTI = 'multi',\n LARGE = 'large',\n}\n\nexport enum Padding {\n AUTOCOMPLETE_CONTAINER = 80,\n}\n\nexport enum Timeout {\n VIEW_INITIALIZED_AFTER_ACTION = 20,\n VIEW_INITIALIZED_COMPONENT_LOAD = 500,\n}\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\n/**\n * the SelectTextDirective provides a dynamic way to highlight or style specific text within an element.\n */\n@Directive({\n selector: '[selectText]',\n})\nexport class SelectTextDirective implements OnChanges {\n @Input() selectText: string;\n\n constructor(private el: ElementRef) {}\n\n /**\n * this method utilizes setTimeout to defer the execution until the next tick of the event loop.\n * The text content of the element is modified by wrapping occurrences of the specified selectText with a <span> element,\n * applying a bold font-weight style.\n */\n private setTextColor(): void {\n const textElement = this.el.nativeElement as HTMLElement;\n setTimeout(() => {\n if (this.selectText && textElement.textContent !== undefined && textElement.textContent !== null) {\n textElement.innerHTML = textElement.textContent.replace(\n new RegExp(this.selectText, 'gmi'),\n match => `<span style=\"font-weight: bold\" >${match}</span>`\n );\n }\n }, 0);\n }\n\n ngOnChanges(): void {\n this.setTextColor();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AutocompleteUtils } from '../../utils/autocomplete-utils';\n\n/**\n * the TransformItemPipe is designed to selectively extract and return values from objects based on a specified field,\n * providing a way to transform and display data a template.\n */\n@Pipe({\n name: 'transformItem',\n})\nexport class TransformItemPipe implements PipeTransform {\n transform(value: any, field: string): any {\n if (AutocompleteUtils.isPrimitive(value)) {\n return value;\n } else if (!AutocompleteUtils.isPrimitive(value) && field && value[field]) {\n return value[field];\n } else {\n AutocompleteUtils.throwInvalidSetupError();\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * The purpose of this pipe is to determine if the value is present in the values array.\n * If values is an array, the method uses the includes method to check for inclusion.\n * If values is not an array, it checks for strict equality between value and values.\n */\n@Pipe({\n name: 'includes',\n})\nexport class IncludesPipe implements PipeTransform {\n transform(value: any, values: any): boolean {\n return Array.isArray(values) ? values.includes(value) : value === values;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n OnChanges,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { MatFormField } from '@angular/material/form-field';\nimport { map, ReplaySubject, startWith } from 'rxjs';\nimport { AutocompleteUtils } from '../../utils/autocomplete-utils';\nimport { Autocomplete, AutocompleteType, Padding, Timeout } from './autocomplete.model';\n\n@Component({\n selector: 'ui-autocomplete',\n templateUrl: './autocomplete.component.html',\n styleUrls: ['./autocomplete.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutocompleteComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AutocompleteComponent implements ControlValueAccessor, OnChanges, AfterViewInit {\n /**\n * @property itemsList\n * @description The list of items to display in the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() itemsList: any[] = [];\n\n /**\n * @property suggestionsList\n * @description The list of suggestions to display in the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() suggestionsList: any[] = [];\n\n /**\n * @property disabled\n * @description If `true`, the autocomplete is disabled.\n * @memberof AutocompleteComponent\n */\n @Input() disabled = false;\n\n /**\n * @property allowAdd\n * @description If `true`, allows adding new values to the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() allowAdd = true;\n\n /**\n * @property textField\n * @description The field to be used as the display text in the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() textField = '';\n\n /**\n * @property valueField\n * @description The field to be used as the value in the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() valueField = '';\n\n /**\n * @property label\n * @description The label for the autocomplete input.\n * @memberof AutocompleteComponent\n */\n @Input() label = '';\n\n /**\n * @property value\n * @description The selected value(s) in the autocomplete.\n * @memberof AutocompleteComponent\n */\n @Input() set itemValue(v: any) {\n this.value = AutocompleteUtils.isArray(v) ? v : [v];\n }\n\n /**\n * @property type\n * @description The type of the autocomplete ('single', 'multi', etc.).\n * @memberof AutocompleteComponent\n */\n @Input() type: AutocompleteType = 'multi';\n\n /**\n * @property minCharactersSearch\n * @description The minimum characters to trigger search.\n * @memberof AutocompleteComponent\n */\n @Input() minCharactersSearch = 3;\n\n @Output() selectionChange = new EventEmitter<any>();\n @Output() searchTextChange = new EventEmitter<string>();\n\n @ViewChild('matFormField') matFormFieldElement: MatFormField;\n @ViewChild('tagContainer') tagContainer: ElementRef<HTMLElement>;\n\n private readonly cdr = inject(ChangeDetectorRef);\n protected value: any;\n protected inputValue: any = '';\n protected isInputFocus = false;\n protected autocompleteType = Autocomplete;\n protected isOverLapping = false;\n protected isOverlapChecking = true;\n protected overlapIndex = 0;\n protected inputValueSearch$ = new ReplaySubject<string>(1);\n protected filteredItemsList$ = this.inputValueSearch$.pipe(\n startWith(''),\n map(inputValue =>\n inputValue.length ? AutocompleteUtils.filterItems(this.itemsList, inputValue, this.textField) : null\n )\n );\n protected filteredSuggestionList$ = this.inputValueSearch$.pipe(\n map(inputValue =>\n inputValue.length ? AutocompleteUtils.filterItems(this.suggestionsList, inputValue, this.textField) : null\n )\n );\n protected searchResult$ = this.inputValueSearch$.pipe(map(inputValue => !!inputValue.trim()));\n\n protected translationContext = 'AUTOCOMPLETE.';\n\n ngOnChanges(): void {\n this.itemsList = AutocompleteUtils.excludeSuggestions(this.itemsList, this.suggestionsList, this.valueField);\n this.initValue();\n }\n\n ngAfterViewInit(): void {\n if (this.type !== Autocomplete.LARGE) {\n this.checkOverlap(Timeout.VIEW_INITIALIZED_COMPONENT_LOAD);\n }\n }\n\n onChange = (_: any) => {};\n onTouch = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n protected onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const inputValue = event.option.value;\n const itemValue = AutocompleteUtils.createValueItem(inputValue, this.textField, this.valueField);\n this.addNewValue(itemValue);\n\n if (this.type === this.autocompleteType.MULTI) {\n this.checkOverlap();\n }\n\n queueMicrotask(() => {\n if (this.type !== this.autocompleteType.SINGLE) {\n this.inputValue = '';\n } else {\n this.inputValue = AutocompleteUtils.transformDisplayValue(this.value, this.textField);\n }\n this.cdr.markForCheck();\n });\n\n this.onUpdate();\n }\n\n protected onOptionRemoved(input: any, option: any): void {\n setTimeout(() => (input.showPanel = false), 0);\n\n const foundValue = this.value.find((v: any) => v === option);\n\n if (foundValue) {\n this.value = this.value.filter((v: any) => v !== option);\n }\n\n if (this.type === this.autocompleteType.MULTI) {\n this.checkOverlap();\n }\n\n if (!this.value.length) {\n this.inputValue = '';\n }\n\n this.onUpdate();\n }\n\n protected onInputChange(event: Event): void {\n const inputValue = (event.target as HTMLInputElement).value;\n if (inputValue.length >= this.minCharactersSearch) {\n this.inputValueSearch$.next(inputValue);\n this.searchTextChange.emit(inputValue);\n } else {\n this.inputValueSearch$.next('');\n }\n }\n\n protected onClear(): void {\n this.inputValue = '';\n this.value = AutocompleteUtils.isArray(this.value) ? [] : '';\n this.isOverLapping = false;\n this.overlapIndex = 0;\n this.onUpdate();\n }\n\n protected refillInput(): void {\n if (this.value && this.type === this.autocompleteType.SINGLE && !this.inputValue) {\n this.inputValue = AutocompleteUtils.transformDisplayValue(this.value, this.textField);\n this.inputValueSearch$.next('');\n }\n\n if (!this.inputValue && this.value?.length) {\n this.inputValue = ' ';\n }\n\n this.isInputFocus = false;\n }\n\n protected onFocus(): void {\n this.isInputFocus = true;\n\n const inputValue = AutocompleteUtils.isArray(this.inputValue) ? this.inputValue[0] : this.inputValue;\n\n if (AutocompleteUtils.isPrimitive(inputValue)) {\n if (inputValue?.match(/^\\s+/gm)) {\n this.inputValue = inputValue.trimStart();\n }\n } else {\n if (inputValue[this.textField]?.match(/^\\s+/gm)) {\n this.inputValue = inputValue[this.textField].trimStart();\n }\n }\n }\n\n private checkOverlap(delay = Timeout.VIEW_INITIALIZED_AFTER_ACTION): void {\n this.isOverLapping = false;\n this.isOverlapChecking = true;\n\n setTimeout(() => {\n const inputWidth =\n this.matFormFieldElement?._textField.nativeElement.clientWidth - Padding.AUTOCOMPLETE_CONTAINER;\n const tags = this.tagContainer?.nativeElement.querySelectorAll('.value-tag');\n\n if (tags) {\n let width = 0;\n\n tags.forEach((tag: any, index: number) => {\n width += tag.getBoundingClientRect().width;\n\n if (!this.isOverLapping && width > inputWidth) {\n this.isOverLapping = true;\n this.overlapIndex = index;\n }\n });\n this.isOverlapChecking = false;\n this.cdr.markForCheck();\n }\n }, delay);\n }\n\n private onUpdate(): void {\n this.inputValueSearch$.next('');\n this.selectionChange.emit(this.value);\n this.onChange(this.value);\n }\n\n private initValue(): void {\n if (this.type === this.autocompleteType.SINGLE) {\n this.inputValue = AutocompleteUtils.transformDisplayValue(this.value[0], this.textField);\n }\n if (this.type === this.autocompleteType.MULTI) {\n this.checkOverlap();\n }\n }\n\n private addNewValue(newValue: any): void {\n if (this.type !== this.autocompleteType.SINGLE && !this.value) {\n this.value = [];\n }\n\n const foundDuplicate = AutocompleteUtils.findDuplicate(this.value, newValue, this.textField);\n\n if (this.type !== this.autocompleteType.SINGLE) {\n this.value = foundDuplicate ? this.value.filter((v: any) => v !== foundDuplicate) : [...this.value, newValue];\n } else {\n this.value = newValue;\n }\n }\n}\n","<ng-container *transloco=\"let t\">\n <div class=\"autocomplete-wrapper\">\n <mat-form-field\n [appearance]=\"'outline'\"\n #matFormField\n [ngClass]=\"{ 'large-size': type === autocompleteType.LARGE, disabled: disabled }\"\n >\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div class=\"input-container\">\n <div\n class=\"selected-items\"\n #tagContainer\n *ngIf=\"\n (type === autocompleteType.LARGE && this.value) ||\n (!(inputValue && this.isInputFocus) && this.value && type !== autocompleteType.SINGLE)\n \"\n >\n <ui-tag\n class=\"value-tag\"\n [id]=\"'ui-tag-' + i\"\n *ngFor=\"let valueItem of value; let i = index\"\n [label]=\"valueItem | transformItem: textField\"\n [allowClose]=\"true\"\n [style.display]=\"isOverLapping && i >= overlapIndex ? 'none' : 'block'\"\n [ngClass]=\"{\n 'overlap-tag': isOverlapChecking && overlapIndex && i >= overlapIndex && type === autocompleteType.MULTI\n }\"\n (close)=\"onOptionRemoved(autocomplete, valueItem)\"\n ></ui-tag>\n <ng-container *ngIf=\"isOverLapping\">\n <div *ngIf=\"!overlapIndex; else overlapTag\" class=\"overlap-count\">\n {{ t(translationContext + 'SELECTED_AMOUNT', { numberSelected: (value | slice: overlapIndex).length }) }}\n </div>\n <ng-template #overlapTag>\n <ui-tag [readOnly]=\"true\" [label]=\"'+' + (value | slice: overlapIndex).length\"></ui-tag>\n </ng-template>\n </ng-container>\n </div>\n <input\n [disabled]=\"disabled\"\n [ngClass]=\"{ 'unset-margin': this.value && type === autocompleteType.LARGE }\"\n (blur)=\"refillInput()\"\n (focusin)=\"onFocus()\"\n matInput\n [type]=\"'text'\"\n [matAutocomplete]=\"autocomplete\"\n (input)=\"onInputChange($event)\"\n [(ngModel)]=\"inputValue\"\n />\n </div>\n\n <ui-icon\n class=\"remove-selected\"\n [ngClass]=\"{ 'large-input-icon': type === autocompleteType.LARGE }\"\n (click)=\"onClear()\"\n *ngIf=\"inputValue || value?.length\"\n [size]=\"'24'\"\n [name]=\"'Close'\"\n ></ui-icon>\n\n <mat-autocomplete\n #autocomplete\n (optionSelected)=\"onOptionSelected($event)\"\n [hideSingleSelectionIndicator]=\"false\"\n >\n <ng-container *ngIf=\"!(searchResult$ | async)\">\n <mat-optgroup [label]=\"t(translationContext + 'SUGGESTED')\" *ngIf=\"suggestionsList.length\">\n <mat-option\n [ngClass]=\"{ 'selected-option': suggested | includes: value }\"\n *ngFor=\"let suggested of suggestionsList\"\n [value]=\"suggested\"\n >\n <span [selectText]=\"inputValue\">{{ suggested | transformItem: textField }}</span>\n <ui-icon [name]=\"'Check'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <mat-optgroup [label]=\"t(translationContext + 'SELECTED') | uppercase\" *ngIf=\"value?.length && type !== autocompleteType.SINGLE\">\n <mat-option\n [ngClass]=\"{ 'selected-option': item | includes: value }\"\n *ngFor=\"let item of value\"\n [value]=\"item\"\n >\n <span>{{ item | transformItem: textField }}</span>\n <ui-icon [name]=\"'Check'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-container *ngIf=\"filteredSuggestionList$ | async as filteredSuggestionList\">\n <ng-container *ngIf=\"filteredItemsList$ | async as filteredItemsList\">\n <mat-optgroup [label]=\"t(translationContext + 'SUGGESTED') | uppercase\" *ngIf=\"filteredSuggestionList.length\">\n <mat-option\n [ngClass]=\"{ 'selected-option': item | includes: value }\"\n *ngFor=\"let item of filteredSuggestionList\"\n [value]=\"item\"\n >\n <span [selectText]=\"inputValue\">{{ item | transformItem: textField }}</span>\n <ui-icon [name]=\"'Check'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n\n <ng-container *ngIf=\"!filteredSuggestionList.length; else showItemListWithGroup\">\n <mat-option\n [ngClass]=\"{ 'selected-option': item | includes: value }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"inputValue\">{{ item | transformItem: textField }}</span>\n <ui-icon [name]=\"'Check'\"></ui-icon>\n </mat-option>\n </ng-container>\n\n <ng-template #showItemListWithGroup>\n <mat-optgroup [label]=\"t(translationContext + 'ALL_ITEMS') | uppercase\" *ngIf=\"filteredItemsList.length\">\n <mat-option\n [ngClass]=\"{ 'selected-option': item | includes: value }\"\n *ngFor=\"let item of filteredItemsList\"\n [value]=\"item\"\n >\n <span [selectText]=\"inputValue\">{{ item | transformItem: textField }}</span>\n <ui-icon [name]=\"'Check'\"></ui-icon>\n </mat-option>\n </mat-optgroup>\n </ng-template>\n\n <ng-container *ngIf=\"!filteredItemsList.length && !filteredSuggestionList.length && inputValue\">\n <ng-container *ngIf=\"allowAdd; else notFound\">\n <mat-option [value]=\"inputValue\">\n <span>{{ t('COMMON.ADD') }}</span>\n <span class=\"add-suggestion\">\"{{ inputValue }}\"</span>\n </mat-option>\n </ng-container>\n\n <ng-template #notFound>\n <mat-option [style.pointer-events]=\"'none'\">\n <span>{{ t(translationContext + 'NO_RESULTS_FOUND') }}</span>\n </mat-option>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n</ng-container>\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AutocompleteComponent } from './autocomplete.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule } from '@angular/forms';\nimport { TagComponentModule } from '../tag/tag.component.module';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { IconComponentModule } from '../icon/icon.component.module';\nimport { TransformItemPipe } from './transform-Item.pipe';\nimport { IncludesPipe } from './includes.pipe';\nimport { SelectTextDirective } from '../../directives/select-text.directive';\nimport { TranslocoModule, TranslocoService } from '@ngneat/transloco';\nimport { lastValueFrom } from 'rxjs';\n\nconst preloadLang = (transloco: TranslocoService) => () => {\n transloco.setActiveLang('en');\n return lastValueFrom(transloco.load('en'));\n};\n\n@NgModule({\n declarations: [AutocompleteComponent, TransformItemPipe, IncludesPipe, SelectTextDirective],\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n FormsModule,\n TagComponentModule,\n MatChipsModule,\n IconComponentModule,\n TranslocoModule,\n ],\n exports: [AutocompleteComponent],\n providers: [\n TransformItemPipe,\n IncludesPipe,\n SelectTextDirective,\n {\n provide: APP_INITIALIZER,\n useFactory: preloadLang,\n deps: [TranslocoService],\n multi: true,\n },\n ],\n})\nexport class AutocompleteComponentModule {}\n","/* eslint-disable */\n\n/* Components */\n// Alert Banner\nexport * from './components/alert-banner/alert-banner.component';\nexport * from './components/alert-banner/alert-banner.component.module';\n// Banner Action\nexport * from './components/banner-action/banner-action.component';\nexport * from './components/banner-action/banner-action.component.module';\n// Button\nexport * from './components/button/button.component';\nexport * from './components/button/button.component.module';\nexport * from './components/button/button.model';\n// Card\nexport * from './components/card/card.component';\nexport * from './components/card/card.component.module';\n// Checkbox\nexport * from './components/checkbox/checkbox.component';\nexport * from './components/checkbox/checkbox.component.module';\n// Create Account\nexport * from './components/create-account/create-account.component';\nexport * from './components/create-account/create-account.component.module';\nexport * from './components/create-account/create-account.model';\n// Create Password\nexport * from './components/create-password/create-password.component';\nexport * from './components/create-password/create-password.component.module';\nexport * from './components/create-password/create-password.model';\n// Dialog\nexport * from './components/dialog/dialog.component';\nexport * from './components/dialog/dialog.component.module';\nexport * from './components/dialog/dialog.service';\n// Elevation shadow\nexport * from './components/elevation-shadow/elevation-shadow.component';\nexport * from './components/elevation-shadow/elevation-shadow.component.module';\nexport * from './components/elevation-shadow/elevation-shadow.constant';\n// Field\nexport * from './components/field/field.component';\nexport * from './components/field/field.component.module';\nexport * from './components/field/field.model';\n// File upload\nexport * from './components/file-upload/file-upload.component';\nexport * from './components/file-upload/file-upload.component.module';\n// Forgot password\nexport * from './components/forgot-password/forgot-password.component';\nexport * from './components/forgot-password/forgot-password.component.module';\nexport * from './components/forgot-password/forgot-password.model';\n// Icon\nexport * from './components/icon/icon.component';\nexport * from './components/icon/icon.component.module';\nexport * from './components/icon/icon.model';\n// Icon + label\nexport * from './components/icon-label/icon-label.component';\nexport * from './components/icon-label/icon-label.component.module';\n// Label\nexport * from './components/label/label.component';\nexport * from './components/label/label.component.module';\nexport * from './components/label/label.model';\n// Login\nexport * from './components/login/login.component';\nexport * from './components/login/login.component.module';\nexport * from './components/login/login.model';\n// Logo\nexport * from './components/logo/logo.component';\nexport * from './components/logo/logo.component.module';\nexport * from './components/logo/logo.model';\n// Navbar\nexport * from './components/navbar/navbar.component';\nexport * from './components/navbar/navbar.component.module';\nexport * from './components/navbar/navbar.model';\n// Navigation\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.component.module';\n// Paginator\nexport * from './components/paginator/paginator.component';\nexport * from './components/paginator/paginator.component.module';\n// Progress bar\nexport * from './components/progress-bar/progress-bar.component';\nexport * from './components/progress-bar/progress-bar.component.module';\n// Radio button\nexport * from './components/radio-button/radio-button.component';\nexport * from './components/radio-button/radio-button.component.module';\n// Snackbar\nexport * from './components/snackbar/snackbar.component';\nexport * from './components/snackbar/snackbar.component.module';\nexport * from './components/snackbar/snackbar.model';\nexport * from './components/snackbar/snackbar.service';\n// Table\nexport * from './components/table/pipes/data-property-getter';\nexport * from './components/table/table.component';\nexport * from './components/table/table.component.module';\nexport * from './components/table/table.model';\n// Tag\nexport * from './components/tag/tag.component';\nexport * from './components/tag/tag.component.module';\nexport * from './components/tag/tag.model';\n// Tooltip\nexport * from './components/tooltip/tooltip.component';\nexport * from './components/tooltip/tooltip.component.module';\nexport * from './components/tooltip/tooltip.model';\n// Dropdown\nexport * from './components/dropdown/dropdown.component';\nexport * from './components/dropdown/dropdown.component.module';\nexport * from './components/dropdown/dropdown.model';\n// Spinner\nexport * from './components/spinner/spinner.component';\nexport * from './components/spinner/spinner.module';\n// Confirm Dialog\nexport * from './components/confirm-dialog/confirm-dialog.component';\nexport * from './components/confirm-dialog/confirm-dialog.component.module';\n// Datepicker\nexport * from './components/datepicker/datepicker.component'\nexport * from './components/datepicker/datepicker.component.module'\n// Rating\nexport * from './components/rating/rating.component'\nexport * from './components/rating/rating.component.module'\n// Tag\nexport * from './components/tag/tag.component'\nexport * from './components/tag/tag.component.module'\n// Toggle\nexport * from './components/toggle/toggle.component'\nexport * from './components/toggle/toggle.component.module'\n// Avatar\nexport * from './components/avatar/avatar.component'\nexport * from './components/avatar/avatar.component.module'\n// Input Autocomplete\nexport * from './components/autocomplete/autocomplete.component'\nexport * from './components/autocomplete/autocomplete.component.module'\nexport * from './components/autocomplete/autocomplete.model'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.IconComponent","i2.ButtonComponent","i2.LogoComponent","i4.IconComponent","i5.ButtonComponent","i6.DigitsOnlyDirective","i2.FieldComponent","i3.ButtonComponent","i4.CheckboxComponent","i6.LogoComponent","i4","i5.LogoComponent","i2.IconComponent","i3.ProgressBarComponent","i4.DragDropDirective","i1.IconComponent","i3","i5","i7.IconComponent","i4.LabelComponent","i2.LanguageService","i4.ButtonComponent","i5.IconComponent","i6","preloadLang","i1.DataPropertyGetterPipe","i7.DynamicComponentDirective","i2.DialogComponent","i3.NameInitialsPipe","i7.TagComponent","i8.IconComponent","i9","i10.SelectTextDirective","i11.TransformItemPipe","i12.IncludesPipe"],"mappings":"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"}