From dc68fe17ab5c440dff9de7e789a6f02d6156374d Mon Sep 17 00:00:00 2001 From: Le Nhut Huy Date: Fri, 6 Feb 2026 02:01:42 +0700 Subject: [PATCH 01/14] feat(about): Implement about API integration and migrate from static JSON --- api/aboutApi.ts | 35 +++++++++ app/about/about.json | 121 ----------------------------- app/about/page.tsx | 21 +++-- app/about/types.ts | 1 - app/components/about/AboutHero.tsx | 30 +++---- 5 files changed, 65 insertions(+), 143 deletions(-) create mode 100644 api/aboutApi.ts delete mode 100644 app/about/about.json diff --git a/api/aboutApi.ts b/api/aboutApi.ts new file mode 100644 index 0000000..3de4d1c --- /dev/null +++ b/api/aboutApi.ts @@ -0,0 +1,35 @@ +/** + * About API Functions + * Fetch about us data from external API + */ + +const getApiUrl = (): string => { + return process.env.NEXT_PUBLIC_API_URL || "http://localhost:3001"; +}; + +import { AboutData } from "../app/about/types"; + +export const aboutApi = { + // Get about us data + getAbout: async (): Promise => { + try { + const apiUrl = getApiUrl(); + const response = await fetch(`${apiUrl}/api/about`, { + cache: 'no-store', + headers: { + 'Cache-Control': 'no-cache', + 'Pragma': 'no-cache' + } + }); + if (!response.ok) { + console.error(`HTTP error! status: ${response.status}`); + return null; + } + return await response.json(); + } catch (error) { + console.error("Error fetching about data:", error); + return null; + } + }, +}; + diff --git a/app/about/about.json b/app/about/about.json deleted file mode 100644 index fbfdab5..0000000 --- a/app/about/about.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "hero": { - "title": "About Us", - "subtitle": "Global Education Simplified", - "breadcrumb": ["Home", "About Us"], - "backgroundImage": "/assets/img/inner-page/breadcrumb.jpg" - }, - "intro": { - "subheading": "Company Intro", - "heading": "Building Pathways to Your Immigration Success", - "description": "We provide expert guidance, personalized solutions, and transparent processes to help you achieve your immigration goals. Our dedicated team ensures a smooth journey, building pathways to your international success.", - "image": "/assets/img/inner-page/intro.jpg" - }, - "mission": { - "subheading": "About Our Consultancy", - "heading": "Turning Study Abroad Dreams Into Reality", - "description": "We guide students with expert visa consulting, ensuring a smooth process from application to approval, turning study abroad aspirations into life-changing opportunities for a brighter future.", - "images": { - "main": "/assets/img/home-1/about/about-1.jpg", - "secondary": "/assets/img/home-1/about/about-02.jpg", - "bgShape": "/assets/img/home-1/about/Vector.png", - "planeShape": "/assets/img/home-1/about/plane.png", - "topShape": "/assets/img/home-1/about/shape.png", - "globeShape": "/assets/img/home-1/about/globe.png" - }, - "items": [ - { - "icon": "/assets/img/home-1/icon/01.svg", - "label": "Global Reach", - "description": "Expanding Opportunities Worldwide" - }, - { - "icon": "/assets/img/home-1/icon/01.svg", - "label": "Global Reach", - "description": "Expanding Opportunities Worldwide" - } - ], - "features": [ - "Fastest Visa form processing with skilled immigration agents", - "Partnership with International Educational Institutions" - ], - "ctaButton": { - "label": "Get Started", - "href": "/about" - } - }, - "features": { - "backgroundImage": "/assets/img/home-2/feature/bg-shape.png", - "subheading": "Your Travel Made Easy", - "heading": "Smooth Visa Journey Guaranteed", - "description": "We provide expert guidance for every visa application, ensuring smooth processing, personalized support, and reliable assistance", - "image": "/assets/img/home-2/feature/02.png", - "items": [ - { - "icon": "/assets/img/home-2/icon/01.png", - "title": "Expert Consultants", - "description": "Skilled and knowledgeable visa advisors. Skilled and knowledgeable visa advisors." - }, - { - "icon": "/assets/img/home-2/icon/01.png", - "title": "Personalized Support", - "description": "Skilled and knowledgeable visa advisors. Skilled and knowledgeable visa advisors." - }, - { - "icon": "/assets/img/home-2/icon/01.png", - "title": "Transparent Process", - "description": "Skilled and knowledgeable visa advisors. Skilled and knowledgeable visa advisors." - } - ], - "ctaButton": { - "label": "Get Started Today", - "href": "/contact" - } - }, - "news": { - "subheading": "Visa Tips & Guides", - "heading": "Latest Insights & Updates", - "ctaButton": { - "label": "view all articles", - "href": "/blog" - }, - "items": [ - { - "title": "Step-by-Step Guide to Applying for a Student Visa", - "category": "Student Visa", - "date": "20 August ,2025", - "comments": 8, - "author": { - "name": "Sohel", - "avatar": "/assets/img/home-1/news/client.png" - }, - "link": "/blog/step-by-step-guide-student-visa", - "thumbnail": "/assets/img/home-1/news/news-1.jpg" - }, - { - "title": "Tips to Prepare Financial Documents for Visa Approval", - "category": "IELTS / TOEFL", - "date": "20 August ,2025", - "comments": 8, - "author": { - "name": "Sohel", - "avatar": "/assets/img/home-1/news/client.png" - }, - "link": "/blog/financial-documents-visa-approval", - "thumbnail": "/assets/img/home-1/news/news-2.jpg" - }, - { - "title": "Post-Arrival Guide What Every Student Should Know", - "category": "Study Abroad", - "date": "20 August ,2025", - "comments": 8, - "author": { - "name": "Sohel", - "avatar": "/assets/img/home-1/news/client.png" - }, - "link": "/blog/post-arrival-guide-students", - "thumbnail": "/assets/img/home-1/news/news-3.jpg" - } - ] - } -} diff --git a/app/about/page.tsx b/app/about/page.tsx index 0f7f075..8730cde 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,14 +1,21 @@ import { AboutHero, AboutIntro, AboutMission, AboutFeatures, AboutNews } from "../components/about"; -import aboutData from "./about.json"; +import { aboutApi } from "../../api/aboutApi"; + +export default async function AboutPage() { + const data = await aboutApi.getAbout(); + + if (!data) { + return null; + } -export default function AboutPage() { return ( <> - - - - - + + + + + ); } + diff --git a/app/about/types.ts b/app/about/types.ts index 8d4cc1a..2f863dd 100644 --- a/app/about/types.ts +++ b/app/about/types.ts @@ -1,7 +1,6 @@ export interface AboutData { hero: { title: string; - subtitle: string; breadcrumb: string[]; backgroundImage: string; }; diff --git a/app/components/about/AboutHero.tsx b/app/components/about/AboutHero.tsx index b18f21a..9ab631c 100644 --- a/app/components/about/AboutHero.tsx +++ b/app/components/about/AboutHero.tsx @@ -14,20 +14,22 @@ const AboutHero = ({ data }: AboutHeroProps) => {

{data.title}

-
    - {data.breadcrumb.map((item, index) => ( -
  • - {index === data.breadcrumb.length - 1 ? ( - item - ) : ( - <> - {item} - - - )} -
  • - ))} -
+ {Array.isArray(data.breadcrumb) && ( +
    + {data.breadcrumb.map((item, index) => ( +
  • + {index === data.breadcrumb.length - 1 ? ( + item + ) : ( + <> + {item} + + + )} +
  • + ))} +
+ )}
From 26037e39b778250f087cb3080e3c06605c99e0a5 Mon Sep 17 00:00:00 2001 From: Le Nhut Huy Date: Fri, 6 Feb 2026 11:35:24 +0700 Subject: [PATCH 02/14] style(header): Implement responsive mobile menu and improve header layout --- app/components/layout/Header/Header.tsx | 67 +-- app/components/layout/Header/HeaderBottom.tsx | 57 +- app/components/layout/Header/MobileMenu.tsx | 112 ++++ .../layout/Header/header-responsive.css | 271 ++++++++++ app/components/layout/Header/mobile-menu.css | 495 ++++++++++++++++++ app/globals.css | 11 +- 6 files changed, 964 insertions(+), 49 deletions(-) create mode 100644 app/components/layout/Header/MobileMenu.tsx create mode 100644 app/components/layout/Header/header-responsive.css create mode 100644 app/components/layout/Header/mobile-menu.css diff --git a/app/components/layout/Header/Header.tsx b/app/components/layout/Header/Header.tsx index 7b724e1..b40de99 100644 --- a/app/components/layout/Header/Header.tsx +++ b/app/components/layout/Header/Header.tsx @@ -1,39 +1,46 @@ -'use client'; +"use client"; -import { useEffect, useState, useCallback } from 'react'; -import HeaderTop from './HeaderTop'; -import HeaderBottom from './HeaderBottom'; -import Offcanvas from './Offcanvas'; -import { headerMenuService } from '@/services/header-menu.service'; -import { HeaderMenu as HeaderMenuType } from '@/types/header-menu'; +import { useEffect, useState, useCallback } from "react"; +import HeaderTop from "./HeaderTop"; +import HeaderBottom from "./HeaderBottom"; +import Offcanvas from "./Offcanvas"; +import MobileMenu from "./MobileMenu"; +import { headerMenuService } from "@/services/header-menu.service"; +import { HeaderMenu as HeaderMenuType } from "@/types/header-menu"; const Header = () => { const [isOffcanvasOpen, setIsOffcanvasOpen] = useState(false); + const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isSearchOpen, setIsSearchOpen] = useState(false); const [menuItems, setMenuItems] = useState([]); const [isLoading, setIsLoading] = useState(true); const toggleOffcanvas = () => setIsOffcanvasOpen(!isOffcanvasOpen); + const toggleMobileMenu = () => setIsMobileMenuOpen(!isMobileMenuOpen); const toggleSearch = () => setIsSearchOpen(!isSearchOpen); // Helper to adapt 'children' from API to 'submenu' for the existing components - const adaptMenu = useCallback((item: HeaderMenuType): any => ({ - label: item.title, - href: item.url, - submenu: item.children && item.children.length > 0 - ? item.children.map((child: HeaderMenuType) => adaptMenu(child)) - : undefined - }), []); + const adaptMenu = useCallback( + (item: HeaderMenuType): any => ({ + label: item.title, + href: item.url, + submenu: + item.children && item.children.length > 0 + ? item.children.map((child: HeaderMenuType) => adaptMenu(child)) + : undefined, + }), + [], + ); useEffect(() => { const fetchMenu = async () => { try { setIsLoading(true); const data = await headerMenuService.getHeaderMenu(); - const mappedData = data.map(item => adaptMenu(item)); + const mappedData = data.map((item) => adaptMenu(item)); setMenuItems(mappedData); } catch (error) { - console.error('Error fetching menu in Header:', error); + console.error("Error fetching menu in Header:", error); } finally { setIsLoading(false); } @@ -45,30 +52,28 @@ const Header = () => { return ( <> - - - setIsOffcanvasOpen(false)} - menuItems={menuItems} - /> + + setIsOffcanvasOpen(false)} menuItems={menuItems} /> + + setIsMobileMenuOpen(false)} menuItems={menuItems} /> {/* Search Popup */} -
-
setIsSearchOpen(false)} - >
+
+
setIsSearchOpen(false)}>
diff --git a/app/components/layout/Header/HeaderBottom.tsx b/app/components/layout/Header/HeaderBottom.tsx index f00867c..6fb0af7 100644 --- a/app/components/layout/Header/HeaderBottom.tsx +++ b/app/components/layout/Header/HeaderBottom.tsx @@ -1,23 +1,25 @@ -'use client'; +"use client"; -import React, { useEffect, useState } from 'react'; -import Link from 'next/link'; -import HeaderMenu from './HeaderMenu'; -import { headerMenuService } from '@/services/header-menu.service'; -import { HeaderMenu as HeaderMenuType } from '@/types/header-menu'; +import React, { useEffect, useState } from "react"; +import Link from "next/link"; +import HeaderMenu from "./HeaderMenu"; +import { headerMenuService } from "@/services/header-menu.service"; +import { HeaderMenu as HeaderMenuType } from "@/types/header-menu"; interface HeaderBottomProps { onToggleOffcanvas: () => void; + onToggleMobileMenu: () => void; onToggleSearch: () => void; menuItems: any[]; isLoading: boolean; } -const HeaderBottom: React.FC = ({ - onToggleOffcanvas, +const HeaderBottom: React.FC = ({ + onToggleOffcanvas, + onToggleMobileMenu, onToggleSearch, menuItems, - isLoading + isLoading, }) => { return (
@@ -36,21 +38,44 @@ const HeaderBottom: React.FC = ({
- + + {/* Desktop Search Icon - hidden on mobile */} + + Apply now -
-
+
+ +
+
+ + {/* Desktop Hamburger - hidden on mobile */} +
+
diff --git a/app/components/layout/Header/MobileMenu.tsx b/app/components/layout/Header/MobileMenu.tsx new file mode 100644 index 0000000..e9cc5c5 --- /dev/null +++ b/app/components/layout/Header/MobileMenu.tsx @@ -0,0 +1,112 @@ +"use client"; + +import React, { useState, useEffect } from "react"; +import Link from "next/link"; + +interface MenuItem { + label: string; + href: string; + submenu?: MenuItem[]; +} + +interface MobileMenuProps { + isOpen: boolean; + onClose: () => void; + menuItems: MenuItem[]; +} + +const MobileMenu: React.FC = ({ isOpen, onClose, menuItems }) => { + const [expandedItems, setExpandedItems] = useState<{ [key: string]: boolean }>({}); + + // Disable body scroll when menu is open + useEffect(() => { + if (isOpen) { + document.body.style.overflow = "hidden"; + } else { + document.body.style.overflow = ""; + } + + return () => { + document.body.style.overflow = ""; + }; + }, [isOpen]); + + const toggleSubmenu = (path: string) => { + setExpandedItems((prev) => ({ + ...prev, + [path]: !prev[path], + })); + }; + + const handleLinkClick = () => { + onClose(); + }; + + // Recursive component for rendering menu items with nested submenus + const renderMenuItem = (item: MenuItem, index: number, parentPath: string = "", level: number = 0) => { + const currentPath = parentPath ? `${parentPath}-${index}` : `${index}`; + const hasSubmenu = item.submenu && item.submenu.length > 0; + const isExpanded = expandedItems[currentPath]; + + return ( +
  • +
    + {hasSubmenu ? ( + <> + {item.label} + + + ) : ( + + {item.label} + + )} +
    + + {/* Submenu with accordion animation - supports nested submenus */} + {hasSubmenu && ( +
      + {item.submenu!.map((subItem, subIndex) => + renderMenuItem(subItem, subIndex, currentPath, level + 1), + )} +
    + )} +
  • + ); + }; + + return ( + <> + {/* Mobile Menu Slide Panel */} +
    +
    +
    + + logo + +
    + +
    + + +
    + + {/* Overlay */} +
    + + ); +}; + +export default MobileMenu; diff --git a/app/components/layout/Header/header-responsive.css b/app/components/layout/Header/header-responsive.css new file mode 100644 index 0000000..c36c59a --- /dev/null +++ b/app/components/layout/Header/header-responsive.css @@ -0,0 +1,271 @@ +/* ======================================== + HEADER RESPONSIVE FIXES + Additional responsive adjustments for header + ======================================== */ + +/* ======================================== + MOBILE & TABLET (max-width: 991px) + ======================================== */ + +@media (max-width: 991px) { + /* Ensure header is always visible and sticky */ + #header-sticky { + position: sticky !important; + top: 0; + z-index: 999; + background-color: var(--white); + } + + /* Add shadow when scrolled */ + #header-sticky.sticky { + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + } + + /* Header container adjustments */ + .header-1 .container-fluid { + padding-left: 20px; + padding-right: 20px; + } + + /* Header main layout */ + .header-1 .header-main { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 0; + min-height: 60px; + } + + /* Logo section */ + .header-1 .header-left { + flex: 0 0 auto; + } + + .header-1 .header-left .logo { + margin: 0; + } + + .header-1 .header-left .logo img { + max-height: 40px; + height: 40px; + width: auto; + object-fit: contain; + } + + /* Right section with icons */ + .header-1 .header-right { + flex: 0 0 auto; + margin-top: 0 !important; + } + + .header-1 .header-right .header-call-item { + display: flex; + align-items: center; + gap: 12px; + } + + /* Search icon mobile styling */ + .header-1 .header-right .main-header__search { + width: 40px; + height: 40px; + border: 2px solid var(--theme); + border-radius: 50%; + background: transparent; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + transition: all 0.3s ease; + } + + .header-1 .header-right .main-header__search i { + font-size: 16px; + color: var(--theme); + transition: color 0.3s ease; + } + + .header-1 .header-right .main-header__search:hover { + background-color: var(--theme); + } + + .header-1 .header-right .main-header__search:hover i { + color: var(--white); + } + + /* Hamburger icon mobile styling */ + .header-1 .header__hamburger { + margin: 0; + } + + .header-1 .header__hamburger .sidebar__toggle { + font-size: 24px; + color: var(--header); + padding: 8px; + display: flex; + align-items: center; + justify-content: center; + transition: color 0.3s ease; + } + + .header-1 .header__hamburger .sidebar__toggle:hover { + color: var(--theme); + } + + /* Ensure icons don't stick to edges */ + .header-1 .header-right .header-call-item > * { + flex-shrink: 0; + } +} + +/* ======================================== + SMALL MOBILE (max-width: 480px) + ======================================== */ + +@media (max-width: 480px) { + .header-1 .container-fluid { + padding-left: 15px; + padding-right: 15px; + } + + .header-1 .header-main { + padding: 10px 0; + min-height: 55px; + } + + .header-1 .header-left .logo img { + max-height: 35px; + height: 35px; + } + + .header-1 .header-right .header-call-item { + gap: 10px; + } + + .header-1 .header-right .main-header__search { + width: 38px; + height: 38px; + } + + .header-1 .header-right .main-header__search i { + font-size: 15px; + } + + .header-1 .header__hamburger .sidebar__toggle { + font-size: 22px; + padding: 6px; + } +} + +/* ======================================== + DESKTOP (min-width: 992px) + ======================================== */ + +@media (min-width: 992px) { + /* Ensure desktop layout is not affected */ + .header-1 .header-main { + display: flex; + align-items: center; + justify-content: space-between; + } + + /* Desktop menu visible */ + .header-1 .mean__menu-wrapper { + display: block; + } + + /* Desktop button visible */ + .header-1 .header-right .theme-btn { + display: inline-flex; + } + + /* Ensure proper desktop search icon */ + .header-1 .header-right .main-header__search { + width: 40px; + height: 40px; + border-radius: 50%; + background-color: var(--bg); + display: flex; + align-items: center; + justify-content: center; + } +} + +/* ======================================== + PREVENT LAYOUT SHIFT ON LOAD + ======================================== */ + +.header-1 { + transition: none; +} + +.header-1.sticky { + transition: box-shadow 0.3s ease; +} + +/* ======================================== + Z-INDEX MANAGEMENT + ======================================== */ + +.header-1 { + z-index: 999; +} + +.mobile-slide-menu { + z-index: 99999; +} + +.mobile-menu-overlay { + z-index: 99998; +} + +.offcanvas__info { + z-index: 9999999; +} + +.offcanvas__overlay { + z-index: 900; +} + +/* ======================================== + ACCESSIBILITY IMPROVEMENTS + ======================================== */ + +@media (max-width: 991px) { + /* Focus states for mobile */ + .mobile-search-icon:focus, + .mobile-hamburger .sidebar__toggle:focus { + outline: 2px solid var(--theme); + outline-offset: 2px; + } + + /* Touch target sizes */ + .mobile-search-icon, + .mobile-hamburger .sidebar__toggle { + min-width: 44px; + min-height: 44px; + } +} + +/* ======================================== + HIDE OFFCANVAS ON MOBILE (Prevent Menu Overlap) + ======================================== */ + +@media (max-width: 991px) { + /* Hide the old offcanvas menu on mobile - only use new mobile menu */ + .offcanvas__info, + .offcanvas__overlay { + display: none !important; + visibility: hidden !important; + pointer-events: none !important; + } +} + +@media (min-width: 992px) { + /* Hide mobile menu on desktop - only use offcanvas */ + .mobile-slide-menu, + .mobile-menu-overlay { + display: none !important; + visibility: hidden !important; + pointer-events: none !important; + } +} diff --git a/app/components/layout/Header/mobile-menu.css b/app/components/layout/Header/mobile-menu.css new file mode 100644 index 0000000..dd22455 --- /dev/null +++ b/app/components/layout/Header/mobile-menu.css @@ -0,0 +1,495 @@ +/* ======================================== + MOBILE HEADER & MENU STYLES + Only applies to mobile & tablet (max-width: 991px) + Desktop layout remains unchanged + ======================================== */ + +/* ======================================== + 1. MOBILE HEADER ADJUSTMENTS + ======================================== */ + +@media (max-width: 991px) { + /* Make header sticky on mobile */ + .header-1 { + position: sticky; + top: 0; + z-index: 999; + background-color: var(--white); + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + } + + /* Hide header top section on mobile */ + .header-top-section { + display: none; + } + + /* Mobile header adjustments */ + .header-1 .header-main { + padding: 15px 0; + } + + /* Logo adjustments for mobile */ + .header-1 .header-left .logo img { + max-height: 40px; + width: auto; + object-fit: contain; + } + + /* Hide desktop menu on mobile */ + .header-1 .mean__menu-wrapper { + display: none; + } + + /* Mobile header right section */ + .header-1 .header-right .header-call-item { + display: flex; + align-items: center; + gap: 15px; + } + + /* Hide "Apply now" button on mobile */ + .header-1 .header-right .theme-btn { + display: none; + } + + /* Mobile search icon styling */ + .mobile-search-icon { + display: flex !important; + align-items: center; + justify-content: center; + width: 40px; + height: 40px; + border: 2px solid var(--theme); + border-radius: 50%; + background: transparent; + color: var(--theme); + font-size: 16px; + cursor: pointer; + transition: all 0.3s ease; + } + + .mobile-search-icon:hover { + background-color: var(--theme); + color: var(--white); + } + + /* Hide desktop search icon on mobile */ + .desktop-search-icon { + display: none !important; + } + + /* Mobile hamburger icon styling */ + .mobile-hamburger { + display: block !important; + } + + .mobile-hamburger .sidebar__toggle { + font-size: 24px; + color: var(--header); + padding: 5px; + } + + /* Hide desktop hamburger on mobile */ + .desktop-hamburger { + display: none !important; + } + + /* Ensure proper spacing */ + .header-1 .container-fluid { + padding: 0 20px; + } +} + +/* Desktop: Show desktop icons, hide mobile icons */ +@media (min-width: 992px) { + .mobile-search-icon, + .mobile-hamburger { + display: none !important; + } + + .desktop-search-icon, + .desktop-hamburger { + display: block !important; + } +} + +/* ======================================== + 2. MOBILE SLIDE MENU + ======================================== */ + +/* Mobile menu container */ +.mobile-slide-menu { + position: fixed; + top: 0; + right: 0; + width: 100%; + max-width: 320px; + height: 100vh; + background-color: var(--white); + z-index: 99999; + transform: translateX(100%); + transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); + overflow-y: auto; + box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1); +} + +.mobile-slide-menu.mobile-menu-open { + transform: translateX(0); +} + +/* Mobile menu header */ +.mobile-menu-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} + +.mobile-menu-logo img { + max-height: 35px; + width: auto; +} + +/* Close button */ +.mobile-menu-close { + width: 45px; + height: 45px; + border-radius: 50%; + background-color: var(--theme); + border: none; + color: var(--white); + font-size: 18px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: all 0.3s ease; +} + +.mobile-menu-close:hover { + background-color: #d32f2f; + transform: rotate(90deg); +} + +/* ======================================== + 3. MOBILE MENU NAVIGATION + ======================================== */ + +.mobile-menu-nav { + padding: 10px 0; +} + +.mobile-menu-list { + list-style: none; + margin: 0; + padding: 0; +} + +.mobile-menu-item { + border-bottom: 1px solid rgba(0, 0, 0, 0.08); +} + +.mobile-menu-item-wrapper { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 20px; + position: relative; +} + +.mobile-menu-link { + flex: 1; + font-size: 16px; + font-weight: 600; + color: var(--header); + text-decoration: none; + text-transform: capitalize; + transition: color 0.3s ease; +} + +.mobile-menu-link:hover { + color: var(--theme); +} + +/* Plus/Minus toggle button */ +.mobile-menu-toggle { + width: 30px; + height: 30px; + border: none; + background: transparent; + color: var(--theme); + font-size: 16px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: all 0.3s ease; + flex-shrink: 0; + margin-left: 10px; +} + +.mobile-menu-toggle:hover { + transform: scale(1.1); +} + +.mobile-menu-toggle i { + transition: transform 0.3s ease; +} + +/* ======================================== + 4. MOBILE SUBMENU (ACCORDION) + ======================================== */ + +.mobile-submenu { + list-style: none; + margin: 0; + padding: 0; + max-height: 0; + overflow: hidden; + opacity: 0; + transition: + max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), + opacity 0.3s ease, + padding 0.3s ease; + background-color: rgba(0, 0, 0, 0.02); +} + +.mobile-submenu.mobile-submenu-open { + max-height: 1000px; + opacity: 1; + padding: 10px 0; +} + +.mobile-submenu-item { + padding: 0; +} + +.mobile-submenu-link { + display: block; + padding: 12px 20px 12px 40px; + font-size: 14px; + font-weight: 500; + color: var(--header); + text-decoration: none; + transition: all 0.3s ease; + position: relative; +} + +.mobile-submenu-link::before { + content: "→"; + position: absolute; + left: 25px; + opacity: 0; + transition: all 0.3s ease; +} + +.mobile-submenu-link:hover { + color: var(--theme); + padding-left: 45px; +} + +.mobile-submenu-link:hover::before { + opacity: 1; + left: 30px; +} + +/* ======================================== + 5. MOBILE MENU OVERLAY + ======================================== */ + +.mobile-menu-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + background-color: rgba(0, 0, 0, 0.5); + z-index: 99998; + opacity: 0; + visibility: hidden; + transition: + opacity 0.3s ease, + visibility 0.3s ease; +} + +.mobile-menu-overlay.mobile-overlay-open { + opacity: 1; + visibility: visible; +} + +/* ======================================== + 6. RESPONSIVE ADJUSTMENTS + ======================================== */ + +/* Tablet adjustments */ +@media (max-width: 991px) and (min-width: 768px) { + .mobile-slide-menu { + max-width: 380px; + } + + .mobile-menu-link { + font-size: 17px; + } +} + +/* Small mobile devices */ +@media (max-width: 480px) { + .mobile-slide-menu { + max-width: 280px; + } + + .header-1 .container-fluid { + padding: 0 15px; + } + + .mobile-menu-header { + padding: 15px; + } + + .mobile-menu-close { + width: 40px; + height: 40px; + font-size: 16px; + } +} + +/* ======================================== + 7. PREVENT BODY SCROLL WHEN MENU OPEN + ======================================== */ + +body.mobile-menu-active { + overflow: hidden; +} + +/* ======================================== + 8. SMOOTH ANIMATIONS + ======================================== */ + +@media (prefers-reduced-motion: reduce) { + .mobile-slide-menu, + .mobile-submenu, + .mobile-menu-overlay, + .mobile-menu-toggle i { + transition: none; + } +} + +/* ======================================== + 9. DESKTOP - ENSURE NO MOBILE STYLES + ======================================== */ + +@media (min-width: 992px) { + .mobile-slide-menu, + .mobile-menu-overlay { + display: none !important; + } +} + +/* ======================================== + NESTED SUBMENU SUPPORT (Multi-level) + ======================================== */ + +/* Increase max-height for nested submenus */ +.mobile-submenu.mobile-submenu-open { + max-height: 2000px !important; +} + +/* Level 1 submenu (first level) */ +.mobile-submenu-level-1 { + background-color: rgba(0, 0, 0, 0.02); +} + +.mobile-submenu-level-1 .mobile-menu-item-wrapper { + padding-left: 40px; + padding-right: 20px; +} + +.mobile-submenu-level-1 .mobile-menu-link { + font-size: 14px; + font-weight: 500; +} + +/* Level 2 submenu (nested inside level 1) */ +.mobile-submenu-level-2 { + background-color: rgba(0, 0, 0, 0.04); +} + +.mobile-submenu-level-2 .mobile-menu-item-wrapper { + padding-left: 60px; + padding-right: 20px; +} + +.mobile-submenu-level-2 .mobile-menu-link { + font-size: 13px; + font-weight: 400; +} + +/* Level 3 submenu (nested inside level 2) */ +.mobile-submenu-level-3 { + background-color: rgba(0, 0, 0, 0.06); +} + +.mobile-submenu-level-3 .mobile-menu-item-wrapper { + padding-left: 80px; + padding-right: 20px; +} + +.mobile-submenu-level-3 .mobile-menu-link { + font-size: 12px; + font-weight: 400; +} + +/* Adjust toggle button size for nested items */ +.mobile-submenu .mobile-menu-toggle { + width: 26px; + height: 26px; + font-size: 14px; +} + +/* Border for nested items */ +.mobile-menu-level-1 { + border-bottom: 1px solid rgba(0, 0, 0, 0.05); +} + +.mobile-menu-level-2, +.mobile-menu-level-3 { + border-bottom: none; +} + +/* Adjust padding for nested menu items */ +.mobile-menu-level-1 .mobile-menu-item-wrapper, +.mobile-menu-level-2 .mobile-menu-item-wrapper, +.mobile-menu-level-3 .mobile-menu-item-wrapper { + padding-top: 12px; + padding-bottom: 12px; +} + +/* ======================================== + PREVENT MENU OVERLAP - HIDE OLD OFFCANVAS ON MOBILE + ======================================== */ + +@media (max-width: 991px) { + /* Completely hide offcanvas menu on mobile */ + .offcanvas__info, + .offcanvas__overlay, + .fix-area { + display: none !important; + visibility: hidden !important; + opacity: 0 !important; + pointer-events: none !important; + z-index: -1 !important; + } +} + +@media (min-width: 992px) { + /* Completely hide mobile menu on desktop */ + .mobile-slide-menu, + .mobile-menu-overlay { + display: none !important; + visibility: hidden !important; + opacity: 0 !important; + pointer-events: none !important; + z-index: -1 !important; + } +} diff --git a/app/globals.css b/app/globals.css index 24d681c..22cc726 100644 --- a/app/globals.css +++ b/app/globals.css @@ -1,8 +1,15 @@ @import "tailwindcss"; + +/* Mobile Menu Styles */ +@import "./components/layout/Header/mobile-menu.css"; + .collapse { - visibility: visible !important; + visibility: visible !important; } .collapse.show { - visibility: visible; + visibility: visible; } + +/* Header Responsive Styles */ +@import "./components/layout/Header/header-responsive.css"; From c39ea1fdedacfc81cee11ab62a70b4599c0582a1 Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Fri, 6 Feb 2026 11:43:07 +0700 Subject: [PATCH 03/14] chore: Add example environment configuration and update .gitignore to include .env --- .env.example | 2 ++ .gitignore | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..445e928 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +PORT=3000 +NEXT_PUBLIC_API_URL=https://cms.ggcamp.org \ No newline at end of file diff --git a/.gitignore b/.gitignore index 2ad4ad4..0dc5d70 100644 --- a/.gitignore +++ b/.gitignore @@ -31,7 +31,7 @@ yarn-error.log* .pnpm-debug.log* # env files (can opt-in for committing if needed) -.env* +.env # vercel .vercel From f9da2970a4ff3fb6f2a08a9fdaed14dd7940fc1c Mon Sep 17 00:00:00 2001 From: r2xrzh9q2z-lab Date: Fri, 6 Feb 2026 12:00:28 +0700 Subject: [PATCH 04/14] fix visa build --- api/visa.ts | 9 +-- app/visa/[slug]/VisaDetail.tsx | 108 +++++++++------------------------ 2 files changed, 35 insertions(+), 82 deletions(-) diff --git a/api/visa.ts b/api/visa.ts index 0a6f9e4..357cecd 100644 --- a/api/visa.ts +++ b/api/visa.ts @@ -10,6 +10,7 @@ interface VisaItem { } interface VisaTypeCategory { + title?: string; items: VisaItem[]; } @@ -433,7 +434,7 @@ function getFallbackVisaData(): VisaData { tagline: "35+ years of excellence in UK visa consulting.", visaTypes: [ { - category: "Student & Work", + title: "Student & Work", items: [ { title: "Student Visa", @@ -448,7 +449,7 @@ function getFallbackVisaData(): VisaData { ], }, { - category: "Family & Other", + title: "Family & Other", items: [ { title: "Skilled Worker Visa", @@ -601,7 +602,7 @@ function getFallbackVisaData(): VisaData { tagline: "Your pathway to a better life in Canada starts here.", visaTypes: [ { - category: "Study & Work", + title: "Study & Work", items: [ { title: "Study Permit", @@ -614,7 +615,7 @@ function getFallbackVisaData(): VisaData { ], }, { - category: "Immigration & Family", + title: "Immigration & Family", items: [ { title: "Express Entry", diff --git a/app/visa/[slug]/VisaDetail.tsx b/app/visa/[slug]/VisaDetail.tsx index bd85ea2..fe23f77 100644 --- a/app/visa/[slug]/VisaDetail.tsx +++ b/app/visa/[slug]/VisaDetail.tsx @@ -7,24 +7,33 @@ interface VisaDetailProps { } export default function VisaDetail({ country }: VisaDetailProps) { + // 1. Kiểm tra an toàn (Null Check) + // Vì detailedView có kiểu là 'DetailedView | undefined', ta phải chắc chắn nó tồn tại + if (!country || !country.detailedView) { + return ( +
    +

    Đang tải dữ liệu...

    +
    + ); + } + const { name: rootName, detailedView } = country; + + // 2. Bóc tách dữ liệu sau khi đã kiểm tra detailedView tồn tại const { activeCountry: countryData, relatedCountries, contactInfo, - } = country.detailedView; + } = detailedView; return ( <> - {/* Breadcrumb-Wrapper Section Start */} - {/* Country-details Section Start */}
    - {/* Main Content */}
    @@ -38,33 +47,19 @@ export default function VisaDetail({ country }: VisaDetailProps) { {/* Visa Types */}
    - {/* Render mảng đầu tiên (index 0) */} - {countryData.visaTypes?.[0] && ( -
    - {countryData.visaTypes[0].items.map( - (item: any, itemIdx: number) => ( -
    -
    {item.title}
    -

    {item.description}

    -
    - ), - )} + {countryData.visaTypes?.map((type: any, idx: number) => ( +
    + {type.items.map((item: any, itemIdx: number) => ( +
    +
    {item.title}
    +

    {item.description}

    +
    + ))}
    - )} - - {/* Render mảng thứ hai (index 1) */} - {countryData.visaTypes?.[1] && ( -
    - {countryData.visaTypes[1].items.map( - (item: any, itemIdx: number) => ( -
    -
    {item.title}
    -

    {item.description}

    -
    - ), - )} -
    - )} + ))}
    {/* Visa Process */} @@ -102,49 +97,6 @@ export default function VisaDetail({ country }: VisaDetailProps) { )}
    )} - - {/* Visa Categories */} - {countryData.visaCategories && ( - <> -

    - {countryData.visaCategories.title} -

    - - {countryData.visaCategories.steps.map( - (subGroup: string[], groupIdx: number) => ( -
      - {subGroup.map((category: string, idx: number) => ( -
    • - - {category} -
    • - ))} -
    - ), - )} - - )} - - {/* Service Options */} - {countryData.visaService && ( - <> -

    - {countryData.visaService.title} -

    -
      - {countryData.visaService.steps.map( - (process: any, idx: number) => ( -
    • - - {process.number}. {process.title} - - - {process.description} -
    • - ), - )} -
    - - )}
    @@ -152,7 +104,7 @@ export default function VisaDetail({ country }: VisaDetailProps) { {/* Sidebar */}
    - {relatedCountries.map((relCountry: any, idx: number) => ( + {relatedCountries?.map((relCountry: any, idx: number) => (
    @@ -178,8 +130,6 @@ export default function VisaDetail({ country }: VisaDetailProps) {

    {contactInfo.sectionTitle}

    {contactInfo.helpText}

    - - {/* Phone */}
    @@ -187,13 +137,15 @@ export default function VisaDetail({ country }: VisaDetailProps) {
    {contactInfo.phone.label}:
    - + {contactInfo.phone.value}
    - {/* Email */}
    From a9ff0e894761c624505c1110cd23480c5147353e Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Fri, 6 Feb 2026 12:09:33 +0700 Subject: [PATCH 05/14] fix: blog dynamic build --- api/aboutApi.ts | 4 ++-- api/blogsApi.ts | 28 +++++++++------------------- api/servicesApi.ts | 4 ++++ app/about/page.tsx | 3 +++ app/blog/[slug]/page.tsx | 3 +++ app/page.tsx | 3 +++ app/services/page.tsx | 3 +++ app/visa/page.tsx | 3 +++ 8 files changed, 30 insertions(+), 21 deletions(-) diff --git a/api/aboutApi.ts b/api/aboutApi.ts index 3de4d1c..d893c5e 100644 --- a/api/aboutApi.ts +++ b/api/aboutApi.ts @@ -15,10 +15,10 @@ export const aboutApi = { try { const apiUrl = getApiUrl(); const response = await fetch(`${apiUrl}/api/about`, { + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', headers: { - 'Cache-Control': 'no-cache', - 'Pragma': 'no-cache' + 'Content-Type': 'application/json', } }); if (!response.ok) { diff --git a/api/blogsApi.ts b/api/blogsApi.ts index 0f8b43a..54df225 100644 --- a/api/blogsApi.ts +++ b/api/blogsApi.ts @@ -53,9 +53,7 @@ export const fetchBlogList = async ( headers: { 'Content-Type': 'application/json', }, - // Next.js: cache và revalidate (disabled) - // next: { revalidate: 60 }, // Revalidate mỗi 60 giây - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -91,8 +89,7 @@ export const fetchBlogDetail = async ( headers: { 'Content-Type': 'application/json', }, - // No cache for blog detail (disabled caching) - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -131,8 +128,7 @@ export const fetchFeaturedBlogs = async ( headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 60 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -168,8 +164,7 @@ export const fetchRecentBlogs = async ( headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 60 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -202,8 +197,7 @@ export const fetchCategories = async (): Promise => { headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 300 }, // Categories ít thay đổi, cache lâu hơn - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -239,8 +233,7 @@ export const fetchCategoryDetail = async ( headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 300 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -276,8 +269,7 @@ export const fetchTags = async (): Promise => { headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 300 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -313,8 +305,7 @@ export const fetchPopularTags = async ( headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 300 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); @@ -350,8 +341,7 @@ export const fetchTagDetail = async ( headers: { 'Content-Type': 'application/json', }, - // next: { revalidate: 300 }, - // no-cache + // Không cache - luôn fetch dữ liệu mới nhất cache: 'no-store', }); diff --git a/api/servicesApi.ts b/api/servicesApi.ts index 9bae705..5c1d230 100644 --- a/api/servicesApi.ts +++ b/api/servicesApi.ts @@ -138,6 +138,8 @@ export const fetchServicePageData = async (): Promise => { headers: { "Content-Type": "application/json", }, + // Không cache - luôn fetch dữ liệu mới nhất + cache: "no-store", }); console.log("Services API response status:", response.status); @@ -179,6 +181,8 @@ export const fetchServiceBySlug = async (slug: string): Promise => { headers: { "Content-Type": "application/json", }, + // Không cache - luôn fetch dữ liệu mới nhất + cache: "no-store", }); console.log("Response status:", response.status); diff --git a/app/about/page.tsx b/app/about/page.tsx index 8730cde..e8958c5 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,6 +1,9 @@ import { AboutHero, AboutIntro, AboutMission, AboutFeatures, AboutNews } from "../components/about"; import { aboutApi } from "../../api/aboutApi"; +// Force dynamic rendering - không cache +export const dynamic = 'force-dynamic'; + export default async function AboutPage() { const data = await aboutApi.getAbout(); diff --git a/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx index 10ea765..336f3ec 100644 --- a/app/blog/[slug]/page.tsx +++ b/app/blog/[slug]/page.tsx @@ -6,6 +6,9 @@ import { fetchBlogList, fetchBlogDetail } from "@/api/blogsApi"; import Sidebar from "@/app/blog/components/Sidebar"; import { getCmsImageUrl } from "@/utils"; +// Force dynamic rendering - không cache +export const dynamic = 'force-dynamic'; + // Generate static params for all blog posts export async function generateStaticParams() { try { diff --git a/app/page.tsx b/app/page.tsx index 10c1914..a7caf9f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -12,6 +12,9 @@ import localHomeData from './home.json'; import { getCmsImageUrl } from '@/utils/image'; import { fetchHomeData } from '@/api'; +// Force dynamic rendering - không cache +export const dynamic = 'force-dynamic'; + export default async function Home() { // Fetch home data (blog aggregation is now handled by the backend) const apiHomeData = await fetchHomeData(); diff --git a/app/services/page.tsx b/app/services/page.tsx index 5147e09..5962b99 100644 --- a/app/services/page.tsx +++ b/app/services/page.tsx @@ -4,6 +4,9 @@ import Breadcrumb from "../components/Breadcrumb"; import ImageWithFallback from "../components/ImageWithFallback"; import "./services.css"; +// Force dynamic rendering - không cache +export const dynamic = 'force-dynamic'; + export default async function ServicesPage() { const data = await fetchServicePageData(); const allCountries = await fetchCountries(); diff --git a/app/visa/page.tsx b/app/visa/page.tsx index 02c4c6d..f5401a9 100644 --- a/app/visa/page.tsx +++ b/app/visa/page.tsx @@ -3,6 +3,9 @@ import Breadcrumb from "../components/Breadcrumb"; import { fetchVisaData, type VisaCountry } from "@/api/visa"; +// Force dynamic rendering - không cache +export const dynamic = 'force-dynamic'; + export default async function VisaListPage() { // Fetch all visa countries từ API let visaCountries: any[] = []; From 7daddb2e8cb17c084da9deb265f80fb5bdfcbc9d Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Fri, 6 Feb 2026 12:26:06 +0700 Subject: [PATCH 06/14] feat: update .env.example --- .env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 445e928..b913a3c 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,2 @@ PORT=3000 -NEXT_PUBLIC_API_URL=https://cms.ggcamp.org \ No newline at end of file +NEXT_PUBLIC_API_URL=https://www.hailearning.edu.vn/ \ No newline at end of file From 5fac4b14599db501c1bfc6c5d2bb680f4a47e058 Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Fri, 6 Feb 2026 12:41:52 +0700 Subject: [PATCH 07/14] feat(app): migrate from pages router to app router --- app/not-found.tsx | 55 ++++++++++++++++++++++++++++++++++ pages/[level]/[slug]/index.tsx | 14 --------- pages/[level]/index.tsx | 13 -------- pages/_app.tsx | 6 ---- pages/_document.tsx | 13 -------- 5 files changed, 55 insertions(+), 46 deletions(-) create mode 100644 app/not-found.tsx delete mode 100644 pages/[level]/[slug]/index.tsx delete mode 100644 pages/[level]/index.tsx delete mode 100644 pages/_app.tsx delete mode 100644 pages/_document.tsx diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..d73b1db --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,55 @@ +import Link from "next/link"; + +export default function NotFound() { + return ( + <> +
    +
    + img +
    +
    +
    +

    Page Not Found

    + +
    +
    +
    + +
    +
    +
    +
    +
    +

    404 - Page Not Found

    +

    + The page you're looking for could not be found. It may have been moved or deleted. Please check the URL or return to the home page. +

    +
    + + Back to Home + + +
    +
    +
    +
    +
    +
    + + ); +} diff --git a/pages/[level]/[slug]/index.tsx b/pages/[level]/[slug]/index.tsx deleted file mode 100644 index f0cc077..0000000 --- a/pages/[level]/[slug]/index.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { useRouter } from "next/router"; - -export default function LevelSlugPage() { - const router = useRouter(); - const { level, slug } = router.query; - - return ( -
    -

    Lesson page

    -

    Level: {level}

    -

    Slug: {slug}

    -
    - ); -} diff --git a/pages/[level]/index.tsx b/pages/[level]/index.tsx deleted file mode 100644 index e9d07b9..0000000 --- a/pages/[level]/index.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { useRouter } from "next/router"; - -export default function LevelPage() { - const router = useRouter(); - const { level } = router.query; - - return ( -
    -

    Level page

    -

    Level: {level}

    -
    - ); -} diff --git a/pages/_app.tsx b/pages/_app.tsx deleted file mode 100644 index 86d8929..0000000 --- a/pages/_app.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import type { AppProps } from "next/app"; -import "../app/globals.css"; - -export default function MyApp({ Component, pageProps }: AppProps) { - return ; -} diff --git a/pages/_document.tsx b/pages/_document.tsx deleted file mode 100644 index b2fff8b..0000000 --- a/pages/_document.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Html, Head, Main, NextScript } from "next/document"; - -export default function Document() { - return ( - - - -
    - - - - ); -} From 1303883217a30e8aad274921017fa4663115bf8b Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Fri, 6 Feb 2026 13:55:35 +0700 Subject: [PATCH 08/14] style(home): Improve image alignment in Partners component --- app/components/home/Partners.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/home/Partners.tsx b/app/components/home/Partners.tsx index fc41f3b..5681d28 100644 --- a/app/components/home/Partners.tsx +++ b/app/components/home/Partners.tsx @@ -27,7 +27,7 @@ const Partners = ({ data }: PartnersProps) => { {(data.visaConsultancy?.items || []).map((partner, index) => (
    -
    +
    {partner.name}

    {partner.name}

    @@ -48,7 +48,7 @@ const Partners = ({ data }: PartnersProps) => {
    {(data.brands?.items || []).map((brand, index) => (
    -
    +
    brand-logo
    From 38b5054b3422fd1ad890afee4d8050edc58363ae Mon Sep 17 00:00:00 2001 From: LNHA Date: Sat, 7 Feb 2026 10:31:22 +0700 Subject: [PATCH 09/14] fix: comment out desktop button visibility in header responsive CSS --- app/components/layout/Header/header-responsive.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/layout/Header/header-responsive.css b/app/components/layout/Header/header-responsive.css index c36c59a..d6717f2 100644 --- a/app/components/layout/Header/header-responsive.css +++ b/app/components/layout/Header/header-responsive.css @@ -174,9 +174,9 @@ } /* Desktop button visible */ - .header-1 .header-right .theme-btn { + /* .header-1 .header-right .theme-btn { display: inline-flex; - } + } */ /* Ensure proper desktop search icon */ .header-1 .header-right .main-header__search { From f776512469898abc1bfe93d0644cd79e8ee3d414 Mon Sep 17 00:00:00 2001 From: Le Nhut Huy Date: Sat, 7 Feb 2026 22:14:00 +0700 Subject: [PATCH 10/14] add favicon --- app/favicon.ico | Bin 25931 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/favicon.ico diff --git a/app/favicon.ico b/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 zcmeHv30#a{`}aL_*G&7qml|y<+KVaDM2m#dVr!KsA!#An?kSQM(q<_dDNCpjEux83 zLb9Z^XxbDl(w>%i@8hT6>)&Gu{h#Oeyszu?xtw#Zb1mO{pgX9699l+Qppw7jXaYf~-84xW z)w4x8?=youko|}Vr~(D$UXIbiXABHh`p1?nn8Po~fxRJv}|0e(BPs|G`(TT%kKVJAdg5*Z|x0leQq0 zkdUBvb#>9F()jo|T~kx@OM8$9wzs~t2l;K=woNssA3l6|sx2r3+kdfVW@e^8e*E}v zA1y5{bRi+3Z`uD3{F7LgFJDdvm;nJilkzDku>BwXH(8ItVCXk*-lSJnR?-2UN%hJ){&rlvg`CDTj z)Bzo!3v7Ou#83zEDEFcKt(f1E0~=rqeEbTnMvWR#{+9pg%7G8y>u1OVRUSoox-ovF z2Ydma(;=YuBY(eI|04{hXzZD6_f(v~H;C~y5=DhAC{MMS>2fm~1H_t2$56pc$NH8( z5bH|<)71dV-_oCHIrzrT`2s-5w_+2CM0$95I6X8p^r!gHp+j_gd;9O<1~CEQQGS8) zS9Qh3#p&JM-G8rHekNmKVewU;pJRcTAog68KYo^dRo}(M>36U4Us zfgYWSiHZL3;lpWT=zNAW>Dh#mB!_@Lg%$ms8N-;aPqMn+C2HqZgz&9~Eu z4|Kp<`$q)Uw1R?y(~S>ePdonHxpV1#eSP1B;Ogo+-Pk}6#0GsZZ5!||ev2MGdh}_m z{DeR7?0-1^zVs&`AV6Vt;r3`I`OI_wgs*w=eO%_#7Kepl{B@xiyCANc(l zzIyd4y|c6PXWq9-|KM8(zIk8LPk(>a)zyFWjhT!$HJ$qX1vo@d25W<fvZQ2zUz5WRc(UnFMKHwe1| zWmlB1qdbiA(C0jmnV<}GfbKtmcu^2*P^O?MBLZKt|As~ge8&AAO~2K@zbXelK|4T<{|y4`raF{=72kC2Kn(L4YyenWgrPiv z@^mr$t{#X5VuIMeL!7Ab6_kG$&#&5p*Z{+?5U|TZ`B!7llpVmp@skYz&n^8QfPJzL z0G6K_OJM9x+Wu2gfN45phANGt{7=C>i34CV{Xqlx(fWpeAoj^N0Biu`w+MVcCUyU* zDZuzO0>4Z6fbu^T_arWW5n!E45vX8N=bxTVeFoep_G#VmNlQzAI_KTIc{6>c+04vr zx@W}zE5JNSU>!THJ{J=cqjz+4{L4A{Ob9$ZJ*S1?Ggg3klFp!+Y1@K+pK1DqI|_gq z5ZDXVpge8-cs!o|;K73#YXZ3AShj50wBvuq3NTOZ`M&qtjj#GOFfgExjg8Gn8>Vq5 z`85n+9|!iLCZF5$HJ$Iu($dm?8~-ofu}tEc+-pyke=3!im#6pk_Wo8IA|fJwD&~~F zc16osQ)EBo58U7XDuMexaPRjU@h8tXe%S{fA0NH3vGJFhuyyO!Uyl2^&EOpX{9As0 zWj+P>{@}jxH)8|r;2HdupP!vie{sJ28b&bo!8`D^x}TE$%zXNb^X1p@0PJ86`dZyj z%ce7*{^oo+6%&~I!8hQy-vQ7E)0t0ybH4l%KltWOo~8cO`T=157JqL(oq_rC%ea&4 z2NcTJe-HgFjNg-gZ$6!Y`SMHrlj}Etf7?r!zQTPPSv}{so2e>Fjs1{gzk~LGeesX%r(Lh6rbhSo_n)@@G-FTQy93;l#E)hgP@d_SGvyCp0~o(Y;Ee8{ zdVUDbHm5`2taPUOY^MAGOw*>=s7=Gst=D+p+2yON!0%Hk` zz5mAhyT4lS*T3LS^WSxUy86q&GnoHxzQ6vm8)VS}_zuqG?+3td68_x;etQAdu@sc6 zQJ&5|4(I?~3d-QOAODHpZ=hlSg(lBZ!JZWCtHHSj`0Wh93-Uk)_S%zsJ~aD>{`A0~ z9{AG(e|q3g5B%wYKRxiL2Y$8(4w6bzchKuloQW#e&S3n+P- z8!ds-%f;TJ1>)v)##>gd{PdS2Oc3VaR`fr=`O8QIO(6(N!A?pr5C#6fc~Ge@N%Vvu zaoAX2&(a6eWy_q&UwOhU)|P3J0Qc%OdhzW=F4D|pt0E4osw;%<%Dn58hAWD^XnZD= z>9~H(3bmLtxpF?a7su6J7M*x1By7YSUbxGi)Ot0P77`}P3{)&5Un{KD?`-e?r21!4vTTnN(4Y6Lin?UkSM z`MXCTC1@4A4~mvz%Rh2&EwY))LeoT=*`tMoqcEXI>TZU9WTP#l?uFv+@Dn~b(>xh2 z;>B?;Tz2SR&KVb>vGiBSB`@U7VIWFSo=LDSb9F{GF^DbmWAfpms8Sx9OX4CnBJca3 zlj9(x!dIjN?OG1X4l*imJNvRCk}F%!?SOfiOq5y^mZW)jFL@a|r-@d#f7 z2gmU8L3IZq0ynIws=}~m^#@&C%J6QFo~Mo4V`>v7MI-_!EBMMtb%_M&kvAaN)@ZVw z+`toz&WG#HkWDjnZE!6nk{e-oFdL^$YnbOCN}JC&{$#$O27@|Tn-skXr)2ml2~O!5 zX+gYoxhoc7qoU?C^3~&!U?kRFtnSEecWuH0B0OvLodgUAi}8p1 zrO6RSXHH}DMc$&|?D004DiOVMHV8kXCP@7NKB zgaZq^^O<7PoKEp72kby@W0Z!Y*Ay{&vfg#C&gG@YVR9g?FEocMUi1gSN$+V+ayF45{a zuDZDTN}mS|;BO%gEf}pjBfN2-gIrU#G5~cucA;dokXW89%>AyXJJI z9X4UlIWA|ZYHgbI z5?oFk@A=Ik7lrEQPDH!H+b`7_Y~aDb_qa=B2^Y&Ow41cU=4WDd40dp5(QS-WMN-=Y z9g;6_-JdNU;|6cPwf$ak*aJIcwL@1n$#l~zi{c{EW?T;DaW*E8DYq?Umtz{nJ&w-M zEMyTDrC&9K$d|kZe2#ws6)L=7K+{ zQw{XnV6UC$6-rW0emqm8wJoeZK)wJIcV?dST}Z;G0Arq{dVDu0&4kd%N!3F1*;*pW zR&qUiFzK=@44#QGw7k1`3t_d8&*kBV->O##t|tonFc2YWrL7_eqg+=+k;!F-`^b8> z#KWCE8%u4k@EprxqiV$VmmtiWxDLgnGu$Vs<8rppV5EajBXL4nyyZM$SWVm!wnCj-B!Wjqj5-5dNXukI2$$|Bu3Lrw}z65Lc=1G z^-#WuQOj$hwNGG?*CM_TO8Bg-1+qc>J7k5c51U8g?ZU5n?HYor;~JIjoWH-G>AoUP ztrWWLbRNqIjW#RT*WqZgPJXU7C)VaW5}MiijYbABmzoru6EmQ*N8cVK7a3|aOB#O& zBl8JY2WKfmj;h#Q!pN%9o@VNLv{OUL?rixHwOZuvX7{IJ{(EdPpuVFoQqIOa7giLVkBOKL@^smUA!tZ1CKRK}#SSM)iQHk)*R~?M!qkCruaS!#oIL1c z?J;U~&FfH#*98^G?i}pA{ z9Jg36t4=%6mhY(quYq*vSxptes9qy|7xSlH?G=S@>u>Ebe;|LVhs~@+06N<4CViBk zUiY$thvX;>Tby6z9Y1edAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJwb z_^v8bbg`SAn{I*4bH$u(RZ6*xUhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=pC^S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk($?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvhCL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397*_cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111aH}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*IcmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU&68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-=A=yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v#ix45EVrcEhr>!NMhprl$InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~&^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7<4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}scZlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2`1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M=hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S(O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m From 40840ed3245b9aa1325d8b0869eb8f3de4def90f Mon Sep 17 00:00:00 2001 From: LNHA Date: Mon, 9 Feb 2026 13:21:13 +0700 Subject: [PATCH 11/14] feat: implement a new responsive mobile header and slide-out menu system with multi-level submenus. --- app/components/layout/Header/mobile-menu.css | 4 ++-- public/assets/css/main.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/components/layout/Header/mobile-menu.css b/app/components/layout/Header/mobile-menu.css index dd22455..5a86f6c 100644 --- a/app/components/layout/Header/mobile-menu.css +++ b/app/components/layout/Header/mobile-menu.css @@ -48,9 +48,9 @@ } /* Hide "Apply now" button on mobile */ - .header-1 .header-right .theme-btn { + /* .header-1 .header-right .theme-btn { display: none; - } + } */ /* Mobile search icon styling */ .mobile-search-icon { diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 732a531..4b79e7d 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -45,8 +45,8 @@ Version: 1.0.0 --body: #fff; --black: #000; --white: #fff; - --theme: #e13833; - --theme-2: #0048b4; + --theme: #BF3432; + --theme-2: #0a2347; --header: #151a26; --text: #535761; --text-2: #0b4e3d; From 1d901dec07e7343e4a84cc785dd07a6cdd61042c Mon Sep 17 00:00:00 2001 From: Wini_Fy Date: Tue, 10 Feb 2026 10:24:48 +0700 Subject: [PATCH 12/14] refactor: centralize data fetching in layout components --- app/components/layout/Footer/Footer.tsx | 25 +++++++++++- app/components/layout/Footer/FooterBottom.tsx | 25 ++++-------- app/components/layout/Footer/FooterTop.tsx | 26 ++++-------- app/components/layout/Header/Header.tsx | 32 +++++++++++---- app/components/layout/Header/HeaderBottom.tsx | 18 ++++++++- app/components/layout/Header/HeaderTop.tsx | 38 ++++-------------- public/assets/img/favicon.png | Bin 26036 -> 138103 bytes 7 files changed, 87 insertions(+), 77 deletions(-) diff --git a/app/components/layout/Footer/Footer.tsx b/app/components/layout/Footer/Footer.tsx index e97ee25..4a1fae1 100644 --- a/app/components/layout/Footer/Footer.tsx +++ b/app/components/layout/Footer/Footer.tsx @@ -1,11 +1,32 @@ +"use client"; + +import { useEffect, useState } from 'react'; import FooterTop from './FooterTop'; import FooterBottom from './FooterBottom'; +import { footerApi, FooterData } from "../../../../api/footerApi"; +import footerData from "./footer.json"; const Footer = () => { + const [data, setData] = useState(footerData as FooterData); + + useEffect(() => { + const loadFooterData = async () => { + try { + const apiData = await footerApi.getFooter(); + setData(apiData); + } catch (error) { + console.error("Failed to load footer data from API, using static data:", error); + // Keep using static data as fallback + } + }; + + loadFooterData(); + }, []); + return ( <> - - + + ); }; diff --git a/app/components/layout/Footer/FooterBottom.tsx b/app/components/layout/Footer/FooterBottom.tsx index 7bcd406..1087960 100644 --- a/app/components/layout/Footer/FooterBottom.tsx +++ b/app/components/layout/Footer/FooterBottom.tsx @@ -1,29 +1,18 @@ "use client"; import Link from "next/link"; -import { useEffect, useState } from "react"; -import { footerApi, FooterData } from "../../../../api/footerApi"; +import { FooterData } from "../../../../api/footerApi"; import footerData from "./footer.json"; -const FooterBottom = () => { - const [data, setData] = useState(footerData as FooterData); +interface FooterBottomProps { + data: FooterData; +} - useEffect(() => { - const loadFooterData = async () => { - try { - const apiData = await footerApi.getFooter(); - setData(apiData); - } catch (error) { - console.error("Failed to load footer data from API, using static data:", error); - // Keep using static data as fallback - } - }; - - loadFooterData(); - }, []); +const FooterBottom = ({ data }: FooterBottomProps) => { + const effectiveData = data || footerData; // Ensure we always have a valid `bottom` object, even if API shape changes - const bottom = data?.bottom || footerData.bottom; + const bottom = effectiveData?.bottom || footerData.bottom; // If bottom is still missing, avoid rendering to prevent runtime errors if (!bottom) { diff --git a/app/components/layout/Footer/FooterTop.tsx b/app/components/layout/Footer/FooterTop.tsx index 6cc9d72..d04dd17 100644 --- a/app/components/layout/Footer/FooterTop.tsx +++ b/app/components/layout/Footer/FooterTop.tsx @@ -1,29 +1,19 @@ "use client"; import Link from "next/link"; -import { useEffect, useState } from "react"; -import { footerApi, FooterData } from "../../../../api/footerApi"; +import { FooterData } from "../../../../api/footerApi"; import footerData from "./footer.json"; -const FooterTop = () => { - const [data, setData] = useState(footerData as FooterData); +interface FooterTopProps { + data: FooterData; +} - useEffect(() => { - const loadFooterData = async () => { - try { - const apiData = await footerApi.getFooter(); - setData(apiData); - } catch (error) { - console.error("Failed to load footer data from API, using static data:", error); - // Keep using static data as fallback - } - }; - - loadFooterData(); - }, []); +const FooterTop = ({ data }: FooterTopProps) => { + // Use passed data, fallback to static json if needed + const effectiveData = data || footerData; // Ensure we always have a valid `top` object, even if API shape changes - const top = data?.top || footerData.top; + const top = effectiveData?.top || footerData.top; // If for some reason `top` is still missing, avoid rendering to prevent runtime errors if (!top) { diff --git a/app/components/layout/Header/Header.tsx b/app/components/layout/Header/Header.tsx index b40de99..7fb025d 100644 --- a/app/components/layout/Header/Header.tsx +++ b/app/components/layout/Header/Header.tsx @@ -13,6 +13,7 @@ const Header = () => { const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); const [isSearchOpen, setIsSearchOpen] = useState(false); const [menuItems, setMenuItems] = useState([]); + const [headerData, setHeaderData] = useState(null); const [isLoading, setIsLoading] = useState(true); const toggleOffcanvas = () => setIsOffcanvasOpen(!isOffcanvasOpen); @@ -33,31 +34,48 @@ const Header = () => { ); useEffect(() => { - const fetchMenu = async () => { + const fetchData = async () => { try { setIsLoading(true); - const data = await headerMenuService.getHeaderMenu(); - const mappedData = data.map((item) => adaptMenu(item)); - setMenuItems(mappedData); + + // Fetch Menu + const menuPromise = headerMenuService.getHeaderMenu(); + + // Fetch Header Data (Logo, Topbar) + const apiUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3000"; + const headerPromise = fetch(`${apiUrl}/api/header`).then(res => res.json()); + + const [menuData, headerResult] = await Promise.all([menuPromise, headerPromise]); + + // Process Menu + const mappedMenu = menuData.map((item) => adaptMenu(item)); + setMenuItems(mappedMenu); + + // Process Header Data + if (headerResult.success && headerResult.data) { + setHeaderData(headerResult.data); + } + } catch (error) { - console.error("Error fetching menu in Header:", error); + console.error("Error fetching header data:", error); } finally { setIsLoading(false); } }; - fetchMenu(); + fetchData(); }, [adaptMenu]); return ( <> - + setIsOffcanvasOpen(false)} menuItems={menuItems} /> diff --git a/app/components/layout/Header/HeaderBottom.tsx b/app/components/layout/Header/HeaderBottom.tsx index 6fb0af7..ca30c21 100644 --- a/app/components/layout/Header/HeaderBottom.tsx +++ b/app/components/layout/Header/HeaderBottom.tsx @@ -12,6 +12,7 @@ interface HeaderBottomProps { onToggleSearch: () => void; menuItems: any[]; isLoading: boolean; + logo: { light: string; dark: string; alt: string } | null; } const HeaderBottom: React.FC = ({ @@ -20,7 +21,18 @@ const HeaderBottom: React.FC = ({ onToggleSearch, menuItems, isLoading, + logo, }) => { + // Helper function to resolve logo URL + const getLogoUrl = (path: string | undefined) => { + if (!path) return "/assets/img/logo/black-logo.svg"; + if (path.startsWith("http")) return path; + const apiUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3001"; + return `${apiUrl}${path}`; + }; + + const logoSrc = getLogoUrl(logo?.light); + return (
    @@ -29,7 +41,11 @@ const HeaderBottom: React.FC = ({
    - logo-img + {logo?.alt
    diff --git a/app/components/layout/Header/HeaderTop.tsx b/app/components/layout/Header/HeaderTop.tsx index 87b85d9..14da639 100644 --- a/app/components/layout/Header/HeaderTop.tsx +++ b/app/components/layout/Header/HeaderTop.tsx @@ -18,39 +18,15 @@ interface HeaderData { name: string; value: string; }>; - }; + } | null; } -const HeaderTop = () => { - const [data, setData] = useState(headerData); - const [loading, setLoading] = useState(true); - - useEffect(() => { - const fetchHeaderData = async () => { - try { - const apiUrl = process.env.NEXT_PUBLIC_API_URL || "http://localhost:3000"; - const response = await fetch(`${apiUrl}/api/header`); - - if (response.ok) { - const result = await response.json(); - if (result.success && result.data && result.data.top) { - setData({ - top: result.data.top, - }); - } - } - } catch (error) { - console.warn("Failed to fetch header data from API, using fallback:", error); - // Use fallback data (already set as initial state) - } finally { - setLoading(false); - } - }; - - fetchHeaderData(); - }, []); - - const { phone, email, location, socialLinks, languages } = data.top; +const HeaderTop: React.FC<{ data: HeaderData['top'] }> = ({ data }) => { + // Use passed data or fallback to local JSON if data is null (though parent should handle fetching) + // If data is null (initial load), we can use headerData fallback or render nothing/skeleton + + const displayData = data || headerData.top; + const { phone, email, location, socialLinks, languages } = displayData; return (
    diff --git a/public/assets/img/favicon.png b/public/assets/img/favicon.png index 207b12b2cd088e6692c7f8ca92659a0ab9b48aa4..820c25692207ed18885882a08055be1cf94c689e 100644 GIT binary patch literal 138103 zcmYg%1yo$i(k?m#cXtTxIuP6m5;Qo$CAho06WoG(aCdhI7A)xC?(V$d+<9t^4dS!7h^iapu`aA1 zk;MG#uU1bhF2W&HS65`TmDSaa=B**(Q$N0K7!+P26jxb0c(k86Jxu0)!-w}yt}mdn z#l_53D^U!npaQ-Z`L8LRkE7qZ(ihFe)%%72ztL^gEnJZJ8<2?>j>h(%!Aiq{)?n>{ zAC?$@U_vj0``_vJFV7>{(dekUXgicP(4pUlBQvzp7zMzT3p!4jy$nBkG!ifD-;qiO zpeQshGLK}JKoUp#-GU^}^#1jI1s-^5P{c#YTA2U;4H6`Ana`-7@c~ksLO#ZV$ z9pC%PZFhz(J&d=JVf=4RGDCeF_H#aF zdSw}(p-kLxlK)$n=AVU?Z6&S4|5-TI5kE|e8<+KcI}sWw`KW)lyBBz$>x7@96;YlHYm%KAsK13?5;Tv{tqImy^Q%-BIs!aP-dq%;5f)mEdXHcfLLE z>Y~B_Pc7bmlOg?HlnJkA75)ELI16~^kgk);N8^8|yN^e@%M-yIGNsB;()^Do|MST) z{w@$sXQjdaarqx!JJHx!-)Grjsg(YsvfV$&glB8R{1?-}JEmoN z(!?|UdvJYbL-4V8^Cn`_3D{Wo*wGpo!QbhBd1uCM(6^|i|2qdO+&=;lrjeBYm+#=c zfd2?j#a7Dt|I>=-cQaUQcHGsO&PyIQK%(tNL;GzYADNB`CiC3#A9J8yR?-EV0vYsR z>V1Z7Cs$5kVW9zv)wkJ#_ao}Xy%QU3EF~d<^g9~K*x% z>~5GpSdHubep6878&Uvv)c^r8E25NVq&08Qlq5@cZ+?>hwcBnvc2;7U5xHa{lXqK6 zCB#!C^|^fbCG;h=eR~)^wmc06N7U&*GXMSYoqGxW5{vJuKc~!$jhL>RI@a;2%H0G2Y$GBBXsWX0JD{qONz=pTKqKA1YbS!NTfRgc!v>@f}J0 zBpff5{M{pj>_=cofi+SU&)mkw#_fK3h}--`dPtY0@G^L+{c$M+(TwBOFo`pc@E=uR zrF>W1sA}xOce(5v=3qrKab9kOF38N!=Iz6MN?_P*Bc+}dy191Dh~c1~PO|%QEp8nF ze)eAC-P7m=&6iApok|AegXc$~S5||L8lxeU3x3ouPy18GdSh@lw_A?i`y)S7%2!@auLhFS^B4?gn`eTz$ zBVYNj--jBq>YQTlgGrt*L;23Cly}jb)h<)yQUZMV0G&^_LrEa7r~KT}k4lU@iqax! zSg|on+lZ;G5I6EF9 zA1?l`WvR&j_=sv1ia2m2lmbXb6YL1y&TbK!)}}oU7Ey;8LTO2e&npUk$S*BXq@%+@ z{P3N01APMF8~PP1eJhx8uz);zpR<2h*#SrS0G^=&%;Pl22>yeBc%BB0x_>zT);f+1yReNI+G(A6b^Ff9rD)xf~h< zs=)OW0rYMU1qSYaf|9=0`?>1>hHt*p#|T|9$hqcu)@RvfgS>#WFnlNR=YWwj)-F+5 zF^e6`# z4)+mIPa%ZFC`V*>*lMb^P7B&QJQu2e)4R#A{js0P{$F)3F%?#eIoum2eRtj*`1jbg z3=dSlQ`wB#^>Ue|bthvyTmmn)e2J9Rmm%^wMGq+iL`;H*fEe>s3Dd0Y1OOD}CXmmv zOpQ;;S;UixK*XE{WLa*(bJXcOuR;HWu(tgo>ESSc8$iiN9!pfh#{11NmM*;sARMNr znOB{z)QHur8mA>jnX}=|ZMI3%^+SJy!uUl$jV^>E(@4{3x#@CoS7*cV z9d+Wy)h&gnrM~b1!@};r`Gkra`^n}q*&0f2E`dJ~qFi*nxKGOpJKtsxVZH-@DoQywdspZ9_7Qv!^UB)j&Syk2d z=5wBF;^q*T$A(t%(Jzh^LL1NKNmt(s?UB_)Ina`x?=#;wCGaY*0|=9 z;@PxjF%;Ukl>XOZ2oAVpcN7|iPH5XMkDp=9;jlGMdxf*iUw;Aq;PJXTAt5^@>|AWT zLk4+ecmfGJ2UZD@mai+h7S`71#~YV6cjbYr$G#cX9plb?C$&%5mgSv;LJQiy9ULeE z&*ugQPD{DU7!%AdI3wuqsx|Yj^9qhwg<$V+g7??!sG_Uo@vuzjv)N^I0<{9c{e#&S z!0UO$3|i>PYh^uF=+$Z8^URy)I`eLg^!k>Ml(XaM6z=A%{mEyQ&q%1!^X?_~Xzg`< ztF?yIOZjdsG<&||t%nBLNa(rV{x~$7E9PZC0UXqy+YbU2I`N)o>+*5$pRcO+-fr7S zah~t5Sm1^>>4+7I6i0E<1I7kb8L60)ez@_YEL@?5ke5W|J#Wvv z+IH|YZj8GMmUv!O+#RmDSz5h3kt*TD9dyJV4kjzfrrbB19($55v_Gv4mDZejrxHB9 zN{yfjJ#yYm7jIdt;Xi#lyt3cgtm=G~JdSQ!D}A_6m;?x1Jv$=07H}ZivRY|uj+Rxv z*yIM|j83=^_Xl|9`@QI0yBEVxi_cUJb?RqwOMqsG8ziS$d;&slvnfC-a z|5T(4l%qD1;WxTiX}(w~2tJ~U?smkKjxUKmeDj(LT5x*j;a0 zOU*f2Q0GpM=iYB=S^QZY4KQ3Vb6eFh*p7F2bd;MI(oml0we>W3pUVa*Pv`TY6(!f) zYdWOYxi|j^pEfjyp_abYiy6zCvcz`Z>@dub+xGD3Myyk#yIUlX`uWDzx8vZNV^Xj( zagzU6BK;SYzqIV{*=M5>*oB(5F^9uM;N5=*Y->;y&H`VQYuiAi30&ywZVfa~KhoVL3a9K%8&~o)l*hS}OlX;-3tG z2`|-#9GtbamPTMmBK^)n;vCpIJE^@npCR=z@1G_tZ#z92P+pVE;#YE3M3jcMEZ{86sn4DKdzRe&jWOXMml%feqn}|(qavfiIvGHLhBh}c2Tzm`mpm!fu(Nv) zqrVUbTHP|Jei&vT{#R8Q!}HED2WjhFCtvJqed$4G5j8d)WmqNHH?u(3(m(qY#(siH_|~JhqQkMi`x@ zoi^O;*GV+DpI$QgBComsSNlrkN)rpYyBMA(VZ=bV3-ZHD?bpHTwI$VF!6Ea9@By&l zd;ENN`&7P%zs z_x*JdwfW}aAM#DVcEdq%3>CG{G)SO!U1OCaQQy zebp$Q?S~H}sO-2o)kb}Mg5Bf4zX5JtB0JN~u|G(;RYn@G1m<&XUho)xLt^fumj4;n zy7cKtN)I;)fM#+esR#e5&m0oc02{5fIwFjgdS^${e@GOnP&{1prjYo&WLQdeOdKl$ ze|DZqiP6LzX3np*wLeIT)O$a~x@mQ@ifTR0Bgb34FyQbxP6+Hd*6+rJ-IMOUo5){cfCRS)M%)QmwX%s z;Y_QldEn9v(T`rEyd3N)Lhe{46&7vEtXXvNr!a92c;S?$!^DYOTGlz}()_iK%>;Qo zhsT*QwXgHz*1w#eXe&VD;|LfbgsY;z=Ue)Xra5=NShW!e;otF~DR8-GzlDMM=YX6z zxR>2}kkffc^&v_rg__N$WiGk(+CTJ^&pQx#!QD(>r7Oq!QhaWH9!h@T<8oYMmpOV_ z_;ZwcXDWS!IIJHnqRDWT)i0TB8`~B}-NGEz#=##)B`rmw$>znd#ZKrdQ z6MRp4;mtty-#h77S37`e*sUp3|c?|D7bRFtW zWavGsgpcb6m*;TM`I7j+Ozyzt+5s+_MpG2;yRAv)*7NpAn>Dws@w2wuh%%NDg1UJ; zBmTt_rXZX`FxC+)FVjFn&=Jbq@hoKaeDYjJqUja~yR2KmS|a3}HYGK}BI+~9pc%!s z`Ajht13k`>PKLCR;+0yhoI)#59zP^zZ9RTDpk237jr@s(;9`A78%6Kzmku-V6LNiH zLjyL#8Sd|Hf9RWU+1|U+Z?8|=-@DUEycddNL{~!dorA6!1Ucwc)$H7 z+mX3_zh|5qbg%}C`|UP9(^YUib^+wJaL&^8v-y6}_hD#l*`^D0(*WWoT?8<)pN_F? zxq>S_m4PgGxM3t|gX>B@Yv)(TNdcce`Z6Y=gQ4&(`8Sc55?Yuk{%mxOouE-j`h7<6 z7&{p3v2YD}7(YhJ)gPR5B{4w$N%&7ER3S3xj7ag}co_V(@S0{SDwGpX%e-lAZ?21} z5;#OW6wvKu@guj~UTPRh78VxQ>|=}xMD5*BzId!o`)euR++PYkj~n)Ss@fkPF>Jf8 zHX?kVmb-v@zJcR!&A%Nib!*Soq(DBPu%Xix!_b$vrFgdGLPXPtDlP4&XacU$q*{u1 z2<-Par2R$NpVH}J{$BvQqI;pFa`LhhjQx~h8zAnz828g1Gv==QO@`AIt4QlJZKsRE z%2neTrr74=OUwED^DUO$=}%eaheD{eEmK%BOSGBYDhh&i+c9k?FAGnk9*6u~`ol|v zr?s*ciEO8fgXWM~-Z&tiC+nWzrxUM0%WO~MZ2^|ot$-`7Wi6Uq#bHg$@a7)Iw;Op^ zv)wCREDrp#AWlwBVLk*I$N^=@ai)aoYmCUPMm`%lVvpfY{y33Nh>s9I+jgrBNXk!4TcZM&-js>+fLF*@;~=a z36XkUR?BlQKGq|L+WL-(gpzm;l}KfEwcB*_)2JpUlFl6TWcxgRZ`U3jemC@U?RQYD z3;Rl`!x0EQSTZs=s{*NM<*;ORX=HhE-X!F)RonH`aqXq7iuXBYPEGHrx8ruzH@i#E zZhAC3`stTm?)H(YZUs6PH0YjOjyi?yVcs<8dCxt|K7ngD@J^^)=(6N(`C`R!La0i$ z_jYWL)v1f6E6Vz1kPsyVxz8-yTa6w|Yni5LZ?KJdkmzQ}8{}&`J9C2gYT#d;I2pJT zNW*wc$omC-O7=)1WlsDVDZNH}l#Vh@Ca0(q2Qt>?la{t(9($r?nqSeN2a)|>a<{_+ zxPS&V-CF5IuS153f^chiX5~`1o(e?F@N{K^gzfi#GKNl@-pJcP-V5H)L^K9V zS{&4I(ic2o1Sr9l3a+V6m3_48X~yz@gbBTF##0(5`GFRtfv9{Au}qDBH&`-kYvzzc zi5#{CTtTF4sJ%2MzQ1-kp@Xso&L$dZqnoC9}ng&hKv2 z`k?yV@!p5{#pA29j9B;UwYU^w&tAna75YtG$#_Z*)%2^>yTK{wy# z2kwj>`<9Q_iu}ErOGfmZ5KL^$48RX$qtaa>&~}&ML!0f63L?WH${P-duwC2`=^-dq zc)diCw9T?^Uo7xZYrJimPm5+y_>N1)1s{!dC{pOs&wNv*nJvumKPRNXTn1xA?NiTI z_RnPndX*ZBD;*4PANy_>6D@e&b;LdjJUvH7X1dSwW>j>nNzznuSS2vT@;^=jSMA16 zQWPw_@9rDh7a6mGku%0KzQ6Id#+51Zdf!uzM`J$*#q13w{eL39Va{_V8a;XBxwL5@ zaP8@MO8c~B<5CQj_t-yaUgxawW}eXHl{A*uAUngh#V83?=(W9+GSfA}$NbMCe=J!P zU83mBQkJ9?^%!M3Mvjq7-wt5Bn)6Q@r;L9P^o5p9zepTHa3m>>ytursKzu163jgX9 zitns;FE{0R@30HIZo?+r$zy{Yk%?2ovI8Tdu?A{>6wpITK(N^m2)A(XWYhME|2)SV zf1oYYuy^lQh9n#tzbbh_7va~>73%o%Nx!1Va(;=7i#d^EVkzon^#65T8$4}0ff=85 zwl6Wv-M>+2<)YIk31Rxm;D95$ENAhZ*Q2b$Rq#2gZbH+hw_iCx~p$@Ki{f+b-8$79xpI6UaYnLm z3B3Mx9Fw>C0>l=@zJd;h!bbPUtzxSYXL4{St;Z7Pv!9*k%F6|jadO`5K}L%XFZf(M zg&_FtDbc}0O7;El#FT0GS4O!Uz!*cG`a27%Z*=*{{JLjyMC9C0s$gL~Mp_~BH(rWT z`@zSCSc`slhTyY8kHIHhh-P3Lgyq%{W7m$lz@@8VL}FEbJ~7)upx*C314LRl9k^k* z+z1+?BzW(X5*i@lm(gT3-;*0))0%nyIPk@3r8&gs1ui21b!I*bR>A*+L>9pB5sv)< zYE?0qJaN9#p*|E68j#yq1h|CTM0y}+QM0d$K-9q!ix$m^%E7`@;WQR*t0ARsLh-t} z0j9J)kCwSEc`RqX)!sXdtu;T)FR%G*)|lzOE#0{4^6Yl7pcM7C81$qT`t0ZAVQ8wD zKBR^t{Cs-Hzgwy%^Ksr70Z|0NiI3C;<3DhW)Y22#mZKl;m$$OqPZk+sU$06j=Ls7h z#AI2THXD|$nywDsz&oMQ=?e%^)!}k2KjD>Qd4_%U+7TdpD{bp&7S(W|Z z@Iit1W_AGO?_0OKmX;Rgc!GA6My!Pep;cR*m7}g0C3_20Z?`ZOvV&Ownj~+Q{T93& z(Ho_f*7Art#7=YSeIHDHy>r+lMK~h}gL$fkCx=+;mzP#KRDOHvv`w$uMG!7Q@j)a@ zm*!zi+ZpJvzHUOmbgZJW%_|sNz0EhW;@0DO(^uEwYyneG@a$-}mqfy7ei*-Q-OWgu zLrgu9#!%k^={NEQ7-j=rJIoHInd;A$D4jN)oV?KB{$@|OGEK16x`Ok5Ue(6cb(#AL zv~C*Da%HYrkpWgT+9E&{uoZHNRLT4G}AztR)Hp-@jk)&}$MKJ|$X zJ3CdcLT;bsRP&VS%yDv(C6xy=6yX7=hZF1yh#X2F4p~&c=qu%MW6~n?zB(Au8DB{l zm((9<{0Um(z^6}03;3$Rnp?=k?bEv*f~)82-NR7XZn64;%D*3kove4znzXQVTq%Yk za69o-*>QBZ0D8Ne-ECi_)@2!qQwY42VH^(3ltH! z7{o!Bj8H%LQBk^BNkx0?Q8eU;WNI`AX}9>e#VaPmhl#+Qkt#WRDBB}sh+8;HVvIP5 z>f`r~DKCxhg-NQb-TsZbf=3R-xRqOqJz;D(^=KwajDWDA_*BkPSa^Cflr7>4gI+Wl zx^9EdP>o5bQ%g1O(6k@2$vJ;1!K=r>A3!DCc)6Kd@?!7f|nG^DnC^0?3Y_PpoK(sA+ESGp>P1(XUb8Q-@jXpq`@vnX`T$Z z_`(%$)=`pC85#w`FDCG6B>Uxu_RHH#L z0K850_v+x_3>gGK_m$4#HgB*Ie>Z7&Nj!4H(V`V}!2foPr~ATZe?$!UAen@Y5D5_VHJ= zK-_`uAfA=G?;TpW#i~#Xv9O^~3o)=swK#Xv%xDeS=s%PTQAT{GpJR}^Gb(`)X{Qdp zwE__Hdz4mGh{!r}R8Ym{^%rDqO$8XQne3%btcz=&R}9dH*1%TY_W=M=fiEgx~}v1QYfkOwuohw&~dMcn$E%Cs;kic z#8_49Lx}iGPMzTMc19+(+;Dl~c=`ji9BV^do~T8>XQi>Q>735udC9aRDs;Aw#pXdh z{!cd3!ge-oF4xpPj>7GOSi$q{ouN#x(M<5A!&NuEWx4wpj<&Vq;OF9>HLEACD;=|C zRUHCknM{MC%~PWruZ41g>YNwGy^0JqwxSX#2^qT4Ce4lPxN_-I)&Ix0PIHi%Kb z3-enqU~Ay}3GMp4_L(rV?bH_u*r_SiREXfgRsyT8mqx2L)FEeg{-h9{#*^zG^gg$p zT+pMe%DhQPAMmu8G71#8V|xT_=mmelNoRE^ok~e8B-5B6kfkIRk+*YlbLVzeqW|G8 zGC~OLD3$9}%**Tjl3(;^<nxsu zxqV3%h5xAy{sgY*$`q4cO}42i1JWUpmJ5s*rzYV4NaLhwVzF4(8SDmvyb^vUa$Rv3 zk2}-{Slyo#Gq)6PKb&txs7T<6*9Y!J-K<0nH(_}h4X1T6dHu~S zdlJj@KgcjFTKGDl{kjd%ygg4SymB108Bx*Gi*;Vm#%*Xg#Y#gQz{v8r{7jEI+Blwy zHn*QC!bsVv5FDTuH0Zu75+x-jSb=Ux_xU46M}n(Bqz@VDfHHa|ZXFKJgHQM#)j9a` zW<6n@C)S`jZYI@;(Xn?8N81KoY=@lWPBB4FD;R0U{WD)t(yXfPjLZUG%ukoqoW;li z;UC3$=_AlEdg<3w$&w+Ql)xwGU#6n$)_3s#{bYj^r5Al+z4TpDmta#j<@) zgXfrE&bT~}y}SL3nL5CwUq$<4Ym-&Sj6XQxKJ#6Rm$>{16uLLeCe5fjs^1&OASO0l z2ZB8cLJ!wtuM$F0PpUvs^Wi~Z z%P{nM7i0NOEDAr-9#lqS74!j7ZtMzOywh@jC6_wLB=q5s0tkRJG(l})au3QM6k*!J zoY};6?JoNqMab-vL2Y}b7S#`EGIde(IakU6w4jylKC*hy1uYiBuyNh6Df?f`$&PLn zcqcvf7cQcqzPd?4+b%*1LQ7XKJwdYNX@3fAe5DC38U+BY3ga$CnoM;i=Q2q*UKirN z^XE1qDY2OVN~Nql!``6JZYOhW((XtG?%YBh4yeTJFkqw^ZOrJ2YMmx0G31x1v%{Qb zvGVp0p_$LyIt< ziFKxI4s1%#&r;~?Xj8|ED&Y@(P8W@n7mpf^und?|8Hi7KejQ2{VQIf#QclseKQV1P zsXZGxs%#o@W~gYt9hT=_HQheg%W^z&tP;3AYg&7IoITTyc-o1=pU(nD`mU|4*rl+2 zk!T!_#=93_%kfp{m8_lcMjGDyQ%17Y8u*@$2)o?wB5Ux?S3&|H_@^G z+HoteUkSe6*nD(e0G;=G-!8wEM6$Ga^}&(iJ%qA!-WTQKg{(lw4|a1&Sm0a^2?i== zK#W3#BtzSv5RedIhn8XDWQ{dxiT28L1_TuI19LGhw6L$@N2gc3S+8(`ZXrmNY)j^Mjb>e93mH~{IN2}b&W2&v|DK!v+!VE+lFQ`r#+@ZDCiklN5SB%<4)Am zvrT{`tu`tRd0J&$dhtYH4#rztkA?UpH z{G%m-qBaOdUKai23mO&_EGY^`=_eJHg~_nml`N*z+n79XEl9rL}7!-eofhI}*|gTh4m z14Wq(X(kTrxC@e;x7vhDo+Q-x0n!S%RYn~0`$$@FdYx&et*_i!-R<@>U3T=_D&6g?sUDMdV*6L8X@N{E)RFdt|y zx0`k=*Hd3~1+WP)fXBuIKJ2J(!3mwO_sN1&1bl6q#s}^priSCoh4PvS$vfMop8mAwtFpLEJK+asv%v8C3^n95Hrx3T8yfPUUhGjx5j|l0 zUZS&Ioz;{sJrig?p01mseKVBs&Fy4>fw^mQi7!@YV|KY|#b$^>O~bySF4VUEp>v4H zaV33W)$VGFt*RsGd1GkAV>1Y+%nnO-uz*8i3vLDDCrsa_^Y=kj~0A zJ`KI^MMy^O6k;@9+>%P%6~r*AtX?1|lZ#S_49j zYHlA}U?BfsD_$H!E(N2G;5LEC7GCtRL3ye&u$nPp)9$NRBWrpxHdIWRIDGQ;g)v6> z)fvg2k_*C!aea@p|cgoNj`V1}e~=aA4w+h}Wi@~Kn6RT$iT^PP_1 z0d@)sGrE*-S#j*W7xTFlDRCiKuW6#BQ7_tmF_$8LTcLU^MPWvwPPEOo@%1pYQOKnC zUdX0>t1%-+aJT-6d(mp|DfyetK!*A^=aVZGfz4RYm%ZAzN*@q3MnXN@+;gr8i zGjAU)NzZVvWt7pjLM<*L`TegCJIx>Pv=O#7IpiqyXcr}xX=5|8^Ao3K7}V)@&~`Ei z3%o)T$tAzr*ibXt1JSFAY`%q{0r-G~(uOu+lKL9?LE7g`i%xlG$htD<<~|?x|7NsR zI`4?}Ixiyh-G(Ge7qBOiXw_&eK#lqzsM10aJVqlZ(e9v~XK&Hkc|sG$>Np}|tUw5; zh|}X6jxm)cHftvKGIExU?(En8tm=9MRCPXnN>m2N_#fG01ZrqogL^z|ggAGGc62JG zKg7aizQ|i6h2#B@!~1!Wl3;h>%PjmGHUw1{&T%~#~--$L{<%5(6C)(t?ZL#Ka_mcb8c5u6+ zAhcDrd|W$oO2g8)ue?y%y5w<3+AAitJfSXyAd9<3@Rk(TOc>hwf_gC(^J>q&mrJ>9#^M_AB((&kS zXJT_E%ja3XAv|aiybx+6F_q7B2H2{-rYp#4g-{-g^bbMKVzcwq(~5eCFjQD2JO#~9 z3+EM@S+HCyen%GZD?z3F(@O4>Unt9m1LkJ9ypchP>(7*K27ky7=Kh@ zYaX3ao<$L&C5w}$NEqLo9wMomvve>Pc%C{AjXCpO55di6yirAQkZzI_%qh~S!aM=-|lehH^K%=Skp5eW# zW9apxNg)wydiYqG@P3y1DJZw?I4Sq%WCKld0y>Tp9okwrL#qXDZJXeP2_Ec7#&!sd z&$xx60LY|_U3j6q(i$9tA5v1S*zWW^kk}2W#co8{bq*?9ehLE;hw$I+S&xkhx$3us zv6xem+2Z>01ImcuFlfk#Ih-vEb0B`X!o17{(~jc-hNt4=gsVED>4fMC(Ue6H`H~C^ zu@Y+)<0Utdc2JW-Ag0O-pm0o{;)#3DW%%(-#qD=>4joEY7-&q1fFqD+7FuMMdhXW0 zy}%J@ON%DUZS+*zs`KVxtg88N&a$%Y;suV#V_OWU<8b4AA(bVt^%C2;c=VLK5<(1H zXGLuk5(5k|^O3CC1-J9wFCq;OzbpnnFTsl6yfh+tJ(h-#O`@0jF^=S?7$i8Df?Ne( zU&~Y0JkHY{Ctin6z$wsd$2-<6a8$u}Tolc{xcS@{!{gB9`?mLoE6Zm$7`F4-!%K`= z?;MXS5fF>?Q;IP&FWe>69d0^8yWBNvE0R@B7(Jt&nKqZn1h(P zL$=G9`f#8zHHwCzAI1i`;0{SVZ}VYs*u(F^XN_32oXHBd`9!tn>~fF&`!KaO{VuvA zU6~hp5Fu6v8lD#5vIQkVN1wqPtM-J}lrJZMA_Qqa)FfGp2n<-zN(z30I*am#YXUj* z-L84sx`mN*0&018ICzH#iy8vWvV3qZU$DNXnAWqCKXT1N+S6ku=5}Oecu5iBeDh*U zjNql`<2`PEX>>bDN~xK}knJ@Y^q0TMk@O?~9Lo;b5)dnfDhPwR;>&V)q>MK;8=H)c zOPwN>zH?(~;ith3K*Bd(#=FxAbKV*{>l*6+jCpa=w1qBfu}!N$2ay=SADlLmf5Fg=L* zxv1|Dx_A(2oBnox(X7tgwS8zwvSfSKm#t$xE>EK2(vnn#-*{1EmTmXv`_ngv5$rxv zkNY?iL2$L(ljcRIsj{H3Fb_-<_jf*7gj*X*Z2hubM+Y9L z)d-E;2m4i%mU(<J$2AxyH+yi{((LtsCL-1p~KAv==1g1uYmV_f%1mz-ikOFZ$ z5`3c!>$>KF`OW>peZ}>RnCG;avU;R?CoTIIb`o}|njaAp99258g|aHy-(Pank&W{x z{C6vkUcXxDworw9B9}rwnbU|fRw^x2LF#$k!tZ97u}<*qu{0lp-h>7Ei0N73F%Ix@ zxOd4gArRJ!zKK#+@RpS~6AgA=QLE_~;L~;my#~T5)zIZs6sDCzj0@UWTT7HC7Gw7{ z88mQlHQ(IwRYJG)bST2A5 z!M1=~5F^ukUkr=?hAqdG*}u$_KSIaF-il^7>rbmBL~kz|BGVU1(*tjry8^=w3#xbA zG`s4|UD%e%r6Z`gEM%QuN|F};({y^UB0AAigex@+ z`R~+DM5e`0uT;g??a7V(;(@$8{Q6Ta8>%`yNjklWjO78RKw0?APa1gi5ZI{9osv1t zL#!*b5#*I20m>+de+0Tc*eLaPzqwXjYP1<549F9$T({tgkq5zh3nn)|z@!MZmD;zwBIPfLE|Y|q$ryvd{gCSbQ*0bCEfTkF1>6!4dQeF0iE?64vc zs0Kc2g(gGMbCh#PM3bjQ^-PKO-ip>#$h7E_=9bowObR|RZZC+3L~Xkj#OG0L@Dex} ze?*A2I))`#?k{;R@0_P^KI`0m?t(c`OABpF-f%X@vPr{z)s@s0X zqJfFIzllraAo6|=!-tMNrhK!ajS+YhUh&*>zJKgnxcEE#Wd4;GgRr~<0JtzO&O(sy zMII@vMce6T!6^~O7P0?PU_#q-EB(av^tr}X`V&?X#&|?o&!NXEd3IZFQr^#1MF^Pv zcJTWQGR}p$a8NGL+wAFTR1~b`nGk8%L8|+(qqq5ej3&bzd#LpLx?M_su$*L9vKX|X z7-&w&=%Qs9lQOXEEE|d77Aq>qohhIE^0M!XPAdg;iBTiCQQdi*mW_&uu z`+9C$2)H+%jBli70lwhS){@(zrQE9tt87VyjQP{jeB-Dvla#8wydi{#Qnx^+j#)6LLOC-1-J~mXx`G%`6 zoA71x&sOJ)534HU0d>4g8yhs$5Hp*R8wtAI29lc~aqrIMiRb|yr{0ys!w;5~5z!&+ zgfWsPmK|E0oWy3FYhI+i$OL$7q@*OxIi{7UafPHpANB!-Bv#A|RXM11rhWwF%g7II zAGhKHj7PV2_q*pp2u-??IYP0MwGrTmtARG{uNLjs&nj-a;c?B|y^hr{Y8iQ@f&=4= ze&r(6>~~(ffj6$7v7rjRAV)NQN>gNCmDYc>x^7tb7VGwNW2E3kwp4;1zD0+Cvt0l3 zPLDEWQvW>Q%3xvDr6(U%D2NI-6E%dF>q#05GsR~I+D9-*gAk)qluZvN8Ve2fH(T!N zm!rRp(5QdmCWWp(s_FQAM>+u`{r&xZ_A?pH=3ysWA& z4Tcg9kqkL{KM~3mL;PVBT7R$vYuL9?*-w-XZPdV>tt-tSHlGw7**(|z_MRip4+zs6 z+gr$&2FboA?r3&~Di52De2tluptp2~@eyXmCSpg5v2yx$ob?5yz!#$P;`HkjE05nv z=;kEBURMM}SA;(54ru%ZRY+uhB06o7y2-zrxIPA{gH0g%J?QH?Is?KnX4(Rj`^K=H z*N&|J2rl%@d|bnj5R)}NrCzmjJ6>YU5x5iF#%*^I7pLRG*R|YvesRyHZQ&anNzLhF z-)qC}C&IP5aTiYk`@=L}@8@~A)0U2{w1wB3HC)hJ9E&7hL&|TD6Zg8HXBmap!O=xC z?TzB;=7Xq+`0;sg!=6^FbTht@AAK*3k;Tk+j%FrX9P6?4xn&vCt26Cq@1+;}VvyIQ zcgovN74FMfH*{>P$qZ9do6iAua+h&%lDeREv98PFQ@kvT-qGT8J}%KyPv}d!wl=0U zG5#ul%RqfG2XzKZx-!}&EVF6iRyblSYpsTe_CnZlxFQY@vyg^MFEN5I2#q$b1 zfA^^^;-+XqjM&zt*Z@$^}E~87y4`>yXgXRW<0~ zYaI?_A%(eSWfj!nJT5Mt(Q0JBJQs=^1OR72^{H0b=G&_mj7`gfMf>v~N4%SBO#X;Z zkvK&g8g99;v`vVZ_uGA9zo>g|gH^vE{J1P}6~jUwZwwpj9jQyyfqZNiCy%>L`(ZWW zX2@JvAfS@aiLqA4Gs3)&ujOO-pt7=)`rRvnF({Y612V)_WHTv$3O*mgUo5z?F*jMt ztHI6?g=kWQIQxj;Fz#2Gh*+0o9=r`>Pn_^vB20*?LZBicm0tM`2KBnEoTH_d@6|Z! z2oOZTw_e$HrnlLjpaAk(CU)WVsAvE-yWMatwD=4W-*xO1sJwX`H8iccoDiOMc}&N6 z%0FJ+e}279s56zPXNYvg$blyRW0#TP zu@u;+IN-r0%K|c3RN6$)2fi4Nkdee{hUsCfdY*MO60fsKw01x*C1d6_a>Lq*=~*Ww zosX8W7_2(0OLe8=0e8@{pn%pkf1L`Wm=pcnepB&$af5+KF8v%E%!F%hJxP(kV6aAh z(|pnTwjO{uG34hj{{x)*dk|PNF{PSixhww2rmFMJ^4er$@bovySi5ol%4mHIzme!k zRuA1cf<`85V(vhz6CP~b=?*XgdEa)Q0CoHqzWL%z#`@r-e0yZEYCDp{h=^i2Nvq%3#1zT(2Wb7|YEUd;AoNk;LEm zdkT4j5amPTI0;*iSZxswm-Ea08U}|?Ny}|wd7iTN0_v2#nX;qQ%UD&6=6d?kYttw^ zO=jonwuY)$LZ0sD*K}%Z7ZS8>ik$z_XiUoNbqqw<@M^4PcQpnuKzhV0l}0{ z%YVU&%XA}raQ5qV%nAq>dPnK?Dc-#@&IR0_#H^kY@{9Aj_nu(&c88jQ6am*WZ`4o6;P%7S_|YMms%UqkweWGK z8-I9A9pwhPs(DGBoo3FaR0jk`0r`{3>bcXu5e0s(@%yL)h#0KqN6-Gc-R?(Q}O zw>#%M_tgHgf3Dh6wN}5~PfG!OO^Z4CfYNkMNH=<$r0C5^(lwRPv1Q3{e$6~m!DUF} zPIV61=&;r^_|X32q=wG?5#RB`>BIl-xw<-GFl zDlpil5zR#@$5FHuB9VGTP$Dhx(<(TwQ9RL{R=E_ZH*44;?iIT8s)PGa@3xcoN!je< zb9K_qBMs(mk{oF`udWfc2QTN4d_^hLX0#yjUn$Dz-O#%Rep^h=G{r1+=SMXO?g04X zjCjsL%cswlB=9j|a=sihgp*l6~0mMO4B%;fv$|ED7 zju1qVg40lOMpDrSY~0pp&nOj1UA zhRIm-2+tB`9&C}f$kxo{ql;#ftZQg5a}X2k`mIwp0pJY`2fK zb>;9pUDxytY(Ci1_NDa`X4lK#Z|~ski=|E92UI72@7biU5#8;97)m6~{%(sbGwbW? z9Cm5uG+4&XjIdlPpS5NWF&c+XZ%!%-M-G%s@|-^@y1slX?>wkR58~lnv`ARc8<0S}h{}EUBHIkQ`r7qx zp!D%bY`S0cwC z{v}%p*ey*Gg;=7p9T4}O@_8UJu=EU5e9Uz(_WSh!{?5udt|Wh`a!aZ%Smvn4LS6O9 z6{B#ze=e2>3~8G9>(TouW(WCT^`lTJm-ZzKY^E0!75FpO7D$^0|(r{B^{(H z%lpMY8q!^+eG@Ir3-L;n!9oMeww=k_;Jk@aE7C$opALmEq{dq{$IId4Pdmoqe}8^h8>keh^g$qWByaoGVUmVtHkZVj+ZZ6XG@{2$3?ndZ-%SyMevjbH1H9|ZTq z*?a7trpYijUDj?!^F6k7*DiggW0~s%ZkeiUJysUi&b?0|@=y0@0{>Ra$Z@8rk=eT5 z-dPWsSik+mVFHk}(K`WKpw0%sN&#w(pN=_=YGUc2)$M3Sk$v5U*>V1gHIto4BDTjx zzh8ccyFQ1;&$E&sG{N0n_h-BCz`HKWdm!vc5cmY|NK74>wiT7OV$6PI`Bd!Q=k$ruHfH~w_`Drfg4s|%RrIq!=rOK?X`vUa?7SbEG zME!Op4T%c;E#Ni-Uvxz7`&1s!vPaG4ch1cEeNL%9NeYQuLb>)xv;d065ZP)$bmvuAyDg-@ER-1!{(brcyo9&jjfT5FxuhFojH4^lnT-aGVM$jnOebb$PID* zxVU4pDaQs)DkIB2O6<*0_p1T+uX_XYH$!_~76X{3JF{}+0|qvEiFZrJh_}QpNPYx)B^6XmqJCybbx8foO(Qg{rn<)To4bp@@ieuxxpy+&)2HO#rwxI%gy7U3lDx) zx7U~ohxR?y&Ucq?^FcPlfGH0refy1s%Qdg7F!HyTUN#bJp(M};n8Z@;#Zz*Wt(L4T zVU_FiulrB~u6#bJk)%v9ECycL$1=$5%pKm%@~PC8+`*9#9juhOn787+{=ga)#C`I1 zOYZHy&zt%7Fy5K?c#Hf{-};{6Ro`^z%U{#D_d=fon6Sw-=ra8TOow%RR1#kwDE%q(VCMHw7)^6`P36gG^(b zDAJ#Zmu&}{@je#@A|K~kZTC47F8kO~W`ZM(iPei46qWJrlrpG>z0bsFq3f9_L`>pT znhFG*c7dXJ!|r~~I)P+~3KDGdk;&s80bgMnvt-rBB>+U)e2;9IO;fwMZ};CGSn6D> zhJO=(E=u<#g+6MQB8M_m5+4qK;=zdl?B0C8n-KVOGv=v-~p({~?W+y5|0Cw@i>{yYP~}SD4(xvQ008s^CG5 zTz&6FOXn8x%bbp>|AxPzT>m+U=ku`g$RxLUXeE5j{e)1dpDriIoyTY01&+*g?r}n| z?V0*T;rqXqY@2?C0awO;-FHqV)(gDv?K`r$WVb;Kd0iJz1n>3{h~)m>V-=?UI+@d% zBCtz+3WQ?rDv^qELPi|mQn(NjC8E&5&9FI6TPCt`m)Z$TxI9dAv-5p`4DELFY+~pj zULr?qqy=^O;T)Z@F|<(qxSJY(T0|R4eoTckZRT!MS@9!A65xxIL>> zSDHS`O7@o@MP2|yT7xl@WWbudRtf8%v}I&i5*2Ou8hxqXB}fz}NyMFf)8`hi>vce@ z?J1Jkc{#+-A|X9B*Zy`*AotDuI*8O#YTBJoE&ciq2(*f-CTbSeAQk!Tr;z8HvWI6LDf zlYMnfTqBl6*68Q_eX|X*HpU5u`q17Mwi`0|N?Y0=zjRyK%MbhD$CXa@g2`m0A2;b+IuAJ$&?DzEhw=`tgt1U@`<{Hc>p;gJ~ zGI{7TDJu!okav+fF{P4ZEO%OHRxs>s(e3I*x|~ z#>a?`V&~XIGEwpfY=VYPk|YG#1l-kukz@0(cyK6n1QnMj#7XuJSZ(yV2d9;|<>f6D zrq6bNF>%){*t?%U@3DHVcg_&m6m(v0zL0l4R8`k|U528v`0WXueZAc-mV1AC&%J7U z7s2O>#*ukou@aviXeucg>njO?FV?s713sQvhLN4Oby@vHtD932`@-=tDdV^Qe1}*wwXrcStzE*+k+v1^2bf! zoDRLk=x?}N8YxT?g;_FvGwpggJoA1_w{d=9)!QA~ODuwEqJ@Mh#n(f0*!I6>n@qF} zE>yxSg*!{Rhq-8fqT1dxBQTzxbuJR8>ffjAPiyz*7A%~2hbY=*7zJ1MiD--rXi_3K zL%9CUEZcvz)Q0btOp_uA43kk}MjJ{Z_Uw>gm?%Pr3-5~hTXp{s zhj7HxyOhNR>yH?}d#_Uk;eT9qUJZdK*rQTtM&-K+Xte2@_TMGEynW9eR!!MR&Q&Zr>KMNR(dpSr-WSDt z8lZkEv#LFZ11x-Hz1Ehei{ehxs&|{xaYq)T+=ELepcx~8(PAOORlh-rw=8N?wKu+9 zso29Od>Y%UPV#@8H8$jer0NuHCaJx2lO_yk7q42g_$Y19m+Ikw`NawB-=>Jg)c=y< zkRFS6d7~5OA{6x$i;>#h2L8YXCk*P-4au}lIJ1dGLNNe-mcq$?DL;Wnu7;83tb|&~ zbobIR8NRE>)OOAKQw=8Ns)dIg_)?r&Hy>eP2YtJ2^g17^G9&`xGc$*Mq%wCeZ=(ZI zVp9>}KDr0UZ(#6?XQlE6*bFJAevyfl6M#^M@DqjKr`w(~NUrDNrgw*Dr*|`Q>jx_t z$iiy9Mdo`eBdr^xU@eX3LO}Eh7NQdtux&zC-bmIklIu+BjymX;SqR1?5uZsj<#U6^ zRcOP%wsJLOb2RI<=LPGg=uaLPSs*~t;+&2hC$f2-V8-NLLCsk;NT3NGmT9laS4-wT73fZ1YFD3Vnpy4$toL!<9#IM*3;Mt^PyDK zrr<=+2*TA_*1==XR>~epbW?%S45YSo+}+T1*d6@R;?OTpcw@I{!6nNXy6effa^f~Q zUS%kqBfz3v-2vz*lc*hQ@y!IK=8tO)sn zV(aU9!=o2rl9KL9cer~SN$emFYF@X0A!n@M6K6xC-9 zvwZ~>V11mLSvl_28h>xFPt`HE+GqMMC84n?(9RlSi8D&>$FfM#Lf!=5lhXXm!P4JQ z%gMwVnmleaR*EO9GP+TnFrP9=PlfsESu0I;N1b}*A+b8SjA+)y*wD?fuZp>@4;_w_ zA4MT^kyT*{c_m!9yEj?*xlE z+F}+ueKY6#NbCfwVuTd~=(Ya#W|;sqbc7}G z7E71NJe#XL4cUOzys+PQB2b%crwbEuXiuy9&eWM&cmARy*52d3!EMx-Z7AD`VK>rL z@x49glUe@=a}?`h>_*Y+j57~Yhk98buovJu#RsZ}bvBTaKMd#zr?uB~7GWcFsn%&; zKQ7QglV_i*YASJMLJJp{qc8or2$IitwY5EF*l@=NUc=*gIs#1)WqCQow;frDd+5q@To9Di`NO}NPPY_^jb_kk9;-;O=Gmfb7VmxU-B`oNgkVldGL%n-m3VQ$BN%4mbz*7@_5@73n z#Ub^13|aObyld$54->!XyF+kPrn+orLB!{D{DaJnAZNAX5;eB#>IR@2YDn0%lQUS6 zP=Gr(;3}C=kDq&OaE4-4hbpZ6CRvnrdMZ~2`2JP1t_^1RCyeqD-QIWN?qz2NtSK^bbIFtoTC01>J9H?3?v zF17FZ$|$O^e-~(}f_A(zjax?rgFYpojKg|g)wW*m#+AC9O|@>fStk8wLohfaA+@cc z#i^ZY>{=l(y|47M*tE%-IZb`n|Kc&7FxfBVD!@jW9xk_@dY@F~$52rDg(rjxrw>leJP}}ASuXQre zfE-9rBw3QC#TaQh`D^BQ z%qKYiD@+^;s(-{Z@x3JK`q<3%-tOtN#TGPt(Ro^MZPX0xIq@j$S`@ z6j|)cRTn-*&l{=e+jfA6`&GBV-p_9hFPFlWQww@K{;uACmqR$lii;Z&67G=O5}i`E z{jWimM3|cFaMA{&$G*q+tnZOLOs<(sW)9Fi* zg<`D-H)T~9y^2dR12X>Rz)o4W;$u&AK>a0HGTK$O7FpgsO18&furEF_#X#$f)C6VJ zDJlE+Q62t#y;X@g z(teB$5*ifoOeFKOB%#QP9D?J;BBj^E_JB-=ED=rw5unI8!_5-yNiF2xl7TnWP7a)U zQty|e!4j~uy_FO^>8J+h`$`qygZae8&p&_h3@*eveapF_`d%QEqd;I{8|a`4zyD85 zZRn!)9n;bz2%4hj0Y`S-hfG!YPHow|bEI8{Dgm6stU29qvCKd%(*a5eOe%5hOa4B*S>*Lh_*d^%JF2CK1Bw3$`hIkEnC7Q1B^j2_Ge-8t`EnqXRvL2;3Xp{Xd|e7n>;jO(G*b%;a_tq z!GTs!r(|3#npNEjErn-oGZ*l=|BQizDGqafDx|e*=RI}mxh&g~;2z8Lxm~Vr+B?e; ze#ho7l|hi}qe4k#NNmime+kXJ+Gm<0jBT!N%HK(=;k%@?TH3^+q0bs-;F5B@c^87_wHZ3e!T9#pK9ezk0A5~i77b_#v zvrwafuYbtv(@C39vq&=W!W7mynWoW_E9)V24A6oOyY)>5W}=F@20RijC}}`SRt_l3 zY1tjt7r6h@v+tDeE}7rZB3wQJ4u%>`v(&I>KcN!MG&j`z_@RoBw(HL;edOjO2QAB; zBK{gXAKeJy~9>i>4&W~PzuReBL!Y| z0FVwf%{k+)(kM<>1ed9(B+2}D*y4xUFt!#727!W$7AK-di~zCSE*4!`We)~3OEV9~ zx)a6gS?Db%IK=PfGS_MQt<`imz-u!a;{1b;B5goi1bGOek?AK96Ucv|RGN-UxF z3rR%C(NNVV`^p-F3xm|BjG3174K}DH8-Xqq65l-(kqN{V7O)# zqWDu)vG%lgneQj=?w=JM2@8S4zE%CBL|rm-jzC-O?FQ>PF^s{EVnRdo!6TC*@l>@w z#+cJMKiVUbBly}Z#%Y+J8FEKY%Wn>dN;7>mq@M;}#vV`5(4EPduPd{+ znlps~!sDBOLJVB;K7z`W6G98+Do6C4hR&A4S3aL9p&E~wP`F4z4XK7MST$=Dn~WoC zStYEXc#s1Htn}VY?j>yxdTo_?9MG+MU+^wF)o(QJHcePKLol63aS{I5{6t9x@bVfl zSg2LvHRX36zmB(h$-(n4gwtv=f+@VE4xGgaAzaPRqK;p(ijsa*!kwHL6TFOlXrU-l z7<7a!$6rQ`@mCYhG*=b<$a6&a*O{pO!oKcmBuuy+!`aze+`kGQLShBcodW4e zpB|RsZSn%S>e^2g<9(kQy95tCM4leyL2h?+0x?dexlSGA_@?fnf0ukYG+8E`YHrmt zwbSsCga#dy2=%(#n8quA&T4|;8JGn5MFVr0%{74J?Pu2$+;q$1iFasg;WrZ>d2v#| z$TKeEntk#aSFdQv0yNgYzwO7f=nA_X5+H_IIKDu>?EpCg727t0NI6$#Q)A zCF+;e2;qp9eovmazFR`N^FNK3?OuWpcr`J9R8i6wCX+xHz-8x)BM4j{wA=UgFluOD z7fTgp3$N1PAXuIX{{K7LY#RuIo}9Hj^K@T5ubczLJu|d zmj%xY|*1UcDrn;b+U7?Q>|284M>mhIhMTmCbkj|zlIM%?ukR` znWm98g+9cEfnYY1fG2}>pO*xIhx!V$(F?xeR3$bDE0vIdM@0$c5dp3`W=bS_iOFgZVM3K>`UK4L==k{;NCcz8x!jB=n0j6oJkc#kY9-3pOx{3K_WlO;5*544u z{bQyv-wx~9^G-XCibe%rf5OB!I}W@(UMBN&8x=Z#U$fPPzqnPD|PY{lbOcPjE=n9@k8!>oic%?4-Qk@MI$en^Y)jP z$I%Fz-4nU1;TLUP6Q3uUb+;q3$5EM}Q7S~TXo!y}Jys=jv|lDJ{7CXNJ(Dsk^=_j6 zs*m>%J3bT>j|&?$BRN3~vuPEyU;~V!KClX#DL=>h~|D?Wz2X^YB;ZHDn&KH$1DhJ#xm@ zZ#w-dcHXsjs4e;qRhN+WufenkSL~=f{hQ8%LlqY#s_{%(&vSbeMe}jhU%|N8xL8P! zNIntAI*JV(_eREe*XhA{-X$tvf{6(WlPc(^cr(~1lE-Y%yxOd{+p7;^N~9(yazPb+ z-~ZYreE(GhJcji8=5%DS)%`GVov=6>dONM;@mmhaF0U;lotk*Izzh}$HtoU(a zVXwv|8{GVmEGw_iYsgcMF^ZIemtu^-!Hd(Zw5mm7WTNEd<=p4Gu>D#P4&f)$2U&T7<%EiM#R`9nKC}X7cKqB1e(=Qoi3jxVbFlw{9;G6pRWx z^+p~Q5QmV|y4m zZEBMxPJKMNUkmxetY5XUHT?gNAUhTus-t{9fszT!hM7#Ks__?2Y=6o9AN3{7Ek@-q z6Eka!vDYTT(Z>a?i1(u+y+o8cU>8X9q4zA|7iC0*vqrRU@5>#1W%@pdd4n-q;1nCZO5Uv*UP0ews+o` zd!jz*YM*==*k0Fu3p^HWG@eA-?_r`&!9FQCRbmaW6GAjvD01s@FJBk7nt~?p<)Q?6NCStE1Pu=uv9^Guw7A4B2#Q&g^OWCrAqH0Saw}!-%>!xKc8U0~8kTUjC~>wj z009&{dYbvMZb-k|10=L@D1hJLo5xyxf7^IkN6M`YKc(qZ_8KeP9Wj9*^eJl-+%d1? zR?K0WaD4fG)7N0M~Gk{UZ&?CuX(Eu+<=oAaGam4f9X&=4*9p$wB4Rd6-5gT)R z?gJG5@zPt`aBo;G@%}ju$S7#2{LITME{rjxSwfll7wE`7mSdb?GMg@Eo%O>uR~I>U z-JlODYKR3$$5av*5`$a$!tDIhqFmOV1wU+&I6@KwyrlXjN$z*i&g|HBANY^EC zu$Pj8xs#FW)Mrpp7=F=0mZw!sPO34UZ5gaQ4H_Yu;%)s-A<%HuNbdOu>W_r>=5fbH zvbptR`H%u>-yP2>F)@ejwYWn=f5)=z-W}(bh}6^l_NwV94>(=wFP5d`SiM`k@=w*V z%pSNzWh+9IzvxpoYbOXrOOmr%vigg>gmhnqnyAg7wMCTGIC_CB%ETN0tqU`TpcAr8 z&fu4_dIl!W5_dXqRdJgN41!0O!&xd|rb_K!=-&IpS(tcvdZQ0ydae!kpc9a<+Yt2K zXN#Auz9r1|n$n2J{bMoew1AwQCWFsEHMfnmcM3G75mw;^G@1#)%1B_li{3j+GU1n4 z3Gi?uNMKJ*;rdwMhy&t_(n>W;u)IL3N=1FG2v21RT%r|SnAr}Wg0X&tDxcQbs7}`X zR9^5<@?Me})=KFDleYhN)nZA|!vs}zck;2RzigP)n-V$ylpPkwXlBVVvJANJiZCHW z+85PC&~LA}sY^EMi}RUE`?VnXRK^PS6+yd%gScnUa$MjePVsoDeJam&{+?eyc4kU^ zTpDqZ@b%?KD(ezqb5mkVx>enUhYoU7@oKB~F(XN;(o$G-ILMc8kKG{a;7B=(YAU!8 zjS>y~)atZ8Lj(r>PYaks?$|3^Lmr2MW)MU=u+`^id|M$UfYtz!0`-Bg8i^hK&b${L z*pN=M|6Dp~(OlHYD&2@hPp&%fY^;1e+@M%>PgYlNhngos$we78`!-NB92hk(>x_~p zjwU4WUqWc-%f!92L5eU%|?xkdBPlA46&LZ zD`?}n_|d))VU{&ri(WDfsWn1?oVQRJzGK_SNVmT z;AuNiYc@61=8m4t1D(@LGSTko?x&MCk?w=nb@%jNwR7Znu6WeGnG@F4%s`%!9QRM} zEJ-1noWacKCHDUvS88Z1pb=^^W8u;nXA7h&Xy>zl<#b&X+I@us<9?8gsC?O@qRaNZXbEDP25 zR9ovt=_9%z8<_ziiX&RY^jllpaVAkYURJxw_3_{?F&#>y8r`gBldR9PpxT-Pw=;n! zyfrci-5hEKT*{3b$+6xADe*`PrB7RQKG*A)3JwElnKy2CrIbRJb;bqaVIgD_^C_L* z(~U({!1I;9zcHJrN?VCy4l5y6RO$2=tUzBjfzGwCuc;eEcnziC_AUQZdLrYlArEt} zH_QIJ^kOY|9oYd&%ps_GdZkl2hK*x<6HoPgko^%`^8N4MNlRIoTn$kh+HPlhFjDKT zuGB8vg86RY!o>%p&wmDaV;ro6@XDw-24AH5!l`(e>K>VsIV9-54qq61{c_m7imf1> zdHn$u8JccMXAFOURWu-VkX=b9hba%D+xXW>HF1exZ^60a9;{I1R9D$l$CUVCH)dF# z^(WLmJDw<{#waw{-kmq==Mn1xSGX~BsniPt@pp1$u7;@!{tg>F*g4bYs+u2pUpR^c zd}U6uWK*~3Pi+>fDs8{WmFhDY3e??lE9Jd4*>Dj(hCtwi*bf%!P0`bV7P2@~&}iCx zVAEPgt_)!+-9N#Kt!>;!VwvsPQ$nb>F_PS5dZF~!&IhjWE7{*5^2#Gov6HOs8Fs`+7)pJRm%|2eWF$!53I|D z-eKEct7%&}R=s%v>j08sNoIC+Zypv>!TKl~p6%ZM(rpn2&Pl|k5Oxs)p?cM&<@IhO z25v;6nO*QE#b@0t=L)x|+-U6QZEy3c(v(Yo_d2A#^*Zgx%P0rpy*BB*QKBQta&~=~-HZ#n^i4f>K}7?jPG{04Pc;i5L$Vox-_KrK`r31(7W8Nv$$` z#r?O^LtgpfoqYcwTW`fh?hEfB$|Mf<6utAbS|9V~+^<2S3=VmHa??2wPDpw zI1LtkrJ9HwQx6e&P-F!v8Je=L%br+$iQ{j* zGI)#A6ZX>s|Oh+ruW+Yy`?{)(h>tD^K z%#i%?Pm%Ad!T!&=nGOatg4yxVYRK6l_Ka?V7p3;%%Nm!#kAqHPMaG|H!VbhwLCw;? zDdcAmNW9`fpr~V+kZepZ zo%U+#^wHNW%~%iM#4qQfw5FX1$^H(-^ujWSl}Sl_Qc3Ql&%(>3^XRg7Z3+5hgcMjf z5H2kc;4M-HB?qlpuK6#SVk(Fm0=15ih4s5!T8mGfrfu+aHDi2M*8z(e(Ui$hYUH+X~3`LXQl9qzvLLa|% zs2`#Rgrn-yz5wudZ2$*4;pXVEbWoagny~={%c7}-(73_<4v8gexRKbJh0~sZV`KwO zKl+KL?;@fNAFfX@iXn|n5+Sz=MOYka!B{MkIEDhRfUz9vH(m5$RZbXKfD%fCRc7(PqDrvJpqQ;gy6TAx}o*QuOWBVX@XJ06D z$_0dn<&5Fs?p{>-308B;RRxn{Vsb+(;KXv!FI~V|z8-G=25A4Qh`I8w>A7!?(x>L0 zmFANA&)wR+FF1o+Ur{A{SYxiipR3YB_n3OhgyhS2XI5qSzJ;mDz~^V438^PSrl$~) z0caAf?o4_w+oV-gU9x02YIEL=@SlF>RzW&c>Z z5-iE&1H&Yv$e6Js&WEUNoD(P`KLt%Nn_OMw3M3)e(^QvC;Xt#&@tcUGDM)nBiIq1{ zU;-$DM5K&bhmg^3 zKy_hG=A*?y{@L1Ex;iHvJJ!8MCnsJ&Tc2iZvC?i)+;#konXxofu|1%j95wx;fyJx< z#D?iYR=Z=Hkm$bYYWkbuYdTjtjx2MrRtL3Ov3B?v%_8l}5C2{(T>6bHkFpCzMp_X9 zvmp8Qrdgeb2$kit(jnLI%$63k7sC`aaWEWd#lfrpXPai*hA+|0{$EM~gXZ)Y-|N~c zu#*Il1lr*EN^Ygx&Y5&BX%v*~41j%gEp?~Lh>>HlJ)2Ko`@w!zfMnbeFW7g};-=4`?(zwMbk1$~SIbD!DQa=gL2Pr!ZtnFKgJe^T~ypmXVGxT-;PnZeHz0 zZH>usASnFqUnDF`hRiT`n1BD$?a+xR+c^$?&%kd3v3z0^kzuoKa#oOJlya#<5!c(y zDcit6jphs}K+XKS>rEaDn%tW-)q|wu&^2Y{Wd`E>oJkQ^9PoX5vSUo`qu!}kg;$Fi zD_9a08OL;Xl=Tk?v2g?X~pL4w63Mm}ip2p&>0D4265qP{r+A*@LLX;Jus{+l^A=X-(%^lyA{ zG@T`uy#@<@^Buyzq!n(N(qrb&0bFkdLbB+1wh3H11wmpALAW*Gfu4GXysMX_$(0Zl zS2T=<1%>x{oWPDRilcIA9Ut`XetJqhr1Q`CaqXJ5Zx*ID*!S&V>{Oc*_7ocOI4P@S z&itY#dXUZXAIX?SiqFxF)!|~9B40*BeungGn=o?j(bkI(z(poxy38!=C*?d758<-a z_^-?Jj;8L8U_8^2d7zJd1{H~vG$4N`qhm4!%N$@ZA*Sl3a3_l?u)onZq0rWTHWd!{ zgc|OU!N(t+A~Md5pLS@0rQ*L=7L{5F0P6MMkb09F!zW_s3tIZCHYDvqDz)kmr`m#7 zrRwyhNuKZ`hG&UaT_`o9N5HH(o$y}!vWfd3I!

    m4b;Ms9_3*_H@i0uZdiHj|HrqaWbR!11t>KM4f%1V-DFdWZPYf!wN)#H zb#{U6C6vqRyAz{wjI~mL%e`NoWo%LgP3?rGsdwfj^;eEGo!ua2q@~a=3lzg|o@mZ+ z@1E(??YtAI>JshgP1ic~p>3hAljnDgPI54X^m+zuS6#P`q@MdJ%RUd?4Z|(M=4Th4 zBZ08ymAaGuN71R%GKyJVSh=YHYK@NW*Q5H}rS=th>)yh_Uu#u|htb-#fb zMe0H;`hHBaW*dc?%c5R;LK;6ib{NogdnqSyvwT$cX5I}P?YqRG-G|*(MeSu3Ex1DX17h{?D#C^Z&C+5)nmbmP@M%MUJ@Uq=E znABJJe&sDsE+55_1f*MqmhHWUQ5C-6Id2&?S+-2-Zu|&|+J)T6MJj5v*Yh}hdIiFx z;I0Z?_wA|eX5p$1(dRnGer??%_iGG5q;L`7Bk$q#-0<+q3tU}kyB{&)G?!!sRSpU8 zq-0irCY8iDfodX8w50CKDa)Rt#N;^lW$v96s({k9||yyJhbQt>#Ii*KXGz<{GL8iGOrCpzY8x82zN!E z^l7xT;e!g%JafbAsBIY*qCxR{uA3v020ohWvJoYH#|@P-_y}R`fC~Pf7Jx_^|F(S9 z+0;emxq`dq=HSq=viNw^%U((i?WbUPcJhj}d<1Wp4(Yw|w0RP~>LBo3_fb3CfHiVz zMQvIC%s}e-x6pY7PmeN1SrZ%6W!+`ed@JB#RJHR`*3r}E+4$r#b}&%{CfA{nHBspB zS_*I+EGLjS+A@lpC&p>08vG#o2*D zyCu=KT@ti2m?S0@LSMkc%5))8Z~<5minWito18>kir-xEy`2+&C-BbLc|rvUKj2p$ zZI*wyvKHc3HbLpwVH6AYBV*XFJTm)cL_`v`LyO&W!i z0AJ5B*IWFHW8ahMs894kZ{6@jgz$63fy1)SAy1>d9}$-C?o0&Dt(6b-iqf!aHy^ z9nW@h_nc@G+y_e zuZ5sxK6aWW*hVe2b@|q9ao0ck_8xKD_05OxoR@bh%-7p~Z^sE+aT9b5X}S=dE$8R% zGCKtY%gJ?zW2^NBYq0mm%+_~>z~h^sEg5@}g-01Vb>oe`K21Xr?Bc4uGPf*S@YnqM zL;v`)#SWij<)aDWvSv%+;=b|orRWb72&@Sa!k_Lw}|zjqON z*^MK-JzQ&hN)*1n^rN7ZLJhO3H95z-oyctux0!?Yf4QI~^0x{*@zb|61zHFZ+*NI ztU2_OnfO2Hlv5;B6c9xmnR;WZCHNwoeQlts>o_D{_a01W+ZW5+S;kEo<=^WaG_c8! zNZ?dv?jidGzIE;Su;o9>O(7`kOo=qI^~KM*j4 z%{1{vu4@CMfc{Mf?T$lIcHs)Rg7l_C%=NvIOQu1%Y9hR`dtgRI6kwDcnaf+klI2yv zL&g6CEkV-0oG;ljpMCaKy!^_$81u#lxZ=Mzprtv_v52lqDSD;Bbow>a;TdxC!syZL z&(}DPU$lI^{_2|?7d|e&_+tFupZ~;^fa5y2{PN3j1eNH~lz;S#FX5$^U&l+YjKMwk z-H(l^Q2zVh|HhhYuYnX55uYXwzZ6;}?UuV9#A@pd$9CK8fm2RC1FyV11{YoUPuzRo zeQf8|xZ{pHIW8~23*_RT7yTC-58DRotv4Jao_GR^$3KqNka1`Qu^$?SgjN7MlQm<0 z3QS^{SF!IqA!DTi$;}i!?&@(|iC|Vc+A3}(yy7bIE9iQzcp~=~VW6*m`$a06+Y9BK z>sm}?VhCnePLxv6j)vyqD{@-dm8Sdx&;=KM@oTy$KQmq_nbz{`0wxB8gb_ah0qm8e zDOeDv$$K&v``vcii^|Pi`1G?csaz<;Q?=M+v(2!;eDm1!ie<-mj35fbJPRy{l6Gm% zZ^F~hzJNXU+7BZh9?3;k*^SBLo4Zm9Vor8>TqBl&LdhVRYD7oYXSy0(bM^HQ!Pz`$ z4V#ZIa%k$;&mIlgN~=B`S{9U2cxUW;+@vsUhETE@`RL3}Z^*_AcjJHf!EWAniN9<929mYol`Ka1(NH+pTwF)m7KR2OoZpj*cwDz|E6N zm9&?2NIt2SMdE`GJ|Yhx+a3Vih(c(}#m=Mu#~*$~jz@gP_$)hsPtDJ#<-l=W)YjKA z9ZO<5DNFK6euhB&5+=|Ls7WO;bl&-?{GN`0fl4`;)ZBt&k3Ruo!5H_|ceK9bZ5>Pw z;f2XyL>3}YF8wYhx3ofz+vLbYno-lasrPGYg6qWKx-nWjd<2x!qrbogdMr?oFS2<` z!w}$@5QqiQ&_B7k18p5?giPDxHh`k6K0piNrwAo4+Y8EM2zeGT+TOyA%ndMK2=)cj zNLqodmt#%R1eQYw1-f1=200!&?)a1NH!2`s(JIzX3ujGTKU#%$!J>;U42Kg+YlrP~ zvEm9VV%P@5k;|5N1Y5*+KTN{We?A6(Irpzf7xV0Ewn%F$kIYf)`I#SKANi#Q#c%P2} z;wlO#aJd;Wh)+z%&yazYwpo8?SdOpt8Sduo*&H{%x2ar=!sON#6uJ1>GCAQ5Gs^LX ze7Td^FyY5Z+zdiAHT9E6v~hDQ-5$EmRPi zxS0k>)zrX#uYntOT|+%UGFm9-q~>NgF&DW)7S~;WO=m4-$Iwx%j}DYl;&dSdx#p8t zRK!|CF9r_jZ`;z`+R8STxS4n0)6YM})z@81We9wuZ!>1_7T#^5_%gxUuiP ziyV2JZ@&33XwV?!3neNj1#Zd?o`3ljwB}7Y7ey03SO9`z059gT%^@zm>C->(i#2A7*3P?im> zQ|c4ENDI!8AwyB$uRnDP7a@-0 z;3e^nOIhi6i278*%8*WHk!L%3x`qBt{qZc1vhKR`PAFvyqAO)F1Mg5|=>kw+--rh0 zNhCb-nMcmgb7M{;o5?`F-y&b!t*@_Vx_XE|)T0p%4wU-1KW|gySfVu{1L6Y0jZLZJQ;( z2oHbV|b4qffkH?ajJb4moxtS+xQrzTyyVw=EP!)?l z*FguG3Q)+Mq5q%(aN`aaU;~GXrc#P;!S#^yeOcIZIp4meE2StMxIqP63}cWtK3UMS z*(_2i*5Q|U-0&^#x#wPRA7J^g>A7xVQfr$nQx+@%><3t9$a+$IOKnF((?B%xjki!J zAjS6evL@5jSUSAeDj`+P@(G*uTl!35X(^A z2bl>^v;HJwLCZ{t8kQB~CM92bP4Ml$wziJPWzQp12%(geXp?q+gq?1;qm<$qKP^2B zdhPYs5pZ+aX_sA)=b68>N0dQmhj09Cn9$M!pXn?W{NN48b0F3m&GU@!d8{{d=uoQw z=6KB2O65{%MR{E-ONl%I3N?uuh9#^L<+H6N_UV8D18lzWEMsz8`Ik=`fKrNlz+TcC z&A_qmzmFw(?6<)D^FziIi-4m&h($w=Vp3E9jMVGJZ9X96zp}SXsphk`T^jIc(5C`p zpy7EjIIOS4{UuA8xECX!D@v#1Fg-h~rKJsxjZIW!KeOXge)S{$B@jhGzPu`P!-Rmi z&8_Xo(277h`D|>Sy1H5fiM>76vYirQIe-qN_4)&P?8Iz;{jrFx0`@r|KqRDtLB*u_m`NHo6hUKW7 zq4N?>I=!>h(bFhRnQ27MU=)kuJ%gE|}EKrc{2L-?~iODPbH-e^>y`dJ!Ri66*n8%DDt@?&$QE!zkd+phVN5(nKWq< zlF1s#mE`8leUfzmj^p8nAHL^X`9Qm%D{e4KDHLd(kxhLhk9@Kj9$9e575jl=0ZA%G zIoi)jHd-62hAOp>oYeikfSnO8%E+NgP6$uViB&=OzWXk^ub~o0|b;oI~w^M zpMLfQ6+3W~1LUWp+^4`IVYvG$1;ok8c=9ZpPC%K252X}xJl=}M z9N0~V8bq#`L!4NE3AaY z7FzOkmLp(0h13|z-nLfwx;^LK{^`seEdsIk#)YR3%;l|-m+mH>< zb3Mek@t3&h%K|s=yz_F?C~zSQtzy9a1R@1>1;n|q%A&aBl1sv2866$%NY>XuEEnH= z{T&{E>`6)ju!+{Ke2Bs!3Q#`pBf+}rXqoU!0goxZ$G`!D(a_Ln>y*W{oz|6PBEf|n zP)b1oP)fn!sweGHO7Uo;83P6nLLJ*8Rvq-ZlwvOK65La5jIBSPr;?B*AFd6n{*b>1 zVz_8aS%U@*Mt@pvYWVi*aAPk}QL9edmp@<{*;E8_9JSbDi(%Pim*v}i2Hc;xF>zCX zMl6}aC!c@D4IPlpOdwo|mBjNjHy}X1Q!;euJa9<3^rh#;5TnBA#XRukA09tsb4{`@ z#*hCVsbmt`aWG`a5FY=O(9l?iAAkIT{DpR7mNG^PRN9UUN4xNSLm7(jxsf_h@Ti1%EYFL@AY&_F zd<%~aYf?4jfbkN}cDg+75v~O;^GI3B(a@S>T)U`A)!AQG$%ZZMmvP|2fy=y^OcoO+ zOt9mpKr52?StU7#9f#tVV;(sU@!U9yJm!?f6lm#_`hKLPVKUpBV8VDjhJcD{Jmn%8 zPvG5m-eVye(oUnmi}LW(urIY%Fa#fYm&56?>8;B&5EzZxx&};`+-mzy=8a+khe*}b zk#mKCJm#xmKNhK!Phwl7okgBomZ-p&sCY3cEkPwDV{xQXaU=;>JD7)aT;k-2E#Mdw zzgU07o%PT_NK8?%gbAjIhyrF42BO~i1v)}=>cYP3pwCMgOd}Sv-Np3}O3Bhx7ERNy zw6bA}BSeU+j3*q=l_XG|<=cl|AF?=$H6h*7 z%sk^Ei=t8*Ia)Mivo6rIz!y9imf^Y{cHDVqgnV1)P5`A8WMhy;`^u}Xf~>>6ibp1$ zhFBqLk}lGGYs_#%NY%u-z}9ecOhc4`BHs{WF^}f#ddQnFi?zkDYuWn-vOx+&o&=Sa zVzGpl*2z{ek+c+zvcN)f!B$E^Yt3hcpSoObit?pNk4lJGgM^P}9<$WOfE?dqEBRSk z#oNObc|9rylO|5YS6_dP_10aN8<2-(ms^(k)9~ClWOFI8jiaA`0U>isyULO&c#a~K zK93tT9o}#0_wzl~%-x%P(&urLH0^1fWuoqt)%b4?ciW3ih8t-}B2<%C2@b z)dfXabk|T2Ii>wl$2y&9P-iLoO;%so)3y(lgXEp^8wJWv5`u0 z!XCjDIW}S(|FyLANLxM5XV24CAuZCnS6`n($uFQtYuNnr&&xUC69x;;H$N?#Nn5Ub zRC+@EzduwM`u#~hJ4^ig9uu=Ovvas?hO3*r(b?C#X|}cJ5OcT$%i``ZkHaWgFq6q7 z9IY{E=uj?P3IhfV;u|2XBq;~kbe3V<+AQgqAT__uPyH`*n$f!1Ve7cV&XY2r2K$Q|Fv18enj@`r;UwjG37;s$2@~O$EY>H#YzDKz|=IhBX1A5*@ zQ=uwQ=?d+bOHyIf4lG{=O!-8A6mj zann?4eOfSlhPAY}LX&EfYORu0cP3s`F4v!W@QU>XlPd@ns18I@N6eYsSt`(-Z$|Ip1 zEMrf6a;#e4P;cuEIc7!CamZ1TiinIgLtdm0lq%;A`7HSa66bOZ(a3~LF8&ujpt3k- z%!?TR;;BXgZh5 z9+ODAO;9e#Fikbep}*XxFDnjqyn6pgK3vnuKd}DdCjmx3#s|XGtq>a#{*! zh%A_NAg&-;0~~SWktk);kR)+hJzUqNSviT@@3PH7;Ck2%`LG@|K|`Bq&i~qrxH!dVw2-Vz?Y*HPywb{(x2j4GjlURT-LojzfkT zLbL5{B?usXMITsNH{`o1GNz27^1(sqQ(-gGF6ITVkldnbJ}RZ42}i&(<>%6h z<5P2T45)8JDwaZA#gJfpj6_P4W3Gz?73r9Uy<`jsgkPmRcuoygUwJLYNdir!%!9*r zG62s!`HZzTu{eN*iIVv3_{sQU+*eq6<<%q!p&>cxvA59*Ha(vV3Ff1HR^&y}DFbvt zWM^VF8DJ?6KZRFON|aJiN-?B-hn;C9NJ5q3Co_m6-#M^t>o01eH)y zRq;YWZba8CWPrUf3rmZNvJ7zWbF5l#*N0tjsz-BI%ujeY@gVq#WWQ!~F`s93y8ISL zpKO|(+bD9AYHQ1J0}k!m=p>%Ud!CDV=9$MHdB}M<_aO*mDU!v?bLEMJOzW;^!emrC&%D}xyOXWVC>Q@I2b047J}3b|4Tpr8y8g+wVy!H23_ zJ5zFHqo+)2gPqRscr1yUq=#%az^5O7f+d$&vaI|Dz_QCOjfp&Z5}sThjfhhF)?06( zG46FrV~esMQo9r>Zkc1vK6IeCA&KHF{Q_RniV7S@`WW2E43t)I9S5FQ9;c$9FnNz# z(rBevqJmP2Rz3;|K$>1K0WC@eT2%u3ou^Xgm!2e!x(=v!A)r=K85YdO`aB->wW6ti zKdiLUN_=)uq9W?Ju9c~|xeY)5Fd5XrAl=Q=E4=m2Scr1C-mvwh2q|lJ-sQlm zPvNA3O0dKB%6GQpSt(^X75NPNJCR5+SVOo|O3~l21d@zGGM3VRA;PAPQlEU{#)m(sjK5A4$j0wc8EI&0LPvW$e6GH7KHh&oe=g3jzp(Jxh=3LsiKDlV`{xf$S#ShW_$o`z zj~%z&2AaJxsd*yOg^YdM{BhDm+<3!H+;o5#tBfb&-0U4FF3ghFpkG0_8!q973Xd`Lg#_L1w4z{ypa@X>=mINJN^mBE;2D^j3q9ecnn*sy?H7 z1WNxE@&!zq+zREm6%x^LKwh4B>Pe((>uL2`-4-Jsm9Z~lrOO{m%=BSu z&DB*Awrs7sIaGa@U8%qC*xzR;XScLg@cV4QY$|nSD$J(hMPkj440zgsreNug4qSHm ze{uS0r{l`2uEfQcT!JHxI084`_&>BYPeQ-OM%2{QW5V~}qm@<(S*T?R4!Kd&Z~((I z_mCS7U%()5+Tya>#jvU2c&5L%H*o-#mP-lUsK{LjDYwr+T#+rL90A)Z)|r6q<$lCXiTi5EmXQ$QK;GCTjkx(-9-8%h zObfx~S6qRMF1iq>oN@}zJ?}i+dFLI_j>c}g?SVi3@n{@$&@SlL&jI&3a_vErG%3F# zOJ8o%jX{1&J$dpZthnOx2$><1DIk$ZK#p%>w2tIRMqR27Vl_m9wq*bS5CBO;K~(un zEG0a`0p+cfCthirVZT(uX3Uim`pzK?JKSicO=D=ykuUX%#h^WJkW6X}XzGW09^Ht7 z=!Yza)*VrTKl|)6$j0AyseOl5HcP3qf=Wv1KbBs3EW1?F${v0iqSsxdmC2!{<%=&q z$F_vWgy(6Faf2lL>DgyTLou816!(C4-+vE-1`XnPZs4HO5XDSHtGG%jn_j{ysI2b(>#tLP-*rzVGzzX_VCp?r zl_>JgCx<+Or%+_*4*43ZR>ZHOCgkf>y`~zHY#JdgK#4UA$|!HF~x7ddbwE3Mk9;1QmQPJ ze6n9duoCeTm2uIV3x|2+J1a{qwWQ_s-1E-C#TQ?Ur=NTZcieFYzWwGK+;r28IB5U< zvCf*C;n9(!t*k5(Nr(0E7Qf*~HTc+dzy0oeRK)UFag~*k)Cx^CaV#+JK+HSeP^Qs# z^ON>~@;?9E^R&dIKz$08?nux@M}X|`qw}uFrui(W zJZGo?rD>UA7W)@WbGbCuSZz7m2f~#oQi}C58$8cNqM_a%7ryuY`&MrBxWXP!-4EK9 zCw<_sV#SCG=!MkHVGcnkb+PXNEm4HH0(yJhu^2T35;b_p5S)DCak%iDzv2A9{T=6> zcRv1g(M7oOic29sF^^Fhk*vazxYf|KCA!*&(j_eThoMw9W2mc7a=dl`2%$MP<(D?` zIN0tG?L6X>Ur{Z!)KaLgcRHoikhU>{y^XR?*N5=f^*~Q0t++NV+iN*sT;;B2vQnI` zL{_;HCXgT{2|FQ<=7&-WN=*q#FHmfOz>;r;!B1QwnV>TnWrq>Jl8-J(n*|ae?G$%L zAfgCnBu|uf#u=!Lof*#=<(R7&kjX5NM*B1&q>@SWYi#0%54Z|;4UjLkay`N1)@E+{ zX};b0(A?x5N5gR(C@Lim3(#DU_{ca7?Ksf76Z9(rTEXpFv{^WmP2&L2jwU3%3#DB+ zgw_%UI1Ur=_8bk~M976Xq}gB7GU3xQQ^HY49&W$i5_3E>G&I6-VyLfc#NBt_%bY-* z$2W1V_5ypH!#CD=TtV6>Ve+>ZL>Uu*54b>_N?IH)JnbRQS6x9Y7K7(`gxd`TrU6_B z@C1yHxgO#~%ym(qrDO<|x}igcBAcVdhQ|^i6}2LdTsGNkIObb$0V)Xtp_H=Ut=M^o z9q`y=&mfa2VRAZa+flVd+vn;Ji4zM%j7KCZEWbPooskkQ-~W*>)z;S3A)Cp=rEFh* z^%bZmfRuqv>`V?cj`9qm91*a6nn8uT&@gzic|Bc4=>yfN$RufJx$PeT2V!$MR( zK>qHGX5FGR$#*S;<1CN6-g@_K)Wl=98rgIN_MyiI3x(#mplk+Z#RT+sf=<^hn{wB~ z^m?cOyX@4#0|z1~8Du$E95}48TnDQ}4cjJtFKrV2ws+BCSVB!*0v+jAjtOAJ6_$Y? z(0b<=sB{I$u&qD-@FTwYrUmho#;0F=fwuN`thVOrR&lH@uQF#PER+wTniq)|Fu2D( zt+rS4tEwEDegU2Cn?7l8rCvT#r2?i^wxpSLklJTmX;DeP4g-CSqhF`yIkc960Ou-q z3v^%AldxLTmMJ6XPFeODE^M5-e5jtzohkcTL74K_yk&zFE6DfX|G-TL+_+#D!u5Wwe#>hlQ0x)jt}76P`A;UV8D<#@xQ(@%$an2@*6^L0?=k$B%e z`?PKZ5E%^f2Ly{|7*nxKCSjb!msocRCiD?-GcRT`R@Pm1+@98w#i6*Vx!gIGqwQb8 z{N&@$@WA~~!>9SZ#Nz;;XFeqsCO>;E%6DJrw_$z>vT6Gj*QPCj`wvR8aUg`qEMnJ>)^RD$R_p!H>7Mf z$NT}`lnbbBY{d1~Uyr6*502K9blP`;1b_I!2XLtXExYV;woFk>WVEfZ#u`&(mcIV% zv#+NJ54fv_idTTqquuh@}ghSn~Hf(8r}XBg?_n+=yS$M~o?lb$?PuJ14tC`t~s$ zBji}KL;Ve4X9;!^f4w%80%J`qB`=q(CLI+ww- z&p!taW4!#zE6A6MSZ}>`AVvb%E3}`a#kw>8QO>Vee_wf(Dn}?)c6+Ch+(M(cz2oFr z*2IwQ6UcK9DCVq2kI3nG5RnAEk_s0B36}cB{n_w-b_r1dy%^}8mAxXO$C+oqC>i>K z?lNQ&R6@ir=#HI+j}sSyX(aizqvQ>>p{^ccDR4M~sot6@YX~%)X z*FvQ+-SFRnXcggK0r1*?myH9L50(hO4gzm`+1G4z$)#+J!@ChhZ9U946qc znMdGQ7m)8z45({BT`b91gMIhi8#Oga$d^e=R4x>ylJ6(ncH3=mXsvKrzeCfA3xJ}- z?eyC)8>d+p>vjo;pv(P-Xj5- zWK1|R=KK&L2ec?&qBMe+b`(FSyk%~)XhwucrV=dI0d-X5si*}kl~te|&m_HW!+4=b z5K<7w(X@KCqpr4=igkcB)>w@e6AcbSI2>;-$Ax^n-jESmxq_3oZy5LV(nU znZBgWF1Zp}q!88l5gH$XG^%qw3Pr#IZK1cgOb`< zXjOf-A7tz?So)354BwKkv*a1h8)cX_16&!Vogj*xK?a@$T+W55<+2l^GgAD0!7eH? z@dce}?P^@{+eK#@m2{<>#h%WIthrz-rJw=OvC=qNTUU~3Zqg1n7Nryv7g#~S*no?# zgDEeu49MGM$OT*}MT>w3zjNnE^Nlc_>)^&=kfEhPDMhOYOX6lxUtiB~#bc!YVD+}( z0yjdtU?`E!2BBbztXcd94ixs-Z5NZzrXiflhFViogG3^QH{N&)FN_|Ij<$At#1jCv zjjbIW$nins6y?S9Tqvb1LdxkEilBi7^7lMS+~F9+#oG|I{Rsyjegyvb$3J4f{SLz2cizQ%*;tM}m%C)Kn1?{VL@H(0 z*0`W?M7-!%PX&l_%XcKCjdiIS#Jm^+3Q{QKXytJcrvjDDW^8)-$Wo!85e4n7Ay_*d{I>DZAhi?!H4goRLW!I$cJ#~VTa(TKT^)4kHT4JorQEq8mhC89WTXn z2J-*EeD(DNmNMmSD5t}*C^4FYMJa`f%P80`DmNQSv5y$2DWC%d;Z7+9L;fY5A^}n! zlQ2yBPR64^{Kl3m)+0^<7%Dc3{VEEYj0+hjg*^MW2(TE!KrZ`2(z5p;q`RMe<~gjg;!0?0OhL>r96}H%iX1mH+3=XDq=U3*SjX^Eg$@gY}3pO8r^gGlqk zhqRIjxuHoLp%s)8aM9obWVo0~3PV4WKo&jOh~+25qF~71&(KVto-~Pt0GSf(;;c0n z4z1ug8jg05q7so!r_nZHGO~PqpGY%*TU!9G)exox;8o$9-maTsV#t6R9DMM>=;&yJ z!`II=%d&EC)f_kOD~K#jjSaS}Z+`fJ3QGcfIYn!0Ga4J~?JrmI`MfG^o(<~hISm#Au3!OmLFP_b9H}?88gNzIs5ImKh8h@d|Y$oe{szuZPo4Jss3Xkw2$W_jFJ9kmkLq@7;9nIp>~x>z-4$x_j1)BH-!PlEus5c{%*@m%m2mhs({a zL;ZG>+KN2+2{>W0dyR9#siB=f#01>@E2t_IawssU(rZ4g3E4$svetvobt*e3-vS^1 zEm3121-_rlTX6mZ7+4qNzWFVuVUIoc#=iSL7klls7k1zM8QATqPj$R%JW&z?&SS{+ zfab?zZ{1dVFzE0oGh)DJ3>mXsWBAEWf8p%>%%?xY{hW+jv}{W+-Ji-UO?s)+4V+Bf zltiJJV}LhGdnR=!DOMYb?(WQP zr20(J>7h+RW0clPU1j!*Ji}UpPR)ZhSvlHlbJ{;!CkN-zsSGY&f-N`S0=^dz9szEK zK6LbKjDhN{pW~*VbDO45=irkOH(B$V6OVC!wmhE?U_AqEUz4{7VtTwtPtdeQOq(!~5215oKtOL7v%NGr%HF_sJM4)2 z?ztCK4b~t@XSxGv8+3g1Bp1;c6gd7m9jbGPRL&!x1k7~w=`8-~Pk%y?%i$Tj?~Y{y zgPQo@9!@_j!=OD%?TE<>u$S1pW@&k`PHzRCrA2QAa~#WS5>zmW~Us- ztDgh%tp|;_jerHsi7^JeFfl%XB}*1#gaOr>`|n2|gW!mcczj|4LlRE<)}=X0(X1S# zPCkPx#TMlfR~ze>(hm3De;@99;C`%Ly9TS)tYI*>#{K;nHa9O>Hpv<*T_)%9u$LYJ z3*#Dn1}-(ec2tmcEd#cR$^;I2!GR2E*=z~kpIXnlS5-<=P7X()9qyun*}S26c5@z&98dRn5_BLmBpL5`$90QCRdgml7s zdekPYyf(C4P(a9|@dxgI5Q};G(AN)cZg7sVL2sZ9ug1skFl@M2K^jd1Y$tR*eb?=A z*dZ@ModL+AMg2Sl2zatlL#-&tTsGR<3v$D_5;_rwG#7 zXF%gKP+1I*&$=g_I8%kCK_g; zCw!d_)cLB)7z1N0jA3fQ6w`hzY1H`3U;dJG2HS7HJsllj0MN$}7QQuj+Ah0c(V|5# z#t@eB8hB{MBYfSn1_odm3|L|e7Cr2?^DcC*s~A*x2>G->#*>mVU%4$^wuF?)<eiovBmKZMmm#E^Iyd;Y1twSj!t&i{x$z;%7}LJ&vqpBCWYapzccR(EM7;!N+pcbPZ3GKikbaX4t`~V&|x-}ys7_Ed@G|-Qs!l2uz zb#y*7G=M^(087Ue(kbhIa2*?);3f%-P1M|`9rMXJ=7tyZ@hw(fDK*o^8gmo&m=|92 znpdNcGZ^PayJqD>s8uJhWa(n`<#QZkCE73_1Xw&gOvgY*Zk%vGv}%m#1j{}a6BFYomrG!c)8)T^`~R@nrkmm^TW^gr z9f+JrNXJNjhrl;@_8xmMz-SI@3OamT2!ZK70y&tSk(SU+F$Xdd<2ZngXG2|{Oct*1Zz z;g9fXpr`WnhMc+b`oZ3i`pQ0whx)MHw%ft>^&_AiYPCB2z{Ah}<3A`T6bV8G9J*P7mwdge@sE;MFkmM~-<_tXEU;?{hyKT0H{>F}U20x1i zhY-;gQDS@+p^VZ`Mk#p^Yex>mIPwufbQ29@|w{Wm`;Lb>9{H z`jYh))+wq1kLxAo{Y6sRJBA@M&8g>mTpuOqXJg=byf-IcJqz&(aygN6e8#2va{9z@ zCw3|?9J<_Bt$Qt`7=g+9UuONg_Ih@+0GCj=>R#PKTRRPrJHu$5*pB#Es48kRl$5Z@PRLou7{?pS<+coDXu))AW{G zY{{oc4{Pbf#^~_$R64)_Wpr%RJ&pRFhg=Xqn{;2kfc`w-QM$GK_Na%ov8TLM-g6pR z7*U|gC)#pUkN4Vpk9db2w?Q1&F)%y;Ih|5zEz2=<8W95Ac!9hPFv=iAPxPasBk-ua zF^0~50xMQNOg#gh=#;Q(?Iux)vf1rrI{vyhB=<4vxU;PSx5I}#)Rpl&J zt{!8M11Mlw%2Ty$8@MLLHwZjVEplr#rtMW1J#$JbJWqv;g-b-iUMT^q7-R-o$dEh8v$Yvg`s%^BUhw>Xx}l z>Bzc|!HIt0@43%?E;d=b6b%L+rP2gEZdQ7N3=Ggunt?(QgSi4X!7}v3F2@pcv#*oS z1Rdx5-}ioMgXDkIr4lhcOw7$$PFHje+^u6$aq9>7L--6d;yA>aXP%D!{sIFF57v(u zkc5-qAY$^Vv!C>M=tlwB7JMb7ldDy$R>RPiuCe3G7|L$8 zDKW<2kV6h>QAsaWx$^T4d>*PHxNZT>jjNv1E9$ zTc^u6+Z4wfbu>@shM;@QH*hu1APN1GoW+#G3`FU^{{;NRF&=0o|XiLNBvk7I@Ni())5bBl`Weu_+hLi^csW<9y z3(7QLObv8F@Zy>SpFNp|u08#OQidCtNAK|MZ+;nXf5$o4W!IhPRAY>-dI;bB-Zyd2 z11tFS7^BXOYn-PWKmYm9aqr*n!7>H_jp`Wo+GBUzc>NVP>7>Kxz!E)bJhIn@=fRkO z&Li*x1lHsB2NO_w01pj1CWZ^fdY*YD9pdn!L40XN@z6DG{|ku#QaVRP%^bU^>N%s_t*g}jGKc?|lY z(+LKP`k9y-PckYzY4JRZh_8IM+ICCaapxU);lT&N=Q#ShJ8!ooOjvb@ow%yt zbO%5-JSo`?`qg&6ap4@G`5_ODPxMN4-@2CAeRusLoh7|ai5BzqkWL53#>RP1TC5!% zV*ujeq6!ixT{_&50zz@IwZ_xc$=X%i( zLtlE?W%$@fK8nEeU@gbpRf+jla@_M}F^B$KTD<1ap+~w-3)o`|jV1s95CBO;K~!~8 z^a$o=fjzlpL>4g}X-uykGd0G*8Vf^sut-17$#9S8Od%S*a1c`BY+mgSY2*CTn0mE= zdW$2~#*H`Lgp*$TI&8J&=6LaoUx=3n=9jc>qNXPt>-UwtgTbkW5)?9dnCeeXU8cYgn0 z>CkS)^It@R)1+QbcBkd&fj;q>Pvg|H&cI%K?d^W$@{Mmk8Q0u!Js#m}293+oQI?~s zb67D?58nOG^YF4m55X&6aVYlLdk-9Q%rPQM#zb5AzUO`(#P=*6z>c`&($C>{|MLr6 zcKJo_$?rdZ`tLaM@WXM`F~{OsDYRDX(-UVkjExate|`7eKfkA333*lF9% z98WQCaNhNQyqx^zQ*rGz*J9u2?uF+aus05S(SF!x_g!$zVK2qqfBZc@`p+N1op;`e z5>JG55@Fc+jVB+2pZ>>p@bOQ+4@V#KayRv!8Q5&iOgFW-Lbd z%In+T{3hOY-g)@NfBqc%?z1<3{G%V@yz|aQrCQ=EFpsvdXw<5>?Y3KSHcyXU`26S5 z)(7LTm%j)ve9`mqidVb>J8ri@ zz!Qa2@rVEU|L`i>@uWALjMu#GwK($VqwvE!?!X&QemyR{=(Bk6fxB?!6&GSTU*9ok zM7UXP2#=!^gi9=p? z01kfPUUoxmW) zLyZBiF&wZ0lXAt$xaFps@w@{M#KF(o4=*@iU%cqReekkF4#xlf;s4=HTz99Pb_)La zpWlbG&OQrE`KoE}J)eyizwkwr{e0T>h3;NjyLJS|7&Q1Q>5MbZfPSOq1uuL){_*#J z;7xCOGyeF;KZCa@7A;-zhFP?v+uL;(ib0$1D?Ad_TTeayq7FKPurb&+Sz#V z3tof+57-|sJ>(!9{DSA;C5Iet3GaH>yYP~iyaeZ*^EUkA=l_M@{`}vu|9< zaQWq5!ljp8g6pnh5OL;pQ8z!fiKQi(7BF7B^gdHLkww z3IG{F=DzH@^DgknT-!-sA%|r{MabRo!5lAo{{HybN8gVdDC?`Y-|l2zeBs6T+E>4Z zuM!u3;X<79#*?teGoDJBG^z;^BV=CO1UP5$$xnU~SMzE8`m3(SC6`=+s#N#*T3ZYnIp~Kt73>5YT(MZdtB*MfS6p$K!eBY!*$o=D$d)*7hjAo(4NO1e>}7%wKn6hj)A@+K0^n5?d2Ea zwwtfR*KWN5U%K#f&Tdyx=Nq}+F1+vy&}%{cY|>3P-GqxTz7Su!_zSq{mTPd!4cFji z;zpi+Tz?(cB*%BG!?&pBMxmjU9K|7T^g($RH$kKefT4vF=o4aIhcm zd;fcJ5$Eq#o}S%)%T4(5EjJK1;#Q_NTz@q#zw}ak@e5zXXFl^OTyo(Txu&ne?YG~G zYj_{rbmR57mTO#VbJ^m>p!w7q`}#|`{pM@&g)e@QLHN_$eUi`TnMw}e0X&hh*mvK(8Q7eS%P+f( z>-QVPH*v!aH*nqFf^UA~o4D%AEAUP}r0llaj$q8``ZV|u5b-2Xb4fM}d_`UO*)DbS zuQIav{Mqz4bg{sOnXxW{dR3DaP;eql);xZ4F`r%{o_M4hY4fn$5d}Wv@Q54^g`AH9 zgOE6cdxEUz~kn;3j{m{A>wO{ zfyXv}(*YRhW3A@`qNPg~BTyjbd052v-#I#fTo7P*UNbTzCs?pAD~V<=oN=m1EC*k45K>bsR!JPl^~ace%N<>qJ(_lqf`qi0m!jGyTBOZ zUSSmb@^t<~@bfvoTByOJej$&>!B1d)$fkksqf%=?`VLTs0%_UYx(vvRee_C8!Pxl3 zxNEbNQKtL~U$MyHXl$!juXg(61IyGR$8o8TF@}L(jF4+X=-m8#{>futqY(1BCaK$b6w@UO_VB7*`o&Id{Q?|*_}>48UF-%7K?ot9UnujUPF%S zYp{O+S}$d`X}s*hIfx*8uNfb8`34u#cynBpN|mpvVys!c*8N<^$jBPxe4hxQ`N?|$ z=OE&EB9}&7tI|7mX+#_QDDYKMj`PAv<9u@Nn(I<)#TbKrj$g0BmMvRKdPClTufQts zT-l?|(fnA?l1B)3LoNVy0@o$@s>(9;*;aRRU!vX`lgEBB?d(8%#zdKRTgCB|_=>Qf zGV~j3%Z3K1r_c3SaJ&O+FwS+*$9CRU92*%mul{@<1!1O(Q35o-nhy)W%Ro+i zs4s^?&ZmuhcfV?E0?9VeWj7Gtg=O30)^35`thL)?qc3@Me1bMz`W8gokYyC^O>Q#^ z>11kr?2+#i7kar0FwdXL+z97>MPHwXfVpT|v68;}AOy^7Fpx6oH{Ba9I>LT-|E zIvA!5W|r}oyTJD`+SK~!Q2K&AH#kGYD3VWsjwN7P%;m9^L4!6-G(VD2=1D@8(9gJ( zDrLT6u*h4F{A0eZs6dX$V_989U*{HHXAo4aRiQtbUZEqfY!s?tje$+#z+hNOtQ{Re zsZzoK9YDEKN3~Yrh>^(QM&4g6(CLAQ(Z{Fyi2UNXLAe|&J%*DR1HK<{V+R@>{{&yp z3>NZ~6+?E57>tdLO`xf!tJAN6D&Ps&Pd|@f=!nXE{Sr`*3iT+tpT~${HCa?uS4=Gw zKqy}*6d)dQ{t6J63@_qqi6UQ%7^sW>YN>(~^=X0g9n*p7hiW6HLW6TOz~CXxd)6WV zP@^3{TlOnJ;Yef`R=dkugF-P6{lH(M|;*#sZ^+ohk=1XI`AB{ zmTI*c)5rxTvWwP}F%~s?QqS{|=UOo2-OoTFqNF_S@A(FO{e6&gT(V>-q+Yj5ol4) z8THEt@T`YA@1s(sfzeU}3>I@( z%K)XqbsABZ5(CNx(;QJ_L=kbWLgqP52sx1rW^{knXe;+e>1d}U5b+p{c%%gR1B^=& zuqwx~ar#`F0u4*ujj^trj+Lx=@)5iHsjr{wC-6Ay96zZ7>h4o#=~v^r*8H-X0WNs2 zgMBEIbFMled+(~e;Ml;Y%p3}@1=o6`W|*wDjoJhYKX?P~av8SS8!wwTq!F03UB=x= zni?T(YEtT@W?HoYQf<^i#3x6~ttRj+d=4ko+Yc;qdCLtS4*9%~fE$-b8t~(JIaup+ z^D#v1HfjYRF`xbdKR_RySw5GC$}zo?_~vrHJ9RO}zz+ggBgruj%wyE3gPd5%oj*p5 zYO`!9Gw^fJrfj&`3gE{WLw%%E;!L!mtH0n`%cs*k^wefyS}CZTZ#?9vUqt7jHde7Z za=b*J#V}uo=+DRNl%PPT(^o7w$I_sFmhz>iU;)?Pr&E)@EJ8w!F#yNma{L`z}Bt8OWCOaM>b*97EkBdWgXK7%29OCGt5RK5Zu|wYd(>uK}Jm$U&>9 zv=HR@q@Fl!$y1&5^(j*{Sr}s=-F@2Iddw4^@1e#Z4*VEnIA4IAUXDSi){gSVSa{SY zGT<2HqCh$W1GqF7x@a+-<9`Uy*@>M9S!5D!sgoj+hr6%2cF9I9hZHeul1AYvYqnK*{$TX^he zns5u1d0mD#lt+6R>cy;UN>jDZ2bQyk7G~lUb#2s|%_1e5q96C^K$DV~w%}g?01yC4 zL_t&%^wI^ffL#zSJtj{o3uxo_Ja1NG($ivt4$2tgHbFhvs{gDycMw_YaT7BDcUC#c zj^+g`8bcW~a?@rd%t+MHm~74+m9Cg>W^`5DDn*y_PE&BBj|fLjnj~%ej!Dz1V4;=I zW+wTiwGnNZ=4VRf*k@|**5(`vok}|2={UR5s%~=pDuJ#SoNvtOlhrc~2C@t^TL+^elcvmex!P^3G0jZhWTEJwnSIm~D#>d`vFmDY?<^Y#?X_tsR?tD) z!u>o~BdzX8n`@DRIR!4LntZrvwsrJa@M4!C7zPql33x2$3%$=w7O*ol_SzQ40*bm* zPT9Qf86j;;)8zkW(2Xm!YLkq+qmt~S_AQwNw|FFom?p^a2`~r(9z|Cj^h#y+dTD%F zO!lNW$^ew=a7aMrleJ@}x-DzD0cByx#H1A5l=SEA!Bm@T7M9PrQxJneL)3)wLQ*z} z>0qM_!2Bep@XGS%BddPZ+VZR=r9<-*8-`{?v*?o4L8hszBtJMLrP+S#=5I$#o5xeS zJN=xV8gmv=(;jJ>wq?qhaT)4p$lW0`7nb(3Y)f>BNRfisE?25g+LZJIb*EhNQBVT$ z^ehyNunLB2LG-EJ(o}U*k;v~by(80C(h5XeI|7)hz6Es@S{2LeYAm%zFVvgO-PsI5EB-#OBI}xMxVb@mP5l)s`IoU=wPGm;p*$F_u%Ae4&o1vZp zv)M~L91Zp4OhEE<&!zLlUeG5Uf10XpLC~D@>3C)3$u23Tqwm!}Iu_9ScyuIfe0v%%uI(`?FPn^O$^x?7lOub`0rO^eoXk^@0A#zR>2)G$tYgD=0q`)Q656Gkpvj1tyQz%Q>IU zadKQ;>r=aMFluMgyizySEUtGFA?BPIBcpM)_?{wmd5;`f=J$eKZe2+4N$6x|TK+Ct zprM)sGzC{c;{HRb>p&Ge@87@ zEh(;M>X%MPXkR$GOy8-LteLre=2mu}!{uy}r8g{0nwo{ol?hm6>r6{q)^_bLNi8x- zX%%{z`CFjPy7On(Z;b5D&i+|(w~$-$VZ zZN?;Z-Dp*3c+5W?JoXi|7zOY>wtj;~zZnwi?3WCzvB)tH$rDCpqE?MjE!X+f#sW8J zk9>SNAm$^!gqI8AD{d$)ja8r@K&h3hEc3aI@5E!mXV<7vhmbcpm7xD<&r+TTgRn;a z%`~i&uFm6X=Q#|bI=58ns{g7#L%y6QCa&fTArAB zM9hFvsim{Cl&_x!vDSyiZ;XZJ6f|3U3r`OL$hT#Z2WX+M^k(Qie06kaZuI3HtZXbr?M z#8>rNchXtw(B&ylwh&a-59LO29eQ1<(~?G9#hS5IG+)SRt#b{PpijA6hSs!RbGo#y z^=DA6l~JyYGk}PpHvJ&%ILETKQbCC}Y#1OW1MxP^JQK=mkU!gKzL8aH;d#c*N#J>? z)hpCLM5$VGGSz>gQl$)lWGI!!T^iAF4hGN^8e^an3+8$d2!7vq+&w`}0x=d_&_#%KQ5iw67`!U(VWZuNeTYa_Zp6ZyUB1q&Y zM>v^G-55E1U>XVNeb&!wo$q zj7iG#QPuZ-Xfq$^>*I#qaIb~96=M}Q@sNxaI>>$vdg=aRfYGrsX=-#_Zl__s?sO_Q z9bcs!qgX7UR*O+^zu^+WIZf_NbRo_uMs$ooM5kWBKyeUqsB%ymlYWb*N~iC^Kx8&B z)WX2e`>?*pO+Uu}{_p={^{NLjF}4QuU#`7Qx%4m4#_Jqrt%73z0EUJaQJ0W?185;c z3{K?S8gxo>b~`MDNzL5P@?~!7(RD%Bhl90iL zWu@mC=fITK8E6^SNyd_8OQ284fyw4c08*n~mev4hV)n}+uV1wyp)nr%`U?*F0bcz; zY1D`rY_Sg&G1N!DYHU1@b67%<&m+=rLNTD57#oHDL$`_X3i3IQgY+c^iwZKv#@BM* zDs;FJ>ZJGmytC{0c!_m@UJ+8ft5ZItVLjSjc2jCSi?wUlA{P|czfL;9XP`GWS_b1h zL>!2Ipi^_>TcFtAhZ2Jw@fsc)Mj^;U|1+`16eC8?deEy#nh$~JQ3r$ZQpMRr^gat}fk`VbDBF#f86VE# z*wQ;^OyD+?W;xC*VdXo~Bx9l#FEHD7b*pP5c+wT#a>`q9!tuxBdCxlt%eUDcn{K@; zHe0?E_TFb-?D3ofasGSXi(mZumnhTO{^9@rgmd2Zb{uiUF?j0JpM_^V`#IQdyB+cL z-S@z*Pu(3~|JL{1U(S@%^ZY#YTO@@-AI?7Ot$5WjN8?$0J`2xz?!I`-si)!_-~2W_ zI;)t`r2BPQ?myNK@S`9844?YU=g4zU?6||Oq&*!s+;k%@y!awK@1W=7z=L0af`aq z>b2Ao_`pAZ2x4-`t&SJkq^;dOw+!;^VdN=ag4ZA+=>DYXW9q_fUf19C(1(zv&FOLcX zl+lSX_s8*0Jn^-7_FjA9rH37cx1M_ruDR|y$20k&AP7lm@>_M?FiEixIgL)}T`|F({`|Y^PF8I=AU&QlY@Di-# z@%94`tUzph=x;=yquQ*xe9#p?g}e>{Mfy!2&s)+ghWpZXjgc<2#)_@f`kwb$Q>4}JLKIR8EWj9>ru zci42ZE%AdpeuU3oa4{4Jz5D$4WA(^59$vAEPwf!~28Z!~fBp*|S-IK;J+%n9?}3N0 z51sj~U%nkzUv&k>c zIISKT#ozC_4~v!zqe6b4`_w0J;YAl>O*1Ge^JzUn$UtU0eD-q};K-wnM7}SePBHcQ zD<=4A>%oUtIJ?z&L~#6TPQ({4_!K_+v5zA%7Asb*#zQMt;hy^+aJ0|f>pA$$1sCFy zFI_@?_JRIR$|EaA@V^WU^Tk1qZ-uZ2VG#8~p28IH-~$h# zMjKQ(zWW|{kikF>FMHW5@zGCw694qx_c8d{3@dqpqW-IBiL* z;g8|?<6et=t{bO_$`rql7~Km85Hcnp|huJ@Qh>#n%y!b@=MvB$v= z`dsi`rVWkF@g6DTs;jRDxT5v-fApevIPI~FQ3B6 z3}{K*yB5L%1~J(POnTQsS)dn`ER-c@;A1jvd}GimDc^}!@>0J_^Mg z^bWfo)!}oaH{7VL@m(Nct%p7aF8O>P`Um@Ac;sCiD7sx@?N|&yH$bP=k5KfXL4}^b z!Sp}=^OyMFKl~XLZr(BAvcsUF#S_=0Xny}NHZ-%uz zmcN%lf&vqIL%Jp~$NSp^ZU3$5ACY!Mhv)01yC4 zL_t)O3NbXi6eFYK@N<2LtpWJz2!231pSpW^Xw4|@U$GjSZ@n$@{R6b&Fe1)p1doB& zfD5W3_?V!clH(NyQ5akV{WwoT2L@~49C56iy%Jwj`1yj9r=W&Ih36Mxaz)xXhQ`^5 zJ+>FPCW=@)HsRW9Jc$s3LXm4|*tL)G1il(e1TuUn$=_Y{`c;{u}2+`HLJ$Ri8gK+SfBh^iX+YEGR-q*<8>Hv=H9*5X)Mrfo~9w~RnOJ}7VWQZ)GuB5 z%J(p{1w3x7S&EPjc+*WcMU}_lqjYxqxr;b97#l00!3{S{tNh|YgGczpJ~m#(z|ayp zJvvD~q031I`F>n;-A&+O3q~s;>NPqoc3QP&9GlbWJp9ON=jgTF&_`o@B0??zuD|(q ztXi`ciRvRIV^|5HlQt~X*;Tv}v(4f;+ zU^Bwgf#F3<7}zx&LXJ(R6P7lpbI_528*fO#5!*~IkKx5jpuj`{+zO5(CXIgfM*)rG zC`h7Dro0OKvOnO)7E-S~v1HTb=o=Vjdkv!uB1-b$p6~44AT7m0h$$~9_M^lT79r1o zDK474nep+H}bP%5-c4!;2UQEJB&56{RZB-*2&Ubrqf= z6*vEKt%?<^R`TSbfq+lR3IsTv$imMD7@H_ztW=+%j(!=O)cvWFH8qexxKwK~gnJ`pd5>gZdbK%&^!&%hx@P$**aEw*&8AjG2( z08|r}a=^RWdI46hTI2X{{gmyXG3ykHDzQK4v=}5YvXFz*_|fH4>>proP(g{~>Enq` z92r+uAXKBBoU@N(2469s&||EA@F6!Q>1#a80A&aYH0oiD(eV=X3pfVP@yJnsO@N_! zH7=$1GeA@TpjSxJOLn1$cRXF0I$F|ejB2a$C}WTgeQ^YV`3;!9D?l*9lbW zHD@CQE&=CU;~y!9c=(Z(q|0H^l4S^j0v>wkA&icWI(-WTLw!S@?f@%Rk8mA~VDZ-5 zV1i@VWa*~ZhW1=C=u?~Iijo8q6J?aj6>Pcnwy5%W=brl>K%TGOR`6785rZ6&8Mj~z zvlcm?w2U&?85&%K8jr4)Z?+j$ty+ab-p4=?pg^PewBx3mY=V3F3Ud)(#XR(|URC+< zxd#1Q0e9SaCm!Nh)^hQaoa5#K@C;=C*Z{d=fk93~rl!o~>N)7d4!!Tkmj&$OOP!uJ zJqt{=KpaO{x^xNjvnFGFYF@c=C5l6f0D7^t+|08*=q~{eXoNN7az39J6IT&(XMTj6 zc7e{k$X7mJ{mR$S*B7AC0OVH2D}a7YG++SK;H#a1A~29AA3Be|{yYkW0u&HcN+mv} z_QB)vNwraT0g5CDByFmqQiR2ehKR*5^q>j^9(?dYOi-Sev(A}}O^l;VevP@k37UcZxM=x9QrA!pN_2Pf$af;T#m0>wnE60Da+1L z6uLUeuolp7w4~T<+wJi1$`uR{>L4j-dX!?g(;(@gfK6$IkzfDdaH4BdXB9SCJisv+ z)OnnxKtVrbB*PjnP`(S*=1R_R1QG?ogC)0X3WmF0OBBV%jX7f^e-Qb8k%;B#Jm zI`AO|d$L`DHXP#M1{l*c!ZZ-mb^ zAx%Omthv!x$H&JpFwpPX8cst|JjtQI%V4ICG3rt`m8x4!a!;o%;uBd{T5pc7_oM&y zxR;oi^>MG}6G*{>fzb0~!;Q!o1H&}t?hw(j#)RPpnT{rXQt3?7_KhW#Lrp+?#RQ$P zF-!>yr52u-W6om`5hCPct{iENkLlK0unV{c6QrfliU!<-J#OkHy!zFzVh#8d?89)w zHt-N}PAMORYJ!IF4a`1%(ZAYQLmExa%|Sak4aT5vVN5 zj4|L_73emKL$EetZNzc|1O3il`Py!{z;**i+s{Bl@(MiFFvde4gWCZHaunhCWWUy|Sq-0bH3m^S9g>C$ zbQMg-B%~;*0;=j>v9Jo(vm8SNYdr>@0gv2E%Fy~3 zU-bzYU4P?Wzs)%VCQ1=BH{5PeE|*?`+3nC-Vf)h?#z>Q2JSXgj+(G47eySU6D zxB|bFp9v)Cdc}tG=>R7W%sX&xfyZ}RW6E-wxX~(AoiPTMFeZjE1~J!17F>Er0e%uW z%;=&FjSbMOsshG+_r4a)0$Pm=#;nI^dJE{LGx7B8y_OCOxI16VGeOvVLbr4X0i93G zU8BK`IL9aWj-KwRTt6vNtCw)_!3Sb^cnCv$!VCf*D_1@YIp@3Yz8kmS{x$UXS=2J~ zQfHu}|NKwROpcFlc-&L>ZoBS;mG|F^O?ZSJHEO6#jAC@nD*XA+e?qkeR2czq9|W`5 z?WsHAWrw{8$DME#Uh&F9ao|Dw;n2elVc(??tq0)PV_%KqhyxFJ9-g=V0XXWYqp+Mo zf!Z`;zZpyz!#$6lG^9crtDgSHD-pKeetR7G%ER&Wr|phCpS=g3f8YT)_@L*3{tNV5 z4vd=^#6=u$Oy?KD^Tb`7X#~lj8tzj45wCm&_TBe6cxi{$)<6zd_6g`w!&(D|jPyswp8m|;@xtdHgo6({0MDn*U;N@1;d%S*@8rlC za1?0pNk5{Ouyg{A=6EWKXsCtm4c#L`5_CjR9mIj-mou?8fJeKK1^RP9jj!7dJn$gA z>}7}Hr7wO7?fg9K$1&`Gz`h(Snexi#^VHEI;zV-ExSvZZ7K^B`t;EUNa?34o zkV6l_Auo9;4tm~!IO^~tkoPRgl^8zhc#wjI)&&F0I_FvAsPpu~5`?Y z<@&5+aA4TIdiusUzJUR*X$2-lO*bq;E*b?dk`rk#uGf?7YaPSUd}K)s?W?txt?QQ8 znweUkne?fRy_$JiAbTIplU1*KY60#YCe3$Cbu$Rv+In?UEnrO3oODjEwKH{<`qE|* zyNzFgL!(x~)?00X(@uXA){Lxxu_5~Ui|z??jPLhvy6Gl5Z1n?*0nkThrILad`U>zZ z3-UgY^MI%Bx*Ilo%2w|5qpw(ipYyTF=9}WPpZzrMy6Z0Yw5`7Ml{n{&lX2bkm*dhe zU4T!0^250GmTPhAO;@6?V4X9~b2uM(&-wVm=Rb=tUhp~Ge#6zc;M1SLu}2*4bZ0YN zNd&DC!7$np^jBl$kc(98&_iE>3orZvzV@|S@%69Xim!g{7JTG`A9mv@QfIxMpg-p6 zfi#k43F0_PGW?d)m#n3HMRCzZ7vYwhZp8K1UWM;{^Q*Y=`fIV(mYciZKq+vn`pc;e zKKbW@9DD{h{rv;vK%3=(B?AG@d;7V#@~X>m+ikbumYc7~moB;xC%ooWpg#n=LB7yh zAGutC^I#le%hU*fX8;z#B4EI=N63EUP~&C=-+a)e0D0@-LuZM@%{<8=CFG(y9; zr8FZ=uW@b`uyZ5tQ9pJT*vO_zUck8?ZLLCT`A$1@mLur(O|4$#(`p?LKYSlfKKUdD zBL!@>*)kqw=eUvAv1Ivj{N^{m!B2kjOH7P6+^d>;qt4e05sa~kqoGLp6A0UFw+-I$ zj&m`*Xb|H(CDG5T=oQY|wQF$ftB=Ls?*5x|f)#qHi2XdOHJI~B-w&T>=^?$c9D9vV z&JB9%JliZa9PIByxfVGmswZi7Wi7wSCuRjVM?O94q=R6cOu}jxD0$Y_R~_X501yC4 zL_t)7tet*Q1AIdE-OnBvBp*3tTwW4_MUI`qxS&q>hn^)rGC0zm!y`Wb+L&-K(xQ%RG;(kbS0 zIo7scI+03i+(`;`Q(3yXzAQ+8ChiLPtyd{JelO+>1_~aEjKruCgP#~f!v)Axu0Jy| zPbmUAVwtc#XAy%kpZe$6p;m6t$s6=B^2vKZo)IJ;GTa%hi8(WJvyx{~4E?G?d@@{?x1_rp!eEj$C z{y+TeXTL%r4~&%~*KWB^JdWQpmO&8**}?V6Sab)iT?a-R>L$vxZ5$TK4ES-L?ajvq zn4nnRCc`&x% zCqJ+_<&-z!{PW+1z5*R9o!c-2l)=G4Jp8~zIQmsb#wH^Y`@^r>WUp~jv4C{gm`d8`&cn}PX@tF5u>1{0xTweo6Yni70U4aSJ zbA6ls9Q4Jmtc=!^rTuJkGnO;g>4gQ{_|zVdfsv=@xb(9Sa@@ni!|3lXILEeR$r9*S zvGtoN5t%DUNdpX;3zm+LZ!|b=GUX*!jI}`3VJJw!OGMsmYF*MtwjeujI1Z4Pm){_R zIBr0C#3YDyj?S`SUUJ05^VAE;s5o%R@n{&?kMWV?SL11!Xhqcs>oCT+;6OAU^#WP2 zE9b$u6P<#B8&*hFE)T@iMboWQqC%m-fF#6hKZZ6Jt))y47EDx}6Wp+yJ!C6khwZj^ zYvA-V&TxT<&wCi z!h8j5{R%0cSU=>-g8tv2>4Osz@Ji)d@-LI_B?i9V+^{{~EVm-R`x=d$* z6#$p?bgk=CuPGANr|*-mPs9y1;wG$3wfpEI9?KVy<8ghXQN;vLHRN30_=c0{bgJm< zD`3guC1~(Szep$Z%U}MAuV4P|9GiYtpx9UBW}b%}elFm~?gJAHPOJeP0PvPm-i+^m z|GVzzKPD!|FgiAZ#fz43^RMEc-u*tD^Y-^*Y^;K!=V73K7zG9v4SLaHKET9ynLK=0 zI@5H+BU=}=r2CuYpgh7*pa%nEjB}!*2S1`y5Tdf6vH-(IUUL2}OW!G85uLmoJLt?K zHb!*zI?^Xw_al!A!eZ8|Jx`nI#K0K!B(vtFUr!wy8^Zttu*FN4Vql0*j4}JBqF3^jCi_$EG3`()n-^HsWJ7FK{U1$Y|31byTPa`7)QB0hn8sv>eU7c ztO*DOpwc0v9awZ%M1hj0*K*<`IVwxOv!$crmnxaauQPF1-@pJYJ6Ydj>Vt`^pVL>H zkY-QX0ko&nC2rPrNz_%pvBUTluY2w5P~~fzfPrsmqJ%!4y47nT{_DT~3xE1Qu4%3T z1y>CQ#37@R(4~zoT%Uwh&Yl~7Tz>49;D#5p5lOHc(O4gqp>6^g-Ve>~4DOSC8i_M4 z+Is{?l=;fiWU6~v_vAUbWFtDyZuT3mj-#K>LzpOy^Ee*Zbomk-e)!9w-y-qoNwkrJ zkIH}j>tArwEw{SAfEv?#2DuyzQ%f<79iZvz&jEV!9vv%VfX61!eCE^eo$q`Td+hNn zEL*w^BWu@U@$eEvk%w!qy#+@d{Tlp#e|`WJ1~a3T82Ox!wR}Z1#FLw9C4wI01Wl-% zkP{+7s%XN4g)xS&guG@A(4uYD7^V6WlyAZnW5~DD&(SkMA3pLcA;!l?(O{&;VPUW@ z2Vd`bxM&*;)YyS?CTU5IMT-_GaTpm{gB2@Qpj4W0WyW#K>FeU&xF zz!*U#fjv@T)JHZ~Z34C>nQ6Zte)vJo8Q1i(A-wPfFN9bLGOz3sQ}B&9-ORunT>Cze zhZpz`fgeoEx7RRt3-o@bWbQUwR}Z@`f?oT2Sil(5*-M)i_X=07yxF;*jzdTBQE0Jf$)>pZCI%&AAp$?o zlkO0;S{1cAP@`9?#lUKwe8{ygW>6uQq2CzUb(^Q)TmSks9Dl+IJP{e<>Bt0DuUdot zz5%}1|2s0GvI?e`ulxMRKOD$3+Wzpx%0A%CgLNmoD5ZOUXmQOoG-G( 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 Gz4;%sxK51# From 6d9fd6beecfd9b8040c596ba4ae115313d955a7f Mon Sep 17 00:00:00 2001 From: nguyenvanbao Date: Thu, 5 Mar 2026 17:07:38 +0700 Subject: [PATCH 13/14] feat: rebrand to H.A.I Learning with updated loader and assets --- app/components/Loader.tsx | 103 ++++++++++++-------- app/layout.tsx | 4 +- public/assets/css/main.css | 38 ++++++-- public/assets/img/logo/Logo_HaiLearning.jpg | Bin 0 -> 60990 bytes 4 files changed, 97 insertions(+), 48 deletions(-) create mode 100644 public/assets/img/logo/Logo_HaiLearning.jpg diff --git a/app/components/Loader.tsx b/app/components/Loader.tsx index bcb074e..a597820 100644 --- a/app/components/Loader.tsx +++ b/app/components/Loader.tsx @@ -3,47 +3,72 @@ import { useEffect, useState } from "react"; export default function Loader() { - const [show, setShow] = useState(true); + const [show, setShow] = useState(true); - useEffect(() => { - const timer = setTimeout(() => setShow(false), 700); - return () => clearTimeout(timer); - }, []); + useEffect(() => { + const timer = setTimeout(() => setShow(false), 1100); + return () => clearTimeout(timer); + }, []); - if (!show) return null; + if (!show) return null; - return ( -

    -
    -
    -
    - V - I - S - A - W - A - Y -
    -

    Loading

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    + return ( +
    +
    +
    +
    + + H + + + A + + + I + + + L + + + E + + + A + + + R + + + N + + + I + + + N + + + G +
    - ); +

    Loading

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + ); } - diff --git a/app/layout.tsx b/app/layout.tsx index 5027846..547fd3f 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -9,8 +9,8 @@ import MouseCursor from "./components/MouseCursor"; import Script from "next/script"; export const metadata: Metadata = { - title: "Visaway – Immigration & Visa Consulting HTML Template", - description: "Visaway – Immigration & Visa Consulting HTML Template", + title: "H.A.I Learning", + description: "H.A.I Learning", }; export default function RootLayout({ diff --git a/public/assets/css/main.css b/public/assets/css/main.css index 4b79e7d..cd1df00 100644 --- a/public/assets/css/main.css +++ b/public/assets/css/main.css @@ -7264,43 +7264,67 @@ html.lenis body { .animation-preloader .txt-loading .letters-loading:nth-child(2):before { - animation-delay: 0.2s; + animation-delay: 0.1s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(3):before { - animation-delay: 0.4s; + animation-delay: 0.2s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(4):before { - animation-delay: 0.6s; + animation-delay: 0.3s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(5):before { - animation-delay: 0.8s; + animation-delay: 0.4s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(6):before { - animation-delay: 1s; + animation-delay: 0.5s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(7):before { - animation-delay: 1.2s; + animation-delay: 0.6s; } .preloader .animation-preloader .txt-loading .letters-loading:nth-child(8):before { - animation-delay: 1.4s; + animation-delay: 0.7s; +} +.preloader + .animation-preloader + .txt-loading + .letters-loading:nth-child(8):before { + animation-delay: 0.8s; +} +.preloader + .animation-preloader + .txt-loading + .letters-loading:nth-child(9):before { + animation-delay: 0.9s; +} +.preloader + .animation-preloader + .txt-loading + .letters-loading:nth-child(10):before { + animation-delay: 1s; +} +.preloader + .animation-preloader + .txt-loading + .letters-loading:nth-child(11):before { + animation-delay: 1.1s; } .preloader .animation-preloader .txt-loading .letters-loading::before { animation: letters-loading 4s infinite; diff --git a/public/assets/img/logo/Logo_HaiLearning.jpg b/public/assets/img/logo/Logo_HaiLearning.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70141682e8b0f3ad846c77f964fabe955b4a01ef GIT binary patch literal 60990 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

    v*y#lFGazNu?N9VRPv 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 literal 0 HcmV?d00001 From 3245827317305bc2112ec0855c6cd5adfdaf9381 Mon Sep 17 00:00:00 2001 From: nguyenvanbao Date: Fri, 6 Mar 2026 10:00:04 +0700 Subject: [PATCH 14/14] chore: update dependencies including axios and babel packages - Add axios ^1.13.4 as a new dependency - Update @babel/code-frame from 7.28.6 to 7.29.0 - Update @babel/compat-data from 7.28.6 to 7.29.0 - Update @babel/core from 7.28.6 to 7.29.0 - Update @babel/generator from 7.28.6 to 7.29.1 - Update @babel/parser from 7.28.6 to 7.29.0 - Update @babel/traverse from 7.28.6 to 7.29.0 - Update @babel/types from 7.28.6 to 7.29.0 - Update @eslint/eslintrc from 3.3.3 to 3.3.4 - Update @eslint/js from 9.39.2 to 9.39.3 - Update ajv dependency constraint in @eslint/eslintrc - Update minimatch dependency constraint in @eslint/eslintrc --- package-lock.json | 792 +++++++++++++++++++++++++++------------------- 1 file changed, 467 insertions(+), 325 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1783bf4..99084f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "hai-learning", "version": "0.1.0", "dependencies": { + "axios": "^1.13.4", "next": "16.1.6", "react": "19.2.3", "react-dom": "19.2.3" @@ -37,9 +38,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", - "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { @@ -52,9 +53,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", - "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -62,21 +63,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", - "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-compilation-targets": "^7.28.6", "@babel/helper-module-transforms": "^7.28.6", "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -93,14 +94,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", - "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -213,13 +214,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -244,18 +245,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", - "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/generator": "^7.28.6", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.6", + "@babel/parser": "^7.29.0", "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -263,9 +264,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -393,20 +394,20 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.4.tgz", + "integrity": "sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "^6.12.4", + "ajv": "^6.14.0", "debug": "^4.3.2", "espree": "^10.0.1", "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", + "minimatch": "^3.1.3", "strip-json-comments": "^3.1.1" }, "engines": { @@ -417,9 +418,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.3.tgz", + "integrity": "sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==", "dev": true, "license": "MIT", "engines": { @@ -506,9 +507,9 @@ } }, "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", "license": "MIT", "optional": true, "engines": { @@ -1243,49 +1244,49 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", - "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.1.tgz", + "integrity": "sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", "jiti": "^2.6.1", - "lightningcss": "1.30.2", + "lightningcss": "1.31.1", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.1.18" + "tailwindcss": "4.2.1" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", - "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.1.tgz", + "integrity": "sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==", "dev": true, "license": "MIT", "engines": { - "node": ">= 10" + "node": ">= 20" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-x64": "4.1.18", - "@tailwindcss/oxide-freebsd-x64": "4.1.18", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-x64-musl": "4.1.18", - "@tailwindcss/oxide-wasm32-wasi": "4.1.18", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + "@tailwindcss/oxide-android-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-arm64": "4.2.1", + "@tailwindcss/oxide-darwin-x64": "4.2.1", + "@tailwindcss/oxide-freebsd-x64": "4.2.1", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.1", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.1", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.1", + "@tailwindcss/oxide-linux-x64-musl": "4.2.1", + "@tailwindcss/oxide-wasm32-wasi": "4.2.1", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.1", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.1" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", - "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.1.tgz", + "integrity": "sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==", "cpu": [ "arm64" ], @@ -1296,13 +1297,13 @@ "android" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", - "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.1.tgz", + "integrity": "sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==", "cpu": [ "arm64" ], @@ -1313,13 +1314,13 @@ "darwin" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", - "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.1.tgz", + "integrity": "sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==", "cpu": [ "x64" ], @@ -1330,13 +1331,13 @@ "darwin" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", - "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.1.tgz", + "integrity": "sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==", "cpu": [ "x64" ], @@ -1347,13 +1348,13 @@ "freebsd" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", - "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.1.tgz", + "integrity": "sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==", "cpu": [ "arm" ], @@ -1364,13 +1365,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", - "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.1.tgz", + "integrity": "sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==", "cpu": [ "arm64" ], @@ -1381,13 +1382,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", - "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.1.tgz", + "integrity": "sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==", "cpu": [ "arm64" ], @@ -1398,13 +1399,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", - "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.1.tgz", + "integrity": "sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==", "cpu": [ "x64" ], @@ -1415,13 +1416,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", - "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.1.tgz", + "integrity": "sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==", "cpu": [ "x64" ], @@ -1432,13 +1433,13 @@ "linux" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", - "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.1.tgz", + "integrity": "sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -1454,21 +1455,21 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", + "@emnapi/core": "^1.8.1", + "@emnapi/runtime": "^1.8.1", "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" + "tslib": "^2.8.1" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", - "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.1.tgz", + "integrity": "sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==", "cpu": [ "arm64" ], @@ -1479,13 +1480,13 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", - "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.1.tgz", + "integrity": "sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==", "cpu": [ "x64" ], @@ -1496,21 +1497,21 @@ "win32" ], "engines": { - "node": ">= 10" + "node": ">= 20" } }, "node_modules/@tailwindcss/postcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", - "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.1.tgz", + "integrity": "sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.18", - "@tailwindcss/oxide": "4.1.18", - "postcss": "^8.4.41", - "tailwindcss": "4.1.18" + "@tailwindcss/node": "4.2.1", + "@tailwindcss/oxide": "4.2.1", + "postcss": "^8.5.6", + "tailwindcss": "4.2.1" } }, "node_modules/@tybys/wasm-util": { @@ -1546,9 +1547,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.30.tgz", - "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==", + "version": "20.19.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.37.tgz", + "integrity": "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==", "dev": true, "license": "MIT", "dependencies": { @@ -1556,9 +1557,9 @@ } }, "node_modules/@types/react": { - "version": "19.2.10", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz", - "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==", + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "dev": true, "license": "MIT", "dependencies": { @@ -1576,17 +1577,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", - "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz", + "integrity": "sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/type-utils": "8.56.1", + "@typescript-eslint/utils": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" @@ -1599,8 +1600,8 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.54.0", - "eslint": "^8.57.0 || ^9.0.0", + "@typescript-eslint/parser": "^8.56.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, @@ -1615,16 +1616,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", - "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", + "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3" }, "engines": { @@ -1635,19 +1636,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", - "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", + "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", + "@typescript-eslint/tsconfig-utils": "^8.56.1", + "@typescript-eslint/types": "^8.56.1", "debug": "^4.4.3" }, "engines": { @@ -1662,14 +1663,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", - "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", + "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1680,9 +1681,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", - "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", + "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", "dev": true, "license": "MIT", "engines": { @@ -1697,15 +1698,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", - "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz", + "integrity": "sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/utils": "8.56.1", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, @@ -1717,14 +1718,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", - "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", + "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", "dev": true, "license": "MIT", "engines": { @@ -1736,18 +1737,18 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", - "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", + "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", + "@typescript-eslint/project-service": "8.56.1", + "@typescript-eslint/tsconfig-utils": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/visitor-keys": "8.56.1", "debug": "^4.4.3", - "minimatch": "^9.0.5", + "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" @@ -1763,36 +1764,49 @@ "typescript": ">=4.8.4 <6.0.0" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -1803,16 +1817,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", - "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", + "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" + "@typescript-eslint/scope-manager": "8.56.1", + "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1822,19 +1836,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", - "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", + "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" + "@typescript-eslint/types": "8.56.1", + "eslint-visitor-keys": "^5.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1844,6 +1858,19 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", @@ -2114,9 +2141,9 @@ ] }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", "dev": true, "license": "MIT", "bin": { @@ -2137,9 +2164,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -2363,6 +2390,12 @@ "node": ">= 0.4" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -2389,6 +2422,17 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.6.tgz", + "integrity": "sha512-ChTCHMouEe2kn713WHbQGcuYrr6fXTBiu460OTwWrWob16g1bXn4vtz07Ope7ewMozJAnEquLk5lWQWtBig9DQ==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -2407,12 +2451,15 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/brace-expansion": { @@ -2496,7 +2543,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -2534,9 +2580,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001766", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", - "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", + "version": "1.0.30001776", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001776.tgz", + "integrity": "sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw==", "funding": [ { "type": "opencollective", @@ -2596,6 +2642,18 @@ "dev": true, "license": "MIT" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2754,6 +2812,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -2781,7 +2848,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.1", @@ -2793,9 +2859,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.283", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz", - "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "dev": true, "license": "ISC" }, @@ -2807,14 +2873,14 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "version": "5.20.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", + "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", "dev": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "tapable": "^2.3.0" }, "engines": { "node": ">=10.13.0" @@ -2893,7 +2959,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -2903,7 +2968,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -2941,7 +3005,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0" @@ -2954,7 +3017,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", @@ -3021,9 +3083,9 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "version": "9.39.3", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.3.tgz", + "integrity": "sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==", "dev": true, "license": "MIT", "dependencies": { @@ -3033,7 +3095,7 @@ "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", + "@eslint/js": "9.39.3", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -3333,19 +3395,25 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3563,12 +3631,32 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", + "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", "dev": true, "license": "ISC" }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -3585,11 +3673,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3650,7 +3753,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, "license": "MIT", "dependencies": { "call-bind-apply-helpers": "^1.0.2", @@ -3675,7 +3777,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, "license": "MIT", "dependencies": { "dunder-proto": "^1.0.1", @@ -3704,9 +3805,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.1.tgz", - "integrity": "sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==", + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", "dev": true, "license": "MIT", "dependencies": { @@ -3763,7 +3864,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -3835,7 +3935,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -3848,7 +3947,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" @@ -3864,7 +3962,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -4024,9 +4121,9 @@ } }, "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -4527,9 +4624,9 @@ } }, "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", "dev": true, "license": "MPL-2.0", "dependencies": { @@ -4543,23 +4640,23 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" } }, "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", "cpu": [ "arm64" ], @@ -4578,9 +4675,9 @@ } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", "cpu": [ "arm64" ], @@ -4599,9 +4696,9 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", "cpu": [ "x64" ], @@ -4620,9 +4717,9 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", "cpu": [ "x64" ], @@ -4641,9 +4738,9 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", "cpu": [ "arm" ], @@ -4662,9 +4759,9 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", "cpu": [ "arm64" ], @@ -4683,9 +4780,9 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", "cpu": [ "arm64" ], @@ -4704,9 +4801,9 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", "cpu": [ "x64" ], @@ -4725,9 +4822,9 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", "cpu": [ "x64" ], @@ -4746,9 +4843,9 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", "cpu": [ "arm64" ], @@ -4767,9 +4864,9 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", "cpu": [ "x64" ], @@ -4847,7 +4944,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -4877,10 +4973,31 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -5029,10 +5146,29 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", "dev": true, "license": "MIT" }, @@ -5297,9 +5433,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", "dev": true, "funding": [ { @@ -5347,6 +5483,12 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -5692,9 +5834,9 @@ } }, "node_modules/sharp/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "license": "ISC", "optional": true, "bin": { @@ -6019,9 +6161,9 @@ } }, "node_modules/tailwindcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", - "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.1.tgz", + "integrity": "sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==", "dev": true, "license": "MIT" }, @@ -6251,16 +6393,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.54.0.tgz", - "integrity": "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==", + "version": "8.56.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.56.1.tgz", + "integrity": "sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.54.0", - "@typescript-eslint/parser": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0" + "@typescript-eslint/eslint-plugin": "8.56.1", + "@typescript-eslint/parser": "8.56.1", + "@typescript-eslint/typescript-estree": "8.56.1", + "@typescript-eslint/utils": "8.56.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6270,7 +6412,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } },