@es.framework/ng.ui.theme 2.0.56
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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"es.framework-ng.ui.theme.mjs","sources":["../../../../libs/ng.ui.theme/src/lib/services/layout.service.ts","../../../../libs/ng.ui.theme/src/lib/components/nav-items/languages.component.ts","../../../../libs/ng.ui.theme/src/lib/components/nav-items/app.configurator.ts","../../../../libs/ng.ui.theme/src/lib/components/nav-items/nav-items.component.ts","../../../../libs/ng.ui.theme/src/lib/components/routes/routes.component.ts","../../../../libs/ng.ui.theme/src/lib/components/routes/routes.component.html","../../../../libs/ng.ui.theme/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.ts","../../../../libs/ng.ui.theme/src/lib/components/account-layout/auth-wrapper/auth-wrapper.component.html","../../../../libs/ng.ui.theme/src/lib/components/account-layout/account-layout.component.ts","../../../../libs/ng.ui.theme/src/lib/components/account-layout/account-layout.component.html","../../../../libs/ng.ui.theme/src/lib/components/application-layout/application-layout.component.ts","../../../../libs/ng.ui.theme/src/lib/components/application-layout/application-layout.component.html","../../../../libs/ng.ui.theme/src/lib/components/empty-layout/empty-layout.component.ts","../../../../libs/ng.ui.theme/src/lib/components/index.ts","../../../../libs/ng.ui.theme/src/lib/providers/nav-item.provider.ts","../../../../libs/ng.ui.theme/src/lib/providers/styles.provider.ts","../../../../libs/ng.ui.theme/src/lib/providers/user-menu.provider.ts","../../../../libs/ng.ui.theme/src/lib/providers/theme-basic-config.provider.ts","../../../../libs/ng.ui.theme/src/lib/tokens/lazy-styles.token.ts","../../../../libs/ng.ui.theme/src/lib/index.ts","../../../../libs/ng.ui.theme/src/es.framework-ng.ui.theme.ts"],"sourcesContent":["import { Injectable, effect, signal, computed } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { eThemeBasicComponents } from '../enums';\n\nexport interface layoutConfig {\n preset?: string;\n primary?: string;\n surface?: string | undefined | null;\n darkTheme?: boolean;\n menuMode?: string;\n}\n\ninterface LayoutState {\n staticMenuDesktopInactive?: boolean;\n overlayMenuActive?: boolean;\n configSidebarVisible?: boolean;\n staticMenuMobileActive?: boolean;\n menuHoverActive?: boolean;\n}\n\ninterface MenuChangeEvent {\n key: string;\n routeEvent?: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LayoutService {\n smallScreen=false;\n logoComponentKey = eThemeBasicComponents.Logo;\n routesComponentKey = eThemeBasicComponents.Routes;\n navItemsComponentKey = eThemeBasicComponents.NavItems;\n _config: layoutConfig = {\n preset: 'Aura',\n primary: 'blue',\n surface: null,\n darkTheme: false,\n menuMode: 'static'\n };\n\n _state: LayoutState = {\n staticMenuDesktopInactive: false,\n overlayMenuActive: false,\n configSidebarVisible: false,\n staticMenuMobileActive: false,\n menuHoverActive: false\n };\n\n layoutConfig = signal<layoutConfig>(this._config);\n\n layoutState = signal<LayoutState>(this._state);\n\n private configUpdate = new Subject<layoutConfig>();\n\n private overlayOpen = new Subject<any>();\n\n private menuSource = new Subject<MenuChangeEvent>();\n\n private resetSource = new Subject();\n\n menuSource$ = this.menuSource.asObservable();\n\n resetSource$ = this.resetSource.asObservable();\n\n configUpdate$ = this.configUpdate.asObservable();\n\n overlayOpen$ = this.overlayOpen.asObservable();\n\n theme = computed(() => (this.layoutConfig()?.darkTheme ? 'light' : 'dark'));\n\n isSidebarActive = computed(() => this.layoutState().overlayMenuActive || this.layoutState().staticMenuMobileActive);\n\n isDarkTheme = computed(() => this.layoutConfig().darkTheme);\n\n getPrimary = computed(() => this.layoutConfig().primary);\n\n getSurface = computed(() => this.layoutConfig().surface);\n\n isOverlay = computed(() => this.layoutConfig().menuMode === 'overlay');\n\n transitionComplete = signal<boolean>(false);\n\n private initialized = false;\n\n constructor() {\n effect(() => {\n const config = this.layoutConfig();\n if (config) {\n this.onConfigUpdate();\n }\n });\n\n effect(() => {\n const config = this.layoutConfig();\n\n if (!this.initialized || !config) {\n this.initialized = true;\n return;\n }\n\n this.handleDarkModeTransition(config);\n });\n }\n\n private handleDarkModeTransition(config: layoutConfig): void {\n if ((document as any).startViewTransition) {\n this.startViewTransition(config);\n } else {\n this.toggleDarkMode(config);\n this.onTransitionEnd();\n }\n }\n\n private startViewTransition(config: layoutConfig): void {\n const transition = (document as any).startViewTransition(() => {\n this.toggleDarkMode(config);\n });\n\n transition.ready\n .then(() => {\n this.onTransitionEnd();\n })\n .catch(() => {});\n }\n\n toggleDarkMode(config?: layoutConfig): void {\n const _config = config || this.layoutConfig();\n if (_config.darkTheme) {\n document.documentElement.classList.add('app-dark');\n } else {\n document.documentElement.classList.remove('app-dark');\n }\n }\n\n private onTransitionEnd() {\n this.transitionComplete.set(true);\n setTimeout(() => {\n this.transitionComplete.set(false);\n });\n }\n\n onMenuToggle() {\n if (this.isOverlay()) {\n this.layoutState.update((prev) => ({ ...prev, overlayMenuActive: !this.layoutState().overlayMenuActive }));\n\n if (this.layoutState().overlayMenuActive) {\n this.overlayOpen.next(null);\n }\n }\n\n if (this.isDesktop()) {\n this.layoutState.update((prev) => ({ ...prev, staticMenuDesktopInactive: !this.layoutState().staticMenuDesktopInactive }));\n } else {\n this.layoutState.update((prev) => ({ ...prev, staticMenuMobileActive: !this.layoutState().staticMenuMobileActive }));\n\n if (this.layoutState().staticMenuMobileActive) {\n this.overlayOpen.next(null);\n }\n }\n }\n\n isDesktop() {\n return window.innerWidth > 991;\n }\n\n isMobile() {\n return !this.isDesktop();\n }\n\n onConfigUpdate() {\n this._config = { ...this.layoutConfig() };\n this.configUpdate.next(this.layoutConfig());\n }\n\n onMenuStateChange(event: MenuChangeEvent) {\n this.menuSource.next(event);\n }\n\n reset() {\n this.resetSource.next(true);\n }\n}\n","import { Component, inject, Signal, signal, effect, Inject, PLATFORM_ID } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ConfigStateService, LocalizationService, LocalStorageService } from '@es.framework/ng.core/services';\nimport { SessionStateService } from '@es.framework/ng.core/services';\nimport { LanguageInfo } from '@es.framework/ng.core/models';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonModule } from 'primeng/button';\nimport { SelectModule } from 'primeng/select';\nimport { PopoverModule } from 'primeng/popover';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n\n@Component({\n selector: 'abp-languages',\n standalone: true,\n imports: [SelectModule, FormsModule, PopoverModule, ButtonModule],\n template: `\n @if (languages(); as langs) {\n <div>\n <!-- -->\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-globe\"\n class=\"p-button-text\"\n [title]=\"'اختر اللغة'\"\n (click)=\"overlay.toggle($event)\"\n ></button>\n <p-popover #overlay >\n <ul class=\"w-48\">\n @for (lang of langs; track lang) {\n <li\n class=\"flex items-center justify-between px-3 py-2 cursor-pointer hover:bg-gray-100\"\n (click)=\"onSelectLanguage(lang.cultureName ?? ''); overlay.hide()\"\n >\n <span>{{ lang.displayName }}</span>\n @if (lang.cultureName === selectedLang()) {\n <i class=\"pi pi-check text-green-500\"></i>\n }\n </li>\n }\n </ul>\n </p-popover>\n </div>\n }\n \n `\n})\nexport class LanguagesComponent {\n private configState = inject(ConfigStateService);\n private sessionState = inject(SessionStateService);\n private translate = inject(LocalizationService);\n private localStorageService = inject(LocalStorageService);\n private in18Translate = inject(TranslateService);\n\n // Convert observable to signal\n private languages$ = this.configState.getDeep$('localization.languages');\n readonly languages: Signal<LanguageInfo[]> = toSignal(this.languages$, { initialValue: [] });\n// selectedLangValue = this.sessionState.getLanguage();\n readonly selectedLang = signal(this.sessionState.getLanguage());\n\n constructor() {\n // Update signal when language is changed from external source (optional)\n effect(() => {\n this.selectedLang.set(this.sessionState.getLanguage());\n });\n }\nonSelectLanguage(cultureName: string): void {\n\n\n try {\n this.in18Translate.use(cultureName).subscribe(() => {\n\n });\n this.localStorageService.setItem('language', cultureName);\n this.sessionState.setLanguage(cultureName);\n this.selectedLang.set(cultureName);\n\n } catch (error) {\n\n }\n\n this.updateHtmlDirection(cultureName);\n}\nprivate updateHtmlDirection(languageCode: string): void {\n const htmlElement = document.documentElement;\n if (languageCode === 'ar' || languageCode.includes('ar-')) {\n htmlElement.setAttribute('dir', 'rtl');\n htmlElement.classList.add('rtl');\n } else {\n htmlElement.setAttribute('dir', 'ltr');\n htmlElement.classList.remove('rtl');\n }\n }\n\n\n}\n","import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { Component, computed, inject, PLATFORM_ID, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { $t, updatePreset, updateSurfacePalette } from '@primeng/themes';\nimport Aura from '@primeng/themes/aura';\nimport Lara from '@primeng/themes/lara';\nimport Nora from '@primeng/themes/nora';\nimport { PrimeNG } from 'primeng/config';\nimport { SelectButtonModule } from 'primeng/selectbutton';\nimport { LayoutService } from '../../services';\n\nconst presets = {\n Aura,\n Lara,\n Nora\n} as const;\n\ndeclare type KeyOfType<T> = keyof T extends infer U ? U : never;\n\ndeclare type SurfacesType = {\n name?: string;\n palette?: {\n 0?: string;\n 50?: string;\n 100?: string;\n 200?: string;\n 300?: string;\n 400?: string;\n 500?: string;\n 600?: string;\n 700?: string;\n 800?: string;\n 900?: string;\n 950?: string;\n };\n};\n\n@Component({\n selector: 'app-configurator',\n standalone: true,\n imports: [CommonModule, FormsModule, SelectButtonModule],\n template: `\n <div class=\"flex flex-col gap-4\">\n <div>\n <span class=\"text-sm text-muted-color font-semibold\">Primary</span>\n <div class=\"pt-2 flex gap-2 flex-wrap justify-start\">\n @for (primaryColor of primaryColors(); track primaryColor.name) {\n <button\n type=\"button\"\n [title]=\"primaryColor.name\"\n (click)=\"updateColors($event, 'primary', primaryColor)\"\n [ngClass]=\"{ 'outline-primary': primaryColor.name === selectedPrimaryColor() }\"\n class=\"border-none w-5 h-5 rounded-full p-0 cursor-pointer outline-none outline-offset-1\"\n [style]=\"{\n 'background-color': primaryColor?.name === 'noir' ? 'var(--text-color)' : primaryColor?.palette?.['500']\n }\"\n ></button>\n }\n </div>\n </div>\n <div>\n <span class=\"text-sm text-muted-color font-semibold\">Surface</span>\n <div class=\"pt-2 flex gap-2 flex-wrap justify-start\">\n @for (surface of surfaces; track surface.name) {\n <button\n type=\"button\"\n [title]=\"surface.name\"\n (click)=\"updateColors($event, 'surface', surface)\"\n [ngClass]=\"{ 'outline-primary': selectedSurfaceColor() ? selectedSurfaceColor() === surface.name : layoutService.layoutConfig().darkTheme ? surface.name === 'zinc' : surface.name === 'slate' }\"\n class=\"border-none w-5 h-5 rounded-full p-0 cursor-pointer outline-none outline-offset-1\"\n [style]=\"{\n 'background-color': surface?.name === 'noir' ? 'var(--text-color)' : surface?.palette?.['500']\n }\"\n ></button>\n }\n </div>\n </div>\n <div class=\"flex flex-col gap-2\">\n <span class=\"text-sm text-muted-color font-semibold\">Presets</span>\n <p-selectbutton [options]=\"presets\" [ngModel]=\"selectedPreset()\" (ngModelChange)=\"onPresetChange($event)\" [allowEmpty]=\"false\" size=\"small\" />\n </div>\n @if (showMenuModeButton()) {\n <div class=\"flex flex-col gap-2\">\n <span class=\"text-sm text-muted-color font-semibold\">Menu Mode</span>\n <p-selectbutton [ngModel]=\"menuMode()\" (ngModelChange)=\"onMenuModeChange($event)\" [options]=\"menuModeOptions\" [allowEmpty]=\"false\" size=\"small\" />\n </div>\n }\n </div>\n `,\n\n})\nexport class AppConfigurator {\n router = inject(Router);\n\n config: PrimeNG = inject(PrimeNG);\n\n layoutService: LayoutService = inject(LayoutService);\n\n platformId = inject(PLATFORM_ID);\n\n primeng = inject(PrimeNG);\n\n presets = Object.keys(presets);\n\n showMenuModeButton = signal(!this.router.url.includes('auth'));\n\n menuModeOptions = [\n { label: 'Static', value: 'static' },\n { label: 'Overlay', value: 'overlay' }\n ];\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n const preset = this.layoutService.layoutConfig().preset as 'Aura' | 'Lara' | 'Nora';\n this.onPresetChange(preset ?? \"Aura\");\n }\n}\n\n surfaces: SurfacesType[] = [\n {\n name: 'slate',\n palette: {\n 0: '#ffffff',\n 50: '#f8fafc',\n 100: '#f1f5f9',\n 200: '#e2e8f0',\n 300: '#cbd5e1',\n 400: '#94a3b8',\n 500: '#64748b',\n 600: '#475569',\n 700: '#334155',\n 800: '#1e293b',\n 900: '#0f172a',\n 950: '#020617'\n }\n },\n {\n name: 'gray',\n palette: {\n 0: '#ffffff',\n 50: '#f9fafb',\n 100: '#f3f4f6',\n 200: '#e5e7eb',\n 300: '#d1d5db',\n 400: '#9ca3af',\n 500: '#6b7280',\n 600: '#4b5563',\n 700: '#374151',\n 800: '#1f2937',\n 900: '#111827',\n 950: '#030712'\n }\n },\n {\n name: 'zinc',\n palette: {\n 0: '#ffffff',\n 50: '#fafafa',\n 100: '#f4f4f5',\n 200: '#e4e4e7',\n 300: '#d4d4d8',\n 400: '#a1a1aa',\n 500: '#71717a',\n 600: '#52525b',\n 700: '#3f3f46',\n 800: '#27272a',\n 900: '#18181b',\n 950: '#09090b'\n }\n },\n {\n name: 'neutral',\n palette: {\n 0: '#ffffff',\n 50: '#fafafa',\n 100: '#f5f5f5',\n 200: '#e5e5e5',\n 300: '#d4d4d4',\n 400: '#a3a3a3',\n 500: '#737373',\n 600: '#525252',\n 700: '#404040',\n 800: '#262626',\n 900: '#171717',\n 950: '#0a0a0a'\n }\n },\n {\n name: 'stone',\n palette: {\n 0: '#ffffff',\n 50: '#fafaf9',\n 100: '#f5f5f4',\n 200: '#e7e5e4',\n 300: '#d6d3d1',\n 400: '#a8a29e',\n 500: '#78716c',\n 600: '#57534e',\n 700: '#44403c',\n 800: '#292524',\n 900: '#1c1917',\n 950: '#0c0a09'\n }\n },\n {\n name: 'soho',\n palette: {\n 0: '#ffffff',\n 50: '#ececec',\n 100: '#dedfdf',\n 200: '#c4c4c6',\n 300: '#adaeb0',\n 400: '#97979b',\n 500: '#7f8084',\n 600: '#6a6b70',\n 700: '#55565b',\n 800: '#3f4046',\n 900: '#2c2c34',\n 950: '#16161d'\n }\n },\n {\n name: 'viva',\n palette: {\n 0: '#ffffff',\n 50: '#f3f3f3',\n 100: '#e7e7e8',\n 200: '#cfd0d0',\n 300: '#b7b8b9',\n 400: '#9fa1a1',\n 500: '#87898a',\n 600: '#6e7173',\n 700: '#565a5b',\n 800: '#3e4244',\n 900: '#262b2c',\n 950: '#0e1315'\n }\n },\n {\n name: 'ocean',\n palette: {\n 0: '#ffffff',\n 50: '#fbfcfc',\n 100: '#F7F9F8',\n 200: '#EFF3F2',\n 300: '#DADEDD',\n 400: '#B1B7B6',\n 500: '#828787',\n 600: '#5F7274',\n 700: '#415B61',\n 800: '#29444E',\n 900: '#183240',\n 950: '#0c1920'\n }\n }\n ];\n\n selectedPrimaryColor = computed(() => {\n return this.layoutService.layoutConfig().primary;\n });\n\n selectedSurfaceColor = computed(() => this.layoutService.layoutConfig().surface);\n\n selectedPreset = computed(() => this.layoutService.layoutConfig().preset);\n\n menuMode = computed(() => this.layoutService.layoutConfig().menuMode);\n\n primaryColors = computed<SurfacesType[]>(() => {\n const presetPalette = presets[this.layoutService.layoutConfig().preset as KeyOfType<typeof presets>].primitive;\n const colors = ['blue', 'green', 'lime', 'orange', 'amber', 'yellow', 'teal', 'cyan', 'sky', 'emerald', 'indigo', 'violet', 'purple', 'fuchsia', 'pink', 'rose'];\n const palettes: SurfacesType[] = [{ name: 'noir', palette: {} }];\n\n colors.forEach((color) => {\n palettes.push({\n name: color,\n palette: presetPalette?.[color as KeyOfType<typeof presetPalette>] as SurfacesType['palette']\n });\n });\n\n return palettes;\n });\n\n getPresetExt() {\n const color: SurfacesType = this.primaryColors().find((c) => c.name === this.selectedPrimaryColor()) || {};\n const preset = this.layoutService.layoutConfig().preset;\n\n if (color.name === 'noir') {\n return {\n semantic: {\n primary: {\n 50: '{surface.50}',\n 100: '{surface.100}',\n 200: '{surface.200}',\n 300: '{surface.300}',\n 400: '{surface.400}',\n 500: '{surface.500}',\n 600: '{surface.600}',\n 700: '{surface.700}',\n 800: '{surface.800}',\n 900: '{surface.900}',\n 950: '{surface.950}'\n },\n colorScheme: {\n light: {\n primary: {\n color: '{primary.950}',\n contrastColor: '#ffffff',\n hoverColor: '{primary.800}',\n activeColor: '{primary.700}'\n },\n highlight: {\n background: '{primary.950}',\n focusBackground: '{primary.700}',\n color: '#ffffff',\n focusColor: '#ffffff'\n }\n },\n dark: {\n primary: {\n color: '{primary.50}',\n contrastColor: '{primary.950}',\n hoverColor: '{primary.200}',\n activeColor: '{primary.300}'\n },\n highlight: {\n background: '{primary.50}',\n focusBackground: '{primary.300}',\n color: '{primary.950}',\n focusColor: '{primary.950}'\n }\n }\n }\n }\n };\n } else {\n if (preset === 'Nora') {\n return {\n semantic: {\n primary: color.palette,\n colorScheme: {\n light: {\n primary: {\n color: '{primary.600}',\n contrastColor: '#ffffff',\n hoverColor: '{primary.700}',\n activeColor: '{primary.800}'\n },\n highlight: {\n background: '{primary.600}',\n focusBackground: '{primary.700}',\n color: '#ffffff',\n focusColor: '#ffffff'\n }\n },\n dark: {\n primary: {\n color: '{primary.500}',\n contrastColor: '{surface.900}',\n hoverColor: '{primary.400}',\n activeColor: '{primary.300}'\n },\n highlight: {\n background: '{primary.500}',\n focusBackground: '{primary.400}',\n color: '{surface.900}',\n focusColor: '{surface.900}'\n }\n }\n }\n }\n };\n } else {\n return {\n semantic: {\n primary: color.palette,\n colorScheme: {\n light: {\n primary: {\n color: '{primary.500}',\n contrastColor: '#ffffff',\n hoverColor: '{primary.600}',\n activeColor: '{primary.700}'\n },\n highlight: {\n background: '{primary.50}',\n focusBackground: '{primary.100}',\n color: '{primary.700}',\n focusColor: '{primary.800}'\n }\n },\n dark: {\n primary: {\n color: '{primary.400}',\n contrastColor: '{surface.900}',\n hoverColor: '{primary.300}',\n activeColor: '{primary.200}'\n },\n highlight: {\n background: 'color-mix(in srgb, {primary.400}, transparent 84%)',\n focusBackground: 'color-mix(in srgb, {primary.400}, transparent 76%)',\n color: 'rgba(255,255,255,.87)',\n focusColor: 'rgba(255,255,255,.87)'\n }\n }\n }\n }\n };\n }\n }\n }\n\n updateColors(event: any, type: 'primary' | 'surface', color: SurfacesType) {\n if (type === 'primary') {\n this.layoutService.layoutConfig.update(state => ({ ...state, primary: color.name }));\n this.applyPalette('primary', color.palette || {});\n } else if (type === 'surface') {\n this.layoutService.layoutConfig.update(state => ({ ...state, surface: color.name }));\n this.applyPalette('surface', color.palette || {});\n }\n\n event.stopPropagation();\n}\n\n applyTheme(type: string, color: any) {\n if (type === 'primary') {\n updatePreset(this.getPresetExt());\n } else if (type === 'surface') {\n\n updateSurfacePalette(color.palette);\n }\n }\nprivate applyPalette(type: 'primary' | 'surface', palette: Record<string,string> = {}) {\n if (!isPlatformBrowser(this.platformId)) return; // SSR-safe\n const root = document.documentElement;\n\n Object.entries(palette).forEach(([key, value]) => {\n if (type === 'primary') {\n root.style.setProperty(`--p-primary-${key}`, value);\n } else if (type === 'surface') {\n root.style.setProperty(`--surface-${key}`, value);\n }\n });\n}\n onPresetChange(presetName: keyof typeof presets) {\n this.layoutService.layoutConfig.update(state => ({ ...state, preset: presetName }));\n const preset = presets[presetName];\n\n // اختر اللون الحالي\n const surfacePalette = this.surfaces.find(s => s.name === this.selectedSurfaceColor())?.palette;\n\n // تطبيق primary + surface\n const primaryPalette = this.primaryColors().find(c => c.name === this.selectedPrimaryColor())?.palette;\n this.applyPalette('primary', primaryPalette || {});\n this.applyPalette('surface', surfacePalette || {});\n}\n\n onMenuModeChange(event: string) {\n this.layoutService.layoutConfig.update((prev) => ({ ...prev, menuMode: event }));\n }\n}\n","import { lastValueFrom, Observable } from 'rxjs';\nimport { Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { StyleClassModule } from 'primeng/styleclass';\nimport { AvatarModule } from 'primeng/avatar';\nimport { MenuModule } from 'primeng/menu';\nimport { ButtonModule } from 'primeng/button';\nimport { OverlayModule } from 'primeng/overlay';\n\nimport { VisibleDirective } from '@es.framework/ng.core/directives';\nimport { HasPermissionDirective } from '@es.framework/ng.core/directives';\nimport { ToInjectorPipe, TranslatePipe } from '@es.framework/ng.core/pipes';\nimport { NavItemsService, UserMenuService, ConfigStateService, SessionStateService, LocalizationService } from '@es.framework/ng.core/services';\nimport { UserMenu, CurrentUserDto } from '@es.framework/ng.core/models';\nimport { LanguagesComponent } from './languages.component';\nimport { AppConfigurator } from './app.configurator';\nimport { LayoutService } from '../../services';\nimport { AuthService } from '@es.framework/ng.core/abstracts';\nimport { MenuItem } from 'primeng/api';\nimport { PopoverModule } from 'primeng/popover';\n\n@Component({\n selector: 'app-nav-items',\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n StyleClassModule,\n AppConfigurator,\n LanguagesComponent,\n AvatarModule,\n MenuModule,\n ButtonModule,\n OverlayModule,\n TranslatePipe,\n VisibleDirective,\n HasPermissionDirective,\n ToInjectorPipe,\n PopoverModule\n ],\n template: `\n <header class=\"flex items-center justify-between px-6 h-16 bg-white shadow sticky top-0 z-9\">\n <!-- Left: Logo / Title -->\n <div class=\"flex items-center space-x-3 rtl:space-x-reverse\">\n <img src=\"assets/logo.png\" alt=\"Logo\" class=\"h-8 w-8\" />\n <span class=\"text-lg font-semibold text-gray-800\">{{ '' | translate }}</span>\n </div>\n \n <!-- Center: Nav Items -->\n <div class=\"flex items-center space-x-4 rtl:space-x-reverse\">\n <ul class=\"flex space-x-4\">\n @for (item of navItems.items$ | async; track item.id) {\n @if (!item.visible || item.visible(item)) {\n <ng-container *frameworkVisible=\"!item.visible || item.visible(item)\">\n <li class=\"flex items-center\">\n @if (item.component) {\n <ng-container\n [ngComponentOutlet]=\"item.component\"\n [ngComponentOutletInjector]=\"item | toInjector\"\n ></ng-container>\n } @else {\n <button\n pButton\n type=\"button\"\n class=\"p-button-text hover:bg-gray-100 focus:outline-none flex items-center\"\n (click)=\"item.action?.()\"\n >\n <span [innerHTML]=\"item.html\"></span>\n </button>\n }\n </li>\n </ng-container>\n }\n }\n </ul>\n </div>\n \n <!-- Right: Actions -->\n <div class=\"flex items-center rtl:space-x-reverse\">\n <!-- Configurator -->\n \n <div>\n <!-- -->\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-palette\"\n class=\"p-button-text\"\n [title]=\"''\"\n (click)=\"overlay.toggle($event)\"\n >\n </button>\n \n <p-popover #overlay >\n <app-configurator />\n </p-popover>\n </div>\n \n \n <!-- Dark Mode Toggle -->\n <button\n pButton\n type=\"button\"\n [icon]=\"layoutService.isDarkTheme() ?'pi pi-moon': 'pi pi-sun'\"\n class=\"p-button-text\"\n (click)=\"toggleDarkMode()\">\n </button>\n \n <!-- Language Switcher -->\n <abp-languages></abp-languages>\n \n <!-- User Menu -->\n <div class=\"relative\">\n <button\n class=\"p-link p-2\"\n (click)=\"menu.toggle($event)\"\n aria-label=\"User menu\"\n >\n <p-avatar\n [label]=\"loading ? '' : userName\"\n [icon]=\"loading ? 'pi pi-spinner' : ''\"\n [class]=\"{'pi-spin': loading}\"\n shape=\"circle\"\n class=\"bg-blue-600 text-white cursor-pointer\"\n [title]=\"(currentUser$ | async)?.name || ''\"\n ></p-avatar>\n </button>\n \n <p-menu\n #menu\n [model]=\"userMenuItems\"\n [popup]=\"true\"\n [appendTo]=\"'body'\"\n styleClass=\"w-64 sm:w-72 shadow-lg rounded-md\"\n >\n <ng-template pTemplate=\"start\">\n <div class=\"px-5 py-4 border-b border-gray-200 bg-gray-50 flex flex-col items-center text-center\">\n <p-avatar\n [label]=\"userName\"\n shape=\"circle\"\n size=\"xlarge\"\n styleClass=\"bg-blue-600 text-white mb-3 shadow-lg\"\n [title]=\"(currentUser$ | async)?.name || ''\"\n ></p-avatar>\n <h5 class=\"text-xl font-semibold text-gray-800 leading-tight\">\n {{ (currentUser$ | async)?.name || 'اسم المستخدم' }}\n </h5>\n <p class=\"text-sm text-gray-600 truncate max-w-full\">\n {{ (currentUser$ | async)?.email || 'لا يوجد بريد إلكتروني' }}\n </p>\n @if ((selectedTenant$ | async); as tenant) {\n <span\n class=\"inline-block mt-2 px-3 py-1 text-xs rounded-full font-semibold\"\n [ngClass]=\"{\n 'bg-green-100 text-green-800': true\n }\"\n >\n {{ tenant?.name || '_' }}\n </span>\n }\n </div>\n </ng-template>\n \n <ng-template pTemplate=\"item\" let-item>\n <!-- *frameworkVisible=\"!item.visible || item.visible(item)\" -->\n <ng-container >\n <!-- *hasPermission=\"item.requiredPolicy\" -->\n <a\n \n class=\"p-menuitem-link flex items-center space-x-3 rtl:space-x-reverse px-5 py-2 hover:bg-gray-100 rounded-md\"\n [ngClass]=\"item.styleClass || ''\"\n (click)=\"item.command ? item.command() : null\"\n [routerLink]=\"item.routerLink ? item.routerLink : null\"\n tabindex=\"0\"\n >\n @if (item.component) {\n <ng-container\n [ngComponentOutlet]=\"item.component\"\n [ngComponentOutletInjector]=\"item | toInjector\"\n ></ng-container>\n } @else {\n <i [class]=\"item.icon + ' text-lg text-gray-600'\"></i>\n <span class=\"text-gray-700\">{{ item.label | translate }}</span>\n }\n </a>\n </ng-container>\n </ng-template>\n </p-menu>\n </div>\n \n <!-- Logout Button (separate from menu) -->\n <!-- <button\n type=\"button\"\n class=\"layout-topbar-action\"\n (click)=\"logout()\"\n title=\"تسجيل الخروج\"\n >\n <i class=\"pi pi-sign-out\"></i>\n </button> -->\n </div>\n </header>\n `\n})\nexport class NavItemsComponent implements OnInit {\n private translate = inject(LocalizationService);\n private authService = inject(AuthService);\n private configState = inject(ConfigStateService);\n private sessionState = inject(SessionStateService);\n public readonly navItems = inject(NavItemsService);\n public readonly userMenu = inject(UserMenuService);\n public readonly layoutService = inject(LayoutService);\n\n loading = false;\n currentUser$!: Observable<CurrentUserDto>;\n selectedTenant$!: Observable<any>;\n userMenuItems: MenuItem[] = [];\n\n constructor() {\n this.currentUser$ = this.configState.getOne$('currentUser');\n this.selectedTenant$ = this.sessionState.getTenant$();\n }\n\n ngOnInit() {\n // Get user menu items from the service and convert to PrimeNG format\n this.userMenu.items$.subscribe(async items => {\n this.userMenuItems = await this.convertToPrimeMenuItems(items);\n\n });\n }\n private async convertToPrimeMenuItems(userMenus: UserMenu[]): Promise<MenuItem[]> {\n const primeItems: MenuItem[] = [];\n\n for (const userMenu of userMenus) {\n // Check visibility if defined\n let isVisible = true;\n if (userMenu.visible) {\n const visibilityResult = userMenu.visible(userMenu);\n if (visibilityResult instanceof Promise) {\n isVisible = await visibilityResult;\n } else if (visibilityResult instanceof Observable) {\n isVisible = await lastValueFrom(visibilityResult);\n } else {\n isVisible = !!visibilityResult;\n }\n }\n\n if (!isVisible) continue;\n\n\n // Create PrimeNG menu item\n const primeItem: MenuItem = {\n id: userMenu.id?.toString(),\n label: userMenu.textTemplate?.text || '',\n icon: userMenu.textTemplate?.icon || '',\n // routerLink: userMenu.component ? undefined : ['#'],\n routerLink: null,\n command: userMenu.action ? (event) => {\n if (userMenu.action) {\n userMenu.action();\n // if (this.menu) {\n // this.menu.hide();\n // }\n }\n } : undefined,\n visible: isVisible,\n data: {\n $implicit: userMenu // Pass the original userMenu as data\n }\n };\n\n // If it has a component, set it up\n if (userMenu.component) {\n // primeItem.data = {\n // ...primeItem.data,\n // component: userMenu.component\n // };\n }\n\n // Handle badge\n if (userMenu.badge) {\n primeItem.badge = userMenu.badge.count?.toString() || '';\n primeItem.badgeStyleClass = `p-badge p-badge-${userMenu.badge.color || 'danger'}`;\n }\n\n primeItems.push(primeItem);\n }\n\n return primeItems;\n }\n toggleDarkMode() {\n this.layoutService.layoutConfig.update((state) => ({\n ...state,\n darkTheme: !state.darkTheme\n }));\n }\n\n get userName(): string {\n // This will be updated when currentUser$ emits\n let name = '?';\n this.currentUser$.subscribe(user => {\n if (user?.name) {\n const names = user.name.split(' ');\n if (names.length >= 2) {\n name = `${names[0][0]}`;\n } else if (names[0]) {\n name = names[0][0];\n }\n }\n });\n return name;\n }\n\n get userStatus(): string {\n let status = this.translate.instant('UNKNOWN');\n this.currentUser$.subscribe(user => {\n if (!user) return;\n this.translate.instant('ACTIVE');\n });\n return status;\n }\n\n onProfileSettings() {\n // Navigate to profile settings\n console.log('Profile settings clicked');\n }\n\n onChangePassword() {\n // Navigate to change password\n console.log('Change password clicked');\n }\n\n logout() {\n this.authService.logout().subscribe();\n }\n\n get smallScreen(): boolean {\n return window.innerWidth < 992;\n }\n\n navigateToLogin() {\n this.authService.navigateToLogin();\n }\n}\n","import { Component, HostListener, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { Router, RouterModule } from '@angular/router';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { TranslatePipe } from '@es.framework/ng.core/pipes';\nimport { StyleClassModule } from 'primeng/styleclass';\nimport { ConfigStateService, LocalizationService } from '@es.framework/ng.core/services';\nimport { RoutesService } from '@es.framework/ng.core/services';\nimport { Route } from '@es.framework/ng.core/models';\nimport { LayoutService } from '../../services/layout.service';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { MenuItem } from 'primeng/api';\n\n@Component({\n selector: 'app-routes',\n standalone: true,\n imports: [CommonModule, RouterModule, TooltipModule, TranslatePipe, StyleClassModule],\n styleUrls: ['./routes.component.scss'],\n templateUrl:'./routes.component.html'\n})\nexport class RoutesComponent {\n subSidebarVisible = false;\n sidebarVisible = true;\n isMobile = false;\n\n private router = inject(Router);\n public localization = inject(LocalizationService);\n public readonly layoutService = inject(LayoutService);\n public readonly routesService = inject(RoutesService);\n configState = inject(ConfigStateService);\n\n secondToLastLevel$!: Observable<MenuItem[]>;\n private _menuItemsSubject = new BehaviorSubject<MenuItem[]>([]);\n\n // menuItems$!: Observable<MenuItem[]>;\npublic menuItems$ = this._menuItemsSubject.asObservable();\n\n constructor() {\n // this.menuItems$ = this.routesService.visible$.pipe(\n // map(routes => this.buildItems(routes).map(item => ({ ...item, expanded: true })))\n // );\n\n this.routesService.visible$.pipe(\n map(routes => this.buildItems(routes).map(item => ({ ...item, expanded: true })))\n ).subscribe(items => this._menuItemsSubject.next(items));\n }\n\n ngOnInit() {\n this.checkViewport();\n this.secondToLastLevel$ = this.menuItems$.pipe(\n map(items => {\n const result: MenuItem[] = [];\n for (const item of items) {\n if (item.items && item.items.length > 0) {\n // إضافة جميع الأبناء المباشرين (المستوى الثاني)\n result.push(...item.items);\n }\n }\n return result;\n })\n);\n // this.secondToLastLevel$ = this.menuItems$.pipe(\n // map(items => this.getSecondToLastLevel(items))\n // );\n\n\n }\n\ngetSecondToLastLevel(items: MenuItem[]): MenuItem[] {\n const result: MenuItem[] = [];\n\n const traverse = (nodes: MenuItem[]) => {\n for (const node of nodes) {\n if (node.items && node.items.length > 0) {\n // Check if any child has its own children\n const hasGrandChildren = node.items.some(c => c.items && c.items.length > 0);\n if (!hasGrandChildren) {\n // Node is right before the last level\n result.push(node);\n } else {\n traverse(node.items);\n }\n }\n }\n };\n\n traverse(items);\n return result;\n}\n\n onParentClick(item: any) {\n // toggle expand\n item.expanded = !item.expanded;\n\n // TODO: Navigate to shell route if needed\n // if (item.items?.length) {\n // // Navigate to shell route\n // // Split the path into segments for Angular\n // const pathSegments = item.routerLink\n // ? (Array.isArray(item.routerLink) ? item.routerLink : item.routerLink.split('/').filter(Boolean))\n // : [];\n\n // this.router.navigate(pathSegments);\n // } else if (item.routerLink) {\n // const pathSegments = Array.isArray(item.routerLink) ? item.routerLink : item.routerLink.split('/').filter(Boolean);\n // this.router.navigate(pathSegments);\n // }\n\n // this.subSidebarVisible = true;\n}\n\n\n\n @HostListener('window:resize')\n onResize() { this.checkViewport(); }\n\n checkViewport() {\n this.isMobile = window.innerWidth < 1024;\n if (this.isMobile) {\n this.sidebarVisible = false;\n this.subSidebarVisible = false;\n } else {\n this.sidebarVisible = true;\n this.subSidebarVisible = true;\n }\n }\n\n toggleAll() {\n if (this.isMobile) {\n this.sidebarVisible = !this.sidebarVisible;\n this.subSidebarVisible = this.sidebarVisible;\n } else {\n this.subSidebarVisible = !this.subSidebarVisible;\n }\n }\n\n openMenu() {\n this.sidebarVisible = true;\n this.subSidebarVisible = true;\n }\n\n\nexpandPath(items: MenuItem[], target: MenuItem): boolean {\n for (const item of items) {\n if (item === target) return true;\n\n if (item.items && item.items.length > 0) {\n const found = this.expandPath(item.items, target);\n if (found) {\n item.expanded = true; // expand parent\n return true;\n }\n }\n }\n return false;\n}\n\nonMainClick(target: MenuItem) {\n const items = this._menuItemsSubject.value;\n const isExternal = (target as any).isExternal ?? false;\n\n if (!target.items?.length) {\n if (isExternal && target.url) {\n window.open(target.url, '_blank', 'noopener,noreferrer');\n\n if (this.isMobile) this.closeMenu();\n\n this.expandPath(items, target);\n this._menuItemsSubject.next([...items]);\n return;\n }\n\n if (target.routerLink) {\n const currentUrl = this.router.url;\n const targetUrl = Array.isArray(target.routerLink)\n ? target.routerLink[0]\n : target.routerLink;\n\n if (currentUrl !== targetUrl) {\n this.router.navigate(\n Array.isArray(target.routerLink) ? target.routerLink : [target.routerLink]\n );\n }\n\n if (this.isMobile) this.closeMenu();\n\n this.expandPath(items, target);\n this._menuItemsSubject.next([...items]);\n return;\n }\n }\n\n target.expanded = !target.expanded;\n this.subSidebarVisible = target.expanded;\n this._menuItemsSubject.next([...items]);\n}\n\n toggleExpand(item: any) {\n item.expanded = !item.expanded;\n }\n\n closeMenu() {\n this.subSidebarVisible = false;\n this.sidebarVisible = false;\n this.menuItems$.subscribe(items => {\n items.forEach(item => item.expanded = false);\n });\n }\n\n // @HostListener('document:keydown.escape')\n // onEsc() {\n // this.closeMenu();\n // }\n\n onNavigate() {\n if (this.isMobile) {\n this.closeMenu();\n }\n }\n\n private buildItems(routes: Route[]): MenuItem[] {\n return routes\n .filter(r => !r.requiredPolicy || this.hasPermission(r.requiredPolicy))\n .map(r => this.createItem(r));\n }\n\n private createItem(route: Route): MenuItem {\n const item: MenuItem = {\n label: route.name,\n icon: route.iconClass,\n // routerLink: route.path ? [route.path] : undefined,\n title: route.name,\n expanded: false\n };\n\n if (route.isExternal) {\n item.url = route.path;\n item.target = '_blank';\n } else if (route.path) {\n item.routerLink = [route.path];\n }\n (item as any).isExternal = route.isExternal ?? false;\n (item as any).addRoute = route.addRoute ?? '';\n\n if (this.routesService.hasChildren(route.name)) {\n item.items = this.buildItems(route.children ?? []);\n }\n else{\n // TODO: check if grant permission\n // if(){\n // item['actionButtons']= [\n // {\n // icon: 'pi pi-plus',\n // tooltip: 'ADD',\n // click: (item:any, event:any) => {\n // this.router.navigate([route.path,'add']);\n // },\n // visible: (item:any) => true\n // }\n // ];\n // }\n }\n return item;\n }\n\n private hasPermission(policy: string): boolean {\n // implement using permission service\n return true;\n }\n\ngetLinkProps(item: any) {\n const isExternal = item.isExternal ?? false;\n\n return {\n isExternal,\n href: isExternal ? item.url ?? null : null,\n routerLink: !isExternal ? item.routerLink ?? null : null,\n addRoute: item.addRoute ?? ''\n };\n}\n\n}\n","<aside class=\"flex h-screen bg-white dark:bg-gray-900 transition-all duration-300\"\n [ngClass]=\"{ 'w-0 overflow-hidden': !sidebarVisible && isMobile }\">\n\n <!-- 🎨 الشريط الجانبي الرئيسي -->\n <div\n class=\"flex flex-col justify-between pt-4 pb-2 w-16 border-l shadow-xl\n bg-gradient-to-b from-primary-500 via-primary-600 to-primary-700\n text-white rounded-r-3xl\">\n\n <!-- 🔝 الأعلى -->\n <div class=\"flex flex-col items-center gap-4\">\n <img src=\"/assets/logo.png\" alt=\"Logo\"\n class=\"w-9 h-9 mt-1 rounded-lg shadow-sm\"/>\n\n <!-- زر القائمة -->\n <!-- [pTooltip]=\"'TOGGLE_MENU' | translate\" -->\n <button (click)=\"toggleAll()\"\n tooltipPosition=\"right\"\n class=\"text-white hover:scale-110 transition-transform duration-200\">\n <i class=\"pi pi-bars text-lg\"></i>\n </button>\n\n <!-- أيقونات -->\n @for (item of secondToLastLevel$ | async; track item) {\n <div class=\"relative flex flex-col items-center\">\n <!-- الأيقونة -->\n <div (click)=\"onMainClick(item)\"\n [pTooltip]=\"item.label | translate\"\n tooltipPosition=\"right\"\n class=\"relative flex items-center justify-center w-10 h-10 rounded-xl cursor-pointer\n hover:bg-white/20 transition-all duration-200\"\n [ngClass]=\"{ 'bg-white/30 scale-105 shadow-inner': item.expanded }\">\n <i [class]=\"item.icon + ' text-xl'\"></i>\n </div>\n </div>\n }\n </div>\n\n <!-- ⚙️ الأسفل -->\n <div class=\"flex flex-col items-center pb-3 text-white/80\">\n <i class=\"pi pi-cog text-lg hover:text-white cursor-pointer transition\"></i>\n </div>\n </div>\n\n <!-- 📋 القائمة الفرعية -->\n @if (subSidebarVisible) {\n <div\n class=\"w-65 border-l border-gray-200 dark:border-gray-700 glass-bg animate-slideIn\n shadow-2xl rounded-l-3xl p-4 rtl:text-right overflow-y-auto transition-all duration-300\"\n [ngClass]=\"{ 'absolute top-0 right-16 h-full z-40': isMobile }\">\n <!-- زر رجوع -->\n <button (click)=\"closeMenu()\"\n class=\"flex items-center gap-2 mb-4 text-gray-500 dark:text-gray-300 hover:text-primary-600 transition\">\n <i class=\"pi\" [ngClass]=\"isMobile ? 'pi-angle-right' : 'pi-angle-right'\"></i>\n <span>{{ 'back' | translate }}</span>\n </button>\n <!-- Recursive rendering -->\n @if (menuItems$ | async; as menuItems) {\n <ng-container *ngTemplateOutlet=\"renderMenu; context:{ $implicit: menuItems, level: 1 }\"></ng-container>\n}\n\n<ng-template #renderMenu let-items let-level=\"level\">\n @for (item of items; track item) {\n\n @if (!item.items?.length) {\n @let link = getLinkProps(item);\n <div class=\"mb-1\">\n @if (link.isExternal) {\n <a [href]=\"link.href\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n (click)=\"$event.stopPropagation()\"\n class=\"flex items-center gap-2 px-3 py-2 rounded-lg transition-all hover:bg-primary-50 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-200\">\n <i [class]=\"item.icon + ' text-base'\"></i>\n <span>{{ item.label | translate }}</span>\n <i class=\"pi pi-external-link text-[10px] opacity-50\"></i>\n </a>\n } @else {\n <div class=\"flex items-center gap-2\">\n <a [routerLink]=\"link.routerLink\"\n (click)=\"onNavigate()\"\n routerLinkActive=\"active-link\"\n class=\"flex-1 flex items-center gap-2 px-2 py-1 rounded-lg transition-all hover:bg-primary-50 dark:hover:bg-gray-800 text-gray-700 dark:text-gray-200\">\n <i [class]=\"item.icon + ' text-base'\"></i>\n <span>{{ item.label | translate }}</span>\n </a>\n\n@if (link.addRoute) {\n <a\n [routerLink]=\"[link.addRoute]\"\n (click)=\"$event.stopPropagation(); onNavigate()\"\n class=\"shrink-0 inline-flex items-center justify-center w-7 h-7 rounded-full text-gray-400 hover:text-primary-500 hover:bg-primary-50 dark:text-gray-500 dark:hover:text-primary-400 dark:hover:bg-primary-900/20 transition-all duration-200\"\n [pTooltip]=\"'ADD' | translate\"\n tooltipPosition=\"top\">\n <i class=\"pi pi-plus text-xs\"></i>\n </a>\n}\n </div>\n }\n</div>\n}\n\n @if (item.items?.length) {\n <div class=\"mb-1\">\n\n <div\n (click)=\"onParentClick(item)\"\n [style.font-size.rem]=\"1.1 - (level * 0.05)\"\n [ngClass]=\"{\n 'font-bold': level === 1,\n 'font-semibold': level === 2,\n 'font-medium': level >= 3,\n 'bg-primary-50 text-primary-700 border-r-4 border-primary-500': item.expanded\n }\"\n class=\"flex justify-between items-center py-2 px-3 rounded-lg cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 transition text-gray-800 dark:text-gray-200\">\n\n <div class=\"flex items-center gap-2\">\n\n <i [class]=\"item.icon + ' text-base'\"></i>\n\n <span>\n {{ item.label | translate }}\n </span>\n\n </div>\n\n <i\n class=\"pi\"\n [ngClass]=\"item.expanded ? 'pi-chevron-down' : 'pi-chevron-left'\"\n style=\"font-size:0.6rem;\">\n </i>\n\n </div>\n\n @if (item.expanded) {\n <div class=\"mr-4 border-r border-gray-200 dark:border-gray-700 pr-2 mt-1\">\n\n <ng-container\n *ngTemplateOutlet=\"renderMenu; context:{ $implicit: item.items, level: level + 1 }\">\n </ng-container>\n\n </div>\n }\n\n </div>\n }\n\n }\n</ng-template>\n\n </div>\n}\n\n</aside>\n\n<!-- 🌟 الزر العائم الحديث -->\n@if (isMobile && !sidebarVisible) {\n <button\n class=\"floating-btn\"\n (click)=\"openMenu()\"\n pTooltip=\"{{ 'MENU.OPEN' | translate }}\"\n tooltipPosition=\"top\">\n <img src=\"/assets/logo.png\" alt=\"App Icon\" />\n </button>\n}\n","\n\nimport { Component } from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [],\n selector: 'abp-auth-wrapper',\n templateUrl: './auth-wrapper.component.html',\n // providers: [AuthWrapperService], // in account_core\n})\nexport class AuthWrapperComponent {\n constructor(/* public service: AuthWrapperService */) {}\n}\n"," <ng-content></ng-content>\n\n\n<!-- <div class=\"row\">\n <div class=\"mx-auto col col-md-5\">\n @if ((service.isMultiTenancyEnabled$ | async) && service.isTenantBoxVisible) {\n <abp-tenant-box\n *abpReplaceableTemplate=\"{ componentKey: service.tenantBoxKey }\"\n ></abp-tenant-box>\n }\n\n <div class=\"abp-account-container\">\n @if (service.enableLocalLogin$ | async) {\n <div class=\"card mt-3 shadow-sm rounded\">\n <div class=\"card-body p-5\">\n <ng-content></ng-content>\n </div>\n </div>\n } @else {\n <div class=\"alert alert-warning\">\n <strong>{{ 'AbpAccount::InvalidLoginRequest' | localize }}</strong>\n {{ 'AbpAccount::ThereAreNoLoginSchemesConfiguredForThisClient' | localize }}\n </div>\n }\n </div>\n </div>\n</div> -->\n","import { AfterViewInit, Component } from '@angular/core';\nimport { LayoutService } from '../../services/layout.service';\nimport { SubscriptionService } from '@es.framework/ng.core/services';\nimport { eLayoutType } from '@es.framework/ng.core/models';\n\nimport { RouterOutlet } from '@angular/router';\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\nimport { RoutesComponent } from '../routes/routes.component';\nimport { AuthWrapperComponent } from './auth-wrapper/auth-wrapper.component';\nimport { ReplaceableTemplateDirective } from \"@es.framework/ng.core/directives\";\n\n@Component({\n standalone: true,\n imports: [RoutesComponent, NavItemsComponent, RouterOutlet, AuthWrapperComponent, ReplaceableTemplateDirective],\n selector: 'abp-layout-account',\n templateUrl: './account-layout.component.html',\n providers: [LayoutService, SubscriptionService],\n})\nexport class AccountLayoutComponent implements AfterViewInit {\n // required for dynamic component\n static type = eLayoutType.account;\n\n authWrapperKey = 'Account.AuthWrapperComponent';\n\n constructor(public service: LayoutService) {}\n\n ngAfterViewInit() {\n // this.service.subscribeWindowSize();\n }\n}\n"," <abp-auth-wrapper\n *abpReplaceableTemplate=\"{\n componentKey: authWrapperKey\n }\"\n >\n <router-outlet #outlet=\"outlet\"></router-outlet>\n </abp-auth-wrapper>\n","\nimport { AfterViewInit, Component, Inject, inject, Injector, NgZone, PLATFORM_ID, Renderer2 } from '@angular/core';\nimport { LayoutService } from '../../services/layout.service';\nimport { SessionStateService, SubscriptionService } from '@es.framework/ng.core/services';\nimport { eLayoutType } from '@es.framework/ng.core/models';\nimport { isPlatformBrowser } from '@angular/common';\nimport { RoutesComponent } from '../routes/routes.component';\nimport { NavItemsComponent } from '../nav-items/nav-items.component';\nimport { NavigationEnd, Router, RouterOutlet } from '@angular/router';\nimport { LocalizationService } from '@es.framework/ng.core/services';\nimport { ReplaceableTemplateDirective } from '@es.framework/ng.core/directives';\n// import { StyleLoaderService } from '@es.framework/ng.ui.shared/services';\nimport Swal from 'sweetalert2';\nimport { filter, Subscription } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [RoutesComponent, NavItemsComponent, RouterOutlet, ReplaceableTemplateDirective],\n selector: 'abp-layout-application',\n templateUrl: './application-layout.component.html',\n animations: [/* slideFromBottom, */ /* appModuleAnimation() */],\n providers: [LayoutService, SubscriptionService],\n})\nexport class ApplicationLayoutComponent implements AfterViewInit {\n public readonly localization = inject(LocalizationService);\n public readonly service = inject(LayoutService);\n public readonly platformId = inject(PLATFORM_ID);\n\n // required for dynamic component\n static type = eLayoutType.application;\n overlayMenuOpenSubscription: Subscription;\n// @Input() showTopbar= true;\n menuOutsideClickListener: any;\n private sessionState = inject(SessionStateService);\n constructor(\n public layoutService: LayoutService,\n public renderer: Renderer2,\n public router: Router,\n public _zone: NgZone,\n // private _signalRService:SignalRService,\n private translate: LocalizationService,\n ) {\n\n var isBrowser = isPlatformBrowser(this.platformId);\n\n if (isBrowser) {\n var currentLanguage = 'ar';\n const savedLanguage = localStorage.getItem('language');\n var lang = this.sessionState.getLanguage()\n\n if (savedLanguage) {\n currentLanguage = savedLanguage;\n }\n if (lang) {\n currentLanguage = lang;\n }\n try {\n // this.translate.use(currentLanguage).subscribe(() => {\n // this.sessionState.setLanguage(currentLanguage);\n // });\n this.sessionState.setLanguage(currentLanguage);\n\n } catch (error) {\n\n }\n this.updateHtmlDirection(currentLanguage);\n\n const saved = localStorage.getItem('darkTheme');\nthis.layoutService.layoutConfig.update((state) => ({ ...state, darkTheme:saved === 'true' }));\n }\n this.overlayMenuOpenSubscription = this.layoutService.overlayOpen$.subscribe(() => {\n if (!this.menuOutsideClickListener) {\n this.menuOutsideClickListener = this.renderer.listen('document', 'click', (event) => {\n if (this.isOutsideClicked(event)) {\n this.hideMenu();\n }\n });\n }\n\n if (this.layoutService.layoutState().staticMenuMobileActive) {\n this.blockBodyScroll();\n }\n });\n\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\n this.hideMenu();\n });\n }\n\n private updateHtmlDirection(languageCode: string): void {\n const htmlElement = document.documentElement;\n if (languageCode === 'ar' || languageCode.includes('ar-')) {\n htmlElement.setAttribute('dir', 'rtl');\n htmlElement.classList.add('rtl');\n } else {\n //TODO\n htmlElement.setAttribute('dir', 'ltr');\n htmlElement.classList.remove('rtl');\n }\n }\n isOutsideClicked(event: MouseEvent) {\n if (typeof document === 'undefined') return;\n const sidebarEl = document.querySelector('.layout-sidebar');\n const topbarEl = document.querySelector('.layout-menu-button');\n const eventTarget = event.target as Node;\n\n return !(sidebarEl?.isSameNode(eventTarget) || sidebarEl?.contains(eventTarget) || topbarEl?.isSameNode(eventTarget) || topbarEl?.contains(eventTarget));\n }\n\n hideMenu() {\n this.layoutService.layoutState.update((prev) => ({ ...prev, overlayMenuActive: false, staticMenuMobileActive: false, menuHoverActive: false }));\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n this.menuOutsideClickListener = null;\n }\n this.unblockBodyScroll();\n }\n\n blockBodyScroll(): void {\n if (typeof document === 'undefined') return;\n if (document.body.classList) {\n document.body.classList.add('blocked-scroll');\n } else {\n document.body.className += ' blocked-scroll';\n }\n }\n\n unblockBodyScroll(): void {\n if (typeof document === 'undefined') return;\n if (document.body.classList) {\n document.body.classList.remove('blocked-scroll');\n } else {\n document.body.className = document.body.className.replace(new RegExp('(^|\\\\b)' + 'blocked-scroll'.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n get containerClass() {\n return {\n 'layout-overlay': this.layoutService.layoutConfig().menuMode === 'overlay',\n 'layout-static': this.layoutService.layoutConfig().menuMode === 'static',\n 'layout-static-inactive': this.layoutService.layoutState().staticMenuDesktopInactive && this.layoutService.layoutConfig().menuMode === 'static',\n 'layout-overlay-active': this.layoutService.layoutState().overlayMenuActive,\n 'layout-mobile-active': this.layoutService.layoutState().staticMenuMobileActive\n };\n }\n\n ngOnInit(): void {\n }\n ngOnDestroy() {\n if (this.overlayMenuOpenSubscription) {\n this.overlayMenuOpenSubscription.unsubscribe();\n }\n\n if (this.menuOutsideClickListener) {\n this.menuOutsideClickListener();\n }\n }\n ngAfterViewInit() {\n // this.service.subscribeWindowSize();\n try {\n var mainColor = \"hsl(195,64.7%,26.2%\";\n document.body.style.setProperty('--main-theme-color', mainColor);\n // document.documentElement.style.setProperty('--main-theme-color', this.apptheme.mainColor);\n // Find the <meta> tag with the name \"theme-color\"\n var metaTag = document.querySelector('meta[name=\"theme-color\"]');\n\n // Check if the <meta> tag exists\n if (metaTag) {\n // Update the value of the content attribute\n metaTag.setAttribute('content', mainColor);\n }\n\n var metaTag1 = document.querySelector('meta[name=\"apple-mobile-web-status-bar\"]');\n\n // Check if the <meta> tag exists\n if (metaTag1) {\n // Update the value of the content attribute\n metaTag1.setAttribute('content', mainColor);\n }\n } catch (error) {\n\n }\n\n try {\n Swal.close();\n } catch (error) {\n\n }\n try {\n // new StyleLoaderService()\n // .load(\n // \"https://site-assets.fontawesome.com/releases/v6.7.2/css/all.css\",\n // \"https://cdn.jsdelivr.net/npm/primeicons@7.0.0/primeicons.min.css\",\n // // \"/assets/filepond.min.css\",\n // // \"/assets/bootstrap-datepicker.min.css\",\n // // \"/assets/activereports/styles/ar-js-viewer.css\",\n // // \"/assets/activereports/styles/ar-js-ui.css\",\n\n\n // )\n // .then(() => {\n\n // });\n } catch (error) {\n\n }\n }\n}\n","\n\n<div class=\"flex h-screen overflow-hidden\">\n\n <!-- Sidebar stays fixed -->\n\n <app-routes\n *abpReplaceableTemplate=\"{\n componentKey: service.routesComponentKey,\n inputs: { smallScreen: { value: service.smallScreen } }\n }\"\n class=\"mb-2 md:mb-0\"\n ></app-routes>\n\n <!-- Main content scrolls -->\n <main class=\"flex-1 flex flex-col overflow-hidden\">\n\n <!-- Optional Topbar -->\n <!-- @if (showTopbar) { -->\n\n <app-nav-items\n *abpReplaceableTemplate=\"{\n componentKey: service.navItemsComponentKey\n }\"\n ></app-nav-items>\n\n <!-- p-6 space-y-6 -->\n <div class=\"flex-1 overflow-y-auto\">\n <router-outlet #outlet=\"outlet\"></router-outlet>\n </div>\n\n <!-- <app-footer></app-footer> -->\n\n </main>\n\n </div>\n\n","import { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { eLayoutType } from '@es.framework/ng.core/models';\n\n@Component({\n standalone: true,\n imports:[RouterModule],\n selector: 'abp-layout-empty',\n template: ` <router-outlet></router-outlet> `,\n})\nexport class EmptyLayoutComponent {\n static type = eLayoutType.empty;\n}\n","export * from './account-layout/account-layout.component';\nexport * from './account-layout/auth-wrapper/auth-wrapper.component';\nexport * from './application-layout/application-layout.component';\nexport * from './empty-layout/empty-layout.component';\n// export * from './nav-items/languages.component';\nexport * from './nav-items/nav-items.component';\nexport * from './routes/routes.component';\n// export * from './validation-error/validation-error.component';\n","import { NavItemsService } from '@es.framework/ng.core/services';\n\nimport { inject, provideAppInitializer } from '@angular/core';\nimport { eThemeBasicComponents } from '../enums/components';\nimport { LanguagesComponent } from '../components/nav-items/languages.component';\n\nexport const BASIC_THEME_NAV_ITEM_PROVIDERS = [\n provideAppInitializer(() => {\n configureNavItems();\n }),\n];\n\n\nexport function configureNavItems() {\n const navItems = inject(NavItemsService);\n navItems.addItems([\n // {\n // id: eThemeBasicComponents.Languages,\n // order: 100,\n // component: LanguagesComponent,\n // },\n // {\n // id: eThemeBasicComponents.CurrentUser,\n // order: 100,\n // component: CurrentUserComponent,\n // },\n ]);\n}\n","\nimport { APP_INITIALIZER, inject, provideAppInitializer, Provider } from '@angular/core';\nimport { AccountLayoutComponent } from '../components/account-layout/account-layout.component';\nimport { ApplicationLayoutComponent } from '../components/application-layout/application-layout.component';\nimport { EmptyLayoutComponent } from '../components/empty-layout/empty-layout.component';\nimport { eThemeBasicComponents } from '../enums/components';\nimport { ReplaceableComponentsService } from '@es.framework/ng.core/services';\n\nexport const BASIC_THEME_STYLES_PROVIDERS = [\n provideAppInitializer(() => {\n const initializerFn = configureStyles(\n // inject(DomInsertionService),\n inject(ReplaceableComponentsService),\n );\n\n return initializerFn();\n }),\n\n];\n\nexport function configureStyles(\n // domInsertion: DomInsertionService,\n replaceableComponents: ReplaceableComponentsService,\n) {\n return () => {\n // domInsertion.insertContent(CONTENT_STRATEGY.AppendStyleToHead(styles));\n\n initLayouts(replaceableComponents);\n };\n}\n\nfunction initLayouts(replaceableComponents: ReplaceableComponentsService) {\n replaceableComponents.add({\n key: eThemeBasicComponents.ApplicationLayout,\n component: ApplicationLayoutComponent,\n });\n replaceableComponents.add({\n key: eThemeBasicComponents.AccountLayout,\n component: AccountLayoutComponent,\n });\n replaceableComponents.add({\n key: eThemeBasicComponents.EmptyLayout,\n component: EmptyLayoutComponent,\n });\n}\n","\n\nimport { Injector, inject, provideAppInitializer } from '@angular/core';\nimport { eUserMenuItems } from '../enums/user-menu-items';\nimport { AuthService } from '@es.framework/ng.core/abstracts';\nimport { NAVIGATE_TO_MANAGE_PROFILE } from '@es.framework/ng.core/tokens';\nimport { UserMenuService,SessionStateService, SsrCookieService } from '@es.framework/ng.core/services';\nimport { NavItem } from '@es.framework/ng.core/models';\n\nexport const BASIC_THEME_USER_MENU_PROVIDERS = [\n provideAppInitializer(() => {\n const initializerFn = configureUserMenu(inject(Injector));\n return initializerFn();\n }),\n];\n\n\nexport function configureUserMenu(injector: Injector) {\n const sessionService = injector.get(SessionStateService);\n const userMenu = injector.get(UserMenuService);\n const authService = injector.get(AuthService);\n const navigateToManageProfile = injector.get(NAVIGATE_TO_MANAGE_PROFILE);\n\n\n return () => {\n userMenu.addItems(\n [\n // // Only show when impersonated\n // ...(sessionService.impersonatorUserId\n // ? [{\n // id: eUserMenuItems.BackToMyAccount,\n // order: 0,\n // textTemplate: { text: 'BackToMyAccount', icon: 'pi pi-user-undo' },\n // action: () => {\n // // this.backToMyAccount()\n // },\n // }]\n // : [])\n // ,\n\n // {\n // id: eUserMenuItems.ChangePassword,\n // order: 1,\n // textTemplate: {\n // text: 'ChangePassword',\n // icon: 'pi pi-lock',\n // },\n // action: () => {\n // // this.changePassword()\n // },\n // },\n\n // {\n // id: eUserMenuItems.LoginAttempts,\n // order: 2,\n // textTemplate: {\n // text: 'LoginAttempts',\n // icon: 'pi pi-history',\n // },\n // action: () => {\n // // this.showLoginAttempts()\n // },\n // },\n\n // {\n // id: eUserMenuItems.MySettings,\n // order: 3,\n // textTemplate: {\n // text: 'MySettings',\n // icon: 'pi pi-cog',\n // },\n // // action: () => this.changeMySettings(),\n // },\n\n\n // // your existing high-order items\n // {\n // id: eUserMenuItems.MyAccount,\n // order: 100,\n // textTemplate: {\n // text: 'Account::MyAccount',\n // icon: 'pi pi-user-cog',\n // },\n // action: () => navigateToManageProfile(),\n // },\n {\n id: eUserMenuItems.Logout,\n order: 101,\n visible:(item:any) => true,\n textTemplate: {\n // text: 'تسجيل الخروج',\n text: 'Logout',\n icon: 'pi pi-sign-out',\n },\n action: () =>{\n\n authService.logout().subscribe();\n try {\n location.href = '/account/login';\n } catch (error) {\n\n }\n },\n },\n ]\n // filter out any nulls (e.g. when not impersonated)\n\n );\n};\n\n}\n\n","import { makeEnvironmentProviders, inject } from '@angular/core';\n\nimport { BASIC_THEME_NAV_ITEM_PROVIDERS } from './nav-item.provider';\nimport { BASIC_THEME_USER_MENU_PROVIDERS } from './user-menu.provider';\nimport { BASIC_THEME_STYLES_PROVIDERS } from './styles.provider';\n\nexport function provideThemeBasicConfig() {\n return makeEnvironmentProviders([\n // BrowserAnimationsModule\n BASIC_THEME_NAV_ITEM_PROVIDERS,\n BASIC_THEME_USER_MENU_PROVIDERS,\n BASIC_THEME_STYLES_PROVIDERS,\n // {\n // provide: VALIDATION_ERROR_TEMPLATE,\n // useValue: ValidationErrorComponent,\n // },\n // {\n // provide: VALIDATION_TARGET_SELECTOR,\n // useValue: '.form-group',\n // },\n // {\n // provide: VALIDATION_INVALID_CLASSES,\n // useValue: 'is-invalid',\n // },\n // LazyStyleHandler,\n // provideAppInitializer(() => {\n // inject(LazyStyleHandler);\n // }),\n ]);\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LAZY_STYLES = new InjectionToken<string[]>('LAZY_STYLES');\n","export * from './components';\nexport * from './enums';\nexport * from './models';\nexport * from './providers';\nexport * from './services';\nexport * from './tokens';\n// export * from './constants';\n// export * from './handlers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i6","i7","i1.LayoutService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4Ba,aAAa,CAAA;IACxB,WAAW,GAAC,KAAK;AACf,IAAA,gBAAgB,GAAA,qBAAA;AACd,IAAA,kBAAkB,GAAA,uBAAA;AAClB,IAAA,oBAAoB,GAAA,yBAAA;AACtB,IAAA,OAAO,GAAiB;AACpB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,OAAO,EAAE,IAAI;AACb,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,QAAQ,EAAE;KACb;AAED,IAAA,MAAM,GAAgB;AAClB,QAAA,yBAAyB,EAAE,KAAK;AAChC,QAAA,iBAAiB,EAAE,KAAK;AACxB,QAAA,oBAAoB,EAAE,KAAK;AAC3B,QAAA,sBAAsB,EAAE,KAAK;AAC7B,QAAA,eAAe,EAAE;KACpB;AAED,IAAA,YAAY,GAAG,MAAM,CAAe,IAAI,CAAC,OAAO,wDAAC;AAEjD,IAAA,WAAW,GAAG,MAAM,CAAc,IAAI,CAAC,MAAM,uDAAC;AAEtC,IAAA,YAAY,GAAG,IAAI,OAAO,EAAgB;AAE1C,IAAA,WAAW,GAAG,IAAI,OAAO,EAAO;AAEhC,IAAA,UAAU,GAAG,IAAI,OAAO,EAAmB;AAE3C,IAAA,WAAW,GAAG,IAAI,OAAO,EAAE;AAEnC,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;AAE5C,IAAA,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;AAE9C,IAAA,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhD,IAAA,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;IAE9C,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IAE3E,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,sBAAsB,2DAAC;AAEnH,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,uDAAC;AAE3D,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,sDAAC;AAExD,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,sDAAC;AAExD,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,KAAK,SAAS,qDAAC;AAEtE,IAAA,kBAAkB,GAAG,MAAM,CAAU,KAAK,8DAAC;IAEnC,WAAW,GAAG,KAAK;AAE3B,IAAA,WAAA,GAAA;QACI,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAClC,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,cAAc,EAAE;YACzB;AACJ,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;YAElC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;AAC9B,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;gBACvB;YACJ;AAEA,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;AACzC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,wBAAwB,CAAC,MAAoB,EAAA;AACjD,QAAA,IAAK,QAAgB,CAAC,mBAAmB,EAAE;AACvC,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACpC;aAAO;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,eAAe,EAAE;QAC1B;IACJ;AAEQ,IAAA,mBAAmB,CAAC,MAAoB,EAAA;AAC5C,QAAA,MAAM,UAAU,GAAI,QAAgB,CAAC,mBAAmB,CAAC,MAAK;AAC1D,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AAC/B,QAAA,CAAC,CAAC;AAEF,QAAA,UAAU,CAAC;aACN,IAAI,CAAC,MAAK;YACP,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAA,CAAC;AACA,aAAA,KAAK,CAAC,MAAK,EAAE,CAAC,CAAC;IACxB;AAEA,IAAA,cAAc,CAAC,MAAqB,EAAA;QAChC,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE;AAC7C,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;QACtD;aAAO;YACH,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QACzD;IACJ;IAEQ,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;QACjC,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;AACtC,QAAA,CAAC,CAAC;IACN;IAEA,YAAY,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAE1G,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE;AACtC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;QACJ;AAEA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YAClB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,yBAAyB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,yBAAyB,EAAE,CAAC,CAAC;QAC9H;aAAO;YACH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,sBAAsB,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAEpH,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,sBAAsB,EAAE;AAC3C,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B;QACJ;IACJ;IAEA,SAAS,GAAA;AACL,QAAA,OAAO,MAAM,CAAC,UAAU,GAAG,GAAG;IAClC;IAEA,QAAQ,GAAA;AACJ,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;IAC5B;IAEA,cAAc,GAAA;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE;QACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/C;AAEA,IAAA,iBAAiB,CAAC,KAAsB,EAAA;AACpC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;IAEA,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B;uGAzJS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFV,MAAM,EAAA,CAAA;;2FAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCuBY,kBAAkB,CAAA;AACrB,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACxC,IAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,IAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACvC,IAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjD,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;;IAGxC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC;AAC/D,IAAA,SAAS,GAA2B,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;IAEnF,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAE/D,IAAA,WAAA,GAAA;;QAEE,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AACxD,QAAA,CAAC,CAAC;IACJ;AACF,IAAA,gBAAgB,CAAC,WAAmB,EAAA;AAG7B,QAAA,IAAI;YACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAK;AAEnD,YAAA,CAAC,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;AACvD,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC;AAC3C,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;QAEtC;QAAE,OAAO,KAAK,EAAE;QAEhB;AAEF,QAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;IACzC;AACQ,IAAA,mBAAmB,CAAC,YAAoB,EAAA;AAC5C,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe;QAC5C,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACzD,YAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,YAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAClC;aAAO;AACL,YAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,YAAA,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC;IACF;uGA7CW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhCnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BR,GAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EA/BQ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,uUAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAiCrD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBApC9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC;AACjE,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BR,GAAA;AACH,iBAAA;;;ACrCD,MAAM,OAAO,GAAG;IACZ,IAAI;IACJ,IAAI;IACJ;CACM;MA4EG,eAAe,CAAA;AACxB,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAEvB,IAAA,MAAM,GAAY,MAAM,CAAC,OAAO,CAAC;AAEjC,IAAA,aAAa,GAAkB,MAAM,CAAC,aAAa,CAAC;AAEpD,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAEhC,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAEzB,IAAA,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAE9B,IAAA,kBAAkB,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,8DAAC;AAE9D,IAAA,eAAe,GAAG;AACd,QAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;AACpC,QAAA,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;KACvC;IAED,QAAQ,GAAA;AACR,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAkC;AACnF,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC;QACzC;IACJ;AAEI,IAAA,QAAQ,GAAmB;AACvB,QAAA;AACI,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ,SAAA;AACD,QAAA;AACI,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,OAAO,EAAE;AACL,gBAAA,CAAC,EAAE,SAAS;AACZ,gBAAA,EAAE,EAAE,SAAS;AACb,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE,SAAS;AACd,gBAAA,GAAG,EAAE;AACR;AACJ;KACJ;AAED,IAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAK;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,OAAO;AACpD,IAAA,CAAC,gEAAC;AAEF,IAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,OAAO,gEAAC;AAEhF,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM,0DAAC;AAEzE,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,oDAAC;AAErE,IAAA,aAAa,GAAG,QAAQ,CAAiB,MAAK;AAC1C,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAmC,CAAC,CAAC,SAAS;AAC9G,QAAA,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAChK,QAAA,MAAM,QAAQ,GAAmB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEhE,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACrB,QAAQ,CAAC,IAAI,CAAC;AACV,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,OAAO,EAAE,aAAa,GAAG,KAAwC;AACpE,aAAA,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,QAAQ;AACnB,IAAA,CAAC,yDAAC;IAEF,YAAY,GAAA;QACR,MAAM,KAAK,GAAiB,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,EAAE;QAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,MAAM;AAEvD,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,OAAO;AACH,gBAAA,QAAQ,EAAE;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,EAAE,EAAE,cAAc;AAClB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE,eAAe;AACpB,wBAAA,GAAG,EAAE;AACR,qBAAA;AACD,oBAAA,WAAW,EAAE;AACT,wBAAA,KAAK,EAAE;AACH,4BAAA,OAAO,EAAE;AACL,gCAAA,KAAK,EAAE,eAAe;AACtB,gCAAA,aAAa,EAAE,SAAS;AACxB,gCAAA,UAAU,EAAE,eAAe;AAC3B,gCAAA,WAAW,EAAE;AAChB,6BAAA;AACD,4BAAA,SAAS,EAAE;AACP,gCAAA,UAAU,EAAE,eAAe;AAC3B,gCAAA,eAAe,EAAE,eAAe;AAChC,gCAAA,KAAK,EAAE,SAAS;AAChB,gCAAA,UAAU,EAAE;AACf;AACJ,yBAAA;AACD,wBAAA,IAAI,EAAE;AACF,4BAAA,OAAO,EAAE;AACL,gCAAA,KAAK,EAAE,cAAc;AACrB,gCAAA,aAAa,EAAE,eAAe;AAC9B,gCAAA,UAAU,EAAE,eAAe;AAC3B,gCAAA,WAAW,EAAE;AAChB,6BAAA;AACD,4BAAA,SAAS,EAAE;AACP,gCAAA,UAAU,EAAE,cAAc;AAC1B,gCAAA,eAAe,EAAE,eAAe;AAChC,gCAAA,KAAK,EAAE,eAAe;AACtB,gCAAA,UAAU,EAAE;AACf;AACJ;AACJ;AACJ;aACJ;QACL;aAAO;AACH,YAAA,IAAI,MAAM,KAAK,MAAM,EAAE;gBACnB,OAAO;AACH,oBAAA,QAAQ,EAAE;wBACN,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,wBAAA,WAAW,EAAE;AACT,4BAAA,KAAK,EAAE;AACH,gCAAA,OAAO,EAAE;AACL,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,aAAa,EAAE,SAAS;AACxB,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,WAAW,EAAE;AAChB,iCAAA;AACD,gCAAA,SAAS,EAAE;AACP,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,eAAe,EAAE,eAAe;AAChC,oCAAA,KAAK,EAAE,SAAS;AAChB,oCAAA,UAAU,EAAE;AACf;AACJ,6BAAA;AACD,4BAAA,IAAI,EAAE;AACF,gCAAA,OAAO,EAAE;AACL,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,aAAa,EAAE,eAAe;AAC9B,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,WAAW,EAAE;AAChB,iCAAA;AACD,gCAAA,SAAS,EAAE;AACP,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,eAAe,EAAE,eAAe;AAChC,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,UAAU,EAAE;AACf;AACJ;AACJ;AACJ;iBACJ;YACL;iBAAO;gBACH,OAAO;AACH,oBAAA,QAAQ,EAAE;wBACN,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,wBAAA,WAAW,EAAE;AACT,4BAAA,KAAK,EAAE;AACH,gCAAA,OAAO,EAAE;AACL,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,aAAa,EAAE,SAAS;AACxB,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,WAAW,EAAE;AAChB,iCAAA;AACD,gCAAA,SAAS,EAAE;AACP,oCAAA,UAAU,EAAE,cAAc;AAC1B,oCAAA,eAAe,EAAE,eAAe;AAChC,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,UAAU,EAAE;AACf;AACJ,6BAAA;AACD,4BAAA,IAAI,EAAE;AACF,gCAAA,OAAO,EAAE;AACL,oCAAA,KAAK,EAAE,eAAe;AACtB,oCAAA,aAAa,EAAE,eAAe;AAC9B,oCAAA,UAAU,EAAE,eAAe;AAC3B,oCAAA,WAAW,EAAE;AAChB,iCAAA;AACD,gCAAA,SAAS,EAAE;AACP,oCAAA,UAAU,EAAE,oDAAoD;AAChE,oCAAA,eAAe,EAAE,oDAAoD;AACrE,oCAAA,KAAK,EAAE,uBAAuB;AAC9B,oCAAA,UAAU,EAAE;AACf;AACJ;AACJ;AACJ;iBACJ;YACL;QACJ;IACJ;AAED,IAAA,YAAY,CAAC,KAAU,EAAE,IAA2B,EAAE,KAAmB,EAAA;AAC1E,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACnD;AAAO,aAAA,IAAI,IAAI,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QACnD;QAEA,KAAK,CAAC,eAAe,EAAE;IACzB;IAEI,UAAU,CAAC,IAAY,EAAE,KAAU,EAAA;AAC/B,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC;AAAO,aAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AAE3B,YAAA,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC;IACJ;AACI,IAAA,YAAY,CAAC,IAA2B,EAAE,OAAA,GAAiC,EAAE,EAAA;AACnF,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AAAE,YAAA,OAAO;AAChD,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe;AAErC,QAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;AAC/C,YAAA,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,YAAA,EAAe,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;YACrD;AAAO,iBAAA,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA,UAAA,EAAa,GAAG,CAAA,CAAE,EAAE,KAAK,CAAC;YACnD;AACF,QAAA,CAAC,CAAC;IACJ;AACI,IAAA,cAAc,CAAC,UAAgC,EAAA;QACjD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AACnF,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;;QAGlC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,OAAO;;QAG/F,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,OAAO;QACtG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC;IACpD;AAEI,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC1B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF;uGA/WS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlDd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CL,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhDK,YAAY,EAAA,EAAA,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,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAmD9C,eAAe,EAAA,UAAA,EAAA,CAAA;kBAtD3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC;AACxD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CL,QAAA,CAAA;AAER,iBAAA;;;MCiHY,iBAAiB,CAAA;AACpB,IAAA,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACvC,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACxC,IAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAClC,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAClC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAErD,OAAO,GAAG,KAAK;AACf,IAAA,YAAY;AACZ,IAAA,eAAe;IACf,aAAa,GAAe,EAAE;AAE9B,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;IACvD;IAEA,QAAQ,GAAA;;QAEN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,OAAM,KAAK,KAAG;YAC3C,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AAEhE,QAAA,CAAC,CAAC;IACJ;IACO,MAAM,uBAAuB,CAAC,SAAqB,EAAA;QACxD,MAAM,UAAU,GAAe,EAAE;AAEjC,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;;YAEhC,IAAI,SAAS,GAAG,IAAI;AACpB,YAAA,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;AACnD,gBAAA,IAAI,gBAAgB,YAAY,OAAO,EAAE;oBACvC,SAAS,GAAG,MAAM,gBAAgB;gBACpC;AAAO,qBAAA,IAAI,gBAAgB,YAAY,UAAU,EAAE;AACjD,oBAAA,SAAS,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC;gBACnD;qBAAO;AACL,oBAAA,SAAS,GAAG,CAAC,CAAC,gBAAgB;gBAChC;YACF;AAEA,YAAA,IAAI,CAAC,SAAS;gBAAE;;AAIhB,YAAA,MAAM,SAAS,GAAa;AAC1B,gBAAA,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC3B,gBAAA,KAAK,EAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;AACxC,gBAAA,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE;;AAEvC,gBAAA,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,KAAI;AACnC,oBAAA,IAAI,QAAQ,CAAC,MAAM,EAAE;wBACnB,QAAQ,CAAC,MAAM,EAAE;;;;oBAInB;gBACF,CAAC,GAAG,SAAS;AACb,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,IAAI,EAAE;oBACJ,SAAS,EAAE,QAAQ;AACpB;aACF;;AAGD,YAAA,IAAI,QAAQ,CAAC,SAAS,EAAE;;;;;YAKxB;;AAGA,YAAA,IAAI,QAAQ,CAAC,KAAK,EAAE;AAClB,gBAAA,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;AACxD,gBAAA,SAAS,CAAC,eAAe,GAAG,CAAA,gBAAA,EAAmB,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAA,CAAE;YACnF;AAEA,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5B;AAEA,QAAA,OAAO,UAAU;IACnB;IACA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM;AACjD,YAAA,GAAG,KAAK;AACR,YAAA,SAAS,EAAE,CAAC,KAAK,CAAC;AACnB,SAAA,CAAC,CAAC;IACL;AAEA,IAAA,IAAI,QAAQ,GAAA;;QAEV,IAAI,IAAI,GAAG,GAAG;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAG;AACjC,YAAA,IAAI,IAAI,EAAE,IAAI,EAAE;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;oBACrB,IAAI,GAAG,CAAA,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAE;gBACzB;AAAO,qBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACnB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB;YACF;AACF,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,IAAI,UAAU,GAAA;QACZ,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAG;AACjC,YAAA,IAAI,CAAC,IAAI;gBAAE;AACX,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;AAClC,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAM;IACf;IAEA,iBAAiB,GAAA;;AAEf,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACzC;IAEA,gBAAgB,GAAA;;AAEd,QAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACxC;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE;IACvC;AAEA,IAAA,IAAI,WAAW,GAAA;AACb,QAAA,OAAO,MAAM,CAAC,UAAU,GAAG,GAAG;IAChC;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;IACpC;uGA1IW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnKlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiKP,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAhLD,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,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,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sCAAA,EAAA,0BAAA,EAAA,2BAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,gBAAgB,+BAChB,eAAe,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACV,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEb,gBAAgB,4FAGhB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAJb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAGb,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA;;2FAsKL,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAtL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,gBAAgB;wBAChB,eAAe;wBACf,kBAAkB;wBAClB,YAAY;wBACZ,UAAU;wBACV,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;wBACtB,cAAc;wBACd;AACD,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiKP,IAAA;AACJ,iBAAA;;;MCvLY,eAAe,CAAA;IAC1B,iBAAiB,GAAG,KAAK;IACzB,cAAc,GAAG,IAAI;IACrB,QAAQ,GAAG,KAAK;AAER,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACxB,IAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACjC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACnD,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAExC,IAAA,kBAAkB;AACV,IAAA,iBAAiB,GAAG,IAAI,eAAe,CAAa,EAAE,CAAC;;AAG5D,IAAA,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AAEvD,IAAA,WAAA,GAAA;;;;QAKE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAChC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAClF,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;AACd,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACtD,GAAG,CAAC,KAAK,IAAG;YACV,MAAM,MAAM,GAAe,EAAE;AAC7B,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;oBAEvC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B;YACF;AACA,YAAA,OAAO,MAAM;QACf,CAAC,CAAC,CACH;;;;IAMC;AAEF,IAAA,oBAAoB,CAAC,KAAiB,EAAA;QACpC,MAAM,MAAM,GAAe,EAAE;AAE7B,QAAA,MAAM,QAAQ,GAAG,CAAC,KAAiB,KAAI;AACrC,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,gBAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;oBAEvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC5E,IAAI,CAAC,gBAAgB,EAAE;;AAErB,wBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACnB;yBAAO;AACL,wBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB;gBACF;YACF;AACF,QAAA,CAAC;QAED,QAAQ,CAAC,KAAK,CAAC;AACf,QAAA,OAAO,MAAM;IACf;AAEC,IAAA,aAAa,CAAC,IAAS,EAAA;;AAEtB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;;;;;;;;;;;;;;IAiBhC;AAKE,IAAA,QAAQ,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IAEnC,aAAa,GAAA;QACX,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;AACxC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;QAChC;aAAO;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC/B;IACF;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc;AAC1C,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc;QAC9C;aAAO;AACL,YAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB;QAClD;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;IAC/B;IAGF,UAAU,CAAC,KAAiB,EAAE,MAAgB,EAAA;AAC5C,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,KAAK,MAAM;AAAE,gBAAA,OAAO,IAAI;AAEhC,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;gBACjD,IAAI,KAAK,EAAE;AACT,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,oBAAA,OAAO,IAAI;gBACb;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,WAAW,CAAC,MAAgB,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK;AAC1C,QAAA,MAAM,UAAU,GAAI,MAAc,CAAC,UAAU,IAAI,KAAK;AAEtD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE;AACzB,YAAA,IAAI,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,qBAAqB,CAAC;gBAExD,IAAI,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,SAAS,EAAE;AAEnC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBACvC;YACF;AAEA,YAAA,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG;gBAClC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;AAC/C,sBAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AACrB,sBAAE,MAAM,CAAC,UAAU;AAErB,gBAAA,IAAI,UAAU,KAAK,SAAS,EAAE;AAC5B,oBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAClB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAC3E;gBACH;gBAEA,IAAI,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,SAAS,EAAE;AAEnC,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;gBACvC;YACF;QACF;AAEA,QAAA,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ;AAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,QAAQ;QACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IACzC;AAEE,IAAA,YAAY,CAAC,IAAS,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;IAChC;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,IAAG;AAChC,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC9C,QAAA,CAAC,CAAC;IACJ;;;;;IAOA,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;AAEQ,IAAA,UAAU,CAAC,MAAe,EAAA;AAChC,QAAA,OAAO;AACJ,aAAA,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;AACrE,aAAA,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC;AAEQ,IAAA,UAAU,CAAC,KAAY,EAAA;AAC7B,QAAA,MAAM,IAAI,GAAa;YACrB,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,IAAI,EAAE,KAAK,CAAC,SAAS;;YAErB,KAAK,EAAE,KAAK,CAAC,IAAI;AACjB,YAAA,QAAQ,EAAE;SACX;AAED,QAAA,IAAI,KAAK,CAAC,UAAU,EAAE;AACtB,YAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI;AACrB,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;QACxB;AAAO,aAAA,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QAChC;QACA,IAAY,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK;QAClD,IAAY,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE;QAE3C,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACpD;aACI;;;;;;;;;;;;;;QAcJ;AACA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,aAAa,CAAC,MAAc,EAAA;;AAElC,QAAA,OAAO,IAAI;IACb;AAEF,IAAA,YAAY,CAAC,IAAS,EAAA;AACpB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK;QAE3C,OAAO;YACL,UAAU;AACV,YAAA,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI;AAC1C,YAAA,UAAU,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,IAAI;AACxD,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI;SAC5B;IACH;uGAnQa,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpB5B,o4MAqKA,EAAA,MAAA,EAAA,CAAA,22EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrJY,YAAY,EAAA,EAAA,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,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAiB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAA/B,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAIvD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,o4MAAA,EAAA,MAAA,EAAA,CAAA,22EAAA,CAAA,EAAA;;sBAiGpF,YAAY;uBAAC,eAAe;;;MEtGlB,oBAAoB,CAAA;AAC/B,IAAA,WAAA,GAAA,EAAuD;uGAD5C,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,4ECXjC,i2BA2BA,EAAA,CAAA;;2FDhBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EACD,kBAAkB,EAAA,QAAA,EAAA,i2BAAA,EAAA;;;MEWjB,sBAAsB,CAAA;AAMd,IAAA,OAAA;;AAJnB,IAAA,OAAO,IAAI,GAAG,WAAW,CAAC,OAAO;IAEjC,cAAc,GAAG,8BAA8B;AAE/C,IAAA,WAAA,CAAmB,OAAsB,EAAA;QAAtB,IAAA,CAAA,OAAO,GAAP,OAAO;IAAkB;IAE5C,eAAe,GAAA;;IAEf;uGAVW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAFtB,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBjD,wLAOA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMiD,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,6DAAE,4BAA4B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAKpG,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACN,CAAC,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,oBAAoB,EAAE,4BAA4B,CAAC,YACtG,oBAAoB,EAAA,SAAA,EAEnB,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,wLAAA,EAAA;;;MEOpC,0BAA0B,CAAA;AAYxB,IAAA,aAAA;AACA,IAAA,QAAA;AACA,IAAA,MAAA;AACC,IAAA,KAAA;AAEC,IAAA,SAAA;AAhBC,IAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC1C,IAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;AAC/B,IAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;;AAGhD,IAAA,OAAO,IAAI,GAAG,WAAW,CAAC,WAAW;AAClC,IAAA,2BAA2B;;AAE5B,IAAA,wBAAwB;AACf,IAAA,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACpD,IAAA,WAAA,CACY,aAA4B,EAC5B,QAAmB,EACnB,MAAc,EACb,KAAa;;IAEZ,SAA8B,EAAA;QALhC,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,MAAM,GAAN,MAAM;QACL,IAAA,CAAA,KAAK,GAAL,KAAK;QAEJ,IAAA,CAAA,SAAS,GAAT,SAAS;QAGnB,IAAI,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;QAErD,IAAI,SAAS,EAAE;YACb,IAAI,eAAe,GAAG,IAAI;YAC1B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;YACtD,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAE1C,IAAI,aAAa,EAAE;gBAChB,eAAe,GAAG,aAAa;YAClC;YACC,IAAI,IAAI,EAAE;gBACR,eAAe,GAAG,IAAI;YACzB;AACA,YAAA,IAAI;;;;AAIC,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,CAAC;YAEnD;YAAE,OAAO,KAAK,EAAE;YAEhB;AACA,YAAA,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YAEzC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACrD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,GAAG,KAAK,EAAE,SAAS,EAAC,KAAK,KAAK,MAAM,EAAG,CAAC,CAAC;QAC1F;AACI,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,MAAK;AAC9E,YAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AAChC,gBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,KAAK,KAAI;AAChF,oBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;wBAC9B,IAAI,CAAC,QAAQ,EAAE;oBACnB;AACJ,gBAAA,CAAC,CAAC;YACN;YAEA,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,sBAAsB,EAAE;gBACzD,IAAI,CAAC,eAAe,EAAE;YAC1B;AACJ,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACtF,IAAI,CAAC,QAAQ,EAAE;AACnB,QAAA,CAAC,CAAC;IACN;AAEK,IAAA,mBAAmB,CAAC,YAAoB,EAAA;AAC7C,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe;QAC5C,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACzD,YAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,YAAA,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAClC;aAAO;;AAEL,YAAA,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;AACtC,YAAA,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QACrC;IACF;AACE,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QAC/B,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC;AAC9D,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAc;AAExC,QAAA,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5J;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/I,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI;QACxC;QACA,IAAI,CAAC,iBAAiB,EAAE;IAC5B;IAEA,eAAe,GAAA;QACZ,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE;AACpC,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC;QACjD;aAAO;AACH,YAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB;QAChD;IACJ;IAEA,iBAAiB,GAAA;QACd,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE;AACpC,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACpD;aAAO;AACH,YAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QACnJ;IACJ;AAEA,IAAA,IAAI,cAAc,GAAA;QACd,OAAO;YACH,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,KAAK,SAAS;YAC1E,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,KAAK,QAAQ;AACxE,YAAA,wBAAwB,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,yBAAyB,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,QAAQ,KAAK,QAAQ;YAC/I,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,iBAAiB;YAC3E,sBAAsB,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAC5D;IACL;IAEC,QAAQ,GAAA;IACX;IACE,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;AAClC,YAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;QAClD;AAEA,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,wBAAwB,EAAE;QACnC;IACJ;IACF,eAAe,GAAA;;AAEZ,QAAA,IAAI;YACH,IAAI,SAAS,GAAG,qBAAqB;YAC/B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,SAAS,CAAC;;;YAGhE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC;;YAGhE,IAAI,OAAO,EAAE;;AAEb,gBAAA,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;YAC1C;YAEA,IAAI,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,0CAA0C,CAAC;;YAGjF,IAAI,QAAQ,EAAE;;AAEd,gBAAA,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;YAC3C;QACJ;QAAE,OAAO,KAAK,EAAE;QAEhB;AAEE,QAAA,IAAI;YACE,IAAI,CAAC,KAAK,EAAE;QACd;QAAE,OAAO,KAAK,EAAE;QAEhB;AACA,QAAA,IAAI;;;;;;;;;;;;QAeJ;QAAE,OAAO,KAAK,EAAE;QAEhB;IACZ;uGAvLW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,SAAA,EAF1B,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBjD,26BAqCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpBY,eAAe,uDAAE,iBAAiB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,2FAG5E,oDAAmD,EAAA,CAAA;;2FAGpD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,iBAAiB,EAAE,YAAY,EAAE,4BAA4B,CAAC,EAAA,QAAA,EAC/E,wBAAwB,EAAA,UAAA,EAEtB,oDAAmD,aACpD,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,26BAAA,EAAA;;;MEXpC,oBAAoB,CAAA;AAC/B,IAAA,OAAO,IAAI,GAAG,WAAW,CAAC,KAAK;uGADpB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAFrB,CAAA,iCAAA,CAAmC,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAFpC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAIV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAC,CAAC,YAAY,CAAC;AACtB,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAAA,iCAAA,CAAmC;AAC9C,iBAAA;;;ACFD;;ACDO,MAAM,8BAA8B,GAAG;IAC5C,qBAAqB,CAAC,MAAK;AACzB,QAAA,iBAAiB,EAAE;AACrB,IAAA,CAAC,CAAC;;SAIY,iBAAiB,GAAA;AAC/B,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC;;;;;;;;;;;AAWjB,KAAA,CAAC;AACJ;;ACnBO,MAAM,4BAA4B,GAAG;IAC1C,qBAAqB,CAAC,MAAK;QACzB,MAAM,aAAa,GAAG,eAAe;;AAEnC,QAAA,MAAM,CAAC,4BAA4B,CAAC,CACrC;QAED,OAAQ,aAAa,EAAE;AACzB,IAAA,CAAC,CAAC;;SAIY,eAAe;AAC7B;AACA,qBAAmD,EAAA;AAEnD,IAAA,OAAO,MAAK;;QAGV,WAAW,CAAC,qBAAqB,CAAC;AACpC,IAAA,CAAC;AACH;AAEA,SAAS,WAAW,CAAC,qBAAmD,EAAA;IACtE,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,kCAAA;AACH,QAAA,SAAS,EAAE,0BAA0B;AACtC,KAAA,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,8BAAA;AACH,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA,CAAC;IACF,qBAAqB,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAA,4BAAA;AACH,QAAA,SAAS,EAAE,oBAAoB;AAChC,KAAA,CAAC;AACJ;;ACnCO,MAAM,+BAA+B,GAAG;IAC7C,qBAAqB,CAAC,MAAK;QACzB,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,aAAa,EAAE;AACxB,IAAA,CAAC,CAAC;;AAIE,SAAU,iBAAiB,CAAC,QAAkB,EAAA;IAClD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC;IAC9C,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7C,MAAM,uBAAuB,GAAG,QAAQ,CAAC,GAAG,CAAC,0BAA0B,CAAC;AAGxE,IAAA,OAAO,MAAK;QACZ,QAAQ,CAAC,QAAQ,CACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DE,YAAA;AACE,gBAAA,EAAE,EAAA,iBAAA;AACF,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,OAAO,EAAC,CAAC,IAAQ,KAAK,IAAI;AAC1B,gBAAA,YAAY,EAAE;;AAEZ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,IAAI,EAAE,gBAAgB;AACvB,iBAAA;gBACD,MAAM,EAAE,MAAK;AAEX,oBAAA,WAAW,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE;AAChC,oBAAA,IAAI;AACA,wBAAA,QAAQ,CAAC,IAAI,GAAG,gBAAgB;oBACpC;oBAAE,OAAO,KAAK,EAAE;oBAEhB;gBACF,CAAC;AACF,aAAA;AACF;;SAGF;AACH,IAAA,CAAC;AAED;;SCxGgB,uBAAuB,GAAA;AACrC,IAAA,OAAO,wBAAwB,CAAC;;QAE9B,8BAA8B;QAC9B,+BAA+B;QAC/B,4BAA4B;;;;;;;;;;;;;;;;;AAiB7B,KAAA,CAAC;AACJ;;MC3Ba,WAAW,GAAG,IAAI,cAAc,CAAW,aAAa;;ACIrE;AACA;;ACPA;;AAEG;;;;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@es.framework/ng.ui.theme",
|
|
3
|
+
"version": "2.0.56",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^20.1.0",
|
|
6
|
+
"@angular/core": "^20.1.0",
|
|
7
|
+
"@primeng/themes": "^19.1.3"
|
|
8
|
+
},
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"module": "fesm2022/es.framework-ng.ui.theme.mjs",
|
|
11
|
+
"typings": "types/es.framework-ng.ui.theme.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
"./package.json": {
|
|
14
|
+
"default": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./types/es.framework-ng.ui.theme.d.ts",
|
|
18
|
+
"default": "./fesm2022/es.framework-ng.ui.theme.mjs"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"type": "module",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
}
|
|
25
|
+
}
|
package/styles.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
|
|
2
|
+
/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:480px){.container{max-width:480px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-bottom-40{bottom:-10rem}.-left-32{left:-8rem}.-left-4{left:-1rem}.-right-0{right:0}.-right-32{right:-8rem}.-top-0{top:0}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-4{left:1rem}.right-0{right:0}.right-1{right:.25rem}.right-16{right:4rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-11{grid-column:span 11/span 11}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.m-0{margin:0}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-full{height:100%!important}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-28{height:7rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-56{max-height:14rem}.max-h-\[90vh\]{max-height:90vh}.min-h-\[30px\]{min-height:30px}.min-h-screen{min-height:100vh}.\!w-full{width:100%!important}.w-0{width:0}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3\/4{width:75%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-6xl{max-width:72rem}.max-w-\[85\%\]{max-width:85%}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.rounded-b-lg{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-l-3xl{border-bottom-left-radius:1.5rem;border-top-left-radius:1.5rem}.rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-3xl{border-bottom-right-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-r-lg{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-br-md{border-bottom-right-radius:.375rem}.\!border{border-width:1px!important}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.\!border-blue-500{--tw-border-opacity:1!important;border-color:rgb(59 130 246/var(--tw-border-opacity,1))!important}.\!border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgb(var(--p-primary-color)/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity,1))}.\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-\[\#fffbea\]{--tw-bg-opacity:1;background-color:rgb(255 251 234/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-100\/70{background-color:rgba(243,244,246,.7)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity,1))}.bg-primary-50{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--p-primary-50) calc(100%*var(--tw-bg-opacity, 1)),transparent)}.bg-primary-500{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--p-primary-500) calc(100%*var(--tw-bg-opacity, 1)),transparent)}.bg-primary-600{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--p-primary-600) calc(100%*var(--tw-bg-opacity, 1)),transparent)}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/30{background-color:hsla(0,0%,100%,.3)}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-gray-300{--tw-gradient-from:#d1d5db var(--tw-gradient-from-position);--tw-gradient-to:rgba(209,213,219,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from:#4f46e5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(79,70,229,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:color-mix(in srgb,var(--p-primary-500) 100%,transparent) var(--tw-gradient-from-position);--tw-gradient-to:color-mix(in srgb,var(--p-primary-500) 0%,transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-gray-200{--tw-gradient-to:rgba(229,231,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#e5e7eb var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-600{--tw-gradient-to:color-mix(in srgb,var(--p-primary-600) 0%,transparent) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),color-mix(in srgb,var(--p-primary-600) 100%,transparent) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to:rgba(147,51,234,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#9333ea var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.to-gray-200{--tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)}.to-gray-300{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to:color-mix(in srgb,var(--p-primary-700) 100%,transparent) var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.\!p-1\.5{padding:.375rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.\!py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.\!text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.\!text-blue-600{--tw-text-opacity:1!important;color:rgb(37 99 235/var(--tw-text-opacity,1))!important}.\!text-red-600{--tw-text-opacity:1!important;color:rgb(220 38 38/var(--tw-text-opacity,1))!important}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-primary-400{--tw-text-opacity:1;color:color-mix(in srgb,var(--p-primary-400) calc(100%*var(--tw-text-opacity, 1)),transparent)}.text-primary-600{--tw-text-opacity:1;color:color-mix(in srgb,var(--p-primary-600) calc(100%*var(--tw-text-opacity, 1)),transparent)}.text-primary-700{--tw-text-opacity:1;color:color-mix(in srgb,var(--p-primary-700) calc(100%*var(--tw-text-opacity, 1)),transparent)}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-surface-400{--tw-text-opacity:1;color:color-mix(in srgb,var(--p-surface-400) calc(100%*var(--tw-text-opacity, 1)),transparent)}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.opacity-10{opacity:.1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-inner,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline-offset-1{outline-offset:1px}.outline-primary{outline-color:rgb(var(--p-primary-color)/1)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.border-surface{border-color:var(--p-content-border-color)}.text-muted-color{color:var(--p-text-muted-color)}@keyframes enter{0%{opacity:var(--p-enter-opacity,1);transform:translate3d(var(--p-enter-translate-x,0),var(--p-enter-translate-y,0),0) scale3d(var(--p-enter-scale,1),var(--p-enter-scale,1),var(--p-enter-scale,1)) rotate(var(--p-enter-rotate,0))}}@keyframes leave{to{opacity:var(--p-leave-opacity,1);transform:translate3d(var(--p-leave-translate-x,0),var(--p-leave-translate-y,0),0) scale3d(var(--p-leave-scale,1),var(--p-leave-scale,1),var(--p-leave-scale,1)) rotate(var(--p-leave-rotate,0))}}.even\:bg-gray-50:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:\!bg-blue-50:hover{--tw-bg-opacity:1!important;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))!important}.hover\:\!bg-red-50:hover{--tw-bg-opacity:1!important;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))!important}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:color-mix(in srgb,var(--p-primary-500) calc(100%*var(--tw-bg-opacity, 1)),transparent)}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity,1))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity,1))}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.hover\:from-indigo-700:hover{--tw-gradient-from:#4338ca var(--tw-gradient-from-position);--tw-gradient-to:rgba(67,56,202,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-purple-700:hover{--tw-gradient-to:#7e22ce var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:color-mix(in srgb,var(--p-primary-600) calc(100%*var(--tw-text-opacity, 1)),transparent)}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity,1))}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:rgb(var(--p-primary-color)/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity,1))}.focus\:ring-gray-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity,1))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity,1))}.focus\:ring-green-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-teal-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity,1))}.focus\:ring-yellow-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:bg-teal-600:active{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity,1))}.disabled\:translate-y-0:disabled{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.disabled\:from-gray-400:disabled{--tw-gradient-from:#9ca3af var(--tw-gradient-from-position);--tw-gradient-to:rgba(156,163,175,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.disabled\:to-gray-500:disabled{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.disabled\:opacity-50:disabled{opacity:.5}.dark\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:bg-gray-800\/60:is(.dark *){background-color:rgba(31,41,55,.6)}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.dark\:bg-green-900\/20:is(.dark *){background-color:rgba(20,83,45,.2)}.dark\:bg-red-900\/20:is(.dark *){background-color:rgba(127,29,29,.2)}.dark\:bg-opacity-80:is(.dark *){--tw-bg-opacity:0.8}.dark\:from-gray-700:is(.dark *){--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,65,81,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:from-gray-900:is(.dark *){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.dark\:via-gray-600:is(.dark *){--tw-gradient-to:rgba(75,85,99,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#4b5563 var(--tw-gradient-via-position),var(--tw-gradient-to)}.dark\:to-gray-600:is(.dark *){--tw-gradient-to:#4b5563 var(--tw-gradient-to-position)}.dark\:to-gray-700:is(.dark *){--tw-gradient-to:#374151 var(--tw-gradient-to-position)}.dark\:to-gray-800:is(.dark *){--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.dark\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity,1))}.dark\:text-primary-400:is(.dark *){--tw-text-opacity:1;color:color-mix(in srgb,var(--p-primary-400) calc(100%*var(--tw-text-opacity, 1)),transparent)}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.dark\:hover\:text-indigo-300:hover:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:focus\:bg-gray-700:focus:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.dark\:focus\:ring-gray-700:focus:is(.dark *){--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity,1))}@media (min-width:480px){.xs\:block{display:block}.xs\:hidden{display:none}.xs\:rounded-2xl{border-radius:1rem}}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-1\/3{width:33.333333%}.sm\:w-1\/5{width:20%}.sm\:w-72{width:18rem}.sm\:min-w-\[80px\]{min-width:80px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-12{padding:3rem}.sm\:pr-2{padding-right:.5rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:mb-0{margin-bottom:0}.md\:\!w-80{width:20rem!important}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:\!w-\[40rem\]{width:40rem!important}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:p-16{padding:4rem}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pl-3{padding-left:.75rem}}.ltr\:mr-2:where([dir=ltr],[dir=ltr] *){margin-right:.5rem}.ltr\:justify-end:where([dir=ltr],[dir=ltr] *){justify-content:flex-end}.ltr\:border-l-0:where([dir=ltr],[dir=ltr] *){border-left-width:0}.rtl\:ml-0:where([dir=rtl],[dir=rtl] *){margin-left:0}.rtl\:ml-2:where([dir=rtl],[dir=rtl] *){margin-left:.5rem}.rtl\:mr-0:where([dir=rtl],[dir=rtl] *){margin-right:0}.rtl\:flex-row-reverse:where([dir=rtl],[dir=rtl] *){flex-direction:row-reverse}.rtl\:justify-start:where([dir=rtl],[dir=rtl] *){justify-content:flex-start}.rtl\:space-x-reverse:where([dir=rtl],[dir=rtl] *)>:not([hidden])~:not([hidden]){--tw-space-x-reverse:1}.rtl\:border-r:where([dir=rtl],[dir=rtl] *){border-right-width:1px}.rtl\:border-r-0:where([dir=rtl],[dir=rtl] *){border-right-width:0}.rtl\:pl-0:where([dir=rtl],[dir=rtl] *){padding-left:0}.rtl\:pr-3:where([dir=rtl],[dir=rtl] *){padding-right:.75rem}.rtl\:text-right:where([dir=rtl],[dir=rtl] *){text-align:right}.\[\&\>div\]\:border-gray-300>div{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.\[\&\>div\]\:hover\:border-gray-400:hover>div{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.last\:\[\&\>td\]\:border-0>td:last-child{border-width:0}
|