From 50bece8cdbdb795d03e23694477aaddd648e9ed5 Mon Sep 17 00:00:00 2001 From: "Frederick [Bot]" Date: Thu, 28 May 2026 02:06:56 +0000 Subject: [PATCH 001/185] chore(i18n): update translations via Crowdin --- frontend/src/i18n/lang/nl-NL.json | 272 ++++++++++++++++++++++++++++-- 1 file changed, 260 insertions(+), 12 deletions(-) diff --git a/frontend/src/i18n/lang/nl-NL.json b/frontend/src/i18n/lang/nl-NL.json index 69f3675ee..8b2d349db 100644 --- a/frontend/src/i18n/lang/nl-NL.json +++ b/frontend/src/i18n/lang/nl-NL.json @@ -5,10 +5,36 @@ }, "home": { "welcomeNight": "Goedenacht {username}!", + "welcomeNightOwl": "Hey {username}, nachtuil", + "welcomeNightBurning": "Tot diep in de nacht doorwerken {username}?", + "welcomeNightQuiet": "Stille uurtjes, {username}", + "welcomeNightLate": "Het is laat, {username}", + "welcomeNightMoonlit": "Maanverlichte planning, {username}?", "welcomeMorning": "Goedemorgen {username}!", + "welcomeMorningHey": "Hey {username}, klaar om te gaan?", + "welcomeMorningFresh": "Verse start, {username}", + "welcomeMorningCoffee": "Koffie en taken, {username}?", + "welcomeMorningRise": "Opstaan en plannen, {username}", + "welcomeMorningBack": "Welkom terug, {username}", + "welcomeMondayFresh": "Verse week, {username}", + "welcomeTuesday": "Fijne dinsdag, {username}", + "welcomeWednesdayMid": "Midden van de week alweer, {username}", + "welcomeThursday": "Bijna klaar, {username}", + "welcomeFridayPush": "Vrijdag nog even door, {username}?", + "welcomeSaturday": "Weekendstand, {username}", + "welcomeSundaySession": "Zondagse sessie, {username}?", "welcomeDay": "Hallo {username}!", + "welcomeDayBack": "Weer aan de slag, {username}", + "welcomeDayFocus": "Nu met focus, {username}", + "welcomeDayKeepGoing": "Blijf doorgaan, {username}", + "welcomeDayWhatsNext": "Wat komt er nu, {username}?", + "welcomeDayGood": "Goedemiddag {username}", "welcomeEvening": "Goedenavond {username}!", + "welcomeEveningWind": "Nu tot rust komen, {username}?", "welcomeEveningReturns": "{username} keert terug", + "welcomeEveningWrap": "Tijd om af te ronden, {username}?", + "welcomeEveningOneMore": "Nog één ding, {username}?", + "welcomeEveningStill": "Nog steeds bezig, {username}?", "lastViewed": "Laatst bekeken", "addToHomeScreen": "Voeg deze app toe aan je startscherm voor snellere toegang en verbeterde ervaring.", "goToOverview": "Ga naar overzicht", @@ -54,6 +80,15 @@ "authenticating": "Authenticeren…", "openIdStateError": "Status komt niet overeen, weigert door te gaan!", "openIdGeneralError": "Er was een fout tijdens het authenticeren bij de externe applicatie.", + "openIdTotpRequired": "Je account vereist tweestapsverificatie. Voer je TOTP-code in en log opnieuw in.", + "openIdTotpSubmit": "Doorgaan", + "oauthMissingParams": "Ontbrekende OAuth parameters: {params}", + "oauthRedirectedToApp": "Je bent doorgestuurd naar de app. Je kunt dit tabblad nu sluiten.", + "desktopTryDemo": "Probeer de demo", + "desktopCustomServer": "Aangepaste server-URL", + "desktopCustomServerDescription": "Voer de URL in van je Vikunja server om te beginnen.", + "desktopWaitingForAuth": "Wachten op authenticatie…", + "desktopOAuthError": "Authenticatie mislukt: {error}", "logout": "Uitloggen", "emailInvalid": "Vul een geldig e-mailadres in.", "usernameRequired": "Geef een gebruikersnaam op.", @@ -68,9 +103,23 @@ "alreadyHaveAnAccount": "Heb je al een account?", "remember": "Ingelogd blijven", "registrationDisabled": "Registratie is uitgeschakeld.", - "passwordResetTokenMissing": "Wachtwoord reset token ontbreekt." + "passwordResetTokenMissing": "Wachtwoord reset token ontbreekt.", + "registrationFailed": "Er is een fout opgetreden tijdens de registratie. Controleer je invoer en probeer opnieuw." }, "settings": { + "bots": { + "title": "Bot-gebruikers", + "description": "Bot-gebruikers zijn API-only gebruikers waar jij eigenaar van bent. Ze kunnen worden toegevoegd aan projecten, taken krijgen en authenticeren met API-tokens. Ze kunnen niet interactief inloggen.", + "namePlaceholder": "Mijn Assistent", + "create": "Bot aanmaken", + "enable": "Inschakelen", + "badge": "Bot", + "delete": { + "header": "Verwijder deze bot-gebruiker", + "text1": "Weet je zeker dat je bot-gebruiker \"{username}\" wilt verwijderen?", + "text2": "Dit is onomkeerbaar. Alle API-tokens die bij deze bot horen, worden ingetrokken." + } + }, "title": "Instellingen", "newPasswordTitle": "Je wachtwoord bijwerken", "newPassword": "Nieuw wachtwoord", @@ -96,12 +145,21 @@ "weekStart": "Week begint op", "weekStartSunday": "Zondag", "weekStartMonday": "Maandag", + "weekStartTuesday": "Dinsdag", + "weekStartWednesday": "Woensdag", + "weekStartThursday": "Donderdag", + "weekStartFriday": "Vrijdag", + "weekStartSaturday": "Zaterdag", "language": "Taal", "defaultProject": "Standaardproject", "defaultView": "Standaardweergave", "timezone": "Tijdzone", "overdueTasksRemindersTime": "Tijdstip herinneringsmail voor achterstallige taken", + "quickAddDefaultReminders": "Standaardherinneringen voor Snel Toevoegen", + "quickAddDefaultRemindersDescription": "Deze herinneringen worden automatisch toegevoegd aan elke taak die is gemaakt via Magisch Snel Toevoegen met een vervaldatum.", + "quickAddDefaultRemindersHint": "Voeg herinnering(en) toe ten opzichte van de vervaldatum van de taak. Laat leeg om uit te schakelen.", "filterUsedOnOverview": "Opgeslagen filter toegepast op de overzichtspagina", + "showLastViewed": "Toon laatst bekeken projecten op de overzichtspagina", "minimumPriority": "Minimale zichtbare taakprioriteit", "dateDisplay": "Datumweergave", "dateDisplayOptions": { @@ -125,7 +183,13 @@ "taskAndNotifications": "Projecten & taken", "privacy": "Privacy", "localization": "Lokalisatie", - "appearance": "Uiterlijk & gedrag" + "appearance": "Uiterlijk & gedrag", + "desktop": "Desktop app" + }, + "desktop": { + "quickEntryShortcut": "Sneltoets voor snelle invoer", + "shortcutRecorderPlaceholder": "Klik om sneltoets in te stellen", + "shortcutRecorderRecording": "Druk op een toetscombinatie…" }, "totp": { "title": "Tweestapsverificatie", @@ -135,15 +199,32 @@ "scanQR": "Als alternatief kan je ook deze QR code scannen:", "passcode": "Je toegangscode", "passcodePlaceholder": "Een code gegenereerd door je TOTP-app", + "confirmNotice": "Na het inschakelen van tweestapsverificatie, wordt je uitgelogd uit alle sessies en moet je opnieuw inloggen.", "setupSuccess": "Je hebt tweestapsverificatie succesvol ingesteld!", "enterPassword": "Voer alsjeblieft je wachtwoord in", "disable": "Tweestapsverificatie uitschakelen", + "confirmSuccess": "Je hebt tweestapsverificatie succesvol ingeschakeld!", "disableSuccess": "Uitschakelen tweestapsverificatie is geslaagd." }, "caldav": { "title": "CalDAV", + "howTo": "Je kunt Vikunja verbinden met CalDAV-clients om taken te bekijken en beheren vanuit verschillende clients. Voer deze url in bij je client:", "more": "Meer informatie over CalDAV in Vikunja", - "tokens": "CalDAV tokens" + "tokens": "CalDAV tokens", + "tokensHowTo": "Voor CalDAV-authenticatie gebruik je jouw normale accountwachtwoord of een speciaal CalDAV-token.", + "createToken": "Maak een CalDAV-token", + "tokenCreated": "Hier is je nieuwe token: {token}", + "wontSeeItAgain": "Schrijf het op of bewaar het veilig - je kunt het hierna niet meer inzien.", + "mustUseToken": "Je moet een CalDAV-token aanmaken om CalDAV te gebruiken met een externe client. Gebruik het token in het wachtwoordveld van uw client.", + "usernameIs": "Je gebruikersnaam voor CalDAV is: {0}", + "apiTokenHint": "Je kunt ook een API-token gebruiken met CalDAV-permissie. Maak er een aan in {link}." + }, + "feeds": { + "title": "Atom Feed", + "howTo": "Je kunt je abonneren op je Vikunja meldingen met elke Atom-compatibele feedlezer. Gebruik deze URL:", + "usernameIs": "Je gebruikersnaam voor de feed is: {0}", + "apiTokenHint": "Authenticeer met een API-token die {scope} permissies heeft. Maak er een aan in {link}.", + "tokenTitle": "Atom feed" }, "avatar": { "title": "Avatar", @@ -174,6 +255,10 @@ "backgroundBrightness": { "title": "Achtergrond helderheid" }, + "webhooks": { + "title": "Webhook notificaties", + "description": "Configureer webhook-URL's om POST aanvragen te ontvangen wanneer herinneringen of achterstallige gebeurtenissen worden geactiveerd. Deze webhooks ontvangen gebeurtenissen van al je projecten." + }, "apiTokens": { "title": "API tokens", "general": "Met API tokens kun je Vikunja's API gebruiken zonder gebruikersnaam en wachtwoord.", @@ -189,6 +274,13 @@ "expired": "Dit token is verlopen {ago}.", "tokenCreatedSuccess": "Hier is je API-token: {token}", "tokenCreatedNotSeeAgain": "Bewaar het op een veilige locatie, het wordt slechts één keer getoond!", + "presets": { + "title": "Snelle voorkeursinstellingen", + "readOnly": "Alleen-lezen", + "tasks": "Taakbeheer", + "projects": "Projectmanagement", + "fullAccess": "Volledige toegang" + }, "delete": { "header": "Dit token verwijderen", "text1": "Weet je zeker dat je token \"{token}\" wilt verwijderen?", @@ -200,6 +292,20 @@ "expiresAt": "Verloopt op", "permissions": "Machtigingen" } + }, + "sessions": { + "title": "Sessies", + "description": "Dit zijn alle apparaten die momenteel zijn ingelogd op je account. Je kunt elke sessie intrekken om dat apparaat uit te loggen. Het kan tot 10 minuten duren voordat de intrekking volledig van kracht is.", + "deviceInfo": "Apparaat", + "ipAddress": "IP-adres", + "lastActive": "Laatst actief", + "current": "Huidige sessie", + "delete": { + "header": "Sessie intrekken", + "text": "Weet je zeker dat je deze sessie wilt intrekken? Het apparaat wordt uitgelogd. Het kan tot 10 minuten duren voordat de sessie volledig is verlopen." + }, + "deleteSuccess": "De sessie is ingetrokken. Het kan tot 10 minuten duren voordat de sessie volledig is verlopen.", + "noOtherSessions": "Geen andere actieve sessies." } }, "deletion": { @@ -354,7 +460,8 @@ "addPlaceholder": "Taak toevoegen…", "empty": "Dit project is momenteel leeg.", "newTaskCta": "Taak aanmaken.", - "editTask": "Taak bewerken" + "editTask": "Taak bewerken", + "sort": "Sorteren" }, "gantt": { "title": "Gantt", @@ -380,7 +487,10 @@ "taskAriaLabel": "Taak: {task}", "taskAriaLabelById": "Taak {id}", "partialDatesStart": "Alleen startdatum (open-einde)", - "partialDatesEnd": "Alleen einddatum (open-einde)" + "partialDatesEnd": "Alleen einddatum (open-einde)", + "expandGroup": "Groep uitklappen: {task}", + "collapseGroup": "Groep inklappen: {task}", + "toggleRelationArrows": "Relatiepijlen wisselen" }, "table": { "title": "Tabel", @@ -410,7 +520,8 @@ "bucketTitleSavedSuccess": "De categorietitel is succesvol opgeslagen.", "bucketLimitSavedSuccess": "De categorielimiet is succesvol opgeslagen.", "collapse": "Deze categorie inklappen", - "bucketLimitReached": "U heeft de categorielimiet bereikt. Verwijder taken of verhoog de limiet om nieuwe taken toe te voegen." + "bucketLimitReached": "U heeft de categorielimiet bereikt. Verwijder taken of verhoog de limiet om nieuwe taken toe te voegen.", + "bucketOptions": "Categorie-opties" }, "pseudo": { "favorites": { @@ -533,6 +644,29 @@ } } }, + "sorting": { + "manually": "Handmatig", + "apply": "Sortering toepassen", + "description": "Kies hoe taken in deze lijst worden gesorteerd. Bij handmatig sorteren kun je taken verslepen om ze anders te ordenen.", + "options": { + "titleAsc": "Titel (A–Z)", + "titleDesc": "Titel (Z–A)", + "priorityDesc": "Prioriteit (hoogste eerst)", + "priorityAsc": "Prioriteit (laagste eerst)", + "dueDateAsc": "Vervaldatum (vroegste eerst)", + "dueDateDesc": "Vervaldatum (laatste eerst)", + "startDateAsc": "Startdatum (vroegste eerst)", + "startDateDesc": "Startdatum (laatste eerst)", + "endDateAsc": "Einddatum (vroegste eerst)", + "endDateDesc": "Einddatum (laatste eerst)", + "percentDoneDesc": "% gereed (meest gereed eerst)", + "percentDoneAsc": "% gereed (minst gereed eerst)", + "createdDesc": "Aangemaakt (nieuwste eerst)", + "createdAsc": "Aangemaakt (oudste eerst)", + "updatedDesc": "Bijgewerkt (nieuwste eerst)", + "updatedAsc": "Bijgewerkt (oudste eerst)" + } + }, "migrate": { "title": "Importeer vanuit een andere dienst", "titleService": "Importeer je gegevens van {name} naar Vikunja", @@ -547,7 +681,30 @@ "importUpload": "Om gegevens van {name} te importeren in Vikunja, klik je op de knop hieronder om een bestand te kiezen.", "upload": "Bestand uploaden", "migrationStartedWillReciveEmail": "Vikunja gaat nu je lijsten/projecten, taken, notities, herinneringen en bestanden van {service} importeren. Omdat dit een tijdje zal duren, sturen we je een e-mail zodra het klaar is. Je kunt dit venster nu sluiten.", - "migrationInProgress": "Er is momenteel een migratie aan de gang. Wacht tot dit voltooid is." + "migrationInProgress": "Er is momenteel een migratie aan de gang. Wacht tot dit voltooid is.", + "csv": { + "description": "Importeer taken uit een CSV-bestand met aangepaste kolomtoewijzing.", + "uploadDescription": "Kies een CSV-bestand om te importeren. Het bestand moet taakgegevens bevatten met kolomkoppen in de eerste rij.", + "selectFile": "Kies CSV-bestand", + "columnMappingDescription": "Wijs elke kolom in je CSV-bestand toe aan een taakattribuut. Vikunja heeft de meest waarschijnlijke toewijzingen automatisch gedetecteerd. Het voorbeeld hieronder wordt automatisch bijgewerkt wanneer je de instellingen aanpast.", + "parsingOptions": "Opties voor verwerking", + "delimiter": "Scheidingsteken", + "dateFormat": "Datumnotatie", + "skipRows": "Rijen overslaan", + "mapColumns": "Kolommen toewijzen", + "example": "bijv.", + "preview": "Voorbeeld", + "previewDescription": "Toont de eerste 5 van {count} taken die zullen worden geïmporteerd.", + "import": "Taken importeren", + "untitled": "Naamloze taak", + "ignore": "Negeren", + "delimiters": { + "comma": "Komma (,)", + "semicolon": "Puntkomma (;)", + "tab": "Tab", + "pipe": "Pijp (|)" + } + } }, "label": { "title": "Labels", @@ -587,7 +744,9 @@ "upcoming": "Aankomend", "settings": "Instellingen", "imprint": "Imprint", - "privacy": "Privacybeleid" + "privacy": "Privacybeleid", + "closeSidebar": "Zijbalk sluiten", + "home": "Vikunja home" }, "misc": { "loading": "Bezig met laden…", @@ -619,9 +778,15 @@ "createdBy": "Aangemaakt door {0}", "actions": "Acties", "cannotBeUndone": "Dit kan niet ongedaan gemaakt worden!", - "avatarOfUser": "{user}'s profielfoto" + "avatarOfUser": "{user}'s profielfoto", + "closeBanner": "Banner sluiten", + "closeDialog": "Dialoogvenster sluiten", + "closeQuickActions": "Snelle acties sluiten", + "skipToContent": "Direct naar hoofdinhoud", + "sortBy": "Sorteren op" }, "input": { + "projectColor": "Projectkleur", "resetColor": "Kleur resetten", "datepicker": { "today": "Vandaag", @@ -681,6 +846,9 @@ "toggleHeaderCell": "Celkopteksten in-/uitschakelen", "mergeOrSplit": "Samenvoegen of splitsen", "fixTables": "Tabellen repareren" + }, + "emoji": { + "empty": "Geen emoji gevonden" } }, "multiselect": { @@ -694,6 +862,7 @@ "date": "Datum", "ranges": { "today": "Vandaag", + "tomorrow": "Morgen", "thisWeek": "Deze week", "restOfThisWeek": "De rest van deze week", "nextWeek": "Volgende week", @@ -767,6 +936,7 @@ "addReminder": "Herinnering toevoegen…", "doneSuccess": "De taak is succesvol aangemerkt als voltooid.", "undoneSuccess": "Het voltooien van de taak is succesvol teruggedraaid.", + "readOnlyCheckbox": "Je hebt alleen leestoegang tot deze taak en kunt deze niet als voltooid markeren.", "movedToProject": "De taak werd verplaatst naar {project}.", "undo": "Ongedaan maken", "checklistTotal": "{checked} van {total} taken", @@ -779,7 +949,8 @@ "select": "Selecteer datumbereik", "noTasks": "Niets te doen - fijne dag!", "filterByLabel": "Gefilterd op label {label}", - "clearLabelFilter": "Wis labelfilter" + "clearLabelFilter": "Wis labelfilter", + "savedFilterIgnored": "Je opgeslagen startpagina-filter wordt niet toegepast als je taken bekijkt per label." }, "detail": { "chooseDueDate": "Klik hier om een vervaldatum in te stellen", @@ -793,9 +964,15 @@ "doneAt": "{0} voltooid", "updateSuccess": "De taak is succesvol opgeslagen.", "deleteSuccess": "De taak is succesvol verwijderd.", + "duplicateSuccess": "De taak is succesvol gedupliceerd.", + "noBucket": "Geen categorie", + "bucketChangedSuccess": "De taakcategorie is succesvol gewijzigd.", "belongsToProject": "Deze taak hoort bij project '{project}'", "back": "Terug naar project", "due": "Vervalt {at}", + "closeTaskDetail": "Sluit taakdetails", + "title": "Taakdetails", + "markAsDone": "Markeer '{task}' als gereed", "scrollToBottom": "Scroll naar beneden", "organization": "Organisatie", "management": "Beheer", @@ -818,6 +995,7 @@ "attachments": "Bijlagen toevoegen", "relatedTasks": "Relatie toevoegen", "moveProject": "Verplaatsen", + "duplicate": "Dupliceer", "color": "Kleur instellen", "delete": "Verwijder", "favorite": "Toevoegen aan favorieten", @@ -840,6 +1018,8 @@ "relatedTasks": "Verwante Taken", "reminders": "Herinneringen", "repeat": "Herhalen", + "comment": "{count} reactie | {count} reacties", + "commentCount": "Aantal reacties", "startDate": "Begindatum", "title": "Titel", "updated": "Bijgewerkt", @@ -875,6 +1055,7 @@ }, "comment": { "title": "Reacties", + "loading": "Reacties laden…", "edited": "bewerkt op {date}", "creating": "Opmerking maken…", "placeholder": "Voeg je reactie toe, druk op '/' voor meer opties…", @@ -885,7 +1066,10 @@ "addedSuccess": "De reactie is succesvol toegevoegd.", "permalink": "Kopieer permalink naar deze reactie", "sortNewestFirst": "Nieuwste eerst", - "sortOldestFirst": "Oudste eerst" + "sortOldestFirst": "Oudste eerst", + "reply": "Beantwoorden", + "jumpToOriginal": "Ga naar originele reactie", + "deletedComment": "verwijderde reactie" }, "mention": { "noUsersFound": "Geen gebruikers gevonden" @@ -977,6 +1161,7 @@ }, "quickAddMagic": { "hint": "Gebruik magische prefixes om vervaldata, toegewezen personen en andere taakeigenschappen te definiëren.", + "quickEntryHint": "Gebruik magische voorvoegsels voor datums, labels en meer. Open de Vikunja hoofd-app en bekijk de tooltip op de taakinvoer voor meer details.", "title": "Snel-toevoegen magie", "intro": "Bij het aanmaken van een taak kun je speciale trefwoorden gebruiken om direct kenmerken toe te voegen aan de nieuwe taak. Hiermee kun je veelgebruikte kenmerken veel sneller toevoegen aan taken.", "multiple": "Je kan dit meerdere keren gebruiken.", @@ -1149,9 +1334,11 @@ "none": "Je hebt geen meldingen. Fijne dag!", "explainer": "Hier verschijnen meldingen wanneer acties, projecten of taken gebeuren waarop u bent geabonneerd.", "markAllRead": "Markeer alle meldingen als gelezen", - "markAllReadSuccess": "Alle meldingen zijn als gelezen gemarkeerd." + "markAllReadSuccess": "Alle meldingen zijn als gelezen gemarkeerd.", + "subscribeFeed": "Abonneren op meldingen via Atom feed" }, "quickActions": { + "notLoggedIn": "Log eerst in op het Vikunja hoofdscherm.", "commands": "Opdrachten", "placeholder": "Typ een opdracht of zoek…", "hint": "Je kunt {project} gebruiken om het zoeken te beperken tot een project. Combineer {project} of {label} (labels) met een zoekopdracht om te zoeken naar een taak met deze labels of op dat project. Gebruik {assignee} om alleen te zoeken naar teams.", @@ -1284,5 +1471,66 @@ "weeks": "week|weken", "years": "jaar|jaren" } + }, + "admin": { + "title": "Beheer", + "labels": { + "users": "Gebruikers", + "tasks": "Taken" + }, + "overview": { + "shares": "Deelbare koppelingen", + "linkSharesShort": "link", + "teamSharesShort": "team", + "userSharesShort": "gebruiker", + "version": "Versie", + "license": "Licentie", + "licenseValidUntil": "Geldig tot", + "licenseExpiresIn": "over {days} dagen", + "licenseLastVerified": "Laatst geverifieerd", + "licenseNever": "nooit", + "licenseLastCheckFailed": "laatste controle mislukt", + "licenseFeatures": "Functionaliteiten", + "licenseInstance": "Instance ID", + "licenseManage": "Beheren" + }, + "searchUsersPlaceholder": "Zoek op gebruikersnaam of e-mail…", + "users": { + "status": "Status", + "details": "Details", + "detailsTitle": "Gebruiker: {username}", + "issuer": "Uitgever", + "issuerLocal": "Lokaal", + "issuerUrl": "Uitgever URL", + "subject": "Onderwerp", + "statusActive": "Actief", + "statusEmailConfirmation": "E-mailbevestiging vereist", + "statusDisabled": "Uitgeschakeld", + "statusLocked": "Account vergrendeld", + "isAdminLabel": "Beheerder", + "addUser": "Gebruiker toevoegen", + "createTitle": "Gebruiker aanmaken", + "nameLabel": "Naam", + "skipEmailConfirm": "E-mailbevestiging overslaan", + "createSubmit": "Gebruiker aanmaken", + "saveButton": "Wijzigingen opslaan", + "createdSuccess": "Gebruiker {username} aangemaakt.", + "updatedSuccess": "Gebruiker {username} bijgewerkt.", + "deletedSuccess": "Gebruiker {username} verwijderd.", + "deleteScheduledSuccess": "Gebruiker {username} ontvangt een bevestigingsmail om de verwijdering te plannen.", + "confirmDeleteTitle": "Gebruiker verwijderen?", + "confirmDeleteIntro": "Hoe moet gebruiker {username} worden verwijderd?", + "deleteModeScheduled": "Verwijdering plannen", + "deleteModeScheduledHelp": "Bij 'verwijdering plannen' ontvangt de gebruiker een bevestigingsmail, lijkend op een zelfgestarte accountverwijdering.", + "deleteModeNow": "Nu verwijderen", + "deleteModeNowHelp": "'Nu verwijderen' verwijdert de gebruiker en hun data onmiddellijk. Dit kan niet ongedaan worden gemaakt." + }, + "projects": { + "ownerLabel": "Eigenaar", + "reassignOwner": "Nieuwe eigenaar toewijzen", + "reassignTitle": "Opnieuw toewijzen {title}", + "reassignedSuccess": "Projecteigenaar opnieuw toegewezen.", + "newOwnerLabel": "Nieuwe eigenaar" + } } } \ No newline at end of file From 069685f2a7423fc579f0a897ae6c7ef448b69b22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lapeyre?= Date: Thu, 28 May 2026 08:14:52 +0200 Subject: [PATCH 002/185] fix(caldav): return 404 when trying to access a project that cannot exist with CalDAV (#2796) --- pkg/routes/caldav/handler.go | 3 ++- pkg/webtests/caldav_test.go | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/routes/caldav/handler.go b/pkg/routes/caldav/handler.go index 395313a5e..7338b3961 100644 --- a/pkg/routes/caldav/handler.go +++ b/pkg/routes/caldav/handler.go @@ -185,7 +185,8 @@ func getProjectFromParam(c *echo.Context) (project *models.ProjectWithTasksAndBu intParam, err := strconv.ParseInt(param, 10, 64) if err != nil { - return nil, err + // The project ID given is not an integer, it cannot exist + return nil, models.ErrProjectDoesNotExist{} } if intParam == models.FavoritesPseudoProjectID { diff --git a/pkg/webtests/caldav_test.go b/pkg/webtests/caldav_test.go index 900772d0c..2cae0128e 100644 --- a/pkg/webtests/caldav_test.go +++ b/pkg/webtests/caldav_test.go @@ -44,6 +44,12 @@ func TestCaldav(t *testing.T) { assert.Contains(t, rec.Body.String(), "END:VTODO") assert.Contains(t, rec.Body.String(), "END:VCALENDAR") }) + t.Run("Returns 404 for non-integer project param", func(t *testing.T) { + e, _ := setupTestEnv() + rec, err := newCaldavTestRequestWithUser(t, e, http.MethodGet, caldav.ProjectHandler, &testuser15, ``, nil, map[string]string{"project": "E6948AA3-86CC-40A1-874D-3B0A02FAA781"}) + require.NoError(t, err) + assert.Equal(t, http.StatusNotFound, rec.Result().StatusCode) + }) t.Run("Import VTODO", func(t *testing.T) { const vtodo = `BEGIN:VCALENDAR VERSION:2.0 From f7921238e6a0b78a6eb0b61782679500f07ba150 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 15:53:47 +0000 Subject: [PATCH 003/185] chore(deps): bump axios from 1.15.2 to 1.16.0 in /frontend Bumps [axios](https://github.com/axios/axios) from 1.15.2 to 1.16.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.15.2...v1.16.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.16.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- frontend/package.json | 2 +- frontend/pnpm-lock.yaml | 109 +++++++++++++++++++++++++--------------- 2 files changed, 70 insertions(+), 41 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 6210f46cd..bd2bac561 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -77,7 +77,7 @@ "@tiptap/vue-3": "3.17.0", "@vueuse/core": "14.1.0", "@vueuse/router": "14.1.0", - "axios": "1.15.2", + "axios": "1.16.0", "blurhash": "2.0.5", "bulma-css-variables": "0.9.33", "change-case": "5.4.4", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 2e75d6a5a..518753a69 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -97,8 +97,8 @@ importers: specifier: 14.1.0 version: 14.1.0(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) axios: - specifier: 1.15.2 - version: 1.15.2 + specifier: 1.16.0 + version: 1.16.0 blurhash: specifier: 2.0.5 version: 2.0.5 @@ -2139,36 +2139,42 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -2328,66 +2334,79 @@ packages: resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.60.4': resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.60.4': resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.60.4': resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.60.4': resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.60.4': resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.60.4': resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.60.4': resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.60.4': resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.60.4': resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.60.4': resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.60.4': resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.60.4': resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.60.4': resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} @@ -2590,24 +2609,28 @@ packages: engines: {node: '>= 20'} cpu: [arm64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.3.0': resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] + libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.3.0': resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} engines: {node: '>= 20'} cpu: [x64] os: [linux] + libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.3.0': resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} engines: {node: '>= 20'} cpu: [x64] os: [linux] + libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.3.0': resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} @@ -3369,11 +3392,8 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.15.2: - resolution: {integrity: sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==} - - axios@1.16.1: - resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} + axios@1.16.0: + resolution: {integrity: sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -4002,6 +4022,10 @@ packages: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} @@ -4460,8 +4484,8 @@ packages: resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} engines: {node: '>=20'} - hasown@2.0.3: - resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + hasown@2.0.4: + resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} hast-util-to-html@9.0.5: @@ -4960,24 +4984,28 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} @@ -5982,48 +6010,56 @@ packages: engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] + libc: glibc sass-embedded-linux-arm@1.100.0: resolution: {integrity: sha512-9Ul7O1eKrc5YlhwWjkp8tZPSe3UEwSZ1uwUZOQom1HL0pRlBA6F/IlGZYFTLwnHMIP1fc77MMNaBRfc05mKMpw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] + libc: glibc sass-embedded-linux-musl-arm64@1.100.0: resolution: {integrity: sha512-XpACJB2KjSLjf2e9uuvGVdOURsoNrFqgRiihhXyUHK9W0t3LIHb7z5MA/7XGPIT9bWSOO2zyw+rH/FHtDV/Yrg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] + libc: musl sass-embedded-linux-musl-arm@1.100.0: resolution: {integrity: sha512-sl0JgbGloPyJg66XXx5UDSDScZ0oU85DpMQU4JU/sCUCFj1Z8zZ69SJWKTCNE4/jwnce7WI2zPCV5AG+RHOZJw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] + libc: musl sass-embedded-linux-musl-riscv64@1.100.0: resolution: {integrity: sha512-ShvI0Kx04mwoCARwZ0UjiT97isQvzO80tAt91zmFyHLN9kelc/IrQi940farSm2xQVPCKdeVyeG0ekBsokSpYQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] + libc: musl sass-embedded-linux-musl-x64@1.100.0: resolution: {integrity: sha512-TDBCRWNuS4RDLQXvRc1gjZlWiWTWaWGp0Bwu/IKwJxov81lsvrCs3TihTyNXtW7V5aoN4Ky3r0QOkNb3mwmBnA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] + libc: musl sass-embedded-linux-riscv64@1.100.0: resolution: {integrity: sha512-j4ENJGOheO+fm3j/yorLxCjBP6/XskrZx7dTLlT+lXYwN/qqCqoA/gsNLI0McS3DFM6GBwPiffzWsdWS8t6sEQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] + libc: glibc sass-embedded-linux-x64@1.100.0: resolution: {integrity: sha512-0vUSN8j0WGtCJIOPh//EmUvYGHW0QOe5iul8qyhPk50MAcw49MA0r34AhftjDdx94ILPF6vApFs0gwHPQRlpVA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] + libc: glibc sass-embedded-unknown-all@1.100.0: resolution: {integrity: sha512-c+naBgWId4MIpToXcI0DgqetjdAkwTTAxFAuOaBz7HUXLdyG1oZRrEvSsbe41nEdQOKH0vgofVFCeSQgoXOG9A==} @@ -10319,7 +10355,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@1.15.2: + axios@1.16.0: dependencies: follow-redirects: 1.16.0 form-data: 4.0.5 @@ -10327,16 +10363,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.16.1: - dependencies: - follow-redirects: 1.16.0 - form-data: 4.0.5 - https-proxy-agent: 5.0.1 - proxy-from-env: 2.1.0 - transitivePeerDependencies: - - debug - - supports-color - b4a@1.6.7: {} babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): @@ -10924,7 +10950,7 @@ snapshots: data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 es-set-tostringtag: 2.1.0 es-to-primitive: 1.3.0 function.prototype.name: 1.1.8 @@ -10936,7 +10962,7 @@ snapshots: has-property-descriptors: 1.0.2 has-proto: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.3 + hasown: 2.0.4 internal-slot: 1.1.0 is-array-buffer: 3.0.5 is-callable: 1.2.7 @@ -10981,12 +11007,16 @@ snapshots: dependencies: es-errors: 1.3.0 + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + es-set-tostringtag@2.1.0: dependencies: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.3 + hasown: 2.0.4 es-to-primitive@1.3.0: dependencies: @@ -11344,7 +11374,7 @@ snapshots: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.3 + hasown: 2.0.4 mime-types: 2.1.35 fraction.js@5.3.4: {} @@ -11378,7 +11408,7 @@ snapshots: call-bound: 1.0.4 define-properties: 1.2.1 functions-have-names: 1.2.3 - hasown: 2.0.3 + hasown: 2.0.4 is-callable: 1.2.7 functions-have-names@1.2.3: {} @@ -11398,12 +11428,12 @@ snapshots: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 function-bind: 1.1.2 get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.3 + hasown: 2.0.4 math-intrinsics: 1.1.0 get-own-enumerable-property-symbols@3.0.2: {} @@ -11411,7 +11441,7 @@ snapshots: get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-stream@5.2.0: dependencies: @@ -11562,7 +11592,7 @@ snapshots: dependencies: hookified: 1.15.1 - hasown@2.0.3: + hasown@2.0.4: dependencies: function-bind: 1.1.2 @@ -11733,7 +11763,7 @@ snapshots: internal-slot@1.1.0: dependencies: es-errors: 1.3.0 - hasown: 2.0.3 + hasown: 2.0.4 side-channel: 1.1.0 ip-address@10.2.0: {} @@ -11771,7 +11801,7 @@ snapshots: is-core-module@2.15.1: dependencies: - hasown: 2.0.3 + hasown: 2.0.4 is-data-view@1.0.2: dependencies: @@ -11857,7 +11887,7 @@ snapshots: call-bound: 1.0.4 gopd: 1.2.0 has-tostringtag: 1.0.2 - hasown: 2.0.3 + hasown: 2.0.4 is-regexp@1.0.0: {} @@ -12343,7 +12373,7 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-symbols: 1.1.0 object-keys: 1.1.1 @@ -13036,7 +13066,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.2 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 @@ -13338,7 +13368,7 @@ snapshots: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 shebang-command@2.0.0: dependencies: @@ -13527,7 +13557,7 @@ snapshots: define-data-property: 1.1.4 define-properties: 1.2.1 es-abstract: 1.24.2 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: @@ -13535,13 +13565,13 @@ snapshots: call-bind: 1.0.9 call-bound: 1.0.4 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.9 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.1.2 string_decoder@1.3.0: dependencies: @@ -14277,14 +14307,13 @@ snapshots: wait-on@9.0.10: dependencies: - axios: 1.16.1 + axios: 1.16.0 joi: 18.2.1 lodash: 4.18.1 minimist: 1.2.8 rxjs: 7.8.2 transitivePeerDependencies: - debug - - supports-color wcwidth@1.0.1: dependencies: From 94562235564e69cb20fe6196f690d6763d4daee8 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 14:31:32 +0200 Subject: [PATCH 004/185] fix: prevent package postinstall hang when generating jwt secret The postinstall scripts generated the jwt secret with: cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 This relies on SIGPIPE to terminate the infinite `cat /dev/urandom` once `head` has read its single line. Inside a dpkg/apt maintainer-script context the SIGPIPE disposition is not reliably delivered, so `cat /dev/urandom` spins forever, the postinstall never returns, and the whole `dpkg -i` / upgrade hangs. Read a bounded 512 bytes with `head -c` instead so nothing depends on SIGPIPE to terminate. 512 random bytes yield ~124 alphanumerics on average, so the trailing `head -c 32` reliably produces a full 32-char secret while staying dependency-free. Fixes #2660 --- build/after-install-openrc.sh | 2 +- build/after-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/after-install-openrc.sh b/build/after-install-openrc.sh index c0e01cd03..8c3e9a638 100755 --- a/build/after-install-openrc.sh +++ b/build/after-install-openrc.sh @@ -2,7 +2,7 @@ rc-update add vikunja default # Fix the config to contain proper values -NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) +NEW_SECRET=$(head -c 512 /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32) sed -i "s//$NEW_SECRET/g" /etc/vikunja/config.yml sed -i "s//\/opt\/vikunja\//g" /etc/vikunja/config.yml sed -i "s/path: \"\.\/vikunja.db\"/path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml diff --git a/build/after-install.sh b/build/after-install.sh index a8f2840d7..1b6399a49 100644 --- a/build/after-install.sh +++ b/build/after-install.sh @@ -3,7 +3,7 @@ systemctl enable vikunja.service # Fix the config to contain proper values -NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1) +NEW_SECRET=$(head -c 512 /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32) sed -i "s//$NEW_SECRET/g" /etc/vikunja/config.yml sed -i "s//\/opt\/vikunja\//g" /etc/vikunja/config.yml sed -i "s/path: \"\.\/vikunja.db\"/path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml From e0fa2bbed4025d2e3952caecd0ef09394e03c97f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 May 2026 12:50:59 +0000 Subject: [PATCH 005/185] chore(deps): update dependency vue-tsc to v3.3.3 --- frontend/package.json | 2 +- frontend/pnpm-lock.yaml | 53 +++++++---------------------------------- 2 files changed, 10 insertions(+), 45 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index bd2bac561..4a2b7ac37 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -155,7 +155,7 @@ "vite-plugin-vue-devtools": "8.1.2", "vite-svg-loader": "5.1.1", "vitest": "4.1.7", - "vue-tsc": "3.3.2", + "vue-tsc": "3.3.3", "wait-on": "9.0.10", "workbox-cli": "7.4.1", "ws": "8.21.0" diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 518753a69..66f30f6e9 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -326,8 +326,8 @@ importers: specifier: 4.1.7 version: 4.1.7(@types/node@24.12.4)(happy-dom@20.9.0)(jsdom@27.4.0)(vite@7.3.3(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass-embedded@1.100.0)(sass@1.100.0)(terser@5.31.6)(yaml@2.8.3)) vue-tsc: - specifier: 3.3.2 - version: 3.3.2(typescript@5.9.3) + specifier: 3.3.3 + version: 3.3.3(typescript@5.9.3) wait-on: specifier: 9.0.10 version: 9.0.10 @@ -2139,42 +2139,36 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -2334,79 +2328,66 @@ packages: resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.60.4': resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.60.4': resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.60.4': resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.60.4': resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} cpu: [loong64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.60.4': resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} cpu: [loong64] os: [linux] - libc: [musl] '@rollup/rollup-linux-ppc64-gnu@4.60.4': resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.60.4': resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} cpu: [ppc64] os: [linux] - libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.60.4': resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.60.4': resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} cpu: [riscv64] os: [linux] - libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.60.4': resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.60.4': resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.60.4': resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-openbsd-x64@4.60.4': resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} @@ -2609,28 +2590,24 @@ packages: engines: {node: '>= 20'} cpu: [arm64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-arm64-musl@4.3.0': resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - libc: [musl] '@tailwindcss/oxide-linux-x64-gnu@4.3.0': resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - libc: [glibc] '@tailwindcss/oxide-linux-x64-musl@4.3.0': resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - libc: [musl] '@tailwindcss/oxide-wasm32-wasi@4.3.0': resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} @@ -3211,8 +3188,8 @@ packages: typescript: optional: true - '@vue/language-core@3.3.2': - resolution: {integrity: sha512-CLwjSfHlPLhjd2qhuS3tTFtnOIWHXAM5u4X1DxmzlQ8j5bmOYlKCsSusOP7jCRJnlVg0mCTQtHU3vwFvopZGoQ==} + '@vue/language-core@3.3.3': + resolution: {integrity: sha512-X6p+7nfY7vVT6dQwUJ+v0Jfq/lwIfhL2jMi91dQ3ln4hnlGXlxsDu/FNkeyHYgvYtyQy18ZX76IZy7X4diDbiQ==} '@vue/reactivity@3.5.27': resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==} @@ -4984,28 +4961,24 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] lightningcss-linux-arm64-musl@1.32.0: resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] lightningcss-linux-x64-gnu@1.32.0: resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] lightningcss-linux-x64-musl@1.32.0: resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] lightningcss-win32-arm64-msvc@1.32.0: resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} @@ -6010,56 +5983,48 @@ packages: engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - libc: glibc sass-embedded-linux-arm@1.100.0: resolution: {integrity: sha512-9Ul7O1eKrc5YlhwWjkp8tZPSe3UEwSZ1uwUZOQom1HL0pRlBA6F/IlGZYFTLwnHMIP1fc77MMNaBRfc05mKMpw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - libc: glibc sass-embedded-linux-musl-arm64@1.100.0: resolution: {integrity: sha512-XpACJB2KjSLjf2e9uuvGVdOURsoNrFqgRiihhXyUHK9W0t3LIHb7z5MA/7XGPIT9bWSOO2zyw+rH/FHtDV/Yrg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - libc: musl sass-embedded-linux-musl-arm@1.100.0: resolution: {integrity: sha512-sl0JgbGloPyJg66XXx5UDSDScZ0oU85DpMQU4JU/sCUCFj1Z8zZ69SJWKTCNE4/jwnce7WI2zPCV5AG+RHOZJw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - libc: musl sass-embedded-linux-musl-riscv64@1.100.0: resolution: {integrity: sha512-ShvI0Kx04mwoCARwZ0UjiT97isQvzO80tAt91zmFyHLN9kelc/IrQi940farSm2xQVPCKdeVyeG0ekBsokSpYQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - libc: musl sass-embedded-linux-musl-x64@1.100.0: resolution: {integrity: sha512-TDBCRWNuS4RDLQXvRc1gjZlWiWTWaWGp0Bwu/IKwJxov81lsvrCs3TihTyNXtW7V5aoN4Ky3r0QOkNb3mwmBnA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - libc: musl sass-embedded-linux-riscv64@1.100.0: resolution: {integrity: sha512-j4ENJGOheO+fm3j/yorLxCjBP6/XskrZx7dTLlT+lXYwN/qqCqoA/gsNLI0McS3DFM6GBwPiffzWsdWS8t6sEQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - libc: glibc sass-embedded-linux-x64@1.100.0: resolution: {integrity: sha512-0vUSN8j0WGtCJIOPh//EmUvYGHW0QOe5iul8qyhPk50MAcw49MA0r34AhftjDdx94ILPF6vApFs0gwHPQRlpVA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - libc: glibc sass-embedded-unknown-all@1.100.0: resolution: {integrity: sha512-c+naBgWId4MIpToXcI0DgqetjdAkwTTAxFAuOaBz7HUXLdyG1oZRrEvSsbe41nEdQOKH0vgofVFCeSQgoXOG9A==} @@ -6948,8 +6913,8 @@ packages: peerDependencies: vue: ^3.5.0 - vue-tsc@3.3.2: - resolution: {integrity: sha512-n7nQoA3YWW/eiDR8jMiv/uJvlg0uLGs+YgUrsTrf9EZaYSt3tuvMZb5V8+7Mvh/EH5pnY/hoVdgfjH+XcK+wwA==} + vue-tsc@3.3.3: + resolution: {integrity: sha512-SWUEG7YRUeDJHT7Xsuhf02elYX2gxPzzAII7OxDAh4KNOr4QHQ0Lls0YfnaO5GNd560CwVa2HTfdqmA5MqvRqQ==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -10172,7 +10137,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue/language-core@3.3.2': + '@vue/language-core@3.3.3': dependencies: '@volar/language-core': 2.4.28 '@vue/compiler-dom': 3.5.27 @@ -14277,10 +14242,10 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.5.27(typescript@5.9.3) - vue-tsc@3.3.2(typescript@5.9.3): + vue-tsc@3.3.3(typescript@5.9.3): dependencies: '@volar/typescript': 2.4.28 - '@vue/language-core': 3.3.2 + '@vue/language-core': 3.3.3 typescript: 5.9.3 vue@3.5.27(typescript@5.9.3): From 1af6d7763bfc4f27758363202f2303e3f98743c6 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:18:51 +0200 Subject: [PATCH 006/185] fix(desktop): show tray icon in packaged builds The tray icon was loaded from desktop/build/icon.png, but build/ is electron-builder's default buildResources directory, whose contents are not packaged into the app. The icon therefore existed when running from source but was missing in every released build, leaving an empty tray icon. Load the icon from the packaged app root instead and add icon.png there, rendered from the circular logo.svg so it has transparent corners rather than the square full-bleed source artwork. Fixes #2668 --- desktop/icon.png | Bin 0 -> 62055 bytes desktop/main.js | 6 +++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 desktop/icon.png diff --git a/desktop/icon.png b/desktop/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..21b9fc4a6f219513a4a6abea0d4d40a4a4ae6041 GIT binary patch literal 62055 zcmXtA2{_bU)c?=e_cdFF8nTP*j1VKVP`2z8S(2q>UuGmBQlpSvAt~8I*+yi^8rd_( z63H?nYgy*I^M2p=ygiSedhfmGp7T5B{LZ=OU&0krBQ|CsW(b1VOpMXy5JU@pOA9g5 zgC7`#Yz+88f8(MN8lq7D%Wo=v20=~0XDl_!jTwE1@w~pVSJD)Ia>XIes`m$^B{?#W)HM(&- zl8ePafp*wH@#n7RM==TU@m+;pG@zM|X3H9q7!^X<ACW(-?$b;s@Wdq& z8;G|{+UB+Kt4NCv1V5tpd)i8^EA`N5w=qkIlM7c{v!J~qwBk;ASgFWs!|T%GBA2AU zIi`2ahL~d^aTDdQP@zR@O|xs)eoK~&Rjn^?NMu<5>oUHOeHD!^{Q2J=KYlxVHSyhX zIWu=c*55^uT}gveBYu&lxtXK3+=q6ZtwWS`ojtmtAijacaDAQWU^ZBkxqtvOM5E_k z9~T8zsyRv>y_h3rKqPmHkZBmcMGVeND{AA;CNOGqCN;1{@h3GD;HP8b8;rjGXqq*+ zULCB*#f9s>0t5F@y54fk+DAp>ZYRx=Ik5}6$RU#dRTX|FO1f zaSTmV+pH!q1Jk6)jKJ(K;auP2uL>B!<4AjF`ZP1U2&J9%iTHAwAIIP=GPF^Fl(;q_ zk_#|oJ{%h#A7Xp6=xAH`;T?Fi7z@`$d4F!9MoCQ`;#K9Sb42!}27O}sSwr8kY#0}p zmnzjp;&&1meEQ$qad?SW)+Y+`-MP&u>~&?QUt-RUc8{*Zj4jGe>d){-JZj8Yur`c= zhYNRLPQB5M4^)$^FOJ`ce%7nOq`{>@8#%x=k;S;@h|N16ElO7}|9dexj=*0VN?jB& z*!Lnn{*uW|K0*LqOs{d>2t{GiOAkJc%l72lW8(^59oP5oiQ(9^DC1zGUMJ zK>p*nJI9lNTQF0mj%qejJ)^aRn#nZI`e|Y` zBfdnSSWu3RneY+4APwKW9>G5!PTRaoOr5<(z=1nQ{)dQ8?a_YG5ca;fBe5psgs#F; zmJSR}9cO*u<(#Q{t)%ccZZ0losuVSq7y6PJ{Xey`U@g9JMIb-&60Z`|au9Iu-#^Ok zW8;nYuL6}6K9;ldWm%y!*WTU)8DpA|yQ|l3RD0_EG#ow~XwzZhL@! zbTxMPj4AYpP>B`~IFh9GMb2flvH2200zmP;nzTR`-MN0e&JDpUB!z>mKgG zjdLhD{=*6DhbE_fV5v8lqC=yrOn}C4tiMI8ielsWk2gNRcmML#;quCfGaxQ@)!(V< z=O00wK&Bw53UJe#vG=jNgTlB)^Ji_$K~|(oNTeQOz7}$>#ixrjDjj^K9>1DPJzm=C z{X`VLhcVl=!%MFl^(?;2=|Btr_-b@{Y0iLrDRUt8Vt+KK;4?4$^qIYmeu-0qAw=R| zHXm+vGX9P$R)P1^-ai^q#x_DU8a(N>K8+%U}s$pTBQ6B zZE(lcBBXBbu!|#ylBs6(`f$^FHLG(|KRN*3$T~iNN{KgSc`Web!G>tjndSq$ENnc8+icZm#a*)a%?B#k@q=O8t?E35afM+yr_X^i=eH1Rt~K zpll58e^#R&97^?5W7dE4Yj_}H%$>5|`AaLv+dxV>E@a!(+^$`#onbP`q*4FLx`no3mW?jSuO=@??I2 zC1{!o^vSD=>&Zmrm-u4Q1LOKJ>J9ncKqrt&u#say8eB_42Xqzf;7{YVUu$Y}>hN5i z7wTi-Z$qgH9to$8kRKnDmn^@{K!Xal_F<+*0@&oQR~N2 zjuEcTw{>RK*n+#`y@B+F%io6rPL5;*C(Xch=74F^dtdgJeOKf8oLh_hRn) zuB3DtL#momyjJAN-8Z5+%8#yu;898OU6#}nGm6zPTwErWE^>JOqx=2eo!rz=#;ps6_7i3OlY(H!|1lubuK69=#EUNQy`#&r2YO+k@Dnll`X!{8U4tgN3-bLaWM@w(fl%HJU`*)+&Zux(-pBPA&;*Y%&UvvEo+iF7y=0EDx>1AM1>NO zb#;9%f+&xVB80l#;OmcdT1qHAqe->8rLnQ%=~#qCohvpb)Qx1J{vrd$Wow_6L4mtBQ*UJn`NNdAlDe!$|RM} zucmoOBZi(I7SOoam22hRCMqB6A^PK>(trK?Xv0r+|G(+8$-3>&%+Paz#<~v5w22ab zKj;v!3ezysKJ$-#|HcXP?s`?))6M~>)b+bUIUdBjMN`$!oO*IfbiNM{Rb=gcnUkm0 z@Wp7X2xuI>S+qZ@H>A%yP&-)T&oBEsi7dJE8Ac|lz8F#7{?Ku}&lk%PactBt<6l^b z#}BXQ-EzkPRR>Wa!X0#BBoz^5|E$Mhbn`H)NjeGTrPfD79=DqQo zrYmm|>X`C;@xs_{yC3U!pt{xfD0sTBjl8R_k_a0WA$4Ln4lXVQm3>;WxZVzsRwD|0 zx!sWRRGy98a^{Ht3W%O&*K%me!}uD1PgE3+Nwx**K1kGE3Gm_alHnr;$P&M|r8IQ- zw8Ydou>|Wr|DkHW7!9TG^8Vc;>F}O!Y6Izx>Q{De{bCW0o@6z6`FW0`5(_z%seR|& zAB%laC+TKRrD5RBTdpKta{Ha)3Pr0g*2&)5ZAU~34bQ}NmxF|g4| zy1F3b5IbL4jfYM9RA0!cf2$@r8Pk30hkhZjRrLW>-?Ot@QrQuLNlD?7Twc0AxqtjA z8;v?0v0V%ldU?t&xR1A9bkDf|FU$ymkpi2^V#vP* zz>UOTVY<@zh)PWxX2qwP{J+_fAMr>=CD#?_5m*%d8BuR}igs^yW-pM==Xk7o)awbZ z!5~088l4d^B)9tX^F-s)w=qFBwD0tZR(h?dC)&1@+abdf{_EXW`p0P>dNi@DW7<)% z#`_w}C+cVWngx4_hZH&z<jk7uJeN6(SsEQ|; zn^y6Sz>Yyw$XN`v4230xTvQ}5-V0sANy=3h7mt_0z!N@Jyo_F*0wJxC!M(96xvl1!YF8s&gipl)2Glz zXAwjsllIWM-x1o5$V215qugk*N+6A?CPLn7VUi}XjPsf1xQl=kc-F=67`lo6{5AbF zUc3l1*k4vQUwqOZ5w>Smw9dX4cdfN$?9V=#V|nt4T*|eR_ymTq;_+%4emp;cmSu^$ z6+C)uR4mHAWFkDx;dXTsO@eV4)ea3Kx^5TWsWzOUZNBAS6D%_E!IiH~{dDY@Zh7c@ zu7|RUyE)+Mi|($Tzve>y4-E&^dr&5~wxIOn!(Mg z!Ojhm1~TO|NCsW5RGMm6ZFMz<(kcLWXNKFD`@L2xe*CfWn6j$i%+ae1SmQq+Ut!$| z-q-M@A|&yW0GrmmyG8Em+wTR;i^y&*4xv4i_nt}l>D>h z7)0;`d>m|Apzw!RTpQ-_n6TZ3>6|NoxSlvA&8-50$fYr}&Q1)m*#r6+g(-ptxQ&M2 z`HpwV7gn|aQ`7+o*2{wB+T^RR`H>Q|zU=-?C+=y2z`5Dg9+*1IEneL(Bb|&1?(xoT(7|!EHn|Hlsuj7@4ZCKAx;L#Yw`IoP^yaf^^l*rCKcaf!!1w z{l}2H*ye6-pjF(epAeaac!{K4MPi2OknKWdzY$D^yh2zzeuD(?$H&gpERHhlaVz($ zxN05U_f^@*n4o-M+YD;^;%kr`8R#Z z`fqS{!TMY2kgF%jiMRT!v^3hfR|eBUF3_E*(s-XM2$=H(weQ+>w;WpMf=(pNvLM6api3Y`w22kX_k3 z8U2pc9jLEFb6)B{99PX=_knSmIG81)pdb*O57uOxEZm$D7N6o#?+kYI0eMuqLp}Wq zHuYUhkjcrpAiej&n*K!i9yzpc7E=|xQbVUFerN3p1cgio%*r7?2*uI#?VS(oDq8_9 z7T~FFB;a4&*jQCmt@)f9OCvwq-=5fIM{+mp#l%{UIO;oajYe$_Sj1b*QNS+?QAfF6 z8$M)|qhJk;B!{f>0H+t)fWZG&HQbq27oH5r>4p^TURS8UCxBut2yiKlK{8Np4*Ru6 z_WPeI=C1di^0z8-cYe=4PK{kv-qal|0SC8B5Ix>VCl$7Y+iTqZLjGI;uKENpxNh%s zc?gvgq;c?bv&mwif5Lihsm~X(2sISH31m0P_>JA(;+P0$Yo-xi%rTk^Ts%WQfB7Kq zxzRmltnu7r35`o}9YtEWau8*>-Yf2Jb@M63u6~FwG>!|`38HxlGBxwCGWD;O;^}kF zc^|7?BpN9LBfeU;zrp5C4S|r}rZHaDnZxlWNnDdxqetjKzZ!-fGT;zEN-KhTuM~uC zJm$LRj01ZtM8aGS7${k7=yI7?1KIBHSTX{F;;e|}&Wkz7JXZI$7i{FzLu;E6)Dzf3gP*Bn z;jKnaHk4_(YywtTBL;j%*wT7j*(iLka_8TY^T%;*_Y2_{i_Zgx9Q7On3J1}h#cbCU zhjEvy=5Bezo}uOxU-Lpl8*S&6nhF>aQ^$Ke7vYY0sNY{6jUWs-x6WjrVrciOp^pWE z{GzzzmbXp6@%`(qf2rh|xBNasVj;dJ9@tafykvqaH85fZPWmz^Z+%>&1|9?WOIKW9 z8`am!9d4Vp`vp7R49PRS?UjS~zDTaV)n~eq3}`3S+}W`R8b4nK(=Ai6_gwIUws$q@ zDyQv@8hPRu@(4$|>(32bCaN1PYEo%fn=Rf?$fRX72Rsr7RR)fBt?u*NLseg-|1rfr z)RUTiS+n~~!oPEny0yt+l0ex(B2c|7NsGZfD7@HH_Eb!d%;sNrK;8gSx@D<(*!=xO z#&$dk?wNfhD`SL)q}_=!Y<@$dCmy<{1CdJ>P2&=e#!-gHnYBgtLW|rn>j*>fCqU?g ziImM!YS3hDrr!d#8r@$>|9l`wkp6QsOAG8<%#JN?Acj_WmIXiBaaCm5+x`92v2Ni; z)>@8{xEXbWtAViyoyj&1Y$EiSUm4mv*x7TE|`JmWtX4a5cwDcr*4VLq%QGmNl( z7c4G!Bj+9osmq5HY*W>x1a^O&?>Cq`Z8ax((!VU2Z^KFsU!<^MigPXqq(|8O6`Lfw)u`uUFM)a8luZVFq5$SQu&$Tg*KszahGQUDM4LitS+-84Pfa7C%U6oXKg`-EQ%i{mm;272Ae|MVmIUE5k~NJ%iCN#0#1 z0vS%?T|4*RCE@t?#y_@$MPslMUgD|8rcsm5)jUnr@rBd|Rl_&u>M`4BdwKt-U}bT- zF3;Nl;3^DkFkX|~hmdJ+(rHi|lX$Bb_UZO~1H1Zn*^w#dL4eja^y_W*|+rf>pRh0E(;<_TF>7XyWv)%O|a)gP@=m$Dzm z1O*jz`3M+=dEmB=hrJBGzw<3VU*x~oXvqilR!BvPLPhY#Raz3S(zyZo&j^;dRX5TJ zq!(Du$Oqz-3F8k&Pouik5oM0sM^8rwxvYR7SvjgBwWes$%KXd7lL%0J{-6e!6OE?wz{lissV4&C7A*C9tM zt|E-vW3-?`A9))uhEyWMuUY4v)*s7c${JXsQ9Hi6L$n0<1D*}-rkunTE(ZDfk^e2;{q>i1PSihuF z$F^T$9ChLY>vFjaoxjfBweFMjx4`r{Eg{f_sVX#jlN}%ide_9ggCYle3bTVWgzNDr z!w8|NI;z^9e3%%m^SwTK#89{%m_~IvKfABYkaeETPrrMI2GG6!tUR~uvtivE{!5X* z>FFiQtmNejeWoG)FuxmC#vZ2}#LxeRp4L`?T1sebb{{D8HSt4nm}IW17MJCg$LWud34wqW1!=6}u8It%s%=OXR3UVD>NUa>>C_RD6&T-eoc7~~SNCiHu%_S92% zlGCeetRFdvFI*1tF&}dlaty_#HS2SZO?&{c$vAoiD?*Y>iCkJBzA4_2e^M2>eHb3u zrrUfoAd&lW5>?R(D+s6$(*?+$k-#6Y8uoFY&>$20M0u=9z#d(%mIu z>ZmQE$_yro#&n#b2UVe9Vw1(C%aJ{N53iNyUJ1uUuB2J|(18C}JhUVe=AyQ2VIucv z{0M*eO!ma3R!|9td?-qP?iP3>;uEHe&?7V4RJicyNbh3VR(TD9MwJ}6%eU_$go2GT4|ivk6;6AIOb_*# z{LxoDz3klifuX$S`F2Lje&lQJyy8yR=SGD5{Tgv3POmCD^nB;)$_HI z&pl_T46t#zL)o)+b5l$E3w&r#EoD({y{z_Q!uXAQW4wB@Ay+jin#h1-jIH-Fc<#l*oQ!Vsw&oeJw=k5W4QU-pbGRT(t5FY|dB;AnLER8Mm2@kz zfZPdK&Xqr=Vt?m$*7XVQSP~LUFwz7Wvz5Xjvi6oWce34&O66Mj?Wxz2suJh&W zfjfGBIpmMXH$DK*q7sO6mzL5&Ruo$ieH7R?9ZKLDwDs*SY9FY%f5+hFU|Ki>R|YF^ zsDOWjTf;Iddq^@pfTy2r#J+B=7maI{T1S<&ohkf(F(d=EQ`ztML!(TiY>Cohnp~x7 z^U4381qi${m(GPTgp0oazRFy|n#Uu)23TJAb80L3b5Ju)V;3rM!FiM!dOW+9q+O#{ zyZx&29xqf|T)=fsd~C=HimwBe!R!a`8>G|YsY@bhd#A+Do_@>vXSt}Sv<(&Cg$B^b zsPyk*mrve|B+>#oF{u;&-;pF<9{!O|$-o~oB4fg4o$q$Js8lNbwFNYn4I`ti%a#8O z#w3&;qKgqYu;*oX`Sf7VwZ$@(9N5VWke1x^DR)uQN`TsI^&{72pX9+#8eEPP^R_k% zo1?7TTyTe2iwoFKrg&F}HS%bm?ylRK&l0^E(X-e-8n<}xB6OIi=|SOuU=Ew_y1lR9 zSq+;>@C2O_HgYc9OUhpvv}Oz^jnX7EpXgNO{@d}XEICp#e>m%Acp2k`;LO&dua6-%Ksc1pD1e&2;pPR)D0#)K7+jUY?}r zT+WRfLSk)6I*mHG4_O`_`=WGjPGXVWncs5Cl8X!7A?@0z0+E%*=Z@dhu(g3MC&_CU z`nDwX%mIc>-h-A7Jc3sWB+#8dt1&MN7IJQoHV>XnWD5Si%uQxi23(?K8czDhM~SsNV~mkaZk4=Ht9Vgm>4%`sEYAq z8;!od9AS=meqR%!?lan}!UjEPe+cP}0JKVs`c!zHUe(pb6`f*9`iQ$@@xk3A%!n&g z2EfrV&9+jhy%T(m zXY%9}1*y_m|7M1ma^Yl4*W>Eqqb7l`&bKCf<05XRW;V5=9(94XiLs0&L#c;>g1SKC zS5#t6-I53)o0#ohz)|jJ>m8NytV$9@51d=y>W(Ry);%E)PX4}fN|o~p0;)3Ls()*z z99VZj2B>PC+Pi$;J{Da~<$+CyEoZbok9Qc^1)Y6Yw|@D@`Y!=Ju*-$3u>4d%O7L61 zsS6;GkB^-#Y?-i7v=@0x$sy4*|hgB6E)aKS=Mzp_AL-ecnG+Zg^v z6x4D2ir;LH9xh0w0Mvkb)hs6#2Sz!G8I$xU%-jwF0|(1!FNT)CT*zRC=3Z;LB(l&o zGYBu`7}DnZ@yVHNd|#}5d>qiIx~)tn^?8&RlyCfJNQEZfiU!J)5fXL1J^v6$1xk-l zW)@cKhkF9=E)86t)5nn8zr4ys+&%>yYP%m8j@>aQ_>$Lsra7fq2I-B;WigL2-dTMH8fpIwKgWJ8; z@{ChW%8HH!;W$_3Jp!WgCbo^b*QO5)o9Uqc-NyjRsfAWmKF!YBu;hWl0Z&&c4`x5$ zOV(p|*l4VGKwvPSgS;|+Go!NceXzIGz23fKy=Y;VCgj+{-e|XxQwRN5c}~K~4_3xj zlKduwS28>0k^?on1!JyRB}UAGe7y`XNF|5dhy0T`zB|?6$Sr>TJtpmC1Mfvzl|^jd=XaMLC$ zS1%WE)J2hJcz`*PAJfa&AxePm@u|8mS^=P~myus>)bR28w=6kBXIzRASpNzT)C{f& z7UPZCTgX0kY)wMP`I62bk1|!oCgCSi-rQySgle?V?iXTjGY!5T0U$VP_sKX0x_KY& zVd(n922sJg{nMBLgiD}K0th%WEP?`eBCEh+?_tOO8b-*I9yDQxR3OfSIB4DSNhPFM zz`{3>=%d-KseIIRA>wKdl)?*~ooggBN1tdf5CGg^weLXiO2%5wT=%QWGac%6yHl7! zkjV;*yePVbt^mY>X1_Rl)#Fgqk|G0LE}asg6#!Ru^Td(Fo0?u ze(W0}K%U0TEKJqC1#Hc&sEp>sDSN0QzJt6oo`$ldgC>GKlDGV)hi<05x~!GL0JKv2 z)*z^{^)a3m&@7%nODg9r-#0zN+$T2r0kk2zFAPI^Cr0bmEslA>h)tCVxQ}xBWFJ2$k!Z*8Zj^Y2LyG-P82ma_%irv1kCzT^*Zb+3UIx2tb!p%-7G=mXPAKy$;^ zYZC6VeJ`?A{b60F^;1yNwiH}Yk|RI*tyOkC<5*LH@eat87PX#($qB?Ptox4(i@m?@ zA6ncq{<)XdSDCAu6R1UhMcg)^I9xKs;d#}7P9pMEWr)s$FfA9H6RwL_pz-Y|tXaj^ ztpf>*SGsyir@+KRh!{C=i>x3R7^3Rvce6vymz?}mreHZtgtI#*R9XfqtlXOrIR4n@ z{i&u(`BOe$lUjZ`cXnFQJ}ns(70IXpLqHYrBmUheMnJajknxD!650<$3EjB1#b?S&8;49;ifw^U~&=`SI zOnpD88nT3pT^aOvT^aB`H$kt9f=n4b2ePswF#W{q2l@UOOBzUK8fz81AKx9p5dnvsP zz44ox)P`ToMgJG&a~5-mcS?T16-8#^o@znjzI-8OMecs&{*x16jNy_E<-*FBJ)x(s z4TjMYK6a9p?x2Sygt_-D_<>^p;rbi-|DeQ&_0*2+jIt?+HoPk5?M06jKLLpX>iCgx zP8(5NYV2$^2bN^ENyvvpKYwKQ1>bY>xE;7*t`W&Dyy?yFPA)kY{JBP;n zu0%lOMWHx~D%}!a0&Yu(C*I8oB<0tYhnQlGrE0ksf>Y*5vk?T`xr{x-X}ntmpt7M3 zG?J9YAdhe(E)#vB9alS0Q0)hi1R9ncAgZS?6yAb}HeoDKyAAZq3Z}>Hrr48IE(gl; zP|$Gz^It)2`bFtaGAnyg3C89_{^AyqQ)yeZ6dFP})IsfjoDqUF&fH;x(fYuiru|YF z`TOs_x?Nr{r->xEK>FJl2lih!T-_f|c}YRHO;*S)2YIEVxx@uZU{~ zH0sji<)2ZSLtL+$TZL@$*&(kS55C!lMLlw-JR*(lK(I6$(shdwz%1n$hAZB*zG$88Sprkxv_SSX!39!N zfN>ZQ0NPThd&a86!3)A|jlPT)VBjqfF_blbl46*WnkEl<`BE58bm%W6mFbn>d z%)Qu!G2f64lzt?EaNZ^BH|y+D={M|6-JAmrJJR_^R$WLZ=8WjDL8>l4?@Er*bcPyn zZ4ezH&)YrcVS36C`j3~p`g3!C{uloaDV+P(QhhK^kIm!cpI>6sI#Ka^#;ryzHMz03 z65cUo|I9(R8dIwJM| zWqt(O&WsMLW?8b~8?y-v7qXniX4q-g($N*vlIRgnt^6fb>9DvherRqT0tJ`(T+JGr z<qpzjYQRU?#DMpo!Mr9{AG~#YYG^+i`~l`w*yHQr-wUFSw`88XMx5j`~`8T2jf2 ze#z?AP7q0W$PVZZccJe{V6P&Woy%{1pAt6$Q{v(npGD^=;Os3$Q-0)-*3blGm;9P?Yfu zNpNK_=SAVg6XXr*y8t`#{Y$vs@i*+_2RC9UwC*5go6rn2l|RODDQ>b<3>?%#0E8*o z&Aj&@x7QG700S0OH~NnB&a3v<8A2F9yA^sG0C-N>oAz`$YGV{v^J2+{**nR7b**J) zv&9`~s_O&Kt+>)&gMBD(`!=UR?C+Aoq{XTesz-jxB@vACJ!Px_E?6an4@rB(H zo$OfSH42Z~TkyDdqlV69PG6dEZRcuQCcbc5*nYgWh`gww51rQb$L{`8M@-+G8Lp@7y&FM3DZlpX|O0J5l@(ylKBwaKbrmG;Tbu zvWEOYPRM=iL4)gMYNhaEJB-y#4Vb=|uXesXf3>tHp}n8zIC2s-hKdt6pu-BkEv@i) zh%feU3gkB_|7%Kz^}Nm6Gntb&kJkrPY|0rAq31aa-)`QdU`|F;u7H*rE2DcvRg1f1 z7z1t(Xi6ERsl52((V(k@^sT?t1GOEq3N~8Z#ct4XZvex80?He^_2hcK_P1Sq_*YmZJV$ksdqZiybm8`X`9nlj) zqMHqS;u(LZOGc?3Peu|CBvc@l5y~dA3+Z8JH^$R>!E18rw!=C?e-1#+bZaamPOt|! zM&YzvXWyBt^e9MM{oO6VA(j4l>^teo?o&=4i9xVh53+r9jplscVayIch)N4D2*Djvpjh(*d#DyC>c?^#LGpTZ^wSeJYF~0L4yM+JW1|6R@L6EX!(1R;OwI1bsa_~W)4*s_^YBQ+# zOOKf$K{YUz$JL5~_kW1Mt@@*2Cu004u--eoE!1}U>;%l^s+h&pOXi=+He=ps#kYb` zisQb0!a!y3*4&vkAb=dpPtzl|d1I0|(ss@Yst8jf?a4j*Q49O7Ds3;$bqrv)!(Z(+ z#i067mv^qoYIF+I9jy#r!t6<$N})24n`L0U6|K`OfUNiH;J*&)LIdtF2rr~#&)=b3 z@2W4prq!buoH?_7Tx{y_bn_Et#76TWLx>8B@(`-3c9%vDA>ylvDZ^jR6p?mEVHrM%D>T0F40%Nm%V$qu7Q@G`0>6gwTTPP<*x)MD@S}2L?z@C`0BU2&iu5$x?J>!1wmg z(_vYcZ`gbyHC!Kq@J^1M;J%| zA4__}I`IWB3zCvs&J-(Dd@k$`In32#@vbe-VRIGgGT+w~ABKU}(1JNJCiNVu74`5^ z60r3kn2m#<-t9k`!f+Y^Ee1b#5`J|iFW?%Q=c#wCPR&5JRA z!MU3la47qJ48R5Sv!rW?k4HT^JYaD~$8Zsw%TSjAEPopTfu=@#PaX6$X9uHy62}9L zzBzQB?0hvisEw@wAoa1fEz#%?q(4TILWWx2+xy=0hY3Pu7%}MeluM=fC4$^`vagP^ zpHy1Y;YuA4L77>Z5L=-#viueZkeLr3i z*h%s`?sar_s+0I_cCp;Z-r3?7XlJ@K52NbkK2T_Q8&ag911AJD)O`94`()i{go?uo z0u5@b*b9#n6`g*Apa7mgUv+9vW@~rbMP?7;dI{r>&J}^_w?1S{EBev*=FkTO9lStA zb`GGT&K9t^@8|`8{QFe5y5a8$l2RuUhHFimb?3SsQu=pu5kU!`R~xTjQ@ibT)Od$q zS4Hf`jPT;#qt=2L&no7hN-qT{{I+iXGh&qrvMGpY*?sGA4v~NUdojV!gNotU>gJz8 zykrsJ_G|f;o_sL7(~?;e1sivm<>er^N?#>Et*yTMu>tu?OH3`f(+Atx2#&uZ_E(2q zb7uM#1qaEjzPpTiM7yG{{^XkdzGuMKe=(@2rZ6$>M#0}QypX?f%gl%OS9crsbY$)Y zN>;7^X8Rq6+i_QX$GL$Ks95q39K03-1~!DP7)m>t9T>znr_ZBv+g+g(*q?>a;P0%x zWZtN_-+62dJD;N?`x1U1R$rfW_?0&j(M6IAm%J@nU95@`u6NnRn2FuuW3={r5EsPD zC^9~H`^ym+1t(n>7&v0jVbc8mf#w8?4qG@$!5q2(M7s4Qq$1ymJg5t2@bZvuY`P_C zy}(Rlq-x>w`@qRR8_Yw$-$$Bfj((n|H&dxTp0=gN@LE21=5~%wjVQa#;O(CDRVltq z!_1?JhNHu| z+{$H_uga*foZTOYThjTt+wr@vWUa-Sp(T_v>Vr_!N1=7wyuQy^4+iW=_3)bgB~KQ- zf)&I$QNjtQs09}x8vgqh>_rd=jxn*aK393~1m-e0BoyMV!A>YBLjZ`guRd4cwnwn*U{qitg8xX8>nX#!vXP!FnEC;S=Kk{R z@9*SsNFrz@MaB>QK8>1*LwM;H=?5I|1|$DJo@HTt8o#Y_Q>TJwg4^U*^sWNKIyj9hMc#AJaIAC?3PC9 z$KaVK<>$}{$l}>|!Z?_kZ260C2_ek;?G0$$+U1!x94h4$$&)7Yqa@e~`-%~yF>=!k zJ~)alEAH9HS`QeOZ-71HQ6W7<2=${LV?Zpu@VF&{d_iX&QRE2jg|rttlE9y#-pjV_ zU2XO=daS;Y(Z%vHtB0gU8ulRV=1bxx0E~xbv18eja#sl3(2p&a`sF3^=KlP$-EX6EHOq3J z(xq{5UJ?R5&zkc%v&vr6`F~FzzdR}U8m{-5`W$x~MWGLg+CRnxN~Qxwgdq6?YIath$9ZY*RDxkPXJXYi*i*2*!n)aj7bj9W_`-+u zy3%OO7JEvtQ}K*-UUNBZ_?Kh|&acXQ-vLK74LsqJ5-XK^*s4;GgND0?2{&E3z% z46~;?b(@!3FlxdTcy(7k-iA+EM#TrN+L3+V5J@)kBxMl=~p#t}ZE2w&+8U z`@5dqoV{r&bgY3|mAIqom>S7aA#Sn)Uq~-Y@V(b5eZYl6&c=@$It9K zdpbLYTkRDEr)dKQ0t4@QC3OAU{U?!TOG=E2H0t(d(<6aMf`17>Fmh>EnWahpGnjb}qYU8pzP?&(PuDYpbSqVO(%fw-`)#|#$bCuKQ(Grqtbc2P- z8i(uUJhs+_YqT04CwuaPleIw|EP-%rEIthnNBC@TLDWNdTF0 zQ~K!O;;rUxh4nb2T8XL}<0+-RXBYaM)^o%-hW1Ocxu#YQ5dIIq!5IQi1R<{|np(-Q zeFdb&G3MCszBGeJ7+mk)u9QTd+Ti%oo<&Em3zq3qcW6%o!i?lu3Sib#)4kQB>=6p? zC(I~~cwo0``WhmyIZITP#_Lgj36M6}ae)(!vX^6EvPN_|H?Qm@gYU|gu0qBEEUW9h zT3XxFD0_#e} zZu2*3h{qyVwG(weegQ3n0xEtD2nvWXVbruTWU06}1_Ety@YB+-1V=AsONQH(tte3D zbTuCjl!gjPi@{Iy^Ig+w#}kaThsI%7veSAYd^trMchhj8n|;b|i5nc63JztB{~Ez) z{Q908GC^oZ0B+N34a-;Y(R#^C`DTM0%GH*>)W((DUF~F8uN^EufDl1qM5c(vK0n5rIPI7aae8J4HLfkZ zUj;lOhYvKW;^oX?E~4PIwG%E18tTYrOG-2+K)2*ZaNR>nf^q54DD3I?BT6|%4hZhH z+y6_n<|g4}6{rX!ug>{lPZ7?b-Tu@*)^JdH(Ax|9l|8nCIETI~k>Is&fkVUatj+(1 z$J3ADnxtsUUNj83hb?t+AA=;`_76Pu9w~cXDhJEII^*M%{qg?jL`busMn%jfHGy~<+A z%E(IO5JA84c_z}+e2wCKb-yLP*j$W!y<+cOxF*o96Y%m-d;>7Bv370pKL>T*;Z6G6 z*FJ^qH;Tm@Cm++&Y7&F4Wb#oqFu??dU0rUfiv4o!OEzu+JLiK9RFW{X_axGcO#$;7 zPId47zJLKARaOqSKv$$vd8E-l_U5VLc8AVn!?J!NkZYFEc+62|jsQ^`gd=XzI(eu> z9-{rU=uK*g7k~HkK3wlk*ufeF*UA>$-dq}g$rN)fp=FyL2WHM!(_-NVEdTt(Q)HtM z(DD!Xm0VTXW9o~@6u;Qy(fZOtv27yI&f;v5-{wfab>69xThEOzB7$1YCegPwpBG7y+E1@GX|iNJM@@78MZLd-?r^Pxx6XEP5Jkn&b{4|=5~6(KSU1+kxk z~XF;+<+f!S$YuCBNanUYwl*USA_v&W^otP5q^1a$w)% zDdKDA_D_ZJ?Q#O7Y+aXQBw?=tIG)GSJ4k|z1olahONT?t%W%e6c#)u%#5J_tyDRJY zgWtaWS&{g5M2VfcUMd10!Cfx+lN+;yK>7gdUSC#PsaUMUAX5U4=j_~m_?#C4%IeTz zy@+;0f{?D|pnL?!FJU-=%qdA@yJM?p5~tTI6doaBi$4y&-3FKa)A&&B%k+IM+n*VL zFmQ?f6x`5FBAL8&NIqozoHxS}e3o+stj^ZQa@?mQo$z`IhX%oybSxcHR49AjzCAAw z#oo;@hkIO4jK74gY$z_8zCsPpcxixxAru-sq(Fm2NBT)l*&&GoE$Dy+qW(4EtFnD? z&#_>b%RS+vO{2=w(nxtuc>0PB{&lSaw8b_VeNvH_V}Q2ndQszv)kEAx1X0j#yCD3h&xhw`{&E$(tTf;i&E?;$iw0p4yJz>)2@{NEy&Vu z5{CYVrtg5K`uqPs*GLI%Gf@d8JA2)b5g~h1M0Um{`)Z)FcVuN{UD?@+%Hbi@$rRKO|A$C zDMMTxv1pxjQW-ph-spF8k#k-3vN8BZiluzp8@=c6DgxFXd`nTSqMA~-qXwNtr0$1r zaJ1mByX)Hol#v~AVA>cp$a(tGCQ@hOVn?ZrJsv-t->Y!9Uy0~dqkc{Cf}v*$?mDL5 z9FfA7<;=3WCQ1g}l28xG>VGrW8=9p#Q3e+loClHo)+_$<6HBO@$i?JU8V6bcTmD?r&n)S0z)?ezF zqip8r>E{Ll+$!sP1$v)^zJnxd-Hcd!FWQ3&{4t=3U}p0+RFA}62Y)@c^@MOu6{PjE zTlfCNGmd%y9;1VK>Vb~cxD6Ef>P@MWI(OSM0By@BmpqUmSWTUN_1kA6WS5>R+3gxE zTtw@?S?lcC<~sW?24H#NPxOZM{HQoO%4Tszy*2|ivM!WFvn=j6^>zD`7-9eBBWa$c zupDwrMPRFyrv*2`@*aET4D-O_+7ffrF^;|~vUTpO30tg2YGN85q$`Qt?M2f@MzFIr&wIdx%$ZAw9~c_b*uXW=GXE%DH)dL%11w*n=Q#?t z3>N}r=FbDx?gdR^{1=e3*Wx6E^LSs`f=RTo)l5Zcn`6n)KdxGohBCeoeQ#(Mx%s3c zHU9|f`}l(7wUIfH{w`Xws6jg6U?!5!+w3n2<6RLR;tX|(PohwNM3@#|`80{7o5#V& z9D4@+V?gH>AJV(IS`B-=i%K=7LVEn+@`REU`0Yg{FwK)>`yiO$cpq=C=t2>}})2=XyKvXCWEXoAix-jL`}9y^Z37>Ri`- z!#@4C(E$orLII@__liBAu}bjRl&ggIQDxyY4?2E; zx*z9_k&(SyObY0{2T>%T)oo#BqrhtOpgUk&z@=khND6$8cChmPsg3r>tf{GLxm(n@ z%+(OM`B-o1O(IvxD#ls%PGmB570rl_qUbLIC*1ZTdtdRMq8k35QG02lQ;XV^C<0-w zltx?SSJfCQ=W}^D{&p=)92IL)N!PHTU96etI_znXtmgsWVLI+C=uOp)S@XIDA0T>; zAQLxdsda(EtpYVQ9LDn-YOh99NbE0XB?DPT^2CkhJBai+OBYA&D!``$7WH3Vc(yKu zw*GspaBSm`x{RDTzM+pt^i!GLI!M|}OUU@y)6IRJIV10ZO-VXI5~SxP1w7G+#L47Y-1XXvOt)cGj6%G1r^BiV*ZLbS2tT@pD*Zh z8Iy@%n%Ph_;|DoMF)y6l1?=j~zR8~@0_o>NBJ>#y;f=C`i_@!IMZp;7cXzIkqLa2( zjI|+b!R?jWBP)+uX=xtF8P{$mX+*YXTLm!A4GhTBk^}3$FVsu-JHv>0YTf6)j<1T! z>he7W-~A*pLC3}5)q>kzV^xxl$#6$C)aR`bF%F%snY$pcO+@~2;^&d2^UU{~mfu$P zTRhiSSayi7q8>3~NnC-u+&-F1+(gEnY*w8VgIEH_TIi!o=7BQ_0M7F)=6Z%#CK^7=%K7Op-DEL??i z(_Vf(0e2D(KRb(H5f;y@_*cF#XE7<|I46=K1;xKBi#~VAwshULfjYyQtl|DDw~W|K zGj0HrnY60;((X#}69lv5`!5d+BkXM?DCqQr)2c<`o-)uz>dXvDRy9- zK}(1ebIn$j855XM!%E6?R;^%~l2-dmPC~55yj2A{O_1$UK-j4%H=SAz184(y55MCm z_@hUN>Q&auDCP7QAthEsUejdrHbw4MOFw*Hrq?D^-ts!z{tpql-^L+E#pgZlD!9D- zFX_=P5B8?Tty0*TU{NEl9t%OaXrZRSF%f{t-lc*VaaU6WZRis>8l>oXz&8A)u(Ab3 z0fvhgyq3BpAW6ZG5{-cE5pRMFK~WgOY^|JPoRxL%od;uyq7Qr52-`{GHVJy>-?7C~|X;L_KMF@g9VcaVW2R~pD+r2{|*LN(ZuDQvIC`>{=1&ez5W_Jk7 zVll3(`|m2xF`tO$FSOvwzu@r&Q5nKT-ye73Q$TMlOQHzCOc`Q&kr}P1tNO_$qNAddH(Hhk2r{0yV%ISG|I|)b zTWs59Q5Vab8L>!IzxYihwtpHD-*(wPwk%;rloURYTx98y7yU{K|JKNI}Rc z@x?+JS7#`TVXQ8}h`3)kPwEj_2c9Rkh!oG@kRmy+1k#J2--;Ms1#0i#9+;DxIyKRA zx-dTH`@jikbBhh3Y}s*V5d*@p>dkCjzY@rKL#oW}{bcMA3L5`+{p zc*d&h01^oFrsqE$NgIXYcn+)ovRlkBAWq@dd2mqOS)%@v!0Xb9UGd)tpt%mtAc*4L zJaq~{u&&Rn5B;m-H*AKltlA`AQBLEr$=9 z_>M0iw_m@Bv_E5}40YwnPbmWYJV%86;4X+Qd zk77$y>GFg+LN=#RW%=`}DCs@3xeJ(ZsULD>4{njx+Nx=*(W|?gmLB^FM3iD=h`!x) zR~@P7gLKF?MTOwbcEx@ns)w80`vGP2$n`UudlQOW^B0q0R*LY0sR^=-o6%%C&2eYJ zkldLRJ~>g-Q)$mI+;sybWkiZiaL6U7LyakHj#Y&`Nv7$l4;^2%VTXGI-}Ic)UPjc% z9k_%ezC|ex^3*q810{}Z9n|IJkfF=33!(j{uGPDEl2jPCIu3q)B9k1f|}U=WQ^&c z_P}A?`&fn}Qow7oXs1b6D3BE^!84QB3Lg6X-oa-n#Iit@C+f4UL*7nNy4PF zmRWGsMm=_jN%e%-o>mop@J$3V^&HO)1Ns=s9EMrT>gvso#0cdFslfC)=>pRfB0V_V zW8Q5Eg>e?<1lxJNyb+Z~7C_B&)9aN|dWx{xoLG<(XX45U*+nt(R*-q;)x^nK3G6sM z!XrTcjikRU;aY0+*~^R-O|G8}jbz<{>GR|32%aZwD=w*aZgll}2vcbGt}8ZI>N6o% zr{5ZE4sE{FYQP7@#$xNQashkV+jEJky+mQslxdF=XZg^@4n}jLiMO)H2M&QXjRA;g zj*-vxI2r1e+C3qDl~peYK;P8sv$e%U=+qM?^lhJ=tUouO4{~emcxX(rlL7na13e;B z(IBc-y_b6~rPYx{^~aA~9Tdr`bQysEC(M<}gB&gpH(TPUTgT%2D!;9!U29~&q|KXS z_CkIvWg8|95vU*%_W0Q3di?{vB~2Y0vAcj40?Xt@QZz}?03%+@ajA(O)Jxa6s6)KHT94oFGAnvE)^I_4 zGkrS6Yta(pKX)PTDaJkI>YOXEd2#a9)?N0Y)sN+8?;~a}?6qBuH+On}mWb$;9}z%* zCQsL38Kd5-EOZ03ORJ7Ba5ca&xF&)wOXVG@kT<ulgf^tNQ^5h7A-GGn$;K!3)q=%r!v!Z4qldvwo3uXib0uv^6ua}IQseJGU5h#R2tEhC3V1M~7b^wx)b< z4xaJ!eh{k}6>O}q@FGPk0qZtiO^vZ6(cAjp!Y0Y2*p)Y=&c)=0lu#* zmZ>C-Uxr=hJkjcU`nBUI@*p;B@7)(KInb>_EwkhpGjR5)X~qj1g4cBO32ClSbE)oq zQZ$NDR9)M78q(|D&%Ok6K4as9828Vg$#@1&FEA@58M6h)5WLtsgNuzn20vy1Q-YV? zy17^kQSuh6PL>zW>$6v$jAO&X9PKHYdAAt{0Z1OoqrB?{n+w&p36x?>o4I8|26FyQ z_QAWN_Rg)AHXCrrI$>(b3}9y_4tz6UFr&-LbU-f0 zCR=+3Xj-*eXZy-pKXH$B&*!NSoukL4H@UXz>(vSGazj}hDVF{EL{AqP zDXz*VLdVTLGnZlbY-P{j8UwUST5~((Pt34HVIo%nko`%^Sl(A<*U;PkM2LvTP3mqJ8;K%j#scs*j6s>l^xgeX+Nx}O#W@` zZKG8{7Dm;T7praiDv<~&S9&#J+e5J~)G1t{{C}8k70ZqV=%quPlo1<}B`AC&$@8m& z6Dq+cSYkMKBj?9KtgX9C?k#E3c2AMdMEQ4+)MLjNu;+kz{0AQfWI8EOI+8+@RK368 z^bM(&v$j;1ZMH5Irgi)mT)bn0I<93KR>)$K7bEFbhmMY6XkOUhc9n`>dhtLR-gz4) zlLjA`OU;YIwl?GdRQ9C5v}9>-XlAW;5!`1_-YO|_wQC?^R| zg>PP%_Fe^asBpH8qu>??Z0vLRusi}T#^kQMB?3i@lV077Z_*a@&7?#M0l7@C5&`nb zcTwZmk(RZ-G!7650cX}MTTwZC?gu-?h@7mQU z7lo@ZUBT1wyh@PuDGGt!^<^%O->(xw$Gz5e__#6>Za9GL2{&Q@()|MMC?b~6J4#yB zBQ3L=;V%%A+5~$Itlw*mz)>7|c_$-qR!@i&D6{_K@P%s47ybw_IVcVfuYUeKow%~I zSWMn=_1}M?2(O3tB9;_=_D>o>w+_M4IR6A+<~~tWQJlXOTqUO_cD1o zvUl!JK;UIn7alsZoFiVVlb*l`@G6)SfN2Y-DF@=Sr9kZlgJwOe0?7V(7sN&Bj1~I) zTtvz~1V03`9<@2Q2%u^8a?M<_DR;zFhbEd{;>p73QSMgS5YQC(A~`g74pSbm3^RXy zpixNvk$95~n;DZy0jm zXl|d~mLB-qPnLFaZ!cf%qP*WP{euPutz~byxp7O)H6u)KQuh~3F&s@-C8 zxkJrmBgx$o$#jXshgRQy&3Thj`Lh!B{l16f7@WWwpjDc-Cf$qBjP;^}frEwO@= zpw>@E_r6%}kSLu!j5Ee9XD>L!X%{|U@vp5UA}R)9)Gh$L`h8}~mN?E4VR~BODz8}e zE{qgBe*`Viv+6IKoQ$c4?J@GR7cg2@GyDY7`@VepW_mI+)h}{Fd~~x#7m?a4cw|LN zaW!Z=`)`%u>16zqW_lHG4TrazL)j!qxgOXIovKC-`r@ohIL&rMsWuT|f;*)D(-ekC z2Q^HE2E3^oV|6k;6pW8qJ(gpQja61@YFFfoAR4Y`@>IX!T;-*9oqp8XRNVc&+-I-1 z%C$bWJYRXu@DvaA%7j^b)7|I~f|M~_$CF5s`LZDI;eZER#2{xQXRNb)C)Bs^&r8r9 zbRPH(-~>;O$QViB5nEy~8Cc3+x0m!3`seRQOw_T;G64A(-jfMU^TD9~XRjI@ zd-nV_dLwy|^NSe?Ftj3EVE_4{6x!u0K=aUY7kJr}I|Z+PuruotaAThkG%>#EF2k*i z2_Yg^4|s?MUwAzp!6Jg3RJWxjIGYml?%)6K1xO=804|r(3KjJI4SI{a6QU-p&s2+@ zgNx?|1lnhpqimM0bCC4k$+|cxp#DMT5FU*-8Kjlyr~-L zTIeG=*eCc@4`R6XG**M3Vk%^e8_J@&B6Bq$7Z1vAxT8Ag#h%quYP?i7*CFD$20{8& zD}9Xz>w5C;U6|~&k|K@gkNl0Oza|PUUekD~R?B1Z&`RN_Lb9#9T-J_eolmWCMP>zG z#jnPK)@xBVYigJt9kuIfJfh4DQ8Vp}bI}e-45J>%xOr%bC&QwR#Ul4qtBC7KM7>zg z6Qh-&dFZc}j@-;2Yb$qc&vl>^$gu?XQu{r?2pnZ%VMq2pFaG0R`^ z#wp(@B75V?)i8Zq1elBnr-I2@m8z>EuzUVCqu|&c5!zXeaSC?68YOS8 zBvX{}Y`Ffy%-FmwI+BbLkx$Z3b&UUNfPkgruU;l=}uZqIW(O`6zBG6%EGb zB`y-d+85BE|yFTs)u(^5QF z;57fd3~1c|}v@9cPep58PiI^qKx=0`A6ay>=o7 zafH}XA@HRb$Sa726%4?lD38;<1fZY#9G3rNzmGiodEi=QJ+5wqs9$_Ba0i})@eB?J znr1@QgeJoJ^ zh!3WFKv?xXre2+KL>SgDVsqdO5t?P`E2KbNDgniy0}WU>YFzrPysu^d0H#)u3pTwXguRU0G6?8 zz5ky3wWbwDT|*zW#+vL`B?j6v?*kG!ZgRFu;Ku;8mVlYX?uk04*GeB;B(4+RX*kLj z1NRx>f>I-)HE{&<&p(1y9BtoSsH1T^?xu^w+y`>L#+RgJB_fT*xE`J$9`^8j! zK8enEeh|6C%AcjDKP^fEY%R8@3j_8oj+xjaSUK6cq_9cMxh4V06ku8_Ha5oV$@EQq z(W^>#PWCPFS;@!KSpB+ZW?JjsbL|&;Gni_0x2onJMN!3lu9MpQR=ZKdw7gqIt@^r8 zDk)~3)#%5fa?J^+!$%&*oQ=+P1>e&um@oMErM{0VxAp~V-V+s3;(Gm68Xp!AXky7A zgtywLpSUqNI$o+av0uQX?Y+gVSU%=nFn+rBsB$am=(Ylx@eX$7nMdYv78h`#Jz!cnr9bPDwXG-u{4F#Cv zv~g7DZ;$7#MRZ1%1jbbFr&Vsuk4is2^XE@|DQ*Yzo@S{i**KN?tc6Ry&8b&pXYIc< zdionwcNsHt2}1a;@aHW5aVEq%_>b}=3EI4Pa5;D4fXV3aJw9svDAll7^B(Rbd7t7D z5Z-HycyWm3@4`0VU*9jW8TZ7?i0+*vr<|SC^^AnU**|f)BjsJ}6&gZ?B3;Kb7JqNM3psa5nH=ZONROxz)hL| z(tnu{boIWDw}2VpeAg&hqbo?(KWW6wg+7Pv6N`1e$93UGb%tEH6DE96Oo1-lFn#@N zLEDvqVHzJn4n^9f-cZ39aSj z<{XS=zH7o_0UHdj>UEWET(lmV75HmSWi1%tF^=N**Lawv9; z78n0b;==LjGw(gJ*yc)$Y|X)D$(={R)Sn751~>vl%W99feXS!D09fHF^f0x%XU4p6 zi7JDqe`0G>qjLv^^%#bA?nR@PXlm&VEZYZf_&R0R9@H@XuC?c!fw2C;JgX038V9R2 zV(fsWxoKR|d&6b|Rpx`QM@#Oko1n@hi&g_-@rF<%`-cx>@y9xqd#3?k@=a{?8Pbn6 z1FVUWe_2JyU;TB^Gg=sOkC>OEJ`0{}n$RAF`J3-|`r>tQLbfjPQw45+^QDaNG+A_E z61mvC0leXeuT7v0miaE1su@`}WiPkguW^2tG_0lcAUu5Q0HMslYFN85s4 zH`&!7^+Pe5efpVt^JJm?bQC@Y31#o{@VT`mI7q5%75fqzCNE(k9y*^_2i)d%PWE9e z*-(xRCh&zgT7`oPD>{4bNYwAegxT%;7<AZst{=$PO18c%$VVwD!z;#&ZnV{c^$gH46o`JIz?mZHmHrf$AXtvamj-MZ|j#0 zCaRPt4mT|=q9`NHTJED+igGdm5++J1;Ov`c?8yrGL9JAp%@^0U50$1M85M98RJzJxhkPD}*6uHb zTI0Qw7=D(Fy*cn0e#kv|uuv_J-@^M~l8=wE_hKGvnH*&rtaqPWI5FZL_nn}7(b)K( z_*=Z8LetnH7Dd`!6{g+k(0@$NqYa?I^*fyY%d&!l;z5$Tr(4@U_Y!M5I`D&3BKydb z6|#w5XhL#>c(n>Pu%qkoPiYX=SV)u_hOLg>Av>Crx^-_m$qM&2?X+ zQSQahgY*#0Ui5VaWS0_>aI)H?c5dO`Ki$63z(}2F6%UHua{~L5m5&phi!Vz;Yw%u) zPSYD2wHUP)oD9vEv@Vm)XLC*!IoN~LnXS=qNn+x+hjRtKQmcFGm0KZ)Q{{DeAr;P< zUaOLxs~8i*-Bl}z);iqy(N1>*K2Ake6Ait~b92$3xK~zuA0n77362wIqAlW8CWPsa z6UG9od&%C1*&as*$ClQwQBFYWTaMJMYiI^>87QCTPNhr6%uW!livkdHLR>n6ws%9VModc{GtEN z_bv;+b|1Po1f!5MfgKu3Dezj0w6^_nFs#2WcH~ks{en#E_)tANZ^9VW5rloTYqT-C zByr+9dailtM_S02jYFd?(VYxcU*)8|H=#~f4o?Jp2mk$R3Bop&jR>E)h*S@DzFhxW zN&v3-&hx2cTQ)U~xf%T(VGVX4uIZThwbnzb^-(l)q+10yNx1ghAoX`ACQplPB z%|>v>ORLUd&&X{sfJ>OIbGp(N-OW32chu7ASqcJ)u2N&UKn z5TMD@c_j0&`U#@`H8hsy&^@0nC(sDBPOMe4aI%nWv{Ps?upE!g{zRRq*JBe9An($? z>h>s}Y-xK`N>hl%>4;R~a5jKDh`qzPQ|d@!d1)(VYDq8ZL1evXyeTcOS}jDs`B& zHwt5g#ysR3t*n*c*Fhp!w0IN|%qheG*`x*nv5aoqgT=Ypkl2P?S=>H{X0ZKlT{4(> zchtZ^a-LG7*8bH?1z&u#883^p{_*@?bXS@1O4wV}$X$nEo{oJ7mRu}K9W`tW5WdVelF>|nZA_mE&{JX#S)a&Z>VX*fkS?D9D^YS%EH>z{5? z_D(W|N~He2aGd`YyX)e%w1wZD8WJ@qD{EH~TkJ1S=9$A$PvFDa=A0-#SQ8UMG(krM z5=N%XVnN~Y4H8Zakwf1Lb%g%9*gPtbn5Qfl@I2kIyTleh1T7?dF&)J6UIt0?i2@%t z)T3ffdiv#^9d7T(#iN$L!>ql|cfHQ4tP*AO?&$va{q$fclJ`!Vq|YF1&0%Dz%D7eY ze^tNUSt(Ay{D}U%I;JSC@Y0(J{F28trHs2K<$E`(mNb}Zg#BeB#WwcMcD|nMe%=-s zxUuJNOV7wSFn}G0I|$-Egql)N<2oVWuX)AB+O}VwOVq6mD^anXP21b=?=K4DQd4Ql z#7`x2adDhX!C2RqVu~AkIfU;VqHVjH`*>HrE0Nz|V!t z(L)DT;rpAXUGozTcfso${~1Ceq*shY4Z&@6>BaVAvAA55{qnm8kuxO=YgLQe8f@bq zFOv8T=IPOx-D2sX6q*p6voUtw=h&_-Rt>%RWKQzbZ!f#_#k3v`hfcu<-X~=OR|&ZG z;eb91m=ZymD0+Xve4}C~q>An2s8af&$aUDmuseRfow;cth;?>td&*EG0>C$D;?izbu>;Qk$;@fpGgMjMoJBK~0zS+%5x?iz39KRXwEjJj-w^I;&g+C(; zqF~eD#N8>A4}m<(4jLEIeMMBtCrWjFE-rS*)@iaO@6R`u9jj)RW;~)v^vvWE-BZRs z4ZG;MUXfsY7(wjP<$WOsx+ZMb-J-@%V}z{Mz6@j1v{wJ=)G7zmZN9*mnXBI>-s!Qw;DGg7db&>t0GD`%^uM*H=!LH7A z#jlP{kuhsjTao(cVcCZ8O{Akcs>5W05A>jbxeG>HQ!EW6N>fLjj<867H0(pH|= z)W|nyc_aPZuef)FZo+7BR1^X7j%AqG=v!~k53_4tngqpoL=Rip6KMag6+ z3$Vlr)5>AyuA_9I__`bdt$oh~QP@{RIdRP<9VMx`3hp!kP>T zYnl>ev1x({G`o-nfLtWJe>wub4*5neyW6o+U(h!&aD+KaWUoMfb})Q3 z-zV5A2OL}H2+G@fkTg>5ty+YNpf?OapufW~A6%rV?1V?XnhJ2#VGN3c)WU9+icFZ6&d&(6!~$t+V3Qfj?d9{MQZA;7xN~;9uruh*)lIXmSi&%|7`fs z7{fd>Cxf>n`Kmp=^#J{@ovw6ltJY%Ugd9n|@!-r*45imW#xv5nrw4PFNHZ>x`X~yr ztKz>t^$O&XGsdVG|Cd~^_NuA&dh7JwLrdQlOl!{*3!vYfPcN%>5crgw0gApUBY*%G zduSUsRkq>vC=+^hHLl7KO*)%vQS$Jo^oiB4*D(Jc#qr>t4mQurs5q#($%cg>1reQ* z7IVb8ddi%nVUN=8V9%jn>oK%2F>1P(n9TL~koq*8s+tlX{Jsf)tX?Iu+|_}3``Skb z{(^Jl!6C$7W1d2b=rU-nZ7d@2!Mh0Xy<{=lldS)dr{(T~%m@#@7rNa(GGgt$q13Rc z)IiUudz)KFtv2<^`zF_qh(Jb2YembTkxf=Lg5sEmGX;4wb9CPfq9AWeyGNC;WA%C_ z6XAXKIO5}5oaS{yHtva(%1qa5^p?d>KzOnCy$(~@b`E=FOXpw6ez=ab2#$e?cBQ<> zx4rLCVPZ|LyD+l$yx9ztJJhx=@hv3}Ud^#t3yUpqW;{iwzjFn`Vdd1nJ49 zgH=4{8CsG+m*RVrcKwU>%PW-I&M6Oib9)t%$)BuRzg&&j*u>nvdHXN`miN)wq;iz* zw*`6&NtkotT_yKIsa}@&W*lD*rEYkkML&|V`Kn+!UQBbM_b#3OOp`F&Kyv#F zNj8}KTIR`-4So|JDQMbdgk5=BW-vV;^>SOe9%lE41>jAWF>s$hOGBNvl7Wwv>{}Zq z9jhN$)YWulZphiYrg`+jaM79Yp^Zh_4c;7@^stC=uI#y8%2cpwJ2z!^YQDjAp1G!} z#BDLy@M+o~7pp}qH44nHF~U<|>$$C7H)w1si3=*{OvB>G+*5(hapR_0!{&#-@)=;) z2gtMtq8B&opA#dMeYog;Al4h2*oKD+c;Q3Ov}vRAs>`^Ji@>=$o~{0BLoe(s~^p&~r% z*A{^v&ukHBo8PHB^h=(DD2jLWBS;xsY_@pY*o`EO`%1*OVe>BXg}4%gdjE}73a)Db zgAN{>p?|*n`3s6ax&#dJR#0%i_nKjB_*o7CFj4+OPFu-ZR}tT%qZtTt)#gqpo>1V- zENHH?hi*f~al-Om%y{w$)Ctdup1V#!)F;q&hSxxlbmV|y_j0E1`J@RY;T`v90_*Ab z?h}|ctw%68t~+o+LC3w{{e{Hu=-Hpzyr=Y{#F*sNFSLZ~|AwounrqiOzQ83w~<Nq(Pou8L$RSojXO@)uQj?_1x+92?rh3 zXGhhiGl($0qzt&xrjso_?76Tzx4k*$VrdTp$aQn4#;;*Cn57AeXMp9TmTLJWfK+I^ z?OlROyXWJmmT{@6(Q?4-*b6@64-_JI*y?pg&M*r(GF-o4#g+M@#33VZZbo}>-><|x z80P=g7`tep&uE@d+B-vG(@X(TA`EttnlZm8s!N|{u9?=`>etV1DJKDUXY`aHdsfV- zfW=qw-hy5pyT5U@)AjnpXiF|VY3M0Dcn&?z_XXw{v&Y$HsvrC!2xOKbe z9W>GpoAgK}Ov^)rj}JN!x*zzh^+A8H!1At4ex zO**~Jmk}-*LZU1}P~Miu4N34sE;PO4gnFwb5W2@BT0bcz+oB&WcW9VZPjMW~`2wi7 z6w~j{LXc5oI3t%XPdD=J?ohqX=PZ1nE}UPq*5f$&-&ORKo`R;3W+RSWmmyJIGNyvR z41}~qePo zcip7mFhj&2Zb}aJ(8>@$`lmOhc%A4ujhA75Seb!v38xZP0k{7r_*|6#@KNag{_ls_ zOFWc&oCFxjv>S?i2GL^VS-uPQ3KYR?+CTon5ZwGsoEV9<*kdy4oJp9`QAIJ(b?Q$s zV1hR(&c^y*+kb@RRWn;8Qiwf@d7M!MDb6F2)DvhKfiKvg2t}*O~ zrBL?k^UU6{Tt)9E}%*uP`{Bj2*Oq7ITDyGV;*5{;l?3%5UCEU)5=xyi0 zGa%BdcAjSIy29*|1?!MH;2CKF`k-_^#y7}2CAVGmMBiLT?RieDQdgdC222gGj=3(J z+>6fg4cN&{GtMxZcqJRyI^A%wezxkvt}mbq+Y@p?eE&iMQg$h>WmF}FQH}PYF8`Q~ zEq)4gYbfoPMum~Fc!1ZfY`!xoqcdc9dHD;6Sx|9x z7e+tV#K=9-zGlm3m@cXQ-yybIdR=%UE-d1A*9a1J-@ewo9l6YXp-Ke+exYT%DyZMq zohCOjff}w?9KG7Z7PB-zx;8L<#ME;bJaEG9U}fKXqiXdVOjqc6uGL1mj#+umZB+zD zNLsE|QXbZE6!dYHbH}Wc@z;)j+8x!%!sF_MIW6AZ{HN3gMK+yHC-j5}9mP>_5ON0Q z8NONhdZ`^Yp2KL=XE0|R6>#H!ucHP^%axB#h~LWSAJ^Z8zq$_2HcG`*lCPv{rYDI@ z){U!Lw|>>6a>cY&ZZ0#R=8{jpJ}_$-5ZMvJ_YPs7VY(MZ&opghkr9mi zMcN(3ruk-{g5V&CHlJehVs4n+S#6^2kB=Ta!E)&2pWpF-udJM!7eh64xLIo(e4-MY zz2h-sb77#mQ-r^EH*rrgJ^6U^f_|~9%vr_e*)0*H*PYqcc2-oY@mzYz=bRN$9mE8~ zb~aD&afHyW=li`YbU=MRbPp0&M{vDHC2gxq^ie?FbiD#*Y*Z*E7gO_y#%uf2;ieFG z-vpDpmp)dn+$XJee}@THZ7an4VGY@%-Lar=t!nM!vVhTJ9QN5@{%R~WH#7-Ay6|a) z;01(X+O}I4qQ1m%E5+rM!6*xT-pc!sTal7-M|AH`U^24JgHRj^b9?s-KdrRLMVDuUcyw-6=LXd3yWyRG03MT`Z%^F>k@SlS(egvrH-c z6Y^*9V11UK)>iN=RfXJPB9NjzR<7*fn)aY>40XA&h$7j=)vHVHt(=i3vE72HshemROxfJL%6nAP2(c`7Wz6P*~pQiK7IX76Wx|q~rIu zk6>o)tHj{+l&^TIk|f^Fdx=4+_mFb5^J48mndi=wsyAm5ftY(@A=ozuTeqreIsO2J zBouKkC!UZN{`IVk3%tJL_~RTp-c`UESgVH>CSb}2Exc!c_3eaQ2|efi5x>RhGkM8- zGNNEH6pPn_vT``Thu4`n_{n|C>R}M0wc|0?nI5DjLhxue1QiK zzB1w0qYsy^>0}#*?5bE9FI-PVjeH2lOhr%*y-a#gSJ4df4rjv|Il$|PlBuIi9d(yG zoNExog4Y)N>*=Gjl}}lS0g_ z2YtIShA|at5NPzhg96R_2LaUjeB26fB!LN(Mc#d-CvUjCmv4XS?;BeZZ43IcIhe+e znw|KO$9VK!c7MR=7ze_54cvh3FPH-tSY2alPC86+?f<2Lg-CSRFHd6?usUBA!p8~I zSq_X_hYd!}fsZ)7Br-`!p8>ka63nS?j9GyB_Waf2}y-qXaER#iz{*rz#s zSv5}xq7n4LHRYLle;d}USEAbRu$dgfHnXAezhffw3;1oA$1$m@0vRz$Kgvo4agj{o zVgmAubY?DVpV@LtGlo%7v{00ZU_*OLO6s)unQeXz-3p81B1hlQVtAR@S5{`)j zgI`09yfWuY$}2+nGOkPqc!0PMEZ6q=8Lwrx@<4yRqHM(Zm@>(0Q^?4Rce> zm)nK#^A$ws0e<@;fGo;eiap)@4%Z)_KLs1JR*SJ1(V3F+A0dU5WDX7IUn*B!ci6t6XE}p`Q@-OqN8OsPRrK zHapWNdoGL(jJ2$ZmB-X~CruD&ip>=moC-j<4c&opSNpF)=xbwrDet=1Q9{Yy4Y8__ zRPWspEjC8{87%Mh8Jphdo``Md`8v?TZqsxZh;M1}-?vJPlm%ftzxg6l_zRlKfo%+w z%by}yqIOlukO^B825Cp9<#JEkK2MBsFMMI`&-WU$LB zc_8OJP2#dSd&&Y`qVJ&C12IzhD{{dFif*S&aQe_ZE;?!a_{feNz`6!p@eRG368lk* zUKFYZ<%P`{v1OA9SKAd_(s4{$>BM*yY^AuhA+XdqksSU%q`hUv5K#Jj%Xb)--*#M( z0KHvT4jW(bUE|*JN=`9uH}ExDi4H1P?yyY1sW~qg_gipi^8FYwmGBA|?f2kwO>$+9 zjl#c%Ue)I*ma!_ly~M11{i}j>tAh09$Lwe)dMgY2xC(w}=Vgq?UT9J{>tD~Ts>;fV zoVE3Z>x_v#t2u`qJT7h$JJnsI;(u)um#=Yqh8rLMO12)}Njmysxuj!!Ivr!gy}=HI z9eW6a)<_M;k)w0PF2^)*zKZJ0sRvjzG^u!`Z|Imv^yFvFV9xk{rAc38=g8mxN7Hr3 zQ{BG*`w&93>=9)pGbEdq8Oq+u2-!O_jyzG>JA3bA@2#wCPPU9P4$2mXH3&2g z6{B=>0W)OW0!g3D!N$kw^Qw?bmsgAIy)@NR2Ix&)W)pqXRi!Mff3Fa(-ECk!C2BK5 zRElo>hd_4uoL+z-7D!q?BFbtCgi+hcZ3JqiZqOsvXF=PD?%2ckH10gm=jd=S^t5rK z_4C-)*P(7H59O*}QZN-yrfRh8tAKq58vX=^y8*!{;7L=OfOkyQqnQ zzk-9lp=VnqXC)H@<95L-$%juqbSOSKnsA5hS;$zO2K@OU6+sTn3#A1hL*ljXY3274 zxeD9Qn>Kh#Ms@Xtg}sVX&nH(fVLn^;E}iNJ-lYI~OS^M%>^Zm_EDOqBPCZ!vE@c(0 z0_!`{rr3{`65)p=y_wQWe0Z}&`n+xKId5W!SEzR5?az;zX-mrluQMS^2SAM38))d=0ewtu(o}j(6*g{B= zt+z1kE+00uMUp1i$8<6tC4Pc|LQgj%sKKiR3ZLa= z>V)vT(>Fd^8A=(LX2(RAzkY%(zPw{oeU#yllqi9&J=yw75w2ax;peTljI#g zy6m|akyymaih-Qv+nbQS#f8rKsOi)SwmPZ8O-Hd^%s#IjfLFCSeAmn@+kO-g#rDsU zm6enjbF*tEqWq4YWSYF*(#(gRmWt;Mcr5$m?GGnHdpE zPkZB8r^VPqo|C6vT>q=y&rZxD;(#r9$g!O!x>rCx()_RylSJ82`P0pA2NpZG_4a+;Z%DPN-|{1;FD3c<@N14)aaNeJ0- zW*fhH&GxmYR*d2m%tU|UXT&p763~CQ;qXS>MguXiEinR6`*MvF$ag9h)<9G&<%*uw zI0SXluKEbgc^=ij~6hSiS7{_o8+#x%(yi{#CGR4Cu3xV2H4aYhxM3*m(N67N}x z5aWgvG4cFLovxwM2su(J7K|YG&intIl_)J)I&&e?3{f6@Ew2!*xU|f@MEyu99|$ph zD5xhFhu?Lp|H*H#iuu{SA76SV?NcLt$9q8-x-zXrRfIqhx(Kq`*zjN-NoZk@Ry9$g z%7U>7l%17_DB3aGPjdGLe6f!1Zq#C+7=f-5PIt>-#>42EV0 z&O<563Gc;}6WH~rP`VNWMzC(W{MakD7fsZ>gnLq3{N_(MBwYuy{{{-x@mq(7^;l?v zt~}Yx>8lNmxXs12B;U2kSAZan(2DB?tAq6 zu3xYZh4n443Z$nv410yvGd*M= zP4mI21F=vlA3M#QqWi7wzP`))MYv)1^4m3}NZE{;*X-YWR-98GpaN5>>iZ+Uz!AP8 z2=z(ElutZ#)Nd&T?JwMN2M$pUcc#u490&8TONlsbZnpjFHb8N&swfOgox&8T;dbVl z1f=X@pJQ3rzMvmz({2@;(q%`Io8G`Gymd%2U4++~j}mqMdqxY%)u`ijxrWG)a<4_SR^_(h*~l@H9nek0vtdG;GZ!#&3ow@wpqSINk7c}La%eacsu4|_OadHf64 z2e&sGzrx4$4pJ>beQGLVajSagJHkO=!92R#y&*Kh)3`;se(&E-`=K_Qt;2LhzxTer z14aa%0#I5ld0%ls9qJOJNi=f(;=mI_yek0@`V`PS`oE*v4gQn8kdFOgUk^`qx7q7P zi;_Kc=v@M#7umNqntR}5x%7W;9o(C4?z)5&89JM*<(p-du z&~dQPm<}sgwSmTmG2S^DZ;!uIJ!fLF4OC3pWG%#MPo$lS@I_gOD){&KVI%AzYYpf& zmzdG$U4PBH9w_^}ngo#P=tM~QRIO9wX%|mS_5zYagRF&DE6b)Tkw&7ikwU+B@5_g& z;NJA3CNar2FCzRZL})BWx{70$;|z0UBu@+!jM%rt0tDYbteiV$AVA(RwLG^Uf}YH` zY@GSYICc1ipObTWc8U~KS3?17oyu9x9-M(DZ*8<&)gjXjFi43pI!C(nEWb5t3|^- za(Om{N!4ugxi@P6og-n>glAyl_^Kcq#!vnu0Aci!P|*>=O}Wvz8^eRG5B>RggbiE| zgd-b#wBo(ua8Di{MPKM=1*OHzmJbp0G_f$9a;e&wSJ$&Zjcq!;4KyeY=ZrJaNYXe* zV&BZCcd;^_i+_(#W^vTvRbnzf)&L?=bsyX6bH}L1H39$c3jmbWt{`3ZnsASe_i~pb z$N!B9-M{emrK5uS_lmo@3eDEVEt;uEC*y3i=HhSM9y3UJGeVzaJ{V;;d_#Tr7rLGV zJdlUBx80m$T~D23{NAG2!`{99$M!Fo7}t|{k<1tO>iCQc45_^z9D1otnv_ULuZwBD zj={&gzkrsnV7^fn|wLhqnA(nm-8 z7HCayt7yKb8N406UYfrtIg|aZ>xShnIWjxj+KSH5f+;L-6XI-jbrfUP_`y?(g7f zd7{?UgLL?sUB7=cHam~*)nh-c3*B#VKo17r^*kf>8GBy7|EFj=`?wS5GHK8-%~+ooN-JqP4we1XItP)5F7Z^Q2>1H?DS zdO8+l!11669zdV!ytKwuF~#poJHs54f$7l2LIn_hFYC-U$X^}ql65_Q6t*V!S0b-r z>#dHGQq`c;Y`urS&n6q6waM508vmK+Ak9s7uJCVop84sPf~Ru3Da46t|J=d2@-2RO znXp(NP$i;i=vGr%iQ+SIs(Z(*;cFa5c=Yz(&|KkJ^9?d`Y<{7JOOkMX@K*0`@K=7l z{TZHB+LS^ijnP zFjWHNL+Z+2&KPYyh=3Tys-7v%${XBB2rq8d_Ux{}eQwIQz{QJ?I45L$>fuZVGRUt`1 zYUhM0%{zYNj8X;L9~BsB#Pf#B{HJ_>=lJ^EoZSpDelxtg*LZ#=Se8=p{p8qJ%N}=Y=BR&gW$oLr6=Q-##-qS6t@C(^f=5wuE)F|+p$y5N z8YOO$`{R3i9y7HV&3Gp!nOhR2)*1Z+1b|xh=H9v5A}#1l7&5XC@e!Tc21s>XF7JIp zjQzwl{(HeIT>5lFJty7MGfltQq>FN;_Y{u46`v1Hw41e!$0wwWj$l!nzN^FEePa8~ zgd|2vzI^c^yS#7xCeQeh|0x~a>i3}+P#_5Drg~HhsF=s@s0f*48;oJGNuer(tE(D& zshIe>D7%9&hGe^L^^@C2o(+5MzT0oGh~}Dms$)jf6*@Bh%lDW>a|g_V)5hYV?~VXV$hhwDL7H%EGm!QnjVxG_|## zL!D0BazyQDX36Z-{FceO)I5z^bOla*zS_NI5s@Pjt;cM;>onf;zJWmJ|M4sBJbJZj5|;g(uFo<#!K%r zb5BvQv*7RCAK$&X)W37sVO1XmxtttER@9~%e|4pS`~7!YZ|^`3*tqqSyVzQ#l3J)O z750L2Q!=H+w`!m^c#9(ak1`_UVB#MR)H7kZe$K|ZbGyawQT-D&Po=+*3^CQNXv&kbnK~rPrb=s$u^#r9z)I0rIn=z#= z6stYA_g*N(4zwKMCpWp821VZFJ@uA63X(ozY&yGF;^k%a-`x}^Ly1%Sc8=ng>(U@E z>R!q%Y2MeCF;-ia~?PrI{Og5 zY;q5ujV#cw=~ifI3p+_b*V8z?<&Nu#&4YL^RppX?Gq0u{O1|O4t#fPKT10Mrf0*+4 ze4{I+_;1s$>RtfEUKBgNa!TLpaU~P)9_4M`ePor;kp-SnXLfFWp{K>m`=T)O#_X|k zWIes;WiW4cIauj$sN&!cr{(cmqC1i-1>A#UCr2rpytuU(Q8GTk^Ii^`Ltoyk&HadZ zR*2Itb3S`~>n&2&8^TF8WvVHuwl53zcRS?ibr3QZ*4Ud~ZBZYDQ!QH9Fq9!FM8Kh3 z+Pe;`-2(lDwR^q?R|&XwBSO7h=3swff1%3)k94&8OPAi$xZLDI?XzD>*dG?s>%nbw z4RR^Gd{Oq$cngYhNp5Xr32?mtX*XibjUUMk+!uVVIs}L5vg%?KVTlVc`8%qgRdX&d z9h9rw{B}6>2kQT80UndeWl(|v(YHZo*vmdjm$zn0_cDa8499;SGm%i>W&g3>YK*zkyI0HWzK2~U)`nl;{!S@vN=IB>OgIXy3P7V1gpU$J_4Ej0jKsn|7QKRqph$dRXJ>`JABnZ3cX0yFXi``(M=(A4ckCzq2PO{YKv3ed8`yNK)2MHh^9zx<~=H;T4pyx0e-G(55kBhbbWi3_c=b&UB{O z-%P#%DW?mAL)g9~yV^tY8HewT_2=nw@stk1E3}eJKPvX1D5wt}e`G53F!betuBqJ_ zy#{gNt}+0w4fVr`zMMIDGM28{UEz0ta`_4?{spec(m*N+2TZ>KP=GqXb!zYNMq_UFsYAS81(w&^E+O3v?67jBIZ+nt-^iO zY1o(1zw$)%bjAdLvEa+bd1%l^wfC;a{!0bb&~-0J@s#SDgRPT>iT39gmY(#hN{yhc zRR;SoMDDYhu;o_Ueb%)lHa1q@^Yj%LC8_6H)Zp0nlpR*dy>1JP?%QDRj{W zX6qGH#jK-Jyasgty-*I>BLSW{ddPb1c$)~lB<%#_PBp8Y)^H!1u8$^=mH;Eb0*hy^ z)HpF4zAeEj!CDpKjN4e75d%`lezfDQI{0Qy)U#84aJb~`7hj$laiy<|!DY#EWB8Bi z<&BvV{LJerfyA!_ngfW4DjnOxg>7ljWBv3lFo+O4MkzzY-YItdaUB{dA-y6dyJqO# zB1E}m@D!|4#91d2FNi$1AwVw4#8C>~(dVQe7exTgxrQ)289k5qcTgZ=sB;bEp0h8k z|KPA4ty7&Uh-*F|h|FTX=(_snDs-@h;BgEIQ(gN5JrPl{qBgnQ%F=Ys{xR zF(mNuYQFYighaLcb??F0=)295YI9gfM@!86yH)8gxCSKmVk=kEVDrSs`;8C;%3;Y-%v1Ac1y zHa9kA)EyG=aPwL@TImJ_Dd`zVcofSB$H7t!4ek8AVzmd^CJ#DtF8#7@GWh!;m}%}) zw+iKdX!A0m5$y|yZo7{Z!a6-vfDC0X zP#bvD^Vh~D8SfrMWX*#rf3zl;9WA3 zrbI(IOZrT?>|+>i!e~rPL>Q$bm)B_o`0v)-2B2VHMR8%1s5|pP$61kD@82>xNhiZc z6t7KOMh$V9Br#fyzN78AyTNZ*bfcuL_^I0B3V2~yQ}*r7UgOgThsC2Dn{ASVgXJ15 zue4zgB~t$3_4Bs935W_X@$Z(`i*4@0IvOTi1*YRScl+?T?uJl5O^Tyxfdf9-C6Zkw zz?`9YlYVaBx9i@@^Yz;GvOGBPNkfmPnYW-d| z;4kZy;Kt0pN}>m1lPBfa)>;T#DisUm**Lbk28UWm7+F(yTPI*B ze)9%g-TwJQ-5A2bm~Fx0Oqc(>24$D(0}Q(?t?x_!#w`KbZ=2M`xk6=jB*ZRJw+;@9K*9?F-7w9oCtX_IFx~Ac(lLq zu`?;q}M3^R}k50TJMqY8IOb9ILM<0*#z=ZfOm4UYtYI#?ng*0}-q2KPMlcvZhf zf=5V>D&3A#J-5zSBde4voMRQn0CO2dk?VAksXUgBYsjxi$hsl?J-;Q}G7nFlT5h2jnx)x%A) zwHrPOCpN>bNue%Vc^c%n)ru}V+F!N%j@{1Z;e@okM*&$&S_Y&*tRwSx89D-fsB4&n za>rSPSz}JgqEd`ax~d_IYDx78eacb8S6(*oOq#{Jj&j^e0r6r>t}i-EN#BtNDt2!C zRU0Tl_4g$n!B=K9zW9ymXyo3B5GBz-?23h97v_!o2Cmjn%_7~#MS+WVq}={e=c@DA znzp{HB(QY9g!i~=#{2PM@y#M`6)SVQa%VyUI@L*&)Ez^X9RbmCD+fGSc9|xnb##=T z{HmC8{Phfre>v}SS?KfXyD0-p(_``m6=XYqic|Ijh$N9{QE3<@sd+dmjs+A)bqw?_ z#_;TOY12h-dyP9fkXYjoho<1+6@AyDSV|!4p7>tbzG{wNwq>%w8c#-?KG6wRQn{iC z)gW$J%OwhT(82GP>NKeFPi&sYKMX5>Z$!w<{$usIRXv6U1=5Q84(i5u;_NXQ4^)pD zaTTl|+91A39BzgKBKINK8)uW()6;mTcNe}JMKm>=?)cU5#Y54a9Y&J3o0}5VHqvg0%z3LbBL}hlnZO<7->Ay z)zUFiduF6YgZdT_6T7l=f;xHnz^Iy8Iw~%X$EhvV1g9yaUQX2S`{sB257E;fs4%WV zZ&mNqgQ3vn*sMvm{J>Dl5t!ogDOU0+USDLIc=qy{7EQEyo6Hzt`Ag=aDzDZzs;IV_ zm#*=ChS?RZG_(u7Z+!OVd}LEnHx6bpeI_}O; zMM;<|keTLBfr&*NnoO+r38wJ#{6|w@WEX2Uw@|fX5-C*uKwI8q7tZoU;JQVL8DVn0 z!Sr&Me!&s}uoa{<-OG+OrUp|(>9ANEq`mghrAx(CMXH&4orD)#?LE;qh8#pmj}OU@{^jV1&40MIiNi*%NR$)?dj!Ir2 z%G#W9qMh-cWRG+FX4ZccAoS3E9Cm4h#M0tjgnzEU{rR1)p_Gr`j z3+GOhBFQMYZ)lothMVb6lR3Z&e1Pga(xR>-cg%Q92|^Y6jxIvx`fN(L#zJwL{Ov_uR-H->dl%2}v5Jyd)Ib&O?>V5XhHE zc=E#Gc&)MEZ5Bogt|Cs*hlXK!Zh15I?)XiusBd_!cU|BKBU=SvDv8N%i^5L!M&tqPxn2Jg zynX>B^a%ZNErN^;TsBWgK$xJGcxAta!HSMj1}W$oQ#M!=BLb|t?894&fX++Kwn#ezu+B+bHf)>(|WL#bAF z0h+jOUVu{rkr8Lk=e*9j>kJl=pGrcwl#W>S@$g#LaI2VDMFtCe_*tXjd1Ka%3e8^6 zKbZO!i-gI>OM(EoKlV-ROm>-QFBC63pLF+;1LkF*QU4ry71gjqOsEFn4~Fi&o+Sy&I#RxAh` zZDE)c$)+QMDs9yHZf*OlmAUc~Wo5%4e?Cx%Fee1zG{U#J4B|_+()gd5zcTppE8692tnbgB#;@7&-*le_kpLgk zYPt(ZR)LhW4%YzB>|&5MlVf8mwy$#msRbMHKuevnjX*Kz! zX+;CKD|jYhdfMw#I1q~%R?eL6cP%y@;fgV)=TfSFhK|O`&4rFJ?p=as{;uP@<1Tny z`nq3EOebk4itMkwr|*0taYDNEG4 z-Q;MahEL)JWWW#U`sZ=A((`;03&1Kr(dj#> zC9%gE7@yvKtdBxIsuAXD6ya&U_9d3uKrUQ+)pqhv%K{YNp_ga2=Yh&2A4>+Zk9gj? zG}LLMv!Mk*DnY@#)~ZL)TcN^2BhA&)p$Y-xHrxhxy|ZxfTfY(_?+Ta9hUBl&1z3kb z3g(SUh1lNvwOx?)880<^+FR0h4FJZ)xy!%#0}TT$AFs`ochw|r(P55pwS*_55kiRi>^JX;gbzuSdb((zc%*%BH!+F(jddZ7s7sT*EZ7Yy@;VrE5T*oM! zhwt7Jv3IRN$qPGy{oS!PE^K#ijooyMIy|y69HrlSq zJdr*N)g@#-hASVx(5Yh(RTZaibr{ zL>j7exah#jDr0HomW9F#gc%EG9~vfu$B|9%}ff9`__+inzVfh~KqRqFmFn4>>4 zle~B#sXT^q{Oapp)W?Mz=Y@BT_7r@JS^2cRr|bm|+hL&o4DBQ63p|eV~MNkCi+nO(|zewmM+w#&w!u zh=>T{mU!O6kV7XfZY#g~tOmz_G!+riELuJDN#I^wk9D;+s<$yi%pZ- z-_V+S3ioiq;s&(P}Iz?97-+J5>RngUSdB9({y!z67Bhi^Ln#J(cA^ z-rXVb?!nsSlW$u)L&I&!k)G>bH!#F)s}F|k)X786x^bciNiC4-w1l1%Z}en$o3`$k)4+@-y=71DkR~(Eu<>;n2Z#V zOpL}%-)RvU!kQqv7nkA)V>ZMKJtYV2*Y+XJ*3!Iak& zOE3XI?9Rh4==e;%yxn5j<@Fo{TC-zkZ-ZKJ#4rPhk7Iw6gap89Z13v ztW)4OG9lyzGh>Fv-$KOXedujm6mT{Rr`vtFuKEM85^Tu5cILKi*@-3jn0+8^c%R4=@axV)L!?*LBsYzYYmPJXQeH4moKP=wlM_P z@T+#|kIx0>_o(5w|FrFjWp*eRV3?lzX^MN3Ov1yjWXv~l+<)))Eu5w{#U2;B8bDq4 z_1RXm&;m5_La@~WD15mDVO8w-v9t{pRM=Ia+~BFf3v#`}%WxVL2uXwP4d;nZ4dTUl zV1LHlBRO1f08{gj)>agDgSN`gG0d13J0!Qogz~^rm(>T}2Iw%HPk9?%exX$>mV%q% zxw+fZ7z}yfK zi|(yeDU+ht(uhxfX72XzUu^LN3K60CMshGcEHohwFj}%WCK_LPC>> zvpK(A<*v(quo@oIs^Z*$lG=bvIC7_(5kT+8=2`Kvh`v#<3!J+7f*88k0%#rGBjh@R zf(&B*^QU2Bg#_I3eH{S{286gQy^!k9<zqD`+>@9g7EF1(F7b_?|$qnHvH-~NSZH}eAS`TGy@$TktkLvD^e~c zGTW7v7(&yh_-UiEP)EwsaCw`Y;5oyor3$csiz2h3k1etp_q`|!5kCT;uN&%xisR|- zjWxkt;u)kSwGOK#BPN&&_k z7QF;nFibcRRo{!rvgvgFr1|;7{cT7+b0M5N@fa$uAx!Y-{Z4n2$zX~e5f)Mg<7*p6N%IJ>of|oh!>L6eP!M(9SfY`W5fuR z{=yS`rP8Ginke7^$ryl&uJ;DP-7S7g2?o{-z`@`e5m1cW&b+)ss=aLb z6t6Xg2X|`|td0))twEPOq+7YCQ?SZ-=>lXrhV#(Ob|S*6zK|HgqU;F?2u34S%u#2S zzwiS%NGxO!X@qj_iB{IIs#X;G?}XRI@LLZi17Z;ulmzeQAm;Iu01$b(mpz=kyk2aY zg&;uEg>3Mr3dm~zbJuabI8j_rq{g&jS0T((%*D4y1tH_1msIWZEeX#deiSi#=i@0W zLgZfLJRUO68YP)t?(o?b;TN4r3S^XYPunKQck|Y1tR5iJ$cfxOADi#-!M$9y`M3%G zR6sezUjNVUT}S3N0p5@k{LIQv5k4YRt8h9X`ae9GkkF~ag$fWQpwZ5D@ znB@P!aRnJW`54C9yUJ!oXJf7(gfhUDh%L+@YncTlGL~*LHrO%wSKm{1KECnMAyFHe z+n>e1J(FQJhk7~MrxFCdaZ z4Cjt~!r@hdx|p6a!y_2DTRlOfAxs-w(zD={IWQzDOP5$Ou9w2sA~f>H>NXq^{uL^E zWg+{b*;};hV)A;=f#rv?^xPWx1oz|%G8Xdc5H<0ri)=J-Z(GTyLUfw9DPGD4Lh8l} zYp-p{VbO4pUX!UwoX3P~s8A*tO8dC6e3i=_?ti8NDYb9;W*-f_MTgVI8Y zDpd&Yyyqh2=|*IcK|HeEM%Ql^Wg9@^02Pso-Rh4-pa7A;y-Q zZpoR9aC^EZRGh;i&L*MoZ18A40;(?sJPxyeP7F{N_rdRH*Vp~Dk;IWAu9H-Nsj6<& z;gJPz7@!MeV(Qvu`Gm=ZG1Cyb-k)IoVZQ|-iT|c-z zL@>X?VWzThj3@(``u>8R062>NwC zfh7TV{VPu{_h?Qugo7`jB+q=Y_&^Q|oT-lH^ZyzV!(|0#cB{%eYH{;@EM{7<4( z+KbKbuS<1%L5Q(CIJ^3)QtS`k8svMS7#Fy}yd*4m;fjnY9!rzs7RRO0z0c+bM3!=y z4gFu2Yo^BOGU-v#uE|6)Z!P0;&p8ApGoTAg(Z`57|L9Hjb?2Q%vE8UeWAIaUj`*il z+mMDMjhmjkOSnTC#ogN*VtA_O^S=B;x)Alh3vV#OW@1IJ@z#GGzB>DPQPgM z*bp8cDZ+XK4omU{ix|udH=n-EnyZb@^V;$>2M^hw=-{tQldq?Jg7pt3kq?kajhSs{ z^;GEjsI3*BG(z9}gBv`HA3KHDnAm1;GcNasLKz{}m2$F4wnKtxHZ8?PI>`2k9*Fzy z>F*aADXshNJ_D9HwmByFO-9#z{SZPnrOM(!Ws&-L3Fb**D&+aCG6Vsbuf^&2k#3zP z>;EBB8^L%oQ8=-zmfdoJXYr`Ym8g}t5hgxnd3JUEgmY7=lZC~|%h8~5oCtsri8*d7DiEoo}es6lvsWjfG2Wzc0T_BR)*2uK#Ue#5a ztP%yUd2h>pNwVny8m1xvy6}1|Na`^Q8b$cMpIy@^qj*6Jp5X-ZUd7SwDRlyoLD%X9 zh?1F^G(yBd^n{LR}U=TePzyS+Myt4o>d;hpdmRmP1vRw|*rViZf}* zhCo9IRvDV2EcFIEd>yWZ!yP669xR)e6a?~RB3-DUN0Kxdy|S(x`O#k02o;1U6I7&u zeH%%R8?ovw=1AQ7Iyf$WfM|8v)5c1sT&l;0M*gM}jo;?G5q+3Ahg5KxbJ7mYlUrhP z913GKIpqA%m4N?W#N!xJ8N(w^fD7ObI}ql_)jfP<-DV`kERvz-F#8Vs8BiVasWfvh zo9D&ka?`jC*LkEyF4JUZy?l0~rx4{246n)TyTLVB>tY%M|%Yp^L5Z2e{yBrs_i z#s_h3%{~Mur8C_d>WQ3PhA*HvKC5WUT9YSj%)4e`j%66vg;@lPtWD@qcf(vX%pfhj zT`cruvE$+z^$n!tgmF>2ng8|6k=tI~z26Q* zt7${ubA=Y3k0F@|R6!sfQqZU!=NM0r0Y-ZzU)K+u$k4wL{~VS_NIV&n;0^xqZ)>XAZWWlb{!u^2r!QFc%6FZJCQ~_EmX7`OZii5+8 z0l)9?WAn&WTJg6>ytbeMelr(`oB~OJt z+1PPrt@kebr_NYv%0AVxku`gN7;9bsX#5pvW=af(o};qvGfK=!EQ(#!l0z_mAwMgO z4D962^XrkK^e%7%sdkjLH*mADX?_ z8LlPtVtDk)U-*~5n8EsWXO4$%@Q2ltzY~O8eJyN5K<-iI__q%Q zbVGhn{DbE1>3E|iVH}mOGI=>cgk}h5r{T8T6Y8I{esOS<87A~91zDQj+B6)7t~2D3 z5g;kzCtlh`k51#9L{AD3+3`mAu%lBh5w0Her@qD<(x@f7n84J*ok0c&(iW{fTmBHt z!8gvRFXX}wlW^1ZHrQ}Dto_1kxGm&!bc5e z4>)aX6p%&ST%V;;J6Inmmh@7otcUMs0~#0s1g&i`eqJgiV>cGu-qMe}$CDumiP@8j zEQY|F%sS-!U~duPj_U4mDlToz+v!8V%gxto9cv!wLNox1bg1j~K80#Ojx!E^9~GnY z`?1dH6}D@T14*WD88uw8b^76>h#^%myiw*%jzNSG8wLplF@bMgiFURqs+-2V{{FZ2 zd#r6=Q=@6v(=FB}Wf@0}G2K!iJ-HRUYR5ysk6 zpQ^O%8K4GqV!W_tsy!AhR{1^H-mCCbI%U|Mtz-9qSmsvQne@+Kj+VFn?2AUjXyljgptf;mL?0ExJii0Wc-X*`=tC^V6FzOkJ}<> z93vsbb|{(nYyE;w2${b7t}&g-jU1*_q8UoZSyi>L-MmGtj&W0aD<33WZ<%$33dS| zi*T5{41}BE`>C8TOY+S*b91z@4;ds*l3bBzGsSLhCocyTJ2T&)08`%%2$tEc_rxRh z1ldSHDephOjJ0GaH_J8`I(q_=^bojI|DF%4#bn_41g1j1kWhYXNiuY*1Q#0mZkS^2 z;GqRw(4702d){Zuq;F*yta!q%?vPB#XvX?J^DdJ7uYajh$++-!c-Ri$b&oQ|E0tyc z_w-+01Zj*;h9`Lrp3+84dqf%DJk*Js|KeI5h7s9e#_Gf-V zQ$t+Jd{9_lP>x?>9AOHEC2BdD_-T(A3YQJ%A&!(rzC01-BdvYf)$6nyrU6O#!sRa~ zemeX6Pwz5YLaohchRUc>sQ(Ie6fBRMAO`YD3erQp5b97Ee=tNx0ZY2<)Oq5^ym;mRn{SpPp~bcr^ZS_1@YZw^-)Zy?E1)l@)Q}2XmVF^B~HqTRI)Dt@Rx} zYDcTlzus-wT5oPp)z8T370G;#e`A+zH}09JSHrvi$+Pf-9wHylE|0srFNyUEGplHK zeEinw!hfUTNzP8MnkyPp!n!0>t_>u4NFSIEoXoZi{ym;KX+C(c$-KruibPbLu1$ze z&S$r7)K$nQq-gad%S0}BmOrVxE>?>p@HSa`{tWv)H~L8{H8s_t=0$1UOZ;>1o)lf9XW1Ud{feIhuE<72c zN)J;TE2=u?v{>;Vq16EI+}II06$i*(m`mZ{*mNxs?v(qEY4(lrF|zHpSAMC}Egm1T zo(2RuafD~pIe)#&|LZtmgo@awL@)I3%0T+2IU>!UuH{bi%sWy)A}5Oo!qHMCxQY?! zcuAGq?j-r=kN@QEIW=;)le^w01&ru7oXtiTeXdR16TTz7&qV9O2r2@NTX<`4Jr}Zc9Q4kU|_%_wA`m zObkWR3#}^PPev6TMRoAxlYiMwMjrKF*Os~IlpF3jRaHdL_-p@i`(r5TJn+3@^h9S9 z=l?pbgcE*g{P}~J)yl4)$!}E28U9$~7Z=%^?t=zXZMZ3t@W)l2qO*(+x|+Yw4)`N~3e;foqcxZU zi9CvcUn)u5ta))@?&J)2>h`2aL4UmG$MckTWKiNyJMm=Hq&+{upE1talI>>jWY>zj zU)dvqze<0 z9Oe4G_Wkjf?dAD?J+H^}@qE6w_X~u3aG5<&Eh_K;{mRX)uhgea)YB>C(3FeF>J+e$>J= z3bHq1l%wCi)I!;PlPz-YQ3|Z! zAh>2t{?v2S=4*yI$uA-oeEn_3JQFsA|C=f3LjkB-h)fks7r?))Iy)7PnF_Vm!pT(^ z>qG*ll}3x;1s#(I?sMk4$9k8nIof+IyeF6gq&{<-Dy!?#!dn8&7!PXL4Iv2PHy}Y$Hcv6$?|$wP3%`j_ z6oXuJf8Nz0)v6G|Cp&MD;h78Km^=xNpJqoRJpAjrG-}22I}T|9h3|MF+HIyR0=zle z7}EwwmXR<+$ohu1#(G;k!a~&Bw-aXVTjrLg_>{JcZvlDT-2I>W|2*Oy?E^gQZKNLS z(5AH5uWS>aC4g^6uRL4V?Tk)ZWc90Ey>$_UvmmXyCV*0ayknG-d;_sm6pYw5!O6~N z1D{+CE~k{4e_F;D1Hn<=b21PVU%&<7M-(-jD7OEXT5R0^pey+HHV%0m_d2+eJ)~H(-J{r2RK=ayG8NL$=; zG-9a%C`6s($CHjN-!A+9{twmFUg-BNm_>_MMo6?!wggX|i3QcvwD>!tw&!%RqFC8; zU_+#1yP=iMyR64Gm-5ccn0up_wt(!npb#CEuJ%e>K`b2#aON1%zZY4-(&hi>1ePtH zttnFP*Ics9Ry+p+lvF^2X&L*+%kmNW3eYiM}VXIhD7WDW}@Qm@9NCS z=qowS$F6`8U2D3;skiJG0C;XUA&OQowGWu4FwN+m?24aeJPZGt?_oJTPRd!2HHvj2 zE8##8kU?e(9w*BtI!qmBa=^vr%_d;hbO>@B+=I%o-;Aq!qg8Xh0f|$n9tYU1|16K9 z$vnmU3s#;mpRk0$#q~2`XHqPz)7?i7E!jySz{1^N;pu0yl#m$H0fD2r$n@W_cST=B zp*XUH+<~I$$5K?+s!|O~-SE^`@`I%%Aj;__RC1jRREn`g( z9DW)X@x}oBPv+K`{gmgl;`AKj7|Cf_y+Y8fPUd_yO@P(}WY|S*`V*K~4&P&HKITPx z6S1@dgicgSb`+@T);0eB>^%3J`3jxvFF6^Xr3mgb0_^Iy%wj%`M~uAG^`gGDrvi?^ z3>}xUx}wYcDt)E5I zQ6l)cPnUfc^(;TZtmExT!5Sm3faI<+utpRg*gjOmCpC`-Go0wk3pZNn@WW-y=!SzN z;GimH*UoNUfAYSNc9r@nNFPY2%dSB`Ymb-6So!PpsJ2Y_#~X=(16!M}r1p_#Evy87 zCgmbC1$$0IGb}-YMX@D-&YqO^v&_O3^rkmwAI9`05IfKuH001=lI#vyo69Kcd=dQN zjL1Gz6wKOC_P);eyXbe%@2Rpf)UIk-T|%dv*6FSk?uWEzBh&wuPVW$Y18!^Nh;-#X z^FrvhUv&NTQQ4M#Ne)6c8bU|*{0Ms_1V)DGe~Sh1aLZq}%L12@8Hl0bWN+7;Xm=&0O&r)L0&p~nd@pS#Rs@^EZELHar}?rmT=feZGXveU#+F@1v7;!Yu$C!GEnwl z)+1PBPF=w49}rNP?1P>(W($-8Yef_wN56yDx;gj2qgKP1HA1G4`dkR)^J!|A@Z?G;}*K9U5QFKXdEXOae|}GzUc%aE~(B_{G=6mwMALFwZiLO zdRT`Arw>SWZ_h)Ax+VHEyuAC(vpp06Q^;)22c6!Uq3?%^* zY$yi4H9vB)48W>REYFFNLpS6y-W&#LMCzG6jBjr|AQKYuF>VQ9pE*teD+TzU@)^Az zQ(Ij0CD9SSu;8*3Vxy88Ak!qytSx>^gZc9g^FBzWmM^74=0MGq@$IC7s{C`Iv}N_B zw~V+UWdOt|Ar`-NqHw`3N^SE4))hqeS~Lsv0Rs436j^E1X;-9Nrw2#7cVK0Q5EJ2y zoIq6{jS%ZJAC9U$?`jmCk}U{~lKaI{acUbxyHlqFUods~pepF@=9zMO_+f{r%Fo&w z%-%aE`|BT0y#oPw3^b!xlj0HEY}nR~$PkV`L82e1B0U`CW7=H&3Z|?6!gCQE18PtIP2Kgl zCZYP@8J<^PA&6&k0eZ1}-aA4nmYR%y_Js3@xdZ(;vhi0aqaOuhXQ;MgXkdYjv*R^0<4%u)-} zrlcAy5xqA}aymQ75<8(^>p?``fv;rbJbe4+3j-nOoE$Dd^sebre0ILU5~qTCbsoBJ zg;M9<6$?0(P2EQ70AA3;!GrKKds8o_9vTGa#Xtga4Q@@y@Vj zmZFPOK&61@nY|m}v0W&^5R{36_a%0N(|>`H&GVr#w(#x307n1<7T=uNlE52Qd(uAu zdzhvZB@#?_}by@r75w3{Arooctak zPbS(&c%ywl+WuL=FbLoxt3ae+7jFU(jL<#A&*C#>^{XrFNzMbAlSP`CIgEeXq{V!x zevjz){I;nu2^t99Ctkqo+3PwzX-GcK$CArgyvoowfvt%?@WT_4>Pxz6rkBCvU-CmpeoqW<)B##Hj)5W1IH-|_U9;uN~uU-Zz0c|Rm z#f|nxV)+MP^?fCmKU22-375dU$d(P)t=D0Bg4oOl7EQPtC6txxPnI=39zXHSfpW0Z zA9jG%ZzRmCK3|c4g*_S+-uZsIrr(0v?3?l14&E4UFa#d{1DZZ;hy8HWW~tXLS9_mb zSNck-Cc%rS6jqEWEWx5q*hIRv`s`F@>w5n0eSm*un#kpl(f7pES5GS*`AF_@jTg-Hf=u-AfKnejs1KmF2`BkftmO zr75p6Gk>ZSfZovf<~joF6`V(T;+3(i7I`c=e71k^=c9;Iyqw-}@(~oXi>`b>mxTX# zugrq#mS$jb$L=rs2pni)h^gx`UYR8-rku`-OXG)(4`4ae{JHuCBV1^uainTB za9u6mA%0@>5!}6uvEAH9K@mIxY|>%6IwJwE#>MV>3<6R9!J$p%aFnX2=Zw26_W-me zs)w!dzp)j3i!{f%9<*S|y}M*!gpS;nIak#ZMzvaqrEJ?#T^s#r7eu$~|DAC*4Zp7g zVwdd*0H&yI>wut=%goG{olpiVV@QkF)`k|fEZ$_KC*p_xbvS>yWMo3mOPGgQu%GM&YaLgGv0bQ?FCK zc;#jy!&RrJSz&|DT%OL~6x9L|3gI z0iaDV7|WnSU)3qCfMO9!Hro$~BWJy_pb+r8OFA0%(YP9^DOWMR_hf zqZ|dvdJ7a*Oiw7Hdz{vMeu6k*c(_-inzoqZQ3NgoN;mdMQA^X{x7Q(Flf{~ApNWhU zIn^KV3VSs~Pi!3EOV0KB9Q-->RMy_zt_~s+uJ^Ugew7-y$Irm=Zt(5AE>(Baccvhv zj0!-YT;$ESMQZ)8p$>_6J{M@!>g;7uzb){C#}mZ}*L@ftY+p~T1#uYMh+7R?k1= zS)vj*DtYHq3AP>#t2k#+^iI;;1&(lLjoD&Vee=f7W8?8xy8^C@jyRjdV#u=LiXDe; z5|LSO%c_luHVv$A<1_9areTdPibaTZ7xfdh;RL1pq?A1gS~*m0*ZtW-bUEXb@-)7g zd61^c=WcUr=d7YwW?SA+9xs8&!RGY>^_HC1^uc0oi*)OeV{2C|El)T{@L8heQiOEK## zw;m85Y=J%|&8JQU;r@ZRJdW*(Nca$TqG-%&cD|})0HBm z&SIRu9+d+d8UbLexnza!qZ;;gu{A&w!4_~)`k?%MzsteHjX?q~zc}A(;@(F5_g_=T zCw}g>tVNw$h8O_!p%C6Mngj-TU`Dm$>D|8@<|pBkgB*;hZ3MF{aq01fS=6ovr+pe< z)`+Iv!j2xs)VRnGJS{*DtM)u*ortTomafj6TQT?Z z#OR@Nt_NAXxav0W;Ej~*z0bh}%x*eVZnsVLK?&*Zz^D4Bb`AV2G~OPJ{I>Wu!*_6d zRkl;!TgPO?ohy>Llryvl%r2f=9`00(EA$Zr@X6dDM~<2!XTPzc zb@CgjJ5OBBUHJZMw7=3OWYMW;_nJ!Vg~XzBL8Qvj#eqCNB>~E<0M}$K%XVk_R2dxAd(0VA*(Waw`YND$X%Futs}yJ?)8$=v%SWCvjb$^@V(~g)-ID z{E_zY#?^(pMjI{Ll7~KdC;V$wruxfDWM4K#Vm%ADp)nu0)h2w3aB054wDP3-a@<99 zt8}bxH1}rQpP%2KMoU-~llp@f#!=C0mWBy#Qr-Ix?vi#X@WPeKAjpr0_ZhQR?f)E< zFpQabX1-O}7W@)5?fKIqda$(T2@aM;f&$)#N_oL1#8{+_HYNK@#?r4O_FJ{`_1|Fo zXyy!sRT~^T&x++Jq!=~+@HiJ_gu5RWv73ABv66HN($0kte;W)K`e?nA=*zoXlbBcG z5Bq1RquV0H)>hvSaPo=i?Y-4s$49g8#HAzpRT;*%hz9j!N7{xO=+ffg)y2GFiZ*e* z!YKUQQ9Ui1B8GdeqM@=kbn%YBR`gKQ&>AM1@NR3EVIXnnF3T{c>#*R0x-a@yI&%l6 z3Ol+-I=ZFeIN|S5z*bWh$;4x8HO43Szvf&Jch1T`u4i}&zurDunS(l_RCl8V%lY;Y z`EL5&6PLRg9tPwN8j}KD*XMSqpSunS-B5@i+w?A+Ja+GOdComYU36zL-c@CD&DFh= zwX@G(7iE|a%1&%R2uDFk_U-Z>uh?BS`*FEV4rz*C(zU!3v}Q_wk%8UgK}9NW~yHJDD=v`)DX}SlWqdu zjZy}W#+rXwdL+rJzvKk{Q==xQjLMo|7(i0rNOcQ1q<#NGEo(fP989x<72}`V*x-!y z2tz_3?W*}O=oR+u=_zP}@s2MA09EyIiFE7<3Or9`^iHnmjm;-Ru}@Pq`+~>ZxDaW|sBNG6D_^K;Wu*Pk;2;h=3M z4CP_aVoCB)y$}sQH{pyAB`ErnayLFNaZHU!wedhz6+Qg_s3@1`E#*|kNo z(Mo;}E4{#ex|0I5A*l3$-oM!gT@4|Mv}$Yk$#r^ymu0Nczfzfd!SA57%RmW=@OzzS z@*Yy|BjHx1*hsX+WI2p*72U#K^=LVOUG0=Da7i!meUN?6?&B%=unc4&eW5ZjU6b1ZQlW(ZvZ-@1_>B1$fgn3 zkmh{A>_C9$oClqTO1mM=5Kai)nXZwJyv*CD3K&+RipaV2L(D4`ngacfX_syEi_9Mm zxnrKHbgt0IryeZ(t4i-KJdYyq?l!@}O(Ls!?kTYLkq9wQ#`!^n9u#{7bM897DZ~^u z84$d1(-`a@Qwl;CPCkpq^2Z)_&4FF!yNpEaJBDT`cIwc?Gh->&{0T!QKzUNem=%I+ z!~_qD8+4t*N-Gtb77oejFzslslZp$PTN2A~s~RY9yI~)Sy?0|x)`O3@${fu#LngJ z%AZa<8%D8V0URa7Lus}rqFlqmLMP%s_3Z>T%F<&AXEZ~;GxXGh#hujZmOrl{lbNX{ zo^Mg0PVzR~{wgsuDW~9&fJy?9pGcH(z8?_SpTOSh7$6q0p{`;jcoUMKr`E(0)kI;C zfQ1qSozPfw$$VJPLL!lyYW18pnY|UDdYX?j^F4iIED5=q*ro+Md@%=JJ-r#Bj-sFc zWz`&EoT)452K$(FmIl(+Bw6DRMxs$pU*gP~Rg?bJCp*m1K5I+0rb`Y7Q5boU4RGwk zRXt;mcW2CBBv&UhJp$&{RUA~7an45Ts1|%nQs{>2*xJrk=X3A1oj*?!GgECJRT1DT a^*fTopiTL9b$|u|Kd6&VHuc8?lK&4X!*31% literal 0 HcmV?d00001 diff --git a/desktop/main.js b/desktop/main.js index f670f8fe9..ca84f4c1f 100644 --- a/desktop/main.js +++ b/desktop/main.js @@ -397,7 +397,11 @@ function toggleQuickEntry() { // ─── System tray ───────────────────────────────────────────────────── function setupTray() { if (!tray) { - const iconPath = path.join(__dirname, 'build', 'icon.png') + // NOTE: load the icon from the app root, not build/. The build/ directory is + // electron-builder's buildResources dir and is NOT packaged into the app, so + // referencing build/icon.png here works in dev but yields an empty tray icon + // in packaged releases (see issue #2668). + const iconPath = path.join(__dirname, 'icon.png') const icon = nativeImage.createFromPath(iconPath).resize({width: 16, height: 16}) tray = new Tray(icon) tray.setToolTip('Vikunja') From ec2f154e1059709cc1e0cd62794c126aa10eba40 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 14:57:15 +0200 Subject: [PATCH 007/185] feat(keyvalue): add RememberFor for TTL-cached values --- pkg/modules/keyvalue/keyvalue.go | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pkg/modules/keyvalue/keyvalue.go b/pkg/modules/keyvalue/keyvalue.go index 507f7322b..c71e00063 100644 --- a/pkg/modules/keyvalue/keyvalue.go +++ b/pkg/modules/keyvalue/keyvalue.go @@ -17,6 +17,8 @@ package keyvalue import ( + "time" + "code.vikunja.io/api/pkg/config" "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/modules/keyvalue/memory" @@ -142,3 +144,38 @@ func RememberValue[T any](key string, fn func() (T, error)) (T, error) { return val, nil } + +// expiringValue wraps a cached value with the time it expires. +type expiringValue[T any] struct { + Value T + ExpiresAt time.Time +} + +// RememberFor is like RememberValue but treats the cached value as stale once it is +// older than ttl. On a miss or once expired, it executes fn, caches the result for +// ttl and returns it. If fn returns an error, nothing is cached. +// T must be a concrete (non-pointer) type. +func RememberFor[T any](key string, ttl time.Duration, fn func() (T, error)) (T, error) { + var cached expiringValue[T] + exists, err := GetWithValue(key, &cached) + if err != nil { + var zero T + return zero, err + } + if exists && time.Now().Before(cached.ExpiresAt) { + return cached.Value, nil + } + + val, err := fn() + if err != nil { + var zero T + return zero, err + } + + if err := Put(key, expiringValue[T]{Value: val, ExpiresAt: time.Now().Add(ttl)}); err != nil { + var zero T + return zero, err + } + + return val, nil +} From 051f734f3d17d442a7199fc324e7df2c8cf824a8 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:03:08 +0200 Subject: [PATCH 008/185] refactor(metrics): count entities on demand with a TTL cache Instead of priming a counter at startup and keeping it in sync via events, each entity count is now read directly from the database and cached for 30s (countCacheTTL). The cache is the correctness guarantee: counts are at most one TTL stale and self-healing, so they can never permanently drift. This fixes vikunja_user_count never updating after registration (#2650): the count no longer depends on every mutation path dispatching an event. --- pkg/metrics/metrics.go | 65 +++++++++++++++++++++++++++++------------- pkg/routes/metrics.go | 43 ---------------------------- 2 files changed, 45 insertions(+), 63 deletions(-) diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 00dce43eb..2ff7c1c6d 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -17,8 +17,9 @@ package metrics import ( - "strconv" + "time" + "code.vikunja.io/api/pkg/db" "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/modules/keyvalue" @@ -36,6 +37,22 @@ const ( AttachmentsCountKey = `attachments_count` ) +// countCacheTTL is how long a cached entity count is served before it is recomputed +// from the database. The counts are inherently approximate (Prometheus samples them), +// so a short staleness window is fine and keeps the cache self-healing — a missed +// InvalidateCount call costs at most this much staleness, never a permanent drift. +const countCacheTTL = 30 * time.Second + +// countTables maps each count metric key to the database table it counts. +var countTables = map[string]string{ + ProjectCountKey: "projects", + UserCountKey: "users", + TaskCountKey: "tasks", + TeamCountKey: "teams", + FilesCountKey: "files", + AttachmentsCountKey: "task_attachments", +} + var registry *prometheus.Registry func GetRegistry() *prometheus.Registry { @@ -53,7 +70,10 @@ func registerPromMetric(key, description string) { Name: "vikunja_" + key, Help: description, }, func() float64 { - count, _ := GetCount(key) + count, err := GetCount(key) + if err != nil { + log.Errorf("Could not get count for metric %s: %s", key, err) + } return float64(count) })) if err != nil { @@ -65,8 +85,8 @@ func registerPromMetric(key, description string) { func InitMetrics() { GetRegistry() - registerPromMetric(ProjectCountKey, "The number of projects on this instance") - registerPromMetric(UserCountKey, "The total number of shares on this instance") + registerPromMetric(ProjectCountKey, "The total number of projects on this instance") + registerPromMetric(UserCountKey, "The total number of users on this instance") registerPromMetric(TaskCountKey, "The total number of tasks on this instance") registerPromMetric(TeamCountKey, "The total number of teams on this instance") registerPromMetric(FilesCountKey, "The total number of files on this instance") @@ -76,26 +96,31 @@ func InitMetrics() { setupActiveLinkSharesMetric() } -// GetCount returns the current count from keyvalue -func GetCount(key string) (count int64, err error) { - cnt, exists, err := keyvalue.Get(key) - if err != nil { - return 0, err - } - if !exists { +// GetCount returns the current count for the given metric key. The value is counted +// directly from the database and cached for countCacheTTL, so repeated scrapes don't +// hit the database on every request. +func GetCount(key string) (int64, error) { + return keyvalue.RememberFor(key, countCacheTTL, func() (int64, error) { + return countFromDatabase(key) + }) +} + +// countFromDatabase runs a COUNT(*) for the table backing the given metric key. +func countFromDatabase(key string) (int64, error) { + table, has := countTables[key] + if !has { return 0, nil } - if s, is := cnt.(string); is { - count, err = strconv.ParseInt(s, 10, 64) - } else { - count = cnt.(int64) - } + s := db.NewSession() + defer s.Close() - return + return s.Table(table).Count() } -// SetCount sets the project count to a given value -func SetCount(count int64, key string) error { - return keyvalue.Put(key, count) +// InvalidateCount drops the cached count for a key so the next read recomputes it from +// the database. Use it where instant freshness is worth the extra COUNT(*); everywhere +// else the countCacheTTL keeps the value reasonably up to date on its own. +func InvalidateCount(key string) error { + return keyvalue.Del(key) } diff --git a/pkg/routes/metrics.go b/pkg/routes/metrics.go index 3b5ba3575..14180ceb4 100644 --- a/pkg/routes/metrics.go +++ b/pkg/routes/metrics.go @@ -20,12 +20,10 @@ import ( "crypto/subtle" "code.vikunja.io/api/pkg/config" - "code.vikunja.io/api/pkg/files" "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/metrics" "code.vikunja.io/api/pkg/models" auth2 "code.vikunja.io/api/pkg/modules/auth" - "code.vikunja.io/api/pkg/user" "github.com/labstack/echo/v5" "github.com/labstack/echo/v5/middleware" @@ -39,47 +37,6 @@ func setupMetrics(a *echo.Group) { metrics.InitMetrics() - type countable struct { - Key string - Type interface{} - } - - for _, c := range []countable{ - { - metrics.ProjectCountKey, - models.Project{}, - }, - { - metrics.UserCountKey, - user.User{}, - }, - { - metrics.TaskCountKey, - models.Task{}, - }, - { - metrics.TeamCountKey, - models.Team{}, - }, - { - metrics.FilesCountKey, - files.File{}, - }, - { - metrics.AttachmentsCountKey, - models.TaskAttachment{}, - }, - } { - // Set initial totals - total, err := models.GetTotalCount(c.Type) - if err != nil { - log.Fatalf("Could not get initial count for %v, error was %s", c.Type, err) - } - if err := metrics.SetCount(total, c.Key); err != nil { - log.Fatalf("Could not set initial count for %v, error was %s", c.Type, err) - } - } - r := a.Group("/metrics") if config.MetricsUsername.GetString() != "" && config.MetricsPassword.GetString() != "" { From 06000b7a03d632097ab618d7ae95434c0dcd891d Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:03:13 +0200 Subject: [PATCH 009/185] refactor(metrics): drop the user count listener The user count is now counted on demand, so the increment-on-create listener is no longer needed. --- pkg/user/listeners.go | 31 ++++--------------------------- pkg/yaegi_symbols/vikunja_user.go | 1 - 2 files changed, 4 insertions(+), 28 deletions(-) diff --git a/pkg/user/listeners.go b/pkg/user/listeners.go index 7fdbe61a3..dfc4a5a2e 100644 --- a/pkg/user/listeners.go +++ b/pkg/user/listeners.go @@ -16,30 +16,7 @@ package user -import ( - "code.vikunja.io/api/pkg/events" - "code.vikunja.io/api/pkg/metrics" - "code.vikunja.io/api/pkg/modules/keyvalue" - "github.com/ThreeDotsLabs/watermill/message" -) - -func RegisterListeners() { - events.RegisterListener((&CreatedEvent{}).Name(), &IncreaseUserCounter{}) -} - -/////// -// User Events - -// IncreaseUserCounter represents a listener -type IncreaseUserCounter struct { -} - -// Name defines the name for the IncreaseUserCounter listener -func (s *IncreaseUserCounter) Name() string { - return "increase.user.counter" -} - -// Handle is executed when the event IncreaseUserCounter listens on is fired -func (s *IncreaseUserCounter) Handle(_ *message.Message) (err error) { - return keyvalue.IncrBy(metrics.UserCountKey, 1) -} +// RegisterListeners registers all event listeners for the user package. +// The user count metric is now counted on demand (see pkg/metrics), so there are +// currently no listeners to register. This hook is kept for future user events. +func RegisterListeners() {} diff --git a/pkg/yaegi_symbols/vikunja_user.go b/pkg/yaegi_symbols/vikunja_user.go index 7ec6a5e3b..86b3aed7a 100644 --- a/pkg/yaegi_symbols/vikunja_user.go +++ b/pkg/yaegi_symbols/vikunja_user.go @@ -159,7 +159,6 @@ func init() { "ErrUsernameReserved": reflect.ValueOf((*user.ErrUsernameReserved)(nil)), "ErrWrongUsernameOrPassword": reflect.ValueOf((*user.ErrWrongUsernameOrPassword)(nil)), "FailedLoginAttemptNotification": reflect.ValueOf((*user.FailedLoginAttemptNotification)(nil)), - "IncreaseUserCounter": reflect.ValueOf((*user.IncreaseUserCounter)(nil)), "InvalidTOTPNotification": reflect.ValueOf((*user.InvalidTOTPNotification)(nil)), "Login": reflect.ValueOf((*user.Login)(nil)), "PasswordAccountLockedAfterInvalidTOTPNotification": reflect.ValueOf((*user.PasswordAccountLockedAfterInvalidTOTPNotification)(nil)), From 72a231620d2a7234731a0dc080826766a7e9366e Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:03:14 +0200 Subject: [PATCH 010/185] refactor(metrics): drop the project/task/team/attachment count listeners These counts are now read from the database on demand. The events themselves stay - they are still used by webhooks and notifications. --- pkg/models/listeners.go | 118 ---------------------------- pkg/yaegi_symbols/vikunja_models.go | 8 -- 2 files changed, 126 deletions(-) diff --git a/pkg/models/listeners.go b/pkg/models/listeners.go index b0a580c21..83ec34c9b 100644 --- a/pkg/models/listeners.go +++ b/pkg/models/listeners.go @@ -26,8 +26,6 @@ import ( "code.vikunja.io/api/pkg/db" "code.vikunja.io/api/pkg/events" "code.vikunja.io/api/pkg/log" - "code.vikunja.io/api/pkg/metrics" - "code.vikunja.io/api/pkg/modules/keyvalue" "code.vikunja.io/api/pkg/notifications" "code.vikunja.io/api/pkg/user" @@ -38,16 +36,6 @@ import ( // RegisterListeners registers all event listeners func RegisterListeners() { - if config.MetricsEnabled.GetBool() { - events.RegisterListener((&ProjectCreatedEvent{}).Name(), &IncreaseProjectCounter{}) - events.RegisterListener((&ProjectDeletedEvent{}).Name(), &DecreaseProjectCounter{}) - events.RegisterListener((&TaskCreatedEvent{}).Name(), &IncreaseTaskCounter{}) - events.RegisterListener((&TaskDeletedEvent{}).Name(), &DecreaseTaskCounter{}) - events.RegisterListener((&TeamDeletedEvent{}).Name(), &DecreaseTeamCounter{}) - events.RegisterListener((&TeamCreatedEvent{}).Name(), &IncreaseTeamCounter{}) - events.RegisterListener((&TaskAttachmentCreatedEvent{}).Name(), &IncreaseAttachmentCounter{}) - events.RegisterListener((&TaskAttachmentDeletedEvent{}).Name(), &DecreaseAttachmentCounter{}) - } events.RegisterListener((&TaskCommentCreatedEvent{}).Name(), &SendTaskCommentNotification{}) events.RegisterListener((&TaskAssigneeCreatedEvent{}).Name(), &SendTaskAssignedNotification{}) events.RegisterListener((&TaskDeletedEvent{}).Name(), &SendTaskDeletedNotification{}) @@ -99,34 +87,6 @@ func RegisterListeners() { ////// // Task Events -// IncreaseTaskCounter represents a listener -type IncreaseTaskCounter struct { -} - -// Name defines the name for the IncreaseTaskCounter listener -func (s *IncreaseTaskCounter) Name() string { - return "task.counter.increase" -} - -// Handle is executed when the event IncreaseTaskCounter listens on is fired -func (s *IncreaseTaskCounter) Handle(_ *message.Message) (err error) { - return keyvalue.IncrBy(metrics.TaskCountKey, 1) -} - -// DecreaseTaskCounter represents a listener -type DecreaseTaskCounter struct { -} - -// Name defines the name for the DecreaseTaskCounter listener -func (s *DecreaseTaskCounter) Name() string { - return "task.counter.decrease" -} - -// Handle is executed when the event DecreaseTaskCounter listens on is fired -func (s *DecreaseTaskCounter) Handle(_ *message.Message) (err error) { - return keyvalue.DecrBy(metrics.TaskCountKey, 1) -} - func notifyMentionedUsers(sess *xorm.Session, task *Task, text string, n notifications.NotificationWithSubject) (users map[int64]*user.User, err error) { users, err = FindMentionedUsersInText(sess, text) if err != nil { @@ -583,34 +543,6 @@ func (s *HandleTaskUpdateLastUpdated) Handle(msg *message.Message) (err error) { return sess.Commit() } -// IncreaseAttachmentCounter represents a listener -type IncreaseAttachmentCounter struct { -} - -// Name defines the name for the IncreaseAttachmentCounter listener -func (s *IncreaseAttachmentCounter) Name() string { - return "increase.attachment.counter" -} - -// Handle is executed when the event IncreaseAttachmentCounter listens on is fired -func (s *IncreaseAttachmentCounter) Handle(_ *message.Message) (err error) { - return keyvalue.IncrBy(metrics.AttachmentsCountKey, 1) -} - -// DecreaseAttachmentCounter represents a listener -type DecreaseAttachmentCounter struct { -} - -// Name defines the name for the DecreaseAttachmentCounter listener -func (s *DecreaseAttachmentCounter) Name() string { - return "decrease.attachment.counter" -} - -// Handle is executed when the event DecreaseAttachmentCounter listens on is fired -func (s *DecreaseAttachmentCounter) Handle(_ *message.Message) (err error) { - return keyvalue.DecrBy(metrics.AttachmentsCountKey, 1) -} - // UpdateTaskInSavedFilterViews represents a listener type UpdateTaskInSavedFilterViews struct { } @@ -738,28 +670,6 @@ func (l *UpdateTaskInSavedFilterViews) Handle(msg *message.Message) (err error) /////// // Project Event Listeners -type IncreaseProjectCounter struct { -} - -func (s *IncreaseProjectCounter) Name() string { - return "project.counter.increase" -} - -func (s *IncreaseProjectCounter) Handle(_ *message.Message) (err error) { - return keyvalue.IncrBy(metrics.ProjectCountKey, 1) -} - -type DecreaseProjectCounter struct { -} - -func (s *DecreaseProjectCounter) Name() string { - return "project.counter.decrease" -} - -func (s *DecreaseProjectCounter) Handle(_ *message.Message) (err error) { - return keyvalue.DecrBy(metrics.ProjectCountKey, 1) -} - // SendProjectCreatedNotification represents a listener type SendProjectCreatedNotification struct { } @@ -1259,34 +1169,6 @@ func (wl *WebhookListener) Handle(msg *message.Message) (err error) { /////// // Team Events -// IncreaseTeamCounter represents a listener -type IncreaseTeamCounter struct { -} - -// Name defines the name for the IncreaseTeamCounter listener -func (s *IncreaseTeamCounter) Name() string { - return "team.counter.increase" -} - -// Handle is executed when the event IncreaseTeamCounter listens on is fired -func (s *IncreaseTeamCounter) Handle(_ *message.Message) (err error) { - return keyvalue.IncrBy(metrics.TeamCountKey, 1) -} - -// DecreaseTeamCounter represents a listener -type DecreaseTeamCounter struct { -} - -// Name defines the name for the DecreaseTeamCounter listener -func (s *DecreaseTeamCounter) Name() string { - return "team.counter.decrease" -} - -// Handle is executed when the event DecreaseTeamCounter listens on is fired -func (s *DecreaseTeamCounter) Handle(_ *message.Message) (err error) { - return keyvalue.DecrBy(metrics.TeamCountKey, 1) -} - // CleanupTaskAssignmentsAfterTeamRemoval represents a listener type CleanupTaskAssignmentsAfterTeamRemoval struct{} diff --git a/pkg/yaegi_symbols/vikunja_models.go b/pkg/yaegi_symbols/vikunja_models.go index f33da550c..cd2621c81 100644 --- a/pkg/yaegi_symbols/vikunja_models.go +++ b/pkg/yaegi_symbols/vikunja_models.go @@ -315,10 +315,6 @@ func init() { "CleanupTaskAssignmentsAfterTeamRemoval": reflect.ValueOf((*models.CleanupTaskAssignmentsAfterTeamRemoval)(nil)), "DataExportReadyNotification": reflect.ValueOf((*models.DataExportReadyNotification)(nil)), "DatabaseNotifications": reflect.ValueOf((*models.DatabaseNotifications)(nil)), - "DecreaseAttachmentCounter": reflect.ValueOf((*models.DecreaseAttachmentCounter)(nil)), - "DecreaseProjectCounter": reflect.ValueOf((*models.DecreaseProjectCounter)(nil)), - "DecreaseTaskCounter": reflect.ValueOf((*models.DecreaseTaskCounter)(nil)), - "DecreaseTeamCounter": reflect.ValueOf((*models.DecreaseTeamCounter)(nil)), "ErrAPITokenInvalid": reflect.ValueOf((*models.ErrAPITokenInvalid)(nil)), "ErrAttachmentDoesNotBelongToTask": reflect.ValueOf((*models.ErrAttachmentDoesNotBelongToTask)(nil)), "ErrBucketDoesNotBelongToProjectView": reflect.ValueOf((*models.ErrBucketDoesNotBelongToProjectView)(nil)), @@ -405,10 +401,6 @@ func init() { "HandleTaskUpdateLastUpdated": reflect.ValueOf((*models.HandleTaskUpdateLastUpdated)(nil)), "HandleTaskUpdatedMentions": reflect.ValueOf((*models.HandleTaskUpdatedMentions)(nil)), "HandleUserDataExport": reflect.ValueOf((*models.HandleUserDataExport)(nil)), - "IncreaseAttachmentCounter": reflect.ValueOf((*models.IncreaseAttachmentCounter)(nil)), - "IncreaseProjectCounter": reflect.ValueOf((*models.IncreaseProjectCounter)(nil)), - "IncreaseTaskCounter": reflect.ValueOf((*models.IncreaseTaskCounter)(nil)), - "IncreaseTeamCounter": reflect.ValueOf((*models.IncreaseTeamCounter)(nil)), "Label": reflect.ValueOf((*models.Label)(nil)), "LabelByTaskIDsOptions": reflect.ValueOf((*models.LabelByTaskIDsOptions)(nil)), "LabelTask": reflect.ValueOf((*models.LabelTask)(nil)), From 9e3e884dac7771eabaf84b728fc2db3e443b3412 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:03:14 +0200 Subject: [PATCH 011/185] refactor(metrics): drop inline file count tracking The file count is now read from the database on demand. --- pkg/files/files.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkg/files/files.go b/pkg/files/files.go index a103a5237..a8d702913 100644 --- a/pkg/files/files.go +++ b/pkg/files/files.go @@ -28,8 +28,6 @@ import ( "code.vikunja.io/api/pkg/config" "code.vikunja.io/api/pkg/db" "code.vikunja.io/api/pkg/log" - "code.vikunja.io/api/pkg/metrics" - "code.vikunja.io/api/pkg/modules/keyvalue" "code.vikunja.io/api/pkg/web" "github.com/c2h5oh/datasize" @@ -205,7 +203,7 @@ func (f *File) Delete(s *xorm.Session) (err error) { return err } - return keyvalue.DecrBy(metrics.FilesCountKey, 1) + return nil } // Save saves a file to storage @@ -214,5 +212,5 @@ func (f *File) Save(fcontent io.ReadSeeker) error { if err != nil { return fmt.Errorf("failed to save file: %w", err) } - return keyvalue.IncrBy(metrics.FilesCountKey, 1) + return nil } From 0248bdf5e7f97f2f491764d9a5be3faa3bf3a82a Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:03:18 +0200 Subject: [PATCH 012/185] feat(metrics): invalidate the user count cache on registration Registration is the one hot path where instant freshness is worth an extra COUNT(*), so bust the cache there rather than waiting for the TTL. --- pkg/routes/api/v1/user_register.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/routes/api/v1/user_register.go b/pkg/routes/api/v1/user_register.go index 96a9c02d9..9db52c88a 100644 --- a/pkg/routes/api/v1/user_register.go +++ b/pkg/routes/api/v1/user_register.go @@ -22,6 +22,8 @@ import ( "code.vikunja.io/api/pkg/config" "code.vikunja.io/api/pkg/db" + "code.vikunja.io/api/pkg/log" + "code.vikunja.io/api/pkg/metrics" "code.vikunja.io/api/pkg/models" "code.vikunja.io/api/pkg/user" @@ -85,5 +87,13 @@ func RegisterUser(c *echo.Context) error { return err } + // Bust the cached user count so the new registration shows up in metrics + // immediately instead of after the regular cache expiry. + if config.MetricsEnabled.GetBool() { + if err := metrics.InvalidateCount(metrics.UserCountKey); err != nil { + log.Errorf("Could not invalidate user count metric: %s", err) + } + } + return c.JSON(http.StatusOK, newUser) } From 054050b1e2d69d1fbc6f388346ee048975490e2d Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:09:37 +0200 Subject: [PATCH 013/185] test(keyvalue): cover RememberFor TTL caching --- pkg/modules/keyvalue/keyvalue_test.go | 51 +++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/pkg/modules/keyvalue/keyvalue_test.go b/pkg/modules/keyvalue/keyvalue_test.go index 9d7c10a8b..b95fc2ec5 100644 --- a/pkg/modules/keyvalue/keyvalue_test.go +++ b/pkg/modules/keyvalue/keyvalue_test.go @@ -19,6 +19,7 @@ package keyvalue import ( "errors" "testing" + "time" "code.vikunja.io/api/pkg/modules/keyvalue/memory" "github.com/stretchr/testify/assert" @@ -81,3 +82,53 @@ func TestRememberErrorDoesNotStore(t *testing.T) { require.NoError(t, err2) assert.False(t, exists) } + +func TestRememberForReturnsCachedWithinTTL(t *testing.T) { + store = memory.NewStorage() + + called := 0 + fn := func() (int64, error) { + called++ + return int64(called), nil + } + + val, err := RememberFor("foo", time.Hour, fn) + require.NoError(t, err) + assert.Equal(t, int64(1), val) + + // Still within the TTL, so fn must not be called again. + val, err = RememberFor("foo", time.Hour, fn) + require.NoError(t, err) + assert.Equal(t, int64(1), val) + assert.Equal(t, 1, called) +} + +func TestRememberForRecomputesAfterExpiry(t *testing.T) { + store = memory.NewStorage() + + // Seed an already-expired value. + require.NoError(t, Put("foo", expiringValue[int64]{Value: 1, ExpiresAt: time.Now().Add(-time.Minute)})) + + called := 0 + val, err := RememberFor("foo", time.Hour, func() (int64, error) { + called++ + return 2, nil + }) + + require.NoError(t, err) + assert.Equal(t, int64(2), val) + assert.Equal(t, 1, called) +} + +func TestRememberForErrorDoesNotStore(t *testing.T) { + store = memory.NewStorage() + + _, err := RememberFor("foo", time.Hour, func() (int64, error) { + return 0, errors.New("fail") + }) + + require.Error(t, err) + _, exists, err2 := Get("foo") + require.NoError(t, err2) + assert.False(t, exists) +} From 71dcb096be99653734539e4357f4ad3fcdb86e82 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:09:37 +0200 Subject: [PATCH 014/185] test(metrics): verify counts are read from the right table --- pkg/models/metrics_count_test.go | 62 ++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 pkg/models/metrics_count_test.go diff --git a/pkg/models/metrics_count_test.go b/pkg/models/metrics_count_test.go new file mode 100644 index 000000000..c8f64bac6 --- /dev/null +++ b/pkg/models/metrics_count_test.go @@ -0,0 +1,62 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package models + +import ( + "testing" + + "code.vikunja.io/api/pkg/db" + "code.vikunja.io/api/pkg/metrics" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// TestMetricsCountFromDatabase verifies that each metric key counts the right table +// straight from the database. This guards the count key -> table name mapping; the +// caching/expiry/invalidation behaviour itself is covered by the keyvalue RememberFor +// tests. +func TestMetricsCountFromDatabase(t *testing.T) { + cases := map[string]string{ + metrics.UserCountKey: "users", + metrics.ProjectCountKey: "projects", + metrics.TaskCountKey: "tasks", + metrics.TeamCountKey: "teams", + metrics.FilesCountKey: "files", + metrics.AttachmentsCountKey: "task_attachments", + } + + db.LoadAndAssertFixtures(t) + + s := db.NewSession() + defer s.Close() + + for key, table := range cases { + t.Run(table, func(t *testing.T) { + // Drop any value cached by a previous test so we recompute from the DB. + require.NoError(t, metrics.InvalidateCount(key)) + + expected, err := s.Table(table).Count() + require.NoError(t, err) + + count, err := metrics.GetCount(key) + require.NoError(t, err) + assert.Equal(t, expected, count) + assert.Positive(t, count, "fixtures should contain at least one %s", table) + }) + } +} From 9a810f7632b63de99791531046fe01e5dea7eef0 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:35:21 +0200 Subject: [PATCH 015/185] refactor(user): remove the now-empty listeners file The user package no longer registers any event listeners, so drop the empty RegisterListeners hook and its caller. --- pkg/initialize/init.go | 1 - pkg/user/listeners.go | 22 ---------------------- pkg/yaegi_symbols/vikunja_user.go | 1 - 3 files changed, 24 deletions(-) delete mode 100644 pkg/user/listeners.go diff --git a/pkg/initialize/init.go b/pkg/initialize/init.go index df11ef01f..dca17cb60 100644 --- a/pkg/initialize/init.go +++ b/pkg/initialize/init.go @@ -145,7 +145,6 @@ func FullInit() { // Start processing events go func() { models.RegisterListeners() - user.RegisterListeners() migrationHandler.RegisterListeners() ws.RegisterListeners() err := events.InitEvents() diff --git a/pkg/user/listeners.go b/pkg/user/listeners.go deleted file mode 100644 index dfc4a5a2e..000000000 --- a/pkg/user/listeners.go +++ /dev/null @@ -1,22 +0,0 @@ -// Vikunja is a to-do list application to facilitate your life. -// Copyright 2018-present Vikunja and contributors. All rights reserved. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -package user - -// RegisterListeners registers all event listeners for the user package. -// The user count metric is now counted on demand (see pkg/metrics), so there are -// currently no listeners to register. This hook is kept for future user events. -func RegisterListeners() {} diff --git a/pkg/yaegi_symbols/vikunja_user.go b/pkg/yaegi_symbols/vikunja_user.go index 86b3aed7a..268869221 100644 --- a/pkg/yaegi_symbols/vikunja_user.go +++ b/pkg/yaegi_symbols/vikunja_user.go @@ -99,7 +99,6 @@ func init() { "ListAllUsers": reflect.ValueOf(user.ListAllUsers), "ListUsers": reflect.ValueOf(user.ListUsers), "RegisterDeletionNotificationCron": reflect.ValueOf(user.RegisterDeletionNotificationCron), - "RegisterListeners": reflect.ValueOf(user.RegisterListeners), "RegisterTokenCleanupCron": reflect.ValueOf(user.RegisterTokenCleanupCron), "RequestDeletion": reflect.ValueOf(user.RequestDeletion), "RequestUserPasswordResetToken": reflect.ValueOf(user.RequestUserPasswordResetToken), From e31d73b3dfc991383bdd5c5adb4d99db855121cc Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 15:37:38 +0200 Subject: [PATCH 016/185] fix(keyvalue): treat undecodable cached values as a cache miss A GetWithValue deserialization error in RememberFor was returned as fatal. On a Redis upgrade the metrics counters live under the same keys as before but were stored as plain int64, so the first decode into the new envelope would fail and the metric would break permanently. Treat such errors as a miss and recompute/overwrite so the cache self-heals. --- pkg/modules/keyvalue/keyvalue.go | 10 +++++----- pkg/modules/keyvalue/keyvalue_test.go | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/pkg/modules/keyvalue/keyvalue.go b/pkg/modules/keyvalue/keyvalue.go index c71e00063..137ea8f62 100644 --- a/pkg/modules/keyvalue/keyvalue.go +++ b/pkg/modules/keyvalue/keyvalue.go @@ -155,14 +155,14 @@ type expiringValue[T any] struct { // older than ttl. On a miss or once expired, it executes fn, caches the result for // ttl and returns it. If fn returns an error, nothing is cached. // T must be a concrete (non-pointer) type. +// +// A value that cannot be deserialized into the expected type is treated as a cache +// miss and overwritten, so the cache self-heals across upgrades that change what a key +// stores (e.g. a key that previously held a plain int64 in Redis). func RememberFor[T any](key string, ttl time.Duration, fn func() (T, error)) (T, error) { var cached expiringValue[T] exists, err := GetWithValue(key, &cached) - if err != nil { - var zero T - return zero, err - } - if exists && time.Now().Before(cached.ExpiresAt) { + if err == nil && exists && time.Now().Before(cached.ExpiresAt) { return cached.Value, nil } diff --git a/pkg/modules/keyvalue/keyvalue_test.go b/pkg/modules/keyvalue/keyvalue_test.go index b95fc2ec5..ca32d8aec 100644 --- a/pkg/modules/keyvalue/keyvalue_test.go +++ b/pkg/modules/keyvalue/keyvalue_test.go @@ -132,3 +132,28 @@ func TestRememberForErrorDoesNotStore(t *testing.T) { require.NoError(t, err2) assert.False(t, exists) } + +// getWithValueErrorStore simulates a backend that cannot deserialize an existing value +// into the requested type, e.g. a key that held a plain int64 before the cache started +// storing a struct (the pre-refactor metrics counters in Redis). +type getWithValueErrorStore struct { + *memory.Storage +} + +func (s *getWithValueErrorStore) GetWithValue(string, interface{}) (bool, error) { + return false, errors.New("decode error") +} + +func TestRememberForRecomputesWhenStoredValueCannotBeDeserialized(t *testing.T) { + store = &getWithValueErrorStore{memory.NewStorage()} + + called := 0 + val, err := RememberFor("foo", time.Hour, func() (int64, error) { + called++ + return 42, nil + }) + + require.NoError(t, err) + assert.Equal(t, int64(42), val) + assert.Equal(t, 1, called) +} From 137f31bb205c3fe254a2db929bafb538b3271f85 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 16:12:17 +0200 Subject: [PATCH 017/185] fix(docker): make /tmp world-writable so exports work under any UID The scratch image shipped /tmp owned by 1000:1000 and writable only by UID 1000, so containers run under a different user (e.g. Unraid's 99:100, OpenShift random UIDs, or any `user:` override) could not create the temp file used for data exports, failing with: error creating temp file: open /tmp/vikunja-export-*.zip: permission denied The builder-stage `chmod 1777 /tmp` did not survive into the final image (see #2316, which had to add --chown to make it writable for UID 1000), so the world-writable intent was lost. Force the mode at copy time with BuildKit's --chmod=1777, restoring a normal sticky, world-writable /tmp that works for every UID. Closes go-vikunja/vikunja#2755 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8075aeee2..ce2e4aec2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,7 +50,7 @@ WORKDIR /app/vikunja ENTRYPOINT [ "/app/vikunja/vikunja" ] EXPOSE 3456 -COPY --from=apibuilder --chown=1000:1000 /tmp /tmp +COPY --from=apibuilder --chown=1000:1000 --chmod=1777 /tmp /tmp USER 1000 From 5fa6d66c41d29b8b47a97a184b33de9827a55d4e Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 20 Apr 2026 10:41:25 +0200 Subject: [PATCH 018/185] feat: vendor humaecho adapter for echo/v5 --- pkg/modules/humaecho5/humaecho5.go | 185 ++++++++++++++++++++++++ pkg/modules/humaecho5/humaecho5_test.go | 86 +++++++++++ 2 files changed, 271 insertions(+) create mode 100644 pkg/modules/humaecho5/humaecho5.go create mode 100644 pkg/modules/humaecho5/humaecho5_test.go diff --git a/pkg/modules/humaecho5/humaecho5.go b/pkg/modules/humaecho5/humaecho5.go new file mode 100644 index 000000000..1c1f28b8e --- /dev/null +++ b/pkg/modules/humaecho5/humaecho5.go @@ -0,0 +1,185 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Package humaecho5 is a Huma adapter for labstack/echo/v5, vendored from +// the unmerged upstream PR https://github.com/danielgtaylor/huma/pull/959 +// until it lands (Huma's own humaecho is echo/v4 only). Delete and switch +// back to upstream once that PR merges. +// +// Vikunja-specific glue: every request stashes its *echo.Context on +// context.Context under EchoContextKey so handlers can reach the echo +// context via auth.GetAuthFromContext without per-handler wiring. +package humaecho5 + +import ( + "context" + "crypto/tls" + "io" + "mime/multipart" + "net/http" + "net/url" + "strings" + "time" + + "github.com/danielgtaylor/huma/v2" + "github.com/labstack/echo/v5" +) + +// MultipartMaxMemory caps in-memory buffering for multipart form parsing. +var MultipartMaxMemory int64 = 8 * 1024 + +type echoContextKey struct{} + +// EchoContextKey retrieves the underlying *echo.Context from a Huma +// handler's context.Context. +var EchoContextKey = echoContextKey{} + +// Unwrap extracts the underlying Echo context from a Huma context. Panics if +// called on a context from a different adapter. +func Unwrap(ctx huma.Context) *echo.Context { + for { + if c, ok := ctx.(interface{ Unwrap() huma.Context }); ok { + ctx = c.Unwrap() + continue + } + break + } + if c, ok := ctx.(*echoCtx); ok { + return c.Unwrap() + } + panic("not a humaecho5 context") +} + +type echoCtx struct { + op *huma.Operation + orig *echo.Context + status int +} + +var _ huma.Context = &echoCtx{} + +func (c *echoCtx) Unwrap() *echo.Context { return c.orig } +func (c *echoCtx) Operation() *huma.Operation { return c.op } + +func (c *echoCtx) Context() context.Context { + // Stash echo context so auth.GetAuthFromContext can retrieve it. + return context.WithValue((*c.orig).Request().Context(), EchoContextKey, c.orig) +} + +func (c *echoCtx) Method() string { return (*c.orig).Request().Method } +func (c *echoCtx) Host() string { return (*c.orig).Request().Host } +func (c *echoCtx) RemoteAddr() string { return (*c.orig).Request().RemoteAddr } +func (c *echoCtx) URL() url.URL { return *(*c.orig).Request().URL } + +func (c *echoCtx) Param(name string) string { return (*c.orig).Param(name) } +func (c *echoCtx) Query(name string) string { return (*c.orig).QueryParam(name) } +func (c *echoCtx) Header(name string) string { return (*c.orig).Request().Header.Get(name) } + +func (c *echoCtx) EachHeader(cb func(name, value string)) { + for name, values := range (*c.orig).Request().Header { + for _, value := range values { + cb(name, value) + } + } +} + +func (c *echoCtx) BodyReader() io.Reader { return (*c.orig).Request().Body } + +func (c *echoCtx) GetMultipartForm() (*multipart.Form, error) { + err := (*c.orig).Request().ParseMultipartForm(MultipartMaxMemory) + return (*c.orig).Request().MultipartForm, err +} + +func (c *echoCtx) SetReadDeadline(deadline time.Time) error { + return huma.SetReadDeadline((*c.orig).Response(), deadline) +} + +func (c *echoCtx) SetStatus(code int) { + c.status = code + (*c.orig).Response().WriteHeader(code) +} + +func (c *echoCtx) Status() int { return c.status } + +func (c *echoCtx) AppendHeader(name, value string) { + (*c.orig).Response().Header().Add(name, value) +} + +func (c *echoCtx) SetHeader(name, value string) { + (*c.orig).Response().Header().Set(name, value) +} + +func (c *echoCtx) BodyWriter() io.Writer { return (*c.orig).Response() } + +func (c *echoCtx) TLS() *tls.ConnectionState { return (*c.orig).Request().TLS } + +func (c *echoCtx) Version() huma.ProtoVersion { + r := (*c.orig).Request() + return huma.ProtoVersion{ + Proto: r.Proto, + ProtoMajor: r.ProtoMajor, + ProtoMinor: r.ProtoMinor, + } +} + +type router interface { + Add(method, path string, handler echo.HandlerFunc, middlewares ...echo.MiddlewareFunc) echo.RouteInfo +} + +type echoAdapter struct { + http.Handler + router router + // groupPrefix (e.g. "/api/v2") gets prepended to internal Huma + // dispatches whose path doesn't already start with it — required so + // autopatch's relative path resolution works under a sub-group. + groupPrefix string +} + +func (a *echoAdapter) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if a.groupPrefix != "" && !strings.HasPrefix(r.URL.Path, a.groupPrefix) { + r = r.Clone(r.Context()) + r.URL.Path = a.groupPrefix + r.URL.Path + if r.URL.RawPath != "" { + r.URL.RawPath = a.groupPrefix + r.URL.RawPath + } + } + a.Handler.ServeHTTP(w, r) +} + +func (a *echoAdapter) Handle(op *huma.Operation, handler func(huma.Context)) { + // Convert {param} to :param for Echo's router. + path := op.Path + path = strings.ReplaceAll(path, "{", ":") + path = strings.ReplaceAll(path, "}", "") + a.router.Add(op.Method, path, func(c *echo.Context) error { + ctx := &echoCtx{op: op, orig: c} + handler(ctx) + return nil + }) +} + +// New creates a new Huma API using the provided Echo router. +func New(r *echo.Echo, config huma.Config) huma.API { + return huma.NewAPI(config, &echoAdapter{Handler: r, router: r}) +} + +// NewWithGroup mounts a Huma API on a group so handlers inherit its +// middleware. groupPrefix must equal the prefix g was constructed with; +// the adapter uses it to rewrite internal Huma dispatches (notably +// autopatch's GET+PUT round trip) onto absolute URLs. +func NewWithGroup(r *echo.Echo, g *echo.Group, groupPrefix string, config huma.Config) huma.API { + return huma.NewAPI(config, &echoAdapter{Handler: r, router: g, groupPrefix: groupPrefix}) +} diff --git a/pkg/modules/humaecho5/humaecho5_test.go b/pkg/modules/humaecho5/humaecho5_test.go new file mode 100644 index 000000000..9594ea106 --- /dev/null +++ b/pkg/modules/humaecho5/humaecho5_test.go @@ -0,0 +1,86 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package humaecho5_test + +import ( + "context" + "encoding/json" + "net/http/httptest" + "testing" + + "code.vikunja.io/api/pkg/modules/humaecho5" + "github.com/danielgtaylor/huma/v2" + "github.com/labstack/echo/v5" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// TestAdapterRoundtrip proves that a Huma operation registered against the +// v5 adapter is served by Echo and that the echo.Context is retrievable +// from the handler's context.Context via EchoContextKey. +func TestAdapterRoundtrip(t *testing.T) { + e := echo.New() + api := humaecho5.New(e, huma.DefaultConfig("spike", "0.0.1")) + + type pingInput struct { + Name string `path:"name"` + } + type pingOutput struct { + Body struct { + Echo string `json:"echo"` + HasEchoCtx bool `json:"has_echo_ctx"` + } + } + + huma.Register(api, huma.Operation{ + OperationID: "ping", + Method: "GET", + Path: "/ping/{name}", + }, func(ctx context.Context, in *pingInput) (*pingOutput, error) { + _, ok := ctx.Value(humaecho5.EchoContextKey).(*echo.Context) + out := &pingOutput{} + out.Body.Echo = in.Name + out.Body.HasEchoCtx = ok + return out, nil + }) + + req := httptest.NewRequest("GET", "/ping/world", nil) + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + + require.Equal(t, 200, rec.Code, "body: %s", rec.Body.String()) + var got struct { + Echo string `json:"echo"` + HasEchoCtx bool `json:"has_echo_ctx"` + } + require.NoError(t, json.NewDecoder(rec.Body).Decode(&got)) + assert.Equal(t, "world", got.Echo) + assert.True(t, got.HasEchoCtx, "echo.Context not stashed on request ctx") +} + +// TestOpenAPISpecServed proves Huma serves the OAS 3.1 spec document +// on its configured URL. +func TestOpenAPISpecServed(t *testing.T) { + e := echo.New() + _ = humaecho5.New(e, huma.DefaultConfig("spike", "0.0.1")) + req := httptest.NewRequest("GET", "/openapi.json", nil) + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + require.Equal(t, 200, rec.Code) + assert.Contains(t, rec.Body.String(), `"openapi":"3.1`, + "expected OAS 3.1 header, got %s", rec.Body.String()) +} From 5fefa885777e9cd3eb6ba0b33673c1eb686a909c Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 12:58:19 +0200 Subject: [PATCH 019/185] feat(routes): scaffold /api/v2 Echo group --- pkg/routes/api/v2/huma.go | 44 +++++++++++++++++++++++++++++++++++++++ pkg/routes/routes.go | 19 ++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 pkg/routes/api/v2/huma.go diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go new file mode 100644 index 000000000..30824c384 --- /dev/null +++ b/pkg/routes/api/v2/huma.go @@ -0,0 +1,44 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +// Package apiv2 wires Huma onto the /api/v2 Echo group. +package apiv2 + +import ( + "code.vikunja.io/api/pkg/modules/humaecho5" + "code.vikunja.io/api/pkg/version" + + "github.com/danielgtaylor/huma/v2" + "github.com/labstack/echo/v5" +) + +// GroupPrefix is the URL prefix the Echo group for /api/v2 is mounted at. +const GroupPrefix = "/api/v2" + +// NewAPI mounts Huma on the /api/v2 group. Per-resource Register* calls +// live in sibling files. +func NewAPI(e *echo.Echo, g *echo.Group) huma.API { + cfg := huma.DefaultConfig("Vikunja API", version.Version) + cfg.OpenAPIPath = "/openapi" + // Huma's built-in docs would load from unpkg.com — we serve Scalar locally instead. + cfg.DocsPath = "" + // Partial-update permissive: non-pointer fields do not become required + // at the schema layer (legacy /v1 handlers are permissive by convention; + // govalidator enforces real field-level rules later). + cfg.FieldsOptionalByDefault = true + + return humaecho5.NewWithGroup(e, g, GroupPrefix, cfg) +} diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index e72d9ec61..8dd390e0c 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -80,6 +80,7 @@ import ( "code.vikunja.io/api/pkg/plugins" apiv1 "code.vikunja.io/api/pkg/routes/api/v1" adminapi "code.vikunja.io/api/pkg/routes/api/v1/admin" + apiv2 "code.vikunja.io/api/pkg/routes/api/v2" "code.vikunja.io/api/pkg/routes/caldav" "code.vikunja.io/api/pkg/routes/feeds" "code.vikunja.io/api/pkg/version" @@ -303,6 +304,10 @@ func RegisterRoutes(e *echo.Echo) { a := e.Group("/api/v1") registerAPIRoutes(a) + // /api/v2 — Huma-backed API, scaffolded alongside /api/v1. + a2 := e.Group("/api/v2") + registerAPIRoutesV2(e, a2) + // Collect routes for API token permissions // In Echo v5, we collect routes after registration using e.Router().Routes() collectRoutesForAPITokens(e) @@ -325,6 +330,11 @@ var unauthenticatedAPIPaths = map[string]bool{ "/api/v1/docs/redoc.standalone.js": true, "/api/v1/metrics": true, "/api/v1/oauth/token": true, + + "/api/v2/openapi.json": true, + "/api/v2/openapi.yaml": true, + "/api/v2/docs": true, + "/api/v2/docs/scalar.standalone.js": true, } // collectRoutesForAPITokens collects all routes for API token permission checking. @@ -334,7 +344,7 @@ func collectRoutesForAPITokens(e *echo.Echo) { log.Debugf("Collecting %d routes for API token usage", len(routeList)) for _, route := range routeList { // Only process API routes - if !strings.HasPrefix(route.Path, "/api/v1") { + if !strings.HasPrefix(route.Path, "/api/v1") && !strings.HasPrefix(route.Path, "/api/v2") { continue } @@ -345,6 +355,13 @@ func collectRoutesForAPITokens(e *echo.Echo) { } } +// registerAPIRoutesV2 wires the /api/v2 Echo group. Huma and per-resource +// route registrations land here in later sub-phases. +func registerAPIRoutesV2(e *echo.Echo, a *echo.Group) { + _ = apiv2.NewAPI(e, a) + // Resource registrations go here in later sub-phases. +} + func registerAPIRoutes(a *echo.Group) { // Prevent browsers from caching API responses. Without an explicit From 47b2d1043bfdef1501215f29f6ad2d467f5c0998 Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 7 May 2026 11:33:55 +0200 Subject: [PATCH 020/185] chore(deps): add huma/v2 and align transitive deps Promotes huma/v2 to a direct dep (now imported by pkg/routes/api/v2 and pkg/modules/humaecho5) and bumps clipperhouse/displaywidth to v0.11.0, which is required for compatibility with uax29/v2 v2.7.0 that huma pulls in. Other version bumps are go-mod-tidy consequences of MVS. --- go.mod | 16 ++++++++-------- go.sum | 40 ++++++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/go.mod b/go.mod index a0fd3335b..451f9ed23 100644 --- a/go.mod +++ b/go.mod @@ -35,10 +35,11 @@ require ( github.com/coder/websocket v1.8.14 github.com/coreos/go-oidc/v3 v3.17.0 github.com/d4l3k/messagediff v1.2.1 + github.com/danielgtaylor/huma/v2 v2.37.3 github.com/disintegration/imaging v1.6.2 github.com/dustinkirkland/golang-petname v0.0.0-20240422154211-76c06c4bde6b github.com/fatih/color v1.18.0 - github.com/gabriel-vasile/mimetype v1.4.12 + github.com/gabriel-vasile/mimetype v1.4.13 github.com/ganigeorgiev/fexpr v0.5.0 github.com/getsentry/sentry-go v0.41.0 github.com/go-ldap/ldap/v3 v3.4.12 @@ -117,9 +118,8 @@ require ( github.com/boombuler/barcode v1.0.1 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/clipperhouse/displaywidth v0.6.2 // indirect - github.com/clipperhouse/stringish v0.1.1 // indirect - github.com/clipperhouse/uax29/v2 v2.3.0 // indirect + github.com/clipperhouse/displaywidth v0.11.0 // indirect + github.com/clipperhouse/uax29/v2 v2.7.0 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect @@ -131,7 +131,7 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect - github.com/go-chi/chi/v5 v5.2.2 // indirect + github.com/go-chi/chi/v5 v5.2.5 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect @@ -141,7 +141,7 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/goccy/go-json v0.10.5 // indirect - github.com/goccy/go-yaml v1.18.0 // indirect + github.com/goccy/go-yaml v1.19.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/gorilla/feeds v1.2.0 // indirect @@ -153,7 +153,7 @@ require ( github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.19 // indirect + github.com/mattn/go-runewidth v0.0.20 // indirect github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/moby/api v1.53.0 // indirect @@ -198,7 +198,7 @@ require ( golang.org/x/mod v0.33.0 // indirect golang.org/x/time v0.14.0 // indirect golang.org/x/tools v0.42.0 // indirect - google.golang.org/protobuf v1.36.8 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect sigs.k8s.io/yaml v1.3.0 // indirect diff --git a/go.sum b/go.sum index a917d62a4..f5bc7115c 100644 --- a/go.sum +++ b/go.sum @@ -96,12 +96,10 @@ github.com/chengxilo/virtualterm v1.0.4/go.mod h1:DyxxBZz/x1iqJjFxTFcr6/x+jSpqN0 github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/clipperhouse/displaywidth v0.6.2 h1:ZDpTkFfpHOKte4RG5O/BOyf3ysnvFswpyYrV7z2uAKo= -github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= -github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= -github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= -github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= -github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/clipperhouse/displaywidth v0.11.0 h1:lBc6kY44VFw+TDx4I8opi/EtL9m20WSEFgwIwO+UVM8= +github.com/clipperhouse/displaywidth v0.11.0/go.mod h1:bkrFNkf81G8HyVqmKGxsPufD3JhNl3dSqnGhOoSD/o0= +github.com/clipperhouse/uax29/v2 v2.7.0 h1:+gs4oBZ2gPfVrKPthwbMzWZDaAFPGYK72F0NJv2v7Vk= +github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g= github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg= @@ -122,6 +120,8 @@ github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt9U= github.com/d4l3k/messagediff v1.2.1/go.mod h1:Oozbb1TVXFac9FtSIxHBMnBCq2qeH/2KkEQxENCrlLo= +github.com/danielgtaylor/huma/v2 v2.37.3 h1:6Av0Vj45Vk5lDxRVfoO2iPlEdvCvwLc7pl5nbqGOkYM= +github.com/danielgtaylor/huma/v2 v2.37.3/go.mod h1:OeHHtCEAaNiuVbAVdYu4IQ0UOmnb4x3yMUOShNlZ53g= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -154,16 +154,18 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= -github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/gabriel-vasile/mimetype v1.4.13 h1:46nXokslUBsAJE/wMsp5gtO500a4F3Nkz9Ufpk2AcUM= +github.com/gabriel-vasile/mimetype v1.4.13/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= github.com/ganigeorgiev/fexpr v0.5.0 h1:XA9JxtTE/Xm+g/JFI6RfZEHSiQlk+1glLvRK1Lpv/Tk= github.com/ganigeorgiev/fexpr v0.5.0/go.mod h1:RyGiGqmeXhEQ6+mlGdnUleLHgtzzu/VGO2WtJkF5drE= github.com/getsentry/sentry-go v0.41.0 h1:q/dQZOlEIb4lhxQSjJhQqtRr3vwrJ6Ahe1C9zv+ryRo= github.com/getsentry/sentry-go v0.41.0/go.mod h1:eRXCoh3uvmjQLY6qu63BjUZnaBu5L5WhMV1RwYO8W5s= github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo= github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-chi/chi/v5 v5.2.2 h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618= -github.com/go-chi/chi/v5 v5.2.2/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= +github.com/go-chi/chi/v5 v5.2.5 h1:Eg4myHZBjyvJmAFjFvWgrqDTXFyOzjj7YIm3L3mu6Ug= +github.com/go-chi/chi/v5 v5.2.5/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA= @@ -205,8 +207,8 @@ github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGF github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= -github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= @@ -330,8 +332,8 @@ github.com/jszwedko/go-datemath v0.1.1-0.20230526204004-640a500621d6/go.mod h1:W github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= -github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= +github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= github.com/kolaente/caldav-go v3.0.1-0.20260326091743-a55d55891017+incompatible h1:81Hr6g9bunxXhRv4AZv0anKcS1WwHLMgo6wbBjamJlY= github.com/kolaente/caldav-go v3.0.1-0.20260326091743-a55d55891017+incompatible/go.mod h1:y1UhTNI4g0hVymJrI6yJ5/ohy09hNBeU8iJEZjgdDOw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -380,8 +382,8 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= -github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/mattn/go-runewidth v0.0.20 h1:WcT52H91ZUAwy8+HUkdM3THM6gXqXuLJi9O3rjcQQaQ= +github.com/mattn/go-runewidth v0.0.20/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.33 h1:A5blZ5ulQo2AtayQ9/limgHEkFreKj1Dv226a1K73s0= @@ -534,6 +536,8 @@ github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/wneessen/go-mail v0.7.2 h1:xxPnhZ6IZLSgxShebmZ6DPKh1b6OJcoHfzy7UjOkzS8= github.com/wneessen/go-mail v0.7.2/go.mod h1:+TkW6QP3EVkgTEqHtVmnAE/1MRhmzb8Y9/W3pweuS+k= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4 h1:0sw0nJM544SpsihWx1bkXdYLQDlzRflMgFJQ4Yih9ts= github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4/go.mod h1:+ccdNT0xMY1dtc5XBxumbYfOUhmduiGudqaDgD2rVRE= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -700,8 +704,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= -google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 15d8ac5f496468bafa035c11e3e9f9f6e0a9fdc9 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 20 Apr 2026 10:43:15 +0200 Subject: [PATCH 021/185] feat(auth): add GetAuthFromContext for Huma handlers --- pkg/modules/auth/auth.go | 13 +++++++++++++ pkg/modules/auth/auth_test.go | 29 +++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 pkg/modules/auth/auth_test.go diff --git a/pkg/modules/auth/auth.go b/pkg/modules/auth/auth.go index 540e85d04..61a5f9b13 100644 --- a/pkg/modules/auth/auth.go +++ b/pkg/modules/auth/auth.go @@ -17,6 +17,7 @@ package auth import ( + "context" "fmt" "net/http" "net/url" @@ -26,6 +27,7 @@ import ( "code.vikunja.io/api/pkg/config" "code.vikunja.io/api/pkg/db" "code.vikunja.io/api/pkg/models" + "code.vikunja.io/api/pkg/modules/humaecho5" "code.vikunja.io/api/pkg/user" "code.vikunja.io/api/pkg/web" @@ -383,3 +385,14 @@ func RefreshSession(rawRefreshToken string) (*RefreshResult, error) { SessionID: session.ID, }, nil } + +// GetAuthFromContext retrieves the authenticated web.Auth from a plain +// context.Context, bridging Huma handlers to Vikunja's echo JWT flow. The +// humaecho5 adapter stashes the *echo.Context under EchoContextKey first. +func GetAuthFromContext(ctx context.Context) (web.Auth, error) { + ec, ok := ctx.Value(humaecho5.EchoContextKey).(*echo.Context) + if !ok { + return nil, fmt.Errorf("no echo.Context on request context; are you calling GetAuthFromContext from a Huma handler dispatched by humaecho5?") + } + return GetAuthFromClaims(ec) +} diff --git a/pkg/modules/auth/auth_test.go b/pkg/modules/auth/auth_test.go new file mode 100644 index 000000000..b51b2da37 --- /dev/null +++ b/pkg/modules/auth/auth_test.go @@ -0,0 +1,29 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package auth + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestGetAuthFromContext_NoEchoContext(t *testing.T) { + _, err := GetAuthFromContext(context.Background()) + assert.Error(t, err, "should fail when echo.Context isn't stashed on ctx") +} From 8a4f5cbe11e0fe0f97dca728d5e05540a87794e5 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:47:33 +0200 Subject: [PATCH 022/185] fix(models): make API tokens work on /api/v2 routes Sub-phase G validation caught that a token scoped to e.g. `labels.read_one` was rejected on /api/v2/labels because the route collector only stripped /api/v1/ from paths and did not know about v2's REST-style verbs (POST create, PUT/PATCH update, inverted from v1 where PUT creates and POST updates). Introduce a shadow apiTokenRoutesV2 map keyed under the same (group, permission) names as the v1 entries. Route collection now routes v2 paths into this shadow map and CanDoAPIRoute consults both tables, so the same permission bit authorizes the v1 and v2 endpoints for the same resource without changing the data shape served at /api/v1/routes (which the frontend token UI depends on). Also teach getRouteDetail about PATCH so Huma's AutoPatch-synthesized PATCH routes collapse to the `update` permission instead of being dropped. --- pkg/models/api_routes.go | 140 ++++++++++++++++++++++++---------- pkg/models/api_routes_test.go | 91 ++++++++++++++++++++++ 2 files changed, 192 insertions(+), 39 deletions(-) diff --git a/pkg/models/api_routes.go b/pkg/models/api_routes.go index 607274092..2f1f6e0ed 100644 --- a/pkg/models/api_routes.go +++ b/pkg/models/api_routes.go @@ -27,8 +27,15 @@ import ( var apiTokenRoutes = map[string]APITokenRoute{} +// apiTokenRoutesV2 holds /api/v2 routes under the same (group, permission) +// keys as v1, so a token granted e.g. labels.read_one authorises both +// versions. The frontend token UI still reads only apiTokenRoutes; +// CanDoAPIRoute consults both tables. +var apiTokenRoutesV2 = map[string]APITokenRoute{} + func init() { apiTokenRoutes = make(map[string]APITokenRoute) + apiTokenRoutesV2 = make(map[string]APITokenRoute) apiTokenRoutes["caldav"] = APITokenRoute{ "access": &RouteDetail{ Path: "/dav/*", @@ -50,8 +57,25 @@ type RouteDetail struct { Method string `json:"method"` } +// isV2Path reports whether the given route path lives under /api/v2. +func isV2Path(path string) bool { + return strings.HasPrefix(path, "/api/v2/") || path == "/api/v2" +} + +// stripAPIVersion removes the /api/v1/ or /api/v2/ prefix so both +// versions normalise to the same token-permission group name. +func stripAPIVersion(path string) string { + if stripped := strings.TrimPrefix(path, "/api/v1/"); stripped != path { + return stripped + } + if stripped := strings.TrimPrefix(path, "/api/v2/"); stripped != path { + return stripped + } + return path +} + func getRouteGroupName(path string) (finalName string, filteredParts []string) { - parts := strings.Split(strings.TrimPrefix(path, "/api/v1/"), "/") + parts := strings.Split(stripAPIVersion(path), "/") filteredParts = []string{} for _, part := range parts { if strings.HasPrefix(part, ":") { @@ -75,6 +99,9 @@ func getRouteGroupName(path string) (finalName string, filteredParts []string) { // getRouteDetail determines the API permission type from the route's HTTP method and path. // In Echo v5, route.Name is auto-generated as METHOD:PATH, so we derive permissions from // the HTTP method and path structure instead of the handler function name. +// +// v1 and v2 have inverted create/update verbs: v1 uses PUT for create and POST +// for update, v2 follows REST conventions (POST create, PUT/PATCH update). func getRouteDetail(route echo.RouteInfo) (method string, detail *RouteDetail) { detail = &RouteDetail{ Path: route.Path, @@ -88,6 +115,7 @@ func getRouteDetail(route echo.RouteInfo) (method string, detail *RouteDetail) { lastPart = pathParts[len(pathParts)-1] } endsWithParam := strings.HasPrefix(lastPart, ":") + v2 := isV2Path(route.Path) switch route.Method { case http.MethodGet: @@ -96,10 +124,21 @@ func getRouteDetail(route echo.RouteInfo) (method string, detail *RouteDetail) { } return "read_all", detail case http.MethodPut: - // PUT is used for creating resources in this codebase + if v2 { + // v2: PUT replaces an existing resource → update. + return "update", detail + } + // v1: PUT is used for creating resources. return "create", detail case http.MethodPost: - // POST is used for updating resources + if v2 { + // v2: POST creates a new resource on the collection. + return "create", detail + } + // v1: POST is used for updating resources. + return "update", detail + case http.MethodPatch: + // Both versions use PATCH for partial updates. return "update", detail case http.MethodDelete: return "delete", detail @@ -108,9 +147,9 @@ func getRouteDetail(route echo.RouteInfo) (method string, detail *RouteDetail) { return "", detail } -func ensureAPITokenRoutesGroup(group string) { - if _, has := apiTokenRoutes[group]; !has { - apiTokenRoutes[group] = make(APITokenRoute) +func ensureAPITokenRoutesGroup(target map[string]APITokenRoute, group string) { + if _, has := target[group]; !has { + target[group] = make(APITokenRoute) } } @@ -183,8 +222,10 @@ func isStandardCRUDRoute(routeGroupName string, routeParts []string, _ string) b return false } -// CollectRoutesForAPITokenUsage gets called for every added APITokenRoute and builds a list of all routes we can use for the api tokens. -// The requiresJWT parameter indicates if this route is protected by JWT authentication. +// CollectRoutesForAPITokenUsage records a route for token authorisation. +// v1 and v2 share group/permission keys derived from the prefix-stripped +// path; v2 entries land in apiTokenRoutesV2 so the v1-only frontend UI is +// unchanged while CanDoAPIRoute consults both tables. func CollectRoutesForAPITokenUsage(route echo.RouteInfo, requiresJWT bool) { if route.Method == "echo_route_not_found" { @@ -205,6 +246,20 @@ func CollectRoutesForAPITokenUsage(route echo.RouteInfo, requiresJWT bool) { return } + target := apiTokenRoutes + if isV2Path(route.Path) { + target = apiTokenRoutesV2 + // AutoPatch synthesises a PATCH counterpart for every PUT route in + // the /api/v2 surface. Both methods derive the same "update" + // permission, so storing the PATCH one would clobber the PUT one + // (last-write-wins on the map). Skip PATCH during collection — + // PUT is the authoritative update verb for API tokens; JWT clients + // still get PATCH because auth isn't gated on this table. + if route.Method == http.MethodPatch { + return + } + } + // Check if this is a standard CRUD route using path-based heuristics // In Echo v5, we can no longer rely on route.Name containing "(*WebHandler)" isCRUD := isStandardCRUDRoute(routeGroupName, routeParts, route.Method) @@ -224,67 +279,67 @@ func CollectRoutesForAPITokenUsage(route echo.RouteInfo, requiresJWT bool) { // Otherwise, we add it to the "other" key. if len(routeParts) == 1 { if routeGroupName == "notifications" && route.Method == http.MethodPost { - ensureAPITokenRoutesGroup("notifications") + ensureAPITokenRoutesGroup(target, "notifications") - apiTokenRoutes["notifications"]["mark_all_as_read"] = routeDetail + target["notifications"]["mark_all_as_read"] = routeDetail return } - ensureAPITokenRoutesGroup("other") + ensureAPITokenRoutesGroup(target, "other") - _, exists := apiTokenRoutes["other"][routeGroupName] + _, exists := target["other"][routeGroupName] if exists { routeGroupName += "_" + strings.ToLower(route.Method) } - apiTokenRoutes["other"][routeGroupName] = routeDetail + target["other"][routeGroupName] = routeDetail return } subkey := strings.Join(routeParts[1:], "_") - if _, has := apiTokenRoutes[routeParts[0]]; !has { - apiTokenRoutes[routeParts[0]] = make(APITokenRoute) + if _, has := target[routeParts[0]]; !has { + target[routeParts[0]] = make(APITokenRoute) } - if _, has := apiTokenRoutes[routeParts[0]][subkey]; has { + if _, has := target[routeParts[0]][subkey]; has { subkey += "_" + strings.ToLower(route.Method) } - apiTokenRoutes[routeParts[0]][subkey] = routeDetail + target[routeParts[0]][subkey] = routeDetail return } if strings.HasSuffix(routeGroupName, "_bulk") { parent := strings.TrimSuffix(routeGroupName, "_bulk") - ensureAPITokenRoutesGroup(parent) + ensureAPITokenRoutesGroup(target, parent) method, routeDetail := getRouteDetail(route) - apiTokenRoutes[parent][method+"_bulk"] = routeDetail + target[parent][method+"_bulk"] = routeDetail return } - _, has := apiTokenRoutes[routeGroupName] + _, has := target[routeGroupName] if !has { - apiTokenRoutes[routeGroupName] = make(APITokenRoute) + target[routeGroupName] = make(APITokenRoute) } method, routeDetail := getRouteDetail(route) if method != "" { - apiTokenRoutes[routeGroupName][method] = routeDetail + target[routeGroupName][method] = routeDetail } // Handle task attachments specially - they use custom handlers not WebHandler if routeGroupName == "tasks_attachments" { // PUT is upload (create), GET with :attachment param is download (read_one) if route.Method == http.MethodPut { - apiTokenRoutes[routeGroupName]["create"] = &RouteDetail{ + target[routeGroupName]["create"] = &RouteDetail{ Path: route.Path, Method: route.Method, } } if route.Method == http.MethodGet && strings.HasSuffix(route.Path, ":attachment") { - apiTokenRoutes[routeGroupName]["read_one"] = &RouteDetail{ + target[routeGroupName]["read_one"] = &RouteDetail{ Path: route.Path, Method: route.Method, } @@ -317,6 +372,11 @@ func GetAvailableAPIRoutesForToken(c *echo.Context) error { // stored (Path, Method) for that permission matches exactly. This closes // GHSA-v479-vf79-mg83 and the wider method/sub-resource confusion it // enabled. The one exception is the tasks.read_all quirk handled below. +// +// Tokens are granted by (group, permission) name (e.g. labels.read_one), +// so a single permission can legitimately match both the v1 and v2 routes +// for the same resource. We consult apiTokenRoutes for v1 and the +// apiTokenRoutesV2 shadow map for v2. func CanDoAPIRoute(c *echo.Context, token *APIToken) (can bool) { path := c.Path() if path == "" { @@ -327,23 +387,25 @@ func CanDoAPIRoute(c *echo.Context, token *APIToken) (can bool) { method := c.Request().Method for group, perms := range token.APIPermissions { - routes, has := apiTokenRoutes[group] - if !has { - continue - } - for _, p := range perms { - rd := routes[p] - if rd == nil { + tables := []APITokenRoute{apiTokenRoutes[group], apiTokenRoutesV2[group]} + for _, routes := range tables { + if routes == nil { continue } - if rd.Method == method && rd.Path == path { - return true - } - // Two list endpoints share tasks.read_all but only one - // survives collection, so allow either explicitly. - if group == "tasks" && p == "read_all" && method == http.MethodGet && - (path == "/api/v1/tasks" || path == "/api/v1/projects/:project/tasks") { - return true + for _, p := range perms { + rd := routes[p] + if rd == nil { + continue + } + if rd.Method == method && rd.Path == path { + return true + } + // Two list endpoints share tasks.read_all but only one + // survives collection, so allow either explicitly. + if group == "tasks" && p == "read_all" && method == http.MethodGet && + (path == "/api/v1/tasks" || path == "/api/v1/projects/:project/tasks") { + return true + } } } } diff --git a/pkg/models/api_routes_test.go b/pkg/models/api_routes_test.go index 3dd9e7d99..b47ee86be 100644 --- a/pkg/models/api_routes_test.go +++ b/pkg/models/api_routes_test.go @@ -54,3 +54,94 @@ func TestCanDoAPIRoute_BulkLabelTask(t *testing.T) { assert.Equal(t, "/api/v1/tasks/:projecttask/labels/bulk", bulkRoute.Path) assert.Equal(t, "POST", bulkRoute.Method) } + +func TestIsV2Path(t *testing.T) { + cases := map[string]bool{ + "/api/v2": true, + "/api/v2/": true, + "/api/v2/labels": true, + "/api/v1/labels": false, + "/api/v1/api/v2": false, // prefix is authoritative + "": false, + "/api/v20/labels": false, // only exact /api/v2 prefix counts + "/api/v2labels": false, + } + for path, want := range cases { + t.Run(path, func(t *testing.T) { + assert.Equal(t, want, isV2Path(path)) + }) + } +} + +func TestStripAPIVersion(t *testing.T) { + cases := map[string]string{ + "/api/v1/labels": "labels", + "/api/v2/labels": "labels", + "/api/v2/labels/42": "labels/42", + "/api/v1/tasks/bulk": "tasks/bulk", + "/api/v3/labels": "/api/v3/labels", // unknown versions pass through + "/labels": "/labels", + "": "", + } + for path, want := range cases { + t.Run(path, func(t *testing.T) { + assert.Equal(t, want, stripAPIVersion(path)) + }) + } +} + +// TestCollectRoutesV2 verifies that /api/v2 routes are stored in the v2 +// shadow table under the same (group, permission) keys their v1 counterparts +// would use. This is what lets a token scoped on `labels.read_one` authorise +// both /api/v1/labels/{id} and /api/v2/labels/{id}. +func TestCollectRoutesV2(t *testing.T) { + apiTokenRoutes = make(map[string]APITokenRoute) + apiTokenRoutesV2 = make(map[string]APITokenRoute) + + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "GET", Path: "/api/v2/labels"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "GET", Path: "/api/v2/labels/:id"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "POST", Path: "/api/v2/labels"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "PUT", Path: "/api/v2/labels/:id"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "DELETE", Path: "/api/v2/labels/:id"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "PATCH", Path: "/api/v2/labels/:id"}, true) + + // v1 map stays untouched. + assert.Empty(t, apiTokenRoutes, "v2 routes must not land in the v1 table") + + labels, has := apiTokenRoutesV2["labels"] + require.True(t, has, "labels group should exist in v2 table") + assert.Equal(t, "GET", labels["read_all"].Method) + assert.Equal(t, "/api/v2/labels", labels["read_all"].Path) + assert.Equal(t, "GET", labels["read_one"].Method) + assert.Equal(t, "POST", labels["create"].Method) + // PUT is the authoritative update verb for API tokens — PATCH is + // skipped during collection so it doesn't clobber PUT. + assert.Equal(t, "PUT", labels["update"].Method) + assert.Equal(t, "DELETE", labels["delete"].Method) +} + +// TestGetRouteDetail_V2Verbs verifies the v2 verb mapping: POST→create, +// PUT/PATCH→update. v1 inverts POST and PUT so we need a separate mapping +// path. +func TestGetRouteDetail_V2Verbs(t *testing.T) { + cases := []struct { + method, path, wantPerm string + }{ + {"GET", "/api/v2/labels", "read_all"}, + {"GET", "/api/v2/labels/:id", "read_one"}, + {"POST", "/api/v2/labels", "create"}, + {"PUT", "/api/v2/labels/:id", "update"}, + {"PATCH", "/api/v2/labels/:id", "update"}, + {"DELETE", "/api/v2/labels/:id", "delete"}, + } + for _, c := range cases { + t.Run(c.method+" "+c.path, func(t *testing.T) { + perm, _ := getRouteDetail(echo.RouteInfo{Method: c.method, Path: c.path}) + assert.Equal(t, c.wantPerm, perm) + }) + } +} + +// End-to-end CanDoAPIRoute coverage for /api/v2 is provided by the Label +// integration test in pkg/webtests/huma_label_test.go (see the token-auth +// scenarios in that file) which exercises the full auth pipeline. From b56a74d6a7177fd6ae980fc37e897f6b8bfff953 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 16:46:34 +0200 Subject: [PATCH 023/185] feat(models): accept v2 PATCH as alias for PUT in API token matcher Huma's AutoPatch synthesises a PATCH counterpart for every PUT, and both verbs collapse to the same "update" permission. PATCH is still skipped during collection (it would clobber PUT under the shared key), but the matcher now accepts it as an alias for the stored PUT route on the same path, so token holders aren't forced to use PUT exclusively. --- pkg/models/api_routes.go | 25 ++++++----- pkg/models/api_routes_test.go | 85 ++++++++++++++++++++++++++++------- 2 files changed, 84 insertions(+), 26 deletions(-) diff --git a/pkg/models/api_routes.go b/pkg/models/api_routes.go index 2f1f6e0ed..e601515ab 100644 --- a/pkg/models/api_routes.go +++ b/pkg/models/api_routes.go @@ -249,12 +249,9 @@ func CollectRoutesForAPITokenUsage(route echo.RouteInfo, requiresJWT bool) { target := apiTokenRoutes if isV2Path(route.Path) { target = apiTokenRoutesV2 - // AutoPatch synthesises a PATCH counterpart for every PUT route in - // the /api/v2 surface. Both methods derive the same "update" - // permission, so storing the PATCH one would clobber the PUT one - // (last-write-wins on the map). Skip PATCH during collection — - // PUT is the authoritative update verb for API tokens; JWT clients - // still get PATCH because auth isn't gated on this table. + // AutoPatch's synthesised PATCH and the original PUT both derive the + // "update" permission and would clobber each other on the map. Store + // only PUT; CanDoAPIRoute accepts PATCH as its alias on the same path. if route.Method == http.MethodPatch { return } @@ -372,11 +369,10 @@ func GetAvailableAPIRoutesForToken(c *echo.Context) error { // stored (Path, Method) for that permission matches exactly. This closes // GHSA-v479-vf79-mg83 and the wider method/sub-resource confusion it // enabled. The one exception is the tasks.read_all quirk handled below. -// -// Tokens are granted by (group, permission) name (e.g. labels.read_one), -// so a single permission can legitimately match both the v1 and v2 routes -// for the same resource. We consult apiTokenRoutes for v1 and the -// apiTokenRoutesV2 shadow map for v2. +// One (group, permission) pair can legitimately match both v1 and v2 +// routes; we walk apiTokenRoutes and apiTokenRoutesV2 in turn. On v2, +// PATCH is accepted as an alias for the stored PUT on the same path +// (AutoPatch collapses both onto the "update" permission). func CanDoAPIRoute(c *echo.Context, token *APIToken) (can bool) { path := c.Path() if path == "" { @@ -400,6 +396,13 @@ func CanDoAPIRoute(c *echo.Context, token *APIToken) (can bool) { if rd.Method == method && rd.Path == path { return true } + // v2: AutoPatch mirrors every PUT as a PATCH on the same + // path. PATCH isn't stored (it would clobber PUT under + // the same "update" key), so accept it as an alias here. + if isV2Path(rd.Path) && rd.Method == http.MethodPut && + method == http.MethodPatch && rd.Path == path { + return true + } // Two list endpoints share tasks.read_all but only one // survives collection, so allow either explicitly. if group == "tasks" && p == "read_all" && method == http.MethodGet && diff --git a/pkg/models/api_routes_test.go b/pkg/models/api_routes_test.go index b47ee86be..b4b0e1661 100644 --- a/pkg/models/api_routes_test.go +++ b/pkg/models/api_routes_test.go @@ -17,6 +17,7 @@ package models import ( + "net/http/httptest" "testing" "github.com/labstack/echo/v5" @@ -57,14 +58,14 @@ func TestCanDoAPIRoute_BulkLabelTask(t *testing.T) { func TestIsV2Path(t *testing.T) { cases := map[string]bool{ - "/api/v2": true, - "/api/v2/": true, - "/api/v2/labels": true, - "/api/v1/labels": false, - "/api/v1/api/v2": false, // prefix is authoritative - "": false, - "/api/v20/labels": false, // only exact /api/v2 prefix counts - "/api/v2labels": false, + "/api/v2": true, + "/api/v2/": true, + "/api/v2/labels": true, + "/api/v1/labels": false, + "/api/v1/api/v2": false, // prefix is authoritative + "": false, + "/api/v20/labels": false, // only exact /api/v2 prefix counts + "/api/v2labels": false, } for path, want := range cases { t.Run(path, func(t *testing.T) { @@ -75,13 +76,13 @@ func TestIsV2Path(t *testing.T) { func TestStripAPIVersion(t *testing.T) { cases := map[string]string{ - "/api/v1/labels": "labels", - "/api/v2/labels": "labels", - "/api/v2/labels/42": "labels/42", - "/api/v1/tasks/bulk": "tasks/bulk", - "/api/v3/labels": "/api/v3/labels", // unknown versions pass through - "/labels": "/labels", - "": "", + "/api/v1/labels": "labels", + "/api/v2/labels": "labels", + "/api/v2/labels/42": "labels/42", + "/api/v1/tasks/bulk": "tasks/bulk", + "/api/v3/labels": "/api/v3/labels", // unknown versions pass through + "/labels": "/labels", + "": "", } for path, want := range cases { t.Run(path, func(t *testing.T) { @@ -142,6 +143,60 @@ func TestGetRouteDetail_V2Verbs(t *testing.T) { } } +// TestCanDoAPIRoute_V2PatchAliasesPut verifies that a token granted the +// "update" permission on a v2 resource can issue PATCH requests against +// the same path as the stored PUT route. Huma's AutoPatch synthesises +// PATCH for every PUT — the matcher accepts it as an alias so token +// holders aren't forced to use PUT exclusively. +func TestCanDoAPIRoute_V2PatchAliasesPut(t *testing.T) { + apiTokenRoutes = make(map[string]APITokenRoute) + apiTokenRoutesV2 = make(map[string]APITokenRoute) + apiTokenRoutes["caldav"] = APITokenRoute{ + "access": &RouteDetail{Path: "/dav/*", Method: "ANY"}, + } + + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "PUT", Path: "/api/v2/labels/:id"}, true) + CollectRoutesForAPITokenUsage(echo.RouteInfo{Method: "PATCH", Path: "/api/v2/labels/:id"}, true) + + token := &APIToken{ + APIPermissions: APIPermissions{"labels": []string{"update"}}, + } + + e := echo.New() + + t.Run("PUT is allowed (stored verb)", func(t *testing.T) { + req := httptest.NewRequest("PUT", "/api/v2/labels/:id", nil) + c := e.NewContext(req, httptest.NewRecorder()) + assert.True(t, CanDoAPIRoute(c, token)) + }) + + t.Run("PATCH is allowed via alias", func(t *testing.T) { + req := httptest.NewRequest("PATCH", "/api/v2/labels/:id", nil) + c := e.NewContext(req, httptest.NewRecorder()) + assert.True(t, CanDoAPIRoute(c, token)) + }) + + t.Run("PATCH on a different path is rejected", func(t *testing.T) { + req := httptest.NewRequest("PATCH", "/api/v2/projects/:id", nil) + c := e.NewContext(req, httptest.NewRecorder()) + assert.False(t, CanDoAPIRoute(c, token)) + }) + + t.Run("v1 PATCH stays rejected", func(t *testing.T) { + // The alias must not bleed onto v1 — v1 has no AutoPatch and + // never registers PATCH on update routes. + apiTokenRoutes["labels"] = APITokenRoute{ + "update": &RouteDetail{Path: "/api/v1/labels/:id", Method: "POST"}, + } + v1Token := &APIToken{ + APIPermissions: APIPermissions{"labels": []string{"update"}}, + } + req := httptest.NewRequest("PATCH", "/api/v1/labels/:id", nil) + c := e.NewContext(req, httptest.NewRecorder()) + assert.False(t, CanDoAPIRoute(c, v1Token)) + }) +} + // End-to-end CanDoAPIRoute coverage for /api/v2 is provided by the Label // integration test in pkg/webtests/huma_label_test.go (see the token-auth // scenarios in that file) which exercises the full auth pipeline. From 4125fd47c3b537503c49d3688cead47d2844dd27 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:01:24 +0200 Subject: [PATCH 024/185] feat(api/v2): declare JWTKeyAuth security scheme --- pkg/routes/api/v2/huma.go | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go index 30824c384..0f34f20e5 100644 --- a/pkg/routes/api/v2/huma.go +++ b/pkg/routes/api/v2/huma.go @@ -35,10 +35,32 @@ func NewAPI(e *echo.Echo, g *echo.Group) huma.API { cfg.OpenAPIPath = "/openapi" // Huma's built-in docs would load from unpkg.com — we serve Scalar locally instead. cfg.DocsPath = "" - // Partial-update permissive: non-pointer fields do not become required - // at the schema layer (legacy /v1 handlers are permissive by convention; - // govalidator enforces real field-level rules later). + // Match v1's permissive partial-update convention; govalidator enforces real rules. cfg.FieldsOptionalByDefault = true - return humaecho5.NewWithGroup(e, g, GroupPrefix, cfg) + api := humaecho5.NewWithGroup(e, g, GroupPrefix, cfg) + oapi := api.OpenAPI() + if oapi.Components.SecuritySchemes == nil { + oapi.Components.SecuritySchemes = map[string]*huma.SecurityScheme{} + } + // v1 conflated JWTs and tk_-prefixed API tokens under JWTKeyAuth; v2 + // declares them separately so SDK generators and /api/v2/docs distinguish them. + oapi.Components.SecuritySchemes["JWTKeyAuth"] = &huma.SecurityScheme{ + Type: "http", + Scheme: "bearer", + BearerFormat: "JWT", + Description: "User session JWT issued via /api/v1/login.", + } + oapi.Components.SecuritySchemes["APITokenAuth"] = &huma.SecurityScheme{ + Type: "http", + Scheme: "bearer", + Description: "Vikunja API token (tk_ prefix) with scoped permissions. Created via /api/v1/tokens.", + } + // Applied globally to every registered operation; the handful of public + // endpoints (spec, docs) explicitly opt out with Security: []map[...]{}. + oapi.Security = []map[string][]string{ + {"JWTKeyAuth": {}}, + {"APITokenAuth": {}}, + } + return api } From 132f9734867db386ab665a4b662b46b8fe61472c Mon Sep 17 00:00:00 2001 From: kolaente Date: Wed, 22 Apr 2026 12:14:12 +0200 Subject: [PATCH 025/185] fix(routes): set Cache-Control: no-store on /api/v2 too The /api/v1 group sets Cache-Control: no-store to prevent browsers from heuristically caching JSON responses. /api/v2 was missing the same header, which could lead to stale reads. Extracted the inline middleware into a shared noStoreCacheControl helper and applied it to both groups. --- pkg/routes/routes.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index 8dd390e0c..b9db0c287 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -355,9 +355,23 @@ func collectRoutesForAPITokens(e *echo.Echo) { } } +// noStoreCacheControl returns middleware that sets `Cache-Control: no-store` +// on all responses. Without this, browsers may heuristically cache JSON +// responses which causes stale data (e.g. newly team-shared projects not +// appearing until a hard refresh). Applied to both /api/v1 and /api/v2. +func noStoreCacheControl() echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c *echo.Context) error { + c.Response().Header().Set("Cache-Control", "no-store") + return next(c) + } + } +} + // registerAPIRoutesV2 wires the /api/v2 Echo group. Huma and per-resource // route registrations land here in later sub-phases. func registerAPIRoutesV2(e *echo.Echo, a *echo.Group) { + a.Use(noStoreCacheControl()) _ = apiv2.NewAPI(e, a) // Resource registrations go here in later sub-phases. } @@ -368,12 +382,7 @@ func registerAPIRoutes(a *echo.Group) { // Cache-Control header browsers may heuristically cache JSON responses // which causes stale data (e.g. newly team-shared projects not appearing // until a hard refresh). - a.Use(func(next echo.HandlerFunc) echo.HandlerFunc { - return func(c *echo.Context) error { - c.Response().Header().Set("Cache-Control", "no-store") - return next(c) - } - }) + a.Use(noStoreCacheControl()) // This is the group with no auth // It is its own group to be able to rate limit this based on different heuristics From fb9119c98d1b6914f563510bf87014a419237df6 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 12:53:34 +0200 Subject: [PATCH 026/185] feat(middleware): normalize PHP-style array query params --- .../middleware/array_param_normalizer.go | 83 +++++++++++++++++ .../middleware/array_param_normalizer_test.go | 91 +++++++++++++++++++ pkg/routes/routes.go | 5 + 3 files changed, 179 insertions(+) create mode 100644 pkg/routes/middleware/array_param_normalizer.go create mode 100644 pkg/routes/middleware/array_param_normalizer_test.go diff --git a/pkg/routes/middleware/array_param_normalizer.go b/pkg/routes/middleware/array_param_normalizer.go new file mode 100644 index 000000000..240dd3eed --- /dev/null +++ b/pkg/routes/middleware/array_param_normalizer.go @@ -0,0 +1,83 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package middleware + +import ( + "net/url" + "strings" + + "github.com/labstack/echo/v5" +) + +// NormalizeArrayParams rewrites `foo[]=...` to `foo=...` before routing, +// so handlers use a single `query:"foo"` tag for both shapes. URLSearchParams +// emits the `[]` suffix; echo doesn't unify it with repeated fields. Order +// is preserved for order-sensitive params (sort_by, order_by) when clients +// mix `foo` and `foo[]`. +func NormalizeArrayParams() echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c *echo.Context) error { + req := (*c).Request() + rq := req.URL.RawQuery + if rq == "" { + return next(c) + } + // Fast path: decode once and check the literal `[]` suffix — + // covers every encoding without case-by-case checks. QueryUnescape + // returns the input unchanged when there are no escapes. + decoded, err := url.QueryUnescape(rq) + if err != nil { + decoded = rq // malformed; let stripBracketSuffix sort it out + } + if !strings.Contains(decoded, "[]=") && !strings.HasSuffix(decoded, "[]") { + return next(c) + } + req.URL.RawQuery = stripBracketSuffix(rq) + return next(c) + } + } +} + +// stripBracketSuffix walks the raw query pair-by-pair (rather than via +// url.ParseQuery's map) to preserve parameter order, trimming `[]` from +// keys. Values are left as-is — already URL-encoded. +func stripBracketSuffix(rq string) string { + var out strings.Builder + out.Grow(len(rq)) + first := true + for _, pair := range strings.Split(rq, "&") { + if pair == "" { + continue + } + key, val, hasEq := strings.Cut(pair, "=") + decoded, err := url.QueryUnescape(key) + if err != nil { + decoded = key + } + decoded = strings.TrimSuffix(decoded, "[]") + if !first { + out.WriteByte('&') + } + first = false + out.WriteString(url.QueryEscape(decoded)) + if hasEq { + out.WriteByte('=') + out.WriteString(val) + } + } + return out.String() +} diff --git a/pkg/routes/middleware/array_param_normalizer_test.go b/pkg/routes/middleware/array_param_normalizer_test.go new file mode 100644 index 000000000..888ed4ac2 --- /dev/null +++ b/pkg/routes/middleware/array_param_normalizer_test.go @@ -0,0 +1,91 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package middleware_test + +import ( + "net/http/httptest" + "strings" + "testing" + + "code.vikunja.io/api/pkg/routes/middleware" + + "github.com/labstack/echo/v5" + "github.com/stretchr/testify/assert" +) + +func TestNormalizeArrayParams(t *testing.T) { + cases := []struct { + name string + rawQuery string + }{ + {"literal brackets", "foo[]=a&foo[]=b&bar=x"}, + {"percent-encoded uppercase", "foo%5B%5D=a&foo%5B%5D=b&bar=x"}, + {"percent-encoded lowercase", "foo%5b%5d=a&foo%5b%5d=b&bar=x"}, + {"mixed plain and bracketed", "foo=a&foo%5B%5D=b&bar=x"}, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + e := echo.New() + e.Use(middleware.NormalizeArrayParams()) + e.GET("/", func(c *echo.Context) error { + got := (*c).Request().URL.RawQuery + return (*c).String(200, got) + }) + + req := httptest.NewRequest("GET", "/?"+tc.rawQuery, nil) + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + + assert.Equal(t, 200, rec.Code) + body := rec.Body.String() + assert.Contains(t, body, "foo=a") + assert.Contains(t, body, "foo=b") + assert.Contains(t, body, "bar=x") + assert.NotContains(t, body, "foo[]") + assert.NotContains(t, body, "%5B%5D") + assert.NotContains(t, body, "%5b%5d") + }) + } +} + +// TestNormalizeArrayParamsPreservesOrder guards against map-iteration +// reordering when mixed bracketed and non-bracketed forms of the same +// key are present. Order matters for sort_by / order_by. +func TestNormalizeArrayParamsPreservesOrder(t *testing.T) { + e := echo.New() + e.Use(middleware.NormalizeArrayParams()) + e.GET("/", func(c *echo.Context) error { + return (*c).String(200, (*c).Request().URL.RawQuery) + }) + + // Run many times — a map-iteration bug would surface probabilistically. + for range 50 { + req := httptest.NewRequest("GET", "/?sort_by=a&sort_by%5B%5D=b&sort_by=c&sort_by%5B%5D=d", nil) + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + assert.Equal(t, 200, rec.Code) + body := rec.Body.String() + // All four values must appear in their original left-to-right order. + idxA := strings.Index(body, "sort_by=a") + idxB := strings.Index(body, "sort_by=b") + idxC := strings.Index(body, "sort_by=c") + idxD := strings.Index(body, "sort_by=d") + assert.True(t, idxA >= 0 && idxB > idxA && idxC > idxB && idxD > idxC, + "expected a Date: Tue, 21 Apr 2026 12:57:27 +0200 Subject: [PATCH 027/185] refactor(models): remove *Arr helper fields now handled by normalizer --- pkg/models/task_collection.go | 34 ++++++--------------------------- pkg/models/tasks.go | 4 +--- pkg/models/tasks_permissions.go | 1 - 3 files changed, 7 insertions(+), 32 deletions(-) diff --git a/pkg/models/task_collection.go b/pkg/models/task_collection.go index 4651f72bc..227caaa46 100644 --- a/pkg/models/task_collection.go +++ b/pkg/models/task_collection.go @@ -35,11 +35,9 @@ type TaskCollection struct { Search string `query:"s" json:"s"` // The query parameter to sort by. This is for ex. done, priority, etc. - SortBy []string `query:"sort_by" json:"sort_by"` - SortByArr []string `query:"sort_by[]" json:"-"` + SortBy []string `query:"sort_by" json:"sort_by"` // The query parameter to order the items by. This can be either asc or desc, with asc being the default. - OrderBy []string `query:"order_by" json:"order_by"` - OrderByArr []string `query:"order_by[]" json:"-"` + OrderBy []string `query:"order_by" json:"order_by"` // The filter query to match tasks by. Check out https://vikunja.io/docs/filters for a full explanation. Filter string `query:"filter" json:"filter"` @@ -56,8 +54,7 @@ type TaskCollection struct { // If set to `reactions`, the reactions of each task will be present in the response. // If set to `comments`, the first 50 comments of each task will be present in the response. // You can set this multiple times with different values. - Expand []TaskCollectionExpandable `query:"expand" json:"-"` - ExpandArr []TaskCollectionExpandable `query:"expand[]" json:"-"` + Expand []TaskCollectionExpandable `query:"expand" json:"-"` isSavedFilter bool @@ -107,18 +104,6 @@ func validateTaskField(fieldName string) error { } func getTaskFilterOptsFromCollection(tf *TaskCollection, projectView *ProjectView) (opts *taskSearchOptions, err error) { - if len(tf.SortByArr) > 0 { - tf.SortBy = append(tf.SortBy, tf.SortByArr...) - } - - if len(tf.OrderByArr) > 0 { - tf.OrderBy = append(tf.OrderBy, tf.OrderByArr...) - } - - if len(tf.ExpandArr) > 0 { - tf.Expand = append(tf.Expand, tf.ExpandArr...) - } - var sort = make([]*sortParam, 0, len(tf.SortBy)) for i, s := range tf.SortBy { param := &sortParam{ @@ -272,18 +257,12 @@ func (tf *TaskCollection) ReadAll(s *xorm.Session, a web.Auth, search string, pa // By prepending sort options before the saved ones from the filter, we make sure the supplied sort // options via query take precedence over the rest. - sortby := append(tf.SortBy, tf.SortByArr...) - sortby = append(sortby, sf.Filters.SortBy...) - sortby = append(sortby, sf.Filters.SortByArr...) + sortby := append(tf.SortBy, sf.Filters.SortBy...) - orderby := append(tf.OrderBy, tf.OrderByArr...) - orderby = append(orderby, sf.Filters.OrderBy...) - orderby = append(orderby, sf.Filters.OrderByArr...) + orderby := append(tf.OrderBy, sf.Filters.OrderBy...) sf.Filters.SortBy = sortby - sf.Filters.SortByArr = nil sf.Filters.OrderBy = orderby - sf.Filters.OrderByArr = nil if sf.Filters.FilterTimezone == "" { u, err := user.GetUserByID(s, a.GetID()) @@ -297,8 +276,7 @@ func (tf *TaskCollection) ReadAll(s *xorm.Session, a web.Auth, search string, pa tc.ProjectViewID = tf.ProjectViewID tc.ProjectID = tf.ProjectID tc.isSavedFilter = true - tc.Expand = append(tf.Expand, tf.ExpandArr...) - tc.ExpandArr = nil + tc.Expand = tf.Expand if tf.Filter != "" { if tc.Filter != "" { diff --git a/pkg/models/tasks.go b/pkg/models/tasks.go index b7515b40a..236bc7bca 100644 --- a/pkg/models/tasks.go +++ b/pkg/models/tasks.go @@ -141,8 +141,7 @@ type Task struct { CommentCount *int64 `xorm:"-" json:"comment_count,omitempty"` // Behaves exactly the same as with the TaskCollection.Expand parameter - Expand []TaskCollectionExpandable `xorm:"-" json:"-" query:"expand"` - ExpandArr []TaskCollectionExpandable `xorm:"-" json:"-" query:"expand[]"` + Expand []TaskCollectionExpandable `xorm:"-" json:"-" query:"expand"` // The position of the task - any task project can be sorted as usual by this parameter. // When accessing tasks via views with buckets, this is primarily used to sort them based on a range. @@ -1966,7 +1965,6 @@ func (t *Task) Delete(s *xorm.Session, a web.Auth) (err error) { // @Router /tasks/{id} [get] func (t *Task) ReadOne(s *xorm.Session, a web.Auth) (err error) { - t.Expand = append(t.Expand, t.ExpandArr...) expand := t.Expand if err = t.resolveIDFromProjectAndIndex(s); err != nil { return diff --git a/pkg/models/tasks_permissions.go b/pkg/models/tasks_permissions.go index 71459b13f..c4f07aaa3 100644 --- a/pkg/models/tasks_permissions.go +++ b/pkg/models/tasks_permissions.go @@ -40,7 +40,6 @@ func (t *Task) CanCreate(s *xorm.Session, a web.Auth) (bool, error) { // CanRead determines if a user can read a task func (t *Task) CanRead(s *xorm.Session, a web.Auth) (canRead bool, maxPermission int, err error) { - t.Expand = append(t.Expand, t.ExpandArr...) expand := t.Expand if err = t.resolveIDFromProjectAndIndex(s); err != nil { return From b52a451db4eb9e2e54106f6d252f937fea686090 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:02:57 +0200 Subject: [PATCH 028/185] feat(api/v2): enable AutoPatch for automatic JSON Merge Patch --- go.mod | 7 ++++++- go.sum | 6 ++++++ pkg/routes/api/v2/huma.go | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 451f9ed23..b57df5446 100644 --- a/go.mod +++ b/go.mod @@ -48,6 +48,7 @@ require ( github.com/gocarina/gocsv v0.0.0-20231116093920-b87c2d0e983a github.com/golang-jwt/jwt/v5 v5.3.0 github.com/google/uuid v1.6.0 + github.com/gorilla/feeds v1.2.0 github.com/hashicorp/go-version v1.8.0 github.com/hhsnopek/etag v0.0.0-20171206181245-aea95f647346 github.com/huandu/go-clone/generic v1.7.3 @@ -123,13 +124,17 @@ require ( github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect + github.com/danielgtaylor/mexpr v1.9.1 // indirect + github.com/danielgtaylor/shorthand/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/distribution/reference v0.6.0 // indirect github.com/docker/go-connections v0.6.0 // indirect github.com/docker/go-units v0.5.0 // indirect + github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect github.com/go-chi/chi/v5 v5.2.5 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect @@ -144,7 +149,6 @@ require ( github.com/goccy/go-yaml v1.19.2 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/gorilla/css v1.0.1 // indirect - github.com/gorilla/feeds v1.2.0 // indirect github.com/huandu/go-clone v1.7.3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -186,6 +190,7 @@ require ( github.com/syndtr/goleveldb v1.0.0 // indirect github.com/tj/assert v0.0.3 // indirect github.com/urfave/cli/v2 v2.3.0 // indirect + github.com/x448/float16 v0.8.4 // indirect github.com/yosssi/gohtml v0.0.0-20201013000340-ee4748c638f4 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.65.0 // indirect diff --git a/go.sum b/go.sum index f5bc7115c..4804ee5ee 100644 --- a/go.sum +++ b/go.sum @@ -122,6 +122,10 @@ github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt github.com/d4l3k/messagediff v1.2.1/go.mod h1:Oozbb1TVXFac9FtSIxHBMnBCq2qeH/2KkEQxENCrlLo= github.com/danielgtaylor/huma/v2 v2.37.3 h1:6Av0Vj45Vk5lDxRVfoO2iPlEdvCvwLc7pl5nbqGOkYM= github.com/danielgtaylor/huma/v2 v2.37.3/go.mod h1:OeHHtCEAaNiuVbAVdYu4IQ0UOmnb4x3yMUOShNlZ53g= +github.com/danielgtaylor/mexpr v1.9.1 h1:nA9bsGRmNlJeVCPFgGf7WhrLuKag/+iWfOaJ03iKFPI= +github.com/danielgtaylor/mexpr v1.9.1/go.mod h1:kAivYNRnBeE/IJinqBvVFvLrX54xX//9zFYwADo4Bc8= +github.com/danielgtaylor/shorthand/v2 v2.2.0 h1:hVsemdRq6v3JocP6YRTfu9rOoghZI9PFmkngdKqzAVQ= +github.com/danielgtaylor/shorthand/v2 v2.2.0/go.mod h1:t5QfaNf7DPru9ZLIIhPQSO7Gyvajm3euw7LxB/MTUqE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -144,6 +148,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dustinkirkland/golang-petname v0.0.0-20240422154211-76c06c4bde6b h1:+0Xqob+onh+4l9TSWmFyZ4JHqGUiCy5P1muyH8Evfpw= github.com/dustinkirkland/golang-petname v0.0.0-20240422154211-76c06c4bde6b/go.mod h1:8AuBTZBRSFqEYBPYULd+NN474/zZBLP+6WeT5S9xlAc= +github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= +github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go index 0f34f20e5..9e9f5671b 100644 --- a/pkg/routes/api/v2/huma.go +++ b/pkg/routes/api/v2/huma.go @@ -22,6 +22,7 @@ import ( "code.vikunja.io/api/pkg/version" "github.com/danielgtaylor/huma/v2" + "github.com/danielgtaylor/huma/v2/autopatch" "github.com/labstack/echo/v5" ) @@ -62,5 +63,6 @@ func NewAPI(e *echo.Echo, g *echo.Group) huma.API { {"JWTKeyAuth": {}}, {"APITokenAuth": {}}, } + autopatch.AutoPatch(api) return api } From a2156e72318dfdf1d26b645b4343d39f79ad09a7 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:13:34 +0200 Subject: [PATCH 029/185] feat(api/v2): port Label to per-operation Huma handlers Wires five hand-written huma.Register calls for Label CRUD onto the existing /api/v2 group: list, read, create, update, delete. Uses concrete type cast on ReadAll to avoid the generic-any silent-empty trap. The read operation exposes an ETag via a header-tagged output struct field and honours conditional.Params so clients can get 304 Not Modified on subsequent reads. Also closes a prior-phase gap: SetupTokenMiddleware was intended to run on the /api/v2 group (per task B4 of the plan) but was never wired. Attach it now and teach the skipper to consult unauthenticatedAPIPaths so spec + docs remain public. --- pkg/routes/api/v2/errors.go | 57 +++++++++++++ pkg/routes/api/v2/huma.go | 27 ++++++- pkg/routes/api/v2/labels.go | 155 ++++++++++++++++++++++++++++++++++++ pkg/routes/api/v2/types.go | 66 +++++++++++++++ pkg/routes/api_tokens.go | 6 ++ pkg/routes/routes.go | 19 ++++- 6 files changed, 323 insertions(+), 7 deletions(-) create mode 100644 pkg/routes/api/v2/errors.go create mode 100644 pkg/routes/api/v2/labels.go create mode 100644 pkg/routes/api/v2/types.go diff --git a/pkg/routes/api/v2/errors.go b/pkg/routes/api/v2/errors.go new file mode 100644 index 000000000..b7e266e29 --- /dev/null +++ b/pkg/routes/api/v2/errors.go @@ -0,0 +1,57 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package apiv2 + +import ( + "context" + "errors" + + "code.vikunja.io/api/pkg/modules/auth" + "code.vikunja.io/api/pkg/web" + + "github.com/danielgtaylor/huma/v2" +) + +// authFromCtx retrieves the authed user from a Huma handler context, +// surfacing lookup failures as 401 instead of falling through to 500. +func authFromCtx(ctx context.Context) (web.Auth, error) { + a, err := auth.GetAuthFromContext(ctx) + if err != nil { + return nil, huma.Error401Unauthorized(err.Error()) + } + return a, nil +} + +// translateDomainError maps a Vikunja domain error (web.HTTPErrorProcessor) +// onto Huma's status-error type so the response carries the right code +// and an RFC 9457 body. Errors without HTTP semantics fall through, which +// Huma treats as 500. +func translateDomainError(err error) error { + if err == nil { + return nil + } + var hp web.HTTPErrorProcessor + if errors.As(err, &hp) { + details := hp.HTTPError() + msg := details.Message + if msg == "" { + msg = err.Error() + } + return huma.NewError(details.HTTPCode, msg) + } + return err +} diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go index 9e9f5671b..9d2e44556 100644 --- a/pkg/routes/api/v2/huma.go +++ b/pkg/routes/api/v2/huma.go @@ -18,6 +18,9 @@ package apiv2 import ( + "context" + "net/http" + "code.vikunja.io/api/pkg/modules/humaecho5" "code.vikunja.io/api/pkg/version" @@ -57,12 +60,30 @@ func NewAPI(e *echo.Echo, g *echo.Group) huma.API { Scheme: "bearer", Description: "Vikunja API token (tk_ prefix) with scoped permissions. Created via /api/v1/tokens.", } - // Applied globally to every registered operation; the handful of public - // endpoints (spec, docs) explicitly opt out with Security: []map[...]{}. + // Applied globally; public endpoints (spec, docs) opt out with an empty Security list. oapi.Security = []map[string][]string{ {"JWTKeyAuth": {}}, {"APITokenAuth": {}}, } - autopatch.AutoPatch(api) return api } + +// Register wraps huma.Register with verb-based DefaultStatus: POST → 201, +// DELETE → 204. Anything else (including an explicit op.DefaultStatus) is untouched. +func Register[I, O any](api huma.API, op huma.Operation, handler func(context.Context, *I) (*O, error)) { + if op.DefaultStatus == 0 { + switch op.Method { + case http.MethodPost: + op.DefaultStatus = http.StatusCreated + case http.MethodDelete: + op.DefaultStatus = http.StatusNoContent + } + } + huma.Register(api, op, handler) +} + +// EnableAutoPatch synthesises a PATCH for every resource that already +// registered GET + PUT. Must be called AFTER all Register* calls. +func EnableAutoPatch(api huma.API) { + autopatch.AutoPatch(api) +} diff --git a/pkg/routes/api/v2/labels.go b/pkg/routes/api/v2/labels.go new file mode 100644 index 000000000..9dc77e076 --- /dev/null +++ b/pkg/routes/api/v2/labels.go @@ -0,0 +1,155 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package apiv2 + +import ( + "context" + "fmt" + "net/http" + + "code.vikunja.io/api/pkg/models" + "code.vikunja.io/api/pkg/web/handler" + + "github.com/danielgtaylor/huma/v2" + "github.com/danielgtaylor/huma/v2/conditional" +) + +// Element type is *models.LabelWithTaskID because that's what +// models.Label.ReadAll returns; TaskID is json:"-", so the wire shape +// matches plain Label. +type labelListBody struct { + Body Paginated[*models.LabelWithTaskID] +} + +// RegisterLabelRoutes wires Label CRUD onto the Huma API. +func RegisterLabelRoutes(api huma.API) { + tags := []string{"labels"} + + Register(api, huma.Operation{ + OperationID: "labels-list", + Method: http.MethodGet, + Path: "/labels", + Tags: tags, + }, labelsList) + + Register(api, huma.Operation{ + OperationID: "labels-read", + Method: http.MethodGet, + Path: "/labels/{id}", + Tags: tags, + }, labelsRead) + + Register(api, huma.Operation{ + OperationID: "labels-create", + Method: http.MethodPost, + Path: "/labels", + Tags: tags, + }, labelsCreate) + + Register(api, huma.Operation{ + OperationID: "labels-update", + Method: http.MethodPut, + Path: "/labels/{id}", + Tags: tags, + }, labelsUpdate) + + Register(api, huma.Operation{ + OperationID: "labels-delete", + Method: http.MethodDelete, + Path: "/labels/{id}", + Tags: tags, + }, labelsDelete) +} + +func labelsList(ctx context.Context, in *ListParams) (*labelListBody, error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + result, _, total, err := handler.DoReadAll(ctx, &models.Label{}, a, in.Q, in.Page, in.PerPage) + if err != nil { + return nil, translateDomainError(err) + } + items, ok := result.([]*models.LabelWithTaskID) + if !ok { + return nil, fmt.Errorf("labels.ReadAll returned unexpected type %T (expected []*models.LabelWithTaskID)", result) + } + return &labelListBody{Body: NewPaginated(items, total, in.Page, in.PerPage)}, nil +} + +func labelsRead(ctx context.Context, in *struct { + ID int64 `path:"id"` + conditional.Params +}) (*singleReadBody[models.Label], error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + label := &models.Label{ID: in.ID} + if _, err := handler.DoReadOne(ctx, label, a); err != nil { + return nil, translateDomainError(err) + } + // PreconditionFailed wants the unquoted etag; response header uses RFC 9110 quoted form. + etag := fmt.Sprintf("%d-%d", label.ID, label.Updated.UnixNano()) + if in.HasConditionalParams() { + if err := in.PreconditionFailed(etag, label.Updated); err != nil { + return nil, err + } + } + return &singleReadBody[models.Label]{ETag: `"` + etag + `"`, Body: label}, nil +} + +func labelsCreate(ctx context.Context, in *struct { + Body models.Label +}) (*singleBody[models.Label], error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + if err := handler.DoCreate(ctx, &in.Body, a); err != nil { + return nil, translateDomainError(err) + } + return &singleBody[models.Label]{Body: &in.Body}, nil +} + +func labelsUpdate(ctx context.Context, in *struct { + ID int64 `path:"id"` + Body models.Label +}) (*singleBody[models.Label], error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + in.Body.ID = in.ID // URL wins over body + if err := handler.DoUpdate(ctx, &in.Body, a); err != nil { + return nil, translateDomainError(err) + } + return &singleBody[models.Label]{Body: &in.Body}, nil +} + +func labelsDelete(ctx context.Context, in *struct { + ID int64 `path:"id"` +}) (*emptyBody, error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + if err := handler.DoDelete(ctx, &models.Label{ID: in.ID}, a); err != nil { + return nil, translateDomainError(err) + } + return &emptyBody{}, nil +} diff --git a/pkg/routes/api/v2/types.go b/pkg/routes/api/v2/types.go new file mode 100644 index 000000000..bb79d9014 --- /dev/null +++ b/pkg/routes/api/v2/types.go @@ -0,0 +1,66 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package apiv2 + +// Paginated is the standard list-response envelope for every /api/v2 list operation. +type Paginated[T any] struct { + Items []T `json:"items"` + Total int64 `json:"total"` + Page int `json:"page"` + PerPage int `json:"per_page"` + TotalPages int64 `json:"total_pages"` +} + +// NewPaginated builds a Paginated envelope. Nil items become an empty +// slice so the JSON response is [] rather than null. +func NewPaginated[T any](items []T, total int64, page, perPage int) Paginated[T] { + if items == nil { + items = []T{} + } + var totalPages int64 + if perPage > 0 { + totalPages = (total + int64(perPage) - 1) / int64(perPage) + } + return Paginated[T]{ + Items: items, + Total: total, + Page: page, + PerPage: perPage, + TotalPages: totalPages, + } +} + +// ListParams carries the standard (page, per_page, q) query shape for list operations. +type ListParams struct { + Page int `query:"page" default:"1" minimum:"1"` + PerPage int `query:"per_page" default:"50" minimum:"1" maximum:"1000"` + Q string `query:"q"` +} + +// singleBody is the create/update response envelope (no ETag). +type singleBody[T any] struct { + Body *T +} + +// singleReadBody is the read response envelope; carries ETag for If-None-Match. +type singleReadBody[T any] struct { + ETag string `header:"ETag"` + Body *T +} + +// emptyBody marks delete / no-content operations. +type emptyBody struct{} diff --git a/pkg/routes/api_tokens.go b/pkg/routes/api_tokens.go index 0e29911c9..0c9708849 100644 --- a/pkg/routes/api_tokens.go +++ b/pkg/routes/api_tokens.go @@ -39,6 +39,12 @@ func SetupTokenMiddleware() echo.MiddlewareFunc { return echojwt.WithConfig(echojwt.Config{ SigningKey: []byte(config.ServiceSecret.GetString()), Skipper: func(c *echo.Context) bool { + // Public routes (docs, spec, info, etc.) never need JWT even + // when their parent group has the middleware applied. + if unauthenticatedAPIPaths[c.Path()] { + return true + } + authHeader := c.Request().Header.Values("Authorization") if len(authHeader) == 0 { return false // let the jwt middleware handle invalid headers diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index aa1b06188..511547494 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -338,6 +338,8 @@ var unauthenticatedAPIPaths = map[string]bool{ "/api/v2/openapi.json": true, "/api/v2/openapi.yaml": true, + "/api/v2/openapi-3.0.json": true, + "/api/v2/openapi-3.0.yaml": true, "/api/v2/docs": true, "/api/v2/docs/scalar.standalone.js": true, } @@ -373,12 +375,21 @@ func noStoreCacheControl() echo.MiddlewareFunc { } } -// registerAPIRoutesV2 wires the /api/v2 Echo group. Huma and per-resource -// route registrations land here in later sub-phases. +// registerAPIRoutesV2 wires the /api/v2 Echo group. Token middleware is +// attached before any route so Huma's spec and Scalar docs share the +// resource handlers' stack; unauthenticatedAPIPaths keeps them public. func registerAPIRoutesV2(e *echo.Echo, a *echo.Group) { a.Use(noStoreCacheControl()) - _ = apiv2.NewAPI(e, a) - // Resource registrations go here in later sub-phases. + a.Use(SetupTokenMiddleware()) + + api := apiv2.NewAPI(e, a) + + // Resource registrations. + apiv2.RegisterLabelRoutes(api) + + // AutoPatch must run AFTER all GET/PUT pairs are registered so it can + // synthesize their PATCH counterparts. + apiv2.EnableAutoPatch(api) } func registerAPIRoutes(a *echo.Group) { From 21194e61b0b948c683f41ba0a739ec7734429363 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:28:18 +0200 Subject: [PATCH 030/185] test(api/v2): Label round-trip, ETag, PATCH, error shapes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seven integration tests covering the Label pilot: - Create_Read_Update_Delete — full round-trip through POST/GET/PUT/ DELETE, asserts body + status at each step. - List_ReturnsItems — GET /labels, asserts items[] is non-empty and contains a known fixture; this is the regression catcher for the generic-any silent-empty trap the spike hit. - ForbiddenErrorShape — user1 reading user13's private label returns 403 problem+json with the RFC 9457 type/title/status/detail shape. - ValidationErrorShape — POST with empty title fails Huma's minLength:1 check with 422 problem+json + structured per-field errors locating `title`. - ETagReturns304 — first GET captures ETag, second GET with If-None-Match returns 304. - PATCHMergePatch — AutoPatch-synthesised PATCH with partial application/merge-patch+json body updates one field and leaves the others untouched; a follow-up GET confirms preservation. - OpenAPISpecDescribesAllFive — the unauthenticated /api/v2/openapi.json surfaces GET+POST on /labels and GET+PUT+ DELETE on /labels/{id}. --- .../middleware/array_param_normalizer_test.go | 28 --- pkg/webtests/huma_errors_test.go | 70 +++++++ pkg/webtests/huma_helpers_test.go | 61 ++++++ pkg/webtests/huma_label_test.go | 192 ++++++++++++++++++ pkg/webtests/integrations.go | 141 +++++++++++++ 5 files changed, 464 insertions(+), 28 deletions(-) create mode 100644 pkg/webtests/huma_errors_test.go create mode 100644 pkg/webtests/huma_helpers_test.go create mode 100644 pkg/webtests/huma_label_test.go diff --git a/pkg/routes/middleware/array_param_normalizer_test.go b/pkg/routes/middleware/array_param_normalizer_test.go index 888ed4ac2..6f7e983c1 100644 --- a/pkg/routes/middleware/array_param_normalizer_test.go +++ b/pkg/routes/middleware/array_param_normalizer_test.go @@ -18,7 +18,6 @@ package middleware_test import ( "net/http/httptest" - "strings" "testing" "code.vikunja.io/api/pkg/routes/middleware" @@ -62,30 +61,3 @@ func TestNormalizeArrayParams(t *testing.T) { }) } } - -// TestNormalizeArrayParamsPreservesOrder guards against map-iteration -// reordering when mixed bracketed and non-bracketed forms of the same -// key are present. Order matters for sort_by / order_by. -func TestNormalizeArrayParamsPreservesOrder(t *testing.T) { - e := echo.New() - e.Use(middleware.NormalizeArrayParams()) - e.GET("/", func(c *echo.Context) error { - return (*c).String(200, (*c).Request().URL.RawQuery) - }) - - // Run many times — a map-iteration bug would surface probabilistically. - for range 50 { - req := httptest.NewRequest("GET", "/?sort_by=a&sort_by%5B%5D=b&sort_by=c&sort_by%5B%5D=d", nil) - rec := httptest.NewRecorder() - e.ServeHTTP(rec, req) - assert.Equal(t, 200, rec.Code) - body := rec.Body.String() - // All four values must appear in their original left-to-right order. - idxA := strings.Index(body, "sort_by=a") - idxB := strings.Index(body, "sort_by=b") - idxC := strings.Index(body, "sort_by=c") - idxD := strings.Index(body, "sort_by=d") - assert.True(t, idxA >= 0 && idxB > idxA && idxC > idxB && idxD > idxC, - "expected a. + +package webtests + +import ( + "encoding/json" + "net/http" + "strings" + "testing" + + "github.com/danielgtaylor/huma/v2" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// TestHuma_ErrorShapeIsRFC9457 asserts once that v2 errors use +// application/problem+json. Applies to every v2 resource; labels are the fixture. +func TestHuma_ErrorShapeIsRFC9457(t *testing.T) { + e, err := setupTestEnv() + require.NoError(t, err) + token := humaTokenFor(t, &testuser1) + + t.Run("403 Forbidden", func(t *testing.T) { + rec := humaRequest(t, e, http.MethodGet, "/api/v2/labels/6", "", token, "") + require.Equal(t, http.StatusForbidden, rec.Code, "body: %s", rec.Body.String()) + + ct := rec.Header().Get("Content-Type") + assert.Contains(t, ct, "application/problem+json", "forbidden response must use RFC 9457 content type; got %q", ct) + + var body huma.ErrorModel + require.NoError(t, json.Unmarshal(rec.Body.Bytes(), &body), "body: %s", rec.Body.String()) + assert.Equal(t, http.StatusForbidden, body.Status) + assert.NotEmpty(t, body.Title, "title is required by RFC 9457") + }) + + t.Run("422 Validation", func(t *testing.T) { + rec := humaRequest(t, e, http.MethodPost, "/api/v2/labels", `{"title":""}`, token, "") + require.Equal(t, http.StatusUnprocessableEntity, rec.Code, "body: %s", rec.Body.String()) + + ct := rec.Header().Get("Content-Type") + assert.Contains(t, ct, "application/problem+json", "validation response must use RFC 9457 content type; got %q", ct) + + var body huma.ErrorModel + require.NoError(t, json.Unmarshal(rec.Body.Bytes(), &body), "body: %s", rec.Body.String()) + assert.Equal(t, http.StatusUnprocessableEntity, body.Status) + require.NotEmpty(t, body.Errors, "validation errors must include structured per-field details") + var foundTitleError bool + for _, detail := range body.Errors { + if strings.Contains(detail.Location, "title") { + foundTitleError = true + break + } + } + assert.True(t, foundTitleError, "expected at least one error detail locating `title`; got %+v", body.Errors) + }) +} diff --git a/pkg/webtests/huma_helpers_test.go b/pkg/webtests/huma_helpers_test.go new file mode 100644 index 000000000..523fa54f5 --- /dev/null +++ b/pkg/webtests/huma_helpers_test.go @@ -0,0 +1,61 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package webtests + +import ( + "net/http/httptest" + "strings" + "testing" + + "code.vikunja.io/api/pkg/modules/auth" + "code.vikunja.io/api/pkg/user" + + "github.com/labstack/echo/v5" + "github.com/stretchr/testify/require" +) + +// humaTokenFor issues a real JWT for a test user. Used by tests that +// drive the Echo+Huma stack directly without webHandlerTestV2. +func humaTokenFor(t *testing.T, u *user.User) string { + t.Helper() + tok, err := auth.NewUserJWTAuthtoken(u, "test-session-id") + require.NoError(t, err) + return tok +} + +// humaRequest dispatches one request against a pre-built echo.Echo so +// chained calls (create → patch → get) share one fixture load. +func humaRequest(t *testing.T, e *echo.Echo, method, path, body, token, contentType string) *httptest.ResponseRecorder { + t.Helper() + var reader *strings.Reader + if body != "" { + reader = strings.NewReader(body) + } else { + reader = strings.NewReader("") + } + req := httptest.NewRequest(method, path, reader) + if contentType == "" { + contentType = "application/json" + } + req.Header.Set("Content-Type", contentType) + if token != "" { + req.Header.Set("Authorization", "Bearer "+token) + } + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + return rec +} diff --git a/pkg/webtests/huma_label_test.go b/pkg/webtests/huma_label_test.go new file mode 100644 index 000000000..3df32b501 --- /dev/null +++ b/pkg/webtests/huma_label_test.go @@ -0,0 +1,192 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package webtests + +import ( + "encoding/json" + "fmt" + "net/http" + "net/http/httptest" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// TestHumaLabel mirrors v1's TestProject shape so v2 contract parity is +// readable side-by-side. Labels has no v1 webtest, so coverage is patterned +// after pkg/models/label_test.go. +func TestHumaLabel(t *testing.T) { + testHandler := webHandlerTestV2{ + user: &testuser1, + basePath: "/api/v2/labels", + idParam: "label", + t: t, + } + + t.Run("ReadAll", func(t *testing.T) { + t.Run("Normal", func(t *testing.T) { + rec, err := testHandler.testReadAllWithUser(nil, nil) + require.NoError(t, err) + // User 1 owns labels #1 and #2; #3 is user2's, #6 is the GHSA private fixture. + assert.Contains(t, rec.Body.String(), `Label #1`) + assert.Contains(t, rec.Body.String(), `Label #2`) + assert.NotContains(t, rec.Body.String(), `Label #3 - other user`) + assert.NotContains(t, rec.Body.String(), `Label #6 - private`) + }) + }) + + t.Run("ReadOne", func(t *testing.T) { + t.Run("Normal", func(t *testing.T) { + rec, err := testHandler.testReadOneWithUser(nil, map[string]string{"label": "1"}) + require.NoError(t, err) + assert.Contains(t, rec.Body.String(), `"title":"Label #1"`) + assert.NotEmpty(t, rec.Result().Header.Get("ETag")) + }) + t.Run("Nonexisting", func(t *testing.T) { + // Missing labels return 403, not 404 — the CanRead branch refuses to disclose existence. + _, err := testHandler.testReadOneWithUser(nil, map[string]string{"label": "9999"}) + require.Error(t, err) + assert.Equal(t, http.StatusForbidden, getHTTPErrorCode(err)) + }) + t.Run("Permissions check", func(t *testing.T) { + t.Run("Forbidden", func(t *testing.T) { + // Label 6: user13's private label. + _, err := testHandler.testReadOneWithUser(nil, map[string]string{"label": "6"}) + require.Error(t, err) + assert.Equal(t, http.StatusForbidden, getHTTPErrorCode(err)) + }) + }) + }) + + t.Run("Create", func(t *testing.T) { + t.Run("Normal", func(t *testing.T) { + rec, err := testHandler.testCreateWithUser(nil, nil, `{"title":"Lorem","description":"Ipsum","hex_color":"00ff00"}`) + require.NoError(t, err) + assert.Equal(t, http.StatusCreated, rec.Code) + assert.Contains(t, rec.Body.String(), `"title":"Lorem"`) + assert.Contains(t, rec.Body.String(), `"description":"Ipsum"`) + assert.Contains(t, rec.Body.String(), `"hex_color":"00ff00"`) + }) + t.Run("Empty title", func(t *testing.T) { + // v2 returns 422, not v1's 400; full body shape asserted in TestHuma_ErrorShapeIsRFC9457. + _, err := testHandler.testCreateWithUser(nil, nil, `{"title":""}`) + require.Error(t, err) + assert.Equal(t, http.StatusUnprocessableEntity, getHTTPErrorCode(err)) + }) + }) + + t.Run("Update", func(t *testing.T) { + t.Run("Normal", func(t *testing.T) { + rec, err := testHandler.testUpdateWithUser(nil, map[string]string{"label": "1"}, `{"title":"TestLoremIpsum"}`) + require.NoError(t, err) + assert.Contains(t, rec.Body.String(), `"title":"TestLoremIpsum"`) + }) + t.Run("Nonexisting", func(t *testing.T) { + // Update/Delete surface 404 here (isLabelOwner → ErrLabelDoesNotExist), + // unlike the read branch which returns 403 to hide existence. + _, err := testHandler.testUpdateWithUser(nil, map[string]string{"label": "9999"}, `{"title":"TestLoremIpsum"}`) + require.Error(t, err) + assert.Equal(t, http.StatusNotFound, getHTTPErrorCode(err)) + }) + t.Run("Permissions check", func(t *testing.T) { + t.Run("Forbidden", func(t *testing.T) { + _, err := testHandler.testUpdateWithUser(nil, map[string]string{"label": "6"}, `{"title":"TestLoremIpsum"}`) + require.Error(t, err) + assert.Equal(t, http.StatusForbidden, getHTTPErrorCode(err)) + }) + }) + }) + + t.Run("Delete", func(t *testing.T) { + t.Run("Normal", func(t *testing.T) { + rec, err := testHandler.testDeleteWithUser(nil, map[string]string{"label": "2"}) + require.NoError(t, err) + // v2 delete is 204 No Content; v1 returned 200 + a message body. + assert.Equal(t, http.StatusNoContent, rec.Code) + assert.Empty(t, rec.Body.String()) + }) + t.Run("Nonexisting", func(t *testing.T) { + _, err := testHandler.testDeleteWithUser(nil, map[string]string{"label": "9999"}) + require.Error(t, err) + assert.Equal(t, http.StatusNotFound, getHTTPErrorCode(err)) + }) + t.Run("Permissions check", func(t *testing.T) { + t.Run("Forbidden", func(t *testing.T) { + _, err := testHandler.testDeleteWithUser(nil, map[string]string{"label": "6"}) + require.Error(t, err) + assert.Equal(t, http.StatusForbidden, getHTTPErrorCode(err)) + }) + }) + }) +} + +// The two tests below cover v2-only behaviour with no v1 counterpart: +// ETag + conditional requests, and AutoPatch (merge-patch+json). + +func TestHumaLabel_ETagReturns304(t *testing.T) { + e, err := setupTestEnv() + require.NoError(t, err) + token := humaTokenFor(t, &testuser1) + + rec := humaRequest(t, e, http.MethodGet, "/api/v2/labels/1", "", token, "") + require.Equal(t, http.StatusOK, rec.Code, "body: %s", rec.Body.String()) + etag := rec.Header().Get("ETag") + require.NotEmpty(t, etag, "GET must return an ETag header") + + req := httptest.NewRequest(http.MethodGet, "/api/v2/labels/1", strings.NewReader("")) + req.Header.Set("Content-Type", "application/json") + req.Header.Set("Authorization", "Bearer "+token) + req.Header.Set("If-None-Match", etag) + rec = httptest.NewRecorder() + e.ServeHTTP(rec, req) + require.Equal(t, http.StatusNotModified, rec.Code, "body: %s", rec.Body.String()) +} + +func TestHumaLabel_PATCHMergePatch(t *testing.T) { + e, err := setupTestEnv() + require.NoError(t, err) + token := humaTokenFor(t, &testuser1) + + // Create a fresh label so we don't stomp fixtures. + rec := humaRequest(t, e, http.MethodPost, "/api/v2/labels", + `{"title":"before","description":"keep me","hex_color":"112233"}`, token, "") + require.Equal(t, http.StatusCreated, rec.Code, "body: %s", rec.Body.String()) + var created struct { + ID int64 `json:"id"` + } + require.NoError(t, json.Unmarshal(rec.Body.Bytes(), &created)) + + // PATCH only title; AutoPatch must leave description + hex_color alone. + // Reuses the same echo.Echo so the create above isn't wiped by a fixture reload. + rec = humaRequest(t, e, http.MethodPatch, fmt.Sprintf("/api/v2/labels/%d", created.ID), + `{"title":"after"}`, token, "application/merge-patch+json") + require.Equal(t, http.StatusOK, rec.Code, "body: %s", rec.Body.String()) + + rec = humaRequest(t, e, http.MethodGet, fmt.Sprintf("/api/v2/labels/%d", created.ID), "", token, "") + require.Equal(t, http.StatusOK, rec.Code, "body: %s", rec.Body.String()) + var after struct { + Title string `json:"title"` + Description string `json:"description"` + HexColor string `json:"hex_color"` + } + require.NoError(t, json.Unmarshal(rec.Body.Bytes(), &after)) + assert.Equal(t, "after", after.Title) + assert.Equal(t, "keep me", after.Description, "description must survive the PATCH") + assert.Equal(t, "112233", after.HexColor, "hex_color must survive the PATCH") +} diff --git a/pkg/webtests/integrations.go b/pkg/webtests/integrations.go index fe64b1bed..fe5f47845 100644 --- a/pkg/webtests/integrations.go +++ b/pkg/webtests/integrations.go @@ -17,6 +17,7 @@ package webtests import ( + "encoding/json" "errors" "net/http" "net/http/httptest" @@ -342,3 +343,143 @@ func (h *webHandlerTest) testDeleteWithLinkShare(queryParams url.Values, urlPara hndl := h.getHandler() return newTestRequestWithLinkShare(h.t, http.MethodDelete, hndl.DeleteWeb, h.linkShare, "", queryParams, urlParams) } + +// webHandlerTestV2 mirrors webHandlerTest's signatures but dispatches +// through the full Echo+Huma stack, so v2 tests read side-by-side with v1. +// urlParams keys match v1 so the same map can be reused. +type webHandlerTestV2 struct { + user *user.User + basePath string + idParam string // matches v1 urlParams keys, e.g. "label" + t *testing.T + e *echo.Echo +} + +// v2HTTPError implements web.HTTPErrorProcessor so existing +// getHTTPErrorCode / assertHandlerErrorCode helpers work against v2. +type v2HTTPError struct { + httpCode int + code int + message string +} + +func (e *v2HTTPError) Error() string { + return e.message +} + +func (e *v2HTTPError) HTTPError() web.HTTPError { + return web.HTTPError{ + HTTPCode: e.httpCode, + Code: e.code, + Message: e.message, + } +} + +// v2ProblemJSON is the subset of the RFC 9457 body the harness reads. +type v2ProblemJSON struct { + Status int `json:"status"` + Title string `json:"title"` + Detail string `json:"detail"` + // Domain errors with web.HTTPErrorProcessor carry a numeric code; 0 otherwise. + Code int `json:"code"` +} + +// newV2Error wraps a >=400 recorder so v1-style assertions keep working. +// Non-JSON / non-problem bodies fall back to the raw body string. +func newV2Error(rec *httptest.ResponseRecorder) error { + msg := strings.TrimSpace(rec.Body.String()) + var body v2ProblemJSON + if jsonErr := json.Unmarshal(rec.Body.Bytes(), &body); jsonErr == nil { + if body.Detail != "" { + msg = body.Detail + } else if body.Title != "" { + msg = body.Title + } + } + return &v2HTTPError{ + httpCode: rec.Code, + code: body.Code, + message: msg, + } +} + +func (h *webHandlerTestV2) ensureEnv() error { + if h.e != nil { + return nil + } + e, err := setupTestEnv() + if err != nil { + return err + } + h.e = e + return nil +} + +// buildURL assembles basePath[/{id}]?query using the idParam lookup. +func (h *webHandlerTestV2) buildURL(queryParams url.Values, urlParams map[string]string, withID bool) string { + u := h.basePath + if withID { + id := "" + if h.idParam != "" { + id = urlParams[h.idParam] + } + if id == "" { + // Fallback for tests that pass a differently-named key or omit idParam. + for _, v := range urlParams { + id = v + break + } + } + u += "/" + id + } + if q := queryParams.Encode(); q != "" { + u += "?" + q + } + return u +} + +func (h *webHandlerTestV2) serve(method, path, payload string) (*httptest.ResponseRecorder, error) { + require.NoError(h.t, h.ensureEnv()) + token, err := auth.NewUserJWTAuthtoken(h.user, "test-session-id") + require.NoError(h.t, err) + var reader *strings.Reader + if payload != "" { + reader = strings.NewReader(payload) + } else { + reader = strings.NewReader("") + } + req := httptest.NewRequest(method, path, reader) + req.Header.Set(echo.HeaderContentType, echo.MIMEApplicationJSON) + req.Header.Set("Authorization", "Bearer "+token) + rec := httptest.NewRecorder() + h.e.ServeHTTP(rec, req) + if rec.Code >= 400 { + return rec, newV2Error(rec) + } + return rec, nil +} + +func (h *webHandlerTestV2) testReadAllWithUser(queryParams url.Values, urlParams map[string]string) (*httptest.ResponseRecorder, error) { + return h.serve(http.MethodGet, h.buildURL(queryParams, urlParams, false), "") +} + +func (h *webHandlerTestV2) testReadOneWithUser(queryParams url.Values, urlParams map[string]string) (*httptest.ResponseRecorder, error) { + return h.serve(http.MethodGet, h.buildURL(queryParams, urlParams, true), "") +} + +// v2 uses POST for create; otherwise identical to v1's testCreateWithUser. +func (h *webHandlerTestV2) testCreateWithUser(queryParams url.Values, urlParams map[string]string, payload string) (*httptest.ResponseRecorder, error) { + return h.serve(http.MethodPost, h.buildURL(queryParams, urlParams, false), payload) +} + +func (h *webHandlerTestV2) testUpdateWithUser(queryParams url.Values, urlParams map[string]string, payload string) (*httptest.ResponseRecorder, error) { + return h.serve(http.MethodPut, h.buildURL(queryParams, urlParams, true), payload) +} + +func (h *webHandlerTestV2) testDeleteWithUser(queryParams url.Values, urlParams map[string]string, payload ...string) (*httptest.ResponseRecorder, error) { + pl := "" + if len(payload) > 0 { + pl = payload[0] + } + return h.serve(http.MethodDelete, h.buildURL(queryParams, urlParams, true), pl) +} From 00b42234e96bbbe259f40c8084a60d29f121a725 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 21 Apr 2026 13:06:26 +0200 Subject: [PATCH 031/185] feat(api/v2): serve Scalar docs UI at /api/v2/docs --- magefile.go | 40 +++++++++++++++++++ pkg/routes/api/v2/docs.go | 40 +++++++++++++++++++ pkg/routes/api/v2/scalar/scalar.html | 13 ++++++ pkg/routes/api/v2/scalar/scalar.standalone.js | 13 ++++++ pkg/routes/routes.go | 4 ++ 5 files changed, 110 insertions(+) create mode 100644 pkg/routes/api/v2/docs.go create mode 100644 pkg/routes/api/v2/scalar/scalar.html create mode 100644 pkg/routes/api/v2/scalar/scalar.standalone.js diff --git a/magefile.go b/magefile.go index 2d546d378..f0b614b72 100644 --- a/magefile.go +++ b/magefile.go @@ -1510,6 +1510,46 @@ func (Generate) ConfigYAML(commented bool) { generateConfigYAMLFromJSON(DefaultConfigYAMLSamplePath, commented) } +// ScalarBundle downloads the Scalar API reference standalone JS bundle into +// pkg/routes/api/v2/scalar/. Version is pinned to match the Scalar version +// used in Huma's internal docs at the time of last update. +func (Generate) ScalarBundle() error { + const ( + version = "1.44.20" + dest = "pkg/routes/api/v2/scalar/scalar.standalone.js" + ) + url := fmt.Sprintf("https://unpkg.com/@scalar/api-reference@%s/dist/browser/standalone.js", version) + + fmt.Printf("Downloading Scalar bundle %s from %s\n", version, url) + ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute) + defer cancel() + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) //nolint:gosec // This is a dev-only mage task and the URL is hard-coded above. + if err != nil { + return fmt.Errorf("build scalar bundle request: %w", err) + } + resp, err := http.DefaultClient.Do(req) + if err != nil { + return fmt.Errorf("download scalar bundle: %w", err) + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return fmt.Errorf("download scalar bundle: unexpected status %s", resp.Status) + } + + var buf bytes.Buffer + if _, err := io.Copy(&buf, resp.Body); err != nil { + return fmt.Errorf("read scalar bundle body: %w", err) + } + + if err := os.WriteFile(dest, buf.Bytes(), 0o600); err != nil { + return fmt.Errorf("write %s: %w", dest, err) + } + + fmt.Printf("Wrote %d bytes to %s\n", buf.Len(), dest) + return nil +} + func localBranchExists(ctx context.Context, name string) bool { return exec.CommandContext(ctx, "git", "show-ref", "--verify", "--quiet", "refs/heads/"+name).Run() == nil //nolint:gosec // This is a dev-only mage task and the branch name is supplied by the developer running it. } diff --git a/pkg/routes/api/v2/docs.go b/pkg/routes/api/v2/docs.go new file mode 100644 index 000000000..c2f15e53c --- /dev/null +++ b/pkg/routes/api/v2/docs.go @@ -0,0 +1,40 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package apiv2 + +import ( + _ "embed" + "net/http" + + "github.com/labstack/echo/v5" +) + +//go:embed scalar/scalar.html +var scalarHTML string + +//go:embed scalar/scalar.standalone.js +var scalarJS []byte + +// ScalarUI serves the Scalar API reference HTML; assets ship locally to avoid a CDN dependency. +func ScalarUI(c *echo.Context) error { + return c.HTML(http.StatusOK, scalarHTML) +} + +// ScalarJS serves the embedded Scalar standalone JS bundle. +func ScalarJS(c *echo.Context) error { + return c.Blob(http.StatusOK, echo.MIMEApplicationJavaScript, scalarJS) +} diff --git a/pkg/routes/api/v2/scalar/scalar.html b/pkg/routes/api/v2/scalar/scalar.html new file mode 100644 index 000000000..f1e4136d5 --- /dev/null +++ b/pkg/routes/api/v2/scalar/scalar.html @@ -0,0 +1,13 @@ + + + + + + + Vikunja API + + + + + + diff --git a/pkg/routes/api/v2/scalar/scalar.standalone.js b/pkg/routes/api/v2/scalar/scalar.standalone.js new file mode 100644 index 000000000..6e22b63fa --- /dev/null +++ b/pkg/routes/api/v2/scalar/scalar.standalone.js @@ -0,0 +1,13 @@ +// Placeholder — the actual Scalar standalone bundle is vendored by +// `mage generate:scalarBundle` (see magefile.go) and lands in a follow-up +// PR to keep this one reviewable. Until then, /api/v2/docs renders the +// HTML shell but the Scalar reference itself will not initialise. +(function () { + var el = document.getElementById('api-reference'); + if (el && el.parentNode) { + var note = document.createElement('p'); + note.style.cssText = 'font-family:system-ui;padding:2rem;color:#555'; + note.textContent = 'Scalar bundle not vendored yet — run `mage generate:scalarBundle` to fetch it.'; + el.parentNode.insertBefore(note, el); + } +})(); diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index 511547494..ceb82d20b 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -384,6 +384,10 @@ func registerAPIRoutesV2(e *echo.Echo, a *echo.Group) { api := apiv2.NewAPI(e, a) + // Scalar docs UI — embedded, no CDN. See pkg/routes/api/v2/docs.go. + a.GET("/docs", apiv2.ScalarUI) + a.GET("/docs/scalar.standalone.js", apiv2.ScalarJS) + // Resource registrations. apiv2.RegisterLabelRoutes(api) From 057b2e543988d8b3b6a9c86fb56336299c7111b4 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 18:51:42 +0200 Subject: [PATCH 032/185] fix(api/v2): publish OpenAPI Servers and make schemas publicly fetchable Huma's SchemaLinkTransformer (enabled by default) emits a `$schema` field on every JSON response and an example URL in the spec. Both were broken in our setup: the example URL used Huma's "https://example.com" placeholder because no Servers were declared, and the runtime URL pointed at /schemas/Label.json instead of /api/v2/schemas/Label.json because Huma can't see the Echo group prefix. Two changes: - Set OpenAPI Servers to a list with the relative GroupPrefix first and, if service.publicurl is configured, the absolute deployment URL second. Servers[0] feeds Huma's getAPIPrefix / addSchemaField / Transform fallback; Servers[1] is informational metadata for SDK generators and docs UIs. Keeping the relative URL at index 0 dodges a Huma quirk that double-prefixes the runtime $schema URL when the index-0 server URL carries a path component. - Add /api/v2/schemas/:schema to unauthenticatedAPIPaths so editors and SDK tooling can fetch schemas without a token, mirroring how the spec itself is reachable. --- pkg/routes/api/v2/huma.go | 16 ++++++++++++++++ pkg/routes/routes.go | 1 + 2 files changed, 17 insertions(+) diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go index 9d2e44556..720a5929d 100644 --- a/pkg/routes/api/v2/huma.go +++ b/pkg/routes/api/v2/huma.go @@ -20,7 +20,9 @@ package apiv2 import ( "context" "net/http" + "strings" + "code.vikunja.io/api/pkg/config" "code.vikunja.io/api/pkg/modules/humaecho5" "code.vikunja.io/api/pkg/version" @@ -65,6 +67,20 @@ func NewAPI(e *echo.Echo, g *echo.Group) huma.API { {"JWTKeyAuth": {}}, {"APITokenAuth": {}}, } + // The relative entry MUST stay at index 0. Huma's SchemaLinkTransformer + // reads Servers[0] in three places (getAPIPrefix, addSchemaField, the + // runtime Transform fallback). With a path-bearing absolute URL at + // index 0, the runtime fallback concatenates that URL onto a ref that + // already includes /api/v2, producing a double-prefixed $schema link + // like https://host/api/v2/api/v2/schemas/Label.json. A relative URL + // at index 0 keeps the prefix in the transformer's bookkeeping while + // the absolute URL at index 1 advertises the deployment URL to SDK + // generators and docs UIs. + servers := []*huma.Server{{URL: GroupPrefix}} + if publicURL := strings.TrimRight(config.ServicePublicURL.GetString(), "/"); publicURL != "" { + servers = append(servers, &huma.Server{URL: publicURL + GroupPrefix}) + } + oapi.Servers = servers return api } diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index ceb82d20b..c81dcef1f 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -342,6 +342,7 @@ var unauthenticatedAPIPaths = map[string]bool{ "/api/v2/openapi-3.0.yaml": true, "/api/v2/docs": true, "/api/v2/docs/scalar.standalone.js": true, + "/api/v2/schemas/:schema": true, } // collectRoutesForAPITokens collects all routes for API token permission checking. From d2a3186b3ed40214b9c385284868d7f10e573811 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 19:11:04 +0200 Subject: [PATCH 033/185] docs: add api-v2-routes skill and freeze /api/v1 Adds the api-v2-routes agent skill (CRUD + non-CRUD shapes, descriptions required) and marks /api/v1 frozen in AGENTS.md/CLAUDE.md so new routes go to the Huma-backed /api/v2. --- .claude/skills/api-v2-routes/SKILL.md | 168 ++++++++++++++++++++++++++ AGENTS.md | 28 +++-- 2 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 .claude/skills/api-v2-routes/SKILL.md diff --git a/.claude/skills/api-v2-routes/SKILL.md b/.claude/skills/api-v2-routes/SKILL.md new file mode 100644 index 000000000..234f75a3b --- /dev/null +++ b/.claude/skills/api-v2-routes/SKILL.md @@ -0,0 +1,168 @@ +--- +name: api-v2-routes +description: Use when adding or changing a resource on the Huma-backed /api/v2 API (new endpoints, porting a v1 resource, editing pkg/routes/api/v2/). Covers per-operation Huma handlers, the shared envelopes, error/auth bridging, REST verb conventions, and what's automatic. +user-invocable: true +--- + +# Adding /api/v2 routes for a CRUDable resource + +`/api/v2` is served by [Huma v2](https://github.com/danielgtaylor/huma) mounted on an Echo group via the vendored `pkg/modules/humaecho5` adapter. Unlike v1's generic `WebHandler`, each operation is a typed Huma handler registered explicitly. The handlers are thin: they pull auth off the context, call the same `pkg/web/handler.Do*` functions v1 uses, and translate domain errors into RFC 9457 responses. + +**Reference implementation:** `pkg/routes/api/v2/labels.go` is the canonical example — copy its shape. Shared envelopes live in `pkg/routes/api/v2/types.go`; the auth/error bridge in `pkg/routes/api/v2/errors.go`; config in `pkg/routes/api/v2/huma.go`. + +## Prerequisite: the model must be CRUDable + +v2 handlers call `handler.DoReadAll/DoReadOne/DoCreate/DoUpdate/DoDelete`, which invoke the model's `Can*` methods. If the model isn't already a working v1 resource, do the model work first — invoke the **`crudable`** skill. Permissions are enforced at the model level; **never** re-check them in a v2 handler. + +**Every exposed model field needs a `doc:` tag.** v2's schema is reflected from struct tags at runtime; Huma cannot read the Go doc comments swaggo uses for v1. A field without `doc:"..."` ships with no description in the spec. Add the tag alongside the existing comment (keep both — swaggo still reads the comment for v1, and they should stay in sync): + +```go +// The title of the label. You'll see this one on tasks associated with it. +Title string `json:"title" minLength:"1" maxLength:"250" doc:"The title of the label. You'll see this one on tasks associated with it."` +``` + +These model edits are safe for v1 — swaggo, XORM, and govalidator all ignore the `doc` tag. (Huma *does* read validation tags like `minLength`/`maxLength`/`enum`/`format`, so those carry over without a `doc` tag.) As with operations, a `doc` tag earns its place when it says something the field name and type don't: a format hint ("hex, 6 chars"), a read-only note ("set by the server; ignored on write"), units, or allowed values. "The label description." on a `Description` field is filler. See `pkg/models/label.go` for the reference. + +## Steps + +### 1. Create `pkg/routes/api/v2/.go` + +Define the list-response body, a `RegisterRoutes(api huma.API)` function, and one handler per operation. Mirror `labels.go` exactly: + +```go +// Element type matches what models..ReadAll returns; extra fields +// tagged json:"-" keep the wire shape identical to the plain model. +type fooListBody struct { + Body Paginated[*models.Foo] +} + +func RegisterFooRoutes(api huma.API) { + tags := []string{"foos"} + + Register(api, huma.Operation{ + OperationID: "foos-list", + Summary: "List foos", + Description: "Returns the foos the authenticated user has access to, paginated.", + Method: http.MethodGet, Path: "/foos", Tags: tags, + }, foosList) + Register(api, huma.Operation{OperationID: "foos-read", Summary: "Get a foo", Description: "...", Method: http.MethodGet, Path: "/foos/{id}", Tags: tags}, foosRead) + Register(api, huma.Operation{OperationID: "foos-create", Summary: "Create a foo", Description: "...", Method: http.MethodPost, Path: "/foos", Tags: tags}, foosCreate) + Register(api, huma.Operation{OperationID: "foos-update", Summary: "Update a foo", Description: "...", Method: http.MethodPut, Path: "/foos/{id}", Tags: tags}, foosUpdate) + Register(api, huma.Operation{OperationID: "foos-delete", Summary: "Delete a foo", Description: "...", Method: http.MethodDelete, Path: "/foos/{id}", Tags: tags}, foosDelete) +} +``` + +Use the package's `Register` wrapper, **not** `huma.Register` directly — it sets `DefaultStatus` from the verb (POST → 201, DELETE → 204). Don't spell out `DefaultStatus` unless you need a non-default code. Don't set `Security:` per operation — it's applied globally in `NewAPI`. + +**Every operation needs a `Summary` and `Description`.** v2's OpenAPI spec is generated from these `Operation` fields at runtime — unlike v1's swaggo, Huma cannot read Go doc comments, so anything you don't put in the `Operation` (or in a `doc:` tag, see below) is simply absent from the spec and the docs UI. An operation without them ships undocumented. + +**Make the description document the non-obvious — don't restate the verb+noun.** "Deletes a label" adds nothing over `DELETE /labels/{id}`. Spend the description on what a consumer *can't* infer from the method/path/schema: permission scope ("only the owner may delete it"; "returns only labels you can see, not a global list"), full-replace vs partial (PUT replaces, PATCH merges), read-only/conditional behavior (ETag → `If-None-Match` → 304), side effects (create sets ownership), non-obvious status codes. If the honest description is just the verb+noun, a short summary alone is fine — don't pad. See `labels.go` for the calibration. + +### 2. Write the handlers + +Every handler: pull auth with `authFromCtx(ctx)`, call the matching `handler.Do*`, wrap returned errors in `translateDomainError`. Use the shared envelopes from `types.go` (`singleBody`, `singleReadBody`, `emptyBody`, `ListParams`, `Paginated`/`NewPaginated`). + +- **List** takes `*ListParams` (gives you `page`/`per_page`/`q` for free) and returns `*fooListBody`. **You must type-assert the `DoReadAll` result to the concrete slice** — `result` is `any`, and a blind cast or a generic wrapper silently serialises `[]` (the "generic-any silent-empty trap"). Return a hard error on mismatch: + ```go + items, ok := result.([]*models.Foo) + if !ok { + return nil, fmt.Errorf("foos.ReadAll returned unexpected type %T", result) + } + return &fooListBody{Body: NewPaginated(items, total, in.Page, in.PerPage)}, nil + ``` +- **Read** embeds `conditional.Params` in its input, builds an ETag from `id + Updated.UnixNano()`, calls `in.PreconditionFailed(etag, label.Updated)` when `in.HasConditionalParams()`, and returns `*singleReadBody[Model]` with the **quoted** ETag (`"`+etag+`"`). +- **Create / Update** take a `Body Model` input and return `*singleBody[Model]`. Update sets `in.Body.ID = in.ID` (URL wins over body). +- **Delete** returns `*emptyBody`. + +### 3. Wire it into the group + +In `pkg/routes/routes.go`, `registerAPIRoutesV2`, add the registration **before** `EnableAutoPatch(api)`: + +```go +apiv2.RegisterFooRoutes(api) +// ... other resources ... +apiv2.EnableAutoPatch(api) // MUST stay last — walks registered GET+PUT pairs +``` + +That's the only edit outside the v2 package for a standard CRUD resource. + +## REST verb conventions (v2 inverts v1) + +| Operation | v1 | v2 | +|---|---|---| +| create | PUT | **POST** | +| update | POST | **PUT** (and PATCH) | +| read / read-all / delete | GET / GET / DELETE | same | + +## Non-CRUDable / custom routes + +Not everything is plain CRUD — bulk operations, custom actions (`POST /tasks/{id}/duplicate`), sub-resource toggles, RPC-ish endpoints. These still go through Huma and reuse most of the machinery, but two responsibilities move **into your handler** because there's no `handler.Do*` doing them for you: + +1. **Permission enforcement is now yours.** This is the one place the "never check permissions in the handler" rule inverts. With no generic `Do*` to call the model's `Can*`, the handler must do it explicitly — load the relevant entity and call its permission method, then refuse on denial. Mirror the v1 custom-handler shape (`pkg/routes/api/v1/task_attachment.go`): + ```go + func tasksDuplicate(ctx context.Context, in *struct{ ID int64 `path:"id"` }) (*singleBody[models.Task], error) { + a, err := authFromCtx(ctx) + if err != nil { + return nil, err + } + s := db.NewSession() + defer s.Close() + + t := &models.Task{ID: in.ID} + can, err := t.CanUpdate(s, a) // or whichever Can* gates this action + if err != nil { + _ = s.Rollback() + return nil, translateDomainError(err) + } + if !can { + return nil, huma.Error403Forbidden("forbidden") + } + // ... do the work against s ... + if err := s.Commit(); err != nil { + return nil, translateDomainError(err) + } + return &singleBody[models.Task]{Body: t}, nil + } + ``` +2. **Session / transaction management is now yours.** The `Do*` helpers open and commit their own `xorm.Session`; custom handlers open one with `db.NewSession()`, `defer s.Close()`, and `Commit`/`Rollback` explicitly for anything that writes. + +Otherwise the same rules apply: register with the `Register` wrapper, pull auth via `authFromCtx`, route every error through `translateDomainError`, and reuse the `types.go` envelopes — or define a small body struct when none fits (don't bend a custom response into `singleBody` if it's awkward). + +**Verb choice:** pick by semantics, not the CRUD table. Non-idempotent actions are `POST`. AutoPatch only synthesises PATCH for GET+PUT *pairs*, so standalone custom routes are never touched. + +**Token permissions still automatic, but mind the derived name:** `collectRoutesForAPITokens` keys a route off its prefix-stripped path, so `POST /api/v2/tasks/{id}/duplicate` lands under the `tasks` group as a `duplicate` permission. Single-segment custom paths fall into the `other` group. Name the path so the derived `(group, permission)` reads sensibly — that string is what users grant tokens against. + +## What's automatic — do NOT hand-roll + +- **PATCH** — `EnableAutoPatch` synthesises a JSON-Merge-Patch PATCH for every GET+PUT pair. Don't register PATCH yourself. +- **API token permissions** — `collectRoutesForAPITokens` walks the Echo router after registration, so your new routes land in the v2 token table automatically under the same `(group, permission)` keys as their v1 names. PATCH is intentionally not stored; `CanDoAPIRoute` accepts it as an alias for the stored PUT (see `pkg/models/api_routes.go`). +- **Security schemes** — `JWTKeyAuth` + `APITokenAuth` are declared globally in `NewAPI`. For a public endpoint, set `Security: []map[string][]string{}` on that operation and add its path to `unauthenticatedAPIPaths` in `routes.go`. +- **Error shape** — `translateDomainError` maps any `web.HTTPErrorProcessor` (e.g. `ErrFooDoesNotExist`) onto Huma's status error, producing RFC 9457 `application/problem+json`. Errors without HTTP semantics become 500. +- **OpenAPI spec / Scalar docs / `$schema` URLs** — handled in `huma.go`. Leave `Servers` alone (the relative entry must stay at index 0). + +## Anti-patterns (these get flagged) + +- Re-checking permissions in the handler instead of trusting `handler.Do*` → the model's `Can*`. +- Blind `result.([]*models.Foo)` without the `ok` check, or returning the `any` straight into the envelope — silent empty lists. +- `huma.Register` instead of the package `Register` wrapper (loses the verb-based status). +- Per-operation `Security:` lines (now global) or registering a manual PATCH (AutoPatch does it). +- Returning a raw model error instead of routing it through `translateDomainError` → leaks a 500 instead of the right code. +- Unquoted ETag in the response header. +- Operations without `Summary`/`Description`, or model fields without `doc:` tags — they ship undocumented because Huma can't read Go comments. + +## Tests (mandatory) + +Mirror the v1 webtest shape so v2 parity is readable side-by-side. Use the `webHandlerTestV2` harness in `pkg/webtests/integrations.go` — it takes the same `urlParams` map as v1's `webHandlerTest`. See `pkg/webtests/huma_label_test.go`: + +- One `Test` covering list/read/create/update/delete, positive + negative (forbidden, nonexistent), mirroring the v1 model test. +- v2-only behaviour (ETag/304, PATCH merge-patch) goes in separate top-level `Test_*` funcs using the `humaRequest`/`humaTokenFor` helpers in `pkg/webtests/huma_helpers_test.go`. +- The RFC 9457 error-body shape is asserted **once** globally in `TestHuma_ErrorShapeIsRFC9457` — don't re-assert the full problem+json shape per resource, just the status code. + +Run with `mage test:filter Test` while iterating. Save output to a file per the project test-output rule. + +## Related + +- `crudable` skill — the model-layer prerequisite +- `pkg/routes/api/v2/labels.go` — reference resource +- `pkg/routes/api/v2/{types,errors,huma}.go` — shared envelopes, bridge, config +- `pkg/web/handler/core.go` — the `Do*` functions handlers call diff --git a/AGENTS.md b/AGENTS.md index 6cb251b1c..67593378b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,12 +11,24 @@ The project consists of: - `desktop/` – Electron wrapper application - `docs/` – Documentation website +## API Version Policy — new work goes to /api/v2 + +**`/api/v1` is effectively deprecated and frozen.** It still runs and is fully supported for existing clients, but it should not grow. + +- **Every new route goes on `/api/v2`** (the Huma-backed API in `pkg/routes/api/v2/`). This includes new CRUDable entities, new custom/non-CRUD endpoints, and new actions on existing resources. +- **Before adding any v2 route, invoke the `api-v2-routes` skill** — it covers both CRUD and non-CRUD shapes. +- **Touch `/api/v1` only to:** fix a bug, or port an existing resource to v2. Do not add net-new functionality there. +- Models in `pkg/models/` are shared by both APIs — a new entity still gets its model + `Can*` methods (invoke `crudable`); only the HTTP surface differs (v2, not v1). + +If a task says "add an endpoint for X" without naming a version, it means v2. + ## Skills Before writing code in these areas, invoke the matching skill with the `Skill` tool. They are short checklists derived from recurring review feedback — loading them up front avoids rework. - Adding or modifying a model in `pkg/models/` (new CRUD, new or changed `Can*` methods, anything touching permissions): invoke `crudable`. - Creating or editing any file under `pkg/migration/`: invoke `migration`. +- Adding **any** new API route (new entity, custom action, or porting from v1) — all new routes go on the Huma-backed `/api/v2`, editing `pkg/routes/api/v2/`: invoke `api-v2-routes`. See the API Version Policy above. ## Plans and Worktrees @@ -172,11 +184,10 @@ Modern Vue 3 composition API application with TypeScript: ### Adding New Features **Backend Changes:** -1. Create/modify models in `pkg/models/` with proper CRUD and Permissions interfaces as required -2. Add database migration if needed: `mage dev:make-migration ` +1. Create/modify models in `pkg/models/` with proper CRUD and Permissions interfaces as required (invoke the `crudable` skill) +2. Add database migration if needed: `mage dev:make-migration ` (invoke the `migration` skill) 3. Create/update services in `pkg/services/` for complex business logic -4. Add API routes in `pkg/routes/api/v1/` following existing patterns -5. Update Swagger annotations +4. Add API routes on **`/api/v2`** in `pkg/routes/api/v2/` — invoke the `api-v2-routes` skill. Do **not** add new routes to `/api/v1`; it is frozen (see API Version Policy above) **Frontend Changes:** 1. Create TypeScript interfaces in `src/modelTypes/` matching backend models @@ -192,10 +203,11 @@ Modern Vue 3 composition API application with TypeScript: 4. Update TypeScript interfaces in frontend `src/modelTypes/` ### API Development -- All API endpoints follow RESTful conventions under `/api/v1/` -- Use generic web handlers in `pkg/web/handler/` for standard CRUD operations -- Implement proper permissions checking using the Permissions interface -- Add Swagger annotations for automatic documentation generation +- **New endpoints go on `/api/v2`** (Huma-backed, `pkg/routes/api/v2/`). `/api/v1` is frozen — see the API Version Policy near the top. Invoke the `api-v2-routes` skill before writing v2 routes. +- v2 verb conventions differ from v1: POST creates, PUT/PATCH update (v1 used PUT to create, POST to update). +- Both versions reuse the generic `pkg/web/handler/` `Do*` functions for standard CRUD, which enforce permissions via the model's `Can*` methods. +- Implement permission checks at the model level via the Permissions interface — never in the route handler (the exception: non-CRUD v2 actions must call `Can*` explicitly; the skill covers this). +- v2 generates its OpenAPI spec from Go types automatically — no Swagger annotations. v1's swaggo annotations stay as-is but no new ones are needed. ### Testing - Backend: Feature tests alongside source files, web tests in `pkg/webtests/` From 14446e3c41722723565cbab759a06a1efff4db2c Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 22:51:50 +0200 Subject: [PATCH 034/185] fix(routes): apply rate-limit and metrics middleware to /api/v2 The authenticated v1 group installs setupRateLimit and setupMetricsMiddleware; the v2 group only had cache-control and token middleware, so authenticated v2 endpoints bypassed the configured API rate limiter and route metrics. Mirror the v1 stack. --- pkg/routes/routes.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index c81dcef1f..3511a9e52 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -382,6 +382,10 @@ func noStoreCacheControl() echo.MiddlewareFunc { func registerAPIRoutesV2(e *echo.Echo, a *echo.Group) { a.Use(noStoreCacheControl()) a.Use(SetupTokenMiddleware()) + // Match the authenticated v1 group: rate limiting and route metrics + // apply to v2 resource endpoints too. + setupRateLimit(a, config.RateLimitKind.GetString()) + setupMetricsMiddleware(a) api := apiv2.NewAPI(e, a) From e257823cefb17c81cac6d670e0869a22b29f9ea7 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 22:54:07 +0200 Subject: [PATCH 035/185] fix(api/v2): return generic 401 instead of leaking internal auth error authFromCtx surfaced the underlying GetAuthFromContext error message (e.g. the internal 'no echo.Context' adapter detail) straight to the client. Log the real error and return a generic 401 instead. --- pkg/routes/api/v2/errors.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/routes/api/v2/errors.go b/pkg/routes/api/v2/errors.go index b7e266e29..f2c285954 100644 --- a/pkg/routes/api/v2/errors.go +++ b/pkg/routes/api/v2/errors.go @@ -20,6 +20,7 @@ import ( "context" "errors" + "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/modules/auth" "code.vikunja.io/api/pkg/web" @@ -31,7 +32,12 @@ import ( func authFromCtx(ctx context.Context) (web.Auth, error) { a, err := auth.GetAuthFromContext(ctx) if err != nil { - return nil, huma.Error401Unauthorized(err.Error()) + // The underlying error can carry internal adapter/config detail + // (e.g. a missing Echo context — a programming error, since the + // token middleware authenticates before the handler runs). Log it + // and return a generic 401 so nothing internal leaks to clients. + log.Errorf("v2: could not resolve auth from context: %s", err) + return nil, huma.Error401Unauthorized("invalid or missing authentication") } return a, nil } From 8532016a2db013d4914b3ce7632e1b557b869ec4 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 22:54:14 +0200 Subject: [PATCH 036/185] feat(api/v2): preserve Vikunja numeric error code in problem+json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit translateDomainError discarded web.HTTPError.Code, so v2 error bodies always read code 0 — losing the v1 contract the error docs key off. Override huma.NewError with a VikunjaErrorModel that adds a code field, so both the generated OpenAPI schema and runtime responses carry it. Domain errors with a numeric code now surface it (e.g. 8002 for a missing label, matching v1); errors without one omit it. --- pkg/routes/api/v2/errors.go | 45 ++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/pkg/routes/api/v2/errors.go b/pkg/routes/api/v2/errors.go index f2c285954..0fa92774d 100644 --- a/pkg/routes/api/v2/errors.go +++ b/pkg/routes/api/v2/errors.go @@ -19,6 +19,7 @@ package apiv2 import ( "context" "errors" + "net/http" "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/modules/auth" @@ -57,7 +58,49 @@ func translateDomainError(err error) error { if msg == "" { msg = err.Error() } - return huma.NewError(details.HTTPCode, msg) + se := huma.NewError(details.HTTPCode, msg) + // Preserve Vikunja's numeric domain error code (the value the + // error docs key off) on the problem+json body. v1 exposes it as + // `code`; without this v2 clients always read 0. + if vm, ok := se.(*vikunjaErrorModel); ok { + vm.Code = details.Code + } + return se } return err } + +// vikunjaErrorModel extends Huma's RFC 9457 body with Vikunja's numeric +// domain error code, preserving the v1 error-code contract on v2. Wired in +// as the global error type via the huma.NewError override in init(). +type vikunjaErrorModel struct { + huma.ErrorModel + Code int `json:"code,omitempty" doc:"Vikunja numeric error code; see https://vikunja.io/docs/errors/"` +} + +func init() { + // Replace Huma's default error constructor so both the generated + // OpenAPI schema and runtime responses use vikunjaErrorModel. Huma + // derives the error-response schema from NewError(0, "") at register + // time and routes runtime errors through the same constructor, so the + // `code` field stays consistent between spec and wire. + huma.NewError = func(status int, msg string, errs ...error) huma.StatusError { + details := make([]*huma.ErrorDetail, 0, len(errs)) + for _, e := range errs { + if e == nil { + continue + } + if d, ok := e.(huma.ErrorDetailer); ok { + details = append(details, d.ErrorDetail()) + } else { + details = append(details, &huma.ErrorDetail{Message: e.Error()}) + } + } + return &vikunjaErrorModel{ErrorModel: huma.ErrorModel{ + Status: status, + Title: http.StatusText(status), + Detail: msg, + Errors: details, + }} + } +} From 43e910025a978fece6e2897b68ea186b350cbdbc Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 30 May 2026 22:55:09 +0200 Subject: [PATCH 037/185] fix(models): validate API token permissions against v1+v2 route union PermissionsAreValid only consulted apiTokenRoutes, so a v2-only resource (no v1 counterpart) could never be granted as a token scope even though CanDoAPIRoute already authorises against both tables. Validate against the union so the v1+v2 authorization and validation paths agree. --- pkg/models/api_routes.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkg/models/api_routes.go b/pkg/models/api_routes.go index e601515ab..2264a5121 100644 --- a/pkg/models/api_routes.go +++ b/pkg/models/api_routes.go @@ -422,15 +422,20 @@ func CanDoAPIRoute(c *echo.Context, token *APIToken) (can bool) { func PermissionsAreValid(permissions APIPermissions) (err error) { for key, methods := range permissions { - routes, has := apiTokenRoutes[key] - if !has { + // A permission is valid if the group exists in either table. v2-only + // resources (no v1 counterpart) live solely in apiTokenRoutesV2, so + // validating against the union lets tokens grant them. CanDoAPIRoute + // already consults both tables when authorising. + v1Routes := apiTokenRoutes[key] + v2Routes := apiTokenRoutesV2[key] + if v1Routes == nil && v2Routes == nil { return &ErrInvalidAPITokenPermission{ Group: key, } } for _, method := range methods { - if routes[method] == nil { + if v1Routes[method] == nil && v2Routes[method] == nil { return &ErrInvalidAPITokenPermission{ Group: key, Permission: method, From 3347180f315502841e1d7243f8ebf900519bb436 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 May 2026 10:26:52 +0200 Subject: [PATCH 038/185] fix(api/v2): don't leak internal error detail in 5xx responses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Huma's handler-error path wraps raw errors as NewErrorWithContext(ctx, 500, "unexpected error occurred", err), and since the humaecho5 adapter writes Huma's response directly it bypasses Vikunja's CreateHTTPErrorHandler — which returns a generic 500 with no detail for non-domain errors. The huma.NewError override then copied err.Error() (raw DB/driver messages, SQL, table/column names) into the problem+json errors[], a regression vs v1. Override huma.NewErrorWithContext to drop errs for status >= 500, log the real cause server-side, and return a generic body. 4xx detail (validation errors, domain messages) is unaffected. --- pkg/routes/api/v2/errors.go | 19 ++++++++++ pkg/routes/api/v2/errors_test.go | 61 ++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 pkg/routes/api/v2/errors_test.go diff --git a/pkg/routes/api/v2/errors.go b/pkg/routes/api/v2/errors.go index 0fa92774d..73cfe9338 100644 --- a/pkg/routes/api/v2/errors.go +++ b/pkg/routes/api/v2/errors.go @@ -103,4 +103,23 @@ func init() { Errors: details, }} } + + // Strip internal detail from server errors. Huma's handler-error path + // wraps a raw error as NewErrorWithContext(ctx, 500, "unexpected error + // occurred", err) and — because the humaecho5 adapter writes the + // response itself — bypasses Vikunja's CreateHTTPErrorHandler, which for + // v1 returns a generic 500 with no detail. Without this override a raw + // DB/driver error (SQL, table, column names) would leak into the + // problem+json `errors[]`. Log the real cause, return a generic body. + huma.NewErrorWithContext = func(_ huma.Context, status int, msg string, errs ...error) huma.StatusError { + if status >= 500 { + for _, e := range errs { + if e != nil { + log.Errorf("v2: internal server error: %s", e) + } + } + errs = nil + } + return huma.NewError(status, msg, errs...) + } } diff --git a/pkg/routes/api/v2/errors_test.go b/pkg/routes/api/v2/errors_test.go new file mode 100644 index 000000000..def0c5c53 --- /dev/null +++ b/pkg/routes/api/v2/errors_test.go @@ -0,0 +1,61 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-present Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +package apiv2 + +import ( + "errors" + "os" + "testing" + + "code.vikunja.io/api/pkg/log" + + "github.com/danielgtaylor/huma/v2" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestMain(m *testing.M) { + // The NewErrorWithContext override logs server errors; initialise a + // logger so that path doesn't nil-panic in the bare test binary. + log.InitLogger() + os.Exit(m.Run()) +} + +// TestNewErrorWithContext_StripsServerErrorDetail guards against leaking +// internal error detail (raw DB/driver messages, etc.) in v2 5xx responses. +// Huma's handler-error path funnels raw errors through NewErrorWithContext +// at status 500; the override must drop the detail there while keeping it +// for client (4xx) errors. Mirrors v1's generic-500 behaviour. +func TestNewErrorWithContext_StripsServerErrorDetail(t *testing.T) { + secret := errors.New(`pq: relation "labels" does not exist`) + + t.Run("500 drops the wrapped detail", func(t *testing.T) { + se := huma.NewErrorWithContext(nil, 500, "unexpected error occurred", secret) + vm, ok := se.(*vikunjaErrorModel) + require.True(t, ok) + assert.Empty(t, vm.Errors, "server errors must not expose internal detail") + assert.Equal(t, "unexpected error occurred", vm.Detail) + }) + + t.Run("4xx keeps the detail", func(t *testing.T) { + se := huma.NewErrorWithContext(nil, 422, "validation failed", secret) + vm, ok := se.(*vikunjaErrorModel) + require.True(t, ok) + require.Len(t, vm.Errors, 1, "client errors keep their detail") + assert.Equal(t, secret.Error(), vm.Errors[0].Message) + }) +} From 152bbd2ac40f8c7babe754160a452089cfc0fbe3 Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 May 2026 10:58:58 +0200 Subject: [PATCH 039/185] test(middleware): lock in array-param order preservation The normalizer's docstring and stripBracketSuffix's pair-by-pair walk promise left-to-right order preservation (load-bearing for sort_by / order_by), but the only coverage used order-insensitive assert.Contains after 02e10b287 dropped the dedicated test. Add exact-match assertions that a mix of plain and bracketed forms re-emits values in send order. --- .../middleware/array_param_normalizer_test.go | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pkg/routes/middleware/array_param_normalizer_test.go b/pkg/routes/middleware/array_param_normalizer_test.go index 6f7e983c1..44f476712 100644 --- a/pkg/routes/middleware/array_param_normalizer_test.go +++ b/pkg/routes/middleware/array_param_normalizer_test.go @@ -61,3 +61,40 @@ func TestNormalizeArrayParams(t *testing.T) { }) } } + +// TestNormalizeArrayParamsPreservesOrder locks in the left-to-right +// ordering the normalizer promises. Sort precedence (sort_by/order_by) is +// load-bearing, so a client mixing plain and bracketed forms of the same +// key must see its values in the exact order it sent them — not whatever a +// map would yield. Asserts the full rewritten query, not just membership. +func TestNormalizeArrayParamsPreservesOrder(t *testing.T) { + cases := []struct { + name string + rawQuery string + wantQuery string + }{ + {"plain then bracketed", "foo=a&foo[]=b&foo=c", "foo=a&foo=b&foo=c"}, + { + "interleaved percent-encoded", + "sort_by=a&sort_by%5B%5D=b&sort_by=c&sort_by%5B%5D=d", + "sort_by=a&sort_by=b&sort_by=c&sort_by=d", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + e := echo.New() + e.Use(middleware.NormalizeArrayParams()) + e.GET("/", func(c *echo.Context) error { + return (*c).String(200, (*c).Request().URL.RawQuery) + }) + + req := httptest.NewRequest("GET", "/?"+tc.rawQuery, nil) + rec := httptest.NewRecorder() + e.ServeHTTP(rec, req) + + assert.Equal(t, 200, rec.Code) + assert.Equal(t, tc.wantQuery, rec.Body.String()) + }) + } +} From 2602f723c3436e9216c18d1626d578621b78755c Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 May 2026 11:11:29 +0200 Subject: [PATCH 040/185] docs(api/v2): add field and operation descriptions for labels v2's OpenAPI spec is generated from struct tags and Operation fields at runtime; unlike swaggo (v1) it can't read Go doc comments, so v2 shipped without the field/operation descriptions v1 has. Add doc: tags to the Label model (kept in sync with the existing comments swaggo reads for v1) and Summary/Description to each label operation. Makes labels a complete reference for the pattern. --- pkg/models/label.go | 14 +++++++------- pkg/routes/api/v2/huma.go | 14 ++++++++++++++ pkg/routes/api/v2/labels.go | 10 ++++++++++ 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/pkg/models/label.go b/pkg/models/label.go index 3df013f73..3725811bb 100644 --- a/pkg/models/label.go +++ b/pkg/models/label.go @@ -29,22 +29,22 @@ import ( // Label represents a label type Label struct { // The unique, numeric id of this label. - ID int64 `xorm:"bigint autoincr not null unique pk" json:"id" param:"label"` + ID int64 `xorm:"bigint autoincr not null unique pk" json:"id" param:"label" doc:"The unique, numeric id of this label."` // The title of the label. You'll see this one on tasks associated with it. - Title string `xorm:"varchar(250) not null" json:"title" valid:"runelength(1|250)" minLength:"1" maxLength:"250"` + Title string `xorm:"varchar(250) not null" json:"title" valid:"runelength(1|250)" minLength:"1" maxLength:"250" doc:"The title of the label. You'll see this one on tasks associated with it."` // The label description. - Description string `xorm:"longtext null" json:"description"` + Description string `xorm:"longtext null" json:"description" doc:"The label description."` // The color this label has in hex format. - HexColor string `xorm:"varchar(6) null" json:"hex_color" valid:"runelength(0|7)" maxLength:"7"` + HexColor string `xorm:"varchar(6) null" json:"hex_color" valid:"runelength(0|7)" maxLength:"7" doc:"The color this label has in hex format."` CreatedByID int64 `xorm:"bigint not null" json:"-"` // The user who created this label - CreatedBy *user.User `xorm:"-" json:"created_by"` + CreatedBy *user.User `xorm:"-" json:"created_by" doc:"The user who created this label."` // A timestamp when this label was created. You cannot change this value. - Created time.Time `xorm:"created not null" json:"created"` + Created time.Time `xorm:"created not null" json:"created" doc:"A timestamp when this label was created. You cannot change this value."` // A timestamp when this label was last updated. You cannot change this value. - Updated time.Time `xorm:"updated not null" json:"updated"` + Updated time.Time `xorm:"updated not null" json:"updated" doc:"A timestamp when this label was last updated. You cannot change this value."` web.CRUDable `xorm:"-" json:"-"` web.Permissions `xorm:"-" json:"-"` diff --git a/pkg/routes/api/v2/huma.go b/pkg/routes/api/v2/huma.go index 720a5929d..ce8614a03 100644 --- a/pkg/routes/api/v2/huma.go +++ b/pkg/routes/api/v2/huma.go @@ -102,4 +102,18 @@ func Register[I, O any](api huma.API, op huma.Operation, handler func(context.Co // registered GET + PUT. Must be called AFTER all Register* calls. func EnableAutoPatch(api huma.API) { autopatch.AutoPatch(api) + + // AutoPatch names each synthesised PATCH after the GET operation + // ("Patch labels-read"), which reads poorly in the docs nav. Rewrite + // the summary from the sibling PUT so it reads like "Update a label + // (partial)". Only touch summaries AutoPatch generated (the "Patch " + // prefix) so a hand-registered PATCH is left alone. + for _, item := range api.OpenAPI().Paths { + if item == nil || item.Patch == nil || item.Put == nil { + continue + } + if item.Put.Summary != "" && strings.HasPrefix(item.Patch.Summary, "Patch ") { + item.Patch.Summary = item.Put.Summary + " (partial)" + } + } } diff --git a/pkg/routes/api/v2/labels.go b/pkg/routes/api/v2/labels.go index 9dc77e076..541ab1bb2 100644 --- a/pkg/routes/api/v2/labels.go +++ b/pkg/routes/api/v2/labels.go @@ -41,6 +41,8 @@ func RegisterLabelRoutes(api huma.API) { Register(api, huma.Operation{ OperationID: "labels-list", + Summary: "List labels", + Description: "Returns the labels visible to the authenticated user — their own plus any used on tasks they can access. Not a global list.", Method: http.MethodGet, Path: "/labels", Tags: tags, @@ -48,6 +50,8 @@ func RegisterLabelRoutes(api huma.API) { Register(api, huma.Operation{ OperationID: "labels-read", + Summary: "Get a label", + Description: "Returns a single label. Sends an ETag; pass it as If-None-Match on a later read to get a 304 Not Modified.", Method: http.MethodGet, Path: "/labels/{id}", Tags: tags, @@ -55,6 +59,8 @@ func RegisterLabelRoutes(api huma.API) { Register(api, huma.Operation{ OperationID: "labels-create", + Summary: "Create a label", + Description: "Creates a label; the authenticated user becomes its owner.", Method: http.MethodPost, Path: "/labels", Tags: tags, @@ -62,6 +68,8 @@ func RegisterLabelRoutes(api huma.API) { Register(api, huma.Operation{ OperationID: "labels-update", + Summary: "Update a label", + Description: "Replaces all of a label's fields — only the owner may update it. Use PATCH for a partial update.", Method: http.MethodPut, Path: "/labels/{id}", Tags: tags, @@ -69,6 +77,8 @@ func RegisterLabelRoutes(api huma.API) { Register(api, huma.Operation{ OperationID: "labels-delete", + Summary: "Delete a label", + Description: "Deletes a label. Only the owner may delete it.", Method: http.MethodDelete, Path: "/labels/{id}", Tags: tags, From 451bd5a8d6a45871b3b454373fa6ebabf95ff30e Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 May 2026 15:23:32 +0200 Subject: [PATCH 041/185] feat(api-v2): vendor scalar api docs bundle --- pkg/routes/api/v2/scalar/scalar.html | 5 +- pkg/routes/api/v2/scalar/scalar.standalone.js | 38840 +++++++++++++++- 2 files changed, 38831 insertions(+), 14 deletions(-) diff --git a/pkg/routes/api/v2/scalar/scalar.html b/pkg/routes/api/v2/scalar/scalar.html index f1e4136d5..6f76f5879 100644 --- a/pkg/routes/api/v2/scalar/scalar.html +++ b/pkg/routes/api/v2/scalar/scalar.html @@ -7,7 +7,10 @@ Vikunja API - + diff --git a/pkg/routes/api/v2/scalar/scalar.standalone.js b/pkg/routes/api/v2/scalar/scalar.standalone.js index 6e22b63fa..a9de9c8ac 100644 --- a/pkg/routes/api/v2/scalar/scalar.standalone.js +++ b/pkg/routes/api/v2/scalar/scalar.standalone.js @@ -1,13 +1,38827 @@ -// Placeholder — the actual Scalar standalone bundle is vendored by -// `mage generate:scalarBundle` (see magefile.go) and lands in a follow-up -// PR to keep this one reviewable. Until then, /api/v2/docs renders the -// HTML shell but the Scalar reference itself will not initialise. -(function () { - var el = document.getElementById('api-reference'); - if (el && el.parentNode) { - var note = document.createElement('p'); - note.style.cssText = 'font-family:system-ui;padding:2rem;color:#555'; - note.textContent = 'Scalar bundle not vendored yet — run `mage generate:scalarBundle` to fetch it.'; - el.parentNode.insertBefore(note, el); - } -})(); +/** + * _____ _________ __ ___ ____ + * / ___// ____/ | / / / | / __ \ + * \__ \/ / / /| | / / / /| | / /_/ / + * ___/ / /___/ ___ |/ /___/ ___ |/ _, _/ + * /____/\____/_/ |_/_____/_/ |_/_/ |_| + * + * @scalar/api-reference 1.44.20 + * + * Website: https://scalar.com + * GitHub: https://github.com/scalar/scalar + * License: https://github.com/scalar/scalar/blob/main/LICENSE +**/ + +!function(){"use strict";try{if("undefined"!=typeof document){var a=document.createElement("style");a.appendChild(document.createTextNode('@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-mask-linear:linear-gradient(#fff,#fff);--tw-mask-radial:linear-gradient(#fff,#fff);--tw-mask-conic:linear-gradient(#fff,#fff);--tw-mask-left:linear-gradient(#fff,#fff);--tw-mask-right:linear-gradient(#fff,#fff);--tw-mask-bottom:linear-gradient(#fff,#fff);--tw-mask-top:linear-gradient(#fff,#fff);--tw-mask-top-from-position:0%;--tw-mask-top-to-position:100%;--tw-mask-top-from-color:black;--tw-mask-top-to-color:transparent;--tw-mask-bottom-from-position:0%;--tw-mask-bottom-to-position:100%;--tw-mask-bottom-from-color:black;--tw-mask-bottom-to-color:transparent;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer scalar-base{@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}body{line-height:inherit;margin:0}:root{--scalar-border-width:.5px;--scalar-radius:3px;--scalar-radius-lg:6px;--scalar-radius-xl:8px;--scalar-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--scalar-font-code:"JetBrains Mono",ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--scalar-heading-1:24px;--scalar-page-description:16px;--scalar-heading-2:20px;--scalar-heading-3:16px;--scalar-heading-4:16px;--scalar-heading-5:16px;--scalar-heading-6:16px;--scalar-paragraph:16px;--scalar-small:14px;--scalar-mini:13px;--scalar-micro:12px;--scalar-bold:600;--scalar-semibold:500;--scalar-regular:400;--scalar-font-size-1:21px;--scalar-font-size-2:16px;--scalar-font-size-3:14px;--scalar-font-size-4:13px;--scalar-font-size-5:12px;--scalar-font-size-6:12px;--scalar-font-size-7:10px;--scalar-line-height-1:32px;--scalar-line-height-2:24px;--scalar-line-height-3:20px;--scalar-line-height-4:18px;--scalar-line-height-5:16px;--scalar-font-normal:400;--scalar-font-medium:500;--scalar-font-bold:700;--scalar-text-decoration:none;--scalar-text-decoration-hover:underline;--scalar-link-font-weight:inherit;--scalar-sidebar-indent:20px}.dark-mode{color-scheme:dark;--scalar-scrollbar-color:#ffffff2e;--scalar-scrollbar-color-active:#ffffff5c;--scalar-button-1:#fff;--scalar-button-1-hover:#ffffffe6;--scalar-button-1-color:black;--scalar-shadow-1:0 1px 3px 0 #0000001a;--scalar-shadow-2:0 0 0 .5px var(--scalar-border-color),#0f0f0f33 0px 3px 6px,#0f0f0f66 0px 9px 24px;--scalar-lifted-brightness:1.45;--scalar-backdrop-brightness:.5;--scalar-text-decoration-color:currentColor;--scalar-text-decoration-color-hover:currentColor}.light-mode{color-scheme:light;--scalar-scrollbar-color-active:#0000005c;--scalar-scrollbar-color:#0000002e;--scalar-button-1:#000;--scalar-button-1-hover:#000c;--scalar-button-1-color:#ffffffe6;--scalar-shadow-1:0 1px 3px 0 #0000001c;--scalar-shadow-2:#00000014 0px 13px 20px 0px,#00000014 0px 3px 8px 0px,#eeeeed 0px 0 0 .5px;--scalar-lifted-brightness:1;--scalar-backdrop-brightness:1;--scalar-text-decoration-color:currentColor;--scalar-text-decoration-color-hover:currentColor}.light-mode .dark-mode{color-scheme:dark!important}@media(max-width:460px){:root{--scalar-font-size-1:22px;--scalar-font-size-2:14px;--scalar-font-size-3:12px}}@media(max-width:720px){:root{--scalar-heading-1:24px;--scalar-page-description:20px}}:root{--scalar-text-decoration:underline;--scalar-text-decoration-hover:underline}.light-mode{--scalar-background-1:#fff;--scalar-background-2:#f6f6f6;--scalar-background-3:#e7e7e7;--scalar-background-accent:#8ab4f81f;--scalar-color-1:#1b1b1b;--scalar-color-2:#757575;--scalar-color-3:#8e8e8e;--scalar-color-accent:#09f;--scalar-border-color:#dfdfdf}.dark-mode{--scalar-background-1:#0f0f0f;--scalar-background-2:#1a1a1a;--scalar-background-3:#272727;--scalar-color-1:#e7e7e7;--scalar-color-2:#a4a4a4;--scalar-color-3:#797979;--scalar-color-accent:#00aeff;--scalar-background-accent:#3ea6ff1f;--scalar-border-color:#2d2d2d}.light-mode,.dark-mode{--scalar-sidebar-background-1:var(--scalar-background-1);--scalar-sidebar-color-1:var(--scalar-color-1);--scalar-sidebar-color-2:var(--scalar-color-2);--scalar-sidebar-border-color:var(--scalar-border-color);--scalar-sidebar-item-hover-background:var(--scalar-background-2);--scalar-sidebar-item-hover-color:var(--scalar-sidebar-color-2);--scalar-sidebar-item-active-background:var(--scalar-background-2);--scalar-sidebar-color-active:var(--scalar-sidebar-color-1);--scalar-sidebar-indent-border:var(--scalar-sidebar-border-color);--scalar-sidebar-indent-border-hover:var(--scalar-sidebar-border-color);--scalar-sidebar-indent-border-active:var(--scalar-sidebar-border-color);--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}}.light-mode,.dark-mode{--scalar-sidebar-search-color:var(--scalar-color-3);--scalar-sidebar-search-border-color:var(--scalar-border-color)}.light-mode{--scalar-color-green:#069061;--scalar-color-red:#ef0006;--scalar-color-yellow:#edbe20;--scalar-color-blue:#0082d0;--scalar-color-orange:#ff5800;--scalar-color-purple:#5203d1;--scalar-link-color:var(--scalar-color-1);--scalar-link-color-hover:var(--scalar-link-color);--scalar-button-1:#000;--scalar-button-1-hover:#000c;--scalar-button-1-color:#ffffffe6;--scalar-tooltip-background:#1a1a1ae6;--scalar-tooltip-color:#ffffffd9;--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}}.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}}.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-color-green:#00b648;--scalar-color-red:#dc1b19;--scalar-color-yellow:#ffc90d;--scalar-color-blue:#4eb3ec;--scalar-color-orange:#ff8d4d;--scalar-color-purple:#b191f9;--scalar-link-color:var(--scalar-color-1);--scalar-link-color-hover:var(--scalar-link-color);--scalar-button-1:#fff;--scalar-button-1-hover:#ffffffe6;--scalar-button-1-color:black;--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}}.dark-mode{--scalar-tooltip-color:#fffffff2;--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}}.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}@supports (color:color(display-p3 1 1 1)){.light-mode{--scalar-color-accent:color(display-p3 0 .6 1);--scalar-color-green:color(display-p3 .023529 .564706 .380392);--scalar-color-red:color(display-p3 .937255 0 .023529);--scalar-color-yellow:color(display-p3 .929412 .745098 .12549);--scalar-color-blue:color(display-p3 0 .509804 .815686);--scalar-color-orange:color(display-p3 1 .4 .02);--scalar-color-purple:color(display-p3 .321569 .011765 .819608)}.dark-mode{--scalar-color-accent:color(display-p3 .07 .67 1);--scalar-color-green:color(display-p3 0 .713725 .282353);--scalar-color-red:color(display-p3 .862745 .105882 .098039);--scalar-color-yellow:color(display-p3 1 .788235 .05098);--scalar-color-blue:color(display-p3 .305882 .701961 .92549);--scalar-color-orange:color(display-p3 1 .552941 .301961);--scalar-color-purple:color(display-p3 .694118 .568627 .976471)}}:root,:host{--leading-snug:1.375;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer scalar-theme;.scalar-app .text-wrap{text-wrap:wrap}@media(hover:hover){.scalar-app .hover\\:bg-b-3:hover{background-color:var(--scalar-background-3)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:color-mix(in srgb,var(--scalar-tooltip-color),var(--scalar-tooltip-background))}}}.scalar-app .markdown summary:before{content:"";width:var(--markdown-spacing-md);height:var(--markdown-spacing-md);background-color:var(--scalar-color-3);flex-shrink:0;margin-top:5px;display:block;-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-note .markdown-alert-icon:before,.scalar-app .markdown .markdown-alert.markdown-alert-tip .markdown-alert-icon:before{color:var(--scalar-color-blue);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-important .markdown-alert-icon:before,.scalar-app .markdown .markdown-alert.markdown-alert-warning .markdown-alert-icon:before{-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-caution .markdown-alert-icon:before{color:var(--scalar-color-red);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-success .markdown-alert-icon:before{color:var(--scalar-color-green);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.authenticationProvided[data-v-e3416cd5]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.authenticationRequired[data-v-d15ef40b]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.askForAuthentication[data-v-169d0bc0]{display:flex;flex-direction:column;width:100%;position:relative;border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);margin-bottom:12px;box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1),0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1);padding:0}.authContent[data-v-169d0bc0]{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;transition:grid-template-rows .2s ease-out;max-width:520px;margin:auto;width:100%}.authContentInner[data-v-169d0bc0]>div{margin:36px 0 48px}.authContent[data-v-169d0bc0] .markdown{margin-bottom:0!important}.askForAuthentication.open .authContent[data-v-169d0bc0]{grid-template-rows:1fr}.continueButton[data-v-169d0bc0]{align-self:flex-end}.toggleButton[data-v-169d0bc0]{background:none;border:none;cursor:pointer;text-align:left;position:relative;display:flex;align-items:center;color:var(--scalar-color-3);justify-content:space-between;border-radius:var(--scalar-radius-lg)}.authContentInner[data-v-169d0bc0]{min-height:0;overflow:hidden}.authorizeButton[data-v-169d0bc0]{background:var(--scalar-color-blue)!important;color:#fff!important;margin:0!important;z-index:1;display:flex;gap:5px}.autosendPaused[data-v-d08225db]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.requestApproved[data-v-bb311586]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-green);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.requestFailed[data-v-bc27e533]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.requestFailedIcon[data-v-bc27e533]{box-shadow:inset 0 0 0 1.5px currentColor;padding:4px;width:16px;height:16px;border-radius:50%}.requestRejected[data-v-9803a54c]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-red);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.requestSuccess[data-v-acc2c0d8]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-1);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.light-mode .bg-preview[data-v-92f84612]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23000\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}.dark-mode .bg-preview[data-v-92f84612]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23FFF\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}.playIcon[data-v-65dc6dfb]{padding:4px;height:16px;width:16px;z-index:1;display:flex;align-items:center;justify-content:center;position:relative;background:var(--scalar-background-1);border-radius:50%}.playIcon[data-v-65dc6dfb]:before{content:"";width:16px;height:16px;display:inline-block;box-sizing:border-box;position:absolute;border-width:1.75px;border-style:solid;border-color:currentcolor currentcolor transparent;border-image:initial;border-radius:50%;background:var(--scalar-background-1);animation:.42s linear 0s infinite normal none running rotation-65dc6dfb}.sendingRequest[data-v-65dc6dfb]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-blue);font-weight:var(--scalar-semibold);min-height:40px;font-size:var(--scalar-font-size-3);position:relative}.sendingRequest svg[data-v-65dc6dfb]{width:100%;height:100%;z-index:1;border-radius:50%}@keyframes rotation-65dc6dfb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.requestHeaderContainer[data-v-f4245586]{display:flex;align-items:center;justify-content:space-between;padding:0 5px}.requestPreview[data-v-f4245586]{border-radius:12px;display:flex;flex-direction:column;width:100%;position:relative}.requestContent[data-v-f4245586]{display:grid;grid-template-rows:0fr;min-height:0;overflow:hidden;transition:grid-template-rows .2s ease-out}.requestPreview.open .requestContent[data-v-f4245586]{grid-template-rows:1fr}.requestPreview.succeeded[data-v-f4245586]{padding:0}.requestContentInner[data-v-f4245586]{min-height:0;overflow:hidden}.code[data-v-f4245586]{display:flex;flex-direction:column;font-size:var(--scalar-font-size-4);border-radius:12px;background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1));overflow:hidden;margin-bottom:12px}.dark-mode .code[data-v-f4245586]{background:var(--scalar-background-2)}.code h1[data-v-f4245586]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);padding:8px}.code[data-v-f4245586] .codeBlock{max-height:calc(50vh - 100px);padding-top:0}.autosendContainer[data-v-f4245586]{display:flex;justify-content:space-between}.sendButton[data-v-f4245586]{background:var(--scalar-color-blue);color:#fff;font-weight:var(--scalar-semibold);padding:5px 10px}.sendButton[data-v-f4245586]:hover,.sendButton[data-v-f4245586]:active{background:color-mix(in srgb,var(--scalar-color-blue),black 10%);color:#fff!important}.toggleButton[data-v-f4245586]{background:none;border:none;cursor:pointer;text-align:left;position:relative;display:flex;align-items:center;color:var(--scalar-color-3);justify-content:space-between;border-radius:var(--scalar-radius-lg)}.toggleButton[data-v-f4245586]:hover{text-decoration:underline}.executeRequestTool[data-v-49d28052]{display:flex;flex-direction:column;gap:10px;border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);margin-bottom:12px;box-shadow:0 var(--scalar-border-width) 0 var(--scalar-background-1),0 calc(-1 * var(--scalar-border-width)) 0 var(--scalar-background-1)}.tool[data-v-49d28052]{border:var(--scalar-border-width) solid var(--scalar-border-color);padding:15px;border-radius:15px;margin-bottom:20px}.contextItem[data-v-b6e5aa96]{font-size:10px;display:inline-block;color:var(--scalar-color-2);cursor:pointer;vertical-align:middle;border-radius:12px;padding:5px 10px;display:flex;align-items:center;background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}.shimmer[data-v-b6e5aa96]{background:var(--scalar-background-2);background-image:linear-gradient(90deg,#202020 0%,var(--scalar-background-2) 40%,var(--scalar-background-3) 80%);background-size:200% 100%;animation:shimmer-b6e5aa96 1.4s ease-in-out infinite}.light-mode .shimmer[data-v-b6e5aa96]{background:var(--scalar-background-2);background-image:linear-gradient(90deg,#fafafa 0%,var(--scalar-background-2) 40%,var(--scalar-background-3) 80%);background-size:200% 100%;animation:shimmer-b6e5aa96 1.4s ease-in-out infinite}@keyframes shimmer-b6e5aa96{0%{background-position:200% 0}to{background-position:-200% 0}}.playIcon[data-v-653c66b3]{padding:4px;height:16px;width:16px;z-index:1;display:flex;align-items:center;justify-content:center;position:relative;background:var(--scalar-background-1);border-radius:50%}.playIcon[data-v-653c66b3]:before{content:"";width:16px;height:16px;display:inline-block;box-sizing:border-box;position:absolute;border-width:1.5px;border-style:solid;border-color:currentcolor currentcolor transparent;border-image:initial;border-radius:50%;background:var(--scalar-background-1);animation:.42s linear 0s infinite normal none running rotation-653c66b3}.sendingRequest[data-v-653c66b3]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);margin-bottom:10px}.sendingRequest svg[data-v-653c66b3]{width:100%;height:100%;z-index:1;border-radius:50%}@keyframes rotation-653c66b3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.operations[data-v-ecee6203]{display:flex;gap:5px;align-items:center;margin-bottom:12px}.operations[data-v-ecee6203]:empty{margin-bottom:-12px}.playIcon[data-v-9d9724d2]{padding:4px;height:16px;width:16px;z-index:1;display:flex;align-items:center;justify-content:center;position:relative;background:var(--scalar-background-1);border-radius:50%}.playIcon[data-v-9d9724d2]:before{content:"";width:16px;height:16px;display:inline-block;box-sizing:border-box;position:absolute;border-width:1.5px;border-style:solid;border-color:currentcolor currentcolor transparent;border-image:initial;border-radius:50%;background:var(--scalar-background-1);animation:.42s linear 0s infinite normal none running rotation-9d9724d2}.loadingApiSpecs[data-v-9d9724d2]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);margin-bottom:10px}.loadingApiSpecs svg[data-v-9d9724d2]{width:100%;height:100%;z-index:1;border-radius:50%}@keyframes rotation-9d9724d2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.catalogModal .scalar-modal-body{display:flex;flex-direction:column}.searchInput[data-v-bc24f891]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);margin-bottom:10px}.catalog[data-v-bc24f891]{display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow-y:scroll;font-size:var(--scalar-font-size-3)}.item[data-v-bc24f891]{display:flex;padding:15px;gap:10px;align-items:center;background-color:var(--scalar-background-2);border-radius:var(--scalar-radius-lg);transition:background-color .16s ease}.item[data-v-bc24f891]:hover{background-color:color-mix(in srgb,var(--scalar-background-3),transparent 40%)!important}.left[data-v-bc24f891]{align-items:center}.right[data-v-bc24f891]{display:flex;flex-direction:column}.logo[data-v-bc24f891]{width:25px}.item-top[data-v-bc24f891]{display:flex;gap:10px}.version[data-v-bc24f891]{background:var(--scalar-background-3);padding:2px 5px;border-radius:var(--scalar-radius);font-size:var(--scalar-font-size-5);color:var(--scalar-color-3)}.description[data-v-bc24f891]{color:var(--scalar-color-2)}.dropdown-item[data-v-2d142bb5]{display:flex;align-items:center;gap:10px}.approvalSection[data-v-a7e6c699]{width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;transform:translate3d(0,calc(-100% + 16px),0)}.approvalText[data-v-a7e6c699]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.approveContainer[data-v-a7e6c699]{display:flex;gap:5px}.actionButton[data-v-a7e6c699]{display:flex;align-items:center;font-weight:var(--scalar-semibold);border-radius:50px;padding:6px 12px;font-size:var(--scalar-font-size-3)}.rejectButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-a7e6c699]:hover,.rejectButton[data-v-a7e6c699]:active{background:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-a7e6c699]{color:#fff;background:var(--scalar-color-blue)}.approveButton[data-v-a7e6c699]:hover,.approveButton[data-v-a7e6c699]:active{background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 10%);color:#fff!important}.error[data-v-63a481da]{display:flex;align-items:center;margin-bottom:-16px;padding:8px 8px 24px 12px;border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;background:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1) 95%);font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3);position:absolute;top:0;transform:translate3d(0,calc(-100% + 16px),0)}.freeMessagesInfoSection[data-v-593b8dcb]{width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;position:relative;background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between}.infoText[data-v-593b8dcb]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.actionsContainer[data-v-593b8dcb]{display:flex;align-items:center;gap:8px}.actionButton[data-v-593b8dcb]{display:flex;align-items:center;font-weight:var(--scalar-semibold);border-radius:50px;padding:6px 12px}.upgradeButton[data-v-593b8dcb]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.upgradeButton[data-v-593b8dcb]:hover,.upgradeButton[data-v-593b8dcb]:active{background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 10%);color:#fff!important}.closeButton[data-v-593b8dcb]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;color:var(--scalar-color-2);background:transparent;border:none;cursor:pointer}.closeButton[data-v-593b8dcb]:hover{background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 80%);color:var(--scalar-color-1)}.paymentSection[data-v-59a0be07]{width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;position:relative;background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;transform:translate3d(0,calc(-100% + 16px),0)}.approvalText[data-v-59a0be07]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.paymentContainer[data-v-59a0be07]{display:flex;gap:5px}.actionButton[data-v-59a0be07]{display:flex;align-items:center;font-weight:var(--scalar-semibold);border-radius:50px;padding:6px 12px}.rejectButton[data-v-59a0be07]{color:#fff;background:var(--scalar-color-red)}.rejectButton[data-v-59a0be07]:hover,.rejectButton[data-v-59a0be07]:active{background:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1) 10%);color:#fff!important}.approveButton[data-v-59a0be07]{color:#fff;font-size:var(--scalar-font-size-3);background:var(--scalar-color-blue)}.approveButton[data-v-59a0be07]:hover,.approveButton[data-v-59a0be07]:active{background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 10%);color:#fff!important}.paymentInfo[data-v-59a0be07]{width:300px;position:absolute;right:0;bottom:70px;box-shadow:var(--scalar-shadow-2);background:var(--scalar-background-1);border-radius:16px;pointer-events:none;padding:12px;transform:translate3d(0,-5px,0);opacity:0;transition:all .2s ease-in-out}.paymentInfo h3[data-v-59a0be07]{font-size:var(--scalar-font-size-1);font-weight:var(--scalar-bold);margin-bottom:18px}.paymentInfo h3 span[data-v-59a0be07]{font-size:var(--scalar-font-size-2)}.dark-mode .paymentInfo[data-v-59a0be07]{background:var(--scalar-background-2)}.paymentContainer:hover .paymentInfo[data-v-59a0be07]{transform:translateZ(0);opacity:1}.paymentInfoItem[data-v-59a0be07]{display:flex;justify-content:space-between;margin-top:8px;font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);font-weight:var(--scalar-semibold)}.paymentInfoSection[data-v-59a0be07]:not(:last-child){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);padding-bottom:8px}.searchItem[data-v-7945f74c]{display:flex;align-items:center;gap:9px;padding:8px 10px;font-size:var(--scalar-font-size-3)}.searchInput[data-v-7945f74c]{margin-bottom:5px}.searchItem[data-v-7945f74c]:hover{background:var(--scalar-background-2)}.searchItemLogo[data-v-7945f74c]{width:15px}.searchIcon[data-v-7945f74c]{margin-right:7px}.searchResultsEmpty[data-v-7945f74c]{font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);margin:10px}.uploadSection[data-v-f9d3a579]{width:100%;margin-bottom:-16px;padding:8px 8px 24px 12px;position:relative;background:color-mix(in srgb,var(--scalar-color-blue),var(--scalar-background-1) 95%);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;transform:translate3d(0,calc(-100% + 16px),0)}.uploadSection.error[data-v-f9d3a579]{background:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1) 95%)}.uploadSection.done[data-v-f9d3a579]{background:color-mix(in srgb,var(--scalar-color-green),var(--scalar-background-1) 95%)}.uploadText[data-v-f9d3a579]{font-weight:var(--scalar-semibold);font-size:var(--scalar-font-size-3)}.icon[data-v-f9d3a579]{height:20px;width:20px}.actionContainer[data-v-3899441c]{background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1));border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:16px;width:100%;position:relative;box-shadow:0 24px 0 2px var(--scalar-background-1)}.promptForm[data-v-3899441c]{width:100%;position:relative;display:flex;flex-direction:column;background:var(--scalar-background-1);box-shadow:var(--scalar-shadow-1),0 0 0 var(--scalar-border-width) var(--scalar-border-color);border-radius:16px}.inputActionsContainer[data-v-3899441c]{display:flex;justify-content:space-between;padding:0 8px 8px}.inputActionsLeft[data-v-3899441c]{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.inputActionsRight[data-v-3899441c]{display:flex;gap:5px;position:relative}.apiPill[data-v-3899441c]{font-size:var(--scalar-font-size-3);border:var(--scalar-border-width) solid var(--scalar-border-color);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);height:28px;align-items:center;display:flex;border-radius:16px;padding:0 8px;pointer-events:all;z-index:1;gap:4px;-webkit-user-select:none;user-select:none}.apiPillLogo[data-v-3899441c]{width:15px}.apiPillRemove[data-v-3899441c]{width:24px;height:24px;margin-right:-6px;border-radius:50%;display:flex;align-items:center;justify-content:center}.apiPill:hover .apiPillRemove[data-v-3899441c]{background:var(--scalar-background-2)}.dark-mode .apiPill:hover .apiPillRemove[data-v-3899441c]{background:var(--scalar-background-3)}.apiPillRemove[data-v-3899441c]:hover{color:var(--scalar-color-1)}.prompt[data-v-3899441c]{width:100%;outline:none;border:none;resize:none;field-sizing:content;min-height:64px;z-index:1;max-height:250px;max-width:100%;overflow-y:auto;scrollbar-width:thin;word-wrap:break-word;font-family:var(--scalar-font);font-size:16px;padding:12px 12px 14px}.dark-mode .promptForm[data-v-3899441c]{background:var(--scalar-background-2)}.prompt[data-v-3899441c]:disabled{color:var(--scalar-color-3)}.addAPIButton[data-v-3899441c]{justify-content:center;color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);height:28px;width:28px;font-weight:var(--scalar-bold);border-radius:100%;display:flex;align-items:center;gap:4px;pointer-events:all;z-index:1;box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color)}.addAPIButton[data-v-3899441c]:hover{background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1));box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color)}.dark-mode .addAPIButton[data-v-3899441c]:hover{background:var(--scalar-background-3)}.settingsButton[data-v-3899441c]{color:var(--scalar-color-3)!important;border-radius:50%!important;margin:0!important;z-index:1}.settingsButton[aria-disabled=true][data-v-3899441c]{background:var(--scalar-background-2)}.dark-mode .settingsButton[data-v-3899441c]:hover{background:var(--scalar-background-3)}.sendButton[data-v-3899441c]{background:var(--scalar-color-blue)!important;border-radius:50%!important;margin:0!important;z-index:1;border:var(--scalar-border-width) solid var(--scalar-color-blue)}.sendButton[data-v-3899441c]:not([aria-disabled=true]){color:#fff!important}.sendButton[data-v-3899441c]:not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--scalar-color-blue),transparent 10%)!important}.sendButton[aria-disabled=true][data-v-3899441c]{background:var(--scalar-background-2)!important;color:var(--scalar-color-3)!important;border:var(--scalar-border-width) solid var(--scalar-border-color)}.dark-mode .sendButton[aria-disabled=true][data-v-3899441c]{background:var(--scalar-background-3)!important}.contextContainer[data-v-3899441c]{display:flex;width:100%;padding:10px 12px 12px;color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);-webkit-user-select:none;user-select:none;justify-content:space-between}.settingsButton[data-v-3899441c]{font-weight:var(--scalar-semibold);border-radius:var(--scalar-radius-lg);padding:4px 6px;margin:-4px -6px}.settingsButton[data-v-3899441c]:hover{background:var(--scalar-background-2);box-shadow:0 0 var(--scalar-border-width) 0 var(--scalar-border-color);cursor:pointer}.agentLabel[data-v-3899441c]{font-size:0px;position:absolute;width:100%;height:100%;cursor:text}.sendCheckboxContinue[data-v-3899441c]:has(input){display:flex;align-items:center;border-radius:14px;background:var(--scalar-background-2);box-shadow:0 0 0 1.5px var(--scalar-background-2);color:var(--scalar-color-2);font-size:var(--scalar-font-size-3);font-weight:var(--scalar-semibold);-webkit-user-select:none;user-select:none;height:28px}.dark-mode .sendCheckboxContinue[data-v-3899441c]:has(input){background:var(--scalar-background-3);box-shadow:0 0 0 1.5px var(--scalar-background-3)}.addMoreContext[data-v-3899441c]{height:40px;display:flex;position:relative;font-size:var(--scalar-font-size-3);color:var(--scalar-color-3);padding:0 8px 0 12px;align-items:center}.addMoreContext[data-v-3899441c]:before{content:"";width:8px;height:8px;background:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2));transform:rotate(45deg);left:18px;top:-3px;position:absolute;box-shadow:-.5px -.5px 0 var(--scalar-border-color),inset .5px .5px 1px var(--scalar-border-color)}.dark-mode .addMoreContext[data-v-3899441c]:before{box-shadow:-.5px -.5px 0 var(--scalar-border-color)}.addAPIContext[data-v-3899441c]{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:var(--scalar-border-width) solid var(--scalar-border-color)}.termsAgree[data-v-3899441c]{display:flex;cursor:pointer;height:inherit;align-items:center;border-radius:14px;gap:5px;margin:0 5px}.termsAgree[data-v-3899441c]:hover{color:var(--scalar-color-1)}.termsAgree:hover .termsAgreeIcon[data-v-3899441c]{background:var(--scalar-color-1);color:var(--scalar-background-1)}.termsAgreeIcon[data-v-3899441c]{width:inherit;height:inherit;padding:2px;border-radius:50%;background:var(--scalar-background-2)}.chat[data-v-41e50a16]{flex:1;display:flex;flex-direction:column;width:100%;padding:24px 0;max-width:744px}.userMessage[data-v-41e50a16]{padding-top:6px;padding-bottom:6px;padding-inline:16px;border-radius:18px;background:var(--scalar-background-2);width:fit-content;max-width:80%;margin-left:auto;font-size:16px;line-height:24px;color:var(--scalar-color-1);margin-bottom:12px}div+.userMessage[data-v-41e50a16]{margin-top:64px}.chat[data-v-41e50a16]>div:has(.executeRequestTool)+div:has(.executeRequestTool){margin-top:-12px}.spacer[data-v-41e50a16]{min-height:280px;width:100%}.formContainer[data-v-41e50a16]{position:sticky;bottom:20px;width:100%;max-width:744px;z-index:1}.chat[data-v-41e50a16] .markdown{margin-bottom:12px}.agentLogo[data-v-1fbb0eb5]{margin-bottom:15px}.startContainer[data-v-1fbb0eb5]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;max-width:720px;position:relative}.heading[data-v-1fbb0eb5]{font-size:1.5rem;font-weight:var(--scalar-font-bold);margin-bottom:50px}.suggestionsContainer[data-v-1fbb0eb5]{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0}.disclaimerText[data-v-1fbb0eb5]{text-align:center;color:var(--scalar-color-3);font-size:var(--scalar-font-size-3);text-wrap:balance;line-height:1.44;margin-top:40px}.disclaimerLink[data-v-1fbb0eb5]{text-decoration:underline}.wrapper[data-v-f1eee0af]{display:flex;flex-direction:column;align-items:center;height:100%;width:100%}.docSettings[data-v-2dfa823a]{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;font-size:var(--scalar-font-size-3);max-height:600px}.documentName[data-v-2dfa823a]{font-weight:var(--scalar-semibold)}.settingsModal .scalar-modal-layout{z-index:10!important}.settingsModal .scalar-modal-body{overflow-y:scroll;overflow-x:hidden}.documentList[data-v-745651bc]{display:flex;flex-direction:column;font-size:var(--scalar-font-size-3);margin-bottom:12px}.document[data-v-745651bc]{display:flex;flex-direction:column;width:calc(100% + 24px);left:-12px;position:relative;padding:0 12px;border-top:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.document[data-v-745651bc]:first-of-type:not(:last-of-type){border-bottom:none}.documentName[data-v-745651bc]{gap:4px;display:flex;align-items:center;font-weight:var(--scalar-semibold);color:var(--scalar-color-2);padding:12px 0}.documentNameActive[data-v-745651bc]{color:var(--scalar-color-1)}.settingsHeading[data-v-745651bc]{font-size:19px;margin-bottom:12px;display:flex;gap:5px;align-items:center;font-weight:var(--scalar-semibold)}.proxyUrlContainer[data-v-745651bc]{font-size:var(--scalar-font-size-3);display:flex;gap:5px;flex-direction:column}.proxyUrlContainer label[data-v-745651bc]{font-weight:var(--scalar-semibold)}.noDocuments[data-v-745651bc]{color:var(--scalar-color-2);margin-bottom:10px}.agent-scalar[data-v-b45a83b1]{position:fixed;top:0;left:0;width:calc(100% - 50px);height:100dvh;background:var(--scalar-background-1);border-right:var(--scalar-border-width) solid var(--scalar-border-color);transform:translate3d(calc(-100% + var(--scalar-sidebar-width, 288px)),0,0);z-index:2;animation:.35s forwards scalaragentslidein-b45a83b1;box-shadow:var(--scalar-shadow-2)}.agent-scalar-container[data-v-b45a83b1]{width:calc(100% - var(--scalar-sidebar-width, 288px));height:100%;margin-left:auto;overflow:auto;padding:0 24px}.scalar-app-exit[data-v-b45a83b1]{cursor:pointer;z-index:2;width:100vw;height:100vh;transition:all .3s ease-in-out;position:fixed;top:0;left:0}@media(max-width:1000px){.agent-scalar-container[data-v-b45a83b1]{width:100%}.agent-scalar[data-v-b45a83b1]{width:100%;height:calc(100dvh - 50px);bottom:0;top:initial;border-radius:var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;z-index:12}.scalar-app-exit[data-v-b45a83b1]{z-index:11}}.scalar-app-exit-animation[data-v-b45a83b1]:before{content:"";position:absolute;width:100%;height:100%;background:#00000038;animation:.5s forwards scalardrawerexitfadein-b45a83b1;animation-timing-function:cubic-bezier(.77,0,.175,1)}.dark-mode .scalar .scalar-app-exit-animation[data-v-b45a83b1]:before{background:#00000073}@keyframes scalaragentslidein-b45a83b1{0%{transform:translate3d(calc(-100% + var(--scalar-sidebar-width, 288px)),0,0)}to{transform:translateZ(0)}}@keyframes scalardrawerexitfadein-b45a83b1{0%{opacity:0}to{opacity:1}}.app-exit-button[data-v-b45a83b1]{color:#fff;background:#0000001a}.app-exit-button[data-v-b45a83b1]:hover{background:#ffffff1a}.references-classic-header[data-v-9198d025]{display:flex;align-items:center;gap:12px;max-width:var(--refs-content-max-width);margin:auto;padding:12px 0}.references-classic-header-content[data-v-9198d025]{display:flex;gap:12px;flex-grow:1}.references-classic-header-container[data-v-9198d025]{padding:0 60px}@container narrow-references-container (max-width: 900px){.references-classic-header[data-v-9198d025]{padding:12px 24px}.references-classic-header-container[data-v-9198d025]{padding:0}}.references-classic-header-icon[data-v-9198d025]{height:24px;color:var(--scalar-color-1)}.client-libraries-content[data-v-6a49c111]{container:client-libraries-content / inline-size;display:flex;justify-content:center;overflow:hidden;padding:0 12px;background-color:var(--scalar-background-1);border-left:var(--scalar-border-width) solid var(--scalar-border-color);border-right:var(--scalar-border-width) solid var(--scalar-border-color)}.client-libraries[data-v-6a49c111]{display:flex;align-items:center;justify-content:center;width:100%;position:relative;cursor:pointer;white-space:nowrap;padding:8px 2px;gap:6px;color:var(--scalar-color-3);border-bottom:1px solid transparent;-webkit-user-select:none;user-select:none}.client-libraries[data-v-6a49c111]:not(.client-libraries__active):hover:before{content:"";position:absolute;width:calc(100% - 4px);height:calc(100% - 4px);background:var(--scalar-background-2);left:2px;top:2px;z-index:0;border-radius:var(--scalar-radius)}.client-libraries[data-v-6a49c111]:active{color:var(--scalar-color-1)}.client-libraries[data-v-6a49c111]:focus-visible{outline:none;box-shadow:inset 0 0 0 1px var(--scalar-color-accent)}@media screen and (max-width:450px){.client-libraries[data-v-6a49c111]:nth-of-type(4),.client-libraries[data-v-6a49c111]:nth-of-type(5){display:none}}.client-libraries-icon[data-v-6a49c111]{max-width:14px;max-height:14px;min-width:14px;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;color:currentColor}.client-libraries-icon__more svg[data-v-6a49c111]{height:initial}@container client-libraries-content (width < 400px){.client-libraries__select[data-v-6a49c111]{width:fit-content}.client-libraries__select .client-libraries-icon__more+span[data-v-6a49c111]{display:none}}@container client-libraries-content (width < 380px){.client-libraries[data-v-6a49c111]{width:100%}.client-libraries span[data-v-6a49c111]{display:none}}.client-libraries__active[data-v-6a49c111]{color:var(--scalar-color-1);border-bottom:1px solid var(--scalar-color-1)}@keyframes codeloader-6a49c111{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.client-libraries .client-libraries-text[data-v-6a49c111]{font-size:var(--scalar-small);position:relative;display:flex;align-items:center}.client-libraries__active .client-libraries-text[data-v-6a49c111]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold)}@media screen and (max-width:600px){.references-classic .client-libraries[data-v-6a49c111]{flex-direction:column}}.selected-client[data-v-dd2e9b07]{color:var(--scalar-color-1);font-size:var(--scalar-small);font-family:var(--scalar-font-code);padding:9px 12px;border-top:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--scalar-background-1);border:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom-left-radius:var(--scalar-radius-xl);border-bottom-right-radius:var(--scalar-radius-xl);min-height:fit-content}.client-libraries-heading[data-v-dd2e9b07]{font-size:var(--scalar-small);font-weight:var(--scalar-font-medium);color:var(--scalar-color-1);padding:9px 12px;background-color:var(--scalar-background-2);display:flex;align-items:center;max-height:32px;border:var(--scalar-border-width) solid var(--scalar-border-color);border-top-left-radius:var(--scalar-radius-xl);border-top-right-radius:var(--scalar-radius-xl)}[data-v-dd2e9b07] .scalar-codeblock-pre .hljs{margin-top:8px}.badge[data-v-3dedb7e4]{color:var(--badge-text-color, var(--scalar-color-2));font-size:var(--scalar-mini);background:var(--badge-background-color, var(--scalar-background-2));border:var(--scalar-border-width) solid var(--badge-border-color, var(--scalar-border-color));padding:2px 6px;border-radius:12px;display:inline-block}.badge.text-orange[data-v-3dedb7e4]{background:color-mix(in srgb,var(--scalar-color-orange),transparent 90%);border:transparent}.badge.text-yellow[data-v-3dedb7e4]{background:color-mix(in srgb,var(--scalar-color-yellow),transparent 90%);border:transparent}.badge.text-red[data-v-3dedb7e4]{background:color-mix(in srgb,var(--scalar-color-red),transparent 90%);border:transparent}.badge.text-purple[data-v-3dedb7e4]{background:color-mix(in srgb,var(--scalar-color-purple),transparent 90%);border:transparent}.badge.text-green[data-v-3dedb7e4]{background:color-mix(in srgb,var(--scalar-color-green),transparent 90%);border:transparent}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-59b5011b],[data-v-59b5011b]:before,[data-v-59b5011b]:after,[data-v-59b5011b]::backdrop{--tw-outline-style:solid}}}.download-container[data-v-59b5011b]{z-index:1;flex-direction:column;gap:16px;width:fit-content;margin:0 .5px 8px;display:flex;position:relative}.download-container[data-v-59b5011b]:has(:focus-visible):before,.download-container.download-both[data-v-59b5011b]:hover:before{content:"";border-radius:var(--scalar-radius-lg);width:calc(100% + 24px);height:90px;box-shadow:var(--scalar-shadow-2);pointer-events:none;background:var(--scalar-background-1);position:absolute;top:-11px;left:-12px}.download-button[data-v-59b5011b]{color:var(--scalar-link-color);cursor:pointer;outline:none;justify-content:center;align-items:center;gap:4px;height:fit-content;padding:0;display:flex;position:relative;white-space:nowrap!important}.download-button[data-v-59b5011b]:before{border-radius:var(--scalar-radius);content:"";width:calc(100% + 18px);height:calc(100% + 16px);position:absolute;top:-8px;left:-9px}.download-button[data-v-59b5011b]:last-of-type:before{width:calc(100% + 15px)}.download-button[data-v-59b5011b]:hover:before{background:var(--scalar-background-2);border:var(--scalar-border-width)solid var(--scalar-border-color)}.download-button[data-v-59b5011b]:focus-visible:before{background:var(--scalar-background-2);border:var(--scalar-border-width)solid var(--scalar-border-color);outline-style:var(--tw-outline-style);outline-width:1px}.download-button span[data-v-59b5011b]{--font-color:var(--scalar-link-color,var(--scalar-color-accent));--font-visited:var(--scalar-link-color-visited,var(--scalar-color-2));-webkit-text-decoration:var(--scalar-text-decoration);text-decoration:var(--scalar-text-decoration);color:var(--font-color);font-weight:var(--scalar-link-font-weight,var(--scalar-semibold));text-underline-offset:.25rem;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.download-button span[data-v-59b5011b]{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent);text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}.download-button span[data-v-59b5011b]{z-index:1;align-items:center;gap:6px;line-height:1.625;display:flex}.download-button:hover span[data-v-59b5011b]{-webkit-text-decoration-color:var(--scalar-color-1,currentColor);text-decoration-color:var(--scalar-color-1,currentColor);color:var(--scalar-link-color-hover,var(--scalar-color-accent));-webkit-text-decoration:var(--scalar-text-decoration-hover);text-decoration:var(--scalar-text-decoration-hover)}.download-button[data-v-59b5011b]:nth-of-type(2){clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.download-container:has(:focus-visible) .download-button[data-v-59b5011b]:nth-of-type(2),.download-container:hover .download-button[data-v-59b5011b]:nth-of-type(2){clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:absolute;top:42px;overflow:visible}.extension[data-v-59b5011b]{z-index:1;background:var(--scalar-link-color,var(--scalar-color-accent));color:var(--scalar-background-1)}.download-container:has(:focus-visible) .extension[data-v-59b5011b],.download-container:hover .extension[data-v-59b5011b]{opacity:1}.download-link[data-v-59b5011b]{--font-color:var(--scalar-link-color,var(--scalar-color-accent));--font-visited:var(--scalar-link-color-visited,var(--scalar-color-2));-webkit-text-decoration:var(--scalar-text-decoration);text-decoration:var(--scalar-text-decoration);color:var(--font-color);font-weight:var(--scalar-link-font-weight,var(--scalar-semibold));text-underline-offset:.25rem;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.download-link[data-v-59b5011b]{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent);text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}.download-link[data-v-59b5011b]:hover{--font-color:var(--scalar-link-color,var(--scalar-color-accent));-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}.introduction-card[data-v-5764c94a]{display:flex;flex-direction:column;gap:12px}.introduction-card-row[data-v-5764c94a]{gap:24px}@media(min-width:600px){.introduction-card-row[data-v-5764c94a]{flex-flow:row wrap}}.introduction-card-row[data-v-5764c94a]>*{flex:1}@media(min-width:600px){.introduction-card-row[data-v-5764c94a]>*{min-width:min-content}}@media(max-width:600px){.introduction-card-row[data-v-5764c94a]>*{max-width:100%}}@container (max-width: 900px){.introduction-card-row[data-v-5764c94a]{flex-direction:column;align-items:stretch;gap:0px}}.introduction-card[data-v-5764c94a] .security-scheme-label{text-transform:uppercase;font-weight:var(--scalar-semibold)}.introduction-card-row[data-v-5764c94a] .scalar-card:nth-of-type(2) .scalar-card-header{display:none}.introduction-card-row[data-v-5764c94a] .scalar-card:nth-of-type(2) .scalar-card-header.scalar-card--borderless+.scalar-card-content{margin-top:0}.section[data-v-be4443e9]{position:relative;display:flex;flex-direction:column;max-width:var(--refs-content-max-width);margin:auto;padding:90px 0;scroll-margin-top:var(--refs-viewport-offset)}.section[data-v-be4443e9]:has(~div.contents){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.references-classic .section[data-v-be4443e9]{padding:48px 0;gap:24px}@container narrow-references-container (max-width: 900px){.references-classic .section[data-v-be4443e9],.section[data-v-be4443e9]{padding:48px 24px}}.section[data-v-be4443e9]:not(:last-of-type){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.section-wrapper[data-v-ff689b94]{color:var(--scalar-color-1);padding-top:12px;margin-top:-12px}.section-accordion[data-v-ff689b94]{display:flex;flex-direction:column;border-radius:var(--scalar-radius-lg);background:var(--scalar-background-2);scroll-margin-top:var(--refs-viewport-offset)}.section-accordion-transparent[data-v-ff689b94]{background:transparent;border:var(--scalar-border-width) solid var(--scalar-border-color)}.section-accordion-button[data-v-ff689b94]{padding:6px}.section-accordion-button[data-v-ff689b94]{display:flex;align-items:center;gap:6px;cursor:pointer}.section-accordion-button-content[data-v-ff689b94]{flex:1;min-width:0}.section-accordion-button-actions[data-v-ff689b94]{display:flex;align-items:center;gap:6px;color:var(--scalar-color-3)}.section-accordion-chevron[data-v-ff689b94]{margin-right:4px;cursor:pointer;opacity:1;color:var(--scalar-color-3)}.section-accordion-button:hover .section-accordion-chevron[data-v-ff689b94]{color:var(--scalar-color-1)}.section-accordion-content[data-v-ff689b94]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);display:flex;flex-direction:column}.section-accordion-description[data-v-ff689b94]{font-weight:var(--scalar-semibold);font-size:var(--scalar-mini);color:var(--scalar-color--1);padding:10px 12px 0}.section-accordion-content-card[data-v-ff689b94] .property:last-of-type{padding-bottom:9px}.section-column[data-v-699c28e3]{flex:1;min-width:0}@container narrow-references-container (max-width: 900px){.section-column[data-v-699c28e3]:nth-of-type(2){padding-top:0}}.section-columns[data-v-8b9602bf]{display:flex;gap:48px}@container narrow-references-container (max-width: 900px){.section-columns[data-v-8b9602bf]{flex-direction:column;gap:24px}}.section-container[data-v-20a1472a]{position:relative;padding:0 60px;width:100%;border-top:var(--scalar-border-width) solid var(--scalar-border-color)}.section-container[data-v-20a1472a]:has(.introduction-section){border-top:none}@container narrow-references-container (max-width: 900px){.section-container[data-v-20a1472a]{padding:0}}.section-accordion-wrapper[data-v-9419dd23]{padding:0 60px}.section-accordion[data-v-9419dd23]{position:relative;width:100%;max-width:var(--refs-content-max-width);margin:auto}.section-accordion-content[data-v-9419dd23]{display:flex;flex-direction:column;gap:12px;padding-top:12px}.section-accordion-button[data-v-9419dd23]{width:100%;display:flex;cursor:pointer;padding:6px 0;margin:-6px 0;border-radius:var(--scalar-radius)}.section-accordion-chevron[data-v-9419dd23]{position:absolute;left:-22px;top:12px;color:var(--scalar-color-3)}.section-accordion-button:hover .section-accordion-chevron[data-v-9419dd23]{color:var(--scalar-color-1)}.section-accordion-title[data-v-9419dd23]{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:0 6px}.section-accordion-title[data-v-9419dd23] .section-header-wrapper{grid-template-columns:1fr}.section-accordion-title[data-v-9419dd23] .section-header{margin-bottom:0}@container narrow-references-container (max-width: 900px){.section-accordion-chevron[data-v-9419dd23]{width:16px;left:-16px;top:14px}.section-accordion-wrapper[data-v-9419dd23]{padding:calc(var(--refs-viewport-offset)) 24px 0 24px}}.loading[data-v-8e0226d7]{background:var(--scalar-background-3);animation:loading-skeleton-8e0226d7 1.5s infinite alternate;border-radius:var(--scalar-radius-lg);min-height:1.6em;margin:.6em 0;max-width:100%}.loading[data-v-8e0226d7]:first-of-type{min-height:3em;margin-bottom:24px;margin-top:0}.loading[data-v-8e0226d7]:last-of-type{width:60%}.loading.single-line[data-v-8e0226d7]{min-height:3em;margin:.6em 0;max-width:80%}@keyframes loading-skeleton-8e0226d7{0%{opacity:1}to{opacity:.33}}@container narrow-references-container (max-width: 900px){.section-content--with-columns[data-v-9735459e]{flex-direction:column;gap:24px}}.section-header-wrapper[data-v-465a7a78]{grid-template-columns:1fr;display:grid}@media(min-width:1200px){.section-header-wrapper[data-v-465a7a78]{grid-template-columns:repeat(2,1fr)}}.section-header[data-v-465a7a78]{font-size:var(--font-size,var(--scalar-heading-1));font-weight:var(--font-weight,var(--scalar-bold));color:var(--scalar-color-1);word-wrap:break-word;margin-top:0;margin-bottom:12px;line-height:1.45}.section-header.tight[data-v-465a7a78]{margin-bottom:6px}.section-header.loading[data-v-465a7a78]{width:80%}.section-header-label[data-v-f1ac6c38]{display:inline}.screenreader-only[data-v-df2e1026]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.collapsible-section[data-v-999a158a]{border-top:var(--scalar-border-width) solid var(--scalar-border-color);position:relative}.collapsible-section-header[data-v-999a158a]{color:var(--scalar-color-1)}.collapsible-section .collapsible-section-trigger[data-v-999a158a]{display:flex;align-items:center;cursor:pointer;padding:10px 0;font-size:var(--scalar-font-size-3);z-index:1;position:relative}.collapsible-section-trigger svg[data-v-999a158a]{color:var(--scalar-color-3);position:absolute;left:-19px}.collapsible-section:hover .collapsible-section-trigger svg[data-v-999a158a]{color:var(--scalar-color-1)}.collapsible-section .collapsible-section-trigger[data-v-999a158a] .anchor-copy{line-height:18.5px}.collapsible-section-content[data-v-999a158a]{padding:0;margin:0 0 10px;scroll-margin-top:140px}.references-classic .introduction-description[data-v-fe80002d] img{max-width:720px}.icons-only[data-v-b59b0acf] span{display:none}.sticky-cards[data-v-0b1e2255]{display:flex;flex-direction:column;position:sticky;top:calc(var(--refs-viewport-offset) + 24px)}.introduction-card-item[data-v-dfab866f]{display:flex;flex-direction:column;justify-content:flex-start}.introduction-card-item[data-v-dfab866f]:empty{display:none}.introduction-card-item[data-v-dfab866f]:has(.description) .server-form-container{border-bottom-left-radius:0;border-bottom-right-radius:0}.introduction-card-item[data-v-dfab866f] .request-item{border-bottom:0}.schema-type-icon[data-v-70cb5c13]{color:var(--scalar-color-1);display:none}.schema-type[data-v-70cb5c13]{font-family:var(--scalar-font-code);color:var(--scalar-color-1)}.property-enum-value[data-v-f4b54bdd]{color:var(--scalar-color-3);line-height:1.5;overflow-wrap:break-word;display:flex;align-items:stretch;position:relative;--decorator-width: 1px;--decorator-color: color-mix( in srgb, var(--scalar-background-1), var(--scalar-color-1) 25% )}.property-enum-value-content[data-v-f4b54bdd]{display:flex;flex-direction:column;padding:3px 0}.property-enum-value-label[data-v-f4b54bdd]{font-family:var(--scalar-font-code);color:var(--scalar-color-1);font-size:var(--scalar-font-size-4);position:relative}.property-enum-value:last-of-type .property-enum-value-label[data-v-f4b54bdd]{padding-bottom:0}.property-enum-value[data-v-f4b54bdd]:before{content:"";margin-right:12px;width:var(--decorator-width);display:block;background-color:var(--decorator-color)}.property-enum-value[data-v-f4b54bdd]:last-of-type:before,.property-enum-values:has(.enum-toggle-button) .property-enum-value[data-v-f4b54bdd]:nth-last-child(2):before{height:calc(.5lh + 4px)}.property-enum-value-label[data-v-f4b54bdd]:after{content:"";position:absolute;top:.5lh;left:-12px;width:8px;height:var(--decorator-width);background-color:var(--decorator-color)}.property-enum-value[data-v-f4b54bdd]:last-of-type:after{bottom:0;height:50%;background:var(--scalar-background-1);border-top:var(--scalar-border-width) solid var(--decorator-color)}.property-enum-value-description[data-v-f4b54bdd]{color:var(--scalar-color-3)}.property-heading:empty+.property-description[data-v-d5367294]:last-of-type,.property-description[data-v-d5367294]:first-of-type:last-of-type{margin-top:0}.property-list[data-v-d5367294]{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius);margin-top:10px}.property-list .property[data-v-d5367294]:last-of-type{padding-bottom:10px}.property-enum-values[data-v-d5367294]{font-size:var(--scalar-font-size-3);list-style:none;margin-top:8px;padding-left:2px}.enum-toggle-button[data-v-d5367294]:hover{color:var(--scalar-color-1)}.property-detail[data-v-1295f965]{display:inline-flex}.property-detail+.property-detail[data-v-1295f965]:before{display:block;content:"·";margin:0 .5ch}.property-detail-truncate[data-v-1295f965]{overflow:hidden}.property-detail-truncate>.property-detail-value[data-v-1295f965]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-detail-prefix[data-v-1295f965]{color:var(--scalar-color-2)}code.property-detail-value[data-v-1295f965]{font-family:var(--scalar-font-code);font-size:var(--scalar-font-size-3);color:var(--scalar-color-2);background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1));padding:0 4px;border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius)}.property-example[data-v-72def0ea]{display:flex;flex-direction:column;font-size:var(--scalar-mini);position:relative}.property-example[data-v-72def0ea]:hover:before{content:"";position:absolute;top:0;left:0;width:100%;height:20px;border-radius:var(--scalar-radius)}.property-example:hover .property-example-label span[data-v-72def0ea]{color:var(--scalar-color-1)}.property-example-label span[data-v-72def0ea]{color:var(--scalar-color-3);position:relative;border-bottom:var(--scalar-border-width) dotted currentColor}.property-example-value[data-v-72def0ea]{font-family:var(--scalar-font-code);display:flex;gap:8px;align-items:center;width:100%;padding:6px}.property-example-value span[data-v-72def0ea]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-example-value[data-v-72def0ea] svg{color:var(--scalar-color-3)}.property-example-value[data-v-72def0ea]:hover svg{color:var(--scalar-color-1)}.property-example-value[data-v-72def0ea]{background:var(--scalar-background-2);border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius)}.property-example-value-list[data-v-72def0ea]{position:absolute;top:18px;left:50%;transform:translate3d(-50%,0,0);overflow:auto;background-color:var(--scalar-background-1);box-shadow:var(--scalar-shadow-1);border-radius:var(--scalar-radius-lg);border:var(--scalar-border-width) solid var(--scalar-border-color);padding:9px;min-width:200px;max-width:300px;flex-direction:column;gap:3px;display:none;z-index:2}.property-example:hover .property-example-value-list[data-v-72def0ea],.property-example:focus-within .property-example-value-list[data-v-72def0ea]{display:flex}.property-heading[data-v-f1f4255a]{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:9px;white-space:nowrap}.property-heading[data-v-f1f4255a]:has(+.children),.property-heading[data-v-f1f4255a]:has(+.property-rule){margin-bottom:9px}.property-heading[data-v-f1f4255a]>*{margin-right:9px}.property-heading[data-v-f1f4255a]:last-child{margin-right:0}.property-heading>.property-detail[data-v-f1f4255a]:not(:last-of-type){margin-right:0}.property-name[data-v-f1f4255a]{max-width:100%;font-family:var(--scalar-font-code);font-weight:var(--scalar-bold);font-size:var(--scalar-font-size-4);white-space:normal;overflow-wrap:break-word}.property-additional[data-v-f1f4255a]{font-family:var(--scalar-font-code)}.property-required[data-v-f1f4255a],.property-optional[data-v-f1f4255a]{color:var(--scalar-color-2)}.property-required[data-v-f1f4255a]{font-size:var(--scalar-mini);color:var(--scalar-color-orange)}.property-read-only[data-v-f1f4255a]{font-size:var(--scalar-mini);color:var(--scalar-color-blue)}.property-write-only[data-v-f1f4255a]{font-size:var(--scalar-mini);color:var(--scalar-color-green)}.property-discriminator[data-v-f1f4255a]{font-size:var(--scalar-mini);color:var(--scalar-color-purple)}.property-detail[data-v-f1f4255a]{font-size:var(--scalar-mini);color:var(--scalar-color-2);display:flex;align-items:center;min-width:0}.property-const[data-v-f1f4255a]{color:var(--scalar-color-1)}.deprecated[data-v-f1f4255a]{text-decoration:line-through}.property[data-v-84242873]{color:var(--scalar-color-1);display:flex;flex-direction:column;padding:10px;font-size:var(--scalar-small);position:relative}.property.property--level-0[data-v-84242873]:has(>.property-rule>.schema-card>.schema-properties.schema-properties-open>ul>li.property){padding-top:0}.property--compact.property--level-0[data-v-84242873],.property--compact.property--level-1[data-v-84242873]{padding:10px 0}.composition-panel .property.property.property.property--level-0[data-v-84242873]{padding:0}.property--compact.property--level-0 .composition-panel .property--compact.property--level-1[data-v-84242873]{padding:8px}.property[data-v-84242873]:has(>.property-rule:nth-of-type(1)):not(.property--compact){padding-top:8px;padding-bottom:8px}.property--deprecated[data-v-84242873]{background:repeating-linear-gradient(-45deg,var(--scalar-background-2) 0,var(--scalar-background-2) 2px,transparent 2px,transparent 5px);background-size:100%}.property--deprecated[data-v-84242873]>*{opacity:.75}.property-description[data-v-84242873]{margin-top:6px;line-height:1.4;font-size:var(--scalar-small)}.property-description[data-v-84242873]:has(+.property-rule){margin-bottom:9px}[data-v-84242873] .property-description *{color:var(--scalar-color-2)!important}.property[data-v-84242873]:not(:last-of-type){border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.property-description+.children[data-v-84242873],.children+.property-rule[data-v-84242873]{margin-top:9px}.children[data-v-84242873]{display:flex;flex-direction:column}.children .property--compact.property--level-1[data-v-84242873]{padding:12px}.property-example-value[data-v-84242873]{all:unset;font-family:var(--scalar-font-code);padding:6px;border-top:var(--scalar-border-width) solid var(--scalar-border-color)}.property-rule[data-v-84242873]{border-radius:var(--scalar-radius-lg);display:flex;flex-direction:column}.property-rule[data-v-84242873] .composition-panel .schema-card--level-1>.schema-properties.schema-properties-open{border-radius:0 0 var(--scalar-radius-lg) var(--scalar-radius-lg)}.property-rule[data-v-84242873] .composition-panel>.schema-card>.schema-card-description{padding:10px;border-left:var(--scalar-border-width) solid var(--scalar-border-color);border-right:var(--scalar-border-width) solid var(--scalar-border-color)}.property-rule[data-v-84242873] .composition-panel>.schema-card>.schema-card-description+.schema-properties{margin-top:0}.property-example[data-v-84242873]{background:transparent;border:none;display:flex;flex-direction:row;gap:8px}.property-example-label[data-v-84242873],.property-example-value[data-v-84242873]{padding:3px 0 0}.property-example-value[data-v-84242873]{background:var(--scalar-background-2);border-top:0;border-radius:var(--scalar-radius);padding:3px 4px}.property-name[data-v-84242873]{font-family:var(--scalar-font-code);font-weight:var(--scalar-semibold)}.property-name-additional-properties[data-v-84242873]:before,.property-name-pattern-properties[data-v-84242873]:before{text-transform:uppercase;font-size:var(--scalar-micro);display:inline-block;padding:2px 4px;border-radius:var(--scalar-radius);color:var(--scalar-color-1);border:var(--scalar-border-width) solid var(--scalar-border-color);background-color:var(--scalar-background-2);margin-right:4px}.property-name-pattern-properties[data-v-84242873]:before{content:"regex"}.property-name-additional-properties[data-v-84242873]:before{content:"unknown property name"}.error[data-v-d9bd8110]{background-color:var(--scalar-color-red)}.schema-card[data-v-d9bd8110]{font-size:var(--scalar-font-size-4);color:var(--scalar-color-1)}.schema-card-title[data-v-d9bd8110]{height:var(--schema-title-height);padding:6px 8px;display:flex;align-items:center;gap:4px;color:var(--scalar-color-2);font-weight:var(--scalar-semibold);font-size:var(--scalar-mini);border-bottom:var(--scalar-border-width) solid transparent}button.schema-card-title[data-v-d9bd8110]{cursor:pointer}button.schema-card-title[data-v-d9bd8110]:hover{color:var(--scalar-color-1)}.schema-card-title-icon--open[data-v-d9bd8110]{transform:rotate(45deg)}.schema-properties-open>.schema-card-title[data-v-d9bd8110]{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.schema-properties-open>.schema-properties[data-v-d9bd8110]{width:fit-content}.schema-card-description[data-v-d9bd8110]{color:var(--scalar-color-2)}.schema-card-description+.schema-properties[data-v-d9bd8110]{width:fit-content}.schema-card-description+.schema-properties[data-v-d9bd8110]{margin-top:8px}.schema-card--level-0:nth-of-type(1)>.schema-card-description[data-v-d9bd8110]:has(+.schema-properties){margin-bottom:-8px;padding-bottom:8px;border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.schema-card--level-0~.schema-card--level-0>.schema-card-description[data-v-d9bd8110]:has(+.schema-properties){padding-top:8px}.schema-properties-open.schema-properties[data-v-d9bd8110],.schema-properties-open>.schema-card--open[data-v-d9bd8110]{width:100%}.schema-properties[data-v-d9bd8110]{display:flex;flex-direction:column;border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);width:fit-content}.schema-properties-name[data-v-d9bd8110]{width:100%}.schema-properties .schema-properties[data-v-d9bd8110]{border-radius:13.5px}.schema-properties .schema-properties.schema-properties-open[data-v-d9bd8110]{border-radius:var(--scalar-radius-lg)}.schema-properties-open[data-v-d9bd8110]{width:100%}.schema-card--compact[data-v-d9bd8110]{align-self:flex-start}.schema-card--compact.schema-card--open[data-v-d9bd8110]{align-self:initial}.schema-card-title--compact[data-v-d9bd8110]{color:var(--scalar-color-2);padding:6px 10px 6px 8px;height:auto;border-bottom:none}.schema-card-title--compact>.schema-card-title-icon[data-v-d9bd8110]{margin:0}.schema-card-title--compact>.schema-card-title-icon--open[data-v-d9bd8110]{transform:rotate(45deg)}.schema-properties-open>.schema-card-title--compact[data-v-d9bd8110]{position:static}.property--level-0>.schema-properties>.schema-card--level-0>.schema-properties[data-v-d9bd8110]{border:none}.property--level-0 .schema-card--level-0:not(.schema-card--compact) .property--level-1[data-v-d9bd8110]{padding:0 0 8px}:not(.composition-panel)>.schema-card--compact.schema-card--level-0>.schema-properties[data-v-d9bd8110]{border:none}[data-v-d9bd8110] .schema-card-description p{font-size:var(--scalar-small, var(--scalar-paragraph));color:var(--scalar-color-2);line-height:1.5;display:block;margin-bottom:6px}.children .schema-card-description[data-v-d9bd8110]:first-of-type{padding-top:0}.reference-models-anchor[data-v-e4ca3c0f]{display:flex;align-items:center;font-size:20px;padding-left:6px;color:var(--scalar-color-1)}.reference-models-label[data-v-e4ca3c0f]{display:block;font-size:var(--scalar-mini)}.reference-models-label[data-v-e4ca3c0f] em{font-weight:var(--scalar-bold)}.show-more[data-v-d1c2b649]{appearance:none;border:none;border:var(--scalar-border-width) solid var(--scalar-border-color);margin:auto;padding:8px 12px 8px 16px;border-radius:30px;color:var(--scalar-color-1);font-weight:var(--scalar-semibold);font-size:var(--scalar-small);display:flex;align-items:center;justify-content:center;position:relative;gap:6px;top:-48px}.show-more[data-v-d1c2b649]:hover{background:var(--scalar-background-2);cursor:pointer}.show-more[data-v-d1c2b649]:active{box-shadow:0 0 0 1px var(--scalar-border-color)}@container narrow-references-container (max-width: 900px){.show-more[data-v-d1c2b649]{top:-24px}}.tag-section[data-v-1124be5d]{margin-bottom:48px}.tag-name[data-v-1124be5d]{text-transform:capitalize}.tag-description[data-v-1124be5d]{padding-bottom:4px;text-align:left}.endpoint[data-v-ad8530a6]{display:flex;white-space:nowrap;cursor:pointer;text-decoration:none}.endpoint:hover .endpoint-path[data-v-ad8530a6],.endpoint:focus-visible .endpoint-path[data-v-ad8530a6]{text-decoration:underline}.endpoint .post[data-v-ad8530a6],.endpoint .get[data-v-ad8530a6],.endpoint .delete[data-v-ad8530a6],.endpoint .put[data-v-ad8530a6]{white-space:nowrap}.endpoint-method[data-v-ad8530a6],.endpoint-path[data-v-ad8530a6]{color:var(--scalar-color-1);min-width:62px;display:inline-flex;line-height:1.55;font-family:var(--scalar-font-code);font-size:var(--scalar-small);cursor:pointer}.endpoint-method[data-v-ad8530a6]{text-align:right}.endpoint-path[data-v-ad8530a6]{margin-left:12px;text-transform:initial}.deprecated[data-v-ad8530a6]{text-decoration:line-through}.endpoints-card[data-v-f726f753]{position:sticky;top:calc(var(--refs-viewport-offset) + 24px);font-size:var(--scalar-font-size-3)}.endpoints[data-v-f726f753]{overflow:auto;background:var(--scalar-background-2);padding:10px 12px;width:100%}.section-container[data-v-0d42fbc8]{border-top:var(--scalar-border-width) solid var(--scalar-border-color)}.section-container[data-v-0d42fbc8]:has(.show-more){background-color:color-mix(in srgb,var(--scalar-background-2),transparent)}.operation-path[data-v-ec6c8861]{overflow:hidden;word-wrap:break-word;font-weight:var(--scalar-semibold);line-break:anywhere}.deprecated[data-v-ec6c8861]{text-decoration:line-through}.empty-state[data-v-431974da]{margin:10px 0 10px 12px;text-align:center;font-size:var(--scalar-mini);min-height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--scalar-radius-lg);color:var(--scalar-color-2)}.rule-title[data-v-431974da]{font-family:var(--scalar-font-code);color:var(--scalar-color-1);display:inline-block;margin:12px 0 6px;border-radius:var(--scalar-radius)}.rule[data-v-431974da]{margin:0 12px;border-radius:var(--scalar-radius-lg)}.rule-items[data-v-431974da]{counter-reset:list-number;display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--scalar-border-color);padding:12px 0}.rule-item[data-v-431974da]{counter-increment:list-number;border:1px solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);overflow:hidden;margin-left:24px}.rule-item[data-v-431974da]:before{border:1px solid var(--scalar-border-color);border-top:0;border-right:0;content:" ";display:block;width:24px;height:6px;border-radius:0 0 0 var(--scalar-radius-lg);margin-top:6px;color:var(--scalar-color-2);transform:translate(-25px);color:var(--scalar-color-1);position:absolute}.tab[data-v-804dba49]{background:none;border:none;font-size:var(--scalar-small);font-family:var(--scalar-font);font-weight:var(--scalar-font-normal);color:var(--scalar-color-2);line-height:calc(var(--scalar-small) + 2px);white-space:nowrap;cursor:pointer;padding:0;margin-right:3px;text-transform:uppercase;position:relative;line-height:22px}.tab[data-v-804dba49]:before{content:"";position:absolute;z-index:0;left:-6px;top:-2px;width:calc(100% + 12px);height:calc(100% + 4px);border-radius:var(--scalar-radius);background:var(--scalar-background-3);opacity:0}.tab[data-v-804dba49]:hover:before,.tab[data-v-804dba49]:focus-visible:before{opacity:1}.tab[data-v-804dba49]:focus-visible:before{outline:1px solid var(--scalar-color-accent)}.tab span[data-v-804dba49]{z-index:1;position:relative}.tab-selected[data-v-804dba49]{color:var(--scalar-color-1);font-weight:var(--scalar-semibold)}.tab-selected[data-v-804dba49]:after{content:"";position:absolute;background:currentColor;width:100%;left:0;height:1px;bottom:calc(var(--tab-list-padding-y) * -1)}.tab-list[data-v-fec8fbbb]{display:flex;gap:6px;position:relative;flex:1;--tab-list-padding-y: 7px;--tab-list-padding-x: 12px;padding:var(--tab-list-padding-y) var(--tab-list-padding-x);overflow:auto}.scalar-card-header.scalar-card-header-tabs[data-v-fec8fbbb]{padding:0}.response-card[data-v-4f7e7d02]{font-size:var(--scalar-font-size-3)}.markdown[data-v-4f7e7d02] *{margin:0}.code-copy[data-v-4f7e7d02]{display:flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none;outline:none;background:transparent;cursor:pointer;color:var(--scalar-color-3);border:none;padding:0;margin-right:12px}.code-copy[data-v-4f7e7d02]:hover{color:var(--scalar-color-1)}.code-copy svg[data-v-4f7e7d02]{width:13px;height:13px}.response-card-footer[data-v-4f7e7d02]{display:flex;flex-direction:row;justify-content:space-between;flex-shrink:0;padding:7px 12px;gap:8px}.response-example-selector[data-v-4f7e7d02]{align-self:flex-start;margin:-4px}.response-description[data-v-4f7e7d02]{font-weight:var(--scalar-semibold);font-size:var(--scalar-small);color:var(--scalar-color--1);display:flex;align-items:center;box-sizing:border-box}.schema-type[data-v-4f7e7d02]{font-size:var(--scalar-micro);color:var(--scalar-color-2);font-weight:var(--scalar-semibold);background:var(--scalar-background-3);padding:2px 4px;border-radius:4px;margin-right:4px}.schema-example[data-v-4f7e7d02]{font-size:var(--scalar-micro);color:var(--scalar-color-2);font-weight:var(--scalar-semibold)}.example-response-tab[data-v-4f7e7d02]{display:block;margin:6px}.scalar-card-checkbox[data-v-4f7e7d02]{display:flex;align-items:center;justify-content:center;position:relative;min-height:17px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--scalar-small);font-weight:var(--scalar-font-normal);color:var(--scalar-color-2);width:fit-content;white-space:nowrap;gap:6px;padding:7px 6px}.scalar-card-checkbox:has(.scalar-card-checkbox-input:focus-visible) .scalar-card-checkbox-checkmark[data-v-4f7e7d02]{outline:1px solid var(--scalar-color-accent)}.scalar-card-checkbox[data-v-4f7e7d02]:hover{color:var(--scalar-color--1)}.scalar-card-checkbox .scalar-card-checkbox-input[data-v-4f7e7d02]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.scalar-card-checkbox-checkmark[data-v-4f7e7d02]{height:16px;width:16px;border-radius:var(--scalar-radius);background-color:transparent;background-color:var(--scalar-background-3);box-shadow:inset 0 0 0 var(--scalar-border-width) var(--scalar-border-color)}.scalar-card-checkbox[data-v-4f7e7d02]:has(.scalar-card-checkbox-input:checked){color:var(--scalar-color-1);font-weight:var(--scalar-semibold)}.scalar-card-checkbox .scalar-card-checkbox-input:checked~.scalar-card-checkbox-checkmark[data-v-4f7e7d02]{background-color:var(--scalar-button-1);box-shadow:none}.scalar-card-checkbox-checkmark[data-v-4f7e7d02]:after{content:"";position:absolute;display:none}.scalar-card-checkbox .scalar-card-checkbox-input:checked~.scalar-card-checkbox-checkmark[data-v-4f7e7d02]:after{display:block}.scalar-card-checkbox .scalar-card-checkbox-checkmark[data-v-4f7e7d02]:after{right:11.5px;top:12.5px;width:5px;height:9px;border:solid 1px var(--scalar-button-1-color);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.headers-card[data-v-ab19704d]{z-index:0;margin-top:12px;margin-bottom:6px;position:relative;font-size:var(--scalar-font-size-4);color:var(--scalar-color-1);align-self:flex-start}.headers-card.headers-card--open[data-v-ab19704d]{align-self:initial}.headers-card-title[data-v-ab19704d]{padding:6px 10px;display:flex;align-items:center;gap:4px;color:var(--scalar-color-3);font-weight:var(--scalar-semibold);font-size:var(--scalar-micro);border-radius:13.5px}button.headers-card-title[data-v-ab19704d]{cursor:pointer}button.headers-card-title[data-v-ab19704d]:hover{color:var(--scalar-color-1)}.headers-card-title-icon--open[data-v-ab19704d]{transform:rotate(45deg)}.headers-properties[data-v-ab19704d]{display:flex;flex-direction:column;border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:13.5px;width:fit-content}.headers-properties-open>.headers-card-title[data-v-ab19704d]{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:var(--scalar-border-width) solid var(--scalar-border-color)}.headers-properties-open[data-v-ab19704d]{border-radius:var(--scalar-radius-lg);width:100%}.headers-card .property[data-v-ab19704d]:last-of-type{padding-bottom:10px}.headers-card-title>.headers-card-title-icon[data-v-ab19704d]{width:14px;height:14px;margin:0}.headers-card-title>.headers-card-title-icon--open[data-v-ab19704d]{transform:rotate(45deg)}.parameter-item[data-v-b97d19d9]{display:flex;flex-direction:column;position:relative;border-top:var(--scalar-border-width) solid var(--scalar-border-color)}.parameter-item:last-of-type .parameter-schema[data-v-b97d19d9]{padding-bottom:0}.parameter-item-container[data-v-b97d19d9]{padding:0}.parameter-item-headers[data-v-b97d19d9]{border:var(--scalar-border-width) solid var(--scalar-border-color)}.parameter-item-name[data-v-b97d19d9]{position:relative;font-weight:var(--scalar-bold);font-size:var(--scalar-font-size-4);font-family:var(--scalar-font-code);color:var(--scalar-color-1);overflow-wrap:break-word}.parameter-item-description[data-v-b97d19d9],.parameter-item-description-summary[data-v-b97d19d9]{font-size:var(--scalar-mini);color:var(--scalar-color-2)}.parameter-item-description-summary.parameter-item-description-summary[data-v-b97d19d9]>*{--markdown-line-height: 1}.parameter-item-trigger+.parameter-item-container[data-v-b97d19d9] .property--level-0>.property-heading .property-detail-value{font-size:var(--scalar-micro)}.parameter-item-required-optional[data-v-b97d19d9]{color:var(--scalar-color-2);font-weight:var(--scalar-semibold);margin-right:6px;position:relative}.parameter-item--required[data-v-b97d19d9]{text-transform:uppercase;font-size:var(--scalar-micro);font-weight:var(--scalar-semibold);color:var(--scalar-color-orange)}.parameter-item-description[data-v-b97d19d9]{margin-top:6px;font-size:var(--scalar-small);color:var(--scalar-color-2);line-height:1.4}.parameter-item-description[data-v-b97d19d9] p{margin-top:4px;font-size:var(--scalar-small);color:var(--scalar-color-2);line-height:1.4}.parameter-schema[data-v-b97d19d9]{padding-bottom:9px;margin-top:3px}.parameter-item-trigger[data-v-b97d19d9]{display:flex;align-items:baseline;line-height:var(--scalar-line-height-5);gap:6px;flex-wrap:wrap;padding:10px 0;outline:none}.parameter-item-trigger-open[data-v-b97d19d9]{padding-bottom:0}.parameter-item-icon[data-v-b97d19d9]{color:var(--scalar-color-3);left:-19px;top:.5lh;translate:0 -50%;position:absolute}.parameter-item-trigger:hover .parameter-item-icon[data-v-b97d19d9],.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-b97d19d9]{color:var(--scalar-color-1)}.parameter-item-trigger:focus-visible .parameter-item-icon[data-v-b97d19d9]{outline:1px solid var(--scalar-color-accent);outline-offset:2px;border-radius:var(--scalar-radius)}.request-body[data-v-17941e59]{margin-top:24px}.request-body-header[data-v-17941e59]{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:var(--scalar-border-width) solid var(--scalar-border-color);flex-flow:wrap}.request-body-title[data-v-17941e59]{display:flex;align-items:center;gap:8px;font-size:var(--scalar-font-size-2);font-weight:var(--scalar-semibold);color:var(--scalar-color-1)}.request-body-required[data-v-17941e59]{font-size:var(--scalar-micro);color:var(--scalar-color-orange);font-weight:400;border-radius:16px;border:var(--scalar-border-width) solid var(--scalar-border-color);padding:2px 8px;height:20px}.request-body-description[data-v-17941e59]{margin-top:6px;font-size:var(--scalar-small);width:100%}.request-body-header+.request-body-schema[data-v-17941e59]:has(>.schema-card>.schema-card-description),.request-body-header+.request-body-schema[data-v-17941e59]:has(>.schema-card>.schema-properties>*>.property--level-0){padding-top:8px}.request-body-description[data-v-17941e59] .markdown *{color:var(--scalar-color-2)!important}.callback-sticky-offset[data-v-b94c2b8b]{top:var(--refs-viewport-offset, 0px);z-index:1}.callback-operation-container[data-v-b94c2b8b] .request-body,.callback-operation-container[data-v-b94c2b8b] .request-body-description,.callback-operation-container[data-v-b94c2b8b] .request-body-header{margin-top:0}.callback-operation-container[data-v-b94c2b8b] .request-body-header{--scalar-font-size-2: var(--scalar-font-size-4);padding:10px;border-bottom:none;border:.5px solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;background:color-mix(in srgb,var(--scalar-background-2) 50%,transparent)}.callback-operation-container[data-v-b94c2b8b] .request-body-schema>.schema-card>.schema-card-description{padding-inline:8px}.callback-operation-container[data-v-b94c2b8b] ul li.property.property--level-1{padding:10px}.callback-operation-container[data-v-b94c2b8b] .request-body-schema{background-color:var(--scalar-background-1);border:var(--scalar-border-width) solid var(--scalar-border-color);border-top:none;overflow:hidden;border-radius:0 0 var(--scalar-radius-lg) var(--scalar-radius-lg)}.callback-operation-container[data-v-b94c2b8b] .parameter-list{margin-top:0}.callback-operation-container[data-v-b94c2b8b] .parameter-list-title{background:color-mix(in srgb,var(--scalar-background-2) 50%,transparent);border-radius:var(--scalar-radius-lg) var(--scalar-radius-lg) 0 0;padding:10px;margin-bottom:0;border:var(--scalar-border-width) solid var(--scalar-border-color);border-bottom:none;--scalar-font-size-2: var(--scalar-font-size-4)}.callback-operation-container[data-v-b94c2b8b] .parameter-list-items{border:var(--scalar-border-width) solid var(--scalar-border-color);border-radius:0 0 var(--scalar-radius-lg) var(--scalar-radius-lg)}.callback-operation-container[data-v-b94c2b8b] .parameter-list-items>li:first-of-type{border-top:none}.callback-operation-container[data-v-b94c2b8b] .parameter-list-items>li{padding:0 8px}.show-api-client-button[data-v-342ba62a]{appearance:none;border:none;padding:1px 6px;white-space:nowrap;border-radius:var(--scalar-radius);display:flex;justify-content:center;align-items:center;font-weight:var(--scalar-semibold);font-size:var(--scalar-small);line-height:22px;color:var(--scalar-background-2);font-family:var(--scalar-font);background:var(--scalar-button-1);position:relative;cursor:pointer;box-sizing:border-box;box-shadow:inset 0 0 0 1px #0000001a;outline-offset:2px}.show-api-client-button span[data-v-342ba62a],.show-api-client-button svg[data-v-342ba62a]{fill:currentColor;color:var(--scalar-button-1-color);z-index:1}.show-api-client-button[data-v-342ba62a]:hover{background:var(--scalar-button-1-hover)}.show-api-client-button svg[data-v-342ba62a]{margin-right:4px}.operation-title[data-v-55addca4]{justify-content:space-between;display:flex}.operation-details[data-v-55addca4]{flex-shrink:1;align-items:center;gap:9px;min-width:0;margin-top:0;display:flex}.operation-details[data-v-55addca4] .endpoint-anchor .scalar-button svg{width:16px;height:16px}.endpoint-type[data-v-55addca4]{z-index:0;width:60px;font-size:var(--scalar-small);text-transform:uppercase;font-weight:var(--scalar-bold);font-family:var(--scalar-font);flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:6px;display:flex;position:relative}.endpoint-type[data-v-55addca4]:after{content:"";z-index:-1;opacity:.15;border-radius:var(--scalar-radius);background:currentColor;position:absolute;inset:0}.endpoint-anchor[data-v-55addca4]{flex-shrink:1;align-items:center;min-width:0;display:flex}.endpoint-anchor.label[data-v-55addca4]{display:flex}.endpoint-label[data-v-55addca4]{min-width:0;color:var(--scalar-color-1);flex-shrink:1;align-items:baseline;gap:9px;display:flex}.endpoint-label-path[data-v-55addca4]{font-family:var(--scalar-font-code);font-size:var(--scalar-mini);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.endpoint-label-path[data-v-55addca4] em{color:var(--scalar-color-2)}.endpoint-label-name[data-v-55addca4]{color:var(--scalar-color-2);font-size:var(--scalar-small);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1000000000;overflow:hidden}.endpoint-try-hint[data-v-55addca4]{flex-shrink:0;padding:2px}.endpoint-copy[data-v-55addca4]{color:currentColor}.endpoint-copy[data-v-55addca4] svg{stroke-width:2px}.endpoint-content[data-v-55addca4]{grid-auto-columns:1fr;grid-auto-flow:row;gap:9px;padding:9px;display:grid}@media(min-width:1000px){.endpoint-content[data-v-55addca4]{grid-auto-flow:column}}@container (max-width:900px){.endpoint-content[data-v-55addca4]{grid-template-columns:1fr}}.endpoint-content[data-v-55addca4]>*{min-width:0}.operation-details-card[data-v-55addca4]{flex-direction:column;gap:12px;min-width:0;display:flex}:is(.operation-details-card-item[data-v-55addca4] .parameter-list,.operation-details-card-item[data-v-55addca4] .callbacks-list){border:var(--scalar-border-width)solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);margin-top:0}.operation-details-card-item[data-v-55addca4]{flex-direction:column;gap:12px;display:flex}.operation-details-card-item[data-v-55addca4] .parameter-list-items{margin-bottom:0}.operation-details-card[data-v-55addca4] .parameter-item:last-of-type .parameter-schema{padding-bottom:12px}.operation-details-card[data-v-55addca4] .parameter-list .parameter-list{margin-bottom:12px}.operation-details-card[data-v-55addca4] .parameter-item{margin:0;padding:0}.operation-details-card[data-v-55addca4] .property{margin:0;padding:9px}:is(.operation-details-card[data-v-55addca4] .parameter-list-title,.operation-details-card[data-v-55addca4] .request-body-title,.operation-details-card[data-v-55addca4] .callbacks-title){text-transform:uppercase;font-weight:var(--scalar-bold);font-size:var(--scalar-mini);color:var(--scalar-color-2);margin:0;padding:9px;line-height:1.33}.operation-details-card[data-v-55addca4] .callback-list-item-title{padding-left:28px;padding-right:12px}.operation-details-card[data-v-55addca4] .callback-list-item-icon{left:6px}.operation-details-card[data-v-55addca4] .callback-operation-container{padding-inline:9px;padding-bottom:9px}:is(.operation-details-card[data-v-55addca4] .callback-operation-container>.request-body,.operation-details-card[data-v-55addca4] .callback-operation-container>.parameter-list){border:none}.operation-details-card[data-v-55addca4] .callback-operation-container>.request-body>.request-body-header{border-bottom:var(--scalar-border-width)solid var(--scalar-border-color);padding:0 0 9px}.operation-details-card[data-v-55addca4] .request-body-description{border-top:var(--scalar-border-width)solid var(--scalar-border-color);margin-top:0;padding:9px 9px 0}.operation-details-card[data-v-55addca4] .request-body{border-radius:var(--scalar-radius-lg);border:var(--scalar-border-width)solid var(--scalar-border-color);margin-top:0}.operation-details-card[data-v-55addca4] .request-body .schema-card--level-0>.schema-card-description{padding-inline:9px}.operation-details-card[data-v-55addca4] .request-body-header{border-bottom:0;padding-bottom:0}.operation-details-card[data-v-55addca4] .contents button{margin-right:9px}.operation-details-card[data-v-55addca4] .schema-card--open+.schema-card:not(.schema-card--open){margin-inline:9px;margin-bottom:9px}.operation-details-card[data-v-55addca4] .request-body-schema .property--level-0{padding:0}.operation-details-card[data-v-55addca4] .selected-content-type{margin-right:9px}.operation-example-card[data-v-55addca4]{top:calc(var(--refs-viewport-offset) + 24px);max-height:calc(var(--refs-viewport-height) - 48px);position:sticky}@media(max-width:600px){.operation-example-card[data-v-55addca4]{max-height:unset;position:static}}.ask-agent-scalar-input[data-v-b5a61e43]{appearance:none;border:none;white-space:nowrap;display:flex;justify-content:center;align-items:center;font-weight:var(--scalar-semibold);font-size:var(--scalar-small);line-height:22px;font-family:var(--scalar-font);position:relative;cursor:pointer;box-sizing:border-box;outline:none;outline-offset:2px;field-sizing:content;max-width:88px}.ask-agent-scalar-input[data-v-b5a61e43]:focus{cursor:text;width:100%!important;max-width:calc(100% - 50px)}.ask-agent-scalar-input[data-v-b5a61e43]:not(:placeholder-shown){width:100%!important;height:100%;field-sizing:border-box;cursor:text;max-width:calc(100% - 50px)}.ask-agent-scalar-input[data-v-b5a61e43]::placeholder{color:var(--scalar-color-1)}.ask-agent-scalar-input[data-v-b5a61e43]:focus::placeholder{color:var(--scalar-color-2)}.agent-button-container[data-v-b5a61e43]{position:relative;color:var(--scalar-color-1);background:color-mix(in srgb,var(--scalar-background-3),white 15%);display:flex;align-items:center;padding:1px 6px;margin-right:4px;border-radius:var(--scalar-radius);gap:4px;z-index:2;height:24px}.agent-button-container[data-v-b5a61e43]:hover:not(:focus-within){background:color-mix(in srgb,var(--scalar-background-3),white 20%)}.agent-button-container[data-v-b5a61e43]:has(.ask-agent-scalar-input:not(:placeholder-shown)),.agent-button-container[data-v-b5a61e43]:focus-within{width:100%;height:100%;position:absolute;left:0;top:0;border-radius:0}.ask-agent-scalar-send[data-v-b5a61e43]{background:var(--scalar-color-blue);color:#fff;width:24px;height:24px;flex-shrink:0;display:flex;justify-content:center;align-items:center;border-radius:var(--scalar-radius);margin-left:auto;display:none}.ask-agent-scalar-send[data-v-b5a61e43]:hover{background:color-mix(in srgb,var(--scalar-color-blue),transparent 10%)!important}.agent-button-container:has(.ask-agent-scalar-input:not(:placeholder-shown)) .ask-agent-scalar-send[data-v-b5a61e43]{display:flex}.examples[data-v-d5291d61]{position:sticky;top:calc(var(--refs-viewport-offset) + 24px)}.examples[data-v-d5291d61]>*{max-height:calc((var(--refs-viewport-height) - 60px) / 2);position:relative}.examples[data-v-d5291d61]>*:first-of-type:last-of-type{max-height:calc((var(--refs-viewport-height) - 60px))}@media(max-width:600px){.examples[data-v-d5291d61]>*{max-height:unset}}.deprecated[data-v-d5291d61] *{text-decoration:line-through}.section-flare[data-v-2a9c8c02]{top:0;right:0;pointer-events:none}.narrow-references-container{container-name:narrow-references-container;container-type:inline-size}.ref-search-meta[data-v-c1c368f9]{background:var(--scalar-background-1);border-bottom-left-radius:var(--scalar-radius-lg);border-bottom-right-radius:var(--scalar-radius-lg);padding:6px 12px;font-size:var(--scalar-font-size-4);color:var(--scalar-color-3);font-weight:var(--scalar-semibold);display:flex;gap:12px;border-top:var(--scalar-border-width) solid var(--scalar-border-color)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-mask-linear:linear-gradient(#fff,#fff);--tw-mask-radial:linear-gradient(#fff,#fff);--tw-mask-conic:linear-gradient(#fff,#fff);--tw-mask-left:linear-gradient(#fff,#fff);--tw-mask-right:linear-gradient(#fff,#fff);--tw-mask-bottom:linear-gradient(#fff,#fff);--tw-mask-top:linear-gradient(#fff,#fff);--tw-mask-top-from-position:0%;--tw-mask-top-to-position:100%;--tw-mask-top-from-color:black;--tw-mask-top-to-color:transparent;--tw-mask-bottom-from-position:0%;--tw-mask-bottom-to-position:100%;--tw-mask-bottom-from-color:black;--tw-mask-bottom-to-color:transparent;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-space-x-reverse:0}}}@layer scalar-base{@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}:root,:host{--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}}.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}}.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}}.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}}.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}}.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}}:root,:host{--leading-snug:1.375;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports (color:color-mix(in lab,red,red)){@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}}.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}}.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}}.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}}.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}}.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}}body{line-height:inherit;margin:0}:root{--scalar-border-width:.5px;--scalar-radius:3px;--scalar-radius-lg:6px;--scalar-radius-xl:8px;--scalar-font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--scalar-font-code:"JetBrains Mono",ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--scalar-heading-1:24px;--scalar-page-description:16px;--scalar-heading-2:20px;--scalar-heading-3:16px;--scalar-heading-4:16px;--scalar-heading-5:16px;--scalar-heading-6:16px;--scalar-paragraph:16px;--scalar-small:14px;--scalar-mini:13px;--scalar-micro:12px;--scalar-bold:600;--scalar-semibold:500;--scalar-regular:400;--scalar-font-size-1:21px;--scalar-font-size-2:16px;--scalar-font-size-3:14px;--scalar-font-size-4:13px;--scalar-font-size-5:12px;--scalar-font-size-6:12px;--scalar-font-size-7:10px;--scalar-line-height-1:32px;--scalar-line-height-2:24px;--scalar-line-height-3:20px;--scalar-line-height-4:18px;--scalar-line-height-5:16px;--scalar-font-normal:400;--scalar-font-medium:500;--scalar-font-bold:700;--scalar-text-decoration:none;--scalar-text-decoration-hover:underline;--scalar-link-font-weight:inherit;--scalar-sidebar-indent:20px}.dark-mode{color-scheme:dark;--scalar-scrollbar-color:#ffffff2e;--scalar-scrollbar-color-active:#ffffff5c;--scalar-button-1:#fff;--scalar-button-1-hover:#ffffffe6;--scalar-button-1-color:black;--scalar-shadow-1:0 1px 3px 0 #0000001a;--scalar-shadow-2:0 0 0 .5px var(--scalar-border-color),#0f0f0f33 0px 3px 6px,#0f0f0f66 0px 9px 24px;--scalar-lifted-brightness:1.45;--scalar-backdrop-brightness:.5;--scalar-text-decoration-color:currentColor;--scalar-text-decoration-color-hover:currentColor}.light-mode{color-scheme:light;--scalar-scrollbar-color-active:#0000005c;--scalar-scrollbar-color:#0000002e;--scalar-button-1:#000;--scalar-button-1-hover:#000c;--scalar-button-1-color:#ffffffe6;--scalar-shadow-1:0 1px 3px 0 #0000001c;--scalar-shadow-2:#00000014 0px 13px 20px 0px,#00000014 0px 3px 8px 0px,#eeeeed 0px 0 0 .5px;--scalar-lifted-brightness:1;--scalar-backdrop-brightness:1;--scalar-text-decoration-color:currentColor;--scalar-text-decoration-color-hover:currentColor}.light-mode .dark-mode{color-scheme:dark!important}@media(max-width:460px){:root{--scalar-font-size-1:22px;--scalar-font-size-2:14px;--scalar-font-size-3:12px}}@media(max-width:720px){:root{--scalar-heading-1:24px;--scalar-page-description:20px}}:root{--scalar-text-decoration:underline;--scalar-text-decoration-hover:underline}.light-mode{--scalar-background-1:#fff;--scalar-background-2:#f6f6f6;--scalar-background-3:#e7e7e7;--scalar-background-accent:#8ab4f81f;--scalar-color-1:#1b1b1b;--scalar-color-2:#757575;--scalar-color-3:#8e8e8e;--scalar-color-accent:#09f;--scalar-border-color:#dfdfdf}.dark-mode{--scalar-background-1:#0f0f0f;--scalar-background-2:#1a1a1a;--scalar-background-3:#272727;--scalar-color-1:#e7e7e7;--scalar-color-2:#a4a4a4;--scalar-color-3:#797979;--scalar-color-accent:#00aeff;--scalar-background-accent:#3ea6ff1f;--scalar-border-color:#2d2d2d}.light-mode,.dark-mode{--scalar-sidebar-background-1:var(--scalar-background-1);--scalar-sidebar-color-1:var(--scalar-color-1);--scalar-sidebar-color-2:var(--scalar-color-2);--scalar-sidebar-border-color:var(--scalar-border-color);--scalar-sidebar-item-hover-background:var(--scalar-background-2);--scalar-sidebar-item-hover-color:var(--scalar-sidebar-color-2);--scalar-sidebar-item-active-background:var(--scalar-background-2);--scalar-sidebar-color-active:var(--scalar-sidebar-color-1);--scalar-sidebar-indent-border:var(--scalar-sidebar-border-color);--scalar-sidebar-indent-border-hover:var(--scalar-sidebar-border-color);--scalar-sidebar-indent-border-active:var(--scalar-sidebar-border-color);--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.light-mode,.dark-mode{--scalar-sidebar-search-background:color-mix(in srgb,var(--scalar-background-2),var(--scalar-background-1))}}}}}.light-mode,.dark-mode{--scalar-sidebar-search-color:var(--scalar-color-3);--scalar-sidebar-search-border-color:var(--scalar-border-color)}.light-mode{--scalar-color-green:#069061;--scalar-color-red:#ef0006;--scalar-color-yellow:#edbe20;--scalar-color-blue:#0082d0;--scalar-color-orange:#ff5800;--scalar-color-purple:#5203d1;--scalar-link-color:var(--scalar-color-1);--scalar-link-color-hover:var(--scalar-link-color);--scalar-button-1:#000;--scalar-button-1-hover:#000c;--scalar-button-1-color:#ffffffe6;--scalar-tooltip-background:#1a1a1ae6;--scalar-tooltip-color:#ffffffd9;--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-color-1)20%)}}}}}.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-color-1)20%)}}}}}.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}}}.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.light-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}}}.dark-mode{--scalar-color-green:#00b648;--scalar-color-red:#dc1b19;--scalar-color-yellow:#ffc90d;--scalar-color-blue:#4eb3ec;--scalar-color-orange:#ff8d4d;--scalar-color-purple:#b191f9;--scalar-link-color:var(--scalar-color-1);--scalar-link-color-hover:var(--scalar-link-color);--scalar-button-1:#fff;--scalar-button-1-hover:#ffffffe6;--scalar-button-1-color:black;--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-tooltip-background:color-mix(in srgb,var(--scalar-background-1),#fff 10%)}}}}}.dark-mode{--scalar-tooltip-color:#fffffff2;--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-color-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)20%)}}}}}.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-alert:color-mix(in srgb,var(--scalar-color-orange),var(--scalar-background-1)95%)}}}}}.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode{--scalar-background-danger:color-mix(in srgb,var(--scalar-color-red),var(--scalar-background-1)95%)}}}}}@supports (color:color(display-p3 1 1 1)){.light-mode{--scalar-color-accent:color(display-p3 0 .6 1);--scalar-color-green:color(display-p3 .023529 .564706 .380392);--scalar-color-red:color(display-p3 .937255 0 .023529);--scalar-color-yellow:color(display-p3 .929412 .745098 .12549);--scalar-color-blue:color(display-p3 0 .509804 .815686);--scalar-color-orange:color(display-p3 1 .4 .02);--scalar-color-purple:color(display-p3 .321569 .011765 .819608)}.dark-mode{--scalar-color-accent:color(display-p3 .07 .67 1);--scalar-color-green:color(display-p3 0 .713725 .282353);--scalar-color-red:color(display-p3 .862745 .105882 .098039);--scalar-color-yellow:color(display-p3 1 .788235 .05098);--scalar-color-blue:color(display-p3 .305882 .701961 .92549);--scalar-color-orange:color(display-p3 1 .552941 .301961);--scalar-color-purple:color(display-p3 .694118 .568627 .976471)}}:root,:host{--leading-snug:1.375;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--leading-normal:1.5}body{background-color:var(--scalar-background-1);margin:0}}@layer scalar-theme;.scalar-app .\\@container{container-type:inline-size}.scalar-app .-top-2{top:-8px}.scalar-app .top-\\(--refs-header-height\\){top:var(--refs-header-height)}.scalar-app .top-\\(--scalar-custom-header-height\\,0\\){top:var(--scalar-custom-header-height,0)}.scalar-app .top-3\\.5{top:14px}.scalar-app .top-\\[calc\\(9px\\+0\\.5lh\\)\\]{top:calc(9px + .5lh)}.scalar-app .-left-4\\.5{left:-18px}.scalar-app .-left-5{left:-20px}.scalar-app .-left-6{left:-24px}.scalar-app .order-789{order:789}.scalar-app .-m-2{margin:-8px}.scalar-app .-mx-2{margin-inline:-8px}.scalar-app .my-2{margin-block:8px}.scalar-app .my-3{margin-block:12px}.scalar-app .-mt-1{margin-top:-4px}.scalar-app .mt-6{margin-top:24px}.scalar-app .mb-3{margin-bottom:12px}.scalar-app .size-4\\.5{width:18px;height:18px}.scalar-app .h-\\(--refs-sidebar-height\\){height:var(--refs-sidebar-height)}.scalar-app .h-\\(--scalar-header-height\\){height:var(--scalar-header-height)}.scalar-app .h-\\[calc\\(100\\%\\+16px\\)\\]{height:calc(100% + 16px)}.scalar-app .max-h-\\[60vh\\]{max-height:60vh}.scalar-app .min-h-3{min-height:12px}.scalar-app .min-h-7{min-height:28px}.scalar-app .min-h-dvh{min-height:100dvh}.scalar-app .w-\\(--refs-sidebar-width\\){width:var(--refs-sidebar-width)}.scalar-app .w-4\\.5{width:18px}.scalar-app .w-96{width:384px}.scalar-app .w-110{width:440px}.scalar-app .w-120{width:480px}.scalar-app .max-w-\\(--refs-content-max-width\\){max-width:var(--refs-content-max-width)}.scalar-app .max-w-64{max-width:256px}.scalar-app .min-w-3{min-width:12px}.scalar-app .min-w-7{min-width:28px}.scalar-app .flex-grow{flex-grow:1}.scalar-app .rotate-45{rotate:45deg}.scalar-app .scroll-mt-16{scroll-margin-top:64px}.scalar-app .scroll-mt-24{scroll-margin-top:96px}.scalar-app .list-none{list-style-type:none}.scalar-app .content-end{align-content:flex-end}.scalar-app .gap-7{gap:28px}.scalar-app .\\!rounded-b-xl{border-bottom-right-radius:var(--scalar-radius-xl)!important;border-bottom-left-radius:var(--scalar-radius-xl)!important}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.scalar-app .bg-linear-to-l{--tw-gradient-position:to left}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .bg-linear-to-l{--tw-gradient-position:to left in oklab}}.scalar-app .bg-linear-to-l{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .from-40\\%{--tw-gradient-from-position:40%}.scalar-app .to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.scalar-app .p-7{padding:28px}.scalar-app .px-15{padding-inline:60px}.scalar-app .py-2\\.25{padding-block:9px}.scalar-app .pt-1\\.5{padding-top:6px}.scalar-app .pb-12{padding-bottom:48px}.scalar-app .leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.scalar-app .leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.scalar-app .text-current{color:currentColor}.scalar-app .\\[--scalar-address-bar-height\\:0px\\]{--scalar-address-bar-height:0px}.scalar-app .\\[grid-area\\:header\\]{grid-area:header}.scalar-app .\\[grid-area\\:navigation\\]{grid-area:navigation}.scalar-app .group-last\\:mr-0:is(:where(.group):last-child *){margin-right:0}.scalar-app .group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.scalar-app .group-open\\:flex-wrap:is(:where(.group):is([open],:popover-open,:open) *){flex-wrap:wrap}.scalar-app .group-open\\:whitespace-normal:is(:where(.group):is([open],:popover-open,:open) *){white-space:normal}.scalar-app .group-focus-within\\/parameter-item\\:opacity-100:is(:where(.group\\/parameter-item):focus-within *){opacity:1}@media(hover:hover){.scalar-app .group-hover\\:flex:is(:where(.group):hover *){display:flex}.scalar-app .group-hover\\:text-c-1:is(:where(.group):hover *){color:var(--scalar-color-1)}.scalar-app .group-hover\\:opacity-100:is(:where(.group):hover *),.scalar-app .group-hover\\/heading\\:opacity-100:is(:where(.group\\/heading):hover *),.scalar-app .group-hover\\/parameter-item\\:opacity-100:is(:where(.group\\/parameter-item):hover *){opacity:1}}.scalar-app .group-has-focus-visible\\/heading\\:opacity-100:is(:where(.group\\/heading):has(:focus-visible) *){opacity:1}:is(.scalar-app .\\*\\:first\\:p-3>*):first-child{padding:12px}.scalar-app .empty\\:hidden:empty{display:none}@media(hover:hover){.scalar-app .hover\\:bg-b-2:hover{background-color:var(--scalar-background-2)}.scalar-app .hover\\:text-c-1:hover{color:var(--scalar-color-1)}.scalar-app .hover\\:text-sidebar-c-1:hover{color:var(--scalar-sidebar-color-1,var(--scalar-color-1))}}.scalar-app .focus-visible\\:opacity-100:focus-visible{opacity:1}@media(min-width:1200px){.scalar-app .xl\\:mb-1\\.5{margin-bottom:6px}.scalar-app .xl\\:gap-12{gap:48px}.scalar-app .xl\\:border-r{border-right-style:var(--tw-border-style);border-right-width:var(--scalar-border-width)}.scalar-app .xl\\:border-none{--tw-border-style:none;border-style:none}.scalar-app .xl\\:first\\:ml-auto:first-child{margin-left:auto}}.scalar-app .\\[\\&_a\\]\\:underline a{text-decoration-line:underline}.scalar-app .\\[\\&_a\\:hover\\]\\:text-c-1 a:hover{color:var(--scalar-color-1)}.scalar-app .\\[\\&_code\\]\\:font-code code{font-family:var(--scalar-font-code)}.scalar-app .\\[\\&_em\\]\\:text-c-1 em{color:var(--scalar-color-1)}.scalar-app .\\[\\&_em\\]\\:not-italic em{font-style:normal}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:color-mix(in srgb,var(--scalar-tooltip-color),var(--scalar-tooltip-background))}}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-mask-linear{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-radial{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-conic{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-left{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-right{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-bottom{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-top{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-top-from-position{syntax:"*";inherits:false;initial-value:0%}@property --tw-mask-top-to-position{syntax:"*";inherits:false;initial-value:100%}@property --tw-mask-top-from-color{syntax:"*";inherits:false;initial-value:black}@property --tw-mask-top-to-color{syntax:"*";inherits:false;initial-value:transparent}@property --tw-mask-bottom-from-position{syntax:"*";inherits:false;initial-value:0%}@property --tw-mask-bottom-to-position{syntax:"*";inherits:false;initial-value:100%}@property --tw-mask-bottom-from-color{syntax:"*";inherits:false;initial-value:black}@property --tw-mask-bottom-to-color{syntax:"*";inherits:false;initial-value:transparent}@property --tw-ease{syntax:"*";inherits:false}@keyframes fade-in-27df5cd8{0%{opacity:0}70%{opacity:0}to{opacity:1}}@keyframes rotate-27df5cd8{0%{transform:scale(3.5)rotate(0)}to{transform:scale(3.5)rotate(360deg)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent);text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert{background-color:color-mix(in srgb,var(--scalar-background-2),transparent)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:color-mix(in srgb,var(--scalar-color-blue),transparent 97%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-blue),transparent 50%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:color-mix(in srgb,var(--scalar-color-2),transparent 97%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-2),transparent 50%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:color-mix(in srgb,var(--scalar-color-orange),transparent 97%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-orange),transparent 50%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:color-mix(in srgb,var(--scalar-color-red),transparent 97%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-red),transparent 50%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:color-mix(in srgb,var(--scalar-color-green),transparent 97%)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-green),transparent 50%)}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes fadein-layout-c36b47da{0%{opacity:0}to{opacity:1}}@keyframes fadein-modal-c36b47da{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0)}}@media(hover:hover){.scalar-app .group-hover\\/button\\:opacity-0:is(:where(.group\\/button):hover *){opacity:0}.scalar-app .peer-hover\\/button\\:opacity-100:is(:where(.peer\\/button):hover~*),.scalar-app .hover\\:opacity-100:hover{opacity:1}}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}}.scalar-app .bg-c-accent{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:color-mix(in srgb,var(--scalar-tooltip-color),var(--scalar-tooltip-background))}}}}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:color-mix(in srgb,var(--scalar-tooltip-color),var(--scalar-tooltip-background))}}}}@media(hover:hover){.scalar-app .group-hover\\:text-c-1:is(:where(.group):hover *){color:var(--scalar-color-1)}.scalar-app .group-hover\\/button\\:bg-sidebar-indent-border-hover:is(:where(.group\\/button):hover *){background-color:var(--scalar-sidebar-indent-border-hover,var(--scalar-border-color))}.scalar-app .group-hover\\/button\\:text-c-1:is(:where(.group\\/button):hover *){color:var(--scalar-color-1)}.scalar-app .hover\\:bg-b-2:hover{background-color:var(--scalar-background-2)}.scalar-app .hover\\:bg-b-3:hover{background-color:var(--scalar-background-3)}.scalar-app .hover\\:bg-h-btn:hover{background-color:var(--scalar-button-1-hover)}.scalar-app .hover\\:bg-sidebar-b-1:hover{background-color:var(--scalar-sidebar-background-1,var(--scalar-background-1))}.scalar-app .hover\\:bg-sidebar-b-hover:hover{background-color:var(--scalar-sidebar-item-hover-background,var(--scalar-background-2))}.scalar-app .hover\\:bg-linear-to-b:hover{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .hover\\:bg-linear-to-b:hover{--tw-gradient-position:to bottom in oklab}}.scalar-app .hover\\:bg-linear-to-b:hover{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .hover\\:bg-linear-to-t:hover{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .hover\\:bg-linear-to-t:hover{--tw-gradient-position:to top in oklab}}.scalar-app .hover\\:bg-linear-to-t:hover{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .hover\\:text-c-1:hover{color:var(--scalar-color-1)}.scalar-app .hover\\:text-sidebar-c-1:hover{color:var(--scalar-sidebar-color-1,var(--scalar-color-1))}.scalar-app .hover\\:text-sidebar-c-hover:hover{color:var(--scalar-sidebar-item-hover-color,var(--scalar-sidebar-color-2))}.scalar-app .hover\\:underline:hover{text-decoration-line:underline}.scalar-app .hover\\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent);text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}.scalar-app .markdown .markdown-alert{background-color:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert{background-color:color-mix(in srgb,var(--scalar-background-2),transparent)}}.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:color-mix(in srgb,var(--scalar-color-blue),transparent 97%)}}.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-blue),transparent 50%)}}.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:color-mix(in srgb,var(--scalar-color-2),transparent 97%)}}.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-2),transparent 50%)}}.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:color-mix(in srgb,var(--scalar-color-orange),transparent 97%)}}.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-orange),transparent 50%)}}.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:color-mix(in srgb,var(--scalar-color-red),transparent 97%)}}.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-red),transparent 50%)}}.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:color-mix(in srgb,var(--scalar-color-green),transparent 97%)}}.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-green),transparent 50%)}}}.scalar-app .right-0\\.75{right:3px}.scalar-app .ml-2{margin-left:8px}.scalar-app .self-start{align-self:flex-start}@media(hover:hover){.scalar-app .group-hover\\/button\\:opacity-0:is(:where(.group\\/button):hover *){opacity:0}}.scalar-app .group-focus-visible\\/button\\:opacity-0:is(:where(.group\\/button):focus-visible *),.scalar-app .group-has-\\[\\~\\*_\\[aria-expanded\\=true\\]\\]\\/button\\:opacity-0:is(:where(.group\\/button):has(~* [aria-expanded=true]) *),.scalar-app .group-has-\\[\\~\\*\\:focus-within\\]\\/button\\:opacity-0:is(:where(.group\\/button):has(~:focus-within) *),.scalar-app .group-has-\\[\\~\\*\\:hover\\]\\/button\\:opacity-0:is(:where(.group\\/button):has(~:hover) *){opacity:0}@media(hover:hover){.scalar-app .peer-hover\\/button\\:opacity-100:is(:where(.peer\\/button):hover~*){opacity:1}}.scalar-app .peer-focus-visible\\/button\\:opacity-100:is(:where(.peer\\/button):focus-visible~*){opacity:1}.scalar-app .after\\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.scalar-app .after\\:absolute:after{content:var(--tw-content);position:absolute}.scalar-app .after\\:inset-0:after{content:var(--tw-content);inset:0}.scalar-app .after\\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.scalar-app .after\\:-top-0\\.5:after{content:var(--tw-content);top:-2px}.scalar-app .after\\:-bottom-0\\.5:after{content:var(--tw-content);bottom:-2px}.scalar-app .after\\:block:after{content:var(--tw-content);display:block}.scalar-app .after\\:h-0\\.75:after{content:var(--tw-content);height:3px}.scalar-app .after\\:rounded:after{content:var(--tw-content);border-radius:var(--scalar-radius)}.scalar-app .after\\:bg-blue:after{content:var(--tw-content);background-color:var(--scalar-color-blue)}.scalar-app .after\\:opacity-15:after{content:var(--tw-content);opacity:.15}.scalar-app .focus-within\\:opacity-100:focus-within{opacity:1}@media(hover:hover){.scalar-app .hover\\:opacity-100:hover{opacity:1}}.scalar-app .has-\\[\\&\\[aria-expanded\\=true\\]\\]\\:opacity-100:has([aria-expanded=true]){opacity:1}:where(.scalar-app){font-family:var(--scalar-font);color:var(--scalar-color-1);-webkit-text-size-adjust:100%;tab-size:4;line-height:1.15}:where(.scalar-app) *,:where(.scalar-app) :before,:where(.scalar-app) :after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--scalar-border-color);outline-width:1px;outline-style:none;outline-color:var(--scalar-color-accent);font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;text-align:inherit;line-height:inherit;color:inherit;margin:unset;padding:unset;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:where(.scalar-app) :before,:where(.scalar-app) :after{--tw-content:""}:where(.scalar-app) button,:where(.scalar-app) input,:where(.scalar-app) optgroup,:where(.scalar-app) select,:where(.scalar-app) textarea{background:0 0}:where(.scalar-app) ::file-selector-button{background:0 0}:where(.scalar-app) ol,:where(.scalar-app) ul,:where(.scalar-app) menu{list-style:none}:where(.scalar-app) input:where(:not([type=button],[type=reset],[type=submit])),:where(.scalar-app) select,:where(.scalar-app) textarea{border-radius:var(--scalar-radius);border-width:1px}:where(.scalar-app) input::placeholder{color:var(--scalar-color-3);font-family:var(--scalar-font)}:where(.scalar-app) input[type=search]::-webkit-search-cancel-button{appearance:none}:where(.scalar-app) input[type=search]::-webkit-search-decoration{appearance:none}:where(.scalar-app) summary::-webkit-details-marker{display:none}:where(.scalar-app) input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}:where(.scalar-app) :focus-visible{border-radius:var(--scalar-radius);outline-style:solid}:where(.scalar-app) button:focus-visible,:where(.scalar-app) [role=button]:focus-visible{outline-offset:-1px}:where(.scalar-app) button,:where(.scalar-app) [role=button]{cursor:pointer}:where(.scalar-app) :disabled{cursor:default}:where(.scalar-app) img,:where(.scalar-app) svg,:where(.scalar-app) video,:where(.scalar-app) canvas,:where(.scalar-app) audio,:where(.scalar-app) iframe,:where(.scalar-app) embed,:where(.scalar-app) object{vertical-align:middle;display:block}:where(.scalar-app) [hidden]{display:none}.scalar-app .cm-scroller,.scalar-app .custom-scroll{scrollbar-color:transparent transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overflow-y:auto}.scalar-app .custom-scroll-self-contain-overflow{overscroll-behavior:contain}.scalar-app .cm-scroller:hover,.scalar-app .custom-scroll:hover,.scalar-app.scalar-scrollbars-obtrusive .cm-scroller,.scalar-app.scalar-scrollbars-obtrusive .custom-scroll{scrollbar-color:var(--scalar-scrollbar-color,transparent)transparent}.scalar-app .cm-scroller:hover::-webkit-scrollbar-thumb{background:var(--scalar-scrollbar-color);background-clip:content-box;border:3px solid #0000}.scalar-app .custom-scroll:hover::-webkit-scrollbar-thumb{background:var(--scalar-scrollbar-color);background-clip:content-box;border:3px solid #0000}.scalar-app .cm-scroller::-webkit-scrollbar-thumb:active{background:var(--scalar-scrollbar-color-active);background-clip:content-box;border:3px solid #0000}.scalar-app .custom-scroll::-webkit-scrollbar-thumb:active{background:var(--scalar-scrollbar-color-active);background-clip:content-box;border:3px solid #0000}.scalar-app .cm-scroller::-webkit-scrollbar-corner{background:0 0}.scalar-app .custom-scroll::-webkit-scrollbar-corner{background:0 0}.scalar-app .cm-scroller::-webkit-scrollbar{width:12px;height:12px}.scalar-app .custom-scroll::-webkit-scrollbar{width:12px;height:12px}.scalar-app .cm-scroller::-webkit-scrollbar-track{background:0 0}.scalar-app .custom-scroll::-webkit-scrollbar-track{background:0 0}.scalar-app .cm-scroller::-webkit-scrollbar-thumb{background:padding-box content-box;border:3px solid #0000;border-radius:20px}.scalar-app .custom-scroll::-webkit-scrollbar-thumb{background:padding-box content-box;border:3px solid #0000;border-radius:20px}@media(pointer:coarse){.scalar-app .cm-scroller,.scalar-app .custom-scroll{padding-right:12px}}.scalar-app .invisible{visibility:hidden}.scalar-app .-inset-y-0\\.5{inset-block:-2px}.scalar-app .-inset-y-0\\.75{inset-block:-3px}.scalar-app .inset-y-0{inset-block:0}.scalar-app .inset-y-0\\.5{inset-block:2px}.scalar-app .-top-1{top:-4px}.scalar-app .top-\\(--nested-items-offset\\){top:var(--nested-items-offset)}.scalar-app .top-0\\.5{top:2px}.scalar-app .top-1\\/2{top:50%}.scalar-app .top-2\\.5{top:10px}.scalar-app .top-22{top:88px}.scalar-app .top-\\[1lh\\]{top:1lh}.scalar-app .top-\\[calc\\(10px\\+0\\.5lh\\)\\]{top:calc(10px + .5lh)}.scalar-app .top-px{top:1px}.scalar-app .-right-1{right:-4px}.scalar-app .-right-1\\.5{right:-6px}.scalar-app .right-1\\.25{right:5px}.scalar-app .right-2\\.5{right:10px}.scalar-app .left-2{left:8px}.scalar-app .left-2\\.5{left:10px}.scalar-app .left-4{left:16px}.scalar-app .left-border{left:var(--scalar-border-width)}.scalar-app .left-px{left:1px}.scalar-app .-z-2{z-index:-2}.scalar-app .z-tooltip{z-index:99999}.scalar-app .-m-1{margin:-4px}.scalar-app .-m-1\\.5{margin:-6px}.scalar-app .-m-px{margin:-1px}.scalar-app .m-1{margin:4px}.scalar-app .-mx-0\\.75{margin-inline:-3px}.scalar-app .-mx-px{margin-inline:-1px}.scalar-app .mx-px{margin-inline:1px}.scalar-app .-my-1\\.5{margin-block:-6px}.scalar-app .-my-2{margin-block:-8px}.scalar-app .my-0\\.75{margin-block:3px}.scalar-app .my-1\\.5{margin-block:6px}.scalar-app .-mt-1\\.5{margin-top:-6px}.scalar-app .mt-0{margin-top:0}.scalar-app .mt-\\[15svh\\]{margin-top:15svh}.scalar-app .mt-\\[20svh\\]{margin-top:20svh}.scalar-app .-mr-0\\.25{margin-right:-1px}.scalar-app .mr-0{margin-right:0}.scalar-app .mr-\\[calc\\(20px-var\\(--scalar-sidebar-indent\\)\\)\\]{margin-right:calc(20px - var(--scalar-sidebar-indent))}.scalar-app .-mb-1{margin-bottom:-4px}.scalar-app .-ml-0\\.75{margin-left:-3px}.scalar-app .line-clamp-\\(--markdown-clamp\\){-webkit-line-clamp:var(--markdown-clamp);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.scalar-app .\\!hidden{display:none!important}.scalar-app .size-2{width:8px;height:8px}.scalar-app .size-2\\.75{width:11px;height:11px}.scalar-app .size-3\\.25{width:13px;height:13px}.scalar-app .size-60{width:240px;height:240px}.scalar-app .size-\\[23px\\]{width:23px;height:23px}.scalar-app .h-0{height:0}.scalar-app .h-1{height:4px}.scalar-app .h-24{height:96px}.scalar-app .h-32{height:128px}.scalar-app .h-\\[1lh\\]{height:1lh}.scalar-app .h-border{height:var(--scalar-border-width)}.scalar-app .max-h-20{max-height:80px}.scalar-app .max-h-\\[80svh\\]{max-height:80svh}.scalar-app .max-h-\\[90svh\\]{max-height:90svh}.scalar-app .max-h-dvh{max-height:100dvh}.scalar-app .max-h-radix-popper{max-height:calc(var(--radix-popper-available-height) - 8px)}.scalar-app .min-h-96{min-height:384px}.scalar-app .min-h-header{min-height:48px}.scalar-app .w-12{width:48px}.scalar-app .w-24{width:96px}.scalar-app .w-32{width:128px}.scalar-app .w-40{width:160px}.scalar-app .w-48{width:192px}.scalar-app .w-\\[38px\\]{width:38px}.scalar-app .w-\\[calc\\(100vw-12px\\)\\]{width:calc(100vw - 12px)}.scalar-app .w-\\[var\\(--scalar-sidebar-indent\\)\\]{width:var(--scalar-sidebar-indent)}.scalar-app .w-border{width:var(--scalar-border-width)}.scalar-app .w-min{width:min-content}.scalar-app .w-screen{width:100vw}.scalar-app .max-w-\\[360px\\]{max-width:360px}.scalar-app .max-w-\\[480px\\]{max-width:480px}.scalar-app .max-w-\\[540px\\]{max-width:540px}.scalar-app .max-w-\\[640px\\]{max-width:640px}.scalar-app .max-w-\\[800px\\]{max-width:800px}.scalar-app .max-w-\\[1000px\\]{max-width:1000px}.scalar-app .max-w-\\[inherit\\]{max-width:inherit}.scalar-app .max-w-xs{max-width:320px}.scalar-app .min-w-6{min-width:24px}.scalar-app .min-w-40{min-width:160px}.scalar-app .min-w-min{min-width:min-content}.scalar-app .flex-shrink,.scalar-app .shrink{flex-shrink:1}.scalar-app .-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-x-2\\.5{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-x-\\[14px\\]{--tw-translate-x:14px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .-translate-y-1\\.5{--tw-translate-y:-6px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .-translate-y-1\\/2{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-y-1\\.5{--tw-translate-y:6px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scalar-app .scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scalar-app .appearance-none{appearance:none}.scalar-app .grid-flow-col{grid-auto-flow:column}.scalar-app .\\!items-end{align-items:flex-end!important}.scalar-app .\\!items-start{align-items:flex-start!important}.scalar-app .items-baseline{align-items:baseline}.scalar-app .\\!justify-end{justify-content:flex-end!important}.scalar-app .\\!justify-start{justify-content:flex-start!important}.scalar-app .gap-2\\.25{gap:9px}.scalar-app .gap-x-4{column-gap:16px}.scalar-app .gap-y-8{row-gap:32px}:where(.scalar-app .divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(var(--scalar-border-width)*var(--tw-divide-x-reverse));border-inline-end-width:calc(var(--scalar-border-width)*calc(1 - var(--tw-divide-x-reverse)))}.scalar-app .self-end{align-self:flex-end}.scalar-app .overflow-x-clip{overflow-x:clip}.scalar-app .overscroll-contain{overscroll-behavior:contain}.scalar-app .rounded-\\[inherit\\]{border-radius:inherit}.scalar-app .rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.scalar-app .border-1{border-style:var(--tw-border-style);border-width:1px}.scalar-app .border-solid{--tw-border-style:solid;border-style:solid}.scalar-app .border-\\(--scalar-background-3\\){border-color:var(--scalar-background-3)}.scalar-app .border-border{border-color:var(--scalar-border-color)}.scalar-app .border-c-alert{border-color:var(--scalar-color-alert)}.scalar-app .border-red{border-color:var(--scalar-color-red)}.scalar-app .border-sidebar-border{border-color:var(--scalar-sidebar-border-color,var(--scalar-border-color))}.scalar-app .border-sidebar-border-search{border-color:var(--scalar-sidebar-search-border-color,var(--scalar-border-color))}.scalar-app .bg-\\(--bg-light\\){background-color:var(--bg-light)}.scalar-app .bg-b-1,.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-b-1\\.5{background-color:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}}}.scalar-app .bg-b-alert{background-color:var(--scalar-background-alert)}.scalar-app .bg-b-btn{background-color:var(--scalar-button-1)}.scalar-app .bg-b-tooltip{background-color:var(--scalar-tooltip-background)}.scalar-app .bg-backdrop{background-color:#00000038}.scalar-app .bg-border{background-color:var(--scalar-border-color)}.scalar-app .bg-c-danger{background-color:var(--scalar-color-danger)}.scalar-app .bg-inherit{background-color:inherit}.scalar-app .bg-red{background-color:var(--scalar-color-red)}.scalar-app .bg-sidebar-b-search{background-color:var(--scalar-sidebar-search-background,var(--scalar-background-2))}.scalar-app .bg-sidebar-indent-border{background-color:var(--scalar-sidebar-indent-border,var(--scalar-border-color))}.scalar-app .bg-sidebar-indent-border-active{background-color:var(--scalar-sidebar-indent-border-active,var(--scalar-color-accent))}.scalar-app .bg-transparent{background-color:#0000}.scalar-app .bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.scalar-app .bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .from-b-1{--tw-gradient-from:var(--scalar-background-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.scalar-app .to-b-1\\.5{--tw-gradient-to:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}}}}.scalar-app .to-b-1\\.5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.scalar-app .to-b-2{--tw-gradient-to:var(--scalar-background-2);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.scalar-app .mask-y-from-\\[calc\\(100\\%-8px\\)\\]{-webkit-mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);--tw-mask-linear:var(--tw-mask-left),var(--tw-mask-right),var(--tw-mask-bottom),var(--tw-mask-top);--tw-mask-top:linear-gradient(to top,var(--tw-mask-top-from-color)var(--tw-mask-top-from-position),var(--tw-mask-top-to-color)var(--tw-mask-top-to-position));--tw-mask-top-from-position: calc(100% - 8px) ;--tw-mask-bottom:linear-gradient(to bottom,var(--tw-mask-bottom-from-color)var(--tw-mask-bottom-from-position),var(--tw-mask-bottom-to-color)var(--tw-mask-bottom-to-position));--tw-mask-bottom-from-position: calc(100% - 8px) ;-webkit-mask-composite:source-in;mask-composite:intersect}.scalar-app .mask-y-to-100\\%{-webkit-mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);--tw-mask-linear:var(--tw-mask-left),var(--tw-mask-right),var(--tw-mask-bottom),var(--tw-mask-top);--tw-mask-top:linear-gradient(to top,var(--tw-mask-top-from-color)var(--tw-mask-top-from-position),var(--tw-mask-top-to-color)var(--tw-mask-top-to-position));--tw-mask-top-to-position:100%;--tw-mask-bottom:linear-gradient(to bottom,var(--tw-mask-bottom-from-color)var(--tw-mask-bottom-from-position),var(--tw-mask-bottom-to-color)var(--tw-mask-bottom-to-position));--tw-mask-bottom-to-position:100%;-webkit-mask-composite:source-in;mask-composite:intersect}.scalar-app .mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.scalar-app .p-0\\.25{padding:1px}.scalar-app .p-2\\.5{padding:10px}.scalar-app .p-6{padding:24px}.scalar-app .px-3\\.5{padding-inline:14px}.scalar-app .px-9{padding-inline:36px}.scalar-app .py-4{padding-block:16px}.scalar-app .py-\\[6\\.75px\\]{padding-block:6.75px}.scalar-app .pr-\\[100\\%\\]{padding-right:100%}.scalar-app .pl-8{padding-left:32px}.scalar-app .pl-\\[100\\%\\]{padding-left:100%}.scalar-app .text-base\\/5{font-size:var(--scalar-font-size-3);line-height:var(--scalar-line-height-5)}.scalar-app .text-sm\\/5{font-size:var(--scalar-font-size-4);line-height:var(--scalar-line-height-5)}.scalar-app .text-lg{font-size:var(--scalar-font-size-2)}.scalar-app .leading-5{--tw-leading:var(--scalar-line-height-5);line-height:var(--scalar-line-height-5)}.scalar-app .font-sidebar{--tw-font-weight:var(--scalar-sidebar-font-weight,var(--scalar-regular));font-weight:var(--scalar-sidebar-font-weight,var(--scalar-regular))}.scalar-app .font-sidebar-active{--tw-font-weight:var(--scalar-sidebar-font-weight-active,var(--scalar-semibold));font-weight:var(--scalar-sidebar-font-weight-active,var(--scalar-semibold))}.scalar-app .break-words,.scalar-app .wrap-break-word{overflow-wrap:break-word}.scalar-app .text-c-alert{color:var(--scalar-color-alert)}.scalar-app .text-c-tooltip{color:var(--scalar-tooltip-color)}.scalar-app .text-sidebar-c-1{color:var(--scalar-sidebar-color-1,var(--scalar-color-1))}.scalar-app .text-sidebar-c-search{color:var(--scalar-sidebar-search-color,var(--scalar-color-3))}.scalar-app .opacity-40{opacity:.4}.scalar-app .-outline-offset-2{outline-offset:-2px}.scalar-app .outline-offset-1{outline-offset:1px}.scalar-app .outline-offset-\\[-1px\\]{outline-offset:-1px}.scalar-app .backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.scalar-app .ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.scalar-app .ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}:is(.scalar-app .\\*\\:size-3>*){width:12px;height:12px}:is(.scalar-app .\\*\\:size-4>*){width:16px;height:16px}:is(.scalar-app .\\*\\:h-5>*){height:20px}:is(.scalar-app .\\*\\:min-w-5>*){min-width:20px}:is(.scalar-app .\\*\\:flex-1>*){flex:1}:is(.scalar-app .\\*\\:justify-center>*){justify-content:center}:is(.scalar-app .\\*\\:gap-px>*){gap:1px}:is(.scalar-app .\\*\\:rounded>*){border-radius:var(--scalar-radius)}:is(.scalar-app .\\*\\:border>*){border-style:var(--tw-border-style);border-width:var(--scalar-border-width)}:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:var(--scalar-tooltip-color)}@supports (color:color-mix(in lab,red,red)){:is(.scalar-app .\\*\\:border-border-tooltip>*){border-color:color-mix(in srgb,var(--scalar-tooltip-color),var(--scalar-tooltip-background))}}}}}:is(.scalar-app .\\*\\:px-1>*){padding-inline:4px}:is(.scalar-app .\\*\\:text-xs>*){font-size:var(--scalar-font-size-5)}@media(hover:hover){.scalar-app .group-hover\\:text-c-1:is(:where(.group):hover *){color:var(--scalar-color-1)}.scalar-app .group-hover\\/button\\:bg-sidebar-indent-border-hover:is(:where(.group\\/button):hover *){background-color:var(--scalar-sidebar-indent-border-hover,var(--scalar-border-color))}.scalar-app .group-hover\\/button\\:text-c-1:is(:where(.group\\/button):hover *){color:var(--scalar-color-1)}}.scalar-app .group-focus-visible\\/toggle\\:outline:is(:where(.group\\/toggle):focus-visible *){outline-style:var(--tw-outline-style);outline-width:1px}.scalar-app .group-hocus\\/copy-button\\:sr-only:is(:is(:where(.group\\/copy-button):hover,:where(.group\\/copy-button):focus-visible) *){clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scalar-app .group-hocus\\/copy-button\\:not-sr-only:is(:is(:where(.group\\/copy-button):hover,:where(.group\\/copy-button):focus-visible) *){clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.scalar-app .group-hocus\\/copy-button\\:block:is(:is(:where(.group\\/copy-button):hover,:where(.group\\/copy-button):focus-visible) *){display:block}.scalar-app .group-hocus-within\\/code-block\\:-left-0\\.5:is(:is(:where(.group\\/code-block):hover,:where(.group\\/code-block):focus-within) *){left:-2px}.scalar-app .group-hocus-within\\/code-block\\:inline:is(:is(:where(.group\\/code-block):hover,:where(.group\\/code-block):focus-within) *){display:inline}.scalar-app .group-hocus-within\\/code-block\\:opacity-100:is(:is(:where(.group\\/code-block):hover,:where(.group\\/code-block):focus-within) *){opacity:1}.scalar-app .placeholder\\:font-\\[inherit\\]::placeholder{font-family:inherit}.scalar-app .first\\:rounded-t-\\[inherit\\]:first-child,:is(.scalar-app .\\*\\:first\\:rounded-t-\\[inherit\\]>*):first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.scalar-app .last\\:rounded-b-\\[inherit\\]:last-child,:is(.scalar-app .\\*\\:last\\:rounded-b-\\[inherit\\]>*):last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.scalar-app .focus-within\\:outline-none:focus-within{--tw-outline-style:none;outline-style:none}@media(hover:hover){.scalar-app .hover\\:bg-b-2:hover{background-color:var(--scalar-background-2)}.scalar-app .hover\\:bg-b-3:hover{background-color:var(--scalar-background-3)}.scalar-app .hover\\:bg-h-btn:hover{background-color:var(--scalar-button-1-hover)}.scalar-app .hover\\:bg-sidebar-b-1:hover{background-color:var(--scalar-sidebar-background-1,var(--scalar-background-1))}.scalar-app .hover\\:bg-sidebar-b-hover:hover{background-color:var(--scalar-sidebar-item-hover-background,var(--scalar-background-2))}.scalar-app .hover\\:bg-linear-to-b:hover{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .hover\\:bg-linear-to-b:hover{--tw-gradient-position:to bottom in oklab}}.scalar-app .hover\\:bg-linear-to-b:hover{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .hover\\:bg-linear-to-t:hover{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .hover\\:bg-linear-to-t:hover{--tw-gradient-position:to top in oklab}}.scalar-app .hover\\:bg-linear-to-t:hover{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .hover\\:text-c-1:hover{color:var(--scalar-color-1)}.scalar-app .hover\\:text-sidebar-c-1:hover{color:var(--scalar-sidebar-color-1,var(--scalar-color-1))}.scalar-app .hover\\:text-sidebar-c-hover:hover{color:var(--scalar-sidebar-item-hover-color,var(--scalar-sidebar-color-2))}.scalar-app .hover\\:underline:hover{text-decoration-line:underline}.scalar-app .hover\\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.scalar-app .focus-visible\\:border-c-btn:focus-visible{border-color:var(--scalar-button-1-color)}.scalar-app .focus-visible\\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.scalar-app .active\\:bg-b-btn:active{background-color:var(--scalar-button-1)}.scalar-app .active\\:brightness-90:active{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .has-\\[\\:focus-visible\\]\\:bg-sidebar-b-1:has(:focus-visible){background-color:var(--scalar-sidebar-background-1,var(--scalar-background-1))}.scalar-app .has-\\[\\:focus-visible\\]\\:outline:has(:focus-visible),.scalar-app .has-\\[input\\:focus-visible\\]\\:outline:has(:is(input:focus-visible)){outline-style:var(--tw-outline-style);outline-width:1px}@media(min-width:800px){.scalar-app .md\\:w-\\[calc\\(100vw-16px\\)\\]{width:calc(100vw - 16px)}}@media(min-width:1000px){.scalar-app .lg\\:w-\\[calc\\(100vw-32px\\)\\]{width:calc(100vw - 32px)}.scalar-app .lg\\:w-full{width:100%}}.scalar-app .dark\\:bg-\\(--bg-dark\\):where(.dark-mode,.dark-mode *){background-color:var(--bg-dark)}.scalar-app .dark\\:bg-b-3:where(.dark-mode,.dark-mode *){background-color:var(--scalar-background-3)}.scalar-app .dark\\:bg-backdrop-dark:where(.dark-mode,.dark-mode *){background-color:#00000073}.scalar-app .dark\\:bg-linear-to-t:where(.dark-mode,.dark-mode *){--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .dark\\:bg-linear-to-t:where(.dark-mode,.dark-mode *){--tw-gradient-position:to top in oklab}}.scalar-app .dark\\:bg-linear-to-t:where(.dark-mode,.dark-mode *){background-image:linear-gradient(var(--tw-gradient-stops))}@media(hover:hover){.scalar-app .dark\\:hover\\:bg-b-3:where(.dark-mode,.dark-mode *):hover{background-color:var(--scalar-background-3)}.scalar-app .dark\\:hover\\:bg-linear-to-b:where(.dark-mode,.dark-mode *):hover{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .dark\\:hover\\:bg-linear-to-b:where(.dark-mode,.dark-mode *):hover{--tw-gradient-position:to bottom in oklab}}.scalar-app .dark\\:hover\\:bg-linear-to-b:where(.dark-mode,.dark-mode *):hover{background-image:linear-gradient(var(--tw-gradient-stops))}.scalar-app .dark\\:hover\\:bg-linear-to-t:where(.dark-mode,.dark-mode *):hover{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab,red,red)){.scalar-app .dark\\:hover\\:bg-linear-to-t:where(.dark-mode,.dark-mode *):hover{--tw-gradient-position:to top in oklab}}.scalar-app .dark\\:hover\\:bg-linear-to-t:where(.dark-mode,.dark-mode *):hover{background-image:linear-gradient(var(--tw-gradient-stops))}}@media(max-width:720px)and (max-height:480px){.scalar-app .zoomed\\:\\!whitespace-normal{white-space:normal!important}}[data-radix-popper-content-wrapper]{z-index:1!important}.loader-wrapper[data-v-27df5cd8]{--loader-size:50%;justify-content:center;align-items:center;display:flex;position:relative}.svg-loader[data-v-27df5cd8]{width:var(--loader-size);height:var(--loader-size);fill:none;stroke:currentColor;background-color:#0000;top:1rem;right:.9rem;overflow:visible}.svg-path[data-v-27df5cd8]{stroke-width:12px;fill:none;transition:all .3s}.svg-x-mark[data-v-27df5cd8]{stroke-dasharray:57;stroke-dashoffset:57px;transition-delay:0s}.svg-check-mark[data-v-27df5cd8]{stroke-dasharray:149;stroke-dashoffset:149px;transition-delay:0s}.icon-is-invalid .svg-x-mark[data-v-27df5cd8],.icon-is-valid .svg-check-mark[data-v-27df5cd8]{stroke-dashoffset:0;transition-delay:.3s}.circular-loader[data-v-27df5cd8]{transform-origin:50%;background:0 0;animation:.7s linear infinite rotate-27df5cd8,.4s fade-in-27df5cd8;transform:scale(3.5)}.loader-path[data-v-27df5cd8]{stroke-dasharray:50 200;stroke-dashoffset:-100px;stroke-linecap:round}.loader-path-off[data-v-27df5cd8]{stroke-dasharray:50 200;stroke-dashoffset:-100px;opacity:0;transition:opacity .3s}.scalar-code-block.bg-b-1 .scalar-code-copy-backdrop{background-color:var(--scalar-background-1)}.scalar-code-block.bg-b-2 .scalar-code-copy-backdrop{background-color:var(--scalar-background-2)}.scalar-code-block.bg-b-2 .scalar-code-copy{background-color:var(--scalar-background-3)}.toggle-icon-ellipse[data-v-60be8692]{background:var(--scalar-background-1);border-radius:50%;width:7px;height:7px;transition:width .3s ease-in-out,height .3s ease-in-out;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px}.toggle-icon-moon-mask[data-v-60be8692]{background:var(--scalar-background-1);border:1px solid;border-radius:50%;width:100%;height:100%;transition:transform .3s ease-in-out;display:block;position:absolute;bottom:2.5px;left:2.5px;transform:translate(4px,-4px)}.toggle-icon-sun-ray[data-v-60be8692]{background:currentColor;border-radius:8px;width:12px;height:1px;transition:transform .3s ease-in-out;position:absolute}.toggle-icon-sun-ray[data-v-60be8692]:nth-of-type(2){transform:rotate(90deg)}.toggle-icon-sun-ray[data-v-60be8692]:nth-of-type(3){transform:rotate(45deg)}.toggle-icon-sun-ray[data-v-60be8692]:nth-of-type(4){transform:rotate(-45deg)}.toggle-icon-dark .toggle-icon-ellipse[data-v-60be8692]{width:10px;height:10px;-webkit-mask-image:radial-gradient(circle at 0 100%,pink 10px,#0000 12px);mask-image:radial-gradient(circle at 0 100%,pink 10px,#0000 12px)}.toggle-icon-dark .toggle-icon-sun-ray[data-v-60be8692]{transform:scale(0)}.toggle-icon-dark .toggle-icon-moon-mask[data-v-60be8692]{transform:translateZ(0)}.scalar-icon[data-v-b651bb23],.scalar-icon[data-v-b651bb23] *{stroke-width:var(--c07589c2)}.scalar-app :where(code.hljs) *{font-size:inherit;font-family:var(--scalar-font-code);text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;line-height:1.4}.scalar-app code.hljs{all:unset;font-size:inherit;color:var(--scalar-color-2);font-family:var(--scalar-font-code);counter-reset:linenumber}.scalar-app .hljs{color:var(--scalar-color-2);background:0 0}.scalar-app .hljs .line:before{color:var(--scalar-color-3);counter-increment:linenumber;content:counter(linenumber);min-width:calc(var(--line-digits)*1ch);text-align:right;margin-right:.875rem;display:inline-block}.scalar-app .hljs-comment,.scalar-app .hljs-quote{color:var(--scalar-color-3);font-style:italic}.scalar-app .hljs-number{color:var(--scalar-color-orange)}.scalar-app .hljs-regexp,.scalar-app .hljs-string,.scalar-app .hljs-built_in{color:var(--scalar-color-blue)}.scalar-app .hljs-title.class_{color:var(--scalar-color-1)}.scalar-app .hljs-keyword{color:var(--scalar-color-purple)}.scalar-app .hljs-title.function_{color:var(--scalar-color-orange)}.scalar-app .hljs-subst,.scalar-app .hljs-name{color:var(--scalar-color-blue)}.scalar-app .hljs-attr,.scalar-app .hljs-attribute{color:var(--scalar-color-1)}.scalar-app .hljs-addition,.scalar-app .hljs-literal,.scalar-app .hljs-selector-tag,.scalar-app .hljs-type{color:var(--scalar-color-green)}.scalar-app .hljs-selector-attr,.scalar-app .hljs-selector-pseudo{color:var(--scalar-color-orange)}.scalar-app .hljs-doctag,.scalar-app .hljs-section,.scalar-app .hljs-title{color:var(--scalar-color-blue)}.scalar-app .hljs-selector-id,.scalar-app .hljs-template-variable,.scalar-app .hljs-variable{color:var(--scalar-color-1)}.scalar-app .hljs-name,.scalar-app .hljs-section,.scalar-app .hljs-strong{font-weight:var(--scalar-semibold)}.scalar-app .hljs-bullet,.scalar-app .hljs-link,.scalar-app .hljs-meta,.scalar-app .hljs-symbol{color:var(--scalar-color-blue)}.scalar-app .hljs-deletion{color:var(--scalar-color-red)}.scalar-app .hljs-formula{background:var(--scalar-color-1)}.scalar-app .hljs-emphasis{font-style:italic}.scalar-app .credential .credential-value{color:#0000;font-size:0}.scalar-app .credential:after{content:"·····";color:var(--scalar-color-3);-webkit-user-select:none;user-select:none}.hljs.language-html{color:var(--scalar-color-1)}.hljs.language-html .hljs-attr{color:var(--scalar-color-2)}.hljs.language-curl .hljs-string{color:var(--scalar-color-blue)}.hljs.language-curl .hljs-literal{color:var(--scalar-color-1)}.hljs.language-php .hljs-variable{color:var(--scalar-color-blue)}.hljs.language-objectivec .hljs-meta{color:var(--scalar-color-1)}.hljs.language-objectivec .hljs-built_in,.hljs-built_in{color:var(--scalar-color-orange)}.scalar-app .markdown{--scalar-refs-heading-spacing:24px;--markdown-border:var(--scalar-border-width)solid var(--scalar-border-color);--markdown-spacing-sm:12px;--markdown-spacing-md:16px;--markdown-line-height:1.625;--markdown-heading-line-height:1.15;font-family:var(--scalar-font);word-break:break-word;line-height:var(--markdown-line-height)}.scalar-app .markdown>*{margin-bottom:var(--markdown-spacing-md)}.scalar-app .markdown>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):last-child{margin-bottom:0}.scalar-app .markdown h1,.scalar-app .markdown h2,.scalar-app .markdown h3,.scalar-app .markdown h4,.scalar-app .markdown h5,.scalar-app .markdown h6{font-weight:var(--scalar-bold);margin-top:var(--scalar-refs-heading-spacing);margin-bottom:var(--markdown-spacing-sm);line-height:var(--markdown-heading-line-height,1.15);scroll-margin-top:1rem;display:block}.scalar-app .markdown h1{font-size:1.5rem}.scalar-app .markdown h2,.scalar-app .markdown h3{font-size:1.25rem}.scalar-app .markdown h4,.scalar-app .markdown h5,.scalar-app .markdown h6{font-size:1rem}.scalar-app .markdown b,.scalar-app .markdown strong{font-weight:var(--scalar-bold)}.scalar-app .markdown p{color:inherit;line-height:var(--markdown-line-height);display:block}.scalar-app .markdown img{border-radius:var(--scalar-radius);max-width:100%;display:inline-block;overflow:hidden}.scalar-app .markdown ul,.scalar-app .markdown ol{line-height:var(--markdown-line-height);flex-direction:column;gap:2px;padding-left:1.6em;display:flex}.scalar-app .markdown li{margin-top:2px;padding-left:7px}.scalar-app ol>li::marker{font:var(--scalar-font);font-variant-numeric:tabular-nums;font-weight:var(--scalar-semibold);white-space:nowrap}.scalar-app ol>*>li::marker{font:var(--scalar-font);font-variant-numeric:tabular-nums;font-weight:var(--scalar-semibold);white-space:nowrap}.scalar-app .markdown ol{list-style-type:decimal}.scalar-app .markdown ol ol{list-style-type:lower-alpha}.scalar-app .markdown ol ol ol ol,.scalar-app .markdown ol ol ol ol ol ol ol{list-style-type:decimal}.scalar-app .markdown ol ol ol ol ol,.scalar-app .markdown ol ol ol ol ol ol ol ol{list-style-type:lower-alpha}.scalar-app .markdown ol ol ol,.scalar-app .markdown ol ol ol ol ol ol,.scalar-app .markdown ol ol ol ol ol ol ol ol ol{list-style-type:lower-roman}.scalar-app .markdown ul>li,.scalar-app .markdown ul>*>li{list-style-type:disc}.scalar-app .markdown table{table-layout:fixed;border:var(--scalar-border-width)solid var(--scalar-border-color);border-radius:var(--scalar-radius);border-spacing:0;width:100%;margin:1em 0;display:table;position:relative;overflow-x:auto}.scalar-app .markdown tbody,.scalar-app .markdown thead{vertical-align:middle}.scalar-app .markdown tbody{display:table-row-group}.scalar-app .markdown thead{display:table-header-group}.scalar-app .markdown tr{border-color:inherit;vertical-align:inherit;display:table-row}.scalar-app .markdown td,.scalar-app .markdown th{vertical-align:top;min-width:1em;line-height:var(--markdown-line-height);word-break:break-word;font-size:var(--scalar-small);color:var(--scalar-color-1);border-right:var(--markdown-border);border-bottom:var(--markdown-border);padding:8.5px 16px;display:table-cell;position:relative}.scalar-app .markdown td>*,.scalar-app .markdown th>*{margin-bottom:0}.scalar-app .markdown th:empty{display:none}.scalar-app .markdown td:first-of-type,.scalar-app .markdown th:first-of-type{border-left:none}.scalar-app .markdown td:last-of-type,.scalar-app .markdown th:last-of-type{border-right:none}.scalar-app .markdown tr:last-of-type td{border-bottom:none}.scalar-app .markdown th{font-weight:var(--scalar-bold);text-align:left;background:var(--scalar-background-2);border-left-color:#0000}.scalar-app .markdown th:first-of-type{border-top-left-radius:var(--scalar-radius)}.scalar-app .markdown th:last-of-type{border-top-right-radius:var(--scalar-radius)}.scalar-app .markdown tr>[align=left]{text-align:left}.scalar-app .markdown tr>[align=right]{text-align:right}.scalar-app .markdown tr>[align=center]{text-align:center}.scalar-app .markdown details{border:var(--markdown-border);border-radius:var(--scalar-radius-xl);color:var(--scalar-color-1)}.scalar-app .markdown details>:not(summary){margin:var(--markdown-spacing-md);margin-bottom:0}.scalar-app .markdown details>p:has(>strong):not(:has(:not(strong))){margin-bottom:8px}.scalar-app .markdown details>p:has(>strong):not(:has(:not(strong)))+*{margin-top:0}.scalar-app .markdown details>table{width:calc(100% - calc(var(--markdown-spacing-md)*2))}.scalar-app .markdown summary{min-height:40px;font-weight:var(--scalar-semibold);line-height:var(--markdown-line-height);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2.5px;align-items:flex-start;gap:8px;padding:7px 14px;display:flex;position:relative}.scalar-app .markdown summary:hover{background-color:var(--scalar-background-2)}.scalar-app .markdown details[open]{padding-bottom:var(--markdown-spacing-md)}.scalar-app .markdown details[open]>summary{border-bottom:var(--markdown-border);border-bottom-right-radius:0;border-bottom-left-radius:0}.scalar-app .markdown summary:before{content:"";width:var(--markdown-spacing-md);height:var(--markdown-spacing-md);background-color:var(--scalar-color-3);flex-shrink:0;margin-top:5px;display:block;-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown summary:hover:before{background-color:var(--scalar-color-1)}.scalar-app .markdown details[open]>summary:before{transition:transform .1s ease-in-out;transform:rotate(90deg)}.scalar-app .markdown details:has(+details){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.scalar-app .markdown details:has(+details)+details,.scalar-app .markdown details:has(+details)+details>summary{border-top-left-radius:0;border-top-right-radius:0}.scalar-app .markdown a{--font-color:var(--scalar-link-color,var(--scalar-color-accent));--font-visited:var(--scalar-link-color-visited,var(--scalar-color-2));-webkit-text-decoration:var(--scalar-text-decoration);text-decoration:var(--scalar-text-decoration);color:var(--font-color);font-weight:var(--scalar-link-font-weight,var(--scalar-semibold));text-underline-offset:.25rem;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}}.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}.scalar-app .markdown a{-webkit-text-decoration-color:var(--font-color);text-decoration-color:var(--font-color)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown a{-webkit-text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent);text-decoration-color:color-mix(in srgb,var(--font-color)30%,transparent)}}}}.scalar-app .markdown a:hover{-webkit-text-decoration-color:var(--scalar-color-1,currentColor);text-decoration-color:var(--scalar-color-1,currentColor);color:var(--scalar-link-color-hover,var(--scalar-color-accent));-webkit-text-decoration:var(--scalar-text-decoration-hover);text-decoration:var(--scalar-text-decoration-hover)}.scalar-app .markdown a:visited{color:var(--font-visited)}.scalar-app .markdown em{font-style:italic}.scalar-app .markdown sup,.scalar-app .markdown sub{font-size:var(--scalar-micro);font-weight:450}.scalar-app .markdown sup{vertical-align:super}.scalar-app .markdown sub{vertical-align:sub}.scalar-app .markdown del{text-decoration:line-through}.scalar-app .markdown code{font-family:var(--scalar-font-code);background-color:var(--scalar-background-2);box-shadow:0 0 0 var(--scalar-border-width) var(--scalar-border-color);font-size:var(--scalar-micro);border-radius:2px;padding:0 3px}.scalar-app .markdown .hljs{font-size:var(--scalar-small)}.scalar-app .markdown pre code{white-space:pre;padding:var(--markdown-spacing-sm);margin:var(--markdown-spacing-sm)0;-webkit-overflow-scrolling:touch;min-width:100px;max-width:100%;line-height:1.5;display:block;overflow-x:auto}.scalar-app .markdown hr{border:none;border-bottom:var(--markdown-border)}.scalar-app .markdown blockquote{border-left:1px solid var(--scalar-color-1);padding-left:var(--markdown-spacing-md);font-weight:var(--scalar-bold);font-size:var(--scalar-font-size-2);margin:0;display:block}.scalar-app .markdown li.task-list-item{list-style:none;position:relative}.scalar-app .markdown li.task-list-item>input{appearance:none;width:var(--markdown-spacing-md);height:var(--markdown-spacing-md);border:1px solid var(--scalar-color-3);border-radius:var(--scalar-radius);display:inline;position:absolute;top:.225em;left:-1.4em}.scalar-app .markdown li.task-list-item>input[type=checkbox]:checked{background-color:var(--scalar-color-1);border-color:var(--scalar-color-1)}.scalar-app .markdown li.task-list-item>input[type=checkbox]:before{content:"";border:solid var(--scalar-background-1);opacity:0;border-width:0 1.5px 1.5px 0;width:5px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.scalar-app .markdown li.task-list-item>input[type=checkbox]:checked:before{opacity:1}.scalar-app .markdown .markdown-alert{border-radius:var(--scalar-radius);background-color:var(--scalar-background-2);align-items:stretch}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert{background-color:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert{background-color:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert{background-color:color-mix(in srgb,var(--scalar-background-2),transparent)}}}}.scalar-app .markdown .markdown-alert{border:var(--markdown-border);gap:var(--markdown-spacing-sm);padding:10px 14px;display:flex;position:relative}.scalar-app .markdown .markdown-alert .markdown-alert-icon:before{content:"";background-color:currentColor;flex-shrink:0;width:18px;height:18px;margin-top:3px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{background-color:color-mix(in srgb,var(--scalar-color-blue),transparent 97%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-note{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-blue),transparent 50%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{background-color:color-mix(in srgb,var(--scalar-color-2),transparent 97%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid var(--scalar-color-2)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-tip{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-2),transparent 50%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-note .markdown-alert-icon:before,.scalar-app .markdown .markdown-alert.markdown-alert-tip .markdown-alert-icon:before{color:var(--scalar-color-blue);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{background-color:color-mix(in srgb,var(--scalar-color-orange),transparent 97%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid var(--scalar-color-orange)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-important,.scalar-app .markdown .markdown-alert.markdown-alert-warning{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-orange),transparent 50%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-important .markdown-alert-icon:before,.scalar-app .markdown .markdown-alert.markdown-alert-warning .markdown-alert-icon:before{-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{background-color:color-mix(in srgb,var(--scalar-color-red),transparent 97%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-caution{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-red),transparent 50%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-caution .markdown-alert-icon:before{color:var(--scalar-color-red);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{background-color:color-mix(in srgb,var(--scalar-color-green),transparent 97%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.scalar-app .markdown .markdown-alert.markdown-alert-success{border:var(--scalar-border-width)solid color-mix(in srgb,var(--scalar-color-green),transparent 50%)}}}}.scalar-app .markdown .markdown-alert.markdown-alert-success .markdown-alert-icon:before{color:var(--scalar-color-green);-webkit-mask-image:url(\'data:image/svg+xml,\');mask-image:url(\'data:image/svg+xml,\')}.scalar-app .markdown .markdown-alert.markdown-alert-note .markdown-alert-icon:before{color:var(--scalar-color-blue)}.scalar-app .markdown .markdown-alert.markdown-alert-tip .markdown-alert-icon:before{color:var(--scalar-color-2)}.scalar-app .markdown .markdown-alert.markdown-alert-important .markdown-alert-icon:before{color:var(--scalar-color-purple)}.scalar-app .markdown .markdown-alert.markdown-alert-warning .markdown-alert-icon:before{color:var(--scalar-color-orange)}.scalar-app .markdown .markdown-alert .markdown-alert-content{line-height:var(--markdown-line-height);margin:0}.scalar-app .markdown.markdown-summary.markdown-summary :before,.scalar-app .markdown.markdown-summary.markdown-summary :after{content:none}.scalar-app .markdown.markdown-summary.markdown-summary :not(strong,em,a){font-size:inherit;font-weight:inherit;line-height:var(--markdown-line-height);display:contents}.scalar-app .markdown.markdown-summary.markdown-summary img,.scalar-app .markdown.markdown-summary.markdown-summary svg,.scalar-app .markdown.markdown-summary.markdown-summary hr,.scalar-app .markdown.markdown-summary.markdown-summary pre{display:none}.dark-mode .scalar-dropdown-item[data-v-6660bbc5]:hover{filter:brightness(1.1)}.group\\/item>*>.scalar-sidebar-indent .scalar-sidebar-indent-border[data-v-3e080c68]{inset-block:-1px}.group\\/item:first-child>*>.scalar-sidebar-indent .scalar-sidebar-indent-border[data-v-3e080c68]{top:0}.group\\/item:last-child>*>.scalar-sidebar-indent .scalar-sidebar-indent-border[data-v-3e080c68]{bottom:0}.group\\/items.-translate-x-full .group\\/button{transition-behavior:allow-discrete;max-height:0;transition-property:display,max-height;transition-duration:0s;transition-delay:.3s;display:none}.group\\/item.group\\/nested-items-open>*>.group\\/items.translate-x-0 .group\\/button{max-height:3.40282e38px;display:flex}.group\\/sidebar-section:first-of-type>.group\\/spacer-before,.group\\/sidebar-section:last-of-type>.group\\/spacer-after{height:0}.group\\/sidebar-section:has(+.group\\/sidebar-section)>.group\\/spacer-after{height:0;margin-bottom:-1px}:where(body)>.scalar-tooltip{--scalar-tooltip-padding:8px;padding:calc(var(--scalar-tooltip-padding) + var(--scalar-tooltip-offset));z-index:99999;max-width:320px;font-size:var(--scalar-font-size-5);--tw-leading:var(--scalar-line-height-5);line-height:var(--scalar-line-height-5);--tw-font-weight:var(--scalar-semibold);font-weight:var(--scalar-semibold);overflow-wrap:break-word;color:var(--scalar-tooltip-color)}:where(body)>.scalar-tooltip:before{content:"";inset:var(--scalar-tooltip-offset);z-index:-1;border-radius:var(--scalar-radius);background-color:var(--scalar-tooltip-background);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);position:absolute}:where(body.dark-mode)>.scalar-tooltip:before{--tw-shadow:inset 0 0 0 var(--tw-shadow-color,calc(var(--scalar-border-width)*2))var(--scalar-border-color);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark-mode .scalar-dropdown-item[data-v-3402682d]:hover{filter:brightness(1.1)}.scalar-modal-layout[data-v-c36b47da]{animation:.3s ease-in-out forwards fadein-layout-c36b47da}.scalar-modal[data-v-c36b47da]{box-shadow:var(--scalar-shadow-2);animation:.3s ease-in-out .1s forwards fadein-modal-c36b47da;transform:translateY(10px)}.scalar-modal-layout-full[data-v-c36b47da]{opacity:1!important;background:0 0!important}.modal-content-search .modal-body[data-v-c36b47da]{flex-direction:column;max-height:440px;padding:0;display:flex;overflow:hidden}@media(max-width:720px)and (max-height:480px){.scalar-modal-layout .scalar-modal[data-v-c36b47da]{max-height:90svh;margin-top:5svh}}.full-size-styles[data-v-c36b47da]{margin:initial;border-right:var(--scalar-border-width)solid var(--scalar-border-color);animation:.3s ease-in-out forwards fadein-layout-c36b47da;left:0;transform:translate(0);background-color:var(--scalar-background-1)!important;max-height:100%!important;box-shadow:none!important;border-radius:0!important;position:absolute!important;top:0!important}@media(min-width:800px){.full-size-styles[data-v-c36b47da]{width:50dvw!important}}.full-size-styles[data-v-c36b47da]:after{content:"";width:50dvw;height:100dvh;position:absolute;top:0;right:-50dvw}.sidebar-heading-type[data-v-1857170e]{text-transform:uppercase;color:var(--method-color,var(--scalar-color-1));font-size:10px;line-height:14px;font-weight:var(--scalar-bold);font-family:var(--scalar-font-code);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.scalar-app .pointer-events-auto{pointer-events:auto}.scalar-app .pointer-events-none{pointer-events:none}.scalar-app .collapse{visibility:collapse}.scalar-app .visible{visibility:visible}.scalar-app .floating-bg:before{background-color:var(--scalar-background-2);border-radius:var(--scalar-radius);content:"";opacity:0;z-index:1;width:calc(100% + 8px);height:calc(100% - 4px);transition:opacity .2s ease-in-out;position:absolute;top:2.5px;left:-4px}.scalar-app .floating-bg:hover:before{opacity:1}.scalar-app .centered{--tw-translate-y:-50%;--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y);position:absolute;top:50%;left:50%}.scalar-app .centered-y{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y);position:absolute;top:50%}.scalar-app .centered-x{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y);position:absolute;left:50%}.scalar-app .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scalar-app .absolute{position:absolute}.scalar-app .fixed{position:fixed}.scalar-app .relative{position:relative}.scalar-app .static{position:static}.scalar-app .sticky{position:sticky}.scalar-app .inset-0{inset:0}.scalar-app .inset-x-0{inset-inline:0}.scalar-app .inset-x-1{inset-inline:4px}.scalar-app .inset-x-px{inset-inline:1px}.scalar-app .-top-\\(--scalar-address-bar-height\\){top:calc(var(--scalar-address-bar-height)*-1)}.scalar-app .-top-1\\.25{top:-5px}.scalar-app .-top-\\[104px\\]{top:-104px}.scalar-app .top-0{top:0}.scalar-app .top-2{top:8px}.scalar-app .top-12{top:48px}.scalar-app .top-\\[calc\\(100\\%\\+4px\\)\\]{top:calc(100% + 4px)}.scalar-app .-right-1\\.25{right:-5px}.scalar-app .-right-\\[30px\\]{right:-30px}.scalar-app .right-0{right:0}.scalar-app .right-1{right:4px}.scalar-app .right-1\\.5{right:6px}.scalar-app .right-1\\/2{right:50%}.scalar-app .right-2{right:8px}.scalar-app .right-4{right:16px}.scalar-app .right-7{right:28px}.scalar-app .right-14{right:56px}.scalar-app .right-16{right:64px}.scalar-app .bottom-0{bottom:0}.scalar-app .bottom-1{bottom:4px}.scalar-app .bottom-1\\/2{bottom:50%}.scalar-app .bottom-\\[var\\(--scalar-border-width\\)\\]{bottom:var(--scalar-border-width)}.scalar-app .left-0{left:0}.scalar-app .left-1\\/2{left:50%}.scalar-app .left-3{left:12px}.scalar-app .-z-1{z-index:-1}.scalar-app .z-0{z-index:0}.scalar-app .z-1{z-index:1}.scalar-app .z-2{z-index:2}.scalar-app .z-10{z-index:10}.scalar-app .z-20{z-index:20}.scalar-app .z-50{z-index:50}.scalar-app .z-\\[1\\]{z-index:1}.scalar-app .z-\\[1002\\]{z-index:1002}.scalar-app .z-context{z-index:1000}.scalar-app .z-context-plus{z-index:1001}.scalar-app .z-overlay{z-index:10000}.scalar-app .order-last{order:9999}.scalar-app .col-span-full{grid-column:1/-1}.scalar-app .container{width:100%}@media(min-width:400px){.scalar-app .container{max-width:400px}}@media(min-width:600px){.scalar-app .container{max-width:600px}}@media(min-width:800px){.scalar-app .container{max-width:800px}}@media(min-width:1000px){.scalar-app .container{max-width:1000px}}@media(min-width:1200px){.scalar-app .container{max-width:1200px}}@media(min-width:96rem){.scalar-app .container{max-width:96rem}}.scalar-app .\\!m-0{margin:0!important}.scalar-app .-m-0\\.5{margin:-2px}.scalar-app .m-0{margin:0}.scalar-app .m-4{margin:16px}.scalar-app .m-auto{margin:auto}.scalar-app .m-header{margin:48px}.scalar-app .-mx-0\\.25{margin-inline:-1px}.scalar-app .mx-1{margin-inline:4px}.scalar-app .mx-auto{margin-inline:auto}.scalar-app .-my-0\\.5{margin-block:-2px}.scalar-app .-my-1{margin-block:-4px}.scalar-app .my-12{margin-block:48px}.scalar-app .-mt-\\[\\.5px\\]{margin-top:-.5px}.scalar-app .mt-0\\.25{margin-top:1px}.scalar-app .mt-1{margin-top:4px}.scalar-app .mt-1\\.5{margin-top:6px}.scalar-app .mt-2{margin-top:8px}.scalar-app .mt-3{margin-top:12px}.scalar-app .mt-5{margin-top:20px}.scalar-app .mt-10{margin-top:40px}.scalar-app .mt-\\[0\\.5px\\]{margin-top:.5px}.scalar-app .mt-auto{margin-top:auto}.scalar-app .\\!mr-0{margin-right:0!important}.scalar-app .-mr-0\\.5{margin-right:-2px}.scalar-app .-mr-1{margin-right:-4px}.scalar-app .-mr-1\\.5{margin-right:-6px}.scalar-app .-mr-3{margin-right:-12px}.scalar-app .mr-0\\.5{margin-right:2px}.scalar-app .mr-0\\.75{margin-right:3px}.scalar-app .mr-1{margin-right:4px}.scalar-app .mr-1\\.5{margin-right:6px}.scalar-app .mr-1\\.25{margin-right:5px}.scalar-app .mr-2{margin-right:8px}.scalar-app .mr-2\\.5{margin-right:10px}.scalar-app .mr-3{margin-right:12px}.scalar-app .mr-\\[6\\.25px\\]{margin-right:6.25px}.scalar-app .mr-auto{margin-right:auto}.scalar-app .\\!mb-0{margin-bottom:0!important}.scalar-app .-mb-\\[var\\(--scalar-border-width\\)\\]{margin-bottom:calc(var(--scalar-border-width)*-1)}.scalar-app .mb-0{margin-bottom:0}.scalar-app .mb-1{margin-bottom:4px}.scalar-app .mb-1\\.5{margin-bottom:6px}.scalar-app .mb-2{margin-bottom:8px}.scalar-app .mb-4{margin-bottom:16px}.scalar-app .mb-5{margin-bottom:20px}.scalar-app .mb-\\[\\.5px\\]{margin-bottom:.5px}.scalar-app .-ml-0\\.5{margin-left:-2px}.scalar-app .-ml-0\\.25{margin-left:-1px}.scalar-app .-ml-1{margin-left:-4px}.scalar-app .-ml-2{margin-left:-8px}.scalar-app .-ml-12{margin-left:-48px}.scalar-app .ml-0\\.5{margin-left:2px}.scalar-app .ml-0\\.75{margin-left:3px}.scalar-app .ml-1{margin-left:4px}.scalar-app .ml-1\\.25{margin-left:5px}.scalar-app .ml-3{margin-left:12px}.scalar-app .ml-auto{margin-left:auto}.scalar-app .box-border{box-sizing:border-box}.scalar-app .box-content{box-sizing:content-box}.scalar-app .flex-center{justify-content:center;align-items:center;display:flex}.scalar-app .line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.scalar-app .\\!block{display:block!important}.scalar-app .\\!flex{display:flex!important}.scalar-app .block{display:block}.scalar-app .contents{display:contents}.scalar-app .flex{display:flex}.scalar-app .grid{display:grid}.scalar-app .hidden{display:none}.scalar-app .inline{display:inline}.scalar-app .inline-block{display:inline-block}.scalar-app .inline-flex{display:inline-flex}.scalar-app .table{display:table}.scalar-app .aspect-\\[4\\/3\\]{aspect-ratio:4/3}.scalar-app .aspect-square{aspect-ratio:1}.scalar-app .size-1\\.5{width:6px;height:6px}.scalar-app .size-2\\.5{width:10px;height:10px}.scalar-app .size-3{width:12px;height:12px}.scalar-app .size-3\\.5{width:14px;height:14px}.scalar-app .size-3\\/4{width:75%;height:75%}.scalar-app .size-4{width:16px;height:16px}.scalar-app .size-5{width:20px;height:20px}.scalar-app .size-6{width:24px;height:24px}.scalar-app .size-7{width:28px;height:28px}.scalar-app .size-8{width:32px;height:32px}.scalar-app .size-10{width:40px;height:40px}.scalar-app .size-full{width:100%;height:100%}.scalar-app .h-\\(--scalar-address-bar-height\\){height:var(--scalar-address-bar-height)}.scalar-app .h-1\\.5{height:6px}.scalar-app .h-2\\.5{height:10px}.scalar-app .h-2\\.25{height:9px}.scalar-app .h-3{height:12px}.scalar-app .h-3\\.5{height:14px}.scalar-app .h-4{height:16px}.scalar-app .h-5{height:20px}.scalar-app .h-6{height:24px}.scalar-app .h-7{height:28px}.scalar-app .h-8{height:32px}.scalar-app .h-9{height:36px}.scalar-app .h-10{height:40px}.scalar-app .h-12{height:48px}.scalar-app .h-16{height:64px}.scalar-app .h-64{height:256px}.scalar-app .h-\\[68px\\]{height:68px}.scalar-app .h-\\[calc\\(100\\%-273\\.5px\\)\\]{height:calc(100% - 273.5px)}.scalar-app .h-\\[calc\\(100\\%_-_50px\\)\\]{height:calc(100% - 50px)}.scalar-app .h-auto{height:auto}.scalar-app .h-dvh{height:100dvh}.scalar-app .h-fit{height:fit-content}.scalar-app .h-full{height:100%}.scalar-app .h-header{height:48px}.scalar-app .h-min{height:min-content}.scalar-app .h-px{height:1px}.scalar-app .h-screen{height:100vh}.scalar-app .\\!max-h-\\[initial\\]{max-height:initial!important}.scalar-app .max-h-8{max-height:32px}.scalar-app .max-h-40{max-height:160px}.scalar-app .max-h-80{max-height:320px}.scalar-app .max-h-\\[40dvh\\]{max-height:40dvh}.scalar-app .max-h-\\[50dvh\\]{max-height:50dvh}.scalar-app .max-h-\\[60svh\\]{max-height:60svh}.scalar-app .max-h-\\[auto\\]{max-height:auto}.scalar-app .max-h-\\[calc\\(100\\%-32px\\)\\]{max-height:calc(100% - 32px)}.scalar-app .max-h-\\[inherit\\]{max-height:inherit}.scalar-app .max-h-fit{max-height:fit-content}.scalar-app .max-h-screen{max-height:100vh}.scalar-app .min-h-0{min-height:0}.scalar-app .min-h-8{min-height:32px}.scalar-app .min-h-10{min-height:40px}.scalar-app .min-h-11{min-height:44px}.scalar-app .min-h-12{min-height:48px}.scalar-app .min-h-16{min-height:64px}.scalar-app .min-h-20{min-height:80px}.scalar-app .min-h-\\[64px\\]{min-height:64px}.scalar-app .min-h-\\[65px\\]{min-height:65px}.scalar-app .min-h-\\[calc\\(1rem\\*4\\)\\]{min-height:4rem}.scalar-app .min-h-\\[calc\\(4rem\\+0\\.5px\\)\\]{min-height:calc(4rem + .5px)}.scalar-app .min-h-\\[calc\\(4rem\\+1px\\)\\]{min-height:calc(4rem + 1px)}.scalar-app .min-h-fit{min-height:fit-content}.scalar-app .\\!w-fit{width:fit-content!important}.scalar-app .w-0\\.5{width:2px}.scalar-app .w-1\\.5{width:6px}.scalar-app .w-1\\/2{width:50%}.scalar-app .w-2\\.5{width:10px}.scalar-app .w-2\\.25{width:9px}.scalar-app .w-3{width:12px}.scalar-app .w-3\\.5{width:14px}.scalar-app .w-4{width:16px}.scalar-app .w-5{width:20px}.scalar-app .w-6{width:24px}.scalar-app .w-7{width:28px}.scalar-app .w-8{width:32px}.scalar-app .w-10{width:40px}.scalar-app .w-16{width:64px}.scalar-app .w-20{width:80px}.scalar-app .w-56{width:224px}.scalar-app .w-64{width:256px}.scalar-app .w-72{width:288px}.scalar-app .w-\\[60px\\]{width:60px}.scalar-app .w-\\[100px\\]{width:100px}.scalar-app .w-\\[150px\\]{width:150px}.scalar-app .w-\\[calc\\(100\\%-10px\\)\\]{width:calc(100% - 10px)}.scalar-app .w-\\[calc\\(100\\%_-_8px\\)\\]{width:calc(100% - 8px)}.scalar-app .w-\\[inherit\\]{width:inherit}.scalar-app .w-auto{width:auto}.scalar-app .w-dvw{width:100dvw}.scalar-app .w-fit{width:fit-content}.scalar-app .w-full{width:100%}.scalar-app .w-max{width:max-content}.scalar-app .max-w-8{max-width:32px}.scalar-app .max-w-40{max-width:160px}.scalar-app .max-w-\\[14px\\]{max-width:14px}.scalar-app .max-w-\\[16rem\\]{max-width:16rem}.scalar-app .max-w-\\[37px\\]{max-width:37px}.scalar-app .max-w-\\[100\\%\\]{max-width:100%}.scalar-app .max-w-\\[120px\\]{max-width:120px}.scalar-app .max-w-\\[150px\\]{max-width:150px}.scalar-app .max-w-\\[380px\\]{max-width:380px}.scalar-app .max-w-\\[420px\\]{max-width:420px}.scalar-app .max-w-\\[720px\\]{max-width:720px}.scalar-app .max-w-\\[calc\\(100dvw-24px\\)\\]{max-width:calc(100dvw - 24px)}.scalar-app .max-w-full{max-width:100%}.scalar-app .min-w-0{min-width:0}.scalar-app .min-w-2\\.25{min-width:9px}.scalar-app .min-w-3\\.5{min-width:14px}.scalar-app .min-w-4{min-width:16px}.scalar-app .min-w-8{min-width:32px}.scalar-app .min-w-32{min-width:128px}.scalar-app .min-w-48{min-width:192px}.scalar-app .min-w-\\[37px\\]{min-width:37px}.scalar-app .min-w-\\[100px\\]{min-width:100px}.scalar-app .min-w-\\[150px\\]{min-width:150px}.scalar-app .min-w-\\[296px\\]{min-width:296px}.scalar-app .min-w-fit{min-width:fit-content}.scalar-app .min-w-full{min-width:100%}.scalar-app .flex-1{flex:1}.scalar-app .flex-shrink{flex-shrink:1}.scalar-app .shrink-0{flex-shrink:0}.scalar-app .flex-grow,.scalar-app .grow{flex-grow:1}.scalar-app .-translate-x-1\\/2{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-x-1\\/2{--tw-translate-x:50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .translate-y-1\\/2{--tw-translate-y:50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scalar-app .rotate-90{rotate:90deg}.scalar-app .rotate-180{rotate:180deg}.scalar-app .transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.scalar-app .cursor-auto{cursor:auto}.scalar-app .cursor-default{cursor:default}.scalar-app .cursor-grab{cursor:grab}.scalar-app .cursor-help{cursor:help}.scalar-app .cursor-not-allowed{cursor:not-allowed}.scalar-app .cursor-pointer{cursor:pointer}.scalar-app .cursor-text{cursor:text}.scalar-app .resize{resize:both}.scalar-app .resize-none{resize:none}.scalar-app .auto-rows-\\[32px\\]{grid-auto-rows:32px}.scalar-app .auto-rows-auto{grid-auto-rows:auto}.scalar-app .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.scalar-app .grid-cols-\\[44px_1fr_repeat\\(3\\,auto\\)\\]{grid-template-columns:44px 1fr repeat(3,auto)}.scalar-app .grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.scalar-app .grid-cols-\\[repeat\\(auto-fill\\,minmax\\(32px\\,1fr\\)\\)\\]{grid-template-columns:repeat(auto-fill,minmax(32px,1fr))}.scalar-app .flex-col{flex-direction:column}.scalar-app .flex-row{flex-direction:row}.scalar-app .flex-wrap{flex-wrap:wrap}.scalar-app .content-between{align-content:space-between}.scalar-app .content-start{align-content:flex-start}.scalar-app .items-center{align-items:center}.scalar-app .items-end{align-items:flex-end}.scalar-app .items-start{align-items:flex-start}.scalar-app .items-stretch{align-items:stretch}.scalar-app .justify-between{justify-content:space-between}.scalar-app .justify-center{justify-content:center}.scalar-app .justify-end{justify-content:flex-end}.scalar-app .justify-start{justify-content:flex-start}.scalar-app .justify-stretch{justify-content:stretch}.scalar-app .\\!gap-2{gap:8px!important}.scalar-app .gap-0\\.5{gap:2px}.scalar-app .gap-0\\.75{gap:3px}.scalar-app .gap-1{gap:4px}.scalar-app .gap-1\\.5{gap:6px}.scalar-app .gap-1\\.75{gap:7px}.scalar-app .gap-2{gap:8px}.scalar-app .gap-2\\.5{gap:10px}.scalar-app .gap-3{gap:12px}.scalar-app .gap-4{gap:16px}.scalar-app .gap-6{gap:24px}.scalar-app .gap-8{gap:32px}.scalar-app .gap-10{gap:40px}.scalar-app .gap-12{gap:48px}.scalar-app .gap-\\[1\\.5px\\]{gap:1.5px}.scalar-app .gap-px{gap:1px}.scalar-app .gap-x-2\\.5{column-gap:10px}:where(.scalar-app .space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(4px*var(--tw-space-x-reverse));margin-inline-end:calc(4px*calc(1 - var(--tw-space-x-reverse)))}:where(.scalar-app .divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(var(--scalar-border-width)*var(--tw-divide-y-reverse));border-bottom-width:calc(var(--scalar-border-width)*calc(1 - var(--tw-divide-y-reverse)))}.scalar-app .self-center{align-self:center}.scalar-app .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scalar-app .overflow-auto{overflow:auto}.scalar-app .overflow-hidden{overflow:hidden}.scalar-app .overflow-visible{overflow:visible}.scalar-app .overflow-x-auto{overflow-x:auto}.scalar-app .overflow-x-hidden{overflow-x:hidden}.scalar-app .overflow-x-scroll{overflow-x:scroll}.scalar-app .overflow-y-auto{overflow-y:auto}.scalar-app .overflow-y-hidden{overflow-y:hidden}.scalar-app .overflow-y-scroll{overflow-y:scroll}.scalar-app .\\!rounded-none{border-radius:0!important}.scalar-app .rounded{border-radius:var(--scalar-radius)}.scalar-app .rounded-\\[10px\\]{border-radius:10px}.scalar-app .rounded-full{border-radius:9999px}.scalar-app .rounded-lg{border-radius:var(--scalar-radius-lg)}.scalar-app .rounded-md{border-radius:var(--scalar-radius)}.scalar-app .rounded-none{border-radius:0}.scalar-app .rounded-px{border-radius:1px}.scalar-app .rounded-xl{border-radius:var(--scalar-radius-xl)}.scalar-app .rounded-t{border-top-left-radius:var(--scalar-radius);border-top-right-radius:var(--scalar-radius)}.scalar-app .rounded-t-lg{border-top-left-radius:var(--scalar-radius-lg);border-top-right-radius:var(--scalar-radius-lg)}.scalar-app .rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.scalar-app .rounded-t-xl{border-top-left-radius:var(--scalar-radius-xl);border-top-right-radius:var(--scalar-radius-xl)}.scalar-app .rounded-b{border-bottom-right-radius:var(--scalar-radius);border-bottom-left-radius:var(--scalar-radius)}.scalar-app .rounded-b-lg{border-bottom-right-radius:var(--scalar-radius-lg);border-bottom-left-radius:var(--scalar-radius-lg)}.scalar-app .rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.scalar-app .rounded-b-xl{border-bottom-right-radius:var(--scalar-radius-xl);border-bottom-left-radius:var(--scalar-radius-xl)}.scalar-app .\\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.scalar-app .border{border-style:var(--tw-border-style);border-width:var(--scalar-border-width)}.scalar-app .border-0{border-style:var(--tw-border-style);border-width:0}.scalar-app .border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.scalar-app .border-\\[1px\\]{border-style:var(--tw-border-style);border-width:1px}.scalar-app .border-x{border-inline-style:var(--tw-border-style);border-inline-width:var(--scalar-border-width)}.scalar-app .border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.scalar-app .border-y{border-block-style:var(--tw-border-style);border-block-width:var(--scalar-border-width)}.scalar-app .border-t{border-top-style:var(--tw-border-style);border-top-width:var(--scalar-border-width)}.scalar-app .border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.scalar-app .\\!border-r{border-right-style:var(--tw-border-style)!important;border-right-width:var(--scalar-border-width)!important}.scalar-app .border-r{border-right-style:var(--tw-border-style);border-right-width:var(--scalar-border-width)}.scalar-app .border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.scalar-app .border-r-1{border-right-style:var(--tw-border-style);border-right-width:1px}.scalar-app .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:var(--scalar-border-width)}.scalar-app .border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.scalar-app .border-b-\\[1px\\]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.scalar-app .border-l{border-left-style:var(--tw-border-style);border-left-width:var(--scalar-border-width)}.scalar-app .border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.scalar-app .border-dashed{--tw-border-style:dashed;border-style:dashed}.scalar-app .border-none{--tw-border-style:none;border-style:none}.scalar-app .border-none\\!{--tw-border-style:none!important;border-style:none!important}.scalar-app .\\!border-current{border-color:currentColor!important}.scalar-app .border-c-1{border-color:var(--scalar-color-1)}.scalar-app .border-c-3{border-color:var(--scalar-color-3)}.scalar-app .border-c-accent,.scalar-app .border-c-accent\\/30{border-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .border-c-accent\\/30{border-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .border-c-accent\\/30{border-color:color-mix(in oklab,var(--scalar-color-accent)30%,transparent)}}}.scalar-app .border-c-danger{border-color:var(--scalar-color-danger)}.scalar-app .border-transparent{border-color:#0000}.scalar-app .border-r-transparent{border-right-color:#0000}.scalar-app .bg-b-1{background-color:var(--scalar-background-1)}.scalar-app .bg-b-2{background-color:var(--scalar-background-2)}.scalar-app .bg-b-3{background-color:var(--scalar-background-3)}.scalar-app .bg-b-danger{background-color:var(--scalar-background-danger)}.scalar-app .bg-c-3\\/5{background-color:var(--scalar-color-3)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-3\\/5{background-color:var(--scalar-color-3)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-3\\/5{background-color:color-mix(in oklab,var(--scalar-color-3)5%,transparent)}}}.scalar-app .bg-c-accent,.scalar-app .bg-c-accent\\/5{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-accent\\/5{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-accent\\/5{background-color:color-mix(in oklab,var(--scalar-color-accent)5%,transparent)}}}.scalar-app .bg-c-accent\\/10{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-accent\\/10{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .bg-c-accent\\/10{background-color:color-mix(in oklab,var(--scalar-color-accent)10%,transparent)}}}.scalar-app .bg-current{background-color:currentColor}.scalar-app .bg-grey{background-color:var(--scalar-color-3)}.scalar-app .bg-orange{background-color:var(--scalar-color-orange)}.scalar-app .bg-sidebar-b-1{background-color:var(--scalar-sidebar-background-1,var(--scalar-background-1))}.scalar-app .bg-sidebar-b-active{background-color:var(--scalar-sidebar-item-active-background,var(--scalar-background-2))}.scalar-app .bg-none{background-image:none}.scalar-app .fill-current{fill:currentColor}.scalar-app .stroke-2{stroke-width:2px}.scalar-app .stroke-\\[1\\.5\\]{stroke-width:1.5px}.scalar-app .stroke-\\[1\\.75\\]{stroke-width:1.75px}.scalar-app .stroke-\\[2\\.25\\]{stroke-width:2.25px}.scalar-app .object-contain{object-fit:contain}.scalar-app .\\!p-0{padding:0!important}.scalar-app .p-0{padding:0}.scalar-app .p-0\\.5{padding:2px}.scalar-app .p-0\\.75{padding:3px}.scalar-app .p-1{padding:4px}.scalar-app .p-1\\.5{padding:6px}.scalar-app .p-1\\.25{padding:5px}.scalar-app .p-1\\.75{padding:7px}.scalar-app .p-2{padding:8px}.scalar-app .p-3{padding:12px}.scalar-app .p-4{padding:16px}.scalar-app .p-\\[3px\\]{padding:3px}.scalar-app .p-\\[5px\\]{padding:5px}.scalar-app .p-px{padding:1px}.scalar-app .\\!px-3{padding-inline:12px!important}.scalar-app .px-0{padding-inline:0}.scalar-app .px-0\\.5{padding-inline:2px}.scalar-app .px-0\\.75{padding-inline:3px}.scalar-app .px-1{padding-inline:4px}.scalar-app .px-1\\.5{padding-inline:6px}.scalar-app .px-1\\.25{padding-inline:5px}.scalar-app .px-2{padding-inline:8px}.scalar-app .px-2\\.5{padding-inline:10px}.scalar-app .px-3{padding-inline:12px}.scalar-app .px-4{padding-inline:16px}.scalar-app .px-5{padding-inline:20px}.scalar-app .px-6{padding-inline:24px}.scalar-app .px-8{padding-inline:32px}.scalar-app .\\!py-1\\.5{padding-block:6px!important}.scalar-app .py-0{padding-block:0}.scalar-app .py-0\\.5{padding-block:2px}.scalar-app .py-0\\.25{padding-block:1px}.scalar-app .py-0\\.75{padding-block:3px}.scalar-app .py-1{padding-block:4px}.scalar-app .py-1\\.5{padding-block:6px}.scalar-app .py-1\\.25{padding-block:5px}.scalar-app .py-1\\.75{padding-block:7px}.scalar-app .py-2{padding-block:8px}.scalar-app .py-2\\.5{padding-block:10px}.scalar-app .py-3{padding-block:12px}.scalar-app .py-5{padding-block:20px}.scalar-app .py-8{padding-block:32px}.scalar-app .py-px{padding-block:1px}.scalar-app .\\!pt-0{padding-top:0!important}.scalar-app .pt-0{padding-top:0}.scalar-app .pt-2{padding-top:8px}.scalar-app .pt-3{padding-top:12px}.scalar-app .pt-4{padding-top:16px}.scalar-app .pt-6{padding-top:24px}.scalar-app .pt-8{padding-top:32px}.scalar-app .pt-px{padding-top:1px}.scalar-app .pr-0{padding-right:0}.scalar-app .pr-0\\.75{padding-right:3px}.scalar-app .pr-1{padding-right:4px}.scalar-app .pr-1\\.5{padding-right:6px}.scalar-app .pr-2{padding-right:8px}.scalar-app .pr-2\\.5{padding-right:10px}.scalar-app .pr-2\\.25{padding-right:9px}.scalar-app .pr-3{padding-right:12px}.scalar-app .pr-6{padding-right:24px}.scalar-app .pr-8{padding-right:32px}.scalar-app .pr-9{padding-right:36px}.scalar-app .pr-10{padding-right:40px}.scalar-app .pr-12{padding-right:48px}.scalar-app .pr-\\[26px\\]{padding-right:26px}.scalar-app .pb-0{padding-bottom:0}.scalar-app .pb-1\\.5{padding-bottom:6px}.scalar-app .pb-2{padding-bottom:8px}.scalar-app .pb-3{padding-bottom:12px}.scalar-app .pb-5{padding-bottom:20px}.scalar-app .pb-6{padding-bottom:24px}.scalar-app .pb-8{padding-bottom:32px}.scalar-app .pb-14{padding-bottom:56px}.scalar-app .pb-\\[75px\\]{padding-bottom:75px}.scalar-app .\\!pl-3{padding-left:12px!important}.scalar-app .pl-1{padding-left:4px}.scalar-app .pl-1\\.5{padding-left:6px}.scalar-app .pl-1\\.25{padding-left:5px}.scalar-app .pl-2{padding-left:8px}.scalar-app .pl-3{padding-left:12px}.scalar-app .pl-5{padding-left:20px}.scalar-app .pl-6{padding-left:24px}.scalar-app .pl-8\\.5{padding-left:34px}.scalar-app .pl-9{padding-left:36px}.scalar-app .pl-12{padding-left:48px}.scalar-app .pl-px{padding-left:1px}.scalar-app .text-center{text-align:center}.scalar-app .text-left{text-align:left}.scalar-app .text-right{text-align:right}.scalar-app .font-code{font-family:var(--scalar-font-code)}.scalar-app .font-sans{font-family:var(--scalar-font)}.scalar-app .text-3xs{font-size:var(--scalar-font-size-7)}.scalar-app .text-\\[6px\\]{font-size:6px}.scalar-app .text-\\[9px\\]{font-size:9px}.scalar-app .text-\\[11px\\]{font-size:11px}.scalar-app .text-\\[21px\\]{font-size:21px}.scalar-app .text-base{font-size:var(--scalar-font-size-3)}.scalar-app .text-sm{font-size:var(--scalar-font-size-4)}.scalar-app .text-xl{font-size:var(--scalar-font-size-1)}.scalar-app .text-xs{font-size:var(--scalar-font-size-5)}.scalar-app .text-xxs{font-size:var(--scalar-font-size-6)}.scalar-app .\\!leading-\\[6px\\]{--tw-leading:6px!important;line-height:6px!important}.scalar-app .leading-2{--tw-leading:var(--scalar-line-height-2);line-height:var(--scalar-line-height-2)}.scalar-app .leading-3{--tw-leading:var(--scalar-line-height-3);line-height:var(--scalar-line-height-3)}.scalar-app .leading-\\[1\\.44\\]{--tw-leading:1.44;line-height:1.44}.scalar-app .leading-\\[7px\\]{--tw-leading:7px;line-height:7px}.scalar-app .leading-\\[20px\\]{--tw-leading:20px;line-height:20px}.scalar-app .leading-\\[21px\\]{--tw-leading:21px;line-height:21px}.scalar-app .leading-\\[22px\\]{--tw-leading:22px;line-height:22px}.scalar-app .leading-\\[normal\\]{--tw-leading:normal;line-height:normal}.scalar-app .leading-none{--tw-leading:1;line-height:1}.scalar-app .leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.scalar-app .leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.scalar-app .font-bold{--tw-font-weight:var(--scalar-bold);font-weight:var(--scalar-bold)}.scalar-app .font-medium{--tw-font-weight:var(--scalar-semibold);font-weight:var(--scalar-semibold)}.scalar-app .font-normal{--tw-font-weight:var(--scalar-regular);font-weight:var(--scalar-regular)}.scalar-app .text-balance{text-wrap:balance}.scalar-app .text-nowrap{text-wrap:nowrap}.scalar-app .text-pretty{text-wrap:pretty}.scalar-app .break-words{overflow-wrap:break-word}.scalar-app .break-all{word-break:break-all}.scalar-app .text-ellipsis{text-overflow:ellipsis}.scalar-app .whitespace-nowrap{white-space:nowrap}.scalar-app .whitespace-pre{white-space:pre}.scalar-app .whitespace-pre-wrap{white-space:pre-wrap}.scalar-app .\\!text-c-1{color:var(--scalar-color-1)!important}.scalar-app .text-b-1{color:var(--scalar-background-1)}.scalar-app .text-b-2{color:var(--scalar-background-2)}.scalar-app .text-blue{color:var(--scalar-color-blue)}.scalar-app .text-border{color:var(--scalar-border-color)}.scalar-app .text-c-1{color:var(--scalar-color-1)}.scalar-app .text-c-2{color:var(--scalar-color-2)}.scalar-app .text-c-3{color:var(--scalar-color-3)}.scalar-app .text-c-accent{color:var(--scalar-color-accent)}.scalar-app .text-c-btn{color:var(--scalar-button-1-color)}.scalar-app .text-c-danger{color:var(--scalar-color-danger)}.scalar-app .text-green{color:var(--scalar-color-green)}.scalar-app .text-grey{color:var(--scalar-color-3)}.scalar-app .text-orange{color:var(--scalar-color-orange)}.scalar-app .text-purple{color:var(--scalar-color-purple)}.scalar-app .text-red{color:var(--scalar-color-red)}.scalar-app .text-sidebar-c-2{color:var(--scalar-sidebar-color-2,var(--scalar-color-2))}.scalar-app .text-sidebar-c-active{color:var(--scalar-sidebar-color-active,var(--scalar-sidebar-color-1))}.scalar-app .text-transparent{color:#0000}.scalar-app .text-white{color:#fff}.scalar-app .text-yellow{color:var(--scalar-color-yellow)}.scalar-app .capitalize{text-transform:capitalize}.scalar-app .lowercase{text-transform:lowercase}.scalar-app .uppercase{text-transform:uppercase}.scalar-app .italic{font-style:italic}.scalar-app .line-through{text-decoration-line:line-through}.scalar-app .no-underline{text-decoration-line:none}.scalar-app .underline{text-decoration-line:underline}.scalar-app .decoration-c-3{-webkit-text-decoration-color:var(--scalar-color-3);text-decoration-color:var(--scalar-color-3)}.scalar-app .underline-offset-2{text-underline-offset:2px}.scalar-app .opacity-0{opacity:0}.scalar-app .opacity-50{opacity:.5}.scalar-app .opacity-100{opacity:1}.scalar-app .bg-blend-normal{background-blend-mode:normal}.scalar-app .mix-blend-luminosity{mix-blend-mode:luminosity}.scalar-app .shadow{--tw-shadow:var(--scalar-shadow-1);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .shadow-\\[-8px_0_4px_var\\(--scalar-background-1\\)\\]{--tw-shadow:-8px 0 4px var(--tw-shadow-color,var(--scalar-background-1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .shadow-\\[0_-8px_0_8px_var\\(--scalar-background-1\\)\\,0_0_8px_8px_var\\(--scalar-background-1\\)\\]{--tw-shadow:0 -8px 0 8px var(--tw-shadow-color,var(--scalar-background-1)),0 0 8px 8px var(--tw-shadow-color,var(--scalar-background-1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .shadow-border{--tw-shadow:inset 0 0 0 var(--tw-shadow-color,calc(var(--scalar-border-width)*2))var(--scalar-border-color);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .shadow-lg{--tw-shadow:var(--scalar-shadow-2);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .outline{outline-style:var(--tw-outline-style);outline-width:1px}.scalar-app .-outline-offset-1{outline-offset:-1px}.scalar-app .outline-offset-2{outline-offset:2px}.scalar-app .outline-b-3{outline-color:var(--scalar-background-3)}.scalar-app .outline-c-danger{outline-color:var(--scalar-color-danger)}.scalar-app .blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .brightness-90{--tw-brightness:brightness(90%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .brightness-\\[\\.9\\]{--tw-brightness:brightness(.9);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .brightness-lifted{--tw-brightness:brightness(var(--scalar-lifted-brightness));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.scalar-app .backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.scalar-app .transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.scalar-app .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.scalar-app .transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.scalar-app .transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.scalar-app .transition-none{transition-property:none}.scalar-app .duration-100{--tw-duration:.1s;transition-duration:.1s}.scalar-app .duration-150{--tw-duration:.15s;transition-duration:.15s}.scalar-app .duration-200{--tw-duration:.2s;transition-duration:.2s}.scalar-app .duration-300{--tw-duration:.3s;transition-duration:.3s}.scalar-app .ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.scalar-app .outline-none{--tw-outline-style:none;outline-style:none}.scalar-app .select-none{-webkit-user-select:none;user-select:none}.scalar-app .\\[--scalar-address-bar-height\\:32px\\]{--scalar-address-bar-height:32px}.scalar-app .app-drag-region{-webkit-app-region:drag}.scalar-app .app-no-drag-region{-webkit-app-region:no-drag}:is(.scalar-app .\\*\\:flex>*){display:flex}:is(.scalar-app .\\*\\:h-8>*){height:32px}:is(.scalar-app .\\*\\:cursor-pointer>*){cursor:pointer}:is(.scalar-app .\\*\\:items-center>*){align-items:center}:is(.scalar-app .\\*\\:rounded-none>*){border-radius:0}:is(.scalar-app .\\*\\:border-t>*){border-top-style:var(--tw-border-style);border-top-width:var(--scalar-border-width)}:is(.scalar-app .\\*\\:border-b-0>*){border-bottom-style:var(--tw-border-style);border-bottom-width:0}:is(.scalar-app .\\*\\:px-1\\.5>*){padding-inline:6px}:is(.scalar-app .\\*\\:pl-4>*){padding-left:16px}.scalar-app .group-first\\/row\\:border-t-0:is(:where(.group\\/row):first-child *){border-top-style:var(--tw-border-style);border-top-width:0}.scalar-app .group-last\\:border-b-transparent:is(:where(.group):last-child *){border-bottom-color:#0000}.scalar-app .group-last\\/label\\:rounded-br-lg:is(:where(.group\\/label):last-child *){border-bottom-right-radius:var(--scalar-radius-lg)}.scalar-app .group-focus-within\\:flex:is(:where(.group):focus-within *){display:flex}@media(hover:hover){.scalar-app .group-hover\\:block:is(:where(.group):hover *){display:block}.scalar-app .group-hover\\:flex:is(:where(.group):hover *){display:flex}.scalar-app .group-hover\\:hidden:is(:where(.group):hover *){display:none}.scalar-app .group-hover\\:inline:is(:where(.group):hover *){display:inline}.scalar-app .group-hover\\:pr-5:is(:where(.group):hover *){padding-right:20px}.scalar-app .group-hover\\:pr-6:is(:where(.group):hover *){padding-right:24px}.scalar-app .group-hover\\:pr-10:is(:where(.group):hover *){padding-right:40px}.scalar-app .group-hover\\:text-c-1:is(:where(.group):hover *){color:var(--scalar-color-1)}.scalar-app .group-hover\\:opacity-80:is(:where(.group):hover *){opacity:.8}.scalar-app .group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.scalar-app .group-hover\\/auth\\:absolute:is(:where(.group\\/auth):hover *){position:absolute}.scalar-app .group-hover\\/auth\\:h-auto:is(:where(.group\\/auth):hover *){height:auto}.scalar-app .group-hover\\/auth\\:border-b:is(:where(.group\\/auth):hover *){border-bottom-style:var(--tw-border-style);border-bottom-width:var(--scalar-border-width)}.scalar-app .group-hover\\/cell\\:opacity-100:is(:where(.group\\/cell):hover *){opacity:1}.scalar-app .group-hover\\/item\\:flex:is(:where(.group\\/item):hover *){display:flex}.scalar-app .group-hover\\/item\\:opacity-100:is(:where(.group\\/item):hover *),.scalar-app .group-hover\\/params\\:opacity-100:is(:where(.group\\/params):hover *){opacity:1}.scalar-app .group-hover\\/row\\:flex:is(:where(.group\\/row):hover *){display:flex}.scalar-app .group-hover\\/scopes-accordion\\:text-c-2:is(:where(.group\\/scopes-accordion):hover *){color:var(--scalar-color-2)}.scalar-app .group-hover\\/upload\\:block:is(:where(.group\\/upload):hover *){display:block}}.scalar-app .group-focus-visible\\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.scalar-app .group-focus-visible\\:outline:is(:where(.group):focus-visible *){outline-style:var(--tw-outline-style);outline-width:1px}.scalar-app .group-has-focus-visible\\:hidden:is(:where(.group):has(:focus-visible) *){display:none}.scalar-app .group-has-\\[\\.cm-focused\\]\\:z-1:is(:where(.group):has(.cm-focused) *){z-index:1}.scalar-app .group-has-\\[\\.cm-focused\\]\\:flex:is(:where(.group):has(.cm-focused) *){display:flex}.scalar-app .group-has-\\[\\.cm-focused\\]\\:pr-6:is(:where(.group):has(.cm-focused) *){padding-right:24px}.scalar-app .group-has-\\[\\.cm-focused\\]\\:pr-10:is(:where(.group):has(.cm-focused) *){padding-right:40px}.scalar-app .group-has-\\[\\:focus-visible\\]\\:hidden:is(:where(.group):has(:focus-visible) *){display:none}.scalar-app .group-has-\\[\\:focus-visible\\]\\:opacity-100:is(:where(.group):has(:focus-visible) *){opacity:1}.scalar-app .group-has-\\[\\:focus-visible\\]\\/cell\\:border-c-accent:is(:where(.group\\/cell):has(:focus-visible) *){border-color:var(--scalar-color-accent)}.scalar-app .group-has-\\[\\:focus-visible\\]\\/cell\\:opacity-100:is(:where(.group\\/cell):has(:focus-visible) *){opacity:1}.scalar-app .group-has-\\[\\:focus-visible\\]\\/input\\:block:is(:where(.group\\/input):has(:focus-visible) *){display:block}.scalar-app .group-has-\\[input\\]\\/label\\:mr-0:is(:where(.group\\/label):has(:is(input)) *){margin-right:0}.scalar-app .group-aria-expanded\\/button\\:rotate-180:is(:where(.group\\/button)[aria-expanded=true] *),.scalar-app .group-aria-expanded\\/combobox-button\\:rotate-180:is(:where(.group\\/combobox-button)[aria-expanded=true] *){rotate:180deg}.scalar-app .group-\\[\\.alert\\]\\:bg-b-alert:is(:where(.group).alert *){background-color:var(--scalar-background-alert)}.scalar-app .group-\\[\\.alert\\]\\:bg-transparent:is(:where(.group).alert *){background-color:#0000}.scalar-app .group-\\[\\.alert\\]\\:shadow-none:is(:where(.group).alert *){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .group-\\[\\.alert\\]\\:outline-orange:is(:where(.group).alert *){outline-color:var(--scalar-color-orange)}.scalar-app .group-\\[\\.error\\]\\:bg-b-danger:is(:where(.group).error *){background-color:var(--scalar-background-danger)}.scalar-app .group-\\[\\.error\\]\\:bg-transparent:is(:where(.group).error *){background-color:#0000}.scalar-app .group-\\[\\.error\\]\\:text-red:is(:where(.group).error *){color:var(--scalar-color-red)}.scalar-app .group-\\[\\.error\\]\\:shadow-none:is(:where(.group).error *){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.scalar-app .group-\\[\\.error\\]\\:outline-red:is(:where(.group).error *){outline-color:var(--scalar-color-red)}.scalar-app .peer-checked\\:text-c-1:is(:where(.peer):checked~*){color:var(--scalar-color-1)}.scalar-app .peer-has-\\[\\.cm-focused\\]\\:opacity-0:is(:where(.peer):has(.cm-focused)~*){opacity:0}.scalar-app .peer-has-\\[\\.color-selector\\]\\:hidden:is(:where(.peer):has(.color-selector)~*){display:none}.scalar-app .before\\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.scalar-app .before\\:absolute:before{content:var(--tw-content);position:absolute}.scalar-app .before\\:top-0:before{content:var(--tw-content);top:0}.scalar-app .before\\:left-3:before{content:var(--tw-content);left:12px}.scalar-app .before\\:left-\\[calc\\(\\.75rem_\\+_\\.5px\\)\\]:before{content:var(--tw-content);left:calc(.75rem + .5px)}.scalar-app .before\\:z-1:before{content:var(--tw-content);z-index:1}.scalar-app .before\\:h-\\[calc\\(100\\%_\\+_\\.5px\\)\\]:before{content:var(--tw-content);height:calc(100% + .5px)}.scalar-app .before\\:w-\\[\\.5px\\]:before{content:var(--tw-content);width:.5px}.scalar-app .before\\:bg-border:before{content:var(--tw-content);background-color:var(--scalar-border-color)}.scalar-app .after\\:content-\\[\\\'\\:\\\'\\]:after{--tw-content:":";content:var(--tw-content)}:is(.scalar-app .\\*\\:first\\:line-clamp-1>*):first-child{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.scalar-app .\\*\\:first\\:rounded-l>*):first-child{border-top-left-radius:var(--scalar-radius);border-bottom-left-radius:var(--scalar-radius)}:is(.scalar-app .\\*\\:first\\:border-t-0>*):first-child,:is(.scalar-app .first\\:\\*\\:border-t-0:first-child>*){border-top-style:var(--tw-border-style);border-top-width:0}:is(.scalar-app .\\*\\:first\\:text-ellipsis>*):first-child{text-overflow:ellipsis}@media(hover:hover){:is(.scalar-app .group-hover\\/auth\\:\\*\\:first\\:line-clamp-none:is(:where(.group\\/auth):hover *)>*):first-child{-webkit-line-clamp:unset;-webkit-box-orient:horizontal;display:block;overflow:visible}}.scalar-app .last\\:mb-0:last-child{margin-bottom:0}.scalar-app .last\\:rounded-b-lg:last-child{border-bottom-right-radius:var(--scalar-radius-lg);border-bottom-left-radius:var(--scalar-radius-lg)}.scalar-app .last\\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}:is(.scalar-app .\\*\\:last\\:rounded-r>*):last-child{border-top-right-radius:var(--scalar-radius);border-bottom-right-radius:var(--scalar-radius)}.scalar-app .last\\:before\\:h-full:last-child:before{content:var(--tw-content);height:100%}.scalar-app .last-of-type\\:first-of-type\\:border-b-0:last-of-type:first-of-type{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.scalar-app .focus-within\\:z-20:focus-within{z-index:20}.scalar-app .focus-within\\:border-\\(--scalar-background-3\\):focus-within{border-color:var(--scalar-background-3)}.scalar-app .focus-within\\:bg-b-1:focus-within{background-color:var(--scalar-background-1)}.scalar-app .focus-within\\:text-c-1:focus-within{color:var(--scalar-color-1)}@media(hover:hover){.scalar-app .hover\\:cursor-default:hover{cursor:default}.scalar-app .hover\\:border-\\(--scalar-background-3\\):hover{border-color:var(--scalar-background-3)}.scalar-app .hover\\:border-inherit:hover{border-color:inherit}.scalar-app .hover\\:bg-b-2:hover{background-color:var(--scalar-background-2)}.scalar-app .hover\\:bg-b-3:hover{background-color:var(--scalar-background-3)}.scalar-app .hover\\:bg-c-accent\\/20:hover{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .hover\\:bg-c-accent\\/20:hover{background-color:var(--scalar-color-accent)}@supports (color:color-mix(in lab,red,red)){.scalar-app .hover\\:bg-c-accent\\/20:hover{background-color:color-mix(in oklab,var(--scalar-color-accent)20%,transparent)}}}.scalar-app .hover\\:bg-inherit:hover{background-color:inherit}.scalar-app .hover\\:bg-sidebar-b-active:hover{background-color:var(--scalar-sidebar-item-active-background,var(--scalar-background-2))}.scalar-app .hover\\:whitespace-normal:hover{white-space:normal}.scalar-app .hover\\:text-c-1:hover{color:var(--scalar-color-1)}.scalar-app .hover\\:text-c-2:hover{color:var(--scalar-color-2)}.scalar-app .hover\\:underline:hover{text-decoration-line:underline}.scalar-app .hover\\:brightness-75:hover{--tw-brightness:brightness(75%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.scalar-app .focus\\:border-b-1:focus{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--scalar-background-1)}.scalar-app .focus\\:text-c-1:focus{color:var(--scalar-color-1)}.scalar-app .focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.scalar-app .focus-visible\\:z-10:focus-visible{z-index:10}.scalar-app .active\\:text-c-1:active{color:var(--scalar-color-1)}.scalar-app .disabled\\:cursor-default:disabled{cursor:default}.scalar-app .disabled\\:text-c-2:disabled{color:var(--scalar-color-2)}.scalar-app .has-focus-visible\\:bg-b-1:has(:focus-visible){background-color:var(--scalar-background-1)}.scalar-app .has-focus-visible\\:outline:has(:focus-visible){outline-style:var(--tw-outline-style);outline-width:1px}.scalar-app .has-\\[\\.empty-sidebar-item\\]\\:border-t:has(.empty-sidebar-item){border-top-style:var(--tw-border-style);border-top-width:var(--scalar-border-width)}.scalar-app .has-\\[\\:focus-visible\\]\\:absolute:has(:focus-visible){position:absolute}.scalar-app .has-\\[\\:focus-visible\\]\\:z-1:has(:focus-visible){z-index:1}.scalar-app .has-\\[\\:focus-visible\\]\\:rounded-\\[4px\\]:has(:focus-visible){border-radius:4px}.scalar-app .has-\\[\\:focus-visible\\]\\:bg-b-1:has(:focus-visible){background-color:var(--scalar-background-1)}.scalar-app .has-\\[\\:focus-visible\\]\\:opacity-100:has(:focus-visible){opacity:1}.scalar-app .has-\\[\\:focus-visible\\]\\:outline:has(:focus-visible){outline-style:var(--tw-outline-style);outline-width:1px}@media not all and (min-width:800px){.scalar-app .max-md\\:absolute\\!{position:absolute!important}.scalar-app .max-md\\:w-full\\!{width:100%!important}}@media(min-width:600px){.scalar-app .sm\\:not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.scalar-app .sm\\:order-none{order:0}.scalar-app .sm\\:mr-1\\.5{margin-right:6px}.scalar-app .sm\\:mb-1\\.5{margin-bottom:6px}.scalar-app .sm\\:ml-1\\.5{margin-left:6px}.scalar-app .sm\\:flex{display:flex}.scalar-app .sm\\:hidden{display:none}.scalar-app .sm\\:max-w-max{max-width:max-content}.scalar-app .sm\\:min-w-max{min-width:max-content}.scalar-app .sm\\:flex-col{flex-direction:column}.scalar-app .sm\\:flex-row{flex-direction:row}.scalar-app .sm\\:justify-between{justify-content:space-between}.scalar-app .sm\\:gap-px{gap:1px}.scalar-app .sm\\:rounded{border-radius:var(--scalar-radius)}.scalar-app .sm\\:rounded-lg{border-radius:var(--scalar-radius-lg)}.scalar-app .sm\\:px-2{padding-inline:8px}.scalar-app .sm\\:px-3{padding-inline:12px}.scalar-app .sm\\:py-1\\.5{padding-block:6px}:is(.scalar-app .sm\\:\\*\\:rounded-lg>*){border-radius:var(--scalar-radius-lg)}}@media(min-width:800px){.scalar-app .md\\:right-10{right:40px}.scalar-app .md\\:bottom-10{bottom:40px}.scalar-app .md\\:mx-auto{margin-inline:auto}.scalar-app .md\\:-ml-1\\.25{margin-left:-5px}.scalar-app .md\\:ml-1\\.5{margin-left:6px}.scalar-app .md\\:block{display:block}.scalar-app .md\\:flex{display:flex}.scalar-app .md\\:grid{display:grid}.scalar-app .md\\:w-full{width:100%}.scalar-app .md\\:max-w-180,.scalar-app .md\\:max-w-\\[720px\\]{max-width:720px}.scalar-app .md\\:min-w-fit{min-width:fit-content}.scalar-app .md\\:flex-none{flex:none}.scalar-app .md\\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .md\\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x)var(--tw-translate-y)}.scalar-app .md\\:grid-cols-\\[1fr_720px_1fr\\]{grid-template-columns:1fr 720px 1fr}.scalar-app .md\\:flex-row{flex-direction:row}.scalar-app .md\\:border-r{border-right-style:var(--tw-border-style);border-right-width:var(--scalar-border-width)}.scalar-app .md\\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.scalar-app .md\\:p-1\\.5{padding:6px}.scalar-app .md\\:px-0{padding-inline:0}.scalar-app .md\\:px-1\\.5{padding-inline:6px}.scalar-app .md\\:px-2{padding-inline:8px}.scalar-app .md\\:px-2\\.5{padding-inline:10px}.scalar-app .md\\:px-4{padding-inline:16px}.scalar-app .md\\:px-\\[18px\\]{padding-inline:18px}.scalar-app .md\\:py-2\\.5{padding-block:10px}.scalar-app .md\\:pb-2\\.5{padding-bottom:10px}.scalar-app .md\\:pb-\\[37px\\]{padding-bottom:37px}.scalar-app .md\\:pl-0{padding-left:0}:is(.scalar-app .md\\:\\*\\:border-t-0>*){border-top-style:var(--tw-border-style);border-top-width:0}}@media(min-width:1000px){.scalar-app .lg\\:order-0,.scalar-app .lg\\:order-none{order:0}.scalar-app .lg\\:-mr-1{margin-right:-4px}.scalar-app .lg\\:mb-0{margin-bottom:0}.scalar-app .lg\\:flex{display:flex}.scalar-app .lg\\:min-h-header{min-height:48px}.scalar-app .lg\\:w-auto{width:auto}.scalar-app .lg\\:max-w-\\[580px\\]{max-width:580px}.scalar-app .lg\\:min-w-\\[580px\\]{min-width:580px}.scalar-app .lg\\:flex-1{flex:1}.scalar-app .lg\\:p-0{padding:0}.scalar-app .lg\\:p-1{padding:4px}.scalar-app .lg\\:px-1{padding-inline:4px}.scalar-app .lg\\:px-2\\.5{padding-inline:10px}.scalar-app .lg\\:pt-1{padding-top:4px}.scalar-app .lg\\:pr-24{padding-right:96px}}@media(min-width:1200px){.scalar-app .xl\\:\\!flex{display:flex!important}.scalar-app .xl\\:flex{display:flex}.scalar-app .xl\\:hidden{display:none}.scalar-app .xl\\:h-fit{height:fit-content}.scalar-app .xl\\:h-full{height:100%}.scalar-app .xl\\:min-h-header{min-height:48px}.scalar-app .xl\\:max-w-\\[720px\\]{max-width:720px}.scalar-app .xl\\:min-w-0{min-width:0}.scalar-app .xl\\:min-w-\\[720px\\]{min-width:720px}.scalar-app .xl\\:flex-row{flex-direction:row}.scalar-app .xl\\:overflow-auto{overflow:auto}.scalar-app .xl\\:overflow-hidden{overflow:hidden}.scalar-app .xl\\:rounded-none{border-radius:0}.scalar-app .xl\\:pr-0\\.5{padding-right:2px}.scalar-app .xl\\:pl-2{padding-left:8px}:is(.scalar-app .\\*\\:xl\\:border-t-0>*){border-top-style:var(--tw-border-style);border-top-width:0}:is(.scalar-app .\\*\\:xl\\:border-l>*){border-left-style:var(--tw-border-style);border-left-width:var(--scalar-border-width)}:is(.scalar-app .\\*\\:first\\:xl\\:border-l-0>*):first-child{border-left-style:var(--tw-border-style);border-left-width:0}}.scalar-app .dark\\:bg-b-2:where(.dark-mode,.dark-mode *){background-color:var(--scalar-background-2)}@media(hover:hover){.scalar-app .hover\\:dark\\:bg-b-2:hover:where(.dark-mode,.dark-mode *){background-color:var(--scalar-background-2)}}.scalar-app .ui-open\\:rotate-90[data-headlessui-state~=open],:where([data-headlessui-state~=open]) :is(.scalar-app .ui-open\\:rotate-90){rotate:90deg}.scalar-app .ui-open\\:rotate-180[data-headlessui-state~=open],:where([data-headlessui-state~=open]) :is(.scalar-app .ui-open\\:rotate-180){rotate:180deg}.scalar-app .last\\:ui-open\\:border-b-0:last-child[data-headlessui-state~=open],:where([data-headlessui-state~=open]) .scalar-app .last\\:ui-open\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.scalar-app .ui-not-open\\:hidden[data-headlessui-state]:not([data-headlessui-state~=open]),:where([data-headlessui-state]:not([data-headlessui-state~=open])) :is(.scalar-app .ui-not-open\\:hidden):not([data-headlessui-state]){display:none}.scalar-app .ui-not-open\\:rotate-0[data-headlessui-state]:not([data-headlessui-state~=open]),:where([data-headlessui-state]:not([data-headlessui-state~=open])) :is(.scalar-app .ui-not-open\\:rotate-0):not([data-headlessui-state]){rotate:none}.scalar-app .ui-checked\\:bg-b-3[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) :is(.scalar-app .ui-checked\\:bg-b-3){background-color:var(--scalar-background-3)}.scalar-app .ui-active\\:bg-b-2[data-headlessui-state~=active],:where([data-headlessui-state~=active]) :is(.scalar-app .ui-active\\:bg-b-2),:is(.scalar-app .ui-active\\:\\*\\:bg-b-2[data-headlessui-state~=active]>*),:is(:where([data-headlessui-state~=active]) :is(.scalar-app .ui-active\\:\\*\\:bg-b-2)>*){background-color:var(--scalar-background-2)}@media(max-width:720px)and (max-height:480px){.scalar-app .zoomed\\:static{position:static}.scalar-app .zoomed\\:p-1{padding:4px}}.app-platform-mac :is(.scalar-app .mac\\:pl-\\[72px\\]){padding-left:72px}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}.nav-item[data-v-507381a3]{cursor:pointer;border-radius:var(--scalar-radius-lg);background:var(--scalar-background-3);border:var(--scalar-border-width)solid var(--scalar-background-2);color:var(--scalar-color-3);flex:1;justify-content:center;align-items:center;min-width:0;padding:4.5px;display:flex;position:relative;overflow:hidden}.dark-mode .nav-item[data-v-507381a3]{background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.dark-mode .nav-item[data-v-507381a3]{background:color-mix(in srgb,var(--scalar-background-2),transparent)}}.nav-item-icon-copy[data-v-507381a3]{white-space:nowrap;max-width:100%;-webkit-mask-image:linear-gradient(to left,transparent 0,var(--scalar-background-2)20px);mask-image:linear-gradient(to left,transparent 0,var(--scalar-background-2)20px);overflow:hidden}.nav-item:hover .nav-item-icon-copy[data-v-507381a3]{-webkit-mask-image:linear-gradient(to left,transparent 20px,var(--scalar-background-2)40px);mask-image:linear-gradient(to left,transparent 20px,var(--scalar-background-2)40px)}.nav-item-copy[data-v-507381a3]{max-width:calc(100% - 20px)}.nav-item[data-v-507381a3]:hover{color:var(--scalar-color-1)}.nav-item__active[data-v-507381a3]{background-color:var(--scalar-background-1);color:var(--scalar-color-1);border-color:var(--scalar-border-color)}.dark-mode .nav-item__active[data-v-507381a3]{background-color:var(--scalar-background-2)}.nav-item-close[data-v-507381a3]{border-radius:var(--scalar-radius);stroke-width:1.5px;max-width:20px;color:var(--scalar-color-3);opacity:0;background:0 0;margin-left:-20px;padding:2px;position:absolute;right:3px}.nav-item:hover .nav-item-close[data-v-507381a3]{opacity:1}.nav-item-close[data-v-507381a3]:hover{background-color:var(--scalar-background-4)}.nav-item__active .nav-item-close[data-v-507381a3]:hover{background-color:var(--scalar-background-2)}.download-app-button[data-v-cb45fa05]{box-shadow:0 0 0 .5px var(--scalar-border-color);background:linear-gradient(#ffffffbf,#00000009)}.dark-mode .download-app-button[data-v-cb45fa05]{background:linear-gradient(#ffffff1a,#00000026)}.download-app-button[data-v-cb45fa05]:hover{background:linear-gradient(#00000009,#ffffffbf)}.dark-mode .download-app-button[data-v-cb45fa05]:hover{background:linear-gradient(#00000026,#ffffff1a)}.http-bg-gradient[data-v-076b14a1]{background:linear-gradient(#ffffffbf,#00000009)}.http-bg-gradient[data-v-076b14a1]:hover{background:linear-gradient(#00000009,#ffffffbf)}.dark-mode .http-bg-gradient[data-v-076b14a1]{background:linear-gradient(#ffffff09,#00000026)}.dark-mode .http-bg-gradient[data-v-076b14a1]:hover{background:linear-gradient(#00000026,#ffffff09)}.scroll-timeline-x[data-v-e0578855]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;-ms-overflow-style:none;scrollbar-width:none;overflow:auto}.commandmenu[data-v-dd90fe74]{box-shadow:var(--scalar-shadow-2);border-radius:var(--scalar-radius-lg);background-color:var(--scalar-background-1);opacity:0;width:100%;max-width:580px;max-height:60dvh;margin:12px;animation:.3s ease-in-out .1s forwards fadeincommandmenu-dd90fe74;position:fixed;top:150px;left:50%;transform:translate(-50%,10px)}.commandmenu-overlay[data-v-dd90fe74]{cursor:pointer;background:#0003;animation:.3s ease-in-out forwards fadeincommand-dd90fe74;position:fixed;inset:0}@keyframes fadeincommand-dd90fe74{0%{opacity:0}to{opacity:1}}@keyframes fadeincommandmenu-dd90fe74{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.scalar .scalar-app-layout[data-v-6118685a]{background:var(--scalar-background-1);border:var(--scalar-border-width)solid var(--scalar-border-color);border-radius:8px;width:100%;max-width:1390px;height:calc(100% - 120px);margin:auto;position:relative;overflow:hidden}@media(max-width:720px)and (max-height:480px){.scalar .scalar-app-layout[data-v-6118685a]{height:100%;max-height:90svh}}.scalar .scalar-app-exit[data-v-6118685a]{cursor:pointer;z-index:-1;background:#00000038;width:100vw;height:100vh;position:fixed;top:0;left:0}.dark-mode .scalar .scalar-app-exit[data-v-6118685a]{background:#00000073}.scalar .scalar-app-exit[data-v-6118685a]:before{text-align:center;color:#fff;opacity:.6;font-family:sans-serif;font-size:30px;font-weight:100;line-height:50px;position:absolute;top:0;right:12px}.scalar .scalar-app-exit[data-v-6118685a]:hover:before{opacity:1}.scalar-container[data-v-6118685a]{visibility:visible;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.scalar .url-form-input[data-v-6118685a]{min-height:auto!important}.scalar .scalar-container[data-v-6118685a]{line-height:normal}.scalar-client-fade-enter-active[data-v-6118685a],.scalar-client-fade-leave-active[data-v-6118685a]{transition:opacity .35s}.scalar-client-fade-enter-from[data-v-6118685a],.scalar-client-fade-leave-to[data-v-6118685a]{opacity:0}.open-api-client-button[data-v-c7bdd328]{cursor:pointer;text-align:center;white-space:nowrap;width:100%;height:31px;font-size:var(--scalar-small);border-radius:var(--scalar-radius);box-shadow:0 0 0 .5px var(--scalar-border-color);color:var(--scalar-sidebar-color-1);justify-content:center;align-items:center;gap:6px;padding:9px 12px;line-height:1.385;text-decoration:none;display:flex}.open-api-client-button[data-v-c7bdd328]:hover{background:var(--scalar-sidebar-item-hover-background,var(--scalar-background-2))}[data-v-103d9d56] .cm-editor{background:0 0;outline:none;height:100%;padding:0}[data-v-103d9d56] .cm-placeholder{color:var(--scalar-color-3)}[data-v-103d9d56] .cm-content{font-family:var(--scalar-font-code);font-size:var(--scalar-small);max-height:20px;padding:8px 0}[data-v-103d9d56] .cm-tooltip{filter:brightness(var(--scalar-lifted-brightness));border-radius:var(--scalar-radius);box-shadow:var(--scalar-shadow-2);background:0 0!important;border:none!important;outline:none!important;overflow:hidden!important}[data-v-103d9d56] .cm-tooltip-autocomplete ul li{padding:3px 6px!important}[data-v-103d9d56] .cm-completionIcon-type:after{color:var(--scalar-color-3)!important}[data-v-103d9d56] .cm-tooltip-autocomplete ul li[aria-selected]{background:var(--scalar-background-2)!important;color:var(--scalar-color-1)!important}[data-v-103d9d56] .cm-tooltip-autocomplete ul{position:relative;padding:6px!important}[data-v-103d9d56] .cm-tooltip-autocomplete ul li:hover{border-radius:3px;color:var(--scalar-color-1)!important;background:var(--scalar-background-3)!important}[data-v-103d9d56] .cm-activeLine,[data-v-103d9d56] .cm-activeLineGutter{background-color:#0000}[data-v-103d9d56] .cm-selectionMatch,[data-v-103d9d56] .cm-matchingBracket{border-radius:var(--scalar-radius);background:var(--scalar-background-4)!important}[data-v-103d9d56] .cm-css-color-picker-wrapper{outline:1px solid var(--scalar-background-3);border-radius:3px;display:inline-flex;overflow:hidden}[data-v-103d9d56] .cm-gutters{color:var(--scalar-color-3);font-size:var(--scalar-small);background-color:#0000;border-right:none;border-radius:0 0 0 3px;line-height:22px}[data-v-103d9d56] .cm-gutters:before{content:"";border-radius:var(--scalar-radius)0 0 var(--scalar-radius);background-color:var(--scalar-background-1);width:calc(100% - 2px);height:calc(100% - 4px);position:absolute;top:2px;left:2px}[data-v-103d9d56] .cm-gutterElement{justify-content:flex-end;align-items:center;display:flex;position:relative;font-family:var(--scalar-font-code)!important;padding-left:0!important;padding-right:6px!important}[data-v-103d9d56] .cm-lineNumbers .cm-gutterElement{min-width:fit-content}[data-v-103d9d56] .cm-gutter+.cm-gutter :not(.cm-foldGutter) .cm-gutterElement{padding-left:0!important}[data-v-103d9d56] .cm-scroller{overflow:auto}.line-wrapping[data-v-103d9d56]:focus-within .cm-content{white-space:break-spaces;word-break:break-all;min-height:fit-content;padding:3px 6px;display:inline-table}.address-bar-history-button[data-v-a93fa60f]:hover{background:var(--scalar-background-3)}.address-bar-history-button[data-v-a93fa60f]:focus-within{background:var(--scalar-background-2)}.description[data-v-92012388] .markdown{font-weight:var(--scalar-semibold);color:var(--scalar-color--1);padding:0;display:block}.description[data-v-92012388] .markdown>:first-child{margin-top:0}[data-v-cb2a35da] .cm-editor{outline:none;width:100%;height:100%}[data-v-cb2a35da] .cm-line{padding:0}[data-v-cb2a35da] .cm-content{font-size:var(--scalar-small);align-items:center;padding:0;display:flex}.scroll-timeline-x[data-v-cb2a35da]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;-ms-overflow-style:none}.scroll-timeline-x-hidden[data-v-cb2a35da]{overflow-x:auto}.scroll-timeline-x-hidden[data-v-cb2a35da] .cm-scroller{scrollbar-width:none;-ms-overflow-style:none;padding-right:20px;overflow:auto}.scroll-timeline-x-hidden[data-v-cb2a35da]::-webkit-scrollbar{width:0;height:0;display:none}.scroll-timeline-x-hidden[data-v-cb2a35da] .cm-scroller::-webkit-scrollbar{width:0;height:0;display:none}.scroll-timeline-x-address[data-v-cb2a35da]{scrollbar-width:none;line-height:27px}.scroll-timeline-x-address[data-v-cb2a35da]:after{content:"";cursor:text;width:24px;height:100%;position:absolute;right:0}.scroll-timeline-x-address[data-v-cb2a35da]:empty:before{content:"Enter URL or cURL request";color:var(--scalar-color-3);pointer-events:none}.fade-left[data-v-cb2a35da],.fade-right[data-v-cb2a35da]{content:"";pointer-events:none;z-index:1;height:100%;animation-name:fadein-cb2a35da;animation-duration:1ms;animation-direction:reverse;animation-timeline:--scroll-timeline;position:sticky}.fade-left[data-v-cb2a35da]{background:linear-gradient(-90deg,var(--scalar-address-bar-bg)0%,var(--scalar-address-bar-bg)30%,var(--scalar-address-bar-bg)100%)}@supports (color:color-mix(in lab,red,red)){.fade-left[data-v-cb2a35da]{background:linear-gradient(-90deg,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 100%)0%,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 20%)30%,var(--scalar-address-bar-bg)100%)}}.fade-left[data-v-cb2a35da]{min-width:6px;animation-direction:normal;left:-1px}.fade-right[data-v-cb2a35da]{background:linear-gradient(90deg,var(--scalar-address-bar-bg)0%,var(--scalar-address-bar-bg)30%,var(--scalar-address-bar-bg)100%)}@supports (color:color-mix(in lab,red,red)){.fade-right[data-v-cb2a35da]{background:linear-gradient(90deg,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 100%)0%,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 20%)30%,var(--scalar-address-bar-bg)100%)}}.fade-right[data-v-cb2a35da]{min-width:24px;right:-1px}@keyframes fadein-cb2a35da{0%{opacity:0}1%{opacity:1}}.address-bar-bg-states[data-v-cb2a35da]{--scalar-address-bar-bg:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.address-bar-bg-states[data-v-cb2a35da]{--scalar-address-bar-bg:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.address-bar-bg-states[data-v-cb2a35da]{background:var(--scalar-address-bar-bg)}.address-bar-bg-states[data-v-cb2a35da]:has(.cm-focused){--scalar-address-bar-bg:var(--scalar-background-1);border-color:var(--scalar-border-color);outline:1px solid var(--scalar-color-accent)}.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-cb2a35da],.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-cb2a35da]{--scalar-address-bar-bg:var(--scalar-background-1)}.sidebar-height[data-v-dcff7b49]{min-height:100%}@media(min-width:800px){.sidebar-mask[data-v-dcff7b49]{-webkit-mask-image:linear-gradient(0,transparent 0,transparent 0,var(--scalar-background-2)30px);mask-image:linear-gradient(0,transparent 0,transparent 0,var(--scalar-background-2)30px)}}.resizer[data-v-dcff7b49]{cursor:col-resize;border-right:2px solid #0000;width:5px;transition:border-right-color .3s;position:absolute;top:0;bottom:0;right:0}.resizer[data-v-dcff7b49]:hover,.dragging .resizer[data-v-dcff7b49]{border-right-color:var(--scalar-background-3)}.dragging[data-v-dcff7b49]{cursor:col-resize}.dragging[data-v-dcff7b49]:before{content:"";width:100%;height:100%;display:block;position:absolute}[data-v-c1a50a6e] .cm-editor{padding:0}[data-v-c1a50a6e] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-c1a50a6e] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-c1a50a6e] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-c1a50a6e] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-c1a50a6e] .cm-line{text-overflow:ellipsis;word-break:break-word;padding:0;overflow:hidden}.required[data-v-c1a50a6e]:after{content:"Required"}input[data-v-c1a50a6e]::placeholder{color:var(--scalar-color-3)}.scalar-password-input[data-v-c1a50a6e]{text-security:disc;-webkit-text-security:disc;-moz-text-security:disc}@media(min-width:800px){.has-no-import-url,.has-import-url{contain:paint;max-width:100dvw;overflow-x:hidden}.has-no-import-url .scalar-client>main{opacity:1;background:var(--scalar-background-1);animation:.3s ease-in-out forwards transform-restore-layout}.has-import-url .scalar-client>main{opacity:0;border:var(--scalar-border-width)solid var(--scalar-border-color);z-index:10000;border-radius:12px;animation:.3s ease-in-out forwards transform-fade-layout;overflow:hidden;transform:scale(.85)translate(calc(50dvw + 80px))}.has-import-url .scalar-client .sidenav{display:none}.has-no-import-url .scalar-app,.has-import-url .scalar-app{background:var(--scalar-background-1)!important}}@keyframes transform-fade-layout{0%{opacity:0;transform:scale(.85)translate(calc(50dvw + 80px),10px)}to{opacity:1;transform:scale(.85)translate(calc(50dvw + 80px))}}@keyframes transform-restore-layout{0%{opacity:1;transform:scale(.85)translate(calc(50dvw + 80px))}to{opacity:1;transform:scale(1)translate(0)}}.openapi-color{color:var(--scalar-color-green)}.section-flare{position:fixed;top:0;right:-50dvw}#scalar-client{background-color:var(--scalar-background-2);flex-direction:column;width:100dvw;height:100dvh;display:flex;position:relative}.address-bar-history-button[data-v-c15c6573]:hover{background:var(--scalar-background-3)}.address-bar-history-button[data-v-c15c6573]:focus-within{background:var(--scalar-background-2)}.description[data-v-1b7a32a4] .markdown{font-weight:var(--scalar-semibold);color:var(--scalar-color--1);padding:0;display:block}.description[data-v-1b7a32a4] .markdown>:first-child{margin-top:0}[data-v-a0bd2752] .cm-editor{background:0 0;outline:none;height:100%;padding:0}[data-v-a0bd2752] .cm-placeholder{color:var(--scalar-color-3)}[data-v-a0bd2752] .cm-content{font-family:var(--scalar-font-code);font-size:var(--scalar-small);max-height:20px;padding:8px 0}[data-v-a0bd2752] .cm-tooltip{filter:brightness(var(--scalar-lifted-brightness));border-radius:var(--scalar-radius);box-shadow:var(--scalar-shadow-2);background:0 0!important;border:none!important;outline:none!important;overflow:hidden!important}[data-v-a0bd2752] .cm-tooltip-autocomplete ul li{padding:3px 6px!important}[data-v-a0bd2752] .cm-completionIcon-type:after{color:var(--scalar-color-3)!important}[data-v-a0bd2752] .cm-tooltip-autocomplete ul li[aria-selected]{background:var(--scalar-background-2)!important;color:var(--scalar-color-1)!important}[data-v-a0bd2752] .cm-tooltip-autocomplete ul{position:relative;padding:6px!important}[data-v-a0bd2752] .cm-tooltip-autocomplete ul li:hover{border-radius:3px;color:var(--scalar-color-1)!important;background:var(--scalar-background-3)!important}[data-v-a0bd2752] .cm-activeLine,[data-v-a0bd2752] .cm-activeLineGutter{background-color:#0000}[data-v-a0bd2752] .cm-selectionMatch,[data-v-a0bd2752] .cm-matchingBracket{border-radius:var(--scalar-radius);background:var(--scalar-background-4)!important}[data-v-a0bd2752] .cm-css-color-picker-wrapper{outline:1px solid var(--scalar-background-3);border-radius:3px;display:inline-flex;overflow:hidden}[data-v-a0bd2752] .cm-gutters{color:var(--scalar-color-3);font-size:var(--scalar-small);background-color:#0000;border-right:none;border-radius:0 0 0 3px;line-height:22px}[data-v-a0bd2752] .cm-gutters:before{content:"";border-radius:var(--scalar-radius)0 0 var(--scalar-radius);background-color:var(--scalar-background-1);width:calc(100% - 2px);height:calc(100% - 4px);position:absolute;top:2px;left:2px}[data-v-a0bd2752] .cm-gutterElement{justify-content:flex-end;align-items:center;display:flex;position:relative;font-family:var(--scalar-font-code)!important;padding-left:0!important;padding-right:6px!important}[data-v-a0bd2752] .cm-lineNumbers .cm-gutterElement{min-width:fit-content}[data-v-a0bd2752] .cm-gutter+.cm-gutter :not(.cm-foldGutter) .cm-gutterElement{padding-left:0!important}[data-v-a0bd2752] .cm-scroller{overflow:auto}.line-wrapping[data-v-a0bd2752]:focus-within .cm-content{white-space:break-spaces;word-break:break-all;min-height:fit-content;padding:3px 6px;display:inline-table}.cm-pill{--tw-bg-base:var(--scalar-color-1);color:var(--tw-bg-base);font-size:var(--scalar-small);border-radius:30px;padding:0 9px;display:inline-block;background:var(--tw-bg-base)!important}@supports (color:color-mix(in lab,red,red)){.cm-pill{background:color-mix(in srgb,var(--tw-bg-base),transparent 94%)!important}}.cm-pill.bg-grey{background:var(--scalar-background-3)!important}.dark-mode .cm-pill{background:var(--tw-bg-base)!important}@supports (color:color-mix(in lab,red,red)){.dark-mode .cm-pill{background:color-mix(in srgb,var(--tw-bg-base),transparent 90%)!important}}.cm-pill:first-of-type{margin-left:0}.cm-editor .cm-widgetBuffer{display:none}.cm-foldPlaceholder:hover{color:var(--scalar-color-1)}.cm-foldGutter .cm-gutterElement{font-size:var(--scalar-heading-4);padding:2px!important}.cm-foldGutter .cm-gutterElement:first-of-type{display:none}.cm-foldGutter .cm-gutterElement .cm-foldMarker{padding:2px}.cm-foldGutter .cm-gutterElement:hover .cm-foldMarker{background:var(--scalar-background-2);border-radius:var(--scalar-radius);color:var(--scalar-color-1)}[data-v-791e0491] .cm-editor{outline:none;width:100%;height:100%}[data-v-791e0491] .cm-line{padding:0}[data-v-791e0491] .cm-content{font-size:var(--scalar-small);align-items:center;padding:0;display:flex}.scroll-timeline-x[data-v-791e0491]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;-ms-overflow-style:none}.scroll-timeline-x-hidden[data-v-791e0491]{overflow-x:auto}.scroll-timeline-x-hidden[data-v-791e0491] .cm-scroller{scrollbar-width:none;-ms-overflow-style:none;padding-right:20px;overflow:auto}.scroll-timeline-x-hidden[data-v-791e0491]::-webkit-scrollbar{width:0;height:0;display:none}.scroll-timeline-x-hidden[data-v-791e0491] .cm-scroller::-webkit-scrollbar{width:0;height:0;display:none}.scroll-timeline-x-address[data-v-791e0491]{scrollbar-width:none;line-height:27px}.scroll-timeline-x-address[data-v-791e0491]:after{content:"";cursor:text;width:24px;height:100%;position:absolute;right:0}.scroll-timeline-x-address[data-v-791e0491]:empty:before{content:"Enter URL or cURL request";color:var(--scalar-color-3);pointer-events:none}.fade-left[data-v-791e0491],.fade-right[data-v-791e0491]{content:"";pointer-events:none;z-index:1;height:100%;animation-name:fadein-791e0491;animation-duration:1ms;animation-direction:reverse;animation-timeline:--scroll-timeline;position:sticky}.fade-left[data-v-791e0491]{background:linear-gradient(-90deg,var(--scalar-address-bar-bg)0%,var(--scalar-address-bar-bg)30%,var(--scalar-address-bar-bg)100%)}@supports (color:color-mix(in lab,red,red)){.fade-left[data-v-791e0491]{background:linear-gradient(-90deg,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 100%)0%,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 20%)30%,var(--scalar-address-bar-bg)100%)}}.fade-left[data-v-791e0491]{min-width:6px;animation-direction:normal;left:-1px}.fade-right[data-v-791e0491]{background:linear-gradient(90deg,var(--scalar-address-bar-bg)0%,var(--scalar-address-bar-bg)30%,var(--scalar-address-bar-bg)100%)}@supports (color:color-mix(in lab,red,red)){.fade-right[data-v-791e0491]{background:linear-gradient(90deg,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 100%)0%,color-mix(in srgb,var(--scalar-address-bar-bg),transparent 20%)30%,var(--scalar-address-bar-bg)100%)}}.fade-right[data-v-791e0491]{min-width:24px;right:-1px}@keyframes fadein-791e0491{0%{opacity:0}1%{opacity:1}}.address-bar-bg-states[data-v-791e0491]{--scalar-address-bar-bg:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.address-bar-bg-states[data-v-791e0491]{--scalar-address-bar-bg:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.address-bar-bg-states[data-v-791e0491]{background:var(--scalar-address-bar-bg)}.address-bar-bg-states[data-v-791e0491]:has(.cm-focused){--scalar-address-bar-bg:var(--scalar-background-1);border-color:var(--scalar-border-color);outline-width:1px;outline-style:solid}.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-791e0491],.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-791e0491]{--scalar-address-bar-bg:var(--scalar-background-1)}.app-exit-button[data-v-7b4b0249]{color:#fff;background:#0000001a}.app-exit-button[data-v-7b4b0249]:hover{background:#ffffff1a}.fade-request-section-content[data-v-f97cc68c]{background:linear-gradient(to left,var(--scalar-background-1)64%,transparent)}.filter-hover[data-v-f97cc68c]{height:100%;padding-left:24px;padding-right:39px;transition:width 0s ease-in-out .2s;position:absolute;right:0;overflow:hidden}.filter-hover[data-v-f97cc68c]:hover,.filter-hover[data-v-f97cc68c]:has(:focus-visible){z-index:10;width:100%}.filter-hover[data-v-f97cc68c]:before{content:"";background-color:var(--scalar-background-1);opacity:0;pointer-events:none;width:100%;height:fit-content;transition:all .3s ease-in-out;position:absolute;top:0;left:0}.filter-hover-item[data-v-f97cc68c]{opacity:0}.filter-hover-item[data-v-f97cc68c]:not(:last-of-type){transform:translateY(3px)}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]{transition:opacity .2s ease-in-out,transform .2s ease-in-out}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:last-of-type{transition-delay:50ms}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(2){transition-delay:.1s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(3){transition-delay:.15s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(4){transition-delay:.2s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(5){transition-delay:.25s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(6){transition-delay:.3s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c]:nth-last-of-type(7){transition-delay:.35s}.filter-hover:hover .filter-hover-item[data-v-f97cc68c],.filter-hover:has(:focus-visible) .filter-hover-item[data-v-f97cc68c]{opacity:1;transform:translateZ(0)}.filter-hover[data-v-f97cc68c]:hover:before,.filter-hover[data-v-f97cc68c]:has(:focus-visible):before{opacity:.9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.filter-button[data-v-f97cc68c]{top:50%;transform:translateY(-50%)}.context-bar-group:hover .context-bar-group-hover\\:text-c-1[data-v-f97cc68c],.context-bar-group:has(:focus-visible) .context-bar-group-hover\\:text-c-1[data-v-f97cc68c]{--tw-text-opacity:1;color:rgb(var(--scalar-color-1)/var(--tw-text-opacity))}.context-bar-group:hover .context-bar-group-hover\\:hidden[data-v-f97cc68c],.context-bar-group:has(:focus-visible) .context-bar-group-hover\\:hidden[data-v-f97cc68c]{display:none}.schema>span[data-v-f2ab7aa3]:not(:first-child):before{content:"·";margin:0 .5ch;display:block}.schema>span[data-v-f2ab7aa3]{white-space:nowrap;display:flex}[data-v-36811e28] .cm-editor{padding:0}[data-v-36811e28] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-36811e28] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-36811e28] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-36811e28] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-36811e28] .cm-line{text-overflow:ellipsis;padding:0;overflow:hidden}.filemask[data-v-36811e28]{-webkit-mask-image:linear-gradient(to right,transparent 0,var(--scalar-background-2)20px);mask-image:linear-gradient(to right,transparent 0,var(--scalar-background-2)20px)}[data-v-3d420065] .cm-content{font-size:var(--scalar-small)}.form-group[data-v-43df1726]{margin-bottom:1rem}.modal-actions[data-v-43df1726]{justify-content:flex-end;gap:1rem;display:flex}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}[data-v-3157c3c7] .cm-editor{padding:0}[data-v-3157c3c7] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-3157c3c7] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-3157c3c7] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-3157c3c7] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-3157c3c7] .cm-line{text-overflow:ellipsis;word-break:break-word;padding:0;overflow:hidden}.required[data-v-3157c3c7]:after{content:"Required"}input[data-v-3157c3c7]::placeholder{color:var(--scalar-color-3)}.scalar-password-input[data-v-3157c3c7]{text-security:disc;-webkit-text-security:disc;-moz-text-security:disc}.request-section-content[data-v-b1bbc64b]{--scalar-border-width:.5px}.request-section-content-filter[data-v-b1bbc64b]{box-shadow:0 -10px 0 10px var(--scalar-background-1)}.request-item:focus-within .request-meta-buttons[data-v-b1bbc64b]{opacity:1}.group-hover-input[data-v-b1bbc64b]{border-width:var(--scalar-border-width);border-color:#0000}.group:hover .group-hover-input[data-v-b1bbc64b]{background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.group:hover .group-hover-input[data-v-b1bbc64b]{background:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.group:hover .group-hover-input[data-v-b1bbc64b]{border-color:var(--scalar-border-color)}.group-hover-input[data-v-b1bbc64b]:focus{border-color:var(--scalar-border-color)!important;background:0 0!important}.light-mode .bg-preview[data-v-c02b5bb8]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23000\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}.dark-mode .bg-preview[data-v-c02b5bb8]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23FFF\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}[data-v-9c64cd5e] .cm-editor{font-size:var(--scalar-small);background-color:#0000;outline:none}[data-v-9c64cd5e] .cm-gutters{background-color:var(--scalar-background-1);border-radius:var(--scalar-radius)0 0 var(--scalar-radius)}.body-raw[data-v-9c64cd5e] .cm-scroller{min-width:100%;overflow:auto}.scalar-code-block[data-v-8ae4f555] .hljs *{font-size:var(--scalar-small)}.ascii-art-animate .ascii-art-line[data-v-69ebd973]{border-right:1ch solid #0000;animation:4s step-end 1s both typewriter-69ebd973,.5s step-end infinite blinkTextCursor-69ebd973}@keyframes typewriter-69ebd973{0%{width:0}to{width:100%}}@keyframes blinkTextCursor-69ebd973{0%{border-right-color:currentColor}50%{border-right-color:#0000}}.scalar-version-number[data-v-34b57d9d]{width:76px;height:76px;font-size:8px;font-family:var(--scalar-font-code);box-shadow:inset 2px 0 0 2px var(--scalar-background-2);text-align:center;text-transform:initial;-webkit-text-decoration-color:var(--scalar-color-3);text-decoration-color:var(--scalar-color-3);border-radius:9px 9px 16px 12px;flex-direction:column;justify-content:center;align-items:center;margin-top:-113px;margin-left:-36px;line-height:11px;display:flex;position:absolute;transform:skewY(13deg)}.scalar-version-number a[data-v-34b57d9d]{background:var(--scalar-background-2);border:.5px solid var(--scalar-border-color);border-radius:3px;padding:2px 4px;font-weight:700;text-decoration:none}.gitbook-show[data-v-34b57d9d]{display:none}.v-enter-active[data-v-1f35725e]{transition:opacity .5s}.v-enter-from[data-v-1f35725e]{opacity:0}.animate-response-heading .response-heading[data-v-9c1fd1c7]{opacity:1;animation:.2s ease-in-out forwards push-response-9c1fd1c7}@keyframes push-response-9c1fd1c7{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.animate-response-heading .animate-response-children[data-v-9c1fd1c7]{opacity:0;animation:.2s ease-in-out 50ms forwards response-spans-9c1fd1c7}@keyframes response-spans-9c1fd1c7{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.request-card[data-v-cbc307e3]{font-size:var(--scalar-font-size-3)}.request-method[data-v-cbc307e3]{font-family:var(--scalar-font-code);text-transform:uppercase;margin-right:6px}.request-card-footer[data-v-cbc307e3]{flex-shrink:0;justify-content:flex-end;padding:6px;display:flex;position:relative}.request-card-footer-addon[data-v-cbc307e3]{flex:1;align-items:center;min-width:0;display:flex}.request-editor-section[data-v-cbc307e3]{flex:1;display:flex}.request-card-simple[data-v-cbc307e3]{font-size:var(--scalar-small);justify-content:space-between;align-items:center;padding:8px 8px 8px 12px;display:flex}.code-snippet[data-v-cbc307e3]{flex-direction:column;width:100%;display:flex}.resizer[data-v-e2c54c18]{cursor:col-resize;z-index:100;border-right:2px solid #0000;width:5px;transition:border-right-color .3s;position:absolute;top:0;bottom:0;right:0}.scalar-dragging{cursor:col-resize}.resizer:hover,.scalar-dragging .resizer{border-right-color:var(--scalar-background-3)}.scalar-dragging:after{content:"";display:block;position:absolute;inset:0}.scroll-timeline-x[data-v-f4568236]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;-ms-overflow-style:none;scrollbar-width:none;overflow:auto}.scroll-timeline-x[data-v-f4568236]::-webkit-scrollbar{display:none}.splash-screen[data-v-af32615f]{opacity:0;animation:.5s ease-in-out forwards fadeIn-af32615f}.logo-icon[data-v-af32615f]{opacity:0;animation:.6s ease-in-out .2s forwards fadeInLogo-af32615f,2s ease-in-out .8s infinite pulse-af32615f}@keyframes fadeIn-af32615f{0%{opacity:0}to{opacity:.9}}@keyframes fadeInLogo-af32615f{0%{opacity:0;transform:scale(.9)}to{opacity:.8;transform:scale(1)}}@keyframes pulse-af32615f{0%,to{opacity:.8}50%{opacity:.6}}.commandmenu[data-v-2fe57517]{box-shadow:var(--scalar-shadow-2);border-radius:var(--scalar-radius-lg);background-color:var(--scalar-background-1);opacity:0;width:100%;max-width:580px;max-height:60dvh;margin:12px;animation:.3s ease-in-out .1s forwards fadeincommandmenu-2fe57517;position:fixed;top:150px;left:50%;transform:translate(-50%,10px)}.commandmenu-overlay[data-v-2fe57517]{cursor:pointer;background:#0003;animation:.3s ease-in-out forwards fadeincommand-2fe57517;position:fixed;inset:0}@keyframes fadeincommand-2fe57517{0%{opacity:0}to{opacity:1}}@keyframes fadeincommandmenu-2fe57517{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.empty-sidebar-item-content[data-v-658f060e]{display:none}.empty-sidebar-item .empty-sidebar-item-content[data-v-658f060e]{display:block}.rabbitjump[data-v-658f060e]{opacity:0}.empty-sidebar-item:hover .rabbitjump[data-v-658f060e]{opacity:1;animation:.5s step-end infinite rabbitAnimation-658f060e}.empty-sidebar-item:hover .rabbitsit[data-v-658f060e]{opacity:0;animation:.5s step-end infinite rabbitAnimation2-658f060e}.empty-sidebar-item:hover .rabbit-ascii[data-v-658f060e]{animation:8s linear infinite rabbitRun-658f060e}@keyframes rabbitRun-658f060e{0%{transform:translateZ(0)}25%{transform:translate(250px)}25.01%{transform:translate(-250px)}75%{transform:translate(250px)}75.01%{transform:translate(-250px)}to{transform:translateZ(0)}}@keyframes rabbitAnimation-658f060e{0%,to{opacity:1}50%{opacity:0}}@keyframes rabbitAnimation2-658f060e{0%,to{opacity:0}50%{opacity:1;transform:translateY(-8px)}}.nav-single-tab[data-v-2e741aab]{width:100%;height:100%;color:var(--scalar-color-1);justify-content:center;align-items:center;display:flex;overflow:hidden}.nav-item[data-v-2e741aab]{cursor:pointer;border-radius:var(--scalar-radius-lg);background:var(--scalar-background-3);border:var(--scalar-border-width)solid var(--scalar-background-2);color:var(--scalar-color-3);flex:1;justify-content:center;align-items:center;min-width:0;padding:4.5px 1rem;display:flex;position:relative;overflow:hidden}.dark-mode .nav-item[data-v-2e741aab]{background:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.dark-mode .nav-item[data-v-2e741aab]{background:color-mix(in srgb,var(--scalar-background-2),transparent)}}.nav-item-icon-copy[data-v-2e741aab]{white-space:nowrap;max-width:100%;-webkit-mask-image:linear-gradient(to left,transparent 0,var(--scalar-background-2)20px);mask-image:linear-gradient(to left,transparent 0,var(--scalar-background-2)20px);overflow:hidden}.nav-item:hover .nav-item-icon-copy[data-v-2e741aab]{-webkit-mask-image:linear-gradient(to left,transparent 20px,var(--scalar-background-2)40px);mask-image:linear-gradient(to left,transparent 20px,var(--scalar-background-2)40px)}.nav-item-copy[data-v-2e741aab]{max-width:calc(100% - 20px)}.nav-item[data-v-2e741aab]:hover{color:var(--scalar-color-1)}.nav-item__active[data-v-2e741aab]{background-color:var(--scalar-background-1);color:var(--scalar-color-1);border-color:var(--scalar-border-color)}.dark-mode .nav-item__active[data-v-2e741aab]{background-color:var(--scalar-background-2)}.nav-item-close[data-v-2e741aab]{border-radius:var(--scalar-radius);stroke-width:1.5px;max-width:20px;color:var(--scalar-color-3);opacity:0;background:0 0;margin-left:-20px;padding:2px;position:absolute;right:3px}.nav-item:hover .nav-item-close[data-v-2e741aab]{opacity:1}.nav-item-close[data-v-2e741aab]:hover{background-color:var(--scalar-background-4)}.nav-item__active .nav-item-close[data-v-2e741aab]:hover{background-color:var(--scalar-background-2)}.download-app-button[data-v-d9bec97b]{box-shadow:0 0 0 .5px var(--scalar-border-color);background:linear-gradient(#ffffffbf,#00000009)}.dark-mode .download-app-button[data-v-d9bec97b]{background:linear-gradient(#ffffff1a,#00000026)}.download-app-button[data-v-d9bec97b]:hover{background:linear-gradient(#00000009,#ffffffbf)}.dark-mode .download-app-button[data-v-d9bec97b]:hover{background:linear-gradient(#00000026,#ffffff1a)}#scalar-client{background-color:var(--scalar-background-2);position:relative}.dark-mode #scalar-client{background-color:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.dark-mode #scalar-client{background-color:color-mix(in srgb,var(--scalar-background-1)65%,black)}}.scalar-collection-auth[data-v-9d8e1c09]{border:var(--scalar-border-width)solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);overflow:hidden}[data-v-ddfccc08] .cm-editor{padding:0}[data-v-ddfccc08] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-ddfccc08] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-ddfccc08] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-ddfccc08] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-ddfccc08] .cm-line{text-overflow:ellipsis;padding:0;overflow:hidden}[data-v-28c8509c] .cm-editor{padding:0}[data-v-28c8509c] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-28c8509c] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-28c8509c] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-28c8509c] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-28c8509c] .cm-line{text-overflow:ellipsis;padding:0;overflow:hidden}[data-v-59dae578] .cm-content{min-height:fit-content}[data-v-59dae578] .cm-scroller{max-width:100%;overflow:auto hidden}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-font-size:var(--scalar-small);--callout-neutral-primary:var(--scalar-color-3);--callout-neutral-secondary:var(--scalar-background-2)}@supports (color:color-mix(in lab,red,red)){.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-neutral-secondary:color-mix(in srgb,var(--scalar-background-2),transparent 50%)}}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-neutral-font-color:var(--scalar-color-1);--callout-success-primary:var(--scalar-color-green);--callout-success-secondary:var(--scalar-color-green)}@supports (color:color-mix(in lab,red,red)){.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-success-secondary:color-mix(in srgb,var(--scalar-color-green),transparent 97%)}}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-success-font-color:var(--scalar-color-1);--callout-danger-primary:var(--scalar-color-red);--callout-danger-secondary:var(--scalar-color-red)}@supports (color:color-mix(in lab,red,red)){.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-danger-secondary:color-mix(in srgb,var(--scalar-color-red),transparent 97%)}}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-danger-font-color:var(--scalar-color-1);--callout-warning-primary:var(--scalar-color-yellow);--callout-warning-secondary:var(--scalar-color-yellow)}@supports (color:color-mix(in lab,red,red)){.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-warning-secondary:color-mix(in srgb,var(--scalar-color-yellow),transparent 97%)}}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-warning-font-color:var(--scalar-color-1);--callout-info-primary:var(--scalar-color-blue);--callout-info-secondary:var(--scalar-color-blue)}@supports (color:color-mix(in lab,red,red)){.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-info-secondary:color-mix(in srgb,var(--scalar-color-blue),transparent 97%)}}.dark-mode .t-editor__callout[data-v-fa58cbab],.light-mode .t-editor__callout[data-v-fa58cbab]{--callout-info-font-color:var(--scalar-color-1);--callout-line-height:22px}.t-editor__callout[data-v-fa58cbab]{border-radius:var(--scalar-radius);margin-top:var(--scalar-block-spacing);--callout-primary:var(--scalar-border-color);--callout-secondary:var(--scalar-background-2);--callout-svg:var(--callout-primary);background:var(--callout-secondary);border:var(--scalar-border-width)solid var(--callout-primary);padding:10px 14px}@supports (color:color-mix(in lab,red,red)){.t-editor__callout[data-v-fa58cbab]{border:var(--scalar-border-width)solid color-mix(in srgb,var(--callout-primary),transparent 50%)}}.t-editor__callout .callout-content__text[data-v-fa58cbab]{font-size:var(--callout-font-size);line-height:var(--callout-line-height);flex:1}.t-editor__callout .callout-content__icon[data-v-fa58cbab]{border-radius:var(--scalar-radius);width:18px;height:fit-content;color:var(--callout-svg);justify-content:center;align-items:center;display:flex;position:relative}.t-editor__callout .callout-content__icon svg[data-v-fa58cbab],.t-editor__callout .callout-content__icon img[data-v-fa58cbab]{width:18px;height:18px}.t-editor__callout .callout-content__icon[data-v-fa58cbab]:before{content:"​";line-height:var(--callout-line-height)}.t-editor__callout.callout__neutral[data-v-fa58cbab]{--callout-primary:var(--callout-neutral-primary);--callout-secondary:var(--callout-neutral-secondary);--callout-font-color:var(--callout-neutral-font-color);--callout-svg:var(--callout-neutral-font-color)}.t-editor__callout.callout__info[data-v-fa58cbab]{--callout-primary:var(--callout-info-primary);--callout-secondary:var(--callout-info-secondary);--callout-font-color:var(--callout-info-font-color);--callout-svg:var(--callout-info-primary)}.t-editor__callout.callout__warning[data-v-fa58cbab]{--callout-primary:var(--callout-warning-primary);--callout-secondary:var(--callout-warning-secondary);--callout-font-color:var(--callout-warning-font-color);--callout-svg:var(--callout-warning-primary)}.t-editor__callout.callout__success[data-v-fa58cbab]{--callout-primary:var(--callout-success-primary);--callout-secondary:var(--callout-success-secondary);--callout-font-color:var(--callout-success-font-color);--callout-svg:var(--callout-success-primary)}.t-editor__callout.callout__danger[data-v-fa58cbab]{--callout-primary:var(--callout-danger-primary);--callout-secondary:var(--callout-danger-secondary);--callout-font-color:var(--callout-danger-font-color);--callout-svg:var(--callout-danger-primary)}.group-hover-input[data-v-5a23cb87]{border-width:var(--scalar-border-width);border-color:#0000}.group:hover .group-hover-input[data-v-5a23cb87]{background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.group:hover .group-hover-input[data-v-5a23cb87]{background:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.group:hover .group-hover-input[data-v-5a23cb87]{border-color:var(--scalar-border-color)}.group-hover-input[data-v-5a23cb87]:focus{border-color:var(--scalar-border-color)!important;background:0 0!important}.schema>span[data-v-4df72868]:not(:first-child):before{content:"·";margin:0 .5ch;display:block}.schema>span[data-v-4df72868]{white-space:nowrap;display:flex}[data-v-04661eb4] .cm-editor{padding:0}[data-v-04661eb4] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-04661eb4] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-04661eb4] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-04661eb4] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-04661eb4] .cm-line{text-overflow:ellipsis;padding:0;overflow:hidden}.filemask[data-v-04661eb4]{-webkit-mask-image:linear-gradient(to right,transparent 0,var(--scalar-background-2)20px);mask-image:linear-gradient(to right,transparent 0,var(--scalar-background-2)20px)}[data-v-9aa4b63a] .cm-content{font-size:var(--scalar-small)}.auth-combobox-position[data-v-0bb98074]{margin-left:120px}.scroll-timeline-x[data-v-0bb98074]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.fade-left[data-v-0bb98074],.fade-right[data-v-0bb98074]{content:"";pointer-events:none;height:100%;min-height:24px;animation-name:fadein-0bb98074;animation-duration:1ms;animation-direction:reverse;animation-timeline:--scroll-timeline;position:sticky}.fade-left[data-v-0bb98074]{background:linear-gradient(-90deg,var(--scalar-background-1)0%,var(--scalar-background-1)60%,var(--scalar-background-1)100%)}@supports (color:color-mix(in lab,red,red)){.fade-left[data-v-0bb98074]{background:linear-gradient(-90deg,color-mix(in srgb,var(--scalar-background-1),transparent 100%)0%,color-mix(in srgb,var(--scalar-background-1),transparent 20%)60%,var(--scalar-background-1)100%)}}.fade-left[data-v-0bb98074]{min-width:3px;animation-direction:normal;left:-1px}.fade-right[data-v-0bb98074]{background:linear-gradient(90deg,var(--scalar-background-1)0%,var(--scalar-background-1)60%,var(--scalar-background-1)100%)}@supports (color:color-mix(in lab,red,red)){.fade-right[data-v-0bb98074]{background:linear-gradient(90deg,color-mix(in srgb,var(--scalar-background-1),transparent 100%)0%,color-mix(in srgb,var(--scalar-background-1),transparent 20%)60%,var(--scalar-background-1)100%)}}.fade-right[data-v-0bb98074]{min-width:24px;margin-left:-20px;top:0;right:-1px}@keyframes fadein-0bb98074{0%{opacity:0}15%{opacity:1}}.auth-combobox-position[data-v-3f1067a4]{margin-left:120px}.scroll-timeline-x[data-v-3f1067a4]{scroll-timeline:--scroll-timeline x;scroll-timeline:--scroll-timeline horizontal;scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.fade-left[data-v-3f1067a4],.fade-right[data-v-3f1067a4]{content:"";pointer-events:none;height:100%;min-height:24px;animation-name:fadein-3f1067a4;animation-duration:1ms;animation-direction:reverse;animation-timeline:--scroll-timeline;position:sticky}.fade-left[data-v-3f1067a4]{background:linear-gradient(-90deg,var(--scalar-background-1)0%,var(--scalar-background-1)60%,var(--scalar-background-1)100%)}@supports (color:color-mix(in lab,red,red)){.fade-left[data-v-3f1067a4]{background:linear-gradient(-90deg,color-mix(in srgb,var(--scalar-background-1),transparent 100%)0%,color-mix(in srgb,var(--scalar-background-1),transparent 20%)60%,var(--scalar-background-1)100%)}}.fade-left[data-v-3f1067a4]{min-width:3px;animation-direction:normal;left:-1px}.fade-right[data-v-3f1067a4]{background:linear-gradient(90deg,var(--scalar-background-1)0%,var(--scalar-background-1)60%,var(--scalar-background-1)100%)}@supports (color:color-mix(in lab,red,red)){.fade-right[data-v-3f1067a4]{background:linear-gradient(90deg,color-mix(in srgb,var(--scalar-background-1),transparent 100%)0%,color-mix(in srgb,var(--scalar-background-1),transparent 20%)60%,var(--scalar-background-1)100%)}}.fade-right[data-v-3f1067a4]{min-width:24px;margin-left:-20px;top:0;right:-1px}@keyframes fadein-3f1067a4{0%{opacity:0}15%{opacity:1}}[data-v-2891f052] code.hljs *{font-size:var(--scalar-small)}.request-section-content[data-v-287f5ecf]{--scalar-border-width:.5px}.request-section-content-filter[data-v-287f5ecf]{box-shadow:0 -10px 0 10px var(--scalar-background-1)}.request-item:focus-within .request-meta-buttons[data-v-287f5ecf]{opacity:1}.group-hover-input[data-v-287f5ecf]{border-width:var(--scalar-border-width);border-color:#0000}.group:hover .group-hover-input[data-v-287f5ecf]{background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.group:hover .group-hover-input[data-v-287f5ecf]{background:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.group:hover .group-hover-input[data-v-287f5ecf]{border-color:var(--scalar-border-color)}.group-hover-input[data-v-287f5ecf]:focus{border-color:var(--scalar-border-color)!important;background:0 0!important}.light-mode .bg-preview[data-v-0956ad2d]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23000\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}.dark-mode .bg-preview[data-v-0956ad2d]{background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'16\' height=\'16\' fill=\'%23FFF\' fill-opacity=\'10%25\'%3E%3Crect width=\'8\' height=\'8\' /%3E%3Crect x=\'8\' y=\'8\' width=\'8\' height=\'8\' /%3E%3C/svg%3E")}[data-v-1399120c] .cm-editor{font-size:var(--scalar-small);background-color:#0000;outline:none}[data-v-1399120c] .cm-gutters{background-color:var(--scalar-background-1);border-radius:var(--scalar-radius)0 0 var(--scalar-radius)}.body-raw[data-v-1399120c] .cm-scroller{min-width:100%;overflow:auto}.scalar-code-block[data-v-17966bf4] .hljs *{font-size:var(--scalar-small)}.response-body-virtual[data-headlessui-state=open],.response-body-virtual[data-headlessui-state=open] .diclosure-panel{flex-direction:column;flex-grow:1;display:flex}.keycap-n[data-v-b1211b87]{background:-webkit-linear-gradient(5deg,transparent 30%,var(--scalar-color-3)50%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.keycap-hotkey[data-v-b1211b87]{line-height:26px;position:absolute;top:32px}.scalar-version-number[data-v-6d2bdb61]{width:76px;height:76px;font-size:8px;font-family:var(--scalar-font-code);box-shadow:inset 2px 0 0 2px var(--scalar-background-2);text-align:center;text-transform:initial;-webkit-text-decoration-color:var(--scalar-color-3);text-decoration-color:var(--scalar-color-3);border-radius:9px 9px 16px 12px;flex-direction:column;justify-content:center;align-items:center;margin-top:-113px;margin-left:-36px;line-height:11px;display:flex;position:absolute;transform:skewY(13deg)}.scalar-version-number a[data-v-6d2bdb61]{background:var(--scalar-background-2);border:.5px solid var(--scalar-border-color);border-radius:3px;padding:2px 4px;font-weight:700;text-decoration:none}.gitbook-show[data-v-6d2bdb61]{display:none}.v-enter-active[data-v-7ec8af01]{transition:opacity .5s}.v-enter-from[data-v-7ec8af01]{opacity:0}.animate-response-heading .response-heading[data-v-6e4eec82]{opacity:1;animation:.2s ease-in-out forwards push-response-6e4eec82}@keyframes push-response-6e4eec82{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.animate-response-heading .animate-response-children[data-v-6e4eec82]{opacity:0;animation:.2s ease-in-out 50ms forwards response-spans-6e4eec82}@keyframes response-spans-6e4eec82{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ellipsis-position[data-v-01a1ab71]{transform:translate(calc(-100% - 4.5px))}.indent-border-line-offset[data-v-24d396a0]:before{left:var(--v337cd30d)}.indent-padding-left[data-v-24d396a0]{padding-left:calc(var(--v1d572b91) + 6px)}.sidebar-folderitem[data-v-24d396a0] .ellipsis-position{right:6px;transform:none}.search-button-fade[data-v-23d35bb5]{background:linear-gradient(var(--scalar-background-1)32px,var(--scalar-background-1)38px,transparent)}@supports (color:color-mix(in lab,red,red)){.search-button-fade[data-v-23d35bb5]{background:linear-gradient(var(--scalar-background-1)32px,color-mix(in srgb,var(--scalar-background-1),transparent)38px,transparent)}}.empty-sidebar-item-content[data-v-23d35bb5]{display:none}.empty-sidebar-item .empty-sidebar-item-content[data-v-23d35bb5]{display:block}.rabbitjump[data-v-23d35bb5]{opacity:0}.empty-sidebar-item:hover .rabbitjump[data-v-23d35bb5]{opacity:1;animation:.5s step-end infinite rabbitAnimation-23d35bb5}.empty-sidebar-item:hover .rabbitsit[data-v-23d35bb5]{opacity:0;animation:.5s step-end infinite rabbitAnimation2-23d35bb5}.empty-sidebar-item:hover .rabbit-ascii[data-v-23d35bb5]{animation:8s linear infinite rabbitRun-23d35bb5}@keyframes rabbitRun-23d35bb5{0%{transform:translateZ(0)}25%{transform:translate(250px)}25.01%{transform:translate(-250px)}75%{transform:translate(250px)}75.01%{transform:translate(-250px)}to{transform:translateZ(0)}}@keyframes rabbitAnimation-23d35bb5{0%,to{opacity:1}50%{opacity:0}}@keyframes rabbitAnimation2-23d35bb5{0%,to{opacity:0}50%{opacity:1;transform:translateY(-8px)}}.request-text-color-text[data-v-02af05d1]{color:var(--scalar-color-1);background:linear-gradient(var(--scalar-background-1),var(--scalar-background-3));box-shadow:0 0 0 1px var(--scalar-border-color)}@media screen and (max-width:800px){.sidebar-active-hide-layout[data-v-02af05d1]{display:none}.sidebar-active-width[data-v-02af05d1]{width:100%}}.gitbook-show[data-v-c8df97c6]{display:none}.app-exit-button[data-v-c8df97c6]{color:#fff;background:#0000001a}.app-exit-button[data-v-c8df97c6]:hover{background:#ffffff1a}.request-text-color-text[data-v-57ae0d10]{color:var(--scalar-color-1);background:linear-gradient(var(--scalar-background-1),var(--scalar-background-3));box-shadow:0 0 0 1px var(--scalar-border-color)}@media screen and (max-width:800px){.sidebar-active-hide-layout[data-v-57ae0d10]{display:none}.sidebar-active-width[data-v-57ae0d10]{width:100%}}.group-hover-input[data-v-fced736a]{border-width:var(--scalar-border-width);border-color:#0000}.group:hover .group-hover-input[data-v-fced736a]{background:var(--scalar-background-1)}@supports (color:color-mix(in lab,red,red)){.group:hover .group-hover-input[data-v-fced736a]{background:color-mix(in srgb,var(--scalar-background-1),var(--scalar-background-2))}}.group:hover .group-hover-input[data-v-fced736a]{border-color:var(--scalar-border-color)}.group-hover-input[data-v-fced736a]:focus{border-color:var(--scalar-border-color)!important;background:0 0!important}[data-v-68d5218e] .markdown h2{font-size:var(--scalar-font-size-2)}[data-v-5997a667] .cm-content{min-height:fit-content}[data-v-5997a667] .cm-scroller{max-width:100%;overflow:auto hidden}[data-v-83bfcc8a] .cm-editor{padding:0}[data-v-83bfcc8a] .cm-content{font-family:var(--scalar-font);font-size:var(--scalar-small);background-color:#0000;align-items:center;width:100%;padding:5px 8px;display:flex}[data-v-83bfcc8a] .cm-content:has(.cm-pill){padding:5px 8px}[data-v-83bfcc8a] .cm-content .cm-pill:not(:last-of-type){margin-right:.5px}[data-v-83bfcc8a] .cm-content .cm-pill:not(:first-of-type){margin-left:.5px}[data-v-83bfcc8a] .cm-line{text-overflow:ellipsis;padding:0;overflow:hidden}.scalar-collection-auth[data-v-cc87292e]{border:var(--scalar-border-width)solid var(--scalar-border-color);border-radius:var(--scalar-radius-lg);overflow:hidden}.dragover-asChild[data-v-a89d6a6e],.dragover-above[data-v-a89d6a6e],.dragover-below[data-v-a89d6a6e]{position:relative}.dragover-above[data-v-a89d6a6e]:after,.dragover-below[data-v-a89d6a6e]:after{content:"";background:var(--scalar-color-blue);width:100%;height:3px;display:block;position:absolute;top:-1.5px}@supports (color:color-mix(in lab,red,red)){.dragover-above[data-v-a89d6a6e]:after,.dragover-below[data-v-a89d6a6e]:after{background:color-mix(in srgb,var(--scalar-color-blue),transparent 85%)}}.dragover-above[data-v-a89d6a6e]:after,.dragover-below[data-v-a89d6a6e]:after{pointer-events:none;border-radius:var(--scalar-radius)}.dragover-below[data-v-a89d6a6e]:after{top:initial;bottom:-1.5px}.dragover-asChild[data-v-a89d6a6e]:after{content:"";background:var(--scalar-color-blue);width:100%;height:100%;display:block;position:absolute;top:0;left:0}@supports (color:color-mix(in lab,red,red)){.dragover-asChild[data-v-a89d6a6e]:after{background:color-mix(in srgb,var(--scalar-color-blue),transparent 85%)}}.dragover-asChild[data-v-a89d6a6e]:after{pointer-events:none;border-radius:var(--scalar-radius)}.empty-variable-name[data-v-298ba76d]:empty:before{content:"Untitled";color:var(--scalar-color-3)}.form-group[data-v-694018d6]{margin-bottom:1rem}.modal-actions[data-v-694018d6]{justify-content:flex-end;gap:1rem;display:flex}:root{--scalar-loaded-api-reference:true}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@layer scalar-config{.scalar-api-reference[data-v-2a5231c6]{--refs-header-height: calc( var(--scalar-custom-header-height, 0px) + var(--scalar-header-height, 0px) );--refs-viewport-offset: calc( var(--refs-header-height, 0px) + var(--refs-content-offset, 0px) );--refs-viewport-height: calc( var(--full-height, 100dvh) - var(--refs-viewport-offset, 0px) );--refs-sidebar-width: var(--scalar-sidebar-width, 0px);--refs-sidebar-height: calc( var(--full-height, 100dvh) - var(--refs-header-height, 0px) );--refs-content-max-width: var(--scalar-content-max-width, 1540px)}.scalar-api-reference.references-classic[data-v-2a5231c6]{--refs-content-max-width: var(--scalar-content-max-width, 1420px);min-height:100dvh;--refs-sidebar-width: 0}}.t-doc__sidebar[data-v-2a5231c6]{z-index:10}.references-layout[data-v-2a5231c6]{min-height:100dvh;min-width:100%;max-width:100%;flex:1;--full-height: 100dvh;display:grid;grid-template-rows:var(--scalar-header-height, 0px) repeat(2,auto);grid-template-columns:auto 1fr;grid-template-areas:"header header" "navigation rendered" "footer footer";background:var(--scalar-background-1)}.references-editor[data-v-2a5231c6]{grid-area:editor;display:flex;min-width:0;background:var(--scalar-background-1)}.references-rendered[data-v-2a5231c6]{position:relative;grid-area:rendered;min-width:0;background:var(--scalar-background-1)}.scalar-api-reference.references-classic[data-v-2a5231c6],.references-classic .references-rendered[data-v-2a5231c6]{height:initial!important;max-height:initial!important}@layer scalar-config{.references-sidebar[data-v-2a5231c6]{--refs-sidebar-width: var(--scalar-sidebar-width, 288px)}}.references-footer[data-v-2a5231c6]{grid-area:footer}@media(max-width:1000px){.references-layout[data-v-2a5231c6]{--refs-sidebar-height: calc( var(--full-height, 100dvh) - var(--scalar-custom-header-height, 0px) );grid-template-columns:100%;grid-template-rows:var(--scalar-header-height, 0px) 0px auto auto;grid-template-areas:"header" "navigation" "rendered" "footer"}.references-editable[data-v-2a5231c6]{grid-template-areas:"header" "navigation" "editor"}.references-rendered[data-v-2a5231c6]{position:static}}@media(max-width:1000px){.scalar-api-references-standalone-mobile[data-v-2a5231c6]:not(.references-classic){--scalar-header-height: 50px}}.darklight-reference[data-v-2a5231c6]{width:100%;margin-top:auto}')),document.head.appendChild(a)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}}(); +!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){ +"use strict";const e=Object.freeze({status:"aborted"});function t(e,t,n){ +function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r, +constr:i,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return +;n._zod.traits.add(e),t(n,r);const a=i.prototype,o=Object.keys(a) +;for(let e=0;e!!(n?.Parent&&t instanceof n.Parent)||t?._zod?.traits?.has(e) +}),Object.defineProperty(i,"name",{value:e}),i}const n=Symbol("zod_brand") +;class r extends Error{constructor(){ +super("Encountered Promise during synchronous parse. Use .parseAsync() instead.") +}}class a extends Error{constructor(e){ +super(`Encountered unidirectional transform during encode: ${e}`), +this.name="ZodEncodeError"}}const o={};function i(e){ +return e&&Object.assign(o,e),o}function s(e){ +const t=Object.values(e).filter((e=>"number"==typeof e)) +;return Object.entries(e).filter((([e,n])=>-1===t.indexOf(+e))).map((([e,t])=>t)) +}function l(e,t="|"){return e.map((e=>$(e))).join(t)}function c(e,t){ +return"bigint"==typeof t?t.toString():t}function u(e){return{get value(){{ +const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}} +function d(e){return null==e}function p(e){ +const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length +;return e.slice(t,n)}function h(e,t){ +const n=(e.toString().split(".")[1]||"").length,r=t.toString() +;let a=(r.split(".")[1]||"").length;if(0===a&&/\d?e-\d?/.test(r)){ +const e=r.match(/\d?e-(\d?)/);e?.[1]&&(a=Number.parseInt(e[1]))}const o=n>a?n:a +;return Number.parseInt(e.toFixed(o).replace(".",""))%Number.parseInt(t.toFixed(o).replace(".",""))/10**o +}const f=Symbol("evaluating");function m(e,t,n){let r +;Object.defineProperty(e,t,{get(){if(r!==f)return void 0===r&&(r=f,r=n()),r}, +set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})} +function g(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0, +configurable:!0})}function v(...e){const t={};for(const n of e){ +const e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)} +return Object.defineProperties({},t)}function b(e){return JSON.stringify(e)} +function y(e){ +return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"") +}const O="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{} +;function w(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)} +const x=u((()=>{ +if("undefined"!=typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1 +;try{return new Function(""),!0}catch(e){return!1}}));function k(e){ +if(!1===w(e))return!1;const t=e.constructor;if(void 0===t)return!0 +;if("function"!=typeof t)return!0;const n=t.prototype +;return!1!==w(n)&&!1!==Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")} +function S(e){return k(e)?{...e}:Array.isArray(e)?[...e]:e} +const _=new Set(["string","number","symbol"]),A=new Set(["string","number","bigint","boolean","symbol","undefined"]) +;function T(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E(e,t,n){ +const r=new e._zod.constr(t??e._zod.def) +;return t&&!n?.parent||(r._zod.parent=e),r}function C(e){const t=e +;if(!t)return{};if("string"==typeof t)return{error:()=>t} +;if(void 0!==t?.message){ +if(void 0!==t?.error)throw new Error("Cannot specify both `message` and `error` params") +;t.error=t.message}return delete t.message,"string"==typeof t.error?{...t, +error:()=>t.error}:t}function $(e){ +return"bigint"==typeof e?e.toString()+"n":"string"==typeof e?`"${e}"`:`${e}`} +function P(e){ +return Object.keys(e).filter((t=>"optional"===e[t]._zod.optin&&"optional"===e[t]._zod.optout)) +}const I={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER], +int32:[-2147483648,2147483647],uint32:[0,4294967295], +float32:[-34028234663852886e22,34028234663852886e22], +float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},D={ +int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")], +uint64:[BigInt(0),BigInt("18446744073709551615")]};function M(e,t){ +const n=e._zod.def,r=n.checks +;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements") +;return E(e,v(e._zod.def,{get shape(){const e={};for(const r in t){ +if(!(r in n.shape))throw new Error(`Unrecognized key: "${r}"`) +;t[r]&&(e[r]=n.shape[r])}return g(this,"shape",e),e},checks:[]}))} +function N(e,t){const n=e._zod.def,r=n.checks +;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements") +;const a=v(e._zod.def,{get shape(){const r={...e._zod.def.shape} +;for(const e in t){ +if(!(e in n.shape))throw new Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e] +}return g(this,"shape",r),r},checks:[]});return E(e,a)}function R(e,t){ +if(!k(t))throw new Error("Invalid input to extend: expected a plain object") +;const n=e._zod.def.checks;if(n&&n.length>0){const n=e._zod.def.shape +;for(const e in t)if(void 0!==Object.getOwnPropertyDescriptor(n,e))throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.") +}const r=v(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t} +;return g(this,"shape",n),n}});return E(e,r)}function L(e,t){ +if(!k(t))throw new Error("Invalid input to safeExtend: expected a plain object") +;const n=v(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t} +;return g(this,"shape",n),n}});return E(e,n)}function B(e,t){ +const n=v(e._zod.def,{get shape(){const n={...e._zod.def.shape, +...t._zod.def.shape};return g(this,"shape",n),n},get catchall(){ +return t._zod.def.catchall},checks:[]});return E(e,n)}function j(e,t,n){ +const r=t._zod.def.checks +;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements") +;const a=v(t._zod.def,{get shape(){const r=t._zod.def.shape,a={...r} +;if(n)for(const t in n){if(!(t in r))throw new Error(`Unrecognized key: "${t}"`) +;n[t]&&(a[t]=e?new e({type:"optional",innerType:r[t]}):r[t]) +}else for(const t in r)a[t]=e?new e({type:"optional",innerType:r[t]}):r[t] +;return g(this,"shape",a),a},checks:[]});return E(t,a)}function U(e,t,n){ +const r=v(t._zod.def,{get shape(){const r=t._zod.def.shape,a={...r} +;if(n)for(const t in n){if(!(t in a))throw new Error(`Unrecognized key: "${t}"`) +;n[t]&&(a[t]=new e({type:"nonoptional",innerType:r[t]})) +}else for(const t in r)a[t]=new e({type:"nonoptional",innerType:r[t]}) +;return g(this,"shape",a),a}});return E(t,r)}function z(e,t=0){ +if(!0===e.aborted)return!0 +;for(let n=t;n{var n;return(n=t).path??(n.path=[]), +t.path.unshift(e),t}))}function F(e){return"string"==typeof e?e:e?.message} +function H(e,t,n){const r={...e,path:e.path??[]};if(!e.message){ +const a=F(e.inst?._zod.def?.error?.(e))??F(t?.error?.(e))??F(n.customError?.(e))??F(n.localeError?.(e))??"Invalid input" +;r.message=a} +return delete r.inst,delete r.continue,t?.reportInput||delete r.input,r} +function Q(e){ +return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown" +}function V(e){ +return Array.isArray(e)?"array":"string"==typeof e?"string":"unknown"} +function q(e){const t=typeof e;switch(t){case"number": +return Number.isNaN(e)?"nan":"number";case"object":{if(null===e)return"null" +;if(Array.isArray(e))return"array";const t=e +;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&"constructor"in t&&t.constructor)return t.constructor.name +}}return t}function W(...e){const[t,n,r]=e;return"string"==typeof t?{message:t, +code:"custom",input:n,inst:r}:{...t}}function X(e){ +const t=atob(e),n=new Uint8Array(t.length) +;for(let r=0;re[t]));return Promise.all(n).then((e=>{ +const n={};for(let r=0;re.toString(16).padStart(2,"0"))).join("")}, +unwrapMessage:F},Symbol.toStringTag,{value:"Module"})),K=(e,t)=>{ +e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}), +Object.defineProperty(e,"issues",{value:t,enumerable:!1 +}),e.message=JSON.stringify(t,c,2),Object.defineProperty(e,"toString",{ +value:()=>e.message,enumerable:!1})},J=t("$ZodError",K),ee=t("$ZodError",K,{ +Parent:Error});function te(e,t=e=>e.message){const n={},r=[] +;for(const a of e.issues)a.path.length>0?(n[a.path[0]]=n[a.path[0]]||[], +n[a.path[0]].push(t(a))):r.push(t(a));return{formErrors:r,fieldErrors:n}} +function ne(e,t=e=>e.message){const n={_errors:[]},r=e=>{ +for(const a of e.issues)if("invalid_union"===a.code&&a.errors.length)a.errors.map((e=>r({ +issues:e})));else if("invalid_key"===a.code)r({issues:a.issues +});else if("invalid_element"===a.code)r({issues:a.issues +});else if(0===a.path.length)n._errors.push(t(a));else{let e=n,r=0 +;for(;re.message){const n={errors:[]},r=(e,a=[])=>{ +var o,i +;for(const s of e.issues)if("invalid_union"===s.code&&s.errors.length)s.errors.map((e=>r({ +issues:e},s.path)));else if("invalid_key"===s.code)r({issues:s.issues +},s.path);else if("invalid_element"===s.code)r({issues:s.issues},s.path);else{ +const e=[...a,...s.path];if(0===e.length){n.errors.push(t(s));continue} +let r=n,l=0;for(;l"object"==typeof e?e.key:e)) +;for(const r of n)"number"==typeof r?t.push(`[${r}]`):"symbol"==typeof r?t.push(`[${JSON.stringify(String(r))}]`):/[^\w$]/.test(r)?t.push(`[${JSON.stringify(r)}]`):(t.length&&t.push("."), +t.push(r));return t.join("")}function oe(e){ +const t=[],n=[...e.issues].sort(((e,t)=>(e.path??[]).length-(t.path??[]).length)) +;for(const r of n)t.push(`✖ ${r.message}`), +r.path?.length&&t.push(` → at ${ae(r.path)}`);return t.join("\n")} +const ie=e=>(t,n,a,o)=>{const s=a?Object.assign(a,{async:!1}):{async:!1 +},l=t._zod.run({value:n,issues:[]},s);if(l instanceof Promise)throw new r +;if(l.issues.length){const t=new(o?.Err??e)(l.issues.map((e=>H(e,s,i())))) +;throw O(t,o?.callee),t}return l.value},se=ie(ee),le=e=>async(t,n,r,a)=>{ +const o=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:n, +issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){ +const t=new(a?.Err??e)(s.issues.map((e=>H(e,o,i()))));throw O(t,a?.callee),t} +return s.value},ce=le(ee),ue=e=>(t,n,a)=>{const o=a?{...a,async:!1}:{async:!1 +},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new r +;return s.issues.length?{success:!1, +error:new(e??J)(s.issues.map((e=>H(e,o,i()))))}:{success:!0,data:s.value} +},de=ue(ee),pe=e=>async(t,n,r)=>{const a=r?Object.assign(r,{async:!0}):{async:!0 +};let o=t._zod.run({value:n,issues:[]},a) +;return o instanceof Promise&&(o=await o),o.issues.length?{success:!1, +error:new e(o.issues.map((e=>H(e,a,i()))))}:{success:!0,data:o.value} +},he=pe(ee),fe=e=>(t,n,r)=>{const a=r?Object.assign(r,{direction:"backward"}):{ +direction:"backward"};return ie(e)(t,n,a) +},me=fe(ee),ge=e=>(t,n,r)=>ie(e)(t,n,r),ve=ge(ee),be=e=>async(t,n,r)=>{ +const a=r?Object.assign(r,{direction:"backward"}):{direction:"backward"} +;return le(e)(t,n,a) +},ye=be(ee),Oe=e=>async(t,n,r)=>le(e)(t,n,r),we=Oe(ee),xe=e=>(t,n,r)=>{ +const a=r?Object.assign(r,{direction:"backward"}):{direction:"backward"} +;return ue(e)(t,n,a) +},ke=xe(ee),Se=e=>(t,n,r)=>ue(e)(t,n,r),_e=Se(ee),Ae=e=>async(t,n,r)=>{ +const a=r?Object.assign(r,{direction:"backward"}):{direction:"backward"} +;return pe(e)(t,n,a) +},Te=Ae(ee),Ee=e=>async(t,n,r)=>pe(e)(t,n,r),Ce=Ee(ee),$e=/^[cC][^\s-]{8,}$/,Pe=/^[0-9a-z]+$/,Ie=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,De=/^[0-9a-vA-V]{20}$/,Me=/^[A-Za-z0-9]{27}$/,Ne=/^[a-zA-Z0-9_-]{21}$/,Re=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Le=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Be=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,je=Be(4),Ue=Be(6),ze=Be(7),Ze=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Fe=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,He=Fe +;function Qe(){ +return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")} +const Ve=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,qe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,We=e=>{ +const t=T(e??":") +;return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`) +},Xe=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ge=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ye=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ke=/^[A-Za-z0-9_-]*$/,Je=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,et=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,tt=/^\+[1-9]\d{6,14}$/,nt="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",rt=new RegExp(`^${nt}$`) +;function at(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d" +;return"number"==typeof e.precision?-1===e.precision?`${t}`:0===e.precision?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?` +}function ot(e){return new RegExp(`^${at(e)}$`)}function it(e){const t=at({ +precision:e.precision}),n=["Z"] +;e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)") +;const r=`${t}(?:${n.join("|")})`;return new RegExp(`^${nt}T(?:${r})$`)} +const st=e=>new RegExp(`^${e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*"}$`),lt=/^-?\d+n?$/,ct=/^-?\d+$/,ut=/^-?\d+(?:\.\d+)?$/,dt=/^(?:true|false)$/i,pt=/^null$/i,ht=/^undefined$/i,ft=/^[^A-Z]*$/,mt=/^[^a-z]*$/,gt=/^[0-9a-fA-F]*$/ +;function vt(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function bt(e){ +return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)} +const yt=vt(22,"=="),Ot=bt(22),wt=vt(27,"="),xt=bt(27),kt=vt(43,"="),St=bt(43),_t=vt(64,""),At=bt(64),Tt=vt(86,"=="),Et=bt(86),Ct=Object.freeze(Object.defineProperty({ +__proto__:null,base64:Ye,base64url:Ke,bigint:lt,boolean:dt, +browserEmail:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/, +cidrv4:Xe,cidrv6:Ge,cuid:$e,cuid2:Pe,date:rt,datetime:it,domain:et,duration:Re, +e164:tt,email:Ze,emoji:Qe, +extendedDuration:/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/, +guid:Le,hex:gt,hostname:Je, +html5Email:/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/, +idnEmail:He,integer:ct,ipv4:Ve,ipv6:qe,ksuid:Me,lowercase:ft,mac:We, +md5_base64:yt,md5_base64url:Ot,md5_hex:/^[0-9a-fA-F]{32}$/,nanoid:Ne,null:pt, +number:ut, +rfc5322Email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, +sha1_base64:wt,sha1_base64url:xt,sha1_hex:/^[0-9a-fA-F]{40}$/,sha256_base64:kt, +sha256_base64url:St,sha256_hex:/^[0-9a-fA-F]{64}$/,sha384_base64:_t, +sha384_base64url:At,sha384_hex:/^[0-9a-fA-F]{96}$/,sha512_base64:Tt, +sha512_base64url:Et,sha512_hex:/^[0-9a-fA-F]{128}$/,string:st,time:ot,ulid:Ie, +undefined:ht,unicodeEmail:Fe,uppercase:mt,uuid:Be,uuid4:je,uuid6:Ue,uuid7:ze, +xid:De},Symbol.toStringTag,{value:"Module"})),$t=t("$ZodCheck",((e,t)=>{var n +;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])})),Pt={ +number:"number",bigint:"bigint",object:"date" +},It=t("$ZodCheckLessThan",((e,t)=>{$t.init(e,t);const n=Pt[typeof t.value] +;e._zod.onattach.push((e=>{ +const n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??Number.POSITIVE_INFINITY +;t.value{ +(t.inclusive?r.value<=t.value:r.value{$t.init(e,t);const n=Pt[typeof t.value] +;e._zod.onattach.push((e=>{ +const n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??Number.NEGATIVE_INFINITY +;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value) +})),e._zod.check=r=>{ +(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n, +code:"too_small",minimum:"object"==typeof t.value?t.value.getTime():t.value, +input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})} +})),Mt=t("$ZodCheckMultipleOf",((e,t)=>{$t.init(e,t),e._zod.onattach.push((e=>{ +var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)})),e._zod.check=n=>{ +if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.") +;("bigint"==typeof n.value?n.value%t.value===BigInt(0):0===h(n.value,t.value))||n.issues.push({ +origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value, +inst:e,continue:!t.abort})}})),Nt=t("$ZodCheckNumberFormat",((e,t)=>{ +$t.init(e,t),t.format=t.format||"float64" +;const n=t.format?.includes("int"),r=n?"int":"number",[a,o]=I[t.format] +;e._zod.onattach.push((e=>{const r=e._zod.bag +;r.format=t.format,r.minimum=a,r.maximum=o,n&&(r.pattern=ct) +})),e._zod.check=i=>{const s=i.value;if(n){ +if(!Number.isInteger(s))return void i.issues.push({expected:r,format:t.format, +code:"invalid_type",continue:!1,input:s,inst:e}) +;if(!Number.isSafeInteger(s))return void(s>0?i.issues.push({input:s, +code:"too_big",maximum:Number.MAX_SAFE_INTEGER, +note:"Integers must be within the safe integer range.",inst:e,origin:r, +inclusive:!0,continue:!t.abort}):i.issues.push({input:s,code:"too_small", +minimum:Number.MIN_SAFE_INTEGER, +note:"Integers must be within the safe integer range.",inst:e,origin:r, +inclusive:!0,continue:!t.abort}))}so&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:o, +inclusive:!0,inst:e,continue:!t.abort})} +})),Rt=t("$ZodCheckBigIntFormat",((e,t)=>{$t.init(e,t);const[n,r]=D[t.format] +;e._zod.onattach.push((e=>{const a=e._zod.bag +;a.format=t.format,a.minimum=n,a.maximum=r})),e._zod.check=a=>{const o=a.value +;or&&a.issues.push({origin:"bigint", +input:o,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})} +})),Lt=t("$ZodCheckMaxSize",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.size}),e._zod.onattach.push((e=>{ +const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY +;t.maximum{const r=n.value +;r.size<=t.maximum||n.issues.push({origin:Q(r),code:"too_big",maximum:t.maximum, +inclusive:!0,input:r,inst:e,continue:!t.abort})} +})),Bt=t("$ZodCheckMinSize",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.size}),e._zod.onattach.push((e=>{ +const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY +;t.minimum>n&&(e._zod.bag.minimum=t.minimum)})),e._zod.check=n=>{const r=n.value +;r.size>=t.minimum||n.issues.push({origin:Q(r),code:"too_small", +minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})} +})),jt=t("$ZodCheckSizeEquals",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.size}),e._zod.onattach.push((e=>{const n=e._zod.bag +;n.minimum=t.size,n.maximum=t.size,n.size=t.size})),e._zod.check=n=>{ +const r=n.value,a=r.size;if(a===t.size)return;const o=a>t.size;n.issues.push({ +origin:Q(r),...o?{code:"too_big",maximum:t.size}:{code:"too_small", +minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})} +})),Ut=t("$ZodCheckMaxLength",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.length}),e._zod.onattach.push((e=>{ +const n=e._zod.bag.maximum??Number.POSITIVE_INFINITY +;t.maximum{const r=n.value +;if(r.length<=t.maximum)return;const a=V(r);n.issues.push({origin:a, +code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort}) +}})),zt=t("$ZodCheckMinLength",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.length}),e._zod.onattach.push((e=>{ +const n=e._zod.bag.minimum??Number.NEGATIVE_INFINITY +;t.minimum>n&&(e._zod.bag.minimum=t.minimum)})),e._zod.check=n=>{const r=n.value +;if(r.length>=t.minimum)return;const a=V(r);n.issues.push({origin:a, +code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort +})}})),Zt=t("$ZodCheckLengthEquals",((e,t)=>{var n +;$t.init(e,t),(n=e._zod.def).when??(n.when=e=>{const t=e.value +;return!d(t)&&void 0!==t.length}),e._zod.onattach.push((e=>{const n=e._zod.bag +;n.minimum=t.length,n.maximum=t.length,n.length=t.length})),e._zod.check=n=>{ +const r=n.value,a=r.length;if(a===t.length)return;const o=V(r),i=a>t.length +;n.issues.push({origin:o,...i?{code:"too_big",maximum:t.length}:{ +code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e, +continue:!t.abort})}})),Ft=t("$ZodCheckStringFormat",((e,t)=>{var n,r +;$t.init(e,t),e._zod.onattach.push((e=>{const n=e._zod.bag +;n.format=t.format,t.pattern&&(n.patterns??(n.patterns=new Set), +n.patterns.add(t.pattern))})),t.pattern?(n=e._zod).check??(n.check=n=>{ +t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string", +code:"invalid_format",format:t.format,input:n.value,...t.pattern?{ +pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort}) +}):(r=e._zod).check??(r.check=()=>{})})),Ht=t("$ZodCheckRegex",((e,t)=>{ +Ft.init(e,t),e._zod.check=n=>{ +t.pattern.lastIndex=0,t.pattern.test(n.value)||n.issues.push({origin:"string", +code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(), +inst:e,continue:!t.abort})}})),Qt=t("$ZodCheckLowerCase",((e,t)=>{ +t.pattern??(t.pattern=ft),Ft.init(e,t)})),Vt=t("$ZodCheckUpperCase",((e,t)=>{ +t.pattern??(t.pattern=mt),Ft.init(e,t)})),qt=t("$ZodCheckIncludes",((e,t)=>{ +$t.init(e,t) +;const n=T(t.includes),r=new RegExp("number"==typeof t.position?`^.{${t.position}}${n}`:n) +;t.pattern=r,e._zod.onattach.push((e=>{const t=e._zod.bag +;t.patterns??(t.patterns=new Set),t.patterns.add(r)})),e._zod.check=n=>{ +n.value.includes(t.includes,t.position)||n.issues.push({origin:"string", +code:"invalid_format",format:"includes",includes:t.includes,input:n.value, +inst:e,continue:!t.abort})}})),Wt=t("$ZodCheckStartsWith",((e,t)=>{$t.init(e,t) +;const n=new RegExp(`^${T(t.prefix)}.*`) +;t.pattern??(t.pattern=n),e._zod.onattach.push((e=>{const t=e._zod.bag +;t.patterns??(t.patterns=new Set),t.patterns.add(n)})),e._zod.check=n=>{ +n.value.startsWith(t.prefix)||n.issues.push({origin:"string", +code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e, +continue:!t.abort})}})),Xt=t("$ZodCheckEndsWith",((e,t)=>{$t.init(e,t) +;const n=new RegExp(`.*${T(t.suffix)}$`) +;t.pattern??(t.pattern=n),e._zod.onattach.push((e=>{const t=e._zod.bag +;t.patterns??(t.patterns=new Set),t.patterns.add(n)})),e._zod.check=n=>{ +n.value.endsWith(t.suffix)||n.issues.push({origin:"string", +code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e, +continue:!t.abort})}}));function Gt(e,t,n){ +e.issues.length&&t.issues.push(...Z(n,e.issues))} +const Yt=t("$ZodCheckProperty",((e,t)=>{$t.init(e,t),e._zod.check=e=>{ +const n=t.schema._zod.run({value:e.value[t.property],issues:[]},{}) +;if(n instanceof Promise)return n.then((n=>Gt(n,e,t.property))) +;Gt(n,e,t.property)}})),Kt=t("$ZodCheckMimeType",((e,t)=>{$t.init(e,t) +;const n=new Set(t.mime);e._zod.onattach.push((e=>{e._zod.bag.mime=t.mime +})),e._zod.check=r=>{n.has(r.value.type)||r.issues.push({code:"invalid_value", +values:t.mime,input:r.value.type,inst:e,continue:!t.abort})} +})),Jt=t("$ZodCheckOverwrite",((e,t)=>{$t.init(e,t),e._zod.check=e=>{ +e.value=t.tx(e.value)}}));class en{constructor(e=[]){ +this.content=[],this.indent=0,this&&(this.args=e)}indented(e){ +this.indent+=1,e(this),this.indent-=1}write(e){ +if("function"==typeof e)return e(this,{execution:"sync"}),void e(this,{ +execution:"async"}) +;const t=e.split("\n").filter((e=>e)),n=Math.min(...t.map((e=>e.length-e.trimStart().length))),r=t.map((e=>e.slice(n))).map((e=>" ".repeat(2*this.indent)+e)) +;for(const a of r)this.content.push(a)}compile(){const e=Function,t=this?.args +;return new e(...t,[...(this?.content??[""]).map((e=>` ${e}`))].join("\n"))}} +const tn={major:4,minor:3,patch:5},nn=t("$ZodType",((e,t)=>{var n +;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=tn +;const a=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&a.unshift(e) +;for(const r of a)for(const t of r._zod.onattach)t(e) +;if(0===a.length)(n=e._zod).deferred??(n.deferred=[]), +e._zod.deferred?.push((()=>{e._zod.run=e._zod.parse}));else{const t=(e,t,n)=>{ +let a,o=z(e);for(const i of t){if(i._zod.def.when){ +if(!i._zod.def.when(e))continue}else if(o)continue +;const t=e.issues.length,s=i._zod.check(e) +;if(s instanceof Promise&&!1===n?.async)throw new r +;if(a||s instanceof Promise)a=(a??Promise.resolve()).then((async()=>{await s +;e.issues.length!==t&&(o||(o=z(e,t)))}));else{if(e.issues.length===t)continue +;o||(o=z(e,t))}}return a?a.then((()=>e)):e},n=(n,o,i)=>{ +if(z(n))return n.aborted=!0,n;const s=t(o,a,i);if(s instanceof Promise){ +if(!1===i.async)throw new r;return s.then((t=>e._zod.parse(t,i)))} +return e._zod.parse(s,i)};e._zod.run=(o,i)=>{ +if(i.skipChecks)return e._zod.parse(o,i);if("backward"===i.direction){ +const t=e._zod.parse({value:o.value,issues:[]},{...i,skipChecks:!0}) +;return t instanceof Promise?t.then((e=>n(e,o,i))):n(t,o,i)} +const s=e._zod.parse(o,i);if(s instanceof Promise){if(!1===i.async)throw new r +;return s.then((e=>t(e,a,i)))}return t(s,a,i)}}m(e,"~standard",(()=>({ +validate:t=>{try{const n=de(e,t);return n.success?{value:n.data}:{ +issues:n.error?.issues}}catch(n){return he(e,t).then((e=>e.success?{value:e.data +}:{issues:e.error?.issues}))}},vendor:"zod",version:1}))) +})),rn=t("$ZodString",((e,t)=>{ +nn.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??st(e._zod.bag), +e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(a){} +return"string"==typeof n.value||n.issues.push({expected:"string", +code:"invalid_type",input:n.value,inst:e}),n} +})),an=t("$ZodStringFormat",((e,t)=>{Ft.init(e,t),rn.init(e,t) +})),on=t("$ZodGUID",((e,t)=>{t.pattern??(t.pattern=Le),an.init(e,t) +})),sn=t("$ZodUUID",((e,t)=>{if(t.version){const e={v1:1,v2:2,v3:3,v4:4,v5:5, +v6:6,v7:7,v8:8}[t.version] +;if(void 0===e)throw new Error(`Invalid UUID version: "${t.version}"`) +;t.pattern??(t.pattern=Be(e))}else t.pattern??(t.pattern=Be());an.init(e,t) +})),ln=t("$ZodEmail",((e,t)=>{t.pattern??(t.pattern=Ze),an.init(e,t) +})),cn=t("$ZodURL",((e,t)=>{an.init(e,t),e._zod.check=n=>{try{ +const r=n.value.trim(),a=new URL(r) +;return t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(a.hostname)||n.issues.push({ +code:"invalid_format",format:"url",note:"Invalid hostname", +pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort +})),t.protocol&&(t.protocol.lastIndex=0, +t.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||n.issues.push({ +code:"invalid_format",format:"url",note:"Invalid protocol", +pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort +})),void(t.normalize?n.value=a.href:n.value=r)}catch(r){n.issues.push({ +code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}} +})),un=t("$ZodEmoji",((e,t)=>{t.pattern??(t.pattern=Qe()),an.init(e,t) +})),dn=t("$ZodNanoID",((e,t)=>{t.pattern??(t.pattern=Ne),an.init(e,t) +})),pn=t("$ZodCUID",((e,t)=>{t.pattern??(t.pattern=$e),an.init(e,t) +})),hn=t("$ZodCUID2",((e,t)=>{t.pattern??(t.pattern=Pe),an.init(e,t) +})),fn=t("$ZodULID",((e,t)=>{t.pattern??(t.pattern=Ie),an.init(e,t) +})),mn=t("$ZodXID",((e,t)=>{t.pattern??(t.pattern=De),an.init(e,t) +})),gn=t("$ZodKSUID",((e,t)=>{t.pattern??(t.pattern=Me),an.init(e,t) +})),vn=t("$ZodISODateTime",((e,t)=>{t.pattern??(t.pattern=it(t)),an.init(e,t) +})),bn=t("$ZodISODate",((e,t)=>{t.pattern??(t.pattern=rt),an.init(e,t) +})),yn=t("$ZodISOTime",((e,t)=>{t.pattern??(t.pattern=ot(t)),an.init(e,t) +})),On=t("$ZodISODuration",((e,t)=>{t.pattern??(t.pattern=Re),an.init(e,t) +})),wn=t("$ZodIPv4",((e,t)=>{ +t.pattern??(t.pattern=Ve),an.init(e,t),e._zod.bag.format="ipv4" +})),xn=t("$ZodIPv6",((e,t)=>{ +t.pattern??(t.pattern=qe),an.init(e,t),e._zod.bag.format="ipv6", +e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({ +code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}} +})),kn=t("$ZodMAC",((e,t)=>{t.pattern??(t.pattern=We(t.delimiter)),an.init(e,t), +e._zod.bag.format="mac"})),Sn=t("$ZodCIDRv4",((e,t)=>{t.pattern??(t.pattern=Xe), +an.init(e,t)})),_n=t("$ZodCIDRv6",((e,t)=>{ +t.pattern??(t.pattern=Ge),an.init(e,t),e._zod.check=n=>{ +const r=n.value.split("/");try{if(2!==r.length)throw new Error;const[e,t]=r +;if(!t)throw new Error;const n=Number(t);if(`${n}`!==t)throw new Error +;if(n<0||n>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({ +code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}} +}));function An(e){if(""===e)return!0;if(e.length%4!=0)return!1;try{ +return atob(e),!0}catch{return!1}}const Tn=t("$ZodBase64",((e,t)=>{ +t.pattern??(t.pattern=Ye), +an.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{ +An(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value, +inst:e,continue:!t.abort})}}));function En(e){if(!Ke.test(e))return!1 +;const t=e.replace(/[-_]/g,(e=>"-"===e?"+":"/")) +;return An(t.padEnd(4*Math.ceil(t.length/4),"="))} +const Cn=t("$ZodBase64URL",((e,t)=>{ +t.pattern??(t.pattern=Ke),an.init(e,t),e._zod.bag.contentEncoding="base64url", +e._zod.check=n=>{En(n.value)||n.issues.push({code:"invalid_format", +format:"base64url",input:n.value,inst:e,continue:!t.abort})} +})),$n=t("$ZodE164",((e,t)=>{t.pattern??(t.pattern=tt),an.init(e,t)})) +;function Pn(e,t=null){try{const n=e.split(".");if(3!==n.length)return!1 +;const[r]=n;if(!r)return!1;const a=JSON.parse(atob(r)) +;return(!("typ"in a)||"JWT"===a?.typ)&&(!!a.alg&&(!t||"alg"in a&&a.alg===t)) +}catch{return!1}}const In=t("$ZodJWT",((e,t)=>{an.init(e,t),e._zod.check=n=>{ +Pn(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt", +input:n.value,inst:e,continue:!t.abort})} +})),Dn=t("$ZodCustomStringFormat",((e,t)=>{an.init(e,t),e._zod.check=n=>{ +t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format, +input:n.value,inst:e,continue:!t.abort})}})),Mn=t("$ZodNumber",((e,t)=>{ +nn.init(e,t),e._zod.pattern=e._zod.bag.pattern??ut,e._zod.parse=(n,r)=>{ +if(t.coerce)try{n.value=Number(n.value)}catch(i){}const a=n.value +;if("number"==typeof a&&!Number.isNaN(a)&&Number.isFinite(a))return n +;const o="number"==typeof a?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0 +;return n.issues.push({expected:"number",code:"invalid_type",input:a,inst:e, +...o?{received:o}:{}}),n}})),Nn=t("$ZodNumberFormat",((e,t)=>{ +Nt.init(e,t),Mn.init(e,t)})),Rn=t("$ZodBoolean",((e,t)=>{ +nn.init(e,t),e._zod.pattern=dt,e._zod.parse=(n,r)=>{if(t.coerce)try{ +n.value=Boolean(n.value)}catch(o){}const a=n.value +;return"boolean"==typeof a||n.issues.push({expected:"boolean", +code:"invalid_type",input:a,inst:e}),n}})),Ln=t("$ZodBigInt",((e,t)=>{ +nn.init(e,t),e._zod.pattern=lt,e._zod.parse=(n,r)=>{if(t.coerce)try{ +n.value=BigInt(n.value)}catch(a){} +return"bigint"==typeof n.value||n.issues.push({expected:"bigint", +code:"invalid_type",input:n.value,inst:e}),n} +})),Bn=t("$ZodBigIntFormat",((e,t)=>{Rt.init(e,t),Ln.init(e,t) +})),jn=t("$ZodSymbol",((e,t)=>{nn.init(e,t),e._zod.parse=(t,n)=>{const r=t.value +;return"symbol"==typeof r||t.issues.push({expected:"symbol",code:"invalid_type", +input:r,inst:e}),t}})),Un=t("$ZodUndefined",((e,t)=>{ +nn.init(e,t),e._zod.pattern=ht, +e._zod.values=new Set([void 0]),e._zod.optin="optional", +e._zod.optout="optional",e._zod.parse=(t,n)=>{const r=t.value +;return void 0===r||t.issues.push({expected:"undefined",code:"invalid_type", +input:r,inst:e}),t}})),zn=t("$ZodNull",((e,t)=>{ +nn.init(e,t),e._zod.pattern=pt,e._zod.values=new Set([null]), +e._zod.parse=(t,n)=>{const r=t.value;return null===r||t.issues.push({ +expected:"null",code:"invalid_type",input:r,inst:e}),t} +})),Zn=t("$ZodAny",((e,t)=>{nn.init(e,t),e._zod.parse=e=>e +})),Fn=t("$ZodUnknown",((e,t)=>{nn.init(e,t),e._zod.parse=e=>e +})),Hn=t("$ZodNever",((e,t)=>{nn.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({ +expected:"never",code:"invalid_type",input:t.value,inst:e}),t) +})),Qn=t("$ZodVoid",((e,t)=>{nn.init(e,t),e._zod.parse=(t,n)=>{const r=t.value +;return void 0===r||t.issues.push({expected:"void",code:"invalid_type",input:r, +inst:e}),t}})),Vn=t("$ZodDate",((e,t)=>{nn.init(e,t),e._zod.parse=(n,r)=>{ +if(t.coerce)try{n.value=new Date(n.value)}catch(i){} +const a=n.value,o=a instanceof Date +;return o&&!Number.isNaN(a.getTime())||n.issues.push({expected:"date", +code:"invalid_type",input:a,...o?{received:"Invalid Date"}:{},inst:e}),n}})) +;function qn(e,t,n){ +e.issues.length&&t.issues.push(...Z(n,e.issues)),t.value[n]=e.value} +const Wn=t("$ZodArray",((e,t)=>{nn.init(e,t),e._zod.parse=(n,r)=>{ +const a=n.value;if(!Array.isArray(a))return n.issues.push({expected:"array", +code:"invalid_type",input:a,inst:e}),n;n.value=Array(a.length);const o=[] +;for(let e=0;eqn(t,n,e)))):qn(s,n,e)} +return o.length?Promise.all(o).then((()=>n)):n}}));function Xn(e,t,n,r,a){ +if(e.issues.length){if(a&&!(n in r))return;t.issues.push(...Z(n,e.issues))} +void 0===e.value?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Gn(e){ +const t=Object.keys(e.shape) +;for(const r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${r}": expected a Zod schema`) +;const n=P(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length, +optionalKeys:new Set(n)}}function Yn(e,t,n,r,a,o){ +const i=[],s=a.keySet,l=a.catchall._zod,c=l.def.type,u="optional"===l.optout +;for(const d in t){if(s.has(d))continue;if("never"===c){i.push(d);continue} +const a=l.run({value:t[d],issues:[]},r) +;a instanceof Promise?e.push(a.then((e=>Xn(e,n,d,t,u)))):Xn(a,n,d,t,u)} +return i.length&&n.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:o +}),e.length?Promise.all(e).then((()=>n)):n}const Kn=t("$ZodObject",((e,t)=>{ +nn.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!n?.get){ +const e=t.shape;Object.defineProperty(t,"shape",{get:()=>{const n={...e} +;return Object.defineProperty(t,"shape",{value:n}),n}})}const r=u((()=>Gn(t))) +;m(e._zod,"propValues",(()=>{const e=t.shape,n={};for(const t in e){ +const r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set) +;for(const e of r.values)n[t].add(e)}}return n}));const a=w,o=t.catchall;let i +;e._zod.parse=(t,n)=>{i??(i=r.value);const s=t.value +;if(!a(s))return t.issues.push({expected:"object",code:"invalid_type",input:s, +inst:e}),t;t.value={};const l=[],c=i.shape;for(const e of i.keys){ +const r=c[e],a="optional"===r._zod.optout,o=r._zod.run({value:s[e],issues:[]},n) +;o instanceof Promise?l.push(o.then((n=>Xn(n,t,e,s,a)))):Xn(o,t,e,s,a)} +return o?Yn(l,s,t,n,r.value,e):l.length?Promise.all(l).then((()=>t)):t} +})),Jn=t("$ZodObjectJIT",((e,t)=>{Kn.init(e,t) +;const n=e._zod.parse,r=u((()=>Gn(t)));let a +;const i=w,s=!o.jitless,l=s&&x.value,c=t.catchall;let d;e._zod.parse=(o,u)=>{ +d??(d=r.value);const p=o.value +;return i(p)?s&&l&&!1===u?.async&&!0!==u.jitless?(a||(a=(e=>{ +const t=new en(["shape","payload","ctx"]),n=r.value,a=e=>{const t=b(e) +;return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`} +;t.write("const input = payload.value;");const o=Object.create(null);let i=0 +;for(const r of n.keys)o[r]="key_"+i++;t.write("const newResult = {};") +;for(const r of n.keys){ +const n=o[r],i=b(r),s=e[r],l="optional"===s?._zod?.optout +;t.write(`const ${n} = ${a(r)};`), +l?t.write(`\n if (${n}.issues.length) {\n if (${i} in input) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n }\n \n if (${n}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${n}.value;\n }\n \n `):t.write(`\n if (${n}.issues.length) {\n payload.issues = payload.issues.concat(${n}.issues.map(iss => ({\n ...iss,\n path: iss.path ? [${i}, ...iss.path] : [${i}]\n })));\n }\n \n if (${n}.value === undefined) {\n if (${i} in input) {\n newResult[${i}] = undefined;\n }\n } else {\n newResult[${i}] = ${n}.value;\n }\n \n `) +}t.write("payload.value = newResult;"),t.write("return payload;") +;const s=t.compile();return(t,n)=>s(e,t,n) +})(t.shape)),o=a(o,u),c?Yn([],p,o,u,d,e):o):n(o,u):(o.issues.push({ +expected:"object",code:"invalid_type",input:p,inst:e}),o)}})) +;function er(e,t,n,r){ +for(const o of e)if(0===o.issues.length)return t.value=o.value,t +;const a=e.filter((e=>!z(e))) +;return 1===a.length?(t.value=a[0].value,a[0]):(t.issues.push({ +code:"invalid_union",input:t.value,inst:n, +errors:e.map((e=>e.issues.map((e=>H(e,r,i())))))}),t)} +const tr=t("$ZodUnion",((e,t)=>{ +nn.init(e,t),m(e._zod,"optin",(()=>t.options.some((e=>"optional"===e._zod.optin))?"optional":void 0)), +m(e._zod,"optout",(()=>t.options.some((e=>"optional"===e._zod.optout))?"optional":void 0)), +m(e._zod,"values",(()=>{ +if(t.options.every((e=>e._zod.values)))return new Set(t.options.flatMap((e=>Array.from(e._zod.values)))) +})),m(e._zod,"pattern",(()=>{if(t.options.every((e=>e._zod.pattern))){ +const e=t.options.map((e=>e._zod.pattern)) +;return new RegExp(`^(${e.map((e=>p(e.source))).join("|")})$`)}})) +;const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(a,o)=>{ +if(n)return r(a,o);let i=!1;const s=[];for(const e of t.options){ +const t=e._zod.run({value:a.value,issues:[]},o) +;if(t instanceof Promise)s.push(t),i=!0;else{if(0===t.issues.length)return t +;s.push(t)}}return i?Promise.all(s).then((t=>er(t,a,e,o))):er(s,a,e,o)}})) +;function nr(e,t,n,r){const a=e.filter((e=>0===e.issues.length)) +;return 1===a.length?(t.value=a[0].value,t):(0===a.length?t.issues.push({ +code:"invalid_union",input:t.value,inst:n, +errors:e.map((e=>e.issues.map((e=>H(e,r,i())))))}):t.issues.push({ +code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1}),t)} +const rr=t("$ZodXor",((e,t)=>{tr.init(e,t),t.inclusive=!1 +;const n=1===t.options.length,r=t.options[0]._zod.run;e._zod.parse=(a,o)=>{ +if(n)return r(a,o);let i=!1;const s=[];for(const e of t.options){ +const t=e._zod.run({value:a.value,issues:[]},o);t instanceof Promise?(s.push(t), +i=!0):s.push(t)}return i?Promise.all(s).then((t=>nr(t,a,e,o))):nr(s,a,e,o)} +})),ar=t("$ZodDiscriminatedUnion",((e,t)=>{t.inclusive=!1,tr.init(e,t) +;const n=e._zod.parse;m(e._zod,"propValues",(()=>{const e={} +;for(const n of t.options){const r=n._zod.propValues +;if(!r||0===Object.keys(r).length)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`) +;for(const[t,n]of Object.entries(r)){e[t]||(e[t]=new Set) +;for(const r of n)e[t].add(r)}}return e}));const r=u((()=>{ +const e=t.options,n=new Map;for(const r of e){ +const e=r._zod.propValues?.[t.discriminator] +;if(!e||0===e.size)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`) +;for(const t of e){ +if(n.has(t))throw new Error(`Duplicate discriminator value "${String(t)}"`) +;n.set(t,r)}}return n}));e._zod.parse=(a,o)=>{const i=a.value +;if(!w(i))return a.issues.push({code:"invalid_type",expected:"object",input:i, +inst:e}),a;const s=r.value.get(i?.[t.discriminator]) +;return s?s._zod.run(a,o):t.unionFallback?n(a,o):(a.issues.push({ +code:"invalid_union",errors:[],note:"No matching discriminator", +discriminator:t.discriminator,input:i,path:[t.discriminator],inst:e}),a)} +})),or=t("$ZodIntersection",((e,t)=>{nn.init(e,t),e._zod.parse=(e,n)=>{ +const r=e.value,a=t.left._zod.run({value:r,issues:[]},n),o=t.right._zod.run({ +value:r,issues:[]},n) +;return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then((([t,n])=>sr(e,t,n))):sr(e,a,o) +}}));function ir(e,t){if(e===t)return{valid:!0,data:e} +;if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e} +;if(k(e)&&k(t)){ +const n=Object.keys(t),r=Object.keys(e).filter((e=>-1!==n.indexOf(e))),a={...e, +...t};for(const o of r){const n=ir(e[o],t[o]);if(!n.valid)return{valid:!1, +mergeErrorPath:[o,...n.mergeErrorPath]};a[o]=n.data}return{valid:!0,data:a}} +if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1, +mergeErrorPath:[]};const n=[];for(let r=0;re.l&&e.r)).map((([e])=>e)) +;if(o.length&&a&&e.issues.push({...a,keys:o}),z(e))return e +;const i=ir(t.value,n.value) +;if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`) +;return e.value=i.data,e}const lr=t("$ZodTuple",((e,t)=>{nn.init(e,t) +;const n=t.items;e._zod.parse=(r,a)=>{const o=r.value +;if(!Array.isArray(o))return r.issues.push({input:o,inst:e,expected:"tuple", +code:"invalid_type"}),r;r.value=[] +;const i=[],s=[...n].reverse().findIndex((e=>"optional"!==e._zod.optin)),l=-1===s?0:n.length-s +;if(!t.rest){const t=o.length>n.length,a=o.length=o.length&&c>=l)continue +;const t=e._zod.run({value:o[c],issues:[]},a) +;t instanceof Promise?i.push(t.then((e=>cr(e,r,c)))):cr(t,r,c)}if(t.rest){ +const e=o.slice(n.length);for(const n of e){c++;const e=t.rest._zod.run({ +value:n,issues:[]},a) +;e instanceof Promise?i.push(e.then((e=>cr(e,r,c)))):cr(e,r,c)}} +return i.length?Promise.all(i).then((()=>r)):r}}));function cr(e,t,n){ +e.issues.length&&t.issues.push(...Z(n,e.issues)),t.value[n]=e.value} +const ur=t("$ZodRecord",((e,t)=>{nn.init(e,t),e._zod.parse=(n,r)=>{ +const a=n.value;if(!k(a))return n.issues.push({expected:"record", +code:"invalid_type",input:a,inst:e}),n;const o=[],s=t.keyType._zod.values;if(s){ +n.value={};const i=new Set +;for(const e of s)if("string"==typeof e||"number"==typeof e||"symbol"==typeof e){ +i.add("number"==typeof e?e.toString():e);const s=t.valueType._zod.run({ +value:a[e],issues:[]},r);s instanceof Promise?o.push(s.then((t=>{ +t.issues.length&&n.issues.push(...Z(e,t.issues)),n.value[e]=t.value +}))):(s.issues.length&&n.issues.push(...Z(e,s.issues)),n.value[e]=s.value)}let l +;for(const e in a)i.has(e)||(l=l??[],l.push(e));l&&l.length>0&&n.issues.push({ +code:"unrecognized_keys",input:a,inst:e,keys:l})}else{n.value={} +;for(const s of Reflect.ownKeys(a)){if("__proto__"===s)continue +;let l=t.keyType._zod.run({value:s,issues:[]},r) +;if(l instanceof Promise)throw new Error("Async schemas not supported in object keys currently") +;if("string"==typeof s&&ut.test(s)&&l.issues.length&&l.issues.some((e=>"invalid_type"===e.code&&"number"===e.expected))){ +const e=t.keyType._zod.run({value:Number(s),issues:[]},r) +;if(e instanceof Promise)throw new Error("Async schemas not supported in object keys currently") +;0===e.issues.length&&(l=e)}if(l.issues.length){ +"loose"===t.mode?n.value[s]=a[s]:n.issues.push({code:"invalid_key", +origin:"record",issues:l.issues.map((e=>H(e,r,i()))),input:s,path:[s],inst:e}) +;continue}const c=t.valueType._zod.run({value:a[s],issues:[]},r) +;c instanceof Promise?o.push(c.then((e=>{ +e.issues.length&&n.issues.push(...Z(s,e.issues)),n.value[l.value]=e.value +}))):(c.issues.length&&n.issues.push(...Z(s,c.issues)),n.value[l.value]=c.value) +}}return o.length?Promise.all(o).then((()=>n)):n}})),dr=t("$ZodMap",((e,t)=>{ +nn.init(e,t),e._zod.parse=(n,r)=>{const a=n.value +;if(!(a instanceof Map))return n.issues.push({expected:"map", +code:"invalid_type",input:a,inst:e}),n;const o=[];n.value=new Map +;for(const[i,s]of a){const l=t.keyType._zod.run({value:i,issues:[] +},r),c=t.valueType._zod.run({value:s,issues:[]},r) +;l instanceof Promise||c instanceof Promise?o.push(Promise.all([l,c]).then((([t,o])=>{ +pr(t,o,n,i,a,e,r)}))):pr(l,c,n,i,a,e,r)} +return o.length?Promise.all(o).then((()=>n)):n}}));function pr(e,t,n,r,a,o,s){ +e.issues.length&&(_.has(typeof r)?n.issues.push(...Z(r,e.issues)):n.issues.push({ +code:"invalid_key",origin:"map",input:a,inst:o, +issues:e.issues.map((e=>H(e,s,i()))) +})),t.issues.length&&(_.has(typeof r)?n.issues.push(...Z(r,t.issues)):n.issues.push({ +origin:"map",code:"invalid_element",input:a,inst:o,key:r, +issues:t.issues.map((e=>H(e,s,i())))})),n.value.set(e.value,t.value)} +const hr=t("$ZodSet",((e,t)=>{nn.init(e,t),e._zod.parse=(n,r)=>{const a=n.value +;if(!(a instanceof Set))return n.issues.push({input:a,inst:e,expected:"set", +code:"invalid_type"}),n;const o=[];n.value=new Set;for(const e of a){ +const a=t.valueType._zod.run({value:e,issues:[]},r) +;a instanceof Promise?o.push(a.then((e=>fr(e,n)))):fr(a,n)} +return o.length?Promise.all(o).then((()=>n)):n}}));function fr(e,t){ +e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)} +const mr=t("$ZodEnum",((e,t)=>{nn.init(e,t);const n=s(t.entries),r=new Set(n) +;e._zod.values=r, +e._zod.pattern=new RegExp(`^(${n.filter((e=>_.has(typeof e))).map((e=>"string"==typeof e?T(e):e.toString())).join("|")})$`), +e._zod.parse=(t,a)=>{const o=t.value;return r.has(o)||t.issues.push({ +code:"invalid_value",values:n,input:o,inst:e}),t} +})),gr=t("$ZodLiteral",((e,t)=>{ +if(nn.init(e,t),0===t.values.length)throw new Error("Cannot create literal schema with no valid values") +;const n=new Set(t.values) +;e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((e=>"string"==typeof e?T(e):e?T(e.toString()):String(e))).join("|")})$`), +e._zod.parse=(r,a)=>{const o=r.value;return n.has(o)||r.issues.push({ +code:"invalid_value",values:t.values,input:o,inst:e}),r} +})),vr=t("$ZodFile",((e,t)=>{nn.init(e,t),e._zod.parse=(t,n)=>{const r=t.value +;return r instanceof File||t.issues.push({expected:"file",code:"invalid_type", +input:r,inst:e}),t}})),br=t("$ZodTransform",((e,t)=>{ +nn.init(e,t),e._zod.parse=(n,o)=>{ +if("backward"===o.direction)throw new a(e.constructor.name) +;const i=t.transform(n.value,n);if(o.async){ +return(i instanceof Promise?i:Promise.resolve(i)).then((e=>(n.value=e,n)))} +if(i instanceof Promise)throw new r;return n.value=i,n}}));function yr(e,t){ +return e.issues.length&&void 0===t?{issues:[],value:void 0}:e} +const Or=t("$ZodOptional",((e,t)=>{ +nn.init(e,t),e._zod.optin="optional",e._zod.optout="optional", +m(e._zod,"values",(()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0)), +m(e._zod,"pattern",(()=>{const e=t.innerType._zod.pattern +;return e?new RegExp(`^(${p(e.source)})?$`):void 0})),e._zod.parse=(e,n)=>{ +if("optional"===t.innerType._zod.optin){const r=t.innerType._zod.run(e,n) +;return r instanceof Promise?r.then((t=>yr(t,e.value))):yr(r,e.value)} +return void 0===e.value?e:t.innerType._zod.run(e,n)} +})),wr=t("$ZodExactOptional",((e,t)=>{ +Or.init(e,t),m(e._zod,"values",(()=>t.innerType._zod.values)), +m(e._zod,"pattern",(()=>t.innerType._zod.pattern)), +e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)})),xr=t("$ZodNullable",((e,t)=>{ +nn.init(e,t), +m(e._zod,"optin",(()=>t.innerType._zod.optin)),m(e._zod,"optout",(()=>t.innerType._zod.optout)), +m(e._zod,"pattern",(()=>{const e=t.innerType._zod.pattern +;return e?new RegExp(`^(${p(e.source)}|null)$`):void 0 +})),m(e._zod,"values",(()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0)), +e._zod.parse=(e,n)=>null===e.value?e:t.innerType._zod.run(e,n) +})),kr=t("$ZodDefault",((e,t)=>{ +nn.init(e,t),e._zod.optin="optional",m(e._zod,"values",(()=>t.innerType._zod.values)), +e._zod.parse=(e,n)=>{ +if("backward"===n.direction)return t.innerType._zod.run(e,n) +;if(void 0===e.value)return e.value=t.defaultValue,e +;const r=t.innerType._zod.run(e,n) +;return r instanceof Promise?r.then((e=>Sr(e,t))):Sr(r,t)}}));function Sr(e,t){ +return void 0===e.value&&(e.value=t.defaultValue),e} +const _r=t("$ZodPrefault",((e,t)=>{ +nn.init(e,t),e._zod.optin="optional",m(e._zod,"values",(()=>t.innerType._zod.values)), +e._zod.parse=(e,n)=>("backward"===n.direction||void 0===e.value&&(e.value=t.defaultValue), +t.innerType._zod.run(e,n))})),Ar=t("$ZodNonOptional",((e,t)=>{ +nn.init(e,t),m(e._zod,"values",(()=>{const e=t.innerType._zod.values +;return e?new Set([...e].filter((e=>void 0!==e))):void 0 +})),e._zod.parse=(n,r)=>{const a=t.innerType._zod.run(n,r) +;return a instanceof Promise?a.then((t=>Tr(t,e))):Tr(a,e)}}));function Tr(e,t){ +return e.issues.length||void 0!==e.value||e.issues.push({code:"invalid_type", +expected:"nonoptional",input:e.value,inst:t}),e} +const Er=t("$ZodSuccess",((e,t)=>{nn.init(e,t),e._zod.parse=(e,n)=>{ +if("backward"===n.direction)throw new a("ZodSuccess") +;const r=t.innerType._zod.run(e,n) +;return r instanceof Promise?r.then((t=>(e.value=0===t.issues.length, +e))):(e.value=0===r.issues.length,e)}})),Cr=t("$ZodCatch",((e,t)=>{nn.init(e,t), +m(e._zod,"optin",(()=>t.innerType._zod.optin)), +m(e._zod,"optout",(()=>t.innerType._zod.optout)), +m(e._zod,"values",(()=>t.innerType._zod.values)),e._zod.parse=(e,n)=>{ +if("backward"===n.direction)return t.innerType._zod.run(e,n) +;const r=t.innerType._zod.run(e,n) +;return r instanceof Promise?r.then((r=>(e.value=r.value, +r.issues.length&&(e.value=t.catchValue({...e,error:{ +issues:r.issues.map((e=>H(e,n,i())))},input:e.value +}),e.issues=[]),e))):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({ +...e,error:{issues:r.issues.map((e=>H(e,n,i())))},input:e.value +}),e.issues=[]),e)}})),$r=t("$ZodNaN",((e,t)=>{ +nn.init(e,t),e._zod.parse=(t,n)=>("number"==typeof t.value&&Number.isNaN(t.value)||t.issues.push({ +input:t.value,inst:e,expected:"nan",code:"invalid_type"}),t) +})),Pr=t("$ZodPipe",((e,t)=>{ +nn.init(e,t),m(e._zod,"values",(()=>t.in._zod.values)), +m(e._zod,"optin",(()=>t.in._zod.optin)), +m(e._zod,"optout",(()=>t.out._zod.optout)), +m(e._zod,"propValues",(()=>t.in._zod.propValues)),e._zod.parse=(e,n)=>{ +if("backward"===n.direction){const r=t.out._zod.run(e,n) +;return r instanceof Promise?r.then((e=>Ir(e,t.in,n))):Ir(r,t.in,n)} +const r=t.in._zod.run(e,n) +;return r instanceof Promise?r.then((e=>Ir(e,t.out,n))):Ir(r,t.out,n)}})) +;function Ir(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({ +value:e.value,issues:e.issues},n)}const Dr=t("$ZodCodec",((e,t)=>{ +nn.init(e,t),m(e._zod,"values",(()=>t.in._zod.values)), +m(e._zod,"optin",(()=>t.in._zod.optin)), +m(e._zod,"optout",(()=>t.out._zod.optout)), +m(e._zod,"propValues",(()=>t.in._zod.propValues)),e._zod.parse=(e,n)=>{ +if("forward"===(n.direction||"forward")){const r=t.in._zod.run(e,n) +;return r instanceof Promise?r.then((e=>Mr(e,t,n))):Mr(r,t,n)}{ +const r=t.out._zod.run(e,n) +;return r instanceof Promise?r.then((e=>Mr(e,t,n))):Mr(r,t,n)}}})) +;function Mr(e,t,n){if(e.issues.length)return e.aborted=!0,e +;if("forward"===(n.direction||"forward")){const r=t.transform(e.value,e) +;return r instanceof Promise?r.then((r=>Nr(e,r,t.out,n))):Nr(e,r,t.out,n)}{ +const r=t.reverseTransform(e.value,e) +;return r instanceof Promise?r.then((r=>Nr(e,r,t.in,n))):Nr(e,r,t.in,n)}} +function Nr(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({ +value:t,issues:e.issues},r)}const Rr=t("$ZodReadonly",((e,t)=>{ +nn.init(e,t),m(e._zod,"propValues",(()=>t.innerType._zod.propValues)), +m(e._zod,"values",(()=>t.innerType._zod.values)), +m(e._zod,"optin",(()=>t.innerType?._zod?.optin)), +m(e._zod,"optout",(()=>t.innerType?._zod?.optout)),e._zod.parse=(e,n)=>{ +if("backward"===n.direction)return t.innerType._zod.run(e,n) +;const r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Lr):Lr(r)} +}));function Lr(e){return e.value=Object.freeze(e.value),e} +const Br=t("$ZodTemplateLiteral",((e,t)=>{nn.init(e,t);const n=[] +;for(const r of t.parts)if("object"==typeof r&&null!==r){ +if(!r._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`) +;const e=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern +;if(!e)throw new Error(`Invalid template literal part: ${r._zod.traits}`) +;const t=e.startsWith("^")?1:0,a=e.endsWith("$")?e.length-1:e.length +;n.push(e.slice(t,a))}else{ +if(null!==r&&!A.has(typeof r))throw new Error(`Invalid template literal part: ${r}`) +;n.push(T(`${r}`))} +e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(n,r)=>"string"!=typeof n.value?(n.issues.push({ +input:n.value,inst:e,expected:"string",code:"invalid_type" +}),n):(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({ +input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal", +pattern:e._zod.pattern.source}),n)})),jr=t("$ZodFunction",((e,t)=>(nn.init(e,t), +e._def=t,e._zod.def=t,e.implement=t=>{ +if("function"!=typeof t)throw new Error("implement() must be called with a function") +;return function(...n){ +const r=e._def.input?se(e._def.input,n):n,a=Reflect.apply(t,this,r) +;return e._def.output?se(e._def.output,a):a}},e.implementAsync=t=>{ +if("function"!=typeof t)throw new Error("implementAsync() must be called with a function") +;return async function(...n){ +const r=e._def.input?await ce(e._def.input,n):n,a=await Reflect.apply(t,this,r) +;return e._def.output?await ce(e._def.output,a):a}},e._zod.parse=(t,n)=>{ +if("function"!=typeof t.value)return t.issues.push({code:"invalid_type", +expected:"function",input:t.value,inst:e}),t +;const r=e._def.output&&"promise"===e._def.output._zod.def.type +;return t.value=r?e.implementAsync(t.value):e.implement(t.value),t +},e.input=(...t)=>{const n=e.constructor;return Array.isArray(t[0])?new n({ +type:"function",input:new lr({type:"tuple",items:t[0],rest:t[1]}), +output:e._def.output}):new n({type:"function",input:t[0],output:e._def.output}) +},e.output=t=>new(0,e.constructor)({type:"function",input:e._def.input,output:t +}),e))),Ur=t("$ZodPromise",((e,t)=>{ +nn.init(e,t),e._zod.parse=(e,n)=>Promise.resolve(e.value).then((e=>t.innerType._zod.run({ +value:e,issues:[]},n)))})),zr=t("$ZodLazy",((e,t)=>{ +nn.init(e,t),m(e._zod,"innerType",(()=>t.getter())), +m(e._zod,"pattern",(()=>e._zod.innerType?._zod?.pattern)), +m(e._zod,"propValues",(()=>e._zod.innerType?._zod?.propValues)), +m(e._zod,"optin",(()=>e._zod.innerType?._zod?.optin??void 0)), +m(e._zod,"optout",(()=>e._zod.innerType?._zod?.optout??void 0)), +e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n) +})),Zr=t("$ZodCustom",((e,t)=>{ +$t.init(e,t),nn.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{ +const r=n.value,a=t.fn(r) +;if(a instanceof Promise)return a.then((t=>Fr(t,n,r,e)));Fr(a,n,r,e)}})) +;function Fr(e,t,n,r){if(!e){const e={code:"custom",input:n,inst:r, +path:[...r._zod.def.path??[]],continue:!r._zod.def.abort} +;r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(W(e))}} +const Hr=()=>{const e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت", +verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر", +verb:"أن يحوي"}};function t(t){return e[t]??null}const n={regex:"مدخل", +email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO", +date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO", +ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4", +cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded", +base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON", +e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},r={nan:"NaN"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`مدخلات غير مقبولة: يفترض إدخال instanceof ${e.expected}، ولكن تم إدخال ${a}`:`مدخلات غير مقبولة: يفترض إدخال ${t}، ولكن تم إدخال ${a}` +}case"invalid_value": +return 1===e.values.length?`مدخلات غير مقبولة: يفترض إدخال ${$(e.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?` أكبر من اللازم: يفترض أن تكون ${e.origin??"القيمة"} ${n} ${e.maximum.toString()} ${r.unit??"عنصر"}`:`أكبر من اللازم: يفترض أن تكون ${e.origin??"القيمة"} ${n} ${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${n} ${e.minimum.toString()} ${r.unit}`:`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${n} ${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`نَص غير مقبول: يجب أن يبدأ بـ "${e.prefix}"`:"ends_with"===t.format?`نَص غير مقبول: يجب أن ينتهي بـ "${t.suffix}"`:"includes"===t.format?`نَص غير مقبول: يجب أن يتضمَّن "${t.includes}"`:"regex"===t.format?`نَص غير مقبول: يجب أن يطابق النمط ${t.pattern}`:`${n[t.format]??e.format} غير مقبول` +}case"not_multiple_of": +return`رقم غير مقبول: يجب أن يكون من مضاعفات ${e.divisor}` +;case"unrecognized_keys": +return`معرف${e.keys.length>1?"ات":""} غريب${e.keys.length>1?"ة":""}: ${l(e.keys,"، ")}` +;case"invalid_key":return`معرف غير مقبول في ${e.origin}`;case"invalid_union": +default:return"مدخل غير مقبول";case"invalid_element": +return`مدخل غير مقبول في ${e.origin}`}}};const Qr=()=>{const e={string:{ +unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{ +unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}} +;function t(t){return e[t]??null}const n={regex:"input",email:"email address", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time", +duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address", +cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string", +base64url:"base64url-encoded string",json_string:"JSON string", +e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Yanlış dəyər: gözlənilən instanceof ${e.expected}, daxil olan ${a}`:`Yanlış dəyər: gözlənilən ${t}, daxil olan ${a}` +}case"invalid_value": +return 1===e.values.length?`Yanlış dəyər: gözlənilən ${$(e.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Çox böyük: gözlənilən ${e.origin??"dəyər"} ${n}${e.maximum.toString()} ${r.unit??"element"}`:`Çox böyük: gözlənilən ${e.origin??"dəyər"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Çox kiçik: gözlənilən ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`Çox kiçik: gözlənilən ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Yanlış mətn: "${t.prefix}" ilə başlamalıdır`:"ends_with"===t.format?`Yanlış mətn: "${t.suffix}" ilə bitməlidir`:"includes"===t.format?`Yanlış mətn: "${t.includes}" daxil olmalıdır`:"regex"===t.format?`Yanlış mətn: ${t.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Yanlış ədəd: ${e.divisor} ilə bölünə bilən olmalıdır` +;case"unrecognized_keys": +return`Tanınmayan açar${e.keys.length>1?"lar":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} daxilində yanlış açar` +;case"invalid_union":default:return"Yanlış dəyər";case"invalid_element": +return`${e.origin} daxilində yanlış dəyər`}}};function Vr(e,t,n,r){ +const a=Math.abs(e),o=a%10,i=a%100;return i>=11&&i<=19?r:1===o?t:o>=2&&o<=4?n:r} +const qr=()=>{const e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў" +},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"}, +verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"}, +verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}} +;function t(t){return e[t]??null}const n={regex:"увод",email:"email адрас", +url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час", +duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас", +cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64", +base64url:"радок у фармаце base64url",json_string:"JSON радок", +e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},r={nan:"NaN",number:"лік", +array:"масіў"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Няправільны ўвод: чакаўся instanceof ${e.expected}, атрымана ${a}`:`Няправільны ўвод: чакаўся ${t}, атрымана ${a}` +}case"invalid_value": +return 1===e.values.length?`Няправільны ўвод: чакалася ${$(e.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin);if(r){ +const t=Vr(Number(e.maximum),r.unit.one,r.unit.few,r.unit.many) +;return`Занадта вялікі: чакалася, што ${e.origin??"значэнне"} павінна ${r.verb} ${n}${e.maximum.toString()} ${t}` +} +return`Занадта вялікі: чакалася, што ${e.origin??"значэнне"} павінна быць ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin);if(r){ +const t=Vr(Number(e.minimum),r.unit.one,r.unit.few,r.unit.many) +;return`Занадта малы: чакалася, што ${e.origin} павінна ${r.verb} ${n}${e.minimum.toString()} ${t}` +} +return`Занадта малы: чакалася, што ${e.origin} павінна быць ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Няправільны радок: павінен пачынацца з "${t.prefix}"`:"ends_with"===t.format?`Няправільны радок: павінен заканчвацца на "${t.suffix}"`:"includes"===t.format?`Няправільны радок: павінен змяшчаць "${t.includes}"`:"regex"===t.format?`Няправільны радок: павінен адпавядаць шаблону ${t.pattern}`:`Няправільны ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Няправільны лік: павінен быць кратным ${e.divisor}` +;case"unrecognized_keys": +return`Нераспазнаны ${e.keys.length>1?"ключы":"ключ"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Няправільны ключ у ${e.origin}`;case"invalid_union": +default:return"Няправільны ўвод";case"invalid_element": +return`Няправільнае значэнне ў ${e.origin}`}}};const Wr=()=>{const e={string:{ +unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{ +unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}} +;function t(t){return e[t]??null}const n={regex:"вход",email:"имейл адрес", +url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време", +duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес", +cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ", +base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер", +jwt:"JWT",template_literal:"вход"},r={nan:"NaN",number:"число",array:"масив"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Невалиден вход: очакван instanceof ${e.expected}, получен ${a}`:`Невалиден вход: очакван ${t}, получен ${a}` +}case"invalid_value": +return 1===e.values.length?`Невалиден вход: очакван ${$(e.values[0])}`:`Невалидна опция: очаквано едно от ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Твърде голямо: очаква се ${e.origin??"стойност"} да съдържа ${n}${e.maximum.toString()} ${r.unit??"елемента"}`:`Твърде голямо: очаква се ${e.origin??"стойност"} да бъде ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Твърде малко: очаква се ${e.origin} да съдържа ${n}${e.minimum.toString()} ${r.unit}`:`Твърде малко: очаква се ${e.origin} да бъде ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;if("starts_with"===t.format)return`Невалиден низ: трябва да започва с "${t.prefix}"` +;if("ends_with"===t.format)return`Невалиден низ: трябва да завършва с "${t.suffix}"` +;if("includes"===t.format)return`Невалиден низ: трябва да включва "${t.includes}"` +;if("regex"===t.format)return`Невалиден низ: трябва да съвпада с ${t.pattern}` +;let r="Невалиден" +;return"emoji"===t.format&&(r="Невалидно"),"datetime"===t.format&&(r="Невалидно"), +"date"===t.format&&(r="Невалидна"), +"time"===t.format&&(r="Невалидно"),"duration"===t.format&&(r="Невалидна"), +`${r} ${n[t.format]??e.format}`}case"not_multiple_of": +return`Невалидно число: трябва да бъде кратно на ${e.divisor}` +;case"unrecognized_keys": +return`Неразпознат${e.keys.length>1?"и":""} ключ${e.keys.length>1?"ове":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Невалиден ключ в ${e.origin}`;case"invalid_union": +default:return"Невалиден вход";case"invalid_element": +return`Невалидна стойност в ${e.origin}`}}};const Xr=()=>{const e={string:{ +unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{ +unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}} +;function t(t){return e[t]??null}const n={regex:"entrada", +email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO", +time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6", +cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64", +base64url:"cadena codificada en base64url",json_string:"cadena JSON", +e164:"número E.164",jwt:"JWT",template_literal:"entrada"},r={nan:"NaN"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Tipus invàlid: s'esperava instanceof ${e.expected}, s'ha rebut ${a}`:`Tipus invàlid: s'esperava ${t}, s'ha rebut ${a}` +}case"invalid_value": +return 1===e.values.length?`Valor invàlid: s'esperava ${$(e.values[0])}`:`Opció invàlida: s'esperava una de ${l(e.values," o ")}` +;case"too_big":{const n=e.inclusive?"com a màxim":"menys de",r=t(e.origin) +;return r?`Massa gran: s'esperava que ${e.origin??"el valor"} contingués ${n} ${e.maximum.toString()} ${r.unit??"elements"}`:`Massa gran: s'esperava que ${e.origin??"el valor"} fos ${n} ${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?"com a mínim":"més de",r=t(e.origin) +;return r?`Massa petit: s'esperava que ${e.origin} contingués ${n} ${e.minimum.toString()} ${r.unit}`:`Massa petit: s'esperava que ${e.origin} fos ${n} ${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Format invàlid: ha de començar amb "${t.prefix}"`:"ends_with"===t.format?`Format invàlid: ha d'acabar amb "${t.suffix}"`:"includes"===t.format?`Format invàlid: ha d'incloure "${t.includes}"`:"regex"===t.format?`Format invàlid: ha de coincidir amb el patró ${t.pattern}`:`Format invàlid per a ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Número invàlid: ha de ser múltiple de ${e.divisor}` +;case"unrecognized_keys": +return`Clau${e.keys.length>1?"s":""} no reconeguda${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Clau invàlida a ${e.origin}`;case"invalid_union": +default:return"Entrada invàlida";case"invalid_element": +return`Element invàlid a ${e.origin}`}}};const Gr=()=>{const e={string:{ +unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků", +verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(t){return e[t]??null} +const n={regex:"regulární výraz",email:"e-mailová adresa",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO", +time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa", +ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6", +base64:"řetězec zakódovaný ve formátu base64", +base64url:"řetězec zakódovaný ve formátu base64url", +json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT", +template_literal:"vstup"},r={nan:"NaN",number:"číslo",string:"řetězec", +function:"funkce",array:"pole"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Neplatný vstup: očekáváno instanceof ${e.expected}, obdrženo ${a}`:`Neplatný vstup: očekáváno ${t}, obdrženo ${a}` +}case"invalid_value": +return 1===e.values.length?`Neplatný vstup: očekáváno ${$(e.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Hodnota je příliš velká: ${e.origin??"hodnota"} musí mít ${n}${e.maximum.toString()} ${r.unit??"prvků"}`:`Hodnota je příliš velká: ${e.origin??"hodnota"} musí být ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Hodnota je příliš malá: ${e.origin??"hodnota"} musí mít ${n}${e.minimum.toString()} ${r.unit??"prvků"}`:`Hodnota je příliš malá: ${e.origin??"hodnota"} musí být ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Neplatný řetězec: musí začínat na "${t.prefix}"`:"ends_with"===t.format?`Neplatný řetězec: musí končit na "${t.suffix}"`:"includes"===t.format?`Neplatný řetězec: musí obsahovat "${t.includes}"`:"regex"===t.format?`Neplatný řetězec: musí odpovídat vzoru ${t.pattern}`:`Neplatný formát ${n[t.format]??e.format}` +}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${e.divisor}` +;case"unrecognized_keys":return`Neznámé klíče: ${l(e.keys,", ")}` +;case"invalid_key":return`Neplatný klíč v ${e.origin}`;case"invalid_union": +default:return"Neplatný vstup";case"invalid_element": +return`Neplatná hodnota v ${e.origin}`}}};const Yr=()=>{const e={string:{ +unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{ +unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}} +;function t(t){return e[t]??null}const n={regex:"input",email:"e-mailadresse", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato", +time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område", +ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum", +base64:"base64-kodet streng",base64url:"base64url-kodet streng", +json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input" +},r={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste", +object:"objekt",set:"sæt",file:"fil"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ugyldigt input: forventede instanceof ${e.expected}, fik ${a}`:`Ugyldigt input: forventede ${t}, fik ${a}` +}case"invalid_value": +return 1===e.values.length?`Ugyldig værdi: forventede ${$(e.values[0])}`:`Ugyldigt valg: forventede en af følgende ${l(e.values,"|")}` +;case"too_big":{ +const n=e.inclusive?"<=":"<",a=t(e.origin),o=r[e.origin]??e.origin +;return a?`For stor: forventede ${o??"value"} ${a.verb} ${n} ${e.maximum.toString()} ${a.unit??"elementer"}`:`For stor: forventede ${o??"value"} havde ${n} ${e.maximum.toString()}` +}case"too_small":{ +const n=e.inclusive?">=":">",a=t(e.origin),o=r[e.origin]??e.origin +;return a?`For lille: forventede ${o} ${a.verb} ${n} ${e.minimum.toString()} ${a.unit}`:`For lille: forventede ${o} havde ${n} ${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ugyldig streng: skal starte med "${t.prefix}"`:"ends_with"===t.format?`Ugyldig streng: skal ende med "${t.suffix}"`:"includes"===t.format?`Ugyldig streng: skal indeholde "${t.includes}"`:"regex"===t.format?`Ugyldig streng: skal matche mønsteret ${t.pattern}`:`Ugyldig ${n[t.format]??e.format}` +}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${e.divisor}` +;case"unrecognized_keys": +return`${e.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Ugyldig nøgle i ${e.origin}`;case"invalid_union": +return"Ugyldigt input: matcher ingen af de tilladte typer" +;case"invalid_element":return`Ugyldig værdi i ${e.origin}`;default: +return"Ugyldigt input"}}};const Kr=()=>{const e={string:{unit:"Zeichen", +verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente", +verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(t){ +return e[t]??null}const n={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL", +emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit", +duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse", +cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String", +base64url:"Base64-URL-codierter String",json_string:"JSON-String", +e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},r={nan:"NaN", +number:"Zahl",array:"Array"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ungültige Eingabe: erwartet instanceof ${e.expected}, erhalten ${a}`:`Ungültige Eingabe: erwartet ${t}, erhalten ${a}` +}case"invalid_value": +return 1===e.values.length?`Ungültige Eingabe: erwartet ${$(e.values[0])}`:`Ungültige Option: erwartet eine von ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Zu groß: erwartet, dass ${e.origin??"Wert"} ${n}${e.maximum.toString()} ${r.unit??"Elemente"} hat`:`Zu groß: erwartet, dass ${e.origin??"Wert"} ${n}${e.maximum.toString()} ist` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Zu klein: erwartet, dass ${e.origin} ${n}${e.minimum.toString()} ${r.unit} hat`:`Zu klein: erwartet, dass ${e.origin} ${n}${e.minimum.toString()} ist` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ungültiger String: muss mit "${t.prefix}" beginnen`:"ends_with"===t.format?`Ungültiger String: muss mit "${t.suffix}" enden`:"includes"===t.format?`Ungültiger String: muss "${t.includes}" enthalten`:"regex"===t.format?`Ungültiger String: muss dem Muster ${t.pattern} entsprechen`:`Ungültig: ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Ungültige Zahl: muss ein Vielfaches von ${e.divisor} sein` +;case"unrecognized_keys": +return`${e.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Ungültiger Schlüssel in ${e.origin}` +;case"invalid_union":default:return"Ungültige Eingabe";case"invalid_element": +return`Ungültiger Wert in ${e.origin}`}}};const Jr=()=>{const e={string:{ +unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{ +unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{ +unit:"entries",verb:"to have"}};function t(t){return e[t]??null}const n={ +regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime", +date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address", +ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range", +base64:"base64-encoded string",base64url:"base64url-encoded string", +json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input" +},r={nan:"NaN"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input) +;return`Invalid input: expected ${t}, received ${r[n]??n}`}case"invalid_value": +return 1===e.values.length?`Invalid input: expected ${$(e.values[0])}`:`Invalid option: expected one of ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Too big: expected ${e.origin??"value"} to have ${n}${e.maximum.toString()} ${r.unit??"elements"}`:`Too big: expected ${e.origin??"value"} to be ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Invalid string: must start with "${t.prefix}"`:"ends_with"===t.format?`Invalid string: must end with "${t.suffix}"`:"includes"===t.format?`Invalid string: must include "${t.includes}"`:"regex"===t.format?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Invalid number: must be a multiple of ${e.divisor}` +;case"unrecognized_keys": +return`Unrecognized key${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Invalid key in ${e.origin}`;case"invalid_union": +default:return"Invalid input";case"invalid_element": +return`Invalid value in ${e.origin}`}}};function ea(){return{localeError:Jr()}} +const ta=()=>{const e={string:{unit:"karaktrojn",verb:"havi"},file:{ +unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{ +unit:"elementojn",verb:"havi"}};function t(t){return e[t]??null}const n={ +regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo", +date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso", +ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango", +base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro", +json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT", +template_literal:"enigo"},r={nan:"NaN",number:"nombro",array:"tabelo", +null:"senvalora"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Nevalida enigo: atendiĝis instanceof ${e.expected}, riceviĝis ${a}`:`Nevalida enigo: atendiĝis ${t}, riceviĝis ${a}` +}case"invalid_value": +return 1===e.values.length?`Nevalida enigo: atendiĝis ${$(e.values[0])}`:`Nevalida opcio: atendiĝis unu el ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Tro granda: atendiĝis ke ${e.origin??"valoro"} havu ${n}${e.maximum.toString()} ${r.unit??"elementojn"}`:`Tro granda: atendiĝis ke ${e.origin??"valoro"} havu ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Tro malgranda: atendiĝis ke ${e.origin} havu ${n}${e.minimum.toString()} ${r.unit}`:`Tro malgranda: atendiĝis ke ${e.origin} estu ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Nevalida karaktraro: devas komenciĝi per "${t.prefix}"`:"ends_with"===t.format?`Nevalida karaktraro: devas finiĝi per "${t.suffix}"`:"includes"===t.format?`Nevalida karaktraro: devas inkluzivi "${t.includes}"`:"regex"===t.format?`Nevalida karaktraro: devas kongrui kun la modelo ${t.pattern}`:`Nevalida ${n[t.format]??e.format}` +}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${e.divisor}` +;case"unrecognized_keys": +return`Nekonata${e.keys.length>1?"j":""} ŝlosilo${e.keys.length>1?"j":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Nevalida ŝlosilo en ${e.origin}`;case"invalid_union": +default:return"Nevalida enigo";case"invalid_element": +return`Nevalida valoro en ${e.origin}`}}};const na=()=>{const e={string:{ +unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{ +unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}} +;function t(t){return e[t]??null}const n={regex:"entrada", +email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO", +date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4", +ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6", +base64:"cadena codificada en base64",base64url:"URL codificada en base64", +json_string:"cadena JSON",e164:"número E.164",jwt:"JWT", +template_literal:"entrada"},r={nan:"NaN",string:"texto",number:"número", +boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto", +file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo", +undefined:"indefinido",null:"nulo",function:"función",map:"mapa", +record:"registro",tuple:"tupla",enum:"enumeración",union:"unión", +literal:"literal",promise:"promesa",void:"vacío",never:"nunca", +unknown:"desconocido",any:"cualquiera"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Entrada inválida: se esperaba instanceof ${e.expected}, recibido ${a}`:`Entrada inválida: se esperaba ${t}, recibido ${a}` +}case"invalid_value": +return 1===e.values.length?`Entrada inválida: se esperaba ${$(e.values[0])}`:`Opción inválida: se esperaba una de ${l(e.values,"|")}` +;case"too_big":{ +const n=e.inclusive?"<=":"<",a=t(e.origin),o=r[e.origin]??e.origin +;return a?`Demasiado grande: se esperaba que ${o??"valor"} tuviera ${n}${e.maximum.toString()} ${a.unit??"elementos"}`:`Demasiado grande: se esperaba que ${o??"valor"} fuera ${n}${e.maximum.toString()}` +}case"too_small":{ +const n=e.inclusive?">=":">",a=t(e.origin),o=r[e.origin]??e.origin +;return a?`Demasiado pequeño: se esperaba que ${o} tuviera ${n}${e.minimum.toString()} ${a.unit}`:`Demasiado pequeño: se esperaba que ${o} fuera ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Cadena inválida: debe comenzar con "${t.prefix}"`:"ends_with"===t.format?`Cadena inválida: debe terminar en "${t.suffix}"`:"includes"===t.format?`Cadena inválida: debe incluir "${t.includes}"`:"regex"===t.format?`Cadena inválida: debe coincidir con el patrón ${t.pattern}`:`Inválido ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Número inválido: debe ser múltiplo de ${e.divisor}` +;case"unrecognized_keys": +return`Llave${e.keys.length>1?"s":""} desconocida${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Llave inválida en ${r[e.origin]??e.origin}` +;case"invalid_union":default:return"Entrada inválida";case"invalid_element": +return`Valor inválido en ${r[e.origin]??e.origin}`}}};const ra=()=>{const e={ +string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"}, +array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}} +;function t(t){return e[t]??null}const n={regex:"ورودی",email:"آدرس ایمیل", +url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو", +duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه", +cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته", +base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد", +jwt:"JWT",template_literal:"ورودی"},r={nan:"NaN",number:"عدد",array:"آرایه"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`ورودی نامعتبر: می‌بایست instanceof ${e.expected} می‌بود، ${a} دریافت شد`:`ورودی نامعتبر: می‌بایست ${t} می‌بود، ${a} دریافت شد` +}case"invalid_value": +return 1===e.values.length?`ورودی نامعتبر: می‌بایست ${$(e.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${l(e.values,"|")} می‌بود` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`خیلی بزرگ: ${e.origin??"مقدار"} باید ${n}${e.maximum.toString()} ${r.unit??"عنصر"} باشد`:`خیلی بزرگ: ${e.origin??"مقدار"} باید ${n}${e.maximum.toString()} باشد` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} باشد` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`رشته نامعتبر: باید با "${t.prefix}" شروع شود`:"ends_with"===t.format?`رشته نامعتبر: باید با "${t.suffix}" تمام شود`:"includes"===t.format?`رشته نامعتبر: باید شامل "${t.includes}" باشد`:"regex"===t.format?`رشته نامعتبر: باید با الگوی ${t.pattern} مطابقت داشته باشد`:`${n[t.format]??e.format} نامعتبر` +}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${e.divisor} باشد` +;case"unrecognized_keys": +return`کلید${e.keys.length>1?"های":""} ناشناس: ${l(e.keys,", ")}` +;case"invalid_key":return`کلید ناشناس در ${e.origin}`;case"invalid_union": +default:return"ورودی نامعتبر";case"invalid_element": +return`مقدار نامعتبر در ${e.origin}`}}};const aa=()=>{const e={string:{ +unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"}, +array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"}, +number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun" +},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}} +;function t(t){return e[t]??null}const n={regex:"säännöllinen lauseke", +email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima", +date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite", +ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue", +base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono", +json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT", +template_literal:"templaattimerkkijono"},r={nan:"NaN"};return e=>{ +switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Virheellinen tyyppi: odotettiin instanceof ${e.expected}, oli ${a}`:`Virheellinen tyyppi: odotettiin ${t}, oli ${a}` +}case"invalid_value": +return 1===e.values.length?`Virheellinen syöte: täytyy olla ${$(e.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Liian suuri: ${r.subject} täytyy olla ${n}${e.maximum.toString()} ${r.unit}`.trim():`Liian suuri: arvon täytyy olla ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Liian pieni: ${r.subject} täytyy olla ${n}${e.minimum.toString()} ${r.unit}`.trim():`Liian pieni: arvon täytyy olla ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Virheellinen syöte: täytyy alkaa "${t.prefix}"`:"ends_with"===t.format?`Virheellinen syöte: täytyy loppua "${t.suffix}"`:"includes"===t.format?`Virheellinen syöte: täytyy sisältää "${t.includes}"`:"regex"===t.format?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${t.pattern}`:`Virheellinen ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Virheellinen luku: täytyy olla luvun ${e.divisor} monikerta` +;case"unrecognized_keys": +return`${e.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${l(e.keys,", ")}` +;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union": +return"Virheellinen unioni";case"invalid_element": +return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}} +;const oa=()=>{const e={string:{unit:"caractères",verb:"avoir"},file:{ +unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{ +unit:"éléments",verb:"avoir"}};function t(t){return e[t]??null}const n={ +regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO", +date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4", +ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6", +base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url", +json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT", +template_literal:"entrée"},r={nan:"NaN",number:"nombre",array:"tableau"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Entrée invalide : instanceof ${e.expected} attendu, ${a} reçu`:`Entrée invalide : ${t} attendu, ${a} reçu` +}case"invalid_value": +return 1===e.values.length?`Entrée invalide : ${$(e.values[0])} attendu`:`Option invalide : une valeur parmi ${l(e.values,"|")} attendue` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Trop grand : ${e.origin??"valeur"} doit ${r.verb} ${n}${e.maximum.toString()} ${r.unit??"élément(s)"}`:`Trop grand : ${e.origin??"valeur"} doit être ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Trop petit : ${e.origin} doit ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Trop petit : ${e.origin} doit être ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Chaîne invalide : doit commencer par "${t.prefix}"`:"ends_with"===t.format?`Chaîne invalide : doit se terminer par "${t.suffix}"`:"includes"===t.format?`Chaîne invalide : doit inclure "${t.includes}"`:"regex"===t.format?`Chaîne invalide : doit correspondre au modèle ${t.pattern}`:`${n[t.format]??e.format} invalide` +}case"not_multiple_of": +return`Nombre invalide : doit être un multiple de ${e.divisor}` +;case"unrecognized_keys": +return`Clé${e.keys.length>1?"s":""} non reconnue${e.keys.length>1?"s":""} : ${l(e.keys,", ")}` +;case"invalid_key":return`Clé invalide dans ${e.origin}`;case"invalid_union": +default:return"Entrée invalide";case"invalid_element": +return`Valeur invalide dans ${e.origin}`}}};const ia=()=>{const e={string:{ +unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{ +unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(t){ +return e[t]??null}const n={regex:"entrée",email:"adresse courriel",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO", +ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6", +base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url", +json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT", +template_literal:"entrée"},r={nan:"NaN"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Entrée invalide : attendu instanceof ${e.expected}, reçu ${a}`:`Entrée invalide : attendu ${t}, reçu ${a}` +}case"invalid_value": +return 1===e.values.length?`Entrée invalide : attendu ${$(e.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"≤":"<",r=t(e.origin) +;return r?`Trop grand : attendu que ${e.origin??"la valeur"} ait ${n}${e.maximum.toString()} ${r.unit}`:`Trop grand : attendu que ${e.origin??"la valeur"} soit ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?"≥":">",r=t(e.origin) +;return r?`Trop petit : attendu que ${e.origin} ait ${n}${e.minimum.toString()} ${r.unit}`:`Trop petit : attendu que ${e.origin} soit ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Chaîne invalide : doit commencer par "${t.prefix}"`:"ends_with"===t.format?`Chaîne invalide : doit se terminer par "${t.suffix}"`:"includes"===t.format?`Chaîne invalide : doit inclure "${t.includes}"`:"regex"===t.format?`Chaîne invalide : doit correspondre au motif ${t.pattern}`:`${n[t.format]??e.format} invalide` +}case"not_multiple_of": +return`Nombre invalide : doit être un multiple de ${e.divisor}` +;case"unrecognized_keys": +return`Clé${e.keys.length>1?"s":""} non reconnue${e.keys.length>1?"s":""} : ${l(e.keys,", ")}` +;case"invalid_key":return`Clé invalide dans ${e.origin}`;case"invalid_union": +default:return"Entrée invalide";case"invalid_element": +return`Valeur invalide dans ${e.origin}`}}};const sa=()=>{const e={string:{ +label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{ +label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{ +label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{ +label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{ +label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)", +gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)", +gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"}, +promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{ +label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{ +unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים", +shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן", +longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{ +unit:"",shortLabel:"קטן",longLabel:"גדול"}},n=t=>t?e[t]:void 0,r=t=>{ +const r=n(t);return r?r.label:t??e.unknown.label},a=e=>`ה${r(e)}`,o=e=>{ +const t=n(e);return"f"===(t?.gender??"m")?"צריכה להיות":"צריך להיות" +},i=e=>e?t[e]??null:null,s={regex:{label:"קלט",gender:"m"},email:{ +label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{ +label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{ +label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid", +gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"}, +xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{ +label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{ +label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{ +label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{ +label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{ +label:"מחרוזת בבסיס 64",gender:"f"},base64url:{ +label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{ +label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{ +label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{ +label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{ +label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},c={nan:"NaN"} +;return t=>{switch(t.code){case"invalid_type":{ +const n=t.expected,a=c[n??""]??r(n),o=q(t.input),i=c[o]??e[o]?.label??o +;return/^[A-Z]/.test(t.expected)?`קלט לא תקין: צריך להיות instanceof ${t.expected}, התקבל ${i}`:`קלט לא תקין: צריך להיות ${a}, התקבל ${i}` +}case"invalid_value":{ +if(1===t.values.length)return`ערך לא תקין: הערך חייב להיות ${$(t.values[0])}` +;const e=t.values.map((e=>$(e))) +;if(2===t.values.length)return`ערך לא תקין: האפשרויות המתאימות הן ${e[0]} או ${e[1]}` +;const n=e[e.length-1] +;return`ערך לא תקין: האפשרויות המתאימות הן ${e.slice(0,-1).join(", ")} או ${n}`} +case"too_big":{const e=i(t.origin),n=a(t.origin??"value") +;if("string"===t.origin)return`${e?.longLabel??"ארוך"} מדי: ${n} צריכה להכיל ${t.maximum.toString()} ${e?.unit??""} ${t.inclusive?"או פחות":"לכל היותר"}`.trim() +;if("number"===t.origin){ +return`גדול מדי: ${n} צריך להיות ${t.inclusive?`קטן או שווה ל-${t.maximum}`:`קטן מ-${t.maximum}`}` +}if("array"===t.origin||"set"===t.origin){ +return`גדול מדי: ${n} ${"set"===t.origin?"צריכה":"צריך"} להכיל ${t.inclusive?`${t.maximum} ${e?.unit??""} או פחות`:`פחות מ-${t.maximum} ${e?.unit??""}`}`.trim() +}const r=t.inclusive?"<=":"<",s=o(t.origin??"value") +;return e?.unit?`${e.longLabel} מדי: ${n} ${s} ${r}${t.maximum.toString()} ${e.unit}`:`${e?.longLabel??"גדול"} מדי: ${n} ${s} ${r}${t.maximum.toString()}` +}case"too_small":{const e=i(t.origin),n=a(t.origin??"value") +;if("string"===t.origin)return`${e?.shortLabel??"קצר"} מדי: ${n} צריכה להכיל ${t.minimum.toString()} ${e?.unit??""} ${t.inclusive?"או יותר":"לפחות"}`.trim() +;if("number"===t.origin){ +return`קטן מדי: ${n} צריך להיות ${t.inclusive?`גדול או שווה ל-${t.minimum}`:`גדול מ-${t.minimum}`}` +}if("array"===t.origin||"set"===t.origin){ +const r="set"===t.origin?"צריכה":"צריך";if(1===t.minimum&&t.inclusive){ +return`קטן מדי: ${n} ${r} להכיל ${t.origin,"לפחות פריט אחד"}`} +return`קטן מדי: ${n} ${r} להכיל ${t.inclusive?`${t.minimum} ${e?.unit??""} או יותר`:`יותר מ-${t.minimum} ${e?.unit??""}`}`.trim() +}const r=t.inclusive?">=":">",s=o(t.origin??"value") +;return e?.unit?`${e.shortLabel} מדי: ${n} ${s} ${r}${t.minimum.toString()} ${e.unit}`:`${e?.shortLabel??"קטן"} מדי: ${n} ${s} ${r}${t.minimum.toString()}` +}case"invalid_format":{const e=t +;if("starts_with"===e.format)return`המחרוזת חייבת להתחיל ב "${e.prefix}"` +;if("ends_with"===e.format)return`המחרוזת חייבת להסתיים ב "${e.suffix}"` +;if("includes"===e.format)return`המחרוזת חייבת לכלול "${e.includes}"` +;if("regex"===e.format)return`המחרוזת חייבת להתאים לתבנית ${e.pattern}` +;const n=s[e.format] +;return`${n?.label??e.format} לא ${"f"===(n?.gender??"m")?"תקינה":"תקין"}`} +case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${t.divisor}` +;case"unrecognized_keys": +return`מפתח${t.keys.length>1?"ות":""} לא מזוה${t.keys.length>1?"ים":"ה"}: ${l(t.keys,", ")}` +;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":default: +return"קלט לא תקין";case"invalid_element": +return`ערך לא תקין ב${a(t.origin??"array")}`}}};const la=()=>{const e={string:{ +unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{ +unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(t){ +return e[t]??null}const n={regex:"bemenet",email:"email cím",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő", +duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím", +cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string", +base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám", +jwt:"JWT",template_literal:"bemenet"},r={nan:"NaN",number:"szám",array:"tömb"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Érvénytelen bemenet: a várt érték instanceof ${e.expected}, a kapott érték ${a}`:`Érvénytelen bemenet: a várt érték ${t}, a kapott érték ${a}` +}case"invalid_value": +return 1===e.values.length?`Érvénytelen bemenet: a várt érték ${$(e.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Túl nagy: ${e.origin??"érték"} mérete túl nagy ${n}${e.maximum.toString()} ${r.unit??"elem"}`:`Túl nagy: a bemeneti érték ${e.origin??"érték"} túl nagy: ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Túl kicsi: a bemeneti érték ${e.origin} mérete túl kicsi ${n}${e.minimum.toString()} ${r.unit}`:`Túl kicsi: a bemeneti érték ${e.origin} túl kicsi ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Érvénytelen string: "${t.prefix}" értékkel kell kezdődnie`:"ends_with"===t.format?`Érvénytelen string: "${t.suffix}" értékkel kell végződnie`:"includes"===t.format?`Érvénytelen string: "${t.includes}" értéket kell tartalmaznia`:"regex"===t.format?`Érvénytelen string: ${t.pattern} mintának kell megfelelnie`:`Érvénytelen ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Érvénytelen szám: ${e.divisor} többszörösének kell lennie` +;case"unrecognized_keys": +return`Ismeretlen kulcs${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Érvénytelen kulcs ${e.origin}`;case"invalid_union": +default:return"Érvénytelen bemenet";case"invalid_element": +return`Érvénytelen érték: ${e.origin}`}}};function ca(e,t,n){ +return 1===Math.abs(e)?t:n}function ua(e){if(!e)return"";const t=e[e.length-1] +;return e+(["ա","ե","ը","ի","ո","ու","օ"].includes(t)?"ն":"ը")}const da=()=>{ +const e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{ +one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր" +},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}} +;function t(t){return e[t]??null}const n={regex:"մուտք",email:"էլ. հասցե", +url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ", +duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե", +cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող", +base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար", +jwt:"JWT",template_literal:"մուտք"},r={nan:"NaN",number:"թիվ",array:"զանգված"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Սխալ մուտքագրում․ սպասվում էր instanceof ${e.expected}, ստացվել է ${a}`:`Սխալ մուտքագրում․ սպասվում էր ${t}, ստացվել է ${a}` +}case"invalid_value": +return 1===e.values.length?`Սխալ մուտքագրում․ սպասվում էր ${$(e.values[1])}`:`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin);if(r){ +const t=ca(Number(e.maximum),r.unit.one,r.unit.many) +;return`Չափազանց մեծ արժեք․ սպասվում է, որ ${ua(e.origin??"արժեք")} կունենա ${n}${e.maximum.toString()} ${t}` +} +return`Չափազանց մեծ արժեք․ սպասվում է, որ ${ua(e.origin??"արժեք")} լինի ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin);if(r){ +const t=ca(Number(e.minimum),r.unit.one,r.unit.many) +;return`Չափազանց փոքր արժեք․ սպասվում է, որ ${ua(e.origin)} կունենա ${n}${e.minimum.toString()} ${t}` +} +return`Չափազանց փոքր արժեք․ սպասվում է, որ ${ua(e.origin)} լինի ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Սխալ տող․ պետք է սկսվի "${t.prefix}"-ով`:"ends_with"===t.format?`Սխալ տող․ պետք է ավարտվի "${t.suffix}"-ով`:"includes"===t.format?`Սխալ տող․ պետք է պարունակի "${t.includes}"`:"regex"===t.format?`Սխալ տող․ պետք է համապատասխանի ${t.pattern} ձևաչափին`:`Սխալ ${n[t.format]??e.format}` +}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${e.divisor}-ի` +;case"unrecognized_keys": +return`Չճանաչված բանալի${e.keys.length>1?"ներ":""}. ${l(e.keys,", ")}` +;case"invalid_key":return`Սխալ բանալի ${ua(e.origin)}-ում`;case"invalid_union": +default:return"Սխալ մուտքագրում";case"invalid_element": +return`Սխալ արժեք ${ua(e.origin)}-ում`}}};const pa=()=>{const e={string:{ +unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{ +unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(t){ +return e[t]??null}const n={regex:"input",email:"alamat email",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO", +time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4", +ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6", +base64:"string dengan enkode base64",base64url:"string dengan enkode base64url", +json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input" +},r={nan:"NaN"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Input tidak valid: diharapkan instanceof ${e.expected}, diterima ${a}`:`Input tidak valid: diharapkan ${t}, diterima ${a}` +}case"invalid_value": +return 1===e.values.length?`Input tidak valid: diharapkan ${$(e.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Terlalu besar: diharapkan ${e.origin??"value"} memiliki ${n}${e.maximum.toString()} ${r.unit??"elemen"}`:`Terlalu besar: diharapkan ${e.origin??"value"} menjadi ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Terlalu kecil: diharapkan ${e.origin} memiliki ${n}${e.minimum.toString()} ${r.unit}`:`Terlalu kecil: diharapkan ${e.origin} menjadi ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`String tidak valid: harus dimulai dengan "${t.prefix}"`:"ends_with"===t.format?`String tidak valid: harus berakhir dengan "${t.suffix}"`:"includes"===t.format?`String tidak valid: harus menyertakan "${t.includes}"`:"regex"===t.format?`String tidak valid: harus sesuai pola ${t.pattern}`:`${n[t.format]??e.format} tidak valid` +}case"not_multiple_of": +return`Angka tidak valid: harus kelipatan dari ${e.divisor}` +;case"unrecognized_keys": +return`Kunci tidak dikenali ${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Kunci tidak valid di ${e.origin}`;case"invalid_union": +default:return"Input tidak valid";case"invalid_element": +return`Nilai tidak valid di ${e.origin}`}}};const ha=()=>{const e={string:{ +unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{ +unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(t){ +return e[t]??null}const n={regex:"gildi",email:"netfang",url:"vefslóð", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími", +duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address", +cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur", +base64url:"base64url-encoded strengur",json_string:"JSON strengur", +e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},r={nan:"NaN", +number:"númer",array:"fylki"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Rangt gildi: Þú slóst inn ${a} þar sem á að vera instanceof ${e.expected}`:`Rangt gildi: Þú slóst inn ${a} þar sem á að vera ${t}` +}case"invalid_value": +return 1===e.values.length?`Rangt gildi: gert ráð fyrir ${$(e.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Of stórt: gert er ráð fyrir að ${e.origin??"gildi"} hafi ${n}${e.maximum.toString()} ${r.unit??"hluti"}`:`Of stórt: gert er ráð fyrir að ${e.origin??"gildi"} sé ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Of lítið: gert er ráð fyrir að ${e.origin} hafi ${n}${e.minimum.toString()} ${r.unit}`:`Of lítið: gert er ráð fyrir að ${e.origin} sé ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ógildur strengur: verður að byrja á "${t.prefix}"`:"ends_with"===t.format?`Ógildur strengur: verður að enda á "${t.suffix}"`:"includes"===t.format?`Ógildur strengur: verður að innihalda "${t.includes}"`:"regex"===t.format?`Ógildur strengur: verður að fylgja mynstri ${t.pattern}`:`Rangt ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Röng tala: verður að vera margfeldi af ${e.divisor}` +;case"unrecognized_keys": +return`Óþekkt ${e.keys.length>1?"ir lyklar":"ur lykill"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Rangur lykill í ${e.origin}`;case"invalid_union": +default:return"Rangt gildi";case"invalid_element": +return`Rangt gildi í ${e.origin}`}}};const fa=()=>{const e={string:{ +unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{ +unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(t){ +return e[t]??null}const n={regex:"input",email:"indirizzo email",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO", +ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4", +cidrv6:"intervallo IPv6",base64:"stringa codificata in base64", +base64url:"URL codificata in base64",json_string:"stringa JSON", +e164:"numero E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN", +number:"numero",array:"vettore"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Input non valido: atteso instanceof ${e.expected}, ricevuto ${a}`:`Input non valido: atteso ${t}, ricevuto ${a}` +}case"invalid_value": +return 1===e.values.length?`Input non valido: atteso ${$(e.values[0])}`:`Opzione non valida: atteso uno tra ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Troppo grande: ${e.origin??"valore"} deve avere ${n}${e.maximum.toString()} ${r.unit??"elementi"}`:`Troppo grande: ${e.origin??"valore"} deve essere ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Troppo piccolo: ${e.origin} deve avere ${n}${e.minimum.toString()} ${r.unit}`:`Troppo piccolo: ${e.origin} deve essere ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Stringa non valida: deve iniziare con "${t.prefix}"`:"ends_with"===t.format?`Stringa non valida: deve terminare con "${t.suffix}"`:"includes"===t.format?`Stringa non valida: deve includere "${t.includes}"`:"regex"===t.format?`Stringa non valida: deve corrispondere al pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Numero non valido: deve essere un multiplo di ${e.divisor}` +;case"unrecognized_keys": +return`Chiav${e.keys.length>1?"i":"e"} non riconosciut${e.keys.length>1?"e":"a"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Chiave non valida in ${e.origin}`;case"invalid_union": +default:return"Input non valido";case"invalid_element": +return`Valore non valido in ${e.origin}`}}};const ma=()=>{const e={string:{ +unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"}, +set:{unit:"要素",verb:"である"}};function t(t){return e[t]??null}const n={ +regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻", +duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲", +cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列", +json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},r={ +nan:"NaN",number:"数値",array:"配列"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`無効な入力: instanceof ${e.expected}が期待されましたが、${a}が入力されました`:`無効な入力: ${t}が期待されましたが、${a}が入力されました` +}case"invalid_value": +return 1===e.values.length?`無効な入力: ${$(e.values[0])}が期待されました`:`無効な選択: ${l(e.values,"、")}のいずれかである必要があります` +;case"too_big":{const n=e.inclusive?"以下である":"より小さい",r=t(e.origin) +;return r?`大きすぎる値: ${e.origin??"値"}は${e.maximum.toString()}${r.unit??"要素"}${n}必要があります`:`大きすぎる値: ${e.origin??"値"}は${e.maximum.toString()}${n}必要があります` +}case"too_small":{const n=e.inclusive?"以上である":"より大きい",r=t(e.origin) +;return r?`小さすぎる値: ${e.origin}は${e.minimum.toString()}${r.unit}${n}必要があります`:`小さすぎる値: ${e.origin}は${e.minimum.toString()}${n}必要があります` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`無効な文字列: "${t.prefix}"で始まる必要があります`:"ends_with"===t.format?`無効な文字列: "${t.suffix}"で終わる必要があります`:"includes"===t.format?`無効な文字列: "${t.includes}"を含む必要があります`:"regex"===t.format?`無効な文字列: パターン${t.pattern}に一致する必要があります`:`無効な${n[t.format]??e.format}` +}case"not_multiple_of":return`無効な数値: ${e.divisor}の倍数である必要があります` +;case"unrecognized_keys": +return`認識されていないキー${e.keys.length>1?"群":""}: ${l(e.keys,"、")}`;case"invalid_key": +return`${e.origin}内の無効なキー`;case"invalid_union":default:return"無効な入力" +;case"invalid_element":return`${e.origin}内の無効な値`}}};const ga=()=>{const e={ +string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი", +verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{ +unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(t){return e[t]??null} +const n={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი", +uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID", +cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა", +ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი", +cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი", +base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი", +e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},r={nan:"NaN", +number:"რიცხვი",string:"სტრინგი",boolean:"ბულეანი",function:"ფუნქცია", +array:"მასივი"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`არასწორი შეყვანა: მოსალოდნელი instanceof ${e.expected}, მიღებული ${a}`:`არასწორი შეყვანა: მოსალოდნელი ${t}, მიღებული ${a}` +}case"invalid_value": +return 1===e.values.length?`არასწორი შეყვანა: მოსალოდნელი ${$(e.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${l(e.values,"|")}-დან` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`ზედმეტად დიდი: მოსალოდნელი ${e.origin??"მნიშვნელობა"} ${r.verb} ${n}${e.maximum.toString()} ${r.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${e.origin??"მნიშვნელობა"} იყოს ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`ზედმეტად პატარა: მოსალოდნელი ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${e.origin} იყოს ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`არასწორი სტრინგი: უნდა იწყებოდეს "${t.prefix}"-ით`:"ends_with"===t.format?`არასწორი სტრინგი: უნდა მთავრდებოდეს "${t.suffix}"-ით`:"includes"===t.format?`არასწორი სტრინგი: უნდა შეიცავდეს "${t.includes}"-ს`:"regex"===t.format?`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${t.pattern}`:`არასწორი ${n[t.format]??e.format}` +}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${e.divisor}-ის ჯერადი` +;case"unrecognized_keys": +return`უცნობი გასაღებ${e.keys.length>1?"ები":"ი"}: ${l(e.keys,", ")}` +;case"invalid_key":return`არასწორი გასაღები ${e.origin}-ში`;case"invalid_union": +default:return"არასწორი შეყვანა";case"invalid_element": +return`არასწორი მნიშვნელობა ${e.origin}-ში`}}};const va=()=>{const e={string:{ +unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ", +verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(t){return e[t]??null} +const n={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL", +emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO", +time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4", +ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6", +base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url", +json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT", +template_literal:"ទិន្នន័យបញ្ចូល"},r={nan:"NaN",number:"លេខ", +array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${e.expected} ប៉ុន្តែទទួលបាន ${a}`:`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${t} ប៉ុន្តែទទួលបាន ${a}` +}case"invalid_value": +return 1===e.values.length?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${$(e.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`ធំពេក៖ ត្រូវការ ${e.origin??"តម្លៃ"} ${n} ${e.maximum.toString()} ${r.unit??"ធាតុ"}`:`ធំពេក៖ ត្រូវការ ${e.origin??"តម្លៃ"} ${n} ${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`តូចពេក៖ ត្រូវការ ${e.origin} ${n} ${e.minimum.toString()} ${r.unit}`:`តូចពេក៖ ត្រូវការ ${e.origin} ${n} ${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${t.prefix}"`:"ends_with"===t.format?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${t.suffix}"`:"includes"===t.format?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${t.includes}"`:"regex"===t.format?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${t.pattern}`:`មិនត្រឹមត្រូវ៖ ${n[t.format]??e.format}` +}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${e.divisor}` +;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${l(e.keys,", ")}` +;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${e.origin}` +;case"invalid_union":default:return"ទិន្នន័យមិនត្រឹមត្រូវ" +;case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${e.origin}`}}} +;function ba(){return{localeError:va()}}const ya=()=>{const e={string:{ +unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개", +verb:"to have"},set:{unit:"개",verb:"to have"}};function t(t){return e[t]??null} +const n={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간", +date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소", +cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열", +base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT", +template_literal:"입력"},r={nan:"NaN"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`잘못된 입력: 예상 타입은 instanceof ${e.expected}, 받은 타입은 ${a}입니다`:`잘못된 입력: 예상 타입은 ${t}, 받은 타입은 ${a}입니다` +}case"invalid_value": +return 1===e.values.length?`잘못된 입력: 값은 ${$(e.values[0])} 이어야 합니다`:`잘못된 옵션: ${l(e.values,"또는 ")} 중 하나여야 합니다` +;case"too_big":{ +const n=e.inclusive?"이하":"미만",r="미만"===n?"이어야 합니다":"여야 합니다",a=t(e.origin),o=a?.unit??"요소" +;return a?`${e.origin??"값"}이 너무 큽니다: ${e.maximum.toString()}${o} ${n}${r}`:`${e.origin??"값"}이 너무 큽니다: ${e.maximum.toString()} ${n}${r}` +}case"too_small":{ +const n=e.inclusive?"이상":"초과",r="이상"===n?"이어야 합니다":"여야 합니다",a=t(e.origin),o=a?.unit??"요소" +;return a?`${e.origin??"값"}이 너무 작습니다: ${e.minimum.toString()}${o} ${n}${r}`:`${e.origin??"값"}이 너무 작습니다: ${e.minimum.toString()} ${n}${r}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`잘못된 문자열: "${t.prefix}"(으)로 시작해야 합니다`:"ends_with"===t.format?`잘못된 문자열: "${t.suffix}"(으)로 끝나야 합니다`:"includes"===t.format?`잘못된 문자열: "${t.includes}"을(를) 포함해야 합니다`:"regex"===t.format?`잘못된 문자열: 정규식 ${t.pattern} 패턴과 일치해야 합니다`:`잘못된 ${n[t.format]??e.format}` +}case"not_multiple_of":return`잘못된 숫자: ${e.divisor}의 배수여야 합니다` +;case"unrecognized_keys":return`인식할 수 없는 키: ${l(e.keys,", ")}` +;case"invalid_key":return`잘못된 키: ${e.origin}`;case"invalid_union":default: +return"잘못된 입력";case"invalid_element":return`잘못된 값: ${e.origin}`}}} +;const Oa=e=>e.charAt(0).toUpperCase()+e.slice(1);function wa(e){ +const t=Math.abs(e),n=t%10,r=t%100 +;return r>=11&&r<=19||0===n?"many":1===n?"one":"few"}const xa=()=>{const e={ +string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{ +inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"}, +bigger:{inclusive:"turi būti ne trumpesnė kaip", +notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai", +many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip", +notInclusive:"turi būti mažesnis kaip"},bigger:{ +inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}} +},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{ +inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"}, +bigger:{inclusive:"turi turėti ne mažiau kaip", +notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą", +few:"elementus",many:"elementų"},verb:{smaller:{ +inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"}, +bigger:{inclusive:"turi turėti ne mažiau kaip", +notInclusive:"turi turėti daugiau kaip"}}}};function t(t,n,r,a){ +const o=e[t]??null;return null===o?o:{unit:o.unit[n], +verb:o.verb[a][r?"inclusive":"notInclusive"]}}const n={regex:"įvestis", +email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas", +date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas", +ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)", +cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė", +base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė", +e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},r={nan:"NaN", +number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė", +boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija", +symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Gautas tipas ${a}, o tikėtasi - instanceof ${e.expected}`:`Gautas tipas ${a}, o tikėtasi - ${t}` +}case"invalid_value": +return 1===e.values.length?`Privalo būti ${$(e.values[0])}`:`Privalo būti vienas iš ${l(e.values,"|")} pasirinkimų` +;case"too_big":{ +const n=r[e.origin]??e.origin,a=t(e.origin,wa(Number(e.maximum)),e.inclusive??!1,"smaller") +;if(a?.verb)return`${Oa(n??e.origin??"reikšmė")} ${a.verb} ${e.maximum.toString()} ${a.unit??"elementų"}` +;const o=e.inclusive?"ne didesnis kaip":"mažesnis kaip" +;return`${Oa(n??e.origin??"reikšmė")} turi būti ${o} ${e.maximum.toString()} ${a?.unit}` +}case"too_small":{ +const n=r[e.origin]??e.origin,a=t(e.origin,wa(Number(e.minimum)),e.inclusive??!1,"bigger") +;if(a?.verb)return`${Oa(n??e.origin??"reikšmė")} ${a.verb} ${e.minimum.toString()} ${a.unit??"elementų"}` +;const o=e.inclusive?"ne mažesnis kaip":"didesnis kaip" +;return`${Oa(n??e.origin??"reikšmė")} turi būti ${o} ${e.minimum.toString()} ${a?.unit}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Eilutė privalo prasidėti "${t.prefix}"`:"ends_with"===t.format?`Eilutė privalo pasibaigti "${t.suffix}"`:"includes"===t.format?`Eilutė privalo įtraukti "${t.includes}"`:"regex"===t.format?`Eilutė privalo atitikti ${t.pattern}`:`Neteisingas ${n[t.format]??e.format}` +}case"not_multiple_of":return`Skaičius privalo būti ${e.divisor} kartotinis.` +;case"unrecognized_keys": +return`Neatpažint${e.keys.length>1?"i":"as"} rakt${e.keys.length>1?"ai":"as"}: ${l(e.keys,", ")}` +;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":default: +return"Klaidinga įvestis";case"invalid_element":{const t=r[e.origin]??e.origin +;return`${Oa(t??e.origin??"reikšmė")} turi klaidingą įvestį`}}}};const ka=()=>{ +const e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти", +verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки", +verb:"да имаат"}};function t(t){return e[t]??null}const n={regex:"внес", +email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време", +date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса", +ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег", +base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа", +json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},r={ +nan:"NaN",number:"број",array:"низа"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Грешен внес: се очекува instanceof ${e.expected}, примено ${a}`:`Грешен внес: се очекува ${t}, примено ${a}` +}case"invalid_value": +return 1===e.values.length?`Invalid input: expected ${$(e.values[0])}`:`Грешана опција: се очекува една ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Премногу голем: се очекува ${e.origin??"вредноста"} да има ${n}${e.maximum.toString()} ${r.unit??"елементи"}`:`Премногу голем: се очекува ${e.origin??"вредноста"} да биде ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Премногу мал: се очекува ${e.origin} да има ${n}${e.minimum.toString()} ${r.unit}`:`Премногу мал: се очекува ${e.origin} да биде ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Неважечка низа: мора да започнува со "${t.prefix}"`:"ends_with"===t.format?`Неважечка низа: мора да завршува со "${t.suffix}"`:"includes"===t.format?`Неважечка низа: мора да вклучува "${t.includes}"`:"regex"===t.format?`Неважечка низа: мора да одгоара на патернот ${t.pattern}`:`Invalid ${n[t.format]??e.format}` +}case"not_multiple_of":return`Грешен број: мора да биде делив со ${e.divisor}` +;case"unrecognized_keys": +return`${e.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Грешен клуч во ${e.origin}`;case"invalid_union": +default:return"Грешен внес";case"invalid_element": +return`Грешна вредност во ${e.origin}`}}};const Sa=()=>{const e={string:{ +unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{ +unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}} +;function t(t){return e[t]??null}const n={regex:"input",email:"alamat e-mel", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO", +duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4", +cidrv6:"julat IPv6",base64:"string dikodkan base64", +base64url:"string dikodkan base64url",json_string:"string JSON", +e164:"nombor E.164",jwt:"JWT",template_literal:"input"},r={nan:"NaN", +number:"nombor"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Input tidak sah: dijangka instanceof ${e.expected}, diterima ${a}`:`Input tidak sah: dijangka ${t}, diterima ${a}` +}case"invalid_value": +return 1===e.values.length?`Input tidak sah: dijangka ${$(e.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Terlalu besar: dijangka ${e.origin??"nilai"} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??"elemen"}`:`Terlalu besar: dijangka ${e.origin??"nilai"} adalah ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Terlalu kecil: dijangka ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Terlalu kecil: dijangka ${e.origin} adalah ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`String tidak sah: mesti bermula dengan "${t.prefix}"`:"ends_with"===t.format?`String tidak sah: mesti berakhir dengan "${t.suffix}"`:"includes"===t.format?`String tidak sah: mesti mengandungi "${t.includes}"`:"regex"===t.format?`String tidak sah: mesti sepadan dengan corak ${t.pattern}`:`${n[t.format]??e.format} tidak sah` +}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${e.divisor}` +;case"unrecognized_keys":return`Kunci tidak dikenali: ${l(e.keys,", ")}` +;case"invalid_key":return`Kunci tidak sah dalam ${e.origin}` +;case"invalid_union":default:return"Input tidak sah";case"invalid_element": +return`Nilai tidak sah dalam ${e.origin}`}}};const _a=()=>{const e={string:{ +unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{ +unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}} +;function t(t){return e[t]??null}const n={regex:"invoer",email:"emailadres", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd", +duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik", +cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst", +base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string", +e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},r={nan:"NaN", +number:"getal"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ongeldige invoer: verwacht instanceof ${e.expected}, ontving ${a}`:`Ongeldige invoer: verwacht ${t}, ontving ${a}` +}case"invalid_value": +return 1===e.values.length?`Ongeldige invoer: verwacht ${$(e.values[0])}`:`Ongeldige optie: verwacht één van ${l(e.values,"|")}` +;case"too_big":{ +const n=e.inclusive?"<=":"<",r=t(e.origin),a="date"===e.origin?"laat":"string"===e.origin?"lang":"groot" +;return r?`Te ${a}: verwacht dat ${e.origin??"waarde"} ${n}${e.maximum.toString()} ${r.unit??"elementen"} ${r.verb}`:`Te ${a}: verwacht dat ${e.origin??"waarde"} ${n}${e.maximum.toString()} is` +}case"too_small":{ +const n=e.inclusive?">=":">",r=t(e.origin),a="date"===e.origin?"vroeg":"string"===e.origin?"kort":"klein" +;return r?`Te ${a}: verwacht dat ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ${r.verb}`:`Te ${a}: verwacht dat ${e.origin} ${n}${e.minimum.toString()} is` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ongeldige tekst: moet met "${t.prefix}" beginnen`:"ends_with"===t.format?`Ongeldige tekst: moet op "${t.suffix}" eindigen`:"includes"===t.format?`Ongeldige tekst: moet "${t.includes}" bevatten`:"regex"===t.format?`Ongeldige tekst: moet overeenkomen met patroon ${t.pattern}`:`Ongeldig: ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Ongeldig getal: moet een veelvoud van ${e.divisor} zijn` +;case"unrecognized_keys": +return`Onbekende key${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Ongeldige key in ${e.origin}`;case"invalid_union": +default:return"Ongeldige invoer";case"invalid_element": +return`Ongeldige waarde in ${e.origin}`}}};const Aa=()=>{const e={string:{ +unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{ +unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}} +;function t(t){return e[t]??null}const n={regex:"input",email:"e-postadresse", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato", +time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område", +ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter", +base64:"base64-enkodet streng",base64url:"base64url-enkodet streng", +json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input" +},r={nan:"NaN",number:"tall",array:"liste"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ugyldig input: forventet instanceof ${e.expected}, fikk ${a}`:`Ugyldig input: forventet ${t}, fikk ${a}` +}case"invalid_value": +return 1===e.values.length?`Ugyldig verdi: forventet ${$(e.values[0])}`:`Ugyldig valg: forventet en av ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`For stor(t): forventet ${e.origin??"value"} til å ha ${n}${e.maximum.toString()} ${r.unit??"elementer"}`:`For stor(t): forventet ${e.origin??"value"} til å ha ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`For lite(n): forventet ${e.origin} til å ha ${n}${e.minimum.toString()} ${r.unit}`:`For lite(n): forventet ${e.origin} til å ha ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ugyldig streng: må starte med "${t.prefix}"`:"ends_with"===t.format?`Ugyldig streng: må ende med "${t.suffix}"`:"includes"===t.format?`Ugyldig streng: må inneholde "${t.includes}"`:"regex"===t.format?`Ugyldig streng: må matche mønsteret ${t.pattern}`:`Ugyldig ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Ugyldig tall: må være et multiplum av ${e.divisor}` +;case"unrecognized_keys": +return`${e.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Ugyldig nøkkel i ${e.origin}`;case"invalid_union": +default:return"Ugyldig input";case"invalid_element": +return`Ugyldig verdi i ${e.origin}`}}};const Ta=()=>{const e={string:{ +unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{ +unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}} +;function t(t){return e[t]??null}const n={regex:"giren",email:"epostagâh", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı", +duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı", +cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin", +base64url:"base64url-şifreli metin",json_string:"JSON metin", +e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},r={nan:"NaN", +number:"numara",array:"saf",null:"gayb"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Fâsit giren: umulan instanceof ${e.expected}, alınan ${a}`:`Fâsit giren: umulan ${t}, alınan ${a}` +}case"invalid_value": +return 1===e.values.length?`Fâsit giren: umulan ${$(e.values[0])}`:`Fâsit tercih: mûteberler ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Fazla büyük: ${e.origin??"value"}, ${n}${e.maximum.toString()} ${r.unit??"elements"} sahip olmalıydı.`:`Fazla büyük: ${e.origin??"value"}, ${n}${e.maximum.toString()} olmalıydı.` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Fazla küçük: ${e.origin}, ${n}${e.minimum.toString()} ${r.unit} sahip olmalıydı.`:`Fazla küçük: ${e.origin}, ${n}${e.minimum.toString()} olmalıydı.` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Fâsit metin: "${t.prefix}" ile başlamalı.`:"ends_with"===t.format?`Fâsit metin: "${t.suffix}" ile bitmeli.`:"includes"===t.format?`Fâsit metin: "${t.includes}" ihtivâ etmeli.`:"regex"===t.format?`Fâsit metin: ${t.pattern} nakşına uymalı.`:`Fâsit ${n[t.format]??e.format}` +}case"not_multiple_of":return`Fâsit sayı: ${e.divisor} katı olmalıydı.` +;case"unrecognized_keys": +return`Tanınmayan anahtar ${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} için tanınmayan anahtar var.` +;case"invalid_union":return"Giren tanınamadı.";case"invalid_element": +return`${e.origin} için tanınmayan kıymet var.`;default: +return"Kıymet tanınamadı."}}};const Ea=()=>{const e={string:{unit:"توکي", +verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"}, +set:{unit:"توکي",verb:"ولري"}};function t(t){return e[t]??null}const n={ +regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت", +date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته", +cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن", +base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره", +jwt:"JWT",template_literal:"ورودي"},r={nan:"NaN",number:"عدد",array:"ارې"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`ناسم ورودي: باید instanceof ${e.expected} وای, مګر ${a} ترلاسه شو`:`ناسم ورودي: باید ${t} وای, مګر ${a} ترلاسه شو` +}case"invalid_value": +return 1===e.values.length?`ناسم ورودي: باید ${$(e.values[0])} وای`:`ناسم انتخاب: باید یو له ${l(e.values,"|")} څخه وای` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`ډیر لوی: ${e.origin??"ارزښت"} باید ${n}${e.maximum.toString()} ${r.unit??"عنصرونه"} ولري`:`ډیر لوی: ${e.origin??"ارزښت"} باید ${n}${e.maximum.toString()} وي` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`ډیر کوچنی: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} ولري`:`ډیر کوچنی: ${e.origin} باید ${n}${e.minimum.toString()} وي` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`ناسم متن: باید د "${t.prefix}" سره پیل شي`:"ends_with"===t.format?`ناسم متن: باید د "${t.suffix}" سره پای ته ورسيږي`:"includes"===t.format?`ناسم متن: باید "${t.includes}" ولري`:"regex"===t.format?`ناسم متن: باید د ${t.pattern} سره مطابقت ولري`:`${n[t.format]??e.format} ناسم دی` +}case"not_multiple_of":return`ناسم عدد: باید د ${e.divisor} مضرب وي` +;case"unrecognized_keys": +return`ناسم ${e.keys.length>1?"کلیډونه":"کلیډ"}: ${l(e.keys,", ")}` +;case"invalid_key":return`ناسم کلیډ په ${e.origin} کې`;case"invalid_union": +default:return"ناسمه ورودي";case"invalid_element": +return`ناسم عنصر په ${e.origin} کې`}}};const Ca=()=>{const e={string:{ +unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{ +unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(t){ +return e[t]??null}const n={regex:"wyrażenie",email:"adres email",url:"URL", +emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"data i godzina w formacie ISO",date:"data w formacie ISO", +time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4", +ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6", +base64:"ciąg znaków zakodowany w formacie base64", +base64url:"ciąg znaków zakodowany w formacie base64url", +json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT", +template_literal:"wejście"},r={nan:"NaN",number:"liczba",array:"tablica"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${e.expected}, otrzymano ${a}`:`Nieprawidłowe dane wejściowe: oczekiwano ${t}, otrzymano ${a}` +}case"invalid_value": +return 1===e.values.length?`Nieprawidłowe dane wejściowe: oczekiwano ${$(e.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Za duża wartość: oczekiwano, że ${e.origin??"wartość"} będzie mieć ${n}${e.maximum.toString()} ${r.unit??"elementów"}`:`Zbyt duż(y/a/e): oczekiwano, że ${e.origin??"wartość"} będzie wynosić ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Za mała wartość: oczekiwano, że ${e.origin??"wartość"} będzie mieć ${n}${e.minimum.toString()} ${r.unit??"elementów"}`:`Zbyt mał(y/a/e): oczekiwano, że ${e.origin??"wartość"} będzie wynosić ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${t.prefix}"`:"ends_with"===t.format?`Nieprawidłowy ciąg znaków: musi kończyć się na "${t.suffix}"`:"includes"===t.format?`Nieprawidłowy ciąg znaków: musi zawierać "${t.includes}"`:"regex"===t.format?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${t.pattern}`:`Nieprawidłow(y/a/e) ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Nieprawidłowa liczba: musi być wielokrotnością ${e.divisor}` +;case"unrecognized_keys": +return`Nierozpoznane klucze${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Nieprawidłowy klucz w ${e.origin}` +;case"invalid_union":default:return"Nieprawidłowe dane wejściowe" +;case"invalid_element":return`Nieprawidłowa wartość w ${e.origin}`}}} +;const $a=()=>{const e={string:{unit:"caracteres",verb:"ter"},file:{ +unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens", +verb:"ter"}};function t(t){return e[t]??null}const n={regex:"padrão", +email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO", +time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4", +ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6", +base64:"texto codificado em base64",base64url:"URL codificada em base64", +json_string:"texto JSON",e164:"número E.164",jwt:"JWT", +template_literal:"entrada"},r={nan:"NaN",number:"número",null:"nulo"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Tipo inválido: esperado instanceof ${e.expected}, recebido ${a}`:`Tipo inválido: esperado ${t}, recebido ${a}` +}case"invalid_value": +return 1===e.values.length?`Entrada inválida: esperado ${$(e.values[0])}`:`Opção inválida: esperada uma das ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Muito grande: esperado que ${e.origin??"valor"} tivesse ${n}${e.maximum.toString()} ${r.unit??"elementos"}`:`Muito grande: esperado que ${e.origin??"valor"} fosse ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Muito pequeno: esperado que ${e.origin} tivesse ${n}${e.minimum.toString()} ${r.unit}`:`Muito pequeno: esperado que ${e.origin} fosse ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Texto inválido: deve começar com "${t.prefix}"`:"ends_with"===t.format?`Texto inválido: deve terminar com "${t.suffix}"`:"includes"===t.format?`Texto inválido: deve incluir "${t.includes}"`:"regex"===t.format?`Texto inválido: deve corresponder ao padrão ${t.pattern}`:`${n[t.format]??e.format} inválido` +}case"not_multiple_of": +return`Número inválido: deve ser múltiplo de ${e.divisor}` +;case"unrecognized_keys": +return`Chave${e.keys.length>1?"s":""} desconhecida${e.keys.length>1?"s":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Chave inválida em ${e.origin}`;case"invalid_union": +return"Entrada inválida";case"invalid_element": +return`Valor inválido em ${e.origin}`;default:return"Campo inválido"}}} +;function Pa(e,t,n,r){const a=Math.abs(e),o=a%10,i=a%100 +;return i>=11&&i<=19?r:1===o?t:o>=2&&o<=4?n:r}const Ia=()=>{const e={string:{ +unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{ +one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент", +few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент", +few:"элемента",many:"элементов"},verb:"иметь"}};function t(t){return e[t]??null} +const n={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время", +date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес", +ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон", +base64:"строка в формате base64",base64url:"строка в формате base64url", +json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод" +},r={nan:"NaN",number:"число",array:"массив"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Неверный ввод: ожидалось instanceof ${e.expected}, получено ${a}`:`Неверный ввод: ожидалось ${t}, получено ${a}` +}case"invalid_value": +return 1===e.values.length?`Неверный ввод: ожидалось ${$(e.values[0])}`:`Неверный вариант: ожидалось одно из ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin);if(r){ +const t=Pa(Number(e.maximum),r.unit.one,r.unit.few,r.unit.many) +;return`Слишком большое значение: ожидалось, что ${e.origin??"значение"} будет иметь ${n}${e.maximum.toString()} ${t}` +} +return`Слишком большое значение: ожидалось, что ${e.origin??"значение"} будет ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin);if(r){ +const t=Pa(Number(e.minimum),r.unit.one,r.unit.few,r.unit.many) +;return`Слишком маленькое значение: ожидалось, что ${e.origin} будет иметь ${n}${e.minimum.toString()} ${t}` +} +return`Слишком маленькое значение: ожидалось, что ${e.origin} будет ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Неверная строка: должна начинаться с "${t.prefix}"`:"ends_with"===t.format?`Неверная строка: должна заканчиваться на "${t.suffix}"`:"includes"===t.format?`Неверная строка: должна содержать "${t.includes}"`:"regex"===t.format?`Неверная строка: должна соответствовать шаблону ${t.pattern}`:`Неверный ${n[t.format]??e.format}` +}case"not_multiple_of":return`Неверное число: должно быть кратным ${e.divisor}` +;case"unrecognized_keys": +return`Нераспознанн${e.keys.length>1?"ые":"ый"} ключ${e.keys.length>1?"и":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Неверный ключ в ${e.origin}`;case"invalid_union": +default:return"Неверные входные данные";case"invalid_element": +return`Неверное значение в ${e.origin}`}}};const Da=()=>{const e={string:{ +unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{ +unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}} +;function t(t){return e[t]??null}const n={regex:"vnos",email:"e-poštni naslov", +url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6", +nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID", +ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas", +duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov", +cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz", +base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka", +jwt:"JWT",template_literal:"vnos"},r={nan:"NaN",number:"število",array:"tabela"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Neveljaven vnos: pričakovano instanceof ${e.expected}, prejeto ${a}`:`Neveljaven vnos: pričakovano ${t}, prejeto ${a}` +}case"invalid_value": +return 1===e.values.length?`Neveljaven vnos: pričakovano ${$(e.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Preveliko: pričakovano, da bo ${e.origin??"vrednost"} imelo ${n}${e.maximum.toString()} ${r.unit??"elementov"}`:`Preveliko: pričakovano, da bo ${e.origin??"vrednost"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Premajhno: pričakovano, da bo ${e.origin} imelo ${n}${e.minimum.toString()} ${r.unit}`:`Premajhno: pričakovano, da bo ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Neveljaven niz: mora se začeti z "${t.prefix}"`:"ends_with"===t.format?`Neveljaven niz: mora se končati z "${t.suffix}"`:"includes"===t.format?`Neveljaven niz: mora vsebovati "${t.includes}"`:"regex"===t.format?`Neveljaven niz: mora ustrezati vzorcu ${t.pattern}`:`Neveljaven ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Neveljavno število: mora biti večkratnik ${e.divisor}` +;case"unrecognized_keys": +return`Neprepoznan${e.keys.length>1?"i ključi":" ključ"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Neveljaven ključ v ${e.origin}`;case"invalid_union": +default:return"Neveljaven vnos";case"invalid_element": +return`Neveljavna vrednost v ${e.origin}`}}};const Ma=()=>{const e={string:{ +unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{ +unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}} +;function t(t){return e[t]??null}const n={regex:"reguljärt uttryck", +email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid", +date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet", +ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum", +cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng", +base64url:"base64url-kodad sträng",json_string:"JSON-sträng", +e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},r={nan:"NaN", +number:"antal",array:"lista"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ogiltig inmatning: förväntat instanceof ${e.expected}, fick ${a}`:`Ogiltig inmatning: förväntat ${t}, fick ${a}` +}case"invalid_value": +return 1===e.values.length?`Ogiltig inmatning: förväntat ${$(e.values[0])}`:`Ogiltigt val: förväntade en av ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`För stor(t): förväntade ${e.origin??"värdet"} att ha ${n}${e.maximum.toString()} ${r.unit??"element"}`:`För stor(t): förväntat ${e.origin??"värdet"} att ha ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`För lite(t): förväntade ${e.origin??"värdet"} att ha ${n}${e.minimum.toString()} ${r.unit}`:`För lite(t): förväntade ${e.origin??"värdet"} att ha ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ogiltig sträng: måste börja med "${t.prefix}"`:"ends_with"===t.format?`Ogiltig sträng: måste sluta med "${t.suffix}"`:"includes"===t.format?`Ogiltig sträng: måste innehålla "${t.includes}"`:"regex"===t.format?`Ogiltig sträng: måste matcha mönstret "${t.pattern}"`:`Ogiltig(t) ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Ogiltigt tal: måste vara en multipel av ${e.divisor}` +;case"unrecognized_keys": +return`${e.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${l(e.keys,", ")}` +;case"invalid_key":return`Ogiltig nyckel i ${e.origin??"värdet"}` +;case"invalid_union":default:return"Ogiltig input";case"invalid_element": +return`Ogiltigt värde i ${e.origin??"värdet"}`}}};const Na=()=>{const e={ +string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்", +verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்", +verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"} +};function t(t){return e[t]??null}const n={regex:"உள்ளீடு", +email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி", +time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி", +cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்", +base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்", +jwt:"JWT",template_literal:"input"},r={nan:"NaN",number:"எண்",array:"அணி", +null:"வெறுமை"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${e.expected}, பெறப்பட்டது ${a}`:`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${t}, பெறப்பட்டது ${a}` +}case"invalid_value": +return 1===e.values.length?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${$(e.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${l(e.values,"|")} இல் ஒன்று` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??"மதிப்பு"} ${n}${e.maximum.toString()} ${r.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??"மதிப்பு"} ${n}${e.maximum.toString()} ஆக இருக்க வேண்டும்` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${n}${e.minimum.toString()} ஆக இருக்க வேண்டும்` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`தவறான சரம்: "${t.prefix}" இல் தொடங்க வேண்டும்`:"ends_with"===t.format?`தவறான சரம்: "${t.suffix}" இல் முடிவடைய வேண்டும்`:"includes"===t.format?`தவறான சரம்: "${t.includes}" ஐ உள்ளடக்க வேண்டும்`:"regex"===t.format?`தவறான சரம்: ${t.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${n[t.format]??e.format}` +}case"not_multiple_of":return`தவறான எண்: ${e.divisor} இன் பலமாக இருக்க வேண்டும்` +;case"unrecognized_keys": +return`அடையாளம் தெரியாத விசை${e.keys.length>1?"கள்":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} இல் தவறான விசை`;case"invalid_union": +default:return"தவறான உள்ளீடு";case"invalid_element": +return`${e.origin} இல் தவறான மதிப்பு`}}};const Ra=()=>{const e={string:{ +unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{ +unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(t){ +return e[t]??null}const n={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL", +emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid", +guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO", +duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6", +cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64", +base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON", +e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT", +template_literal:"ข้อมูลที่ป้อน"},r={nan:"NaN",number:"ตัวเลข", +array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${e.expected} แต่ได้รับ ${a}`:`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${t} แต่ได้รับ ${a}` +}case"invalid_value": +return 1===e.values.length?`ค่าไม่ถูกต้อง: ควรเป็น ${$(e.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"ไม่เกิน":"น้อยกว่า",r=t(e.origin) +;return r?`เกินกำหนด: ${e.origin??"ค่า"} ควรมี${n} ${e.maximum.toString()} ${r.unit??"รายการ"}`:`เกินกำหนด: ${e.origin??"ค่า"} ควรมี${n} ${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?"อย่างน้อย":"มากกว่า",r=t(e.origin) +;return r?`น้อยกว่ากำหนด: ${e.origin} ควรมี${n} ${e.minimum.toString()} ${r.unit}`:`น้อยกว่ากำหนด: ${e.origin} ควรมี${n} ${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${t.prefix}"`:"ends_with"===t.format?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${t.suffix}"`:"includes"===t.format?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${t.includes}" อยู่ในข้อความ`:"regex"===t.format?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${t.pattern}`:`รูปแบบไม่ถูกต้อง: ${n[t.format]??e.format}` +}case"not_multiple_of": +return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${e.divisor} ได้ลงตัว` +;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${l(e.keys,", ")}` +;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${e.origin}`;case"invalid_union": +return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้" +;case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${e.origin}`;default: +return"ข้อมูลไม่ถูกต้อง"}}};const La=()=>{const e={string:{unit:"karakter", +verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı" +},set:{unit:"öğe",verb:"olmalı"}};function t(t){return e[t]??null}const n={ +regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat", +date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi", +ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı", +base64:"base64 ile şifrelenmiş metin", +base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi", +e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},r={nan:"NaN"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Geçersiz değer: beklenen instanceof ${e.expected}, alınan ${a}`:`Geçersiz değer: beklenen ${t}, alınan ${a}` +}case"invalid_value": +return 1===e.values.length?`Geçersiz değer: beklenen ${$(e.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Çok büyük: beklenen ${e.origin??"değer"} ${n}${e.maximum.toString()} ${r.unit??"öğe"}`:`Çok büyük: beklenen ${e.origin??"değer"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Çok küçük: beklenen ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`Çok küçük: beklenen ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Geçersiz metin: "${t.prefix}" ile başlamalı`:"ends_with"===t.format?`Geçersiz metin: "${t.suffix}" ile bitmeli`:"includes"===t.format?`Geçersiz metin: "${t.includes}" içermeli`:"regex"===t.format?`Geçersiz metin: ${t.pattern} desenine uymalı`:`Geçersiz ${n[t.format]??e.format}` +}case"not_multiple_of":return`Geçersiz sayı: ${e.divisor} ile tam bölünebilmeli` +;case"unrecognized_keys": +return`Tanınmayan anahtar${e.keys.length>1?"lar":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} içinde geçersiz anahtar` +;case"invalid_union":default:return"Geçersiz değer";case"invalid_element": +return`${e.origin} içinde geçersiz değer`}}};const Ba=()=>{const e={string:{ +unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{ +unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}} +;function t(t){return e[t]??null}const n={regex:"вхідні дані", +email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID", +uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid", +cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO", +date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4", +ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6", +base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url", +json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT", +template_literal:"вхідні дані"},r={nan:"NaN",number:"число",array:"масив"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Неправильні вхідні дані: очікується instanceof ${e.expected}, отримано ${a}`:`Неправильні вхідні дані: очікується ${t}, отримано ${a}` +}case"invalid_value": +return 1===e.values.length?`Неправильні вхідні дані: очікується ${$(e.values[0])}`:`Неправильна опція: очікується одне з ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Занадто велике: очікується, що ${e.origin??"значення"} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??"елементів"}`:`Занадто велике: очікується, що ${e.origin??"значення"} буде ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Занадто мале: очікується, що ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Занадто мале: очікується, що ${e.origin} буде ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Неправильний рядок: повинен починатися з "${t.prefix}"`:"ends_with"===t.format?`Неправильний рядок: повинен закінчуватися на "${t.suffix}"`:"includes"===t.format?`Неправильний рядок: повинен містити "${t.includes}"`:"regex"===t.format?`Неправильний рядок: повинен відповідати шаблону ${t.pattern}`:`Неправильний ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Неправильне число: повинно бути кратним ${e.divisor}` +;case"unrecognized_keys": +return`Нерозпізнаний ключ${e.keys.length>1?"і":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`Неправильний ключ у ${e.origin}`;case"invalid_union": +default:return"Неправильні вхідні дані";case"invalid_element": +return`Неправильне значення у ${e.origin}`}}};function ja(){return{ +localeError:Ba()}}const Ua=()=>{const e={string:{unit:"حروف",verb:"ہونا"},file:{ +unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز", +verb:"ہونا"}};function t(t){return e[t]??null}const n={regex:"ان پٹ", +email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی", +uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی", +guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2", +ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی", +datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت", +duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس", +cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج", +base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ", +json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی", +template_literal:"ان پٹ"},r={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`غلط ان پٹ: instanceof ${e.expected} متوقع تھا، ${a} موصول ہوا`:`غلط ان پٹ: ${t} متوقع تھا، ${a} موصول ہوا` +}case"invalid_value": +return 1===e.values.length?`غلط ان پٹ: ${$(e.values[0])} متوقع تھا`:`غلط آپشن: ${l(e.values,"|")} میں سے ایک متوقع تھا` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`بہت بڑا: ${e.origin??"ویلیو"} کے ${n}${e.maximum.toString()} ${r.unit??"عناصر"} ہونے متوقع تھے`:`بہت بڑا: ${e.origin??"ویلیو"} کا ${n}${e.maximum.toString()} ہونا متوقع تھا` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`بہت چھوٹا: ${e.origin} کے ${n}${e.minimum.toString()} ${r.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${e.origin} کا ${n}${e.minimum.toString()} ہونا متوقع تھا` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`غلط سٹرنگ: "${t.prefix}" سے شروع ہونا چاہیے`:"ends_with"===t.format?`غلط سٹرنگ: "${t.suffix}" پر ختم ہونا چاہیے`:"includes"===t.format?`غلط سٹرنگ: "${t.includes}" شامل ہونا چاہیے`:"regex"===t.format?`غلط سٹرنگ: پیٹرن ${t.pattern} سے میچ ہونا چاہیے`:`غلط ${n[t.format]??e.format}` +}case"not_multiple_of":return`غلط نمبر: ${e.divisor} کا مضاعف ہونا چاہیے` +;case"unrecognized_keys": +return`غیر تسلیم شدہ کی${e.keys.length>1?"ز":""}: ${l(e.keys,"، ")}` +;case"invalid_key":return`${e.origin} میں غلط کی`;case"invalid_union":default: +return"غلط ان پٹ";case"invalid_element":return`${e.origin} میں غلط ویلیو`}}} +;const za=()=>{const e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{ +unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"}, +set:{unit:"element",verb:"bo‘lishi kerak"}};function t(t){return e[t]??null} +const n={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji", +uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID", +cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt", +duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil", +mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon", +base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr", +json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish" +},r={nan:"NaN",number:"raqam",array:"massiv"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Noto‘g‘ri kirish: kutilgan instanceof ${e.expected}, qabul qilingan ${a}`:`Noto‘g‘ri kirish: kutilgan ${t}, qabul qilingan ${a}` +}case"invalid_value": +return 1===e.values.length?`Noto‘g‘ri kirish: kutilgan ${$(e.values[0])}`:`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Juda katta: kutilgan ${e.origin??"qiymat"} ${n}${e.maximum.toString()} ${r.unit} ${r.verb}`:`Juda katta: kutilgan ${e.origin??"qiymat"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Juda kichik: kutilgan ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ${r.verb}`:`Juda kichik: kutilgan ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Noto‘g‘ri satr: "${t.prefix}" bilan boshlanishi kerak`:"ends_with"===t.format?`Noto‘g‘ri satr: "${t.suffix}" bilan tugashi kerak`:"includes"===t.format?`Noto‘g‘ri satr: "${t.includes}" ni o‘z ichiga olishi kerak`:"regex"===t.format?`Noto‘g‘ri satr: ${t.pattern} shabloniga mos kelishi kerak`:`Noto‘g‘ri ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Noto‘g‘ri raqam: ${e.divisor} ning karralisi bo‘lishi kerak` +;case"unrecognized_keys": +return`Noma’lum kalit${e.keys.length>1?"lar":""}: ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} dagi kalit noto‘g‘ri`;case"invalid_union": +default:return"Noto‘g‘ri kirish";case"invalid_element": +return`${e.origin} da noto‘g‘ri qiymat`}}};const Za=()=>{const e={string:{ +unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử", +verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(t){return e[t]??null} +const n={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji", +uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID", +cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO", +duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6", +cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64", +base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164", +jwt:"JWT",template_literal:"đầu vào"},r={nan:"NaN",number:"số",array:"mảng"} +;return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Đầu vào không hợp lệ: mong đợi instanceof ${e.expected}, nhận được ${a}`:`Đầu vào không hợp lệ: mong đợi ${t}, nhận được ${a}` +}case"invalid_value": +return 1===e.values.length?`Đầu vào không hợp lệ: mong đợi ${$(e.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Quá lớn: mong đợi ${e.origin??"giá trị"} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??"phần tử"}`:`Quá lớn: mong đợi ${e.origin??"giá trị"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Quá nhỏ: mong đợi ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Quá nhỏ: mong đợi ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Chuỗi không hợp lệ: phải bắt đầu bằng "${t.prefix}"`:"ends_with"===t.format?`Chuỗi không hợp lệ: phải kết thúc bằng "${t.suffix}"`:"includes"===t.format?`Chuỗi không hợp lệ: phải bao gồm "${t.includes}"`:"regex"===t.format?`Chuỗi không hợp lệ: phải khớp với mẫu ${t.pattern}`:`${n[t.format]??e.format} không hợp lệ` +}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${e.divisor}` +;case"unrecognized_keys":return`Khóa không được nhận dạng: ${l(e.keys,", ")}` +;case"invalid_key":return`Khóa không hợp lệ trong ${e.origin}` +;case"invalid_union":default:return"Đầu vào không hợp lệ";case"invalid_element": +return`Giá trị không hợp lệ trong ${e.origin}`}}};const Fa=()=>{const e={ +string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项", +verb:"包含"},set:{unit:"项",verb:"包含"}};function t(t){return e[t]??null}const n={ +regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4", +uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2", +ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期", +time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段", +cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串", +json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},r={ +nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return e=>{switch(e.code){ +case"invalid_type":{const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`无效输入:期望 instanceof ${e.expected},实际接收 ${a}`:`无效输入:期望 ${t},实际接收 ${a}` +}case"invalid_value": +return 1===e.values.length?`无效输入:期望 ${$(e.values[0])}`:`无效选项:期望以下之一 ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`数值过大:期望 ${e.origin??"值"} ${n}${e.maximum.toString()} ${r.unit??"个元素"}`:`数值过大:期望 ${e.origin??"值"} ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`数值过小:期望 ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`数值过小:期望 ${e.origin} ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`无效字符串:必须以 "${t.prefix}" 开头`:"ends_with"===t.format?`无效字符串:必须以 "${t.suffix}" 结尾`:"includes"===t.format?`无效字符串:必须包含 "${t.includes}"`:"regex"===t.format?`无效字符串:必须满足正则表达式 ${t.pattern}`:`无效${n[t.format]??e.format}` +}case"not_multiple_of":return`无效数字:必须是 ${e.divisor} 的倍数` +;case"unrecognized_keys":return`出现未知的键(key): ${l(e.keys,", ")}` +;case"invalid_key":return`${e.origin} 中的键(key)无效`;case"invalid_union":default: +return"无效输入";case"invalid_element":return`${e.origin} 中包含无效值(value)`}}} +;const Ha=()=>{const e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有" +},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(t){ +return e[t]??null}const n={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji", +uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID", +cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間", +ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍", +base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串", +e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},r={nan:"NaN"};return e=>{ +switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`無效的輸入值:預期為 instanceof ${e.expected},但收到 ${a}`:`無效的輸入值:預期為 ${t},但收到 ${a}` +}case"invalid_value": +return 1===e.values.length?`無效的輸入值:預期為 ${$(e.values[0])}`:`無效的選項:預期為以下其中之一 ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`數值過大:預期 ${e.origin??"值"} 應為 ${n}${e.maximum.toString()} ${r.unit??"個元素"}`:`數值過大:預期 ${e.origin??"值"} 應為 ${n}${e.maximum.toString()}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`數值過小:預期 ${e.origin} 應為 ${n}${e.minimum.toString()} ${r.unit}`:`數值過小:預期 ${e.origin} 應為 ${n}${e.minimum.toString()}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`無效的字串:必須以 "${t.prefix}" 開頭`:"ends_with"===t.format?`無效的字串:必須以 "${t.suffix}" 結尾`:"includes"===t.format?`無效的字串:必須包含 "${t.includes}"`:"regex"===t.format?`無效的字串:必須符合格式 ${t.pattern}`:`無效的 ${n[t.format]??e.format}` +}case"not_multiple_of":return`無效的數字:必須為 ${e.divisor} 的倍數` +;case"unrecognized_keys": +return`無法識別的鍵值${e.keys.length>1?"們":""}:${l(e.keys,"、")}`;case"invalid_key": +return`${e.origin} 中有無效的鍵值`;case"invalid_union":default:return"無效的輸入值" +;case"invalid_element":return`${e.origin} 中有無效的值`}}};const Qa=()=>{const e={ +string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan", +verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(t){return e[t]??null} +const n={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji", +uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID", +cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID", +datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO", +duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6", +cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64", +base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164", +jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},r={nan:"NaN",number:"nọ́mbà", +array:"akopọ"};return e=>{switch(e.code){case"invalid_type":{ +const t=r[e.expected]??e.expected,n=q(e.input),a=r[n]??n +;return/^[A-Z]/.test(e.expected)?`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${e.expected}, àmọ̀ a rí ${a}`:`Ìbáwọlé aṣìṣe: a ní láti fi ${t}, àmọ̀ a rí ${a}` +}case"invalid_value": +return 1===e.values.length?`Ìbáwọlé aṣìṣe: a ní láti fi ${$(e.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${l(e.values,"|")}` +;case"too_big":{const n=e.inclusive?"<=":"<",r=t(e.origin) +;return r?`Tó pọ̀ jù: a ní láti jẹ́ pé ${e.origin??"iye"} ${r.verb} ${n}${e.maximum} ${r.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${n}${e.maximum}` +}case"too_small":{const n=e.inclusive?">=":">",r=t(e.origin) +;return r?`Kéré ju: a ní láti jẹ́ pé ${e.origin} ${r.verb} ${n}${e.minimum} ${r.unit}`:`Kéré ju: a ní láti jẹ́ ${n}${e.minimum}` +}case"invalid_format":{const t=e +;return"starts_with"===t.format?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${t.prefix}"`:"ends_with"===t.format?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${t.suffix}"`:"includes"===t.format?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${t.includes}"`:"regex"===t.format?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${t.pattern}`:`Aṣìṣe: ${n[t.format]??e.format}` +}case"not_multiple_of": +return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${e.divisor}` +;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${l(e.keys,", ")}` +;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${e.origin}`;case"invalid_union": +default:return"Ìbáwọlé aṣìṣe";case"invalid_element": +return`Iye aṣìṣe nínú ${e.origin}`}}} +;const Va=Object.freeze(Object.defineProperty({__proto__:null,ar:function(){ +return{localeError:Hr()}},az:function(){return{localeError:Qr()}},be:function(){ +return{localeError:qr()}},bg:function(){return{localeError:Wr()}},ca:function(){ +return{localeError:Xr()}},cs:function(){return{localeError:Gr()}},da:function(){ +return{localeError:Yr()}},de:function(){return{localeError:Kr()}},en:ea, +eo:function(){return{localeError:ta()}},es:function(){return{localeError:na()}}, +fa:function(){return{localeError:ra()}},fi:function(){return{localeError:aa()}}, +fr:function(){return{localeError:oa()}},frCA:function(){return{localeError:ia()} +},he:function(){return{localeError:sa()}},hu:function(){return{localeError:la()} +},hy:function(){return{localeError:da()}},id:function(){return{localeError:pa()} +},is:function(){return{localeError:ha()}},it:function(){return{localeError:fa()} +},ja:function(){return{localeError:ma()}},ka:function(){return{localeError:ga()} +},kh:function(){return ba()},km:ba,ko:function(){return{localeError:ya()}}, +lt:function(){return{localeError:xa()}},mk:function(){return{localeError:ka()}}, +ms:function(){return{localeError:Sa()}},nl:function(){return{localeError:_a()}}, +no:function(){return{localeError:Aa()}},ota:function(){return{localeError:Ta()} +},pl:function(){return{localeError:Ca()}},ps:function(){return{localeError:Ea()} +},pt:function(){return{localeError:$a()}},ru:function(){return{localeError:Ia()} +},sl:function(){return{localeError:Da()}},sv:function(){return{localeError:Ma()} +},ta:function(){return{localeError:Na()}},th:function(){return{localeError:Ra()} +},tr:function(){return{localeError:La()}},ua:function(){return ja()},uk:ja, +ur:function(){return{localeError:Ua()}},uz:function(){return{localeError:za()}}, +vi:function(){return{localeError:Za()}},yo:function(){return{localeError:Qa()}}, +zhCN:function(){return{localeError:Fa()}},zhTW:function(){return{ +localeError:Ha()}}},Symbol.toStringTag,{value:"Module"}));var qa +;const Wa=Symbol("ZodOutput"),Xa=Symbol("ZodInput");class Ga{constructor(){ +this._map=new WeakMap,this._idmap=new Map}add(e,...t){const n=t[0] +;return this._map.set(e,n), +n&&"object"==typeof n&&"id"in n&&this._idmap.set(n.id,e),this}clear(){ +return this._map=new WeakMap,this._idmap=new Map,this}remove(e){ +const t=this._map.get(e) +;return t&&"object"==typeof t&&"id"in t&&this._idmap.delete(t.id), +this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const n={ +...this.get(t)??{}};delete n.id;const r={...n,...this._map.get(e)} +;return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){ +return this._map.has(e)}}function Ya(){return new Ga} +(qa=globalThis).__zod_globalRegistry??(qa.__zod_globalRegistry=Ya()) +;const Ka=globalThis.__zod_globalRegistry;function Ja(e,t){return new e({ +type:"string",...C(t)})}function eo(e,t){return new e({type:"string",coerce:!0, +...C(t)})}function to(e,t){return new e({type:"string",format:"email", +check:"string_format",abort:!1,...C(t)})}function no(e,t){return new e({ +type:"string",format:"guid",check:"string_format",abort:!1,...C(t)})} +function ro(e,t){return new e({type:"string",format:"uuid", +check:"string_format",abort:!1,...C(t)})}function ao(e,t){return new e({ +type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...C(t) +})}function oo(e,t){return new e({type:"string",format:"uuid", +check:"string_format",abort:!1,version:"v6",...C(t)})}function io(e,t){ +return new e({type:"string",format:"uuid",check:"string_format",abort:!1, +version:"v7",...C(t)})}function so(e,t){return new e({type:"string", +format:"url",check:"string_format",abort:!1,...C(t)})}function lo(e,t){ +return new e({type:"string",format:"emoji",check:"string_format",abort:!1, +...C(t)})}function co(e,t){return new e({type:"string",format:"nanoid", +check:"string_format",abort:!1,...C(t)})}function uo(e,t){return new e({ +type:"string",format:"cuid",check:"string_format",abort:!1,...C(t)})} +function po(e,t){return new e({type:"string",format:"cuid2", +check:"string_format",abort:!1,...C(t)})}function ho(e,t){return new e({ +type:"string",format:"ulid",check:"string_format",abort:!1,...C(t)})} +function fo(e,t){return new e({type:"string",format:"xid",check:"string_format", +abort:!1,...C(t)})}function mo(e,t){return new e({type:"string",format:"ksuid", +check:"string_format",abort:!1,...C(t)})}function go(e,t){return new e({ +type:"string",format:"ipv4",check:"string_format",abort:!1,...C(t)})} +function vo(e,t){return new e({type:"string",format:"ipv6", +check:"string_format",abort:!1,...C(t)})}function bo(e,t){return new e({ +type:"string",format:"mac",check:"string_format",abort:!1,...C(t)})} +function yo(e,t){return new e({type:"string",format:"cidrv4", +check:"string_format",abort:!1,...C(t)})}function Oo(e,t){return new e({ +type:"string",format:"cidrv6",check:"string_format",abort:!1,...C(t)})} +function wo(e,t){return new e({type:"string",format:"base64", +check:"string_format",abort:!1,...C(t)})}function xo(e,t){return new e({ +type:"string",format:"base64url",check:"string_format",abort:!1,...C(t)})} +function ko(e,t){return new e({type:"string",format:"e164", +check:"string_format",abort:!1,...C(t)})}function So(e,t){return new e({ +type:"string",format:"jwt",check:"string_format",abort:!1,...C(t)})}const _o={ +Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Ao(e,t){ +return new e({type:"string",format:"datetime",check:"string_format",offset:!1, +local:!1,precision:null,...C(t)})}function To(e,t){return new e({type:"string", +format:"date",check:"string_format",...C(t)})}function Eo(e,t){return new e({ +type:"string",format:"time",check:"string_format",precision:null,...C(t)})} +function Co(e,t){return new e({type:"string",format:"duration", +check:"string_format",...C(t)})}function $o(e,t){return new e({type:"number", +checks:[],...C(t)})}function Po(e,t){return new e({type:"number",coerce:!0, +checks:[],...C(t)})}function Io(e,t){return new e({type:"number", +check:"number_format",abort:!1,format:"safeint",...C(t)})}function Do(e,t){ +return new e({type:"number",check:"number_format",abort:!1,format:"float32", +...C(t)})}function Mo(e,t){return new e({type:"number",check:"number_format", +abort:!1,format:"float64",...C(t)})}function No(e,t){return new e({ +type:"number",check:"number_format",abort:!1,format:"int32",...C(t)})} +function Ro(e,t){return new e({type:"number",check:"number_format",abort:!1, +format:"uint32",...C(t)})}function Lo(e,t){return new e({type:"boolean",...C(t) +})}function Bo(e,t){return new e({type:"boolean",coerce:!0,...C(t)})} +function jo(e,t){return new e({type:"bigint",...C(t)})}function Uo(e,t){ +return new e({type:"bigint",coerce:!0,...C(t)})}function zo(e,t){return new e({ +type:"bigint",check:"bigint_format",abort:!1,format:"int64",...C(t)})} +function Zo(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1, +format:"uint64",...C(t)})}function Fo(e,t){return new e({type:"symbol",...C(t)}) +}function Ho(e,t){return new e({type:"undefined",...C(t)})}function Qo(e,t){ +return new e({type:"null",...C(t)})}function Vo(e){return new e({type:"any"})} +function qo(e){return new e({type:"unknown"})}function Wo(e,t){return new e({ +type:"never",...C(t)})}function Xo(e,t){return new e({type:"void",...C(t)})} +function Go(e,t){return new e({type:"date",...C(t)})}function Yo(e,t){ +return new e({type:"date",coerce:!0,...C(t)})}function Ko(e,t){return new e({ +type:"nan",...C(t)})}function Jo(e,t){return new It({check:"less_than",...C(t), +value:e,inclusive:!1})}function ei(e,t){return new It({check:"less_than", +...C(t),value:e,inclusive:!0})}function ti(e,t){return new Dt({ +check:"greater_than",...C(t),value:e,inclusive:!1})}function ni(e,t){ +return new Dt({check:"greater_than",...C(t),value:e,inclusive:!0})} +function ri(e){return ti(0,e)}function ai(e){return Jo(0,e)}function oi(e){ +return ei(0,e)}function ii(e){return ni(0,e)}function si(e,t){return new Mt({ +check:"multiple_of",...C(t),value:e})}function li(e,t){return new Lt({ +check:"max_size",...C(t),maximum:e})}function ci(e,t){return new Bt({ +check:"min_size",...C(t),minimum:e})}function ui(e,t){return new jt({ +check:"size_equals",...C(t),size:e})}function di(e,t){return new Ut({ +check:"max_length",...C(t),maximum:e})}function pi(e,t){return new zt({ +check:"min_length",...C(t),minimum:e})}function hi(e,t){return new Zt({ +check:"length_equals",...C(t),length:e})}function fi(e,t){return new Ht({ +check:"string_format",format:"regex",...C(t),pattern:e})}function mi(e){ +return new Qt({check:"string_format",format:"lowercase",...C(e)})} +function gi(e){return new Vt({check:"string_format",format:"uppercase",...C(e)}) +}function vi(e,t){return new qt({check:"string_format",format:"includes", +...C(t),includes:e})}function bi(e,t){return new Wt({check:"string_format", +format:"starts_with",...C(t),prefix:e})}function yi(e,t){return new Xt({ +check:"string_format",format:"ends_with",...C(t),suffix:e})}function Oi(e,t,n){ +return new Yt({check:"property",property:e,schema:t,...C(n)})}function wi(e,t){ +return new Kt({check:"mime_type",mime:e,...C(t)})}function xi(e){return new Jt({ +check:"overwrite",tx:e})}function ki(e){return xi((t=>t.normalize(e)))} +function Si(){return xi((e=>e.trim()))}function _i(){ +return xi((e=>e.toLowerCase()))}function Ai(){return xi((e=>e.toUpperCase()))} +function Ti(){return xi((e=>y(e)))}function Ei(e,t,n){return new e({ +type:"array",element:t,...C(n)})}function Ci(e,t){return new e({type:"file", +...C(t)})}function $i(e,t,n){const r=C(n);r.abort??(r.abort=!0);return new e({ +type:"custom",check:"custom",fn:t,...r})}function Pi(e,t,n){return new e({ +type:"custom",check:"custom",fn:t,...C(n)})}function Ii(e){ +const t=Di((n=>(n.addIssue=e=>{ +if("string"==typeof e)n.issues.push(W(e,n.value,t._zod.def));else{const r=e +;r.fatal&&(r.continue=!1), +r.code??(r.code="custom"),r.input??(r.input=n.value),r.inst??(r.inst=t), +r.continue??(r.continue=!t._zod.def.abort),n.issues.push(W(r))}},e(n.value,n)))) +;return t}function Di(e,t){const n=new $t({check:"custom",...C(t)}) +;return n._zod.check=e,n}function Mi(e){const t=new $t({check:"describe"}) +;return t._zod.onattach=[t=>{const n=Ka.get(t)??{};Ka.add(t,{...n,description:e +})}],t._zod.check=()=>{},t}function Ni(e){const t=new $t({check:"meta"}) +;return t._zod.onattach=[t=>{const n=Ka.get(t)??{};Ka.add(t,{...n,...e}) +}],t._zod.check=()=>{},t}function Ri(e,t){const n=C(t) +;let r=n.truthy??["true","1","yes","on","y","enabled"],a=n.falsy??["false","0","no","off","n","disabled"] +;"sensitive"!==n.case&&(r=r.map((e=>"string"==typeof e?e.toLowerCase():e)), +a=a.map((e=>"string"==typeof e?e.toLowerCase():e))) +;const o=new Set(r),i=new Set(a),s=e.Codec??Dr,l=e.Boolean??Rn,c=new s({ +type:"pipe",in:new(e.String??rn)({type:"string",error:n.error}),out:new l({ +type:"boolean",error:n.error}),transform:(e,t)=>{let r=e +;return"sensitive"!==n.case&&(r=r.toLowerCase()), +!!o.has(r)||!i.has(r)&&(t.issues.push({code:"invalid_value", +expected:"stringbool",values:[...o,...i],input:t.value,inst:c,continue:!1}),{}) +},reverseTransform:(e,t)=>!0===e?r[0]||"true":a[0]||"false",error:n.error}) +;return c}function Li(e,t,n,r={}){const a=C(r),o={...C(r),check:"string_format", +type:"string",format:t,fn:"function"==typeof n?n:e=>n.test(e),...a} +;n instanceof RegExp&&(o.pattern=n);return new e(o)}function Bi(e){ +let t=e?.target??"draft-2020-12" +;return"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),{ +processors:e.processors??{},metadataRegistry:e?.metadata??Ka,target:t, +unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}), +io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref", +reused:e?.reused??"inline",external:e?.external??void 0}}function ji(e,t,n={ +path:[],schemaPath:[]}){var r;const a=e._zod.def,o=t.seen.get(e);if(o){o.count++ +;return n.schemaPath.includes(e)&&(o.cycle=n.path),o.schema}const i={schema:{}, +count:1,cycle:void 0,path:n.path};t.seen.set(e,i) +;const s=e._zod.toJSONSchema?.();if(s)i.schema=s;else{const r={...n, +schemaPath:[...n.schemaPath,e],path:n.path} +;if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,r);else{ +const n=i.schema,o=t.processors[a.type] +;if(!o)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${a.type}`) +;o(e,t,n,r)}const o=e._zod.parent +;o&&(i.ref||(i.ref=o),ji(o,t,r),t.seen.get(o).isParent=!0)} +const l=t.metadataRegistry.get(e) +;l&&Object.assign(i.schema,l),"input"===t.io&&Zi(e)&&(delete i.schema.examples, +delete i.schema.default), +"input"===t.io&&i.schema._prefault&&((r=i.schema).default??(r.default=i.schema._prefault)), +delete i.schema._prefault;return t.seen.get(e).schema}function Ui(e,t){ +const n=e.seen.get(t) +;if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.") +;const r=new Map;for(const o of e.seen.entries()){ +const t=e.metadataRegistry.get(o[0])?.id;if(t){const e=r.get(t) +;if(e&&e!==o[0])throw new Error(`Duplicate schema id "${t}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`) +;r.set(t,o[0])}}const a=t=>{if(t[1].schema.$ref)return +;const r=t[1],{ref:a,defId:o}=(t=>{ +const r="draft-2020-12"===e.target?"$defs":"definitions";if(e.external){ +const n=e.external.registry.get(t[0])?.id,a=e.external.uri??(e=>e);if(n)return{ +ref:a(n)};const o=t[1].defId??t[1].schema.id??"schema"+e.counter++ +;return t[1].defId=o,{defId:o,ref:`${a("__shared")}#/${r}/${o}`}} +if(t[1]===n)return{ref:"#"} +;const a=`#/${r}/`,o=t[1].schema.id??"__schema"+e.counter++;return{defId:o, +ref:a+o}})(t);r.def={...r.schema},o&&(r.defId=o);const i=r.schema +;for(const e in i)delete i[e];i.$ref=a} +;if("throw"===e.cycles)for(const o of e.seen.entries()){const e=o[1] +;if(e.cycle)throw new Error(`Cycle detected: #/${e.cycle?.join("/")}/\n\nSet the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`) +}for(const o of e.seen.entries()){const n=o[1];if(t===o[0]){a(o);continue} +if(e.external){const n=e.external.registry.get(o[0])?.id;if(t!==o[0]&&n){a(o) +;continue}}const r=e.metadataRegistry.get(o[0])?.id +;r?a(o):(n.cycle||n.count>1&&"ref"===e.reused)&&a(o)}}function zi(e,t){ +const n=e.seen.get(t) +;if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=t=>{ +const n=e.seen.get(t);if(null===n.ref)return;const a=n.def??n.schema,o={...a +},i=n.ref;if(n.ref=null,i){r(i);const n=e.seen.get(i),s=n.schema +;!s.$ref||"draft-07"!==e.target&&"draft-04"!==e.target&&"openapi-3.0"!==e.target?Object.assign(a,s):(a.allOf=a.allOf??[], +a.allOf.push(s)),Object.assign(a,o) +;if(t._zod.parent===i)for(const e in a)"$ref"!==e&&"allOf"!==e&&(e in o||delete a[e]) +;if(s.$ref)for(const e in a)"$ref"!==e&&"allOf"!==e&&e in n.def&&JSON.stringify(a[e])===JSON.stringify(n.def[e])&&delete a[e] +}const s=t._zod.parent;if(s&&s!==i){r(s);const t=e.seen.get(s) +;if(t?.schema.$ref&&(a.$ref=t.schema.$ref, +t.def))for(const e in a)"$ref"!==e&&"allOf"!==e&&e in t.def&&JSON.stringify(a[e])===JSON.stringify(t.def[e])&&delete a[e] +}e.override({zodSchema:t,jsonSchema:a,path:n.path??[]})} +;for(const s of[...e.seen.entries()].reverse())r(s[0]);const a={} +;if("draft-2020-12"===e.target?a.$schema="https://json-schema.org/draft/2020-12/schema":"draft-07"===e.target?a.$schema="http://json-schema.org/draft-07/schema#":"draft-04"===e.target?a.$schema="http://json-schema.org/draft-04/schema#":e.target, +e.external?.uri){const n=e.external.registry.get(t)?.id +;if(!n)throw new Error("Schema is missing an `id` property") +;a.$id=e.external.uri(n)}Object.assign(a,n.def??n.schema) +;const o=e.external?.defs??{};for(const s of e.seen.entries()){const e=s[1] +;e.def&&e.defId&&(o[e.defId]=e.def)} +e.external||Object.keys(o).length>0&&("draft-2020-12"===e.target?a.$defs=o:a.definitions=o) +;try{const n=JSON.parse(JSON.stringify(a)) +;return Object.defineProperty(n,"~standard",{value:{...t["~standard"], +jsonSchema:{input:Hi(t,"input",e.processors),output:Hi(t,"output",e.processors)} +},enumerable:!1,writable:!1}),n}catch(i){ +throw new Error("Error converting schema to JSON.")}}function Zi(e,t){ +const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e) +;const r=e._zod.def;if("transform"===r.type)return!0 +;if("array"===r.type)return Zi(r.element,n) +;if("set"===r.type)return Zi(r.valueType,n) +;if("lazy"===r.type)return Zi(r.getter(),n) +;if("promise"===r.type||"optional"===r.type||"nonoptional"===r.type||"nullable"===r.type||"readonly"===r.type||"default"===r.type||"prefault"===r.type)return Zi(r.innerType,n) +;if("intersection"===r.type)return Zi(r.left,n)||Zi(r.right,n) +;if("record"===r.type||"map"===r.type)return Zi(r.keyType,n)||Zi(r.valueType,n) +;if("pipe"===r.type)return Zi(r.in,n)||Zi(r.out,n);if("object"===r.type){ +for(const e in r.shape)if(Zi(r.shape[e],n))return!0;return!1} +if("union"===r.type){for(const e of r.options)if(Zi(e,n))return!0;return!1} +if("tuple"===r.type){for(const e of r.items)if(Zi(e,n))return!0 +;return!(!r.rest||!Zi(r.rest,n))}return!1}const Fi=(e,t={})=>n=>{const r=Bi({ +...n,processors:t});return ji(e,r),Ui(r,e),zi(r,e)},Hi=(e,t,n={})=>r=>{ +const{libraryOptions:a,target:o}=r??{},i=Bi({...a??{},target:o,io:t,processors:n +});return ji(e,i),Ui(i,e),zi(i,e)},Qi={guid:"uuid",url:"uri", +datetime:"date-time",json_string:"json-string",regex:""},Vi=(e,t,n,r)=>{ +const a=n;a.type="string" +;const{minimum:o,maximum:i,format:s,patterns:l,contentEncoding:c}=e._zod.bag +;if("number"==typeof o&&(a.minLength=o), +"number"==typeof i&&(a.maxLength=i),s&&(a.format=Qi[s]??s, +""===a.format&&delete a.format, +"time"===s&&delete a.format),c&&(a.contentEncoding=c),l&&l.size>0){ +const e=[...l] +;1===e.length?a.pattern=e[0].source:e.length>1&&(a.allOf=[...e.map((e=>({ +..."draft-07"===t.target||"draft-04"===t.target||"openapi-3.0"===t.target?{ +type:"string"}:{},pattern:e.source})))])}},qi=(e,t,n,r)=>{ +const a=n,{minimum:o,maximum:i,format:s,multipleOf:l,exclusiveMaximum:c,exclusiveMinimum:u}=e._zod.bag +;"string"==typeof s&&s.includes("int")?a.type="integer":a.type="number", +"number"==typeof u&&("draft-04"===t.target||"openapi-3.0"===t.target?(a.minimum=u, +a.exclusiveMinimum=!0):a.exclusiveMinimum=u), +"number"==typeof o&&(a.minimum=o,"number"==typeof u&&"draft-04"!==t.target&&(u>=o?delete a.minimum:delete a.exclusiveMinimum)), +"number"==typeof c&&("draft-04"===t.target||"openapi-3.0"===t.target?(a.maximum=c, +a.exclusiveMaximum=!0):a.exclusiveMaximum=c), +"number"==typeof i&&(a.maximum=i,"number"==typeof c&&"draft-04"!==t.target&&(c<=i?delete a.maximum:delete a.exclusiveMaximum)), +"number"==typeof l&&(a.multipleOf=l)},Wi=(e,t,n,r)=>{n.type="boolean" +},Xi=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("BigInt cannot be represented in JSON Schema") +},Gi=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Symbols cannot be represented in JSON Schema") +},Yi=(e,t,n,r)=>{ +"openapi-3.0"===t.target?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null" +},Ki=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Undefined cannot be represented in JSON Schema") +},Ji=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Void cannot be represented in JSON Schema") +},es=(e,t,n,r)=>{n.not={}},ts=(e,t,n,r)=>{},ns=(e,t,n,r)=>{},rs=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Date cannot be represented in JSON Schema") +},as=(e,t,n,r)=>{const a=s(e._zod.def.entries) +;a.every((e=>"number"==typeof e))&&(n.type="number"), +a.every((e=>"string"==typeof e))&&(n.type="string"),n.enum=a},os=(e,t,n,r)=>{ +const a=e._zod.def,o=[];for(const i of a.values)if(void 0===i){ +if("throw"===t.unrepresentable)throw new Error("Literal `undefined` cannot be represented in JSON Schema") +}else if("bigint"==typeof i){ +if("throw"===t.unrepresentable)throw new Error("BigInt literals cannot be represented in JSON Schema") +;o.push(Number(i))}else o.push(i);if(0===o.length);else if(1===o.length){ +const e=o[0] +;n.type=null===e?"null":typeof e,"draft-04"===t.target||"openapi-3.0"===t.target?n.enum=[e]:n.const=e +}else o.every((e=>"number"==typeof e))&&(n.type="number"), +o.every((e=>"string"==typeof e))&&(n.type="string"), +o.every((e=>"boolean"==typeof e))&&(n.type="boolean"), +o.every((e=>null===e))&&(n.type="null"),n.enum=o},is=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("NaN cannot be represented in JSON Schema") +},ss=(e,t,n,r)=>{const a=n,o=e._zod.pattern +;if(!o)throw new Error("Pattern not found in template literal");a.type="string", +a.pattern=o.source},ls=(e,t,n,r)=>{const a=n,o={type:"string",format:"binary", +contentEncoding:"binary"},{minimum:i,maximum:s,mime:l}=e._zod.bag +;void 0!==i&&(o.minLength=i), +void 0!==s&&(o.maxLength=s),l?1===l.length?(o.contentMediaType=l[0], +Object.assign(a,o)):(Object.assign(a,o),a.anyOf=l.map((e=>({contentMediaType:e +})))):Object.assign(a,o)},cs=(e,t,n,r)=>{n.type="boolean"},us=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Custom types cannot be represented in JSON Schema") +},ds=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Function types cannot be represented in JSON Schema") +},ps=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Transforms cannot be represented in JSON Schema") +},hs=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Map cannot be represented in JSON Schema") +},fs=(e,t,n,r)=>{ +if("throw"===t.unrepresentable)throw new Error("Set cannot be represented in JSON Schema") +},ms=(e,t,n,r)=>{const a=n,o=e._zod.def,{minimum:i,maximum:s}=e._zod.bag +;"number"==typeof i&&(a.minItems=i), +"number"==typeof s&&(a.maxItems=s),a.type="array",a.items=ji(o.element,t,{...r, +path:[...r.path,"items"]})},gs=(e,t,n,r)=>{const a=n,o=e._zod.def +;a.type="object",a.properties={};const i=o.shape +;for(const c in i)a.properties[c]=ji(i[c],t,{...r, +path:[...r.path,"properties",c]}) +;const s=new Set(Object.keys(i)),l=new Set([...s].filter((e=>{ +const n=o.shape[e]._zod;return"input"===t.io?void 0===n.optin:void 0===n.optout +}))) +;l.size>0&&(a.required=Array.from(l)),"never"===o.catchall?._zod.def.type?a.additionalProperties=!1:o.catchall?o.catchall&&(a.additionalProperties=ji(o.catchall,t,{ +...r,path:[...r.path,"additionalProperties"] +})):"output"===t.io&&(a.additionalProperties=!1)},vs=(e,t,n,r)=>{ +const a=e._zod.def,o=!1===a.inclusive,i=a.options.map(((e,n)=>ji(e,t,{...r, +path:[...r.path,o?"oneOf":"anyOf",n]})));o?n.oneOf=i:n.anyOf=i},bs=(e,t,n,r)=>{ +const a=e._zod.def,o=ji(a.left,t,{...r,path:[...r.path,"allOf",0] +}),i=ji(a.right,t,{...r,path:[...r.path,"allOf",1] +}),s=e=>"allOf"in e&&1===Object.keys(e).length,l=[...s(o)?o.allOf:[o],...s(i)?i.allOf:[i]] +;n.allOf=l},ys=(e,t,n,r)=>{const a=n,o=e._zod.def;a.type="array" +;const i="draft-2020-12"===t.target?"prefixItems":"items",s="draft-2020-12"===t.target||"openapi-3.0"===t.target?"items":"additionalItems",l=o.items.map(((e,n)=>ji(e,t,{ +...r,path:[...r.path,i,n]}))),c=o.rest?ji(o.rest,t,{...r, +path:[...r.path,s,..."openapi-3.0"===t.target?[o.items.length]:[]]}):null +;"draft-2020-12"===t.target?(a.prefixItems=l, +c&&(a.items=c)):"openapi-3.0"===t.target?(a.items={anyOf:l +},c&&a.items.anyOf.push(c), +a.minItems=l.length,c||(a.maxItems=l.length)):(a.items=l, +c&&(a.additionalItems=c));const{minimum:u,maximum:d}=e._zod.bag +;"number"==typeof u&&(a.minItems=u),"number"==typeof d&&(a.maxItems=d) +},Os=(e,t,n,r)=>{const a=n,o=e._zod.def;a.type="object" +;const i=o.keyType,s=i._zod.bag,l=s?.patterns;if("loose"===o.mode&&l&&l.size>0){ +const e=ji(o.valueType,t,{...r,path:[...r.path,"patternProperties","*"]}) +;a.patternProperties={};for(const t of l)a.patternProperties[t.source]=e +}else"draft-07"!==t.target&&"draft-2020-12"!==t.target||(a.propertyNames=ji(o.keyType,t,{ +...r,path:[...r.path,"propertyNames"] +})),a.additionalProperties=ji(o.valueType,t,{...r, +path:[...r.path,"additionalProperties"]});const c=i._zod.values;if(c){ +const e=[...c].filter((e=>"string"==typeof e||"number"==typeof e)) +;e.length>0&&(a.required=e)}},ws=(e,t,n,r)=>{ +const a=e._zod.def,o=ji(a.innerType,t,r),i=t.seen.get(e) +;"openapi-3.0"===t.target?(i.ref=a.innerType,n.nullable=!0):n.anyOf=[o,{ +type:"null"}]},xs=(e,t,n,r)=>{const a=e._zod.def;ji(a.innerType,t,r) +;t.seen.get(e).ref=a.innerType},ks=(e,t,n,r)=>{const a=e._zod.def +;ji(a.innerType,t,r) +;t.seen.get(e).ref=a.innerType,n.default=JSON.parse(JSON.stringify(a.defaultValue)) +},Ss=(e,t,n,r)=>{const a=e._zod.def;ji(a.innerType,t,r) +;t.seen.get(e).ref=a.innerType, +"input"===t.io&&(n._prefault=JSON.parse(JSON.stringify(a.defaultValue))) +},_s=(e,t,n,r)=>{const a=e._zod.def;ji(a.innerType,t,r);let o +;t.seen.get(e).ref=a.innerType;try{o=a.catchValue(void 0)}catch{ +throw new Error("Dynamic catch values are not supported in JSON Schema")} +n.default=o},As=(e,t,n,r)=>{ +const a=e._zod.def,o="input"===t.io?"transform"===a.in._zod.def.type?a.out:a.in:a.out +;ji(o,t,r);t.seen.get(e).ref=o},Ts=(e,t,n,r)=>{const a=e._zod.def +;ji(a.innerType,t,r);t.seen.get(e).ref=a.innerType,n.readOnly=!0 +},Es=(e,t,n,r)=>{const a=e._zod.def;ji(a.innerType,t,r) +;t.seen.get(e).ref=a.innerType},Cs=(e,t,n,r)=>{const a=e._zod.def +;ji(a.innerType,t,r);t.seen.get(e).ref=a.innerType},$s=(e,t,n,r)=>{ +const a=e._zod.innerType;ji(a,t,r);t.seen.get(e).ref=a},Ps={string:Vi,number:qi, +boolean:Wi,bigint:Xi,symbol:Gi,null:Yi,undefined:Ki,void:Ji,never:es,any:ts, +unknown:ns,date:rs,enum:as,literal:os,nan:is,template_literal:ss,file:ls, +success:cs,custom:us,function:ds,transform:ps,map:hs,set:fs,array:ms,object:gs, +union:vs,intersection:bs,tuple:ys,record:Os,nullable:ws,nonoptional:xs, +default:ks,prefault:Ss,catch:_s,pipe:As,readonly:Ts,promise:Es,optional:Cs, +lazy:$s};function Is(e,t){if("_idmap"in e){const n=e,r=Bi({...t,processors:Ps +}),a={};for(const e of n._idmap.entries()){const[t,n]=e;ji(n,r)}const o={},i={ +registry:n,uri:t?.uri,defs:a};r.external=i;for(const e of n._idmap.entries()){ +const[t,n]=e;Ui(r,n),o[t]=zi(r,n)}if(Object.keys(a).length>0){ +const e="draft-2020-12"===r.target?"$defs":"definitions";o.__shared={[e]:a}} +return{schemas:o}}const n=Bi({...t,processors:Ps}) +;return ji(e,n),Ui(n,e),zi(n,e)}const Ds=Object.freeze(Object.defineProperty({ +__proto__:null},Symbol.toStringTag,{value:"Module" +})),Ms=Object.freeze(Object.defineProperty({__proto__:null,$ZodAny:Zn, +$ZodArray:Wn,$ZodAsyncError:r,$ZodBase64:Tn,$ZodBase64URL:Cn,$ZodBigInt:Ln, +$ZodBigIntFormat:Bn,$ZodBoolean:Rn,$ZodCIDRv4:Sn,$ZodCIDRv6:_n,$ZodCUID:pn, +$ZodCUID2:hn,$ZodCatch:Cr,$ZodCheck:$t,$ZodCheckBigIntFormat:Rt, +$ZodCheckEndsWith:Xt,$ZodCheckGreaterThan:Dt,$ZodCheckIncludes:qt, +$ZodCheckLengthEquals:Zt,$ZodCheckLessThan:It,$ZodCheckLowerCase:Qt, +$ZodCheckMaxLength:Ut,$ZodCheckMaxSize:Lt,$ZodCheckMimeType:Kt, +$ZodCheckMinLength:zt,$ZodCheckMinSize:Bt,$ZodCheckMultipleOf:Mt, +$ZodCheckNumberFormat:Nt,$ZodCheckOverwrite:Jt,$ZodCheckProperty:Yt, +$ZodCheckRegex:Ht,$ZodCheckSizeEquals:jt,$ZodCheckStartsWith:Wt, +$ZodCheckStringFormat:Ft,$ZodCheckUpperCase:Vt,$ZodCodec:Dr,$ZodCustom:Zr, +$ZodCustomStringFormat:Dn,$ZodDate:Vn,$ZodDefault:kr,$ZodDiscriminatedUnion:ar, +$ZodE164:$n,$ZodEmail:ln,$ZodEmoji:un,$ZodEncodeError:a,$ZodEnum:mr,$ZodError:J, +$ZodExactOptional:wr,$ZodFile:vr,$ZodFunction:jr,$ZodGUID:on,$ZodIPv4:wn, +$ZodIPv6:xn,$ZodISODate:bn,$ZodISODateTime:vn,$ZodISODuration:On,$ZodISOTime:yn, +$ZodIntersection:or,$ZodJWT:In,$ZodKSUID:gn,$ZodLazy:zr,$ZodLiteral:gr, +$ZodMAC:kn,$ZodMap:dr,$ZodNaN:$r,$ZodNanoID:dn,$ZodNever:Hn,$ZodNonOptional:Ar, +$ZodNull:zn,$ZodNullable:xr,$ZodNumber:Mn,$ZodNumberFormat:Nn,$ZodObject:Kn, +$ZodObjectJIT:Jn,$ZodOptional:Or,$ZodPipe:Pr,$ZodPrefault:_r,$ZodPromise:Ur, +$ZodReadonly:Rr,$ZodRealError:ee,$ZodRecord:ur,$ZodRegistry:Ga,$ZodSet:hr, +$ZodString:rn,$ZodStringFormat:an,$ZodSuccess:Er,$ZodSymbol:jn, +$ZodTemplateLiteral:Br,$ZodTransform:br,$ZodTuple:lr,$ZodType:nn,$ZodULID:fn, +$ZodURL:cn,$ZodUUID:sn,$ZodUndefined:Un,$ZodUnion:tr,$ZodUnknown:Fn,$ZodVoid:Qn, +$ZodXID:mn,$ZodXor:rr,$brand:n,$constructor:t,$input:Xa,$output:Wa,Doc:en, +JSONSchema:Ds,JSONSchemaGenerator:class{get metadataRegistry(){ +return this.ctx.metadataRegistry}get target(){return this.ctx.target} +get unrepresentable(){return this.ctx.unrepresentable}get override(){ +return this.ctx.override}get io(){return this.ctx.io}get counter(){ +return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){ +return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12" +;"draft-4"===t&&(t="draft-04"),"draft-7"===t&&(t="draft-07"),this.ctx=Bi({ +processors:Ps,target:t,...e?.metadata&&{metadata:e.metadata}, +...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{ +override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){ +return ji(e,this.ctx,t)}emit(e,t){ +t&&(t.cycles&&(this.ctx.cycles=t.cycles),t.reused&&(this.ctx.reused=t.reused), +t.external&&(this.ctx.external=t.external)),Ui(this.ctx,e) +;const n=zi(this.ctx,e),{"~standard":r,...a}=n;return a}},NEVER:e, +TimePrecision:_o,_any:Vo,_array:Ei,_base64:wo,_base64url:xo,_bigint:jo, +_boolean:Lo,_catch:function(e,t,n){return new e({type:"catch",innerType:t, +catchValue:"function"==typeof n?n:()=>n})},_check:Di,_cidrv4:yo,_cidrv6:Oo, +_coercedBigint:Uo,_coercedBoolean:Bo,_coercedDate:Yo,_coercedNumber:Po, +_coercedString:eo,_cuid:uo,_cuid2:po,_custom:$i,_date:Go,_decode:ge, +_decodeAsync:Oe,_default:function(e,t,n){return new e({type:"default", +innerType:t,get defaultValue(){return"function"==typeof n?n():S(n)}})}, +_discriminatedUnion:function(e,t,n,r){return new e({type:"union",options:n, +discriminator:t,...C(r)})},_e164:ko,_email:to,_emoji:lo,_encode:fe, +_encodeAsync:be,_endsWith:yi,_enum:function(e,t,n){return new e({type:"enum", +entries:Array.isArray(t)?Object.fromEntries(t.map((e=>[e,e]))):t,...C(n)})}, +_file:Ci,_float32:Do,_float64:Mo,_gt:ti,_gte:ni,_guid:no,_includes:vi,_int:Io, +_int32:No,_int64:zo,_intersection:function(e,t,n){return new e({ +type:"intersection",left:t,right:n})},_ipv4:go,_ipv6:vo,_isoDate:To, +_isoDateTime:Ao,_isoDuration:Co,_isoTime:Eo,_jwt:So,_ksuid:mo, +_lazy:function(e,t){return new e({type:"lazy",getter:t})},_length:hi, +_literal:function(e,t,n){return new e({type:"literal", +values:Array.isArray(t)?t:[t],...C(n)})},_lowercase:mi,_lt:Jo,_lte:ei,_mac:bo, +_map:function(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...C(r)}) +},_max:ei,_maxLength:di,_maxSize:li,_mime:wi,_min:ni,_minLength:pi,_minSize:ci, +_multipleOf:si,_nan:Ko,_nanoid:co,_nativeEnum:function(e,t,n){return new e({ +type:"enum",entries:t,...C(n)})},_negative:ai,_never:Wo,_nonnegative:ii, +_nonoptional:function(e,t,n){return new e({type:"nonoptional",innerType:t, +...C(n)})},_nonpositive:oi,_normalize:ki,_null:Qo,_nullable:function(e,t){ +return new e({type:"nullable",innerType:t})},_number:$o,_optional:function(e,t){ +return new e({type:"optional",innerType:t})},_overwrite:xi,_parse:ie, +_parseAsync:le,_pipe:function(e,t,n){return new e({type:"pipe",in:t,out:n})}, +_positive:ri,_promise:function(e,t){return new e({type:"promise",innerType:t})}, +_property:Oi,_readonly:function(e,t){return new e({type:"readonly",innerType:t}) +},_record:function(e,t,n,r){return new e({type:"record",keyType:t,valueType:n, +...C(r)})},_refine:Pi,_regex:fi,_safeDecode:Se,_safeDecodeAsync:Ee, +_safeEncode:xe,_safeEncodeAsync:Ae,_safeParse:ue,_safeParseAsync:pe, +_set:function(e,t,n){return new e({type:"set",valueType:t,...C(n)})},_size:ui, +_slugify:Ti,_startsWith:bi,_string:Ja,_stringFormat:Li,_stringbool:Ri, +_success:function(e,t){return new e({type:"success",innerType:t})}, +_superRefine:Ii,_symbol:Fo,_templateLiteral:function(e,t,n){return new e({ +type:"template_literal",parts:t,...C(n)})},_toLowerCase:_i,_toUpperCase:Ai, +_transform:function(e,t){return new e({type:"transform",transform:t})},_trim:Si, +_tuple:function(e,t,n,r){const a=n instanceof nn;return new e({type:"tuple", +items:t,rest:a?n:null,...C(a?r:n)})},_uint32:Ro,_uint64:Zo,_ulid:ho, +_undefined:Ho,_union:function(e,t,n){return new e({type:"union",options:t, +...C(n)})},_unknown:qo,_uppercase:gi,_url:so,_uuid:ro,_uuidv4:ao,_uuidv6:oo, +_uuidv7:io,_void:Xo,_xid:fo,_xor:function(e,t,n){return new e({type:"union", +options:t,inclusive:!1,...C(n)})},clone:E,config:i, +createStandardJSONSchemaMethod:Hi,createToJSONSchemaMethod:Fi,decode:ve, +decodeAsync:we,describe:Mi,encode:me,encodeAsync:ye,extractDefs:Ui,finalize:zi, +flattenError:te,formatError:ne,globalConfig:o,globalRegistry:Ka, +initializeContext:Bi,isValidBase64:An,isValidBase64URL:En,isValidJWT:Pn, +locales:Va,meta:Ni,parse:se,parseAsync:ce,prettifyError:oe,process:ji, +regexes:Ct,registry:Ya,safeDecode:_e,safeDecodeAsync:Ce,safeEncode:ke, +safeEncodeAsync:Te,safeParse:de,safeParseAsync:he,toDotPath:ae,toJSONSchema:Is, +treeifyError:re,util:Y,version:tn},Symbol.toStringTag,{value:"Module" +})),Ns=Object.freeze(Object.defineProperty({__proto__:null,endsWith:yi,gt:ti, +gte:ni,includes:vi,length:hi,lowercase:mi,lt:Jo,lte:ei,maxLength:di,maxSize:li, +mime:wi,minLength:pi,minSize:ci,multipleOf:si,negative:ai,nonnegative:ii, +nonpositive:oi,normalize:ki,overwrite:xi,positive:ri,property:Oi,regex:fi, +size:ui,slugify:Ti,startsWith:bi,toLowerCase:_i,toUpperCase:Ai,trim:Si, +uppercase:gi},Symbol.toStringTag,{value:"Module" +})),Rs=t("ZodISODateTime",((e,t)=>{vn.init(e,t),ul.init(e,t)}));function Ls(e){ +return Ao(Rs,e)}const Bs=t("ZodISODate",((e,t)=>{bn.init(e,t),ul.init(e,t)})) +;function js(e){return To(Bs,e)}const Us=t("ZodISOTime",((e,t)=>{ +yn.init(e,t),ul.init(e,t)}));function zs(e){return Eo(Us,e)} +const Zs=t("ZodISODuration",((e,t)=>{On.init(e,t),ul.init(e,t)})) +;function Fs(e){return Co(Zs,e)}const Hs=Object.freeze(Object.defineProperty({ +__proto__:null,ZodISODate:Bs,ZodISODateTime:Rs,ZodISODuration:Zs,ZodISOTime:Us, +date:js,datetime:Ls,duration:Fs,time:zs},Symbol.toStringTag,{value:"Module" +})),Qs=(e,t)=>{J.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{ +value:t=>ne(e,t)},flatten:{value:t=>te(e,t)},addIssue:{value:t=>{ +e.issues.push(t),e.message=JSON.stringify(e.issues,c,2)}},addIssues:{value:t=>{ +e.issues.push(...t),e.message=JSON.stringify(e.issues,c,2)}},isEmpty:{ +get:()=>0===e.issues.length}})},Vs=t("ZodError",Qs),qs=t("ZodError",Qs,{ +Parent:Error +}),Ws=ie(qs),Xs=le(qs),Gs=ue(qs),Ys=pe(qs),Ks=fe(qs),Js=ge(qs),el=be(qs),tl=Oe(qs),nl=xe(qs),rl=Se(qs),al=Ae(qs),ol=Ee(qs),il=t("ZodType",((e,t)=>(nn.init(e,t), +Object.assign(e["~standard"],{jsonSchema:{input:Hi(e,"input"), +output:Hi(e,"output")} +}),e.toJSONSchema=Fi(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{ +value:t}),e.check=(...n)=>e.clone(v(t,{ +checks:[...t.checks??[],...n.map((e=>"function"==typeof e?{_zod:{check:e,def:{ +check:"custom"},onattach:[]}}:e))]}),{parent:!0 +}),e.with=e.check,e.clone=(t,n)=>E(e,t,n), +e.brand=()=>e,e.register=(t,n)=>(t.add(e,n),e),e.parse=(t,n)=>Ws(e,t,n,{ +callee:e.parse +}),e.safeParse=(t,n)=>Gs(e,t,n),e.parseAsync=async(t,n)=>Xs(e,t,n,{ +callee:e.parseAsync +}),e.safeParseAsync=async(t,n)=>Ys(e,t,n),e.spa=e.safeParseAsync, +e.encode=(t,n)=>Ks(e,t,n), +e.decode=(t,n)=>Js(e,t,n),e.encodeAsync=async(t,n)=>el(e,t,n), +e.decodeAsync=async(t,n)=>tl(e,t,n), +e.safeEncode=(t,n)=>nl(e,t,n),e.safeDecode=(t,n)=>rl(e,t,n), +e.safeEncodeAsync=async(t,n)=>al(e,t,n),e.safeDecodeAsync=async(t,n)=>ol(e,t,n), +e.refine=(t,n)=>e.check(Ju(t,n)), +e.superRefine=t=>e.check(ed(t)),e.overwrite=t=>e.check(xi(t)), +e.optional=()=>bu(e), +e.exactOptional=()=>Ou(e),e.nullable=()=>xu(e),e.nullish=()=>bu(xu(e)), +e.nonoptional=t=>Cu(e,t), +e.array=()=>Bc(e),e.or=t=>Qc([e,t]),e.and=t=>Yc(e,t),e.transform=t=>Lu(e,gu(t)), +e.default=t=>_u(e,t),e.prefault=t=>Tu(e,t),e.catch=t=>Du(e,t),e.pipe=t=>Lu(e,t), +e.readonly=()=>zu(e),e.describe=t=>{const n=e.clone();return Ka.add(n,{ +description:t}),n},Object.defineProperty(e,"description",{ +get:()=>Ka.get(e)?.description,configurable:!0}),e.meta=(...t)=>{ +if(0===t.length)return Ka.get(e);const n=e.clone();return Ka.add(n,t[0]),n +},e.isOptional=()=>e.safeParse(void 0).success, +e.isNullable=()=>e.safeParse(null).success, +e.apply=t=>t(e),e))),sl=t("_ZodString",((e,t)=>{ +rn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vi(e,t,n) +;const n=e._zod.bag +;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null, +e.regex=(...t)=>e.check(fi(...t)), +e.includes=(...t)=>e.check(vi(...t)),e.startsWith=(...t)=>e.check(bi(...t)), +e.endsWith=(...t)=>e.check(yi(...t)), +e.min=(...t)=>e.check(pi(...t)),e.max=(...t)=>e.check(di(...t)), +e.length=(...t)=>e.check(hi(...t)), +e.nonempty=(...t)=>e.check(pi(1,...t)),e.lowercase=t=>e.check(mi(t)), +e.uppercase=t=>e.check(gi(t)), +e.trim=()=>e.check(Si()),e.normalize=(...t)=>e.check(ki(...t)), +e.toLowerCase=()=>e.check(_i()), +e.toUpperCase=()=>e.check(Ai()),e.slugify=()=>e.check(Ti()) +})),ll=t("ZodString",((e,t)=>{ +rn.init(e,t),sl.init(e,t),e.email=t=>e.check(to(dl,t)), +e.url=t=>e.check(so(Ol,t)), +e.jwt=t=>e.check(So(Jl,t)),e.emoji=t=>e.check(lo(kl,t)), +e.guid=t=>e.check(no(hl,t)), +e.uuid=t=>e.check(ro(ml,t)),e.uuidv4=t=>e.check(ao(ml,t)), +e.uuidv6=t=>e.check(oo(ml,t)), +e.uuidv7=t=>e.check(io(ml,t)),e.nanoid=t=>e.check(co(_l,t)), +e.guid=t=>e.check(no(hl,t)), +e.cuid=t=>e.check(uo(Tl,t)),e.cuid2=t=>e.check(po(Cl,t)), +e.ulid=t=>e.check(ho(Pl,t)), +e.base64=t=>e.check(wo(ql,t)),e.base64url=t=>e.check(xo(Xl,t)), +e.xid=t=>e.check(fo(Dl,t)), +e.ksuid=t=>e.check(mo(Nl,t)),e.ipv4=t=>e.check(go(Ll,t)), +e.ipv6=t=>e.check(vo(zl,t)), +e.cidrv4=t=>e.check(yo(Fl,t)),e.cidrv6=t=>e.check(Oo(Ql,t)), +e.e164=t=>e.check(ko(Yl,t)), +e.datetime=t=>e.check(Ls(t)),e.date=t=>e.check(js(t)), +e.time=t=>e.check(zs(t)),e.duration=t=>e.check(Fs(t))}));function cl(e){ +return Ja(ll,e)}const ul=t("ZodStringFormat",((e,t)=>{an.init(e,t),sl.init(e,t) +})),dl=t("ZodEmail",((e,t)=>{ln.init(e,t),ul.init(e,t)}));function pl(e){ +return to(dl,e)}const hl=t("ZodGUID",((e,t)=>{on.init(e,t),ul.init(e,t)})) +;function fl(e){return no(hl,e)}const ml=t("ZodUUID",((e,t)=>{ +sn.init(e,t),ul.init(e,t)}));function gl(e){return ro(ml,e)}function vl(e){ +return ao(ml,e)}function bl(e){return oo(ml,e)}function yl(e){return io(ml,e)} +const Ol=t("ZodURL",((e,t)=>{cn.init(e,t),ul.init(e,t)}));function wl(e){ +return so(Ol,e)}function xl(e){return so(Ol,{protocol:/^https?$/,hostname:et, +...C(e)})}const kl=t("ZodEmoji",((e,t)=>{un.init(e,t),ul.init(e,t)})) +;function Sl(e){return lo(kl,e)}const _l=t("ZodNanoID",((e,t)=>{ +dn.init(e,t),ul.init(e,t)}));function Al(e){return co(_l,e)} +const Tl=t("ZodCUID",((e,t)=>{pn.init(e,t),ul.init(e,t)}));function El(e){ +return uo(Tl,e)}const Cl=t("ZodCUID2",((e,t)=>{hn.init(e,t),ul.init(e,t)})) +;function $l(e){return po(Cl,e)}const Pl=t("ZodULID",((e,t)=>{ +fn.init(e,t),ul.init(e,t)}));function Il(e){return ho(Pl,e)} +const Dl=t("ZodXID",((e,t)=>{mn.init(e,t),ul.init(e,t)}));function Ml(e){ +return fo(Dl,e)}const Nl=t("ZodKSUID",((e,t)=>{gn.init(e,t),ul.init(e,t)})) +;function Rl(e){return mo(Nl,e)}const Ll=t("ZodIPv4",((e,t)=>{ +wn.init(e,t),ul.init(e,t)}));function Bl(e){return go(Ll,e)} +const jl=t("ZodMAC",((e,t)=>{kn.init(e,t),ul.init(e,t)}));function Ul(e){ +return bo(jl,e)}const zl=t("ZodIPv6",((e,t)=>{xn.init(e,t),ul.init(e,t)})) +;function Zl(e){return vo(zl,e)}const Fl=t("ZodCIDRv4",((e,t)=>{ +Sn.init(e,t),ul.init(e,t)}));function Hl(e){return yo(Fl,e)} +const Ql=t("ZodCIDRv6",((e,t)=>{_n.init(e,t),ul.init(e,t)}));function Vl(e){ +return Oo(Ql,e)}const ql=t("ZodBase64",((e,t)=>{Tn.init(e,t),ul.init(e,t)})) +;function Wl(e){return wo(ql,e)}const Xl=t("ZodBase64URL",((e,t)=>{Cn.init(e,t), +ul.init(e,t)}));function Gl(e){return xo(Xl,e)}const Yl=t("ZodE164",((e,t)=>{ +$n.init(e,t),ul.init(e,t)}));function Kl(e){return ko(Yl,e)} +const Jl=t("ZodJWT",((e,t)=>{In.init(e,t),ul.init(e,t)}));function ec(e){ +return So(Jl,e)}const tc=t("ZodCustomStringFormat",((e,t)=>{ +Dn.init(e,t),ul.init(e,t)}));function nc(e,t,n={}){return Li(tc,e,t,n)} +function rc(e){return Li(tc,"hostname",Je,e)}function ac(e){ +return Li(tc,"hex",gt,e)}function oc(e,t){ +const n=`${e}_${t?.enc??"hex"}`,r=Ct[n] +;if(!r)throw new Error(`Unrecognized hash format: ${n}`);return Li(tc,n,r,t)} +const ic=t("ZodNumber",((e,t)=>{ +Mn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qi(e,t,n), +e.gt=(t,n)=>e.check(ti(t,n)), +e.gte=(t,n)=>e.check(ni(t,n)),e.min=(t,n)=>e.check(ni(t,n)), +e.lt=(t,n)=>e.check(Jo(t,n)), +e.lte=(t,n)=>e.check(ei(t,n)),e.max=(t,n)=>e.check(ei(t,n)), +e.int=t=>e.check(cc(t)),e.safe=t=>e.check(cc(t)),e.positive=t=>e.check(ti(0,t)), +e.nonnegative=t=>e.check(ni(0,t)), +e.negative=t=>e.check(Jo(0,t)),e.nonpositive=t=>e.check(ei(0,t)), +e.multipleOf=(t,n)=>e.check(si(t,n)), +e.step=(t,n)=>e.check(si(t,n)),e.finite=()=>e;const n=e._zod.bag +;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null, +e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null, +e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5), +e.isFinite=!0,e.format=n.format??null}));function sc(e){return $o(ic,e)} +const lc=t("ZodNumberFormat",((e,t)=>{Nn.init(e,t),ic.init(e,t)})) +;function cc(e){return Io(lc,e)}function uc(e){return Do(lc,e)}function dc(e){ +return Mo(lc,e)}function pc(e){return No(lc,e)}function hc(e){return Ro(lc,e)} +const fc=t("ZodBoolean",((e,t)=>{ +Rn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>Wi(0,0,t)})) +;function mc(e){return Lo(fc,e)}const gc=t("ZodBigInt",((e,t)=>{ +Ln.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(e,t,n)=>Xi(0,e),e.gte=(t,n)=>e.check(ni(t,n)), +e.min=(t,n)=>e.check(ni(t,n)), +e.gt=(t,n)=>e.check(ti(t,n)),e.gte=(t,n)=>e.check(ni(t,n)), +e.min=(t,n)=>e.check(ni(t,n)), +e.lt=(t,n)=>e.check(Jo(t,n)),e.lte=(t,n)=>e.check(ei(t,n)), +e.max=(t,n)=>e.check(ei(t,n)), +e.positive=t=>e.check(ti(BigInt(0),t)),e.negative=t=>e.check(Jo(BigInt(0),t)), +e.nonpositive=t=>e.check(ei(BigInt(0),t)), +e.nonnegative=t=>e.check(ni(BigInt(0),t)),e.multipleOf=(t,n)=>e.check(si(t,n)) +;const n=e._zod.bag +;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null +}));function vc(e){return jo(gc,e)}const bc=t("ZodBigIntFormat",((e,t)=>{ +Bn.init(e,t),gc.init(e,t)}));function yc(e){return zo(bc,e)}function Oc(e){ +return Zo(bc,e)}const wc=t("ZodSymbol",((e,t)=>{ +jn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>Gi(0,e)})) +;function xc(e){return Fo(wc,e)}const kc=t("ZodUndefined",((e,t)=>{Un.init(e,t), +il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>Ki(0,e)}));function Sc(e){ +return Ho(kc,e)}const _c=t("ZodNull",((e,t)=>{ +zn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>Yi(0,e,t)})) +;function Ac(e){return Qo(_c,e)}const Tc=t("ZodAny",((e,t)=>{ +Zn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}}));function Ec(){ +return Vo(Tc)}const Cc=t("ZodUnknown",((e,t)=>{ +Fn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>{}}));function $c(){ +return qo(Cc)}const Pc=t("ZodNever",((e,t)=>{ +Hn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>es(0,0,t)})) +;function Ic(e){return Wo(Pc,e)}const Dc=t("ZodVoid",((e,t)=>{ +Qn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>Ji(0,e)})) +;function Mc(e){return Xo(Dc,e)}const Nc=t("ZodDate",((e,t)=>{ +Vn.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(e,t,n)=>rs(0,e),e.min=(t,n)=>e.check(ni(t,n)), +e.max=(t,n)=>e.check(ei(t,n));const n=e._zod.bag +;e.minDate=n.minimum?new Date(n.minimum):null, +e.maxDate=n.maximum?new Date(n.maximum):null}));function Rc(e){return Go(Nc,e)} +const Lc=t("ZodArray",((e,t)=>{ +Wn.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ms(e,t,n,r), +e.element=t.element, +e.min=(t,n)=>e.check(pi(t,n)),e.nonempty=t=>e.check(pi(1,t)), +e.max=(t,n)=>e.check(di(t,n)), +e.length=(t,n)=>e.check(hi(t,n)),e.unwrap=()=>e.element}));function Bc(e,t){ +return Ei(Lc,e,t)}function jc(e){const t=e._zod.def.shape +;return cu(Object.keys(t))}const Uc=t("ZodObject",((e,t)=>{ +Jn.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(t,n,r)=>gs(e,t,n,r),m(e,"shape",(()=>t.shape)), +e.keyof=()=>cu(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({ +...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def, +catchall:$c()}),e.loose=()=>e.clone({...e._zod.def,catchall:$c() +}),e.strict=()=>e.clone({...e._zod.def,catchall:Ic()}),e.strip=()=>e.clone({ +...e._zod.def,catchall:void 0 +}),e.extend=t=>R(e,t),e.safeExtend=t=>L(e,t),e.merge=t=>B(e,t),e.pick=t=>M(e,t), +e.omit=t=>N(e,t),e.partial=(...t)=>j(vu,e,t[0]),e.required=(...t)=>U(Eu,e,t[0]) +}));function zc(e,t){const n={type:"object",shape:e??{},...C(t)} +;return new Uc(n)}function Zc(e,t){return new Uc({type:"object",shape:e, +catchall:Ic(),...C(t)})}function Fc(e,t){return new Uc({type:"object",shape:e, +catchall:$c(),...C(t)})}const Hc=t("ZodUnion",((e,t)=>{ +tr.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),e.options=t.options})) +;function Qc(e,t){return new Hc({type:"union",options:e,...C(t)})} +const Vc=t("ZodXor",((e,t)=>{ +Hc.init(e,t),rr.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r), +e.options=t.options}));function qc(e,t){return new Vc({type:"union",options:e, +inclusive:!1,...C(t)})}const Wc=t("ZodDiscriminatedUnion",((e,t)=>{Hc.init(e,t), +ar.init(e,t)}));function Xc(e,t,n){return new Wc({type:"union",options:t, +discriminator:e,...C(n)})}const Gc=t("ZodIntersection",((e,t)=>{ +or.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)})) +;function Yc(e,t){return new Gc({type:"intersection",left:e,right:t})} +const Kc=t("ZodTuple",((e,t)=>{ +lr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r), +e.rest=t=>e.clone({...e._zod.def,rest:t})}));function Jc(e,t,n){ +const r=t instanceof nn;return new Kc({type:"tuple",items:e,rest:r?t:null, +...C(r?n:t)})}const eu=t("ZodRecord",((e,t)=>{ +ur.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r), +e.keyType=t.keyType,e.valueType=t.valueType}));function tu(e,t,n){ +return new eu({type:"record",keyType:e,valueType:t,...C(n)})}function nu(e,t,n){ +const r=E(e);return r._zod.values=void 0,new eu({type:"record",keyType:r, +valueType:t,...C(n)})}function ru(e,t,n){return new eu({type:"record",keyType:e, +valueType:t,mode:"loose",...C(n)})}const au=t("ZodMap",((e,t)=>{ +dr.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(e,t,n)=>hs(0,e),e.keyType=t.keyType, +e.valueType=t.valueType, +e.min=(...t)=>e.check(ci(...t)),e.nonempty=t=>e.check(ci(1,t)), +e.max=(...t)=>e.check(li(...t)),e.size=(...t)=>e.check(ui(...t))})) +;function ou(e,t,n){return new au({type:"map",keyType:e,valueType:t,...C(n)})} +const iu=t("ZodSet",((e,t)=>{ +hr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>fs(0,e), +e.min=(...t)=>e.check(ci(...t)), +e.nonempty=t=>e.check(ci(1,t)),e.max=(...t)=>e.check(li(...t)), +e.size=(...t)=>e.check(ui(...t))}));function su(e,t){return new iu({type:"set", +valueType:e,...C(t)})}const lu=t("ZodEnum",((e,t)=>{ +mr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>as(e,0,n), +e.enum=t.entries,e.options=Object.values(t.entries) +;const n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{const a={} +;for(const o of e){if(!n.has(o))throw new Error(`Key ${o} not found in enum`) +;a[o]=t.entries[o]}return new lu({...t,checks:[],...C(r),entries:a}) +},e.exclude=(e,r)=>{const a={...t.entries};for(const t of e){ +if(!n.has(t))throw new Error(`Key ${t} not found in enum`);delete a[t]} +return new lu({...t,checks:[],...C(r),entries:a})}}));function cu(e,t){ +const n=Array.isArray(e)?Object.fromEntries(e.map((e=>[e,e]))):e;return new lu({ +type:"enum",entries:n,...C(t)})}function uu(e,t){return new lu({type:"enum", +entries:e,...C(t)})}const du=t("ZodLiteral",((e,t)=>{ +gr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>os(e,t,n), +e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){ +if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.") +;return t.values[0]}})}));function pu(e,t){return new du({type:"literal", +values:Array.isArray(e)?e:[e],...C(t)})}const hu=t("ZodFile",((e,t)=>{ +vr.init(e,t), +il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ls(e,0,n),e.min=(t,n)=>e.check(ci(t,n)), +e.max=(t,n)=>e.check(li(t,n)), +e.mime=(t,n)=>e.check(wi(Array.isArray(t)?t:[t],n))}));function fu(e){ +return Ci(hu,e)}const mu=t("ZodTransform",((e,t)=>{ +br.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>ps(0,e), +e._zod.parse=(n,r)=>{if("backward"===r.direction)throw new a(e.constructor.name) +;n.addIssue=r=>{if("string"==typeof r)n.issues.push(W(r,n.value,t));else{ +const t=r +;t.fatal&&(t.continue=!1),t.code??(t.code="custom"),t.input??(t.input=n.value), +t.inst??(t.inst=e),n.issues.push(W(t))}};const o=t.transform(n.value,n) +;return o instanceof Promise?o.then((e=>(n.value=e,n))):(n.value=o,n)}})) +;function gu(e){return new mu({type:"transform",transform:e})} +const vu=t("ZodOptional",((e,t)=>{ +Or.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,0,r), +e.unwrap=()=>e._zod.def.innerType}));function bu(e){return new vu({ +type:"optional",innerType:e})}const yu=t("ZodExactOptional",((e,t)=>{ +wr.init(e,t), +il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,0,r),e.unwrap=()=>e._zod.def.innerType +}));function Ou(e){return new yu({type:"optional",innerType:e})} +const wu=t("ZodNullable",((e,t)=>{ +xr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r), +e.unwrap=()=>e._zod.def.innerType}));function xu(e){return new wu({ +type:"nullable",innerType:e})}function ku(e){return bu(xu(e))} +const Su=t("ZodDefault",((e,t)=>{ +kr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r), +e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap}));function _u(e,t){ +return new Su({type:"default",innerType:e,get defaultValue(){ +return"function"==typeof t?t():S(t)}})}const Au=t("ZodPrefault",((e,t)=>{ +_r.init(e,t), +il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ss(e,t,n,r),e.unwrap=()=>e._zod.def.innerType +}));function Tu(e,t){return new Au({type:"prefault",innerType:e, +get defaultValue(){return"function"==typeof t?t():S(t)}})} +const Eu=t("ZodNonOptional",((e,t)=>{ +Ar.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(e,t,0,r), +e.unwrap=()=>e._zod.def.innerType}));function Cu(e,t){return new Eu({ +type:"nonoptional",innerType:e,...C(t)})}const $u=t("ZodSuccess",((e,t)=>{ +Er.init(e,t), +il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>cs(0,0,t),e.unwrap=()=>e._zod.def.innerType +}));function Pu(e){return new $u({type:"success",innerType:e})} +const Iu=t("ZodCatch",((e,t)=>{ +Cr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r), +e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap}));function Du(e,t){ +return new Iu({type:"catch",innerType:e,catchValue:"function"==typeof t?t:()=>t +})}const Mu=t("ZodNaN",((e,t)=>{ +$r.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>is(0,e)})) +;function Nu(e){return Ko(Mu,e)}const Ru=t("ZodPipe",((e,t)=>{ +Pr.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(t,n,r)=>As(e,t,0,r),e.in=t.in,e.out=t.out})) +;function Lu(e,t){return new Ru({type:"pipe",in:e,out:t})} +const Bu=t("ZodCodec",((e,t)=>{Ru.init(e,t),Dr.init(e,t)}));function ju(e,t,n){ +return new Bu({type:"pipe",in:e,out:t,transform:n.decode, +reverseTransform:n.encode})}const Uu=t("ZodReadonly",((e,t)=>{ +Rr.init(e,t),il.init(e,t), +e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e.unwrap=()=>e._zod.def.innerType +}));function zu(e){return new Uu({type:"readonly",innerType:e})} +const Zu=t("ZodTemplateLiteral",((e,t)=>{ +Br.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ss(e,0,n)})) +;function Fu(e,t){return new Zu({type:"template_literal",parts:e,...C(t)})} +const Hu=t("ZodLazy",((e,t)=>{ +zr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$s(e,t,0,r), +e.unwrap=()=>e._zod.def.getter()}));function Qu(e){return new Hu({type:"lazy", +getter:e})}const Vu=t("ZodPromise",((e,t)=>{ +Ur.init(e,t),il.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,0,r), +e.unwrap=()=>e._zod.def.innerType}));function qu(e){return new Vu({ +type:"promise",innerType:e})}const Wu=t("ZodFunction",((e,t)=>{ +jr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>ds(0,e)})) +;function Xu(e){return new Wu({type:"function", +input:Array.isArray(e?.input)?Jc(e?.input):e?.input??Bc($c()), +output:e?.output??$c()})}const Gu=t("ZodCustom",((e,t)=>{ +Zr.init(e,t),il.init(e,t),e._zod.processJSONSchema=(e,t,n)=>us(0,e)})) +;function Yu(e){const t=new $t({check:"custom"});return t._zod.check=e,t} +function Ku(e,t){return $i(Gu,e??(()=>!0),t)}function Ju(e,t={}){ +return Pi(Gu,e,t)}function ed(e){return Ii(e)}const td=Mi,nd=Ni +;function rd(e,t={}){const n=new Gu({type:"custom",check:"custom", +fn:t=>t instanceof e,abort:!0,...C(t)}) +;return n._zod.bag.Class=e,n._zod.check=t=>{ +t.value instanceof e||t.issues.push({code:"invalid_type",expected:e.name, +input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}const ad=(...e)=>Ri({ +Codec:Bu,Boolean:fc,String:ll},...e);function od(e){ +const t=Qu((()=>Qc([cl(e),sc(),mc(),Ac(),Bc(t),tu(cl(),t)])));return t} +function id(e,t){return Lu(gu(e),t)} +const sd=Object.freeze(Object.defineProperty({__proto__:null,ZodAny:Tc, +ZodArray:Lc,ZodBase64:ql,ZodBase64URL:Xl,ZodBigInt:gc,ZodBigIntFormat:bc, +ZodBoolean:fc,ZodCIDRv4:Fl,ZodCIDRv6:Ql,ZodCUID:Tl,ZodCUID2:Cl,ZodCatch:Iu, +ZodCodec:Bu,ZodCustom:Gu,ZodCustomStringFormat:tc,ZodDate:Nc,ZodDefault:Su, +ZodDiscriminatedUnion:Wc,ZodE164:Yl,ZodEmail:dl,ZodEmoji:kl,ZodEnum:lu, +ZodExactOptional:yu,ZodFile:hu,ZodFunction:Wu,ZodGUID:hl,ZodIPv4:Ll,ZodIPv6:zl, +ZodIntersection:Gc,ZodJWT:Jl,ZodKSUID:Nl,ZodLazy:Hu,ZodLiteral:du,ZodMAC:jl, +ZodMap:au,ZodNaN:Mu,ZodNanoID:_l,ZodNever:Pc,ZodNonOptional:Eu,ZodNull:_c, +ZodNullable:wu,ZodNumber:ic,ZodNumberFormat:lc,ZodObject:Uc,ZodOptional:vu, +ZodPipe:Ru,ZodPrefault:Au,ZodPromise:Vu,ZodReadonly:Uu,ZodRecord:eu,ZodSet:iu, +ZodString:ll,ZodStringFormat:ul,ZodSuccess:$u,ZodSymbol:wc, +ZodTemplateLiteral:Zu,ZodTransform:mu,ZodTuple:Kc,ZodType:il,ZodULID:Pl, +ZodURL:Ol,ZodUUID:ml,ZodUndefined:kc,ZodUnion:Hc,ZodUnknown:Cc,ZodVoid:Dc, +ZodXID:Dl,ZodXor:Vc,_ZodString:sl,_default:_u,_function:Xu,any:Ec,array:Bc, +base64:Wl,base64url:Gl,bigint:vc,boolean:mc,catch:Du,check:Yu,cidrv4:Hl, +cidrv6:Vl,codec:ju,cuid:El,cuid2:$l,custom:Ku,date:Rc,describe:td, +discriminatedUnion:Xc,e164:Kl,email:pl,emoji:Sl,enum:cu,exactOptional:Ou, +file:fu,float32:uc,float64:dc,function:Xu,guid:fl,hash:oc,hex:ac,hostname:rc, +httpUrl:xl,instanceof:rd,int:cc,int32:pc,int64:yc,intersection:Yc,ipv4:Bl, +ipv6:Zl,json:od,jwt:ec,keyof:jc,ksuid:Rl,lazy:Qu,literal:pu,looseObject:Fc, +looseRecord:ru,mac:Ul,map:ou,meta:nd,nan:Nu,nanoid:Al,nativeEnum:uu,never:Ic, +nonoptional:Cu,null:Ac,nullable:xu,nullish:ku,number:sc,object:zc,optional:bu, +partialRecord:nu,pipe:Lu,prefault:Tu,preprocess:id,promise:qu,readonly:zu, +record:tu,refine:Ju,set:su,strictObject:Zc,string:cl,stringFormat:nc, +stringbool:ad,success:Pu,superRefine:ed,symbol:xc,templateLiteral:Fu, +transform:gu,tuple:Jc,uint32:hc,uint64:Oc,ulid:Il,undefined:Sc,union:Qc, +unknown:$c,url:wl,uuid:gl,uuidv4:vl,uuidv6:bl,uuidv7:yl,void:Mc,xid:Ml,xor:qc +},Symbol.toStringTag,{value:"Module"}));var ld;ld||(ld={});const cd={...sd, +...Ns,iso:Hs +},ud=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]) +;function dd(e,t){if(void 0!==e.not){ +if("object"==typeof e.not&&0===Object.keys(e.not).length)return cd.never() +;throw new Error("not is not supported in Zod (except { not: {} } for never)")} +if(void 0!==e.unevaluatedItems)throw new Error("unevaluatedItems is not supported") +;if(void 0!==e.unevaluatedProperties)throw new Error("unevaluatedProperties is not supported") +;if(void 0!==e.if||void 0!==e.then||void 0!==e.else)throw new Error("Conditional schemas (if/then/else) are not supported") +;if(void 0!==e.dependentSchemas||void 0!==e.dependentRequired)throw new Error("dependentSchemas and dependentRequired are not supported") +;if(e.$ref){const n=e.$ref;if(t.refs.has(n))return t.refs.get(n) +;if(t.processing.has(n))return cd.lazy((()=>{ +if(!t.refs.has(n))throw new Error(`Circular reference not resolved: ${n}`) +;return t.refs.get(n)}));t.processing.add(n);const r=function(e,t){ +if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed") +;const n=e.slice(1).split("/").filter(Boolean) +;if(0===n.length)return t.rootSchema +;const r="draft-2020-12"===t.version?"$defs":"definitions";if(n[0]===r){ +const r=n[1];if(!r||!t.defs[r])throw new Error(`Reference not found: ${e}`) +;return t.defs[r]}throw new Error(`Reference not found: ${e}`)}(n,t),a=pd(r,t) +;return t.refs.set(n,a),t.processing.delete(n),a}if(void 0!==e.enum){ +const n=e.enum +;if("openapi-3.0"===t.version&&!0===e.nullable&&1===n.length&&null===n[0])return cd.null() +;if(0===n.length)return cd.never();if(1===n.length)return cd.literal(n[0]) +;if(n.every((e=>"string"==typeof e)))return cd.enum(n) +;const r=n.map((e=>cd.literal(e))) +;return r.length<2?r[0]:cd.union([r[0],r[1],...r.slice(2)])} +if(void 0!==e.const)return cd.literal(e.const);const n=e.type +;if(Array.isArray(n)){const r=n.map((n=>dd({...e,type:n},t))) +;return 0===r.length?cd.never():1===r.length?r[0]:cd.union(r)} +if(!n)return cd.any();let r;switch(n){case"string":{let t=cd.string() +;if(e.format){const n=e.format +;"email"===n?t=t.check(cd.email()):"uri"===n||"uri-reference"===n?t=t.check(cd.url()):"uuid"===n||"guid"===n?t=t.check(cd.uuid()):"date-time"===n?t=t.check(cd.iso.datetime()):"date"===n?t=t.check(cd.iso.date()):"time"===n?t=t.check(cd.iso.time()):"duration"===n?t=t.check(cd.iso.duration()):"ipv4"===n?t=t.check(cd.ipv4()):"ipv6"===n?t=t.check(cd.ipv6()):"mac"===n?t=t.check(cd.mac()):"cidr"===n?t=t.check(cd.cidrv4()):"cidr-v6"===n?t=t.check(cd.cidrv6()):"base64"===n?t=t.check(cd.base64()):"base64url"===n?t=t.check(cd.base64url()):"e164"===n?t=t.check(cd.e164()):"jwt"===n?t=t.check(cd.jwt()):"emoji"===n?t=t.check(cd.emoji()):"nanoid"===n?t=t.check(cd.nanoid()):"cuid"===n?t=t.check(cd.cuid()):"cuid2"===n?t=t.check(cd.cuid2()):"ulid"===n?t=t.check(cd.ulid()):"xid"===n?t=t.check(cd.xid()):"ksuid"===n&&(t=t.check(cd.ksuid())) +} +"number"==typeof e.minLength&&(t=t.min(e.minLength)),"number"==typeof e.maxLength&&(t=t.max(e.maxLength)), +e.pattern&&(t=t.regex(new RegExp(e.pattern))),r=t;break}case"number": +case"integer":{let t="integer"===n?cd.number().int():cd.number() +;"number"==typeof e.minimum&&(t=t.min(e.minimum)), +"number"==typeof e.maximum&&(t=t.max(e.maximum)), +"number"==typeof e.exclusiveMinimum?t=t.gt(e.exclusiveMinimum):!0===e.exclusiveMinimum&&"number"==typeof e.minimum&&(t=t.gt(e.minimum)), +"number"==typeof e.exclusiveMaximum?t=t.lt(e.exclusiveMaximum):!0===e.exclusiveMaximum&&"number"==typeof e.maximum&&(t=t.lt(e.maximum)), +"number"==typeof e.multipleOf&&(t=t.multipleOf(e.multipleOf)),r=t;break} +case"boolean":r=cd.boolean();break;case"null":r=cd.null();break;case"object":{ +const n={},a=e.properties||{},o=new Set(e.required||[]) +;for(const[e,r]of Object.entries(a)){const a=pd(r,t) +;n[e]=o.has(e)?a:a.optional()}if(e.propertyNames){ +const a=pd(e.propertyNames,t),o=e.additionalProperties&&"object"==typeof e.additionalProperties?pd(e.additionalProperties,t):cd.any() +;if(0===Object.keys(n).length){r=cd.record(a,o);break} +const i=cd.object(n).passthrough(),s=cd.looseRecord(a,o);r=cd.intersection(i,s) +;break}if(e.patternProperties){const a=e.patternProperties,o=Object.keys(a),i=[] +;for(const e of o){const n=pd(a[e],t),r=cd.string().regex(new RegExp(e)) +;i.push(cd.looseRecord(r,n))}const s=[] +;if(Object.keys(n).length>0&&s.push(cd.object(n).passthrough()), +s.push(...i),0===s.length)r=cd.object({}).passthrough();else if(1===s.length)r=s[0];else{ +let e=cd.intersection(s[0],s[1]) +;for(let t=2;tpd(e,t))),i=a&&"object"==typeof a&&!Array.isArray(a)?pd(a,t):void 0 +;r=i?cd.tuple(o).rest(i):cd.tuple(o), +"number"==typeof e.minItems&&(r=r.check(cd.minLength(e.minItems))), +"number"==typeof e.maxItems&&(r=r.check(cd.maxLength(e.maxItems))) +}else if(Array.isArray(a)){ +const n=a.map((e=>pd(e,t))),o=e.additionalItems&&"object"==typeof e.additionalItems?pd(e.additionalItems,t):void 0 +;r=o?cd.tuple(n).rest(o):cd.tuple(n), +"number"==typeof e.minItems&&(r=r.check(cd.minLength(e.minItems))), +"number"==typeof e.maxItems&&(r=r.check(cd.maxLength(e.maxItems))) +}else if(void 0!==a){const n=pd(a,t);let o=cd.array(n) +;"number"==typeof e.minItems&&(o=o.min(e.minItems)), +"number"==typeof e.maxItems&&(o=o.max(e.maxItems)),r=o}else r=cd.array(cd.any()) +;break}default:throw new Error(`Unsupported type: ${n}`)} +return e.description&&(r=r.describe(e.description)), +void 0!==e.default&&(r=r.default(e.default)),r}function pd(e,t){ +if("boolean"==typeof e)return e?cd.any():cd.never();let n=dd(e,t) +;const r=e.type||void 0!==e.enum||void 0!==e.const +;if(e.anyOf&&Array.isArray(e.anyOf)){ +const a=e.anyOf.map((e=>pd(e,t))),o=cd.union(a);n=r?cd.intersection(n,o):o} +if(e.oneOf&&Array.isArray(e.oneOf)){ +const a=e.oneOf.map((e=>pd(e,t))),o=cd.xor(a);n=r?cd.intersection(n,o):o} +if(e.allOf&&Array.isArray(e.allOf))if(0===e.allOf.length)n=r?n:cd.any();else{ +let a=r?n:pd(e.allOf[0],t) +;for(let n=r?0:1;n0&&t.registry.add(n,a),n}function hd(e){ +return eo(ll,e)}const fd=Object.freeze(Object.defineProperty({__proto__:null, +bigint:function(e){return Uo(gc,e)},boolean:function(e){return Bo(fc,e)}, +date:function(e){return Yo(Nc,e)},number:function(e){return Po(ic,e)},string:hd +},Symbol.toStringTag,{value:"Module"}));i(ea()) +;const md=Object.freeze(Object.defineProperty({__proto__:null,$brand:n, +$input:Xa,$output:Wa,NEVER:e,TimePrecision:_o,ZodAny:Tc,ZodArray:Lc, +ZodBase64:ql,ZodBase64URL:Xl,ZodBigInt:gc,ZodBigIntFormat:bc,ZodBoolean:fc, +ZodCIDRv4:Fl,ZodCIDRv6:Ql,ZodCUID:Tl,ZodCUID2:Cl,ZodCatch:Iu,ZodCodec:Bu, +ZodCustom:Gu,ZodCustomStringFormat:tc,ZodDate:Nc,ZodDefault:Su, +ZodDiscriminatedUnion:Wc,ZodE164:Yl,ZodEmail:dl,ZodEmoji:kl,ZodEnum:lu, +ZodError:Vs,ZodExactOptional:yu,ZodFile:hu,get ZodFirstPartyTypeKind(){return ld +},ZodFunction:Wu,ZodGUID:hl,ZodIPv4:Ll,ZodIPv6:zl,ZodISODate:Bs, +ZodISODateTime:Rs,ZodISODuration:Zs,ZodISOTime:Us,ZodIntersection:Gc, +ZodIssueCode:{invalid_type:"invalid_type",too_big:"too_big", +too_small:"too_small",invalid_format:"invalid_format", +not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys", +invalid_union:"invalid_union",invalid_key:"invalid_key", +invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom" +},ZodJWT:Jl,ZodKSUID:Nl,ZodLazy:Hu,ZodLiteral:du,ZodMAC:jl,ZodMap:au,ZodNaN:Mu, +ZodNanoID:_l,ZodNever:Pc,ZodNonOptional:Eu,ZodNull:_c,ZodNullable:wu, +ZodNumber:ic,ZodNumberFormat:lc,ZodObject:Uc,ZodOptional:vu,ZodPipe:Ru, +ZodPrefault:Au,ZodPromise:Vu,ZodReadonly:Uu,ZodRealError:qs,ZodRecord:eu, +ZodSet:iu,ZodString:ll,ZodStringFormat:ul,ZodSuccess:$u,ZodSymbol:wc, +ZodTemplateLiteral:Zu,ZodTransform:mu,ZodTuple:Kc,ZodType:il,ZodULID:Pl, +ZodURL:Ol,ZodUUID:ml,ZodUndefined:kc,ZodUnion:Hc,ZodUnknown:Cc,ZodVoid:Dc, +ZodXID:Dl,ZodXor:Vc,_ZodString:sl,_default:_u,_function:Xu,any:Ec,array:Bc, +base64:Wl,base64url:Gl,bigint:vc,boolean:mc,catch:Du,check:Yu,cidrv4:Hl, +cidrv6:Vl,clone:E,codec:ju,coerce:fd,config:i,core:Ms,cuid:El,cuid2:$l, +custom:Ku,date:Rc,decode:Js,decodeAsync:tl,describe:td,discriminatedUnion:Xc, +e164:Kl,email:pl,emoji:Sl,encode:Ks,encodeAsync:el,endsWith:yi,enum:cu, +exactOptional:Ou,file:fu,flattenError:te,float32:uc,float64:dc,formatError:ne, +fromJSONSchema:function(e,t){if("boolean"==typeof e)return e?cd.any():cd.never() +;const n=function(e,t){const n=e.$schema +;return"https://json-schema.org/draft/2020-12/schema"===n?"draft-2020-12":"http://json-schema.org/draft-07/schema#"===n?"draft-7":"http://json-schema.org/draft-04/schema#"===n?"draft-4":t??"draft-2020-12" +}(e,t?.defaultTarget);return pd(e,{version:n,defs:e.$defs||e.definitions||{}, +refs:new Map,processing:new Set,rootSchema:e,registry:t?.registry??Ka})}, +function:Xu,getErrorMap:function(){return i().customError},globalRegistry:Ka, +gt:ti,gte:ni,guid:fl,hash:oc,hex:ac,hostname:rc,httpUrl:xl,includes:vi, +instanceof:rd,int:cc,int32:pc,int64:yc,intersection:Yc,ipv4:Bl,ipv6:Zl,iso:Hs, +json:od,jwt:ec,keyof:jc,ksuid:Rl,lazy:Qu,length:hi,literal:pu,locales:Va, +looseObject:Fc,looseRecord:ru,lowercase:mi,lt:Jo,lte:ei,mac:Ul,map:ou, +maxLength:di,maxSize:li,meta:nd,mime:wi,minLength:pi,minSize:ci,multipleOf:si, +nan:Nu,nanoid:Al,nativeEnum:uu,negative:ai,never:Ic,nonnegative:ii, +nonoptional:Cu,nonpositive:oi,normalize:ki,null:Ac,nullable:xu,nullish:ku, +number:sc,object:zc,optional:bu,overwrite:xi,parse:Ws,parseAsync:Xs, +partialRecord:nu,pipe:Lu,positive:ri,prefault:Tu,preprocess:id,prettifyError:oe, +promise:qu,property:Oi,readonly:zu,record:tu,refine:Ju,regex:fi,regexes:Ct, +registry:Ya,safeDecode:rl,safeDecodeAsync:ol,safeEncode:nl,safeEncodeAsync:al, +safeParse:Gs,safeParseAsync:Ys,set:su,setErrorMap:function(e){i({customError:e}) +},size:ui,slugify:Ti,startsWith:bi,strictObject:Zc,string:cl,stringFormat:nc, +stringbool:ad,success:Pu,superRefine:ed,symbol:xc,templateLiteral:Fu, +toJSONSchema:Is,toLowerCase:_i,toUpperCase:Ai,transform:gu,treeifyError:re, +trim:Si,tuple:Jc,uint32:hc,uint64:Oc,ulid:Il,undefined:Sc,union:Qc,unknown:$c, +uppercase:gi,url:wl,util:Y,uuid:gl,uuidv4:vl,uuidv6:bl,uuidv7:yl,void:Mc,xid:Ml, +xor:qc},Symbol.toStringTag,{value:"Module"})),gd=zc({title:cl().optional(), +component:$c(),props:tu(cl(),Ec()).optional()}),vd=zc({ +"request.section":Bc(gd).optional(),"response.section":Bc(gd).optional() +}),bd=zc({onBeforeRequest:Xu({input:[zc({request:rd(Request)})]}).optional(), +onResponseReceived:Xu({input:[zc({response:rd(Response),operation:tu(cl(),Ec()) +})]}).optional()}),yd=Xu({input:[],output:zc({name:cl(),views:vd.optional(), +hooks:bd.optional()}) +}),Od="https://api.scalar.com/request-proxy",wd="https://proxy.scalar.com",xd=md.object({ +title:md.string().optional(),slug:md.string().optional(), +authentication:md.any().optional(),baseServerURL:md.string().optional(), +hideClientButton:md.boolean().optional().default(!1).catch(!1), +proxyUrl:md.string().optional(), +searchHotKey:md.enum(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]).optional(), +servers:md.array(md.any()).optional(), +showSidebar:md.boolean().optional().default(!0).catch(!0), +showDeveloperTools:md.enum(["always","localhost","never"]).optional().default("localhost").catch("localhost"), +showToolbar:md.enum(["always","localhost","never"]).optional().default("localhost").catch("localhost"), +operationTitleSource:md.enum(["summary","path"]).optional().default("summary").catch("summary"), +theme:md.enum(["alternate","default","moon","purple","solarized","bluePlanet","deepSpace","saturn","kepler","elysiajs","fastify","mars","laserwave","none"]).optional().default("default").catch("default"), +_integration:md.enum(["adonisjs","astro","docusaurus","dotnet","elysiajs","express","fastapi","fastify","go","hono","html","laravel","litestar","nestjs","nextjs","nitro","nuxt","platformatic","react","rust","svelte","vue"]).nullable().optional(), +onRequestSent:md.function({input:[md.string()],output:md.void()}).optional(), +persistAuth:md.boolean().optional().default(!1).catch(!1), +plugins:md.array(yd).optional(),telemetry:md.boolean().optional().default(!0) +}),kd=md.object({default:md.boolean().default(!1).optional().catch(!1), +url:md.string().optional(), +content:md.union([md.string(),md.null(),md.record(md.string(),md.any()),md.function({ +input:[],output:md.record(md.string(),md.any())})]).optional(), +title:md.string().optional(),slug:md.string().optional(),spec:md.object({ +url:md.string().optional(), +content:md.union([md.string(),md.null(),md.record(md.string(),md.any()),md.function({ +input:[],output:md.record(md.string(),md.any())})]).optional()}).optional(), +agent:md.object({key:md.string().optional(),disabled:md.boolean().optional() +}).optional()});xd.extend(kd.shape);const Sd=zc({name:cl().regex(/^x-/), +component:$c(),renderer:$c().optional()}),_d=zc({component:$c(), +renderer:$c().optional(),props:tu(cl(),Ec()).optional()}),Ad=zc({ +"content.end":Bc(_d).optional()}),Td=Xu({input:[],output:zc({name:cl(), +extensions:Bc(Sd),views:Ad.optional()})}),Ed=Ku(),Cd=xd.extend({ +layout:cu(["modern","classic"]).optional().default("modern").catch("modern"), +proxy:cl().optional(),fetch:Ed.optional(),plugins:Bc(Td).optional(), +isEditable:mc().optional().default(!1).catch(!1), +isLoading:mc().optional().default(!1).catch(!1), +hideModels:mc().optional().default(!1).catch(!1), +documentDownloadType:cu(["yaml","json","both","direct","none"]).optional().default("both").catch("both"), +hideDownloadButton:mc().optional(), +hideTestRequestButton:mc().optional().default(!1).catch(!1), +hideSearch:mc().optional().default(!1).catch(!1), +showOperationId:mc().optional().default(!1).catch(!1),darkMode:mc().optional(), +forceDarkModeState:cu(["dark","light"]).optional(), +hideDarkModeToggle:mc().optional().default(!1).catch(!1), +metaData:Ec().optional(),favicon:cl().optional(), +hiddenClients:Qc([tu(cl(),Qc([mc(),Bc(cl())])),Bc(cl()),pu(!0)]).optional(), +defaultHttpClient:zc({targetKey:Ku(),clientKey:cl()}).optional(), +customCss:cl().optional(),onSpecUpdate:Xu({input:[cl()],output:Mc() +}).optional(),onServerChange:Xu({input:[cl()],output:Mc()}).optional(), +onDocumentSelect:Xu({input:[]}).optional(),onLoaded:Xu().optional(), +onBeforeRequest:Xu({input:[zc({request:rd(Request)})]}).optional(), +onShowMore:Xu({input:[cl()]}).optional(),onSidebarClick:Xu({input:[cl()] +}).optional(),pathRouting:zc({basePath:cl()}).optional(), +generateHeadingSlug:Xu({input:[zc({slug:cl().default("headingSlug")})], +output:cl()}).optional(),generateModelSlug:Xu({input:[zc({ +name:cl().default("modelName")})],output:cl()}).optional(),generateTagSlug:Xu({ +input:[zc({name:cl().default("tagName")})],output:cl()}).optional(), +generateOperationSlug:Xu({input:[zc({path:cl(),operationId:cl().optional(), +method:cl(),summary:cl().optional()})],output:cl()}).optional(), +generateWebhookSlug:Xu({input:[zc({name:cl(),method:cl().optional()})], +output:cl()}).optional(),redirect:Xu({input:[cl()], +output:cl().nullable().optional()}).optional(), +withDefaultFonts:mc().optional().default(!0).catch(!0), +defaultOpenAllTags:mc().optional().default(!1).catch(!1), +expandAllModelSections:mc().optional().default(!1).catch(!1), +expandAllResponses:mc().optional().default(!1).catch(!1), +tagsSorter:Qc([pu("alpha"),Xu({input:[Ec(),Ec()],output:sc()})]).optional(), +operationsSorter:Qc([pu("alpha"),pu("method"),Xu({input:[Ec(),Ec()],output:sc() +})]).optional(), +orderSchemaPropertiesBy:Qc([pu("alpha"),pu("preserve")]).optional().default("alpha").catch("alpha"), +orderRequiredPropertiesFirst:mc().optional().default(!0).catch(!0) +}),$d=Cd.extend(kd.shape).transform((e=>(e.hideDownloadButton&&(console.warn("[DEPRECATED] You're using the deprecated 'hideDownloadButton' attribute. Use 'documentDownloadType: 'none'' instead."), +e.documentDownloadType="none"), +e.spec?.url&&(console.warn("[DEPRECATED] You're using the deprecated 'spec.url' attribute. Remove the spec prefix and move the 'url' attribute to the top level."), +e.url=e.spec.url, +delete e.spec),e.spec?.content&&(console.warn("[DEPRECATED] You're using the deprecated 'spec.content' attribute. Remove the spec prefix and move the 'content' attribute to the top level."), +e.content=e.spec.content, +delete e.spec),e.proxy&&(console.warn("[DEPRECATED] You're using the deprecated 'proxy' attribute, rename it to 'proxyUrl' or update the package."), +e.proxyUrl||(e.proxyUrl=e.proxy), +delete e.proxy),e.proxyUrl===Od&&(console.warn(`[DEPRECATED] Warning: configuration.proxyUrl points to our old proxy (${Od}).`), +console.warn(`[DEPRECATED] We are overwriting the value and use the new proxy URL (${wd}) instead.`), +console.warn(`[DEPRECATED] Action Required: You should manually update your configuration to use the new URL (${wd}). Read more: https://github.com/scalar/scalar`), +e.proxyUrl=wd), +e.showToolbar&&"localhost"!==e.showToolbar&&(console.warn("[DEPRECATED] You're using the deprecated 'showToolbar' attribute. Use 'showDeveloperTools' instead."), +e.showDeveloperTools=e.showToolbar,delete e.showToolbar),e)));function Pd(e,t){ +const n=[],r=t.resolveKeyData||(e=>e.key),a=t.resolveValueData||(e=>e.value) +;for(const[o,i]of Object.entries(e))n.push(...(Array.isArray(i)?i:[i]).map((e=>{ +const n={key:o,value:e},i=a(n) +;return"object"==typeof i?Pd(i,t):Array.isArray(i)?i:{ +["function"==typeof t.key?t.key(n):t.key]:r(n), +["function"==typeof t.value?t.value(n):t.value]:i}})).flat());return n} +function Id(e,t){return Object.entries(e).map((([e,n])=>{ +if("object"==typeof n&&(n=Id(n,t)),t.resolve){const r=t.resolve({key:e,value:n}) +;if(void 0!==r)return r} +return"number"==typeof n&&(n=n.toString()),"string"==typeof n&&t.wrapValue&&(n=n.replace(new RegExp(t.wrapValue,"g"),`\\${t.wrapValue}`), +n=`${t.wrapValue}${n}${t.wrapValue}`),`${e}${t.keyValueSeparator||""}${n}` +})).join(t.entrySeparator||"")}zc({ +cdn:cl().optional().default("https://cdn.jsdelivr.net/npm/@scalar/api-reference"), +pageTitle:cl().optional().default("Scalar API Reference")}) +;const Dd=new Set(["title","titleTemplate","script","style","noscript"]),Md=new Set(["base","meta","link","style","script","noscript"]),Nd=new Set(["title","titleTemplate","templateParams","base","htmlAttrs","bodyAttrs","meta","link","style","script","noscript"]),Rd=new Set(["base","title","titleTemplate","bodyAttrs","htmlAttrs","templateParams"]),Ld=new Set(["tagPosition","tagPriority","tagDuplicateStrategy","children","innerHTML","textContent","processTemplateParams"]),Bd="undefined"!=typeof window +;function jd(e){let t=9 +;for(let n=0;n>>9)).toString(16).substring(1,8).toLowerCase()} +function Ud(e){if(e._h)return e._h;if(e._d)return jd(e._d) +;let t=`${e.tag}:${e.textContent||e.innerHTML||""}:` +;for(const n in e.props)t+=`${n}:${String(e.props[n])},`;return jd(t)} +const zd=e=>({keyValue:e,metaKey:"property"}),Zd=e=>({keyValue:e}),Fd={ +appleItunesApp:{unpack:{entrySeparator:", ", +resolve:({key:e,value:t})=>`${Vd(e)}=${t}`}}, +articleExpirationTime:zd("article:expiration_time"), +articleModifiedTime:zd("article:modified_time"), +articlePublishedTime:zd("article:published_time"), +bookReleaseDate:zd("book:release_date"),charset:{metaKey:"charset"}, +contentSecurityPolicy:{unpack:{entrySeparator:"; ", +resolve:({key:e,value:t})=>`${Vd(e)} ${t}`},metaKey:"http-equiv"},contentType:{ +metaKey:"http-equiv"},defaultStyle:{metaKey:"http-equiv"}, +fbAppId:zd("fb:app_id"),msapplicationConfig:Zd("msapplication-Config"), +msapplicationTileColor:Zd("msapplication-TileColor"), +msapplicationTileImage:Zd("msapplication-TileImage"), +ogAudioSecureUrl:zd("og:audio:secure_url"),ogAudioUrl:zd("og:audio"), +ogImageSecureUrl:zd("og:image:secure_url"),ogImageUrl:zd("og:image"), +ogSiteName:zd("og:site_name"),ogVideoSecureUrl:zd("og:video:secure_url"), +ogVideoUrl:zd("og:video"),profileFirstName:zd("profile:first_name"), +profileLastName:zd("profile:last_name"),profileUsername:zd("profile:username"), +refresh:{metaKey:"http-equiv",unpack:{entrySeparator:";", +resolve({key:e,value:t}){if("seconds"===e)return`${t}`}}},robots:{unpack:{ +entrySeparator:", ", +resolve:({key:e,value:t})=>"boolean"==typeof t?`${Vd(e)}`:`${Vd(e)}:${t}`}}, +xUaCompatible:{metaKey:"http-equiv"} +},Hd=new Set(["og","book","article","profile"]);function Qd(e){ +const t=Vd(e),n=t.indexOf(":") +;return Hd.has(t.substring(0,n))?"property":Fd[e]?.metaKey||"name"} +function Vd(e){ +const t=e.replace(/([A-Z])/g,"-$1").toLowerCase(),n=t.indexOf("-"),r=t.substring(0,n) +;return"twitter"===r||Hd.has(r)?e.replace(/([A-Z])/g,":$1").toLowerCase():t} +function qd(e){if(Array.isArray(e))return e.map((e=>qd(e))) +;if("object"!=typeof e||Array.isArray(e))return e;const t={} +;for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[Vd(n)]=qd(e[n])) +;return t}function Wd(e,t){const n=Fd[t] +;return"refresh"===t?`${e.seconds};url=${e.url}`:Id(qd(e),{ +keyValueSeparator:"=",entrySeparator:", ", +resolve:({value:e,key:t})=>null===e?"":"boolean"==typeof e?`${t}`:void 0, +...n?.unpack})} +const Xd=new Set(["og:image","og:video","og:audio","twitter:image"]) +;function Gd(e){const t={};for(const n in e){ +if(!Object.prototype.hasOwnProperty.call(e,n))continue;const r=e[n] +;"false"!==String(r)&&n&&(t[n]=r)}return t}function Yd(e,t){ +const n=Gd(t),r=Vd(e),a=Qd(r);if(Xd.has(r)){const t={} +;for(const r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[`${e}${"url"===r?"":`${r[0].toUpperCase()}${r.slice(1)}`}`]=n[r]) +;return Kd(t).sort(((e,t)=>(e[a]?.length||0)-(t[a]?.length||0)))}return[{[a]:r, +...n}]}function Kd(e){const t=[],n={};for(const a in e){ +if(!Object.prototype.hasOwnProperty.call(e,a))continue;const r=e[a] +;if(Array.isArray(r))for(const e of r)t.push(..."string"==typeof e?Kd({[a]:e +}):Yd(a,e));else if("object"==typeof r&&r){if(Xd.has(Vd(a))){t.push(...Yd(a,r)) +;continue}n[a]=Gd(r)}else n[a]=r}const r=Pd(n,{key:({key:e})=>Qd(e), +value:({key:e})=>"charset"===e?"charset":"content", +resolveKeyData:({key:e})=>function(e){return Fd[e]?.keyValue||Vd(e)}(e), +resolveValueData:({value:e,key:t})=>null===e?"_null":"object"==typeof e?Wd(e,t):"number"==typeof e?e.toString():e +});return[...t,...r].map((e=>("_null"===e.content&&(e.content=null),e)))} +function Jd(e,t,n,r){ +const a=r||np("object"!=typeof t||"function"==typeof t||t instanceof Promise?{ +["script"===e||"noscript"===e||"style"===e?"innerHTML":"textContent"]:t}:{...t +},"templateParams"===e||"titleTemplate"===e) +;if(a instanceof Promise)return a.then((r=>Jd(e,t,n,r)));const o={tag:e,props:a} +;for(const i of Ld){const e=void 0!==o.props[i]?o.props[i]:n[i] +;void 0!==e&&(("innerHTML"!==i&&"textContent"!==i&&"children"!==i||Dd.has(o.tag))&&(o["children"===i?"innerHTML":i]=e), +delete o.props[i])} +return o.props.body&&(o.tagPosition="bodyClose",delete o.props.body), +"script"===o.tag&&"object"==typeof o.innerHTML&&(o.innerHTML=JSON.stringify(o.innerHTML), +o.props.type=o.props.type||"application/json"), +Array.isArray(o.props.content)?o.props.content.map((e=>({...o,props:{...o.props, +content:e}}))):o}function ep(e,t){const n="class"===e?" ":";" +;return t&&"object"==typeof t&&!Array.isArray(t)&&(t=Object.entries(t).filter((([,e])=>e)).map((([t,n])=>"style"===e?`${t}:${n}`:t))), +String(Array.isArray(t)?t.join(n):t)?.split(n).filter((e=>Boolean(e.trim()))).join(n) +}function tp(e,t,n,r){for(let a=r;a(e[r]=o,tp(e,t,n,a)))) +;if(!t&&!Ld.has(r)){const t=String(e[r]),n=r.startsWith("data-") +;"true"===t||""===t?e[r]=!n||"true":e[r]||(n&&"false"===t?e[r]="false":delete e[r]) +}}else e[r]=ep(r,e[r])}}function np(e,t=!1){const n=tp(e,t,Object.keys(e),0) +;return n instanceof Promise?n.then((()=>e)):e}const rp=10;function ap(e,t,n){ +for(let r=n;r(t[r]=n,ap(e,t,r)))) +;Array.isArray(n)?e.push(...n):e.push(n)}}function op(e){ +const t=[],n=e.resolvedInput;for(const i in n){ +if(!Object.prototype.hasOwnProperty.call(n,i))continue;const r=n[i] +;if(void 0!==r&&Nd.has(i))if(Array.isArray(r))for(const n of r)t.push(Jd(i,n,e));else t.push(Jd(i,r,e)) +}if(0===t.length)return[];const r=[] +;return a=ap(r,t,0),o=()=>r.map(((t,n)=>(t._e=e._i, +e.mode&&(t._m=e.mode),t._p=(e._i<{if(e===hp||!o.includes(e))return e +;const n=function(e,t,n=!1){let r +;if("s"===t||"pageTitle"===t)r=e.pageTitle;else if(t.includes(".")){ +const n=t.indexOf(".");r=e[t.substring(0,n)]?.[t.substring(n+1)]}else r=e[t] +;if(void 0!==r)return n?(r||"").replace(/"/g,'\\"'):r||""}(t,e.slice(1),r) +;return void 0!==n?n:e +})).trim(),i&&(e.endsWith(hp)&&(e=e.slice(0,-10)),e.startsWith(hp)&&(e=e.slice(10)), +e=e.replace(fp,n).trim()),e}function gp(e,t){ +return null==e?t||null:"function"==typeof e?e(t):e}function vp(e,t={}){ +const n=t.delayFn||(e=>setTimeout(e,10)) +;return e._domDebouncedUpdatePromise=e._domDebouncedUpdatePromise||new Promise((r=>n((()=>async function(e,t={}){ +const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={ +shouldRender:!0,tags:[]} +;return await e.hooks.callHook("dom:beforeRender",r),r.shouldRender?(e._domUpdatePromise||(e._domUpdatePromise=new Promise((async t=>{ +const r=(await e.resolveTags()).map((e=>({tag:e,id:Md.has(e.tag)?Ud(e):e.tag, +shouldRender:!0})));let a=e._dom;if(!a){a={elMap:{htmlAttrs:n.documentElement, +bodyAttrs:n.body}};const e=new Set;for(const t of["body","head"]){ +const r=n[t]?.children;for(const t of r){const n=t.tagName.toLowerCase() +;if(!Md.has(n))continue;const r={tag:n, +props:await np(t.getAttributeNames().reduce(((e,n)=>({...e,[n]:t.getAttribute(n) +})),{})),innerHTML:t.innerHTML},o=pp(r);let i=o,s=1 +;for(;i&&e.has(i);)i=`${o}:${s++}` +;i&&(r._d=i,e.add(i)),a.elMap[t.getAttribute("data-hid")||Ud(r)]=t}}} +function o(e,t,n){const r=`${e}:${t}` +;a.sideEffects[r]=n,delete a.pendingSideEffects[r]} +function i({id:e,$el:t,tag:r}){const i=r.tag.endsWith("Attrs") +;if(a.elMap[e]=t,i||(r.textContent&&r.textContent!==t.textContent&&(t.textContent=r.textContent), +r.innerHTML&&r.innerHTML!==t.innerHTML&&(t.innerHTML=r.innerHTML), +o(e,"el",(()=>{a.elMap[e]?.remove(),delete a.elMap[e] +}))),r._eventHandlers)for(const a in r._eventHandlers)Object.prototype.hasOwnProperty.call(r._eventHandlers,a)&&""!==t.getAttribute(`data-${a}`)&&(("bodyAttrs"===r.tag?n.defaultView:t).addEventListener(a.substring(2),r._eventHandlers[a].bind(t)), +t.setAttribute(`data-${a}`,""));for(const n in r.props){ +if(!Object.prototype.hasOwnProperty.call(r.props,n))continue +;const a=r.props[n],s=`attr:${n}`;if("class"===n){if(!a)continue +;for(const n of a.split(" "))i&&o(e,`${s}:${n}`,(()=>t.classList.remove(n))), +!t.classList.contains(n)&&t.classList.add(n)}else if("style"===n){if(!a)continue +;for(const n of a.split(";")){ +const r=n.indexOf(":"),a=n.substring(0,r).trim(),i=n.substring(r+1).trim() +;o(e,`${s}:${a}`,(()=>{t.style.removeProperty(a)})),t.style.setProperty(a,i)} +}else t.getAttribute(n)!==a&&t.setAttribute(n,!0===a?"":String(a)), +i&&o(e,s,(()=>t.removeAttribute(n)))}}a.pendingSideEffects={...a.sideEffects +},a.sideEffects={};const s=[],l={bodyClose:void 0,bodyOpen:void 0,head:void 0} +;for(const e of r){const{tag:t,shouldRender:r,id:o}=e +;r&&("title"!==t.tag?(e.$el=e.$el||a.elMap[o], +e.$el?i(e):Md.has(t.tag)&&s.push(e)):n.title=t.textContent)}for(const e of s){ +const t=e.tag.tagPosition||"head" +;e.$el=n.createElement(e.tag.tag),i(e),l[t]=l[t]||n.createDocumentFragment(), +l[t].appendChild(e.$el)} +for(const c of r)await e.hooks.callHook("dom:renderTag",c,n,o) +;l.head&&n.head.appendChild(l.head), +l.bodyOpen&&n.body.insertBefore(l.bodyOpen,n.body.firstChild), +l.bodyClose&&n.body.appendChild(l.bodyClose) +;for(const e in a.pendingSideEffects)a.pendingSideEffects[e]() +;e._dom=a,await e.hooks.callHook("dom:rendered",{renders:r}),t() +})).finally((()=>{e._domUpdatePromise=void 0,e.dirty=!1 +}))),e._domUpdatePromise):void 0}(e,t).then((()=>{ +delete e._domDebouncedUpdatePromise,r()}))))))}function bp(e){return t=>{ +const n=t.resolvedOptions.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1 +;return n&&t.push(JSON.parse(n)),{mode:"client",hooks:{"entries:updated":t=>{ +vp(t,e)}}}}}function yp(e,t={},n){for(const r in e){ +const a=e[r],o=n?`${n}:${r}`:r +;"object"==typeof a&&null!==a?yp(a,t,o):"function"==typeof a&&(t[o]=a)}return t} +const Op={run:e=>e()},wp=void 0!==console.createTask?console.createTask:()=>Op +;function xp(e,t){const n=t.shift(),r=wp(n) +;return e.reduce(((e,n)=>e.then((()=>r.run((()=>n(...t)))))),Promise.resolve())} +function kp(e,t){const n=t.shift(),r=wp(n) +;return Promise.all(e.map((e=>r.run((()=>e(...t))))))}function Sp(e,t){ +for(const n of[...e])n(t)}class _p{constructor(){ +this._hooks={},this._before=void 0, +this._after=void 0,this._deprecatedMessages=void 0, +this._deprecatedHooks={},this.hook=this.hook.bind(this), +this.callHook=this.callHook.bind(this), +this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){ +if(!e||"function"!=typeof t)return()=>{};const r=e;let a +;for(;this._deprecatedHooks[e];)a=this._deprecatedHooks[e],e=a.to +;if(a&&!n.allowDeprecated){let e=a.message +;e||(e=`${r} hook has been deprecated`+(a.to?`, please use ${a.to}`:"")), +this._deprecatedMessages||(this._deprecatedMessages=new Set), +this._deprecatedMessages.has(e)||(console.warn(e), +this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{ +get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{} +return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{ +t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){ +let n,r=(...e)=>("function"==typeof n&&n(),n=void 0,r=void 0,t(...e)) +;return n=this.hook(e,r),n}removeHook(e,t){if(this._hooks[e]){ +const n=this._hooks[e].indexOf(t) +;-1!==n&&this._hooks[e].splice(n,1),0===this._hooks[e].length&&delete this._hooks[e] +}}deprecateHook(e,t){this._deprecatedHooks[e]="string"==typeof t?{to:t}:t +;const n=this._hooks[e]||[];delete this._hooks[e] +;for(const r of n)this.hook(e,r)}deprecateHooks(e){ +Object.assign(this._deprecatedHooks,e) +;for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){ +const t=yp(e),n=Object.keys(t).map((e=>this.hook(e,t[e])));return()=>{ +for(const e of n.splice(0,n.length))e()}}removeHooks(e){const t=yp(e) +;for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){ +for(const e in this._hooks)delete this._hooks[e]}callHook(e,...t){ +return t.unshift(e),this.callHookWith(xp,e,...t)}callHookParallel(e,...t){ +return t.unshift(e),this.callHookWith(kp,e,...t)}callHookWith(e,t,...n){ +const r=this._before||this._after?{name:t,args:n,context:{}}:void 0 +;this._before&&Sp(this._before,r) +;const a=e(t in this._hooks?[...this._hooks[t]]:[],n) +;return a instanceof Promise?a.finally((()=>{this._after&&r&&Sp(this._after,r) +})):(this._after&&r&&Sp(this._after,r),a)}beforeEach(e){ +return this._before=this._before||[],this._before.push(e),()=>{ +if(void 0!==this._before){const t=this._before.indexOf(e) +;-1!==t&&this._before.splice(t,1)}}}afterEach(e){ +return this._after=this._after||[],this._after.push(e),()=>{ +if(void 0!==this._after){const t=this._after.indexOf(e) +;-1!==t&&this._after.splice(t,1)}}}} +const Ap=new Set(["templateParams","htmlAttrs","bodyAttrs"]),Tp={hooks:{ +"tag:normalise":({tag:e})=>{e.props.hid&&(e.key=e.props.hid,delete e.props.hid), +e.props.vmid&&(e.key=e.props.vmid, +delete e.props.vmid),e.props.key&&(e.key=e.props.key,delete e.props.key) +;const t=pp(e) +;!t||t.startsWith("meta:og:")||t.startsWith("meta:twitter:")||delete e.key +;const n=t||!!e.key&&`${e.tag}:${e.key}`;n&&(e._d=n)},"tags:resolve":e=>{ +const t=Object.create(null);for(const r of e.tags){ +const e=(r.key?`${r.tag}:${r.key}`:r._d)||Ud(r),n=t[e];if(n){ +let a=r?.tagDuplicateStrategy;if(!a&&Ap.has(r.tag)&&(a="merge"),"merge"===a){ +const a=n.props +;a.style&&r.props.style&&(";"!==a.style[a.style.length-1]&&(a.style+=";"), +r.props.style=`${a.style} ${r.props.style}`), +a.class&&r.props.class?r.props.class=`${a.class} ${r.props.class}`:a.class&&(r.props.class=a.class), +t[e].props={...a,...r.props};continue}if(r._e===n._e){ +n._duped=n._duped||[],r._d=`${n._d}:${n._duped.length+1}`,n._duped.push(r) +;continue}if(cp(r)>cp(n))continue} +r.innerHTML||r.textContent||0!==Object.keys(r.props).length||!Md.has(r.tag)?t[e]=r:delete t[e] +}const n=[];for(const r in t){const e=t[r],a=e._duped +;n.push(e),a&&(delete e._duped,n.push(...a))} +e.tags=n,e.tags=e.tags.filter((e=>!("meta"===e.tag&&(e.props.name||e.props.property)&&!e.props.content))) +}}},Ep=new Set(["script","link","bodyAttrs"]),Cp=e=>({hooks:{"tags:resolve":t=>{ +for(const n of t.tags){if(!Ep.has(n.tag))continue;const t=n.props +;for(const r in t){if("o"!==r[0]||"n"!==r[1])continue +;if(!Object.prototype.hasOwnProperty.call(t,r))continue;const a=t[r] +;"function"==typeof a&&(e.ssr&&ip.has(r)?t[r]=`this.dataset.${r}fired = true`:delete t[r], +n._eventHandlers=n._eventHandlers||{},n._eventHandlers[r]=a)} +e.ssr&&n._eventHandlers&&(n.props.src||n.props.href)&&(n.key=n.key||jd(n.props.src||n.props.href)) +}},"dom:renderTag":({$el:e,tag:t})=>{const n=e?.dataset;if(n)for(const r in n){ +if(!r.endsWith("fired"))continue;const n=r.slice(0,-5) +;ip.has(n)&&t._eventHandlers?.[n]?.call(e,new Event(n.substring(2)))}}} +}),$p=new Set(["link","style","script","noscript"]),Pp={hooks:{ +"tag:normalise":({tag:e})=>{ +e.key&&$p.has(e.tag)&&(e.props["data-hid"]=e._h=jd(e.key))}}},Ip={mode:"server", +hooks:{"tags:beforeResolve":e=>{const t={};let n=!1 +;for(const r of e.tags)"server"!==r._m||"titleTemplate"!==r.tag&&"templateParams"!==r.tag&&"title"!==r.tag||(t[r.tag]="title"===r.tag||"titleTemplate"===r.tag?r.textContent:r.props, +n=!0);n&&e.tags.push({tag:"script",innerHTML:JSON.stringify(t),props:{ +id:"unhead:payload",type:"application/json"}})}}},Dp={hooks:{"tags:resolve":e=>{ +for(const t of e.tags)if("string"==typeof t.tagPriority)for(const{prefix:n,offset:r}of up){ +if(!t.tagPriority.startsWith(n))continue +;const a=t.tagPriority.substring(n.length),o=e.tags.find((e=>e._d===a))?._p +;if(void 0!==o){t._p=o+r;break}}e.tags.sort(((e,t)=>{const n=cp(e),r=cp(t) +;return nr?1:e._p-t._p}))}}},Mp={meta:"content",link:"href", +htmlAttrs:"lang"},Np=["innerHTML","textContent"],Rp=e=>({hooks:{ +"tags:resolve":t=>{const{tags:n}=t;let r;for(let e=0;e"title"===e.tag))?.textContent||"",a,o) +;for(const e of n){if(!1===e.processTemplateParams)continue;const t=Mp[e.tag] +;if(t&&"string"==typeof e.props[t])e.props[t]=mp(e.props[t],a,o);else if(e.processTemplateParams||"titleTemplate"===e.tag||"title"===e.tag)for(const n of Np)"string"==typeof e[n]&&(e[n]=mp(e[n],a,o,"script"===e.tag&&e.props.type.endsWith("json"))) +}e._templateParams=a,e._separator=o},"tags:afterResolve":({tags:t})=>{let n +;for(let e=0;e{const{tags:t}=e;let n,r +;for(let a=0;a{ +for(const t of e.tags)"string"==typeof t.innerHTML&&(!t.innerHTML||"application/ld+json"!==t.props.type&&"application/json"!==t.props.type?t.innerHTML=t.innerHTML.replace(new RegExp(`{s.dirty=!0,t.callHook("entries:updated",s)} +;let a=0,o=[];const i=[],s={plugins:i,dirty:!1,resolvedOptions:e,hooks:t, +headEntries:()=>o,use(e){const r="function"==typeof e?e(s):e +;r.key&&i.some((e=>e.key===r.key))||(i.push(r), +zp(r.mode,n)&&t.addHooks(r.hooks||{}))},push(e,t){delete t?.head;const i={ +_i:a++,input:e,...t};return zp(i.mode,n)&&(o.push(i),r()),{dispose(){ +o=o.filter((e=>e._i!==i._i)),r()},patch(e){ +for(const t of o)t._i===i._i&&(t.input=i.input=e);r()}}},async resolveTags(){ +const e={tags:[],entries:[...o]};await t.callHook("entries:resolve",e) +;for(const n of e.entries){const r=n.resolvedInput||n.input +;if(n.resolvedInput=await(n.transform?n.transform(r):r), +n.resolvedInput)for(const a of await op(n)){const r={tag:a,entry:n, +resolvedOptions:s.resolvedOptions} +;await t.callHook("tag:normalise",r),e.tags.push(r.tag)}} +return await t.callHook("tags:beforeResolve",e), +await t.callHook("tags:resolve",e), +await t.callHook("tags:afterResolve",e),e.tags},ssr:n} +;return[Tp,Ip,Cp,Pp,Dp,Rp,Lp,Bp,...e?.plugins||[]].forEach((e=>s.use(e))), +s.hooks.callHook("init",s),s}(e);return t.use(bp()),jp=t}function zp(e,t){ +return!e||"server"===e&&t||"client"===e&&!t}function Zp(e){ +const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t} +const Fp={},Hp=[],Qp=()=>{},Vp=()=>!1,qp=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Wp=e=>e.startsWith("onUpdate:"),Xp=Object.assign,Gp=(e,t)=>{ +const n=e.indexOf(t);n>-1&&e.splice(n,1) +},Yp=Object.prototype.hasOwnProperty,Kp=(e,t)=>Yp.call(e,t),Jp=Array.isArray,eh=e=>"[object Map]"===ch(e),th=e=>"[object Set]"===ch(e),nh=e=>"[object Date]"===ch(e),rh=e=>"function"==typeof e,ah=e=>"string"==typeof e,oh=e=>"symbol"==typeof e,ih=e=>null!==e&&"object"==typeof e,sh=e=>(ih(e)||rh(e))&&rh(e.then)&&rh(e.catch),lh=Object.prototype.toString,ch=e=>lh.call(e),uh=e=>ch(e).slice(8,-1),dh=e=>"[object Object]"===ch(e),ph=e=>ah(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,hh=Zp(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),fh=e=>{ +const t=Object.create(null);return n=>t[n]||(t[n]=e(n)) +},mh=/-\w/g,gh=fh((e=>e.replace(mh,(e=>e.slice(1).toUpperCase())))),vh=/\B([A-Z])/g,bh=fh((e=>e.replace(vh,"-$1").toLowerCase())),yh=fh((e=>e.charAt(0).toUpperCase()+e.slice(1))),Oh=fh((e=>e?`on${yh(e)}`:"")),wh=(e,t)=>!Object.is(e,t),xh=(e,...t)=>{ +for(let n=0;n{ +Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n}) +},Sh=e=>{const t=parseFloat(e);return isNaN(t)?e:t},_h=e=>{ +const t=ah(e)?Number(e):NaN;return isNaN(t)?e:t};let Ah +;const Th=()=>Ah||(Ah="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}) +;function Eh(e){if(Jp(e)){const t={};for(let n=0;n{if(e){ +const n=e.split($h);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t} +function Dh(e){let t="";if(ah(e))t=e;else if(Jp(e))for(let n=0;nLh(e,t)))} +const jh=e=>!(!e||!0!==e.__v_isRef),Uh=e=>ah(e)?e:null==e?"":Jp(e)||ih(e)&&(e.toString===lh||!rh(e.toString))?jh(e)?Uh(e.value):JSON.stringify(e,zh,2):String(e),zh=(e,t)=>jh(t)?zh(e,t.value):eh(t)?{ +[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],r)=>(e[Zh(t,r)+" =>"]=n, +e)),{})}:th(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>Zh(e))) +}:oh(t)?Zh(t):!ih(t)||Jp(t)||dh(t)?t:String(t),Zh=(e,t="")=>{var n +;return oh(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function Fh(e){ +return null==e?"initial":"string"==typeof e?""===e?" ":e:String(e)}let Hh,Qh +;class Vh{constructor(e=!1){ +this.detached=e,this._active=!0,this._on=0,this.effects=[], +this.cleanups=[],this._isPaused=!1, +this.parent=Hh,!e&&Hh&&(this.index=(Hh.scopes||(Hh.scopes=[])).push(this)-1)} +get active(){return this._active}pause(){if(this._active){let e,t +;if(this._isPaused=!0, +this.scopes)for(e=0,t=this.scopes.length;e0&&0==--this._on&&(Hh=this.prevScope,this.prevScope=void 0)}stop(e){ +if(this._active){let t,n +;for(this._active=!1,t=0,n=this.effects.length;t0)return;if(Jh){let e=Jh +;for(Jh=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e +;for(;Kh;){let n=Kh;for(Kh=void 0;n;){const r=n.next +;if(n.next=void 0,n.flags&=-9,1&n.flags)try{n.trigger()}catch(t){e||(e=t)}n=r}} +if(e)throw e}function af(e){ +for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink, +t.dep.activeLink=t}function of(e){let t,n=e.depsTail,r=n;for(;r;){ +const e=r.prevDep +;-1===r.version?(r===n&&(n=e),cf(r),uf(r)):t=r,r.dep.activeLink=r.prevActiveLink, +r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function sf(e){ +for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(lf(t.dep.computed)||t.dep.version!==t.version))return!0 +;return!!e._dirty}function lf(e){if(4&e.flags&&!(16&e.flags))return +;if(e.flags&=-17,e.globalVersion===gf)return +;if(e.globalVersion=gf,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!sf(e)))return +;e.flags|=2;const t=e.dep,n=Qh,r=df;Qh=e,df=!0;try{af(e);const n=e.fn(e._value) +;(0===t.version||wh(n,e._value))&&(e.flags|=128,e._value=n,t.version++) +}catch(a){throw t.version++,a}finally{Qh=n,df=r,of(e),e.flags&=-3}} +function cf(e,t=!1){const{dep:n,prevSub:r,nextSub:a}=e +;if(r&&(r.nextSub=a,e.prevSub=void 0), +a&&(a.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){ +n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)cf(e,!0)} +t||--n.sc||!n.map||n.map.delete(n.key)}function uf(e){ +const{prevDep:t,nextDep:n}=e +;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let df=!0 +;const pf=[];function hf(){pf.push(df),df=!1}function ff(){const e=pf.pop() +;df=void 0===e||e}function mf(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){ +const e=Qh;Qh=void 0;try{t()}finally{Qh=e}}}let gf=0;class vf{constructor(e,t){ +this.sub=e, +this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0 +}}class bf{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0, +this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0} +track(e){if(!Qh||!df||Qh===this.computed)return;let t=this.activeLink +;if(void 0===t||t.sub!==Qh)t=this.activeLink=new vf(Qh,this), +Qh.deps?(t.prevDep=Qh.depsTail, +Qh.depsTail.nextDep=t,Qh.depsTail=t):Qh.deps=Qh.depsTail=t, +yf(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){ +const e=t.nextDep +;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Qh.depsTail, +t.nextDep=void 0,Qh.depsTail.nextDep=t,Qh.depsTail=t,Qh.deps===t&&(Qh.deps=e)} +return t}trigger(e){this.version++,gf++,this.notify(e)}notify(e){nf();try{0 +;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{ +rf()}}}function yf(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed +;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)yf(e)} +const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}} +const Of=new WeakMap,wf=Symbol(""),xf=Symbol(""),kf=Symbol("") +;function Sf(e,t,n){if(df&&Qh){let t=Of.get(e);t||Of.set(e,t=new Map) +;let r=t.get(n);r||(t.set(n,r=new bf),r.map=t,r.key=n),r.track()}} +function _f(e,t,n,r,a,o){const i=Of.get(e);if(!i)return void gf++;const s=e=>{ +e&&e.trigger()};if(nf(),"clear"===t)i.forEach(s);else{const a=Jp(e),o=a&&ph(n) +;if(a&&"length"===n){const e=Number(r);i.forEach(((t,n)=>{ +("length"===n||n===kf||!oh(n)&&n>=e)&&s(t)})) +}else switch((void 0!==n||i.has(void 0))&&s(i.get(n)),o&&s(i.get(kf)),t){ +case"add":a?o&&s(i.get("length")):(s(i.get(wf)),eh(e)&&s(i.get(xf)));break +;case"delete":a||(s(i.get(wf)),eh(e)&&s(i.get(xf)));break;case"set": +eh(e)&&s(i.get(wf))}}rf()}function Af(e){const t=hm(e) +;return t===e?t:(Sf(t,0,kf),dm(e)?t:t.map(mm))}function Tf(e){ +return Sf(e=hm(e),0,kf),e}function Ef(e,t){ +return um(e)?cm(e)?gm(mm(t)):gm(t):mm(t)}const Cf={__proto__:null, +[Symbol.iterator](){return $f(this,Symbol.iterator,(e=>Ef(this,e)))}, +concat(...e){return Af(this).concat(...e.map((e=>Jp(e)?Af(e):e)))},entries(){ +return $f(this,"entries",(e=>(e[1]=Ef(this,e[1]),e)))},every(e,t){ +return If(this,"every",e,t,void 0,arguments)},filter(e,t){ +return If(this,"filter",e,t,(e=>e.map((e=>Ef(this,e)))),arguments)},find(e,t){ +return If(this,"find",e,t,(e=>Ef(this,e)),arguments)},findIndex(e,t){ +return If(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){ +return If(this,"findLast",e,t,(e=>Ef(this,e)),arguments)},findLastIndex(e,t){ +return If(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){ +return If(this,"forEach",e,t,void 0,arguments)},includes(...e){ +return Mf(this,"includes",e)},indexOf(...e){return Mf(this,"indexOf",e)}, +join(e){return Af(this).join(e)},lastIndexOf(...e){ +return Mf(this,"lastIndexOf",e)},map(e,t){ +return If(this,"map",e,t,void 0,arguments)},pop(){return Nf(this,"pop")}, +push(...e){return Nf(this,"push",e)},reduce(e,...t){return Df(this,"reduce",e,t) +},reduceRight(e,...t){return Df(this,"reduceRight",e,t)},shift(){ +return Nf(this,"shift")},some(e,t){return If(this,"some",e,t,void 0,arguments)}, +splice(...e){return Nf(this,"splice",e)},toReversed(){ +return Af(this).toReversed()},toSorted(e){return Af(this).toSorted(e)}, +toSpliced(...e){return Af(this).toSpliced(...e)},unshift(...e){ +return Nf(this,"unshift",e)},values(){return $f(this,"values",(e=>Ef(this,e)))}} +;function $f(e,t,n){const r=Tf(e),a=r[t]();return r===e||dm(e)||(a._next=a.next, +a.next=()=>{const e=a._next();return e.done||(e.value=n(e.value)),e}),a} +const Pf=Array.prototype;function If(e,t,n,r,a,o){ +const i=Tf(e),s=i!==e&&!dm(e),l=i[t];if(l!==Pf[t]){const t=l.apply(e,o) +;return s?mm(t):t}let c=n;i!==e&&(s?c=function(t,r){ +return n.call(this,Ef(e,t),r,e)}:n.length>2&&(c=function(t,r){ +return n.call(this,t,r,e)}));const u=l.call(i,c,r);return s&&a?a(u):u} +function Df(e,t,n,r){const a=Tf(e);let o=n +;return a!==e&&(dm(e)?n.length>3&&(o=function(t,r,a){return n.call(this,t,r,a,e) +}):o=function(t,r,a){return n.call(this,t,Ef(e,r),a,e)}),a[t](o,...r)} +function Mf(e,t,n){const r=hm(e);Sf(r,0,kf);const a=r[t](...n) +;return-1!==a&&!1!==a||!pm(n[0])?a:(n[0]=hm(n[0]),r[t](...n))} +function Nf(e,t,n=[]){hf(),nf();const r=hm(e)[t].apply(e,n);return rf(),ff(),r} +const Rf=Zp("__proto__,__v_isRef,__isVue"),Lf=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(oh)) +;function Bf(e){oh(e)||(e=String(e));const t=hm(this) +;return Sf(t,0,e),t.hasOwnProperty(e)}class jf{constructor(e=!1,t=!1){ +this._isReadonly=e,this._isShallow=t}get(e,t,n){ +if("__v_skip"===t)return e.__v_skip;const r=this._isReadonly,a=this._isShallow +;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r +;if("__v_isShallow"===t)return a +;if("__v_raw"===t)return n===(r?a?am:rm:a?nm:tm).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0 +;const o=Jp(e);if(!r){let e;if(o&&(e=Cf[t]))return e +;if("hasOwnProperty"===t)return Bf}const i=Reflect.get(e,t,vm(e)?e:n) +;if(oh(t)?Lf.has(t):Rf(t))return i;if(r||Sf(e,0,t),a)return i;if(vm(i)){ +const e=o&&ph(t)?i:i.value;return r&&ih(e)?im(e):e}return ih(i)?r?im(i):om(i):i} +}class Uf extends jf{constructor(e=!1){super(!1,e)}set(e,t,n,r){let a=e[t] +;const o=Jp(e)&&ph(t);if(!this._isShallow){const e=um(a) +;if(dm(n)||um(n)||(a=hm(a),n=hm(n)),!o&&vm(a)&&!vm(n))return e||(a.value=n),!0} +const i=o?Number(t)e,qf=e=>Reflect.getPrototypeOf(e) +;function Wf(e){return function(...t){ +return"delete"!==e&&("clear"===e?void 0:this)}}function Xf(e,t){const n={get(n){ +const r=this.__v_raw,a=hm(r),o=hm(n);e||(wh(n,o)&&Sf(a,0,n),Sf(a,0,o)) +;const{has:i}=qf(a),s=t?Vf:e?gm:mm +;return i.call(a,n)?s(r.get(n)):i.call(a,o)?s(r.get(o)):void(r!==a&&r.get(n))}, +get size(){const t=this.__v_raw;return!e&&Sf(hm(t),0,wf),t.size},has(t){ +const n=this.__v_raw,r=hm(n),a=hm(t) +;return e||(wh(t,a)&&Sf(r,0,t),Sf(r,0,a)),t===a?n.has(t):n.has(t)||n.has(a)}, +forEach(n,r){const a=this,o=a.__v_raw,i=hm(o),s=t?Vf:e?gm:mm +;return!e&&Sf(i,0,wf),o.forEach(((e,t)=>n.call(r,s(e),s(t),a)))}};Xp(n,e?{ +add:Wf("add"),set:Wf("set"),delete:Wf("delete"),clear:Wf("clear")}:{add(e){ +t||dm(e)||um(e)||(e=hm(e));const n=hm(this) +;return qf(n).has.call(n,e)||(n.add(e),_f(n,"add",e,e)),this},set(e,n){ +t||dm(n)||um(n)||(n=hm(n));const r=hm(this),{has:a,get:o}=qf(r) +;let i=a.call(r,e);i||(e=hm(e),i=a.call(r,e));const s=o.call(r,e) +;return r.set(e,n),i?wh(n,s)&&_f(r,"set",e,n):_f(r,"add",e,n),this},delete(e){ +const t=hm(this),{has:n,get:r}=qf(t);let a=n.call(t,e) +;a||(e=hm(e),a=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e) +;return a&&_f(t,"delete",e,void 0),o},clear(){ +const e=hm(this),t=0!==e.size,n=e.clear();return t&&_f(e,"clear",void 0,void 0), +n}});return["keys","values","entries",Symbol.iterator].forEach((r=>{ +n[r]=function(e,t,n){return function(...r){ +const a=this.__v_raw,o=hm(a),i=eh(o),s="entries"===e||e===Symbol.iterator&&i,l="keys"===e&&i,c=a[e](...r),u=n?Vf:t?gm:mm +;return!t&&Sf(o,0,l?xf:wf),{next(){const{value:e,done:t}=c.next();return t?{ +value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){ +return this}}}}(r,e,t)})),n}function Gf(e,t){const n=Xf(e,t) +;return(t,r,a)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(Kp(n,r)&&r in t?n:t,r,a) +}const Yf={get:Gf(!1,!1)},Kf={get:Gf(!1,!0)},Jf={get:Gf(!0,!1)},em={ +get:Gf(!0,!0)},tm=new WeakMap,nm=new WeakMap,rm=new WeakMap,am=new WeakMap +;function om(e){return um(e)?e:lm(e,!1,Zf,Yf,tm)}function im(e){ +return lm(e,!0,Ff,Jf,rm)}function sm(e){return lm(e,!0,Qf,em,am)} +function lm(e,t,n,r,a){if(!ih(e))return e +;if(e.__v_raw&&(!t||!e.__v_isReactive))return e +;const o=(i=e).__v_skip||!Object.isExtensible(i)?0:function(e){switch(e){ +case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap": +case"WeakSet":return 2;default:return 0}}(uh(i));var i;if(0===o)return e +;const s=a.get(e);if(s)return s;const l=new Proxy(e,2===o?r:n) +;return a.set(e,l),l}function cm(e){ +return um(e)?cm(e.__v_raw):!(!e||!e.__v_isReactive)}function um(e){ +return!(!e||!e.__v_isReadonly)}function dm(e){return!(!e||!e.__v_isShallow)} +function pm(e){return!!e&&!!e.__v_raw}function hm(e){const t=e&&e.__v_raw +;return t?hm(t):e}function fm(e){ +return!Kp(e,"__v_skip")&&Object.isExtensible(e)&&kh(e,"__v_skip",!0),e} +const mm=e=>ih(e)?om(e):e,gm=e=>ih(e)?im(e):e;function vm(e){ +return!!e&&!0===e.__v_isRef}function bm(e){return Om(e,!1)}function ym(e){ +return Om(e,!0)}function Om(e,t){return vm(e)?e:new wm(e,t)}class wm{ +constructor(e,t){ +this.dep=new bf,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:hm(e), +this._value=t?e:mm(e),this.__v_isShallow=t}get value(){ +return this.dep.track(),this._value}set value(e){ +const t=this._rawValue,n=this.__v_isShallow||dm(e)||um(e) +;e=n?e:hm(e),wh(e,t)&&(this._rawValue=e, +this._value=n?e:mm(e),this.dep.trigger())}}function xm(e){return vm(e)?e.value:e +}function km(e){return rh(e)?e():xm(e)}const Sm={ +get:(e,t,n)=>"__v_raw"===t?e:xm(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const a=e[t] +;return vm(a)&&!vm(n)?(a.value=n,!0):Reflect.set(e,t,n,r)}};function _m(e){ +return cm(e)?e:new Proxy(e,Sm)}class Am{constructor(e){ +this.__v_isRef=!0,this._value=void 0 +;const t=this.dep=new bf,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t)) +;this._get=n,this._set=r}get value(){return this._value=this._get()} +set value(e){this._set(e)}}function Tm(e){return new Am(e)}function Em(e){ +const t=Jp(e)?new Array(e.length):{};for(const n in e)t[n]=Im(e,n);return t} +class Cm{constructor(e,t,n){ +this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0, +this._value=void 0,this._raw=hm(e);let r=!0,a=e;if(!Jp(e)||!ph(String(t)))do{ +r=!pm(a)||dm(a)}while(r&&(a=a.__v_raw));this._shallow=r}get value(){ +let e=this._object[this._key] +;return this._shallow&&(e=xm(e)),this._value=void 0===e?this._defaultValue:e} +set value(e){if(this._shallow&&vm(this._raw[this._key])){ +const t=this._object[this._key];if(vm(t))return void(t.value=e)} +this._object[this._key]=e}get dep(){return function(e,t){const n=Of.get(e) +;return n&&n.get(t)}(this._raw,this._key)}}class $m{constructor(e){ +this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0} +get value(){return this._value=this._getter()}}function Pm(e,t,n){ +return vm(e)?e:rh(e)?new $m(e):ih(e)&&arguments.length>1?Im(e,t,n):bm(e)} +function Im(e,t,n){return new Cm(e,t,n)}class Dm{constructor(e,t,n){ +this.fn=e,this.setter=t, +this._value=void 0,this.dep=new bf(this),this.__v_isRef=!0, +this.deps=void 0,this.depsTail=void 0, +this.flags=16,this.globalVersion=gf-1,this.next=void 0, +this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16, +!(8&this.flags)&&Qh!==this)return tf(this,!0),!0}get value(){ +const e=this.dep.track() +;return lf(this),e&&(e.version=this.dep.version),this._value}set value(e){ +this.setter&&this.setter(e)}}const Mm={},Nm=new WeakMap;let Rm +;function Lm(e,t,n=Fp){ +const{immediate:r,deep:a,once:o,scheduler:i,augmentJob:s,call:l}=n,c=e=>a?e:dm(e)||!1===a||0===a?Bm(e,1):Bm(e) +;let u,d,p,h,f=!1,m=!1 +;if(vm(e)?(d=()=>e.value,f=dm(e)):cm(e)?(d=()=>c(e),f=!0):Jp(e)?(m=!0, +f=e.some((e=>cm(e)||dm(e))), +d=()=>e.map((e=>vm(e)?e.value:cm(e)?c(e):rh(e)?l?l(e,2):e():void 0))):d=rh(e)?t?l?()=>l(e,2):e:()=>{ +if(p){hf();try{p()}finally{ff()}}const t=Rm;Rm=u;try{return l?l(e,3,[h]):e(h) +}finally{Rm=t}}:Qp,t&&a){const e=d,t=!0===a?1/0:a;d=()=>Bm(e(),t)} +const g=Wh(),v=()=>{u.stop(),g&&g.active&&Gp(g.effects,u)};if(o&&t){const e=t +;t=(...t)=>{e(...t),v()}}let b=m?new Array(e.length).fill(Mm):Mm;const y=e=>{ +if(1&u.flags&&(u.dirty||e))if(t){const e=u.run() +;if(a||f||(m?e.some(((e,t)=>wh(e,b[t]))):wh(e,b))){p&&p();const n=Rm;Rm=u;try{ +const n=[e,b===Mm?void 0:m&&b[0]===Mm?[]:b,h];b=e,l?l(t,3,n):t(...n)}finally{ +Rm=n}}}else u.run()} +;return s&&s(y),u=new Yh(d),u.scheduler=i?()=>i(y,!1):y,h=e=>function(e,t=!1,n=Rm){ +if(n){let t=Nm.get(n);t||Nm.set(n,t=[]),t.push(e)}}(e,!1,u),p=u.onStop=()=>{ +const e=Nm.get(u);if(e){if(l)l(e,4);else for(const t of e)t();Nm.delete(u)} +},t?r?y(!0):b=u.run():i?i(y.bind(null,!0),!0):u.run(), +v.pause=u.pause.bind(u),v.resume=u.resume.bind(u),v.stop=v,v} +function Bm(e,t=1/0,n){if(t<=0||!ih(e)||e.__v_skip)return e +;if(((n=n||new Map).get(e)||0)>=t)return e +;if(n.set(e,t),t--,vm(e))Bm(e.value,t,n);else if(Jp(e))for(let r=0;r{ +Bm(e,t,n)}));else if(dh(e)){for(const r in e)Bm(e[r],t,n) +;for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Bm(e[r],t,n) +}return e}function jm(e,t,n,r){try{return r?e(...r):e()}catch(a){zm(a,t,n)}} +function Um(e,t,n,r){if(rh(e)){const a=jm(e,t,n,r) +;return a&&sh(a)&&a.catch((e=>{zm(e,t,n)})),a}if(Jp(e)){const a=[] +;for(let o=0;o=tg(n)?Zm.push(e):Zm.splice(function(e){ +let t=Fm+1,n=Zm.length;for(;t>>1,a=Zm[r],o=tg(a) +;otg(e)-tg(t))) +;if(Hm.length=0,Qm)return void Qm.push(...e);for(Qm=e,Vm=0;Vmnull==e.id?2&e.flags?-1:1/0:e.id;function ng(e){try{ +for(Fm=0;Fm{ +r._d&&Qb(-1);const a=og(t);let o;try{o=e(...n)}finally{og(a),r._d&&Qb(1)} +return o};return r._n=!0,r._c=!0,r._d=!0,r}function sg(e,t){ +if(null===rg)return e;const n=_y(rg),r=e.dirs||(e.dirs=[]) +;for(let a=0;a1)return n&&rh(t)?t.call(r&&r.proxy):t}}function dg(){ +return!(!fy()&&!eb)}const pg=Symbol.for("v-scx"),hg=()=>ug(pg);function fg(e,t){ +return gg(e,null,t)}function mg(e,t,n){return gg(e,t,n)}function gg(e,t,n=Fp){ +const{immediate:r,deep:a,flush:o,once:i}=n,s=Xp({},n),l=t&&r||!t&&"post"!==o +;let c;if(Oy)if("sync"===o){const e=hg() +;c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{} +;return e.stop=Qp,e.resume=Qp,e.pause=Qp,e}const u=hy +;s.call=(e,t,n)=>Um(e,u,t,n);let d=!1;"post"===o?s.scheduler=e=>{ +Eb(e,u&&u.suspense)}:"sync"!==o&&(d=!0,s.scheduler=(e,t)=>{t?e():Gm(e) +}),s.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))} +;const p=Lm(e,t,s);return Oy&&(c?c.push(p):l&&p()),p}function vg(e,t,n){ +const r=this.proxy,a=ah(e)?e.includes(".")?bg(r,e):()=>r[e]:e.bind(r,r);let o +;rh(t)?o=t:(o=t.handler,n=t);const i=vy(this),s=gg(a,o.bind(r),n);return i(),s} +function bg(e,t){const n=t.split(".");return()=>{let t=e +;for(let e=0;ee.__isTeleport,wg=e=>e&&(e.disabled||""===e.disabled),xg=e=>e&&(e.defer||""===e.defer),kg=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Sg=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,_g=(e,t)=>{ +const n=e&&e.to;if(ah(n)){if(t){return t(n)}return null}return n},Ag={ +name:"Teleport",__isTeleport:!0,process(e,t,n,r,a,o,i,s,l,c){ +const{mc:u,pc:d,pbc:p,o:{insert:h,querySelector:f,createText:m,createComment:g}}=c,v=wg(t.props) +;let{shapeFlag:b,children:y,dynamicChildren:O}=t;if(null==e){ +const e=t.el=m(""),c=t.anchor=m("");h(e,n,r),h(c,n,r);const d=(e,t)=>{ +16&b&&u(y,e,t,a,o,i,s,l)},p=()=>{const e=t.target=_g(t.props,f),n=$g(e,t,m,h) +;e&&("svg"!==i&&kg(e)?i="svg":"mathml"!==i&&Sg(e)&&(i="mathml"), +a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(e), +v||(d(e,n),Cg(t,!1)))} +;v&&(d(n,c),Cg(t,!0)),xg(t.props)?(t.el.__isMounted=!1,Eb((()=>{ +p(),delete t.el.__isMounted}),o)):p()}else{ +if(xg(t.props)&&!1===e.el.__isMounted)return void Eb((()=>{ +Ag.process(e,t,n,r,a,o,i,s,l,c)}),o);t.el=e.el,t.targetStart=e.targetStart +;const u=t.anchor=e.anchor,h=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=wg(e.props),b=g?n:h,y=g?u:m +;if("svg"===i||kg(h)?i="svg":("mathml"===i||Sg(h))&&(i="mathml"), +O?(p(e.dynamicChildren,O,b,a,o,i,s), +Ib(e,t,!0)):l||d(e,t,b,y,a,o,i,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Tg(t,n,u,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){ +const e=t.target=_g(t.props,f);e&&Tg(t,e,null,c,0)}else g&&Tg(t,h,m,c,1);Cg(t,v) +}},remove(e,t,n,{um:r,o:{remove:a}},o){ +const{shapeFlag:i,children:s,anchor:l,targetStart:c,targetAnchor:u,target:d,props:p}=e +;if(d&&(a(c),a(u)),o&&a(l),16&i){const e=o||!wg(p);for(let a=0;a{const t=e.subTree +;return t.component?Ng(t.component):t};function Rg(e){let t=e[0] +;if(e.length>1)for(const n of e)if(n.type!==jb){t=n;break}return t}const Lg={ +name:"BaseTransition",props:Mg,setup(e,{slots:t}){const n=fy(),r=function(){ +const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map} +;return cv((()=>{e.isMounted=!0})),pv((()=>{e.isUnmounting=!0})),e}() +;return()=>{const a=t.default&&Fg(t.default(),!0);if(!a||!a.length)return +;const o=Rg(a),i=hm(e),{mode:s}=i;if(r.isLeaving)return Ug(o);const l=zg(o) +;if(!l)return Ug(o);let c=jg(l,i,r,n,(e=>c=e));l.type!==jb&&Zg(l,c) +;let u=n.subTree&&zg(n.subTree);if(u&&u.type!==jb&&!Gb(u,l)&&Ng(n).type!==jb){ +let e=jg(u,i,r,n) +;if(Zg(u,e),"out-in"===s&&l.type!==jb)return r.isLeaving=!0,e.afterLeave=()=>{ +r.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,u=void 0},Ug(o) +;"in-out"===s&&l.type!==jb?e.delayLeave=(e,t,n)=>{ +Bg(r,u)[String(u.key)]=u,e[Pg]=()=>{ +t(),e[Pg]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{ +n(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}} +;function Bg(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type) +;return r||(r=Object.create(null),n.set(t.type,r)),r}function jg(e,t,n,r,a){ +const{appear:o,mode:i,persisted:s=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:h,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:v,onAfterAppear:b,onAppearCancelled:y}=t,O=String(e.key),w=Bg(n,e),x=(e,t)=>{ +e&&Um(e,r,9,t)},k=(e,t)=>{const n=t[1] +;x(e,t),Jp(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:i, +persisted:s,beforeEnter(t){let r=l;if(!n.isMounted){if(!o)return;r=g||l} +t[Pg]&&t[Pg](!0);const a=w[O];a&&Gb(e,a)&&a.el[Pg]&&a.el[Pg](),x(r,[t])}, +enter(e){let t=c,r=u,a=d;if(!n.isMounted){if(!o)return;t=v||c,r=b||u,a=y||d} +let i=!1;const s=e[Ig]=t=>{ +i||(i=!0,x(t?a:r,[e]),S.delayedLeave&&S.delayedLeave(),e[Ig]=void 0)} +;t?k(t,[e,s]):s()},leave(t,r){const a=String(e.key) +;if(t[Ig]&&t[Ig](!0),n.isUnmounting)return r();x(p,[t]);let o=!1 +;const i=t[Pg]=n=>{o||(o=!0,r(),x(n?m:f,[t]),t[Pg]=void 0,w[a]===e&&delete w[a]) +};w[a]=e,h?k(h,[t,i]):i()},clone(e){const o=jg(e,t,n,r,a);return a&&a(o),o}} +;return S}function Ug(e){if(tv(e))return(e=ny(e)).children=null,e} +function zg(e){if(!tv(e))return Og(e.type)&&e.children?Rg(e.children):e +;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e +;if(n){if(16&t)return n[0];if(32&t&&rh(n.default))return n.default()}} +function Zg(e,t){ +6&e.shapeFlag&&e.component?(e.transition=t,Zg(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent), +e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t} +function Fg(e,t=!1,n){let r=[],a=0;for(let o=0;o1)for(let o=0;oXp({name:e.name},t,{setup:e}))():e} +function Qg(){const e=fy() +;return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""} +function Vg(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function qg(e){ +const t=fy(),n=ym(null);if(t){const r=t.refs===Fp?t.refs={}:t.refs +;Object.defineProperty(r,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})} +return n}const Wg=new WeakMap;function Xg(e,t,n,r,a=!1){ +if(Jp(e))return void e.forEach(((e,o)=>Xg(e,t&&(Jp(t)?t[o]:t),n,r,a))) +;if(Kg(r)&&!a)return void(512&r.shapeFlag&&r.type.__asyncResolved&&r.component.subTree.component&&Xg(e,t,n,r.component.subTree)) +;const o=4&r.shapeFlag?_y(r.component):r.el,i=a?null:o,{i:s,r:l}=e,c=t&&t.r,u=s.refs===Fp?s.refs={}:s.refs,d=s.setupState,p=hm(d),h=d===Fp?Vp:e=>Kp(p,e) +;if(null!=c&&c!==l)if(Gg(t),ah(c))u[c]=null,h(c)&&(d[c]=null);else if(vm(c)){ +c.value=null;const e=t;e.k&&(u[e.k]=null)}if(rh(l))jm(l,s,12,[i,u]);else{ +const t=ah(l),r=vm(l);if(t||r){const s=()=>{if(e.f){ +const n=t?h(l)?d[l]:u[l]:l.value +;if(a)Jp(n)&&Gp(n,o);else if(Jp(n))n.includes(o)||n.push(o);else if(t)u[l]=[o], +h(l)&&(d[l]=u[l]);else{const t=[o];l.value=t,e.k&&(u[e.k]=t)} +}else t?(u[l]=i,h(l)&&(d[l]=i)):r&&(l.value=i,e.k&&(u[e.k]=i))};if(i){ +const t=()=>{s(),Wg.delete(e)};t.id=-1,Wg.set(e,t),Eb(t,n)}else Gg(e),s()}}} +function Gg(e){const t=Wg.get(e);t&&(t.flags|=8,Wg.delete(e))} +const Yg=e=>8===e.nodeType;Th().requestIdleCallback,Th().cancelIdleCallback +;const Kg=e=>!!e.type.__asyncLoader;function Jg(e){rh(e)&&(e={loader:e}) +;const{loader:t,loadingComponent:n,errorComponent:r,delay:a=200,hydrate:o,timeout:i,suspensible:s=!0,onError:l}=e +;let c,u=null,d=0;const p=()=>{let e;return u||(e=u=t().catch((e=>{ +if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise(((t,n)=>{ +l(e,(()=>t((d++,u=null,p()))),(()=>n(e)),d+1)}));throw e +})).then((t=>e!==u&&u?u:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default), +c=t,t))))};return Hg({name:"AsyncComponentWrapper",__asyncLoader:p, +__asyncHydrate(e,t,n){let r=!1;(t.bu||(t.bu=[])).push((()=>r=!0));const a=()=>{ +r||n()},i=o?()=>{const n=o(a,(t=>function(e,t){if(Yg(e)&&"["===e.data){ +let n=1,r=e.nextSibling;for(;r;){if(1===r.nodeType){if(!1===t(r))break +}else if(Yg(r))if("]"===r.data){if(0==--n)break}else"["===r.data&&n++ +;r=r.nextSibling}}else t(e)}(e,t)));n&&(t.bum||(t.bum=[])).push(n)}:a +;c?i():p().then((()=>!t.isUnmounted&&i()))},get __asyncResolved(){return c}, +setup(){const e=hy;if(Vg(e),c)return()=>ev(c,e);const t=t=>{u=null,zm(t,e,13,!r) +} +;if(s&&e.suspense||Oy)return p().then((t=>()=>ev(t,e))).catch((e=>(t(e),()=>r?ey(r,{ +error:e}):null)));const o=bm(!1),l=bm(),d=bm(!!a);return a&&setTimeout((()=>{ +d.value=!1}),a),null!=i&&setTimeout((()=>{if(!o.value&&!l.value){ +const e=new Error(`Async component timed out after ${i}ms.`);t(e),l.value=e} +}),i),p().then((()=>{o.value=!0,e.parent&&tv(e.parent.vnode)&&e.parent.update() +})).catch((e=>{t(e),l.value=e})),()=>o.value&&c?ev(c,e):l.value&&r?ey(r,{ +error:l.value}):n&&!d.value?ev(n,e):void 0}})}function ev(e,t){ +const{ref:n,props:r,children:a,ce:o}=t.vnode,i=ey(e,r,a) +;return i.ref=n,i.ce=o,delete t.vnode.ce,i}const tv=e=>e.type.__isKeepAlive +;function nv(e,t){av(e,"a",t)}function rv(e,t){av(e,"da",t)} +function av(e,t,n=hy){const r=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){ +if(t.isDeactivated)return;t=t.parent}return e()});if(iv(t,r,n),n){let e=n.parent +;for(;e&&e.parent;)tv(e.parent.vnode)&&ov(r,t,n,e),e=e.parent}} +function ov(e,t,n,r){const a=iv(t,e,r,!0);hv((()=>{Gp(r[t],a)}),n)} +function iv(e,t,n=hy,r=!1){if(n){ +const a=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...r)=>{hf() +;const a=vy(n),o=Um(t,n,e,r);return a(),ff(),o}) +;return r?a.unshift(o):a.push(o),o}}const sv=e=>(t,n=hy)=>{ +Oy&&"sp"!==e||iv(e,((...e)=>t(...e)),n) +},lv=sv("bm"),cv=sv("m"),uv=sv("bu"),dv=sv("u"),pv=sv("bum"),hv=sv("um"),fv=sv("sp"),mv=sv("rtg"),gv=sv("rtc") +;function vv(e,t=hy){iv("ec",e,t)}const bv="components";function yv(e,t){ +return xv(bv,e,!0,t)||e}const Ov=Symbol.for("v-ndc");function wv(e){ +return ah(e)?xv(bv,e,!1)||e:e||Ov}function xv(e,t,n=!0,r=!1){const a=rg||hy +;if(a){const n=a.type;{const e=Ay(n,!1) +;if(e&&(e===t||e===gh(t)||e===yh(gh(t))))return n} +const o=kv(a[e]||n[e],t)||kv(a.appContext[e],t);return!o&&r?n:o}} +function kv(e,t){return e&&(e[t]||e[gh(t)]||e[yh(gh(t))])}function Sv(e,t,n,r){ +let a;const o=n,i=Jp(e);if(i||ah(e)){let n=!1,r=!1 +;i&&cm(e)&&(n=!dm(e),r=um(e),e=Tf(e)),a=new Array(e.length) +;for(let i=0,s=e.length;it(e,n,void 0,o)));else{ +const n=Object.keys(e);a=new Array(n.length);for(let r=0,i=n.length;r{ +const t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e} +function Av(e,t,n={},r,a){if(rg.ce||rg.parent&&Kg(rg.parent)&&rg.parent.ce){ +const e=Object.keys(n).length>0 +;return"default"!==t&&(n.name=t),Fb(),Wb(Lb,null,[ey("slot",n,r&&r())],e?-2:64)} +let o=e[t];o&&o._c&&(o._d=!1),Fb() +;const i=o&&Tv(o(n)),s=n.key||i&&i.key,l=Wb(Lb,{ +key:(s&&!oh(s)?s:`_${t}`)+(!i&&r?"_fb":"")},i||(r?r():[]),i&&1===e._?64:-2) +;return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l} +function Tv(e){ +return e.some((e=>!Xb(e)||e.type!==jb&&!(e.type===Lb&&!Tv(e.children))))?e:null} +function Ev(e,t){const n={};for(const r in e)n[Oh(r)]=e[r];return n} +const Cv=e=>e?yy(e)?_y(e):Cv(e.parent):null,$v=Xp(Object.create(null),{$:e=>e, +$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs, +$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Cv(e.parent),$root:e=>Cv(e.root), +$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fv(e),$forceUpdate:e=>e.f||(e.f=()=>{ +Gm(e.update)}),$nextTick:e=>e.n||(e.n=Xm.bind(e.proxy)),$watch:e=>vg.bind(e) +}),Pv=(e,t)=>e!==Fp&&!e.__isScriptSetup&&Kp(e,t),Iv={get({_:e},t){ +if("__v_skip"===t)return!0 +;const{ctx:n,setupState:r,data:a,props:o,accessCache:i,type:s,appContext:l}=e +;if("$"!==t[0]){const e=i[t];if(void 0!==e)switch(e){case 1:return r[t];case 2: +return a[t];case 4:return n[t];case 3:return o[t]}else{if(Pv(r,t))return i[t]=1, +r[t];if(a!==Fp&&Kp(a,t))return i[t]=2,a[t];if(Kp(o,t))return i[t]=3,o[t] +;if(n!==Fp&&Kp(n,t))return i[t]=4,n[t];jv&&(i[t]=0)}}const c=$v[t];let u,d +;return c?("$attrs"===t&&Sf(e.attrs,0,""), +c(e)):(u=s.__cssModules)&&(u=u[t])?u:n!==Fp&&Kp(n,t)?(i[t]=4, +n[t]):(d=l.config.globalProperties,Kp(d,t)?d[t]:void 0)},set({_:e},t,n){ +const{data:r,setupState:a,ctx:o}=e +;return Pv(a,t)?(a[t]=n,!0):r!==Fp&&Kp(r,t)?(r[t]=n, +!0):!Kp(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(o[t]=n,!0))}, +has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:a,props:o,type:i}},s){ +let l +;return!!(n[s]||e!==Fp&&"$"!==s[0]&&Kp(e,s)||Pv(t,s)||Kp(o,s)||Kp(r,s)||Kp($v,s)||Kp(a.config.globalProperties,s)||(l=i.__cssModules)&&l[s]) +},defineProperty(e,t,n){ +return null!=n.get?e._.accessCache[t]=0:Kp(n,"value")&&this.set(e,t,n.value,null), +Reflect.defineProperty(e,t,n)}};function Dv(){return Nv().slots}function Mv(){ +return Nv().attrs}function Nv(e){const t=fy() +;return t.setupContext||(t.setupContext=Sy(t))}function Rv(e){ +return Jp(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}function Lv(e,t){ +const n=Rv(e);for(const r in t){if(r.startsWith("__skip"))continue;let e=n[r] +;e?Jp(e)||rh(e)?e=n[r]={type:e,default:t[r]}:e.default=t[r]:null===e&&(e=n[r]={ +default:t[r]}),e&&t[`__skip_${r}`]&&(e.skipFactory=!0)}return n} +function Bv(e,t){return e&&t?Jp(e)&&Jp(t)?e.concat(t):Xp({},Rv(e),Rv(t)):e||t} +let jv=!0;function Uv(e){const t=Fv(e),n=e.proxy,r=e.ctx +;jv=!1,t.beforeCreate&&zv(t.beforeCreate,e,"bc") +;const{data:a,computed:o,methods:i,watch:s,provide:l,inject:c,created:u,beforeMount:d,mounted:p,beforeUpdate:h,updated:f,activated:m,deactivated:g,beforeDestroy:v,beforeUnmount:b,destroyed:y,unmounted:O,render:w,renderTracked:x,renderTriggered:k,errorCaptured:S,serverPrefetch:_,expose:A,inheritAttrs:T,components:E,directives:C,filters:$}=t +;if(c&&function(e,t,n=Qp){Jp(e)&&(e=qv(e));for(const r in e){const n=e[r];let a +;a=ih(n)?"default"in n?ug(n.from||r,n.default,!0):ug(n.from||r):ug(n), +vm(a)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>a.value, +set:e=>a.value=e}):t[r]=a}}(c,r,null),i)for(const I in i){const e=i[I] +;rh(e)&&(r[I]=e.bind(n))}if(a){const t=a.call(n,n);ih(t)&&(e.data=om(t))} +if(jv=!0,o)for(const I in o){ +const e=o[I],t=rh(e)?e.bind(n,n):rh(e.get)?e.get.bind(n,n):Qp,a=!rh(e)&&rh(e.set)?e.set.bind(n):Qp,i=Ty({ +get:t,set:a});Object.defineProperty(r,I,{enumerable:!0,configurable:!0, +get:()=>i.value,set:e=>i.value=e})}if(s)for(const I in s)Zv(s[I],r,n,I);if(l){ +const e=rh(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{cg(t,e[t])}))} +function P(e,t){Jp(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))} +if(u&&zv(u,e,"c"), +P(lv,d),P(cv,p),P(uv,h),P(dv,f),P(nv,m),P(rv,g),P(vv,S),P(gv,x),P(mv,k),P(pv,b), +P(hv,O),P(fv,_),Jp(A))if(A.length){const t=e.exposed||(e.exposed={}) +;A.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t, +enumerable:!0})}))}else e.exposed||(e.exposed={}) +;w&&e.render===Qp&&(e.render=w),null!=T&&(e.inheritAttrs=T),E&&(e.components=E), +C&&(e.directives=C),_&&Vg(e)}function zv(e,t,n){ +Um(Jp(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Zv(e,t,n,r){ +let a=r.includes(".")?bg(n,r):()=>n[r];if(ah(e)){const n=t[e];rh(n)&&mg(a,n) +}else if(rh(e))mg(a,e.bind(n));else if(ih(e))if(Jp(e))e.forEach((e=>Zv(e,t,n,r)));else{ +const r=rh(e.handler)?e.handler.bind(n):t[e.handler];rh(r)&&mg(a,r,e)}} +function Fv(e){ +const t=e.type,{mixins:n,extends:r}=t,{mixins:a,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,s=o.get(t) +;let l;return s?l=s:a.length||n||r?(l={},a.length&&a.forEach((e=>Hv(l,e,i,!0))), +Hv(l,t,i)):l=t,ih(t)&&o.set(t,l),l}function Hv(e,t,n,r=!1){ +const{mixins:a,extends:o}=t;o&&Hv(e,o,n,!0),a&&a.forEach((t=>Hv(e,t,n,!0))) +;for(const i in t)if(r&&"expose"===i);else{const r=Qv[i]||n&&n[i] +;e[i]=r?r(e[i],t[i]):t[i]}return e}const Qv={data:Vv,props:Gv,emits:Gv, +methods:Xv,computed:Xv,beforeCreate:Wv,created:Wv,beforeMount:Wv,mounted:Wv, +beforeUpdate:Wv,updated:Wv,beforeDestroy:Wv,beforeUnmount:Wv,destroyed:Wv, +unmounted:Wv,activated:Wv,deactivated:Wv,errorCaptured:Wv,serverPrefetch:Wv, +components:Xv,directives:Xv,watch:function(e,t){if(!e)return t;if(!t)return e +;const n=Xp(Object.create(null),e);for(const r in t)n[r]=Wv(e[r],t[r]);return n +},provide:Vv,inject:function(e,t){return Xv(qv(e),qv(t))}};function Vv(e,t){ +return t?e?function(){ +return Xp(rh(e)?e.call(this,this):e,rh(t)?t.call(this,this):t)}:t:e} +function qv(e){if(Jp(e)){const t={};for(let n=0;n(a.has(e)||(e&&rh(e.install)?(a.add(e),e.install(s,...t)):rh(e)&&(a.add(e), +e(s,...t))),s),mixin:e=>(r.mixins.includes(e)||r.mixins.push(e),s), +component:(e,t)=>t?(r.components[e]=t,s):r.components[e], +directive:(e,t)=>t?(r.directives[e]=t,s):r.directives[e],mount(a,o,l){if(!i){ +const o=s._ceVNode||ey(t,n) +;return o.appContext=r,!0===l?l="svg":!1===l&&(l=void 0), +e(o,a,l),i=!0,s._container=a,a.__vue_app__=s,_y(o.component)}},onUnmount(e){ +o.push(e)},unmount(){ +i&&(Um(o,s._instance,16),e(null,s._container),delete s._container.__vue_app__)}, +provide:(e,t)=>(r.provides[e]=t,s),runWithContext(e){const t=eb;eb=s;try{ +return e()}finally{eb=t}}};return s}}let eb=null;function tb(e,t,n=Fp){ +const r=fy(),a=gh(t),o=bh(t),i=nb(e,a),s=Tm(((i,s)=>{let l,c,u=Fp +;return gg((()=>{const t=e[a];wh(l,t)&&(l=t,s())}),null,{flush:"sync"}),{ +get:()=>(i(),n.get?n.get(l):l),set(e){const i=n.set?n.set(e):e +;if(!(wh(i,l)||u!==Fp&&wh(e,u)))return;const d=r.vnode.props +;d&&(t in d||a in d||o in d)&&(`onUpdate:${t}`in d||`onUpdate:${a}`in d||`onUpdate:${o}`in d)||(l=e, +s()),r.emit(`update:${t}`,i),wh(e,i)&&wh(e,u)&&!wh(i,c)&&s(),u=e,c=i}}})) +;return s[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?i||Fp:s, +done:!1}:{done:!0}}},s} +const nb=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${gh(t)}Modifiers`]||e[`${bh(t)}Modifiers`] +;function rb(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Fp;let a=n +;const o=t.startsWith("update:"),i=o&&nb(r,t.slice(7));let s +;i&&(i.trim&&(a=n.map((e=>ah(e)?e.trim():e))),i.number&&(a=n.map(Sh))) +;let l=r[s=Oh(t)]||r[s=Oh(gh(t))];!l&&o&&(l=r[s=Oh(bh(t))]),l&&Um(l,e,6,a) +;const c=r[s+"Once"];if(c){if(e.emitted){if(e.emitted[s])return +}else e.emitted={};e.emitted[s]=!0,Um(c,e,6,a)}}const ab=new WeakMap +;function ob(e,t,n=!1){const r=n?ab:t.emitsCache,a=r.get(e) +;if(void 0!==a)return a;const o=e.emits;let i={},s=!1;if(!rh(e)){const r=e=>{ +const n=ob(e,t,!0);n&&(s=!0,Xp(i,n))} +;!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends), +e.mixins&&e.mixins.forEach(r)} +return o||s?(Jp(o)?o.forEach((e=>i[e]=null)):Xp(i,o), +ih(e)&&r.set(e,i),i):(ih(e)&&r.set(e,null),null)}function ib(e,t){ +return!(!e||!qp(t))&&(t=t.slice(2).replace(/Once$/,""), +Kp(e,t[0].toLowerCase()+t.slice(1))||Kp(e,bh(t))||Kp(e,t))}function sb(e){ +const{type:t,vnode:n,proxy:r,withProxy:a,propsOptions:[o],slots:i,attrs:s,emit:l,render:c,renderCache:u,props:d,data:p,setupState:h,ctx:f,inheritAttrs:m}=e,g=og(e) +;let v,b;try{if(4&n.shapeFlag){const e=a||r,t=e;v=iy(c.call(t,e,u,d,h,p,f)),b=s +}else{const e=t;0,v=iy(e.length>1?e(d,{attrs:s,slots:i,emit:l +}):e(d,null)),b=t.props?s:lb(s)}}catch(O){zb.length=0,zm(O,e,1),v=ey(jb)}let y=v +;if(b&&!1!==m){const e=Object.keys(b),{shapeFlag:t}=y +;e.length&&7&t&&(o&&e.some(Wp)&&(b=cb(b,o)),y=ny(y,b,!1,!0))} +return n.dirs&&(y=ny(y,null,!1,!0), +y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition&&Zg(y,n.transition), +v=y,og(g),v}const lb=e=>{let t +;for(const n in e)("class"===n||"style"===n||qp(n))&&((t||(t={}))[n]=e[n]) +;return t},cb=(e,t)=>{const n={} +;for(const r in e)Wp(r)&&r.slice(9)in t||(n[r]=e[r]);return n} +;function ub(e,t,n){const r=Object.keys(t) +;if(r.length!==Object.keys(e).length)return!0;for(let a=0;aObject.create(db),hb=e=>Object.getPrototypeOf(e)===db +;function fb(e,t,n,r=!1){const a={},o=pb() +;e.propsDefaults=Object.create(null),mb(e,t,a,o) +;for(const i in e.propsOptions[0])i in a||(a[i]=void 0) +;n?e.props=r?a:lm(a,!1,Hf,Kf,nm):e.type.props?e.props=a:e.props=o,e.attrs=o} +function mb(e,t,n,r){const[a,o]=e.propsOptions;let i,s=!1;if(t)for(let l in t){ +if(hh(l))continue;const c=t[l];let u +;a&&Kp(a,u=gh(l))?o&&o.includes(u)?(i||(i={}))[u]=c:n[u]=c:ib(e.emitsOptions,l)||l in r&&c===r[l]||(r[l]=c, +s=!0)}if(o){const t=hm(n),r=i||Fp;for(let i=0;i{l=!0;const[n,r]=bb(e,t,!0) +;Xp(i,n),r&&s.push(...r)} +;!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends), +e.mixins&&e.mixins.forEach(r)}if(!o&&!l)return ih(e)&&r.set(e,Hp),Hp +;if(Jp(o))for(let u=0;u"_"===e||"_ctx"===e||"$stable"===e,wb=e=>Jp(e)?e.map(iy):[iy(e)],xb=(e,t,n)=>{ +if(t._n)return t;const r=ig(((...e)=>wb(t(...e))),n);return r._c=!1,r +},kb=(e,t,n)=>{const r=e._ctx;for(const a in e){if(Ob(a))continue;const n=e[a] +;if(rh(n))t[a]=xb(0,n,r);else if(null!=n){const e=wb(n);t[a]=()=>e}} +},Sb=(e,t)=>{const n=wb(t);e.slots.default=()=>n},_b=(e,t,n)=>{ +for(const r in t)!n&&Ob(r)||(e[r]=t[r])},Ab=(e,t,n)=>{const r=e.slots=pb() +;if(32&e.vnode.shapeFlag){const e=t._;e?(_b(r,t,n),n&&kh(r,"_",e,!0)):kb(t,r) +}else t&&Sb(e,t)},Tb=(e,t,n)=>{const{vnode:r,slots:a}=e;let o=!0,i=Fp +;if(32&r.shapeFlag){const e=t._ +;e?n&&1===e?o=!1:_b(a,t,n):(o=!t.$stable,kb(t,a)),i=t}else t&&(Sb(e,t),i={ +default:1});if(o)for(const s in a)Ob(s)||null!=i[s]||delete a[s] +},Eb=function(e,t){ +t&&t.pendingBranch?Jp(e)?t.effects.push(...e):t.effects.push(e):Km(e)} +;function Cb(e){return function(e,t){Th().__VUE__=!0 +;const{insert:n,remove:r,patchProp:a,createElement:o,createText:i,createComment:s,setText:l,setElementText:c,parentNode:u,nextSibling:d,setScopeId:p=Qp,insertStaticContent:h}=e,f=(e,t,n,r=null,a=null,o=null,i=void 0,s=null,l=!!t.dynamicChildren)=>{ +if(e===t)return +;e&&!Gb(e,t)&&(r=Z(e),L(e,a,o,!0),e=null),-2===t.patchFlag&&(l=!1, +t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case Bb: +m(e,t,n,r);break;case jb:g(e,t,n,r);break;case Ub:null==e&&v(t,n,r,i);break +;case Lb:T(e,t,n,r,a,o,i,s,l);break;default: +1&d?O(e,t,n,r,a,o,i,s,l):6&d?E(e,t,n,r,a,o,i,s,l):(64&d||128&d)&&c.process(e,t,n,r,a,o,i,s,l,Q) +} +null!=u&&a?Xg(u,e&&e.ref,o,t||e,!t):null==u&&e&&null!=e.ref&&Xg(e.ref,null,o,e,!0) +},m=(e,t,r,a)=>{if(null==e)n(t.el=i(t.children),r,a);else{const n=t.el=e.el +;t.children!==e.children&&l(n,t.children)}},g=(e,t,r,a)=>{ +null==e?n(t.el=s(t.children||""),r,a):t.el=e.el},v=(e,t,n,r)=>{ +[e.el,e.anchor]=h(e.children,t,n,r,e.el,e.anchor)},b=({el:e,anchor:t},r,a)=>{ +let o;for(;e&&e!==t;)o=d(e),n(e,r,a),e=o;n(t,r,a)},y=({el:e,anchor:t})=>{let n +;for(;e&&e!==t;)n=d(e),r(e),e=n;r(t)},O=(e,t,n,r,a,o,i,s,l)=>{ +if("svg"===t.type?i="svg":"math"===t.type&&(i="mathml"), +null==e)w(t,n,r,a,o,i,s,l);else{const n=e.el&&e.el._isVueCE?e.el:null;try{ +n&&n._beginPatch(),S(e,t,a,o,i,s,l)}finally{n&&n._endPatch()}} +},w=(e,t,r,i,s,l,u,d)=>{let p,h;const{props:f,shapeFlag:m,transition:g,dirs:v}=e +;if(p=e.el=o(e.type,l,f&&f.is,f), +8&m?c(p,e.children):16&m&&k(e.children,p,null,i,s,$b(e,l),u,d), +v&&lg(e,null,i,"created"),x(p,e,e.scopeId,u,i),f){ +for(const e in f)"value"===e||hh(e)||a(p,e,null,f[e],l,i) +;"value"in f&&a(p,"value",null,f.value,l),(h=f.onVnodeBeforeMount)&&uy(h,i,e)} +v&&lg(e,null,i,"beforeMount");const b=function(e,t){ +return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(s,g) +;b&&g.beforeEnter(p),n(p,t,r),((h=f&&f.onVnodeMounted)||b||v)&&Eb((()=>{ +h&&uy(h,i,e),b&&g.enter(p),v&&lg(e,null,i,"mounted")}),s)},x=(e,t,n,r,a)=>{ +if(n&&p(e,n),r)for(let o=0;o{ +for(let c=l;c{const l=t.el=e.el +;let{patchFlag:u,dynamicChildren:d,dirs:p}=t;u|=16&e.patchFlag +;const h=e.props||Fp,f=t.props||Fp;let m +;if(n&&Pb(n,!1),(m=f.onVnodeBeforeUpdate)&&uy(m,n,t,e), +p&&lg(t,e,n,"beforeUpdate"), +n&&Pb(n,!0),(h.innerHTML&&null==f.innerHTML||h.textContent&&null==f.textContent)&&c(l,""), +d?_(e.dynamicChildren,d,l,n,r,$b(t,o),i):s||D(e,t,l,null,n,r,$b(t,o),i,!1),u>0){ +if(16&u)A(l,h,f,n,o);else if(2&u&&h.class!==f.class&&a(l,"class",null,f.class,o), +4&u&&a(l,"style",h.style,f.style,o),8&u){const e=t.dynamicProps +;for(let t=0;t{m&&uy(m,n,t,e),p&&lg(t,e,n,"updated")}),r) +},_=(e,t,n,r,a,o,i)=>{for(let s=0;s{if(t!==n){ +if(t!==Fp)for(const i in t)hh(i)||i in n||a(e,i,t[i],null,o,r) +;for(const i in n){if(hh(i))continue;const s=n[i],l=t[i] +;s!==l&&"value"!==i&&a(e,i,l,s,o,r)}"value"in n&&a(e,"value",t.value,n.value,o)} +},T=(e,t,r,a,o,s,l,c,u)=>{const d=t.el=e?e.el:i(""),p=t.anchor=e?e.anchor:i("") +;let{patchFlag:h,dynamicChildren:f,slotScopeIds:m}=t +;m&&(c=c?c.concat(m):m),null==e?(n(d,r,a), +n(p,r,a),k(t.children||[],r,p,o,s,l,c,u)):h>0&&64&h&&f&&e.dynamicChildren&&e.dynamicChildren.length===f.length?(_(e.dynamicChildren,f,r,o,s,l,c), +(null!=t.key||o&&t===o.subTree)&&Ib(e,t,!0)):D(e,t,r,p,o,s,l,c,u) +},E=(e,t,n,r,a,o,i,s,l)=>{ +t.slotScopeIds=s,null==e?512&t.shapeFlag?a.ctx.activate(t,n,r,i,l):C(t,n,r,a,o,i,l):$(e,t,l) +},C=(e,t,n,r,a,o,i)=>{const s=e.component=function(e,t,n){ +const r=e.type,a=(t?t.appContext:e.appContext)||dy,o={uid:py++,vnode:e,type:r, +parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null, +job:null,scope:new Vh(!0),render:null,proxy:null,exposed:null,exposeProxy:null, +withProxy:null,provides:t?t.provides:Object.create(a.provides), +ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null, +directives:null,propsOptions:bb(r,a),emitsOptions:ob(r,a),emit:null, +emitted:null,propsDefaults:Fp,inheritAttrs:r.inheritAttrs,ctx:Fp,data:Fp, +props:Fp,attrs:Fp,slots:Fp,refs:Fp,setupState:Fp,setupContext:null,suspense:n, +suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1, +isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null, +um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};o.ctx={_:o +},o.root=t?t.root:o,o.emit=rb.bind(null,o),e.ce&&e.ce(o);return o}(e,r,a) +;if(tv(e)&&(s.ctx.renderer=Q),function(e,t=!1,n=!1){t&&gy(t) +;const{props:r,children:a}=e.vnode,o=yy(e);fb(e,r,o,t),Ab(e,a,n||t) +;const i=o?function(e,t){const n=e.type +;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Iv);const{setup:r}=n +;if(r){hf() +;const n=e.setupContext=r.length>1?Sy(e):null,a=vy(e),o=jm(r,e,0,[e.props,n]),i=sh(o) +;if(ff(),a(),!i&&!e.sp||Kg(e)||Vg(e),i){if(o.then(by,by),t)return o.then((t=>{ +wy(e,t)})).catch((t=>{zm(t,e,0)}));e.asyncDep=o}else wy(e,o)}else xy(e) +}(e,t):void 0;t&&gy(!1)}(s,!1,i),s.asyncDep){if(a&&a.registerDep(s,P,i),!e.el){ +const r=s.subTree=ey(jb);g(null,r,t,n),e.placeholder=r.el}}else P(s,e,t,n,a,o,i) +},$=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){ +const{props:r,children:a,component:o}=e,{props:i,children:s,patchFlag:l}=t,c=o.emitsOptions +;if(t.dirs||t.transition)return!0 +;if(!(n&&l>=0))return!(!a&&!s||s&&s.$stable)||r!==i&&(r?!i||ub(r,i,c):!!i) +;if(1024&l)return!0;if(16&l)return r?ub(r,i,c):!!i;if(8&l){ +const e=t.dynamicProps;for(let t=0;t{const s=()=>{if(e.isMounted){ +let{next:t,bu:n,u:r,parent:l,vnode:c}=e;{const n=Db(e) +;if(n)return t&&(t.el=c.el,I(e,t,i)),void n.asyncDep.then((()=>{ +e.isUnmounted||s()}))}let d,p=t +;Pb(e,!1),t?(t.el=c.el,I(e,t,i)):t=c,n&&xh(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&uy(d,l,t,c), +Pb(e,!0);const h=sb(e),m=e.subTree +;e.subTree=h,f(m,h,u(m.el),Z(m),e,a,o),t.el=h.el, +null===p&&function({vnode:e,parent:t},n){for(;t;){const r=t.subTree +;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r!==e)break +;(e=t.vnode).el=n,t=t.parent} +}(e,h.el),r&&Eb(r,a),(d=t.props&&t.props.onVnodeUpdated)&&Eb((()=>uy(d,l,t,c)),a) +}else{let i;const{el:s,props:l}=t,{bm:c,m:u,parent:d,root:p,type:h}=e,m=Kg(t) +;Pb(e,!1),c&&xh(c),!m&&(i=l&&l.onVnodeBeforeMount)&&uy(i,d,t),Pb(e,!0);{ +p.ce&&!1!==p.ce._def.shadowRoot&&p.ce._injectChildStyle(h) +;const i=e.subTree=sb(e);f(null,i,n,r,e,a,o),t.el=i.el} +if(u&&Eb(u,a),!m&&(i=l&&l.onVnodeMounted)){const e=t;Eb((()=>uy(i,d,e)),a)} +(256&t.shapeFlag||d&&Kg(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&Eb(e.a,a), +e.isMounted=!0,t=n=r=null}};e.scope.on();const l=e.effect=new Yh(s) +;e.scope.off();const c=e.update=l.run.bind(l),d=e.job=l.runIfDirty.bind(l) +;d.i=e,d.id=e.uid,l.scheduler=()=>Gm(d),Pb(e,!0),c()},I=(e,t,n)=>{t.component=e +;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){ +const{props:a,attrs:o,vnode:{patchFlag:i}}=e,s=hm(a),[l]=e.propsOptions;let c=!1 +;if(!(r||i>0)||16&i){let r;mb(e,t,a,o)&&(c=!0) +;for(const o in s)t&&(Kp(t,o)||(r=bh(o))!==o&&Kp(t,r))||(l?!n||void 0===n[o]&&void 0===n[r]||(a[o]=gb(l,s,o,void 0,e,!0)):delete a[o]) +;if(o!==s)for(const e in o)t&&Kp(t,e)||(delete o[e],c=!0)}else if(8&i){ +const n=e.vnode.dynamicProps;for(let r=0;r{ +const u=e&&e.children,d=e?e.shapeFlag:0,p=t.children,{patchFlag:h,shapeFlag:f}=t +;if(h>0){if(128&h)return void N(u,p,n,r,a,o,i,s,l) +;if(256&h)return void M(u,p,n,r,a,o,i,s,l)} +8&f?(16&d&&z(u,a,o),p!==u&&c(n,p)):16&d?16&f?N(u,p,n,r,a,o,i,s,l):z(u,a,o,!0):(8&d&&c(n,""), +16&f&&k(p,n,r,a,o,i,s,l))},M=(e,t,n,r,a,o,i,s,l)=>{t=t||Hp +;const c=(e=e||Hp).length,u=t.length,d=Math.min(c,u);let p;for(p=0;pu?z(e,a,o,!0,!1,d):k(t,n,r,a,o,i,s,l,d)},N=(e,t,n,r,a,o,i,s,l)=>{let c=0 +;const u=t.length;let d=e.length-1,p=u-1;for(;c<=d&&c<=p;){ +const r=e[c],u=t[c]=l?sy(t[c]):iy(t[c]);if(!Gb(r,u))break +;f(r,u,n,null,a,o,i,s,l),c++}for(;c<=d&&c<=p;){ +const r=e[d],c=t[p]=l?sy(t[p]):iy(t[p]);if(!Gb(r,c))break +;f(r,c,n,null,a,o,i,s,l),d--,p--}if(c>d){if(c<=p){const e=p+1,d=ep)for(;c<=d;)L(e[c],a,o,!0),c++;else{const h=c,m=c,g=new Map +;for(c=m;c<=p;c++){const e=t[c]=l?sy(t[c]):iy(t[c]);null!=e.key&&g.set(e.key,c)} +let v,b=0;const y=p-m+1;let O=!1,w=0;const x=new Array(y);for(c=0;c=y){L(r,a,o,!0);continue}let u +;if(null!=r.key)u=g.get(r.key);else for(v=m;v<=p;v++)if(0===x[v-m]&&Gb(r,t[v])){ +u=v;break} +void 0===u?L(r,a,o,!0):(x[u-m]=c+1,u>=w?w=u:O=!0,f(r,t[u],n,null,a,o,i,s,l),b++) +}const k=O?function(e){const t=e.slice(),n=[0];let r,a,o,i,s;const l=e.length +;for(r=0;r>1,e[n[s]]0&&(t[r]=n[o-1]),n[o]=r)}}o=n.length,i=n[o-1] +;for(;o-- >0;)n[o]=i,i=t[i];return n}(x):Hp;for(v=k.length-1,c=y-1;c>=0;c--){ +const e=m+c,d=t[e],p=t[e+1],h=e+1{const{el:s,type:l,transition:c,children:u,shapeFlag:d}=e +;if(6&d)return void R(e.component.subTree,t,a,o) +;if(128&d)return void e.suspense.move(t,a,o);if(64&d)return void l.move(e,t,a,Q) +;if(l===Lb){n(s,t,a);for(let e=0;ec.enter(s)),i);else{ +const{leave:o,delayLeave:i,afterLeave:l}=c,u=()=>{ +e.ctx.isUnmounted?r(s):n(s,t,a)},d=()=>{s._isLeaving&&s[Pg](!0),o(s,(()=>{ +u(),l&&l()}))};i?i(s,u,d):d()}else n(s,t,a)},L=(e,t,n,r=!1,a=!1)=>{ +const{type:o,props:i,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p,cacheIndex:h}=e +;if(-2===d&&(a=!1), +null!=s&&(hf(),Xg(s,null,n,e,!0),ff()),null!=h&&(t.renderCache[h]=void 0), +256&u)return void t.ctx.deactivate(e);const f=1&u&&p,m=!Kg(e);let g +;if(m&&(g=i&&i.onVnodeBeforeUnmount)&&uy(g,t,e),6&u)U(e.component,n,r);else{ +if(128&u)return void e.suspense.unmount(n,r) +;f&&lg(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,Q,r):c&&!c.hasOnce&&(o!==Lb||d>0&&64&d)?z(c,t,n,!1,!0):(o===Lb&&384&d||!a&&16&u)&&z(l,t,n), +r&&B(e)}(m&&(g=i&&i.onVnodeUnmounted)||f)&&Eb((()=>{ +g&&uy(g,t,e),f&&lg(e,null,t,"unmounted")}),n)},B=e=>{ +const{type:t,el:n,anchor:a,transition:o}=e;if(t===Lb)return void j(n,a) +;if(t===Ub)return void y(e);const i=()=>{ +r(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()} +;if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:r}=o,a=()=>t(n,i) +;r?r(e.el,i,a):a()}else i()},j=(e,t)=>{let n;for(;e!==t;)n=d(e),r(e),e=n;r(t) +},U=(e,t,n)=>{const{bum:r,scope:a,job:o,subTree:i,um:s,m:l,a:c}=e +;Mb(l),Mb(c),r&&xh(r),a.stop(),o&&(o.flags|=8,L(i,e,t,n)),s&&Eb(s,t),Eb((()=>{ +e.isUnmounted=!0}),t)},z=(e,t,n,r=!1,a=!1,o=0)=>{ +for(let i=o;i{ +if(6&e.shapeFlag)return Z(e.component.subTree) +;if(128&e.shapeFlag)return e.suspense.next() +;const t=d(e.anchor||e.el),n=t&&t[yg];return n?d(n):t};let F=!1 +;const H=(e,t,n)=>{let r +;null==e?t._vnode&&(L(t._vnode,null,null,!0),r=t._vnode.component):f(t._vnode||null,e,t,null,null,null,n), +t._vnode=e,F||(F=!0,Jm(r),eg(),F=!1)},Q={p:f,um:L,m:R,r:B,mt:C,mc:k,pc:D,pbc:_, +n:Z,o:e};let V;return{render:H,hydrate:V,createApp:Jv(H)}}(e)} +function $b({type:e,props:t},n){ +return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n +}function Pb({effect:e,job:t},n){ +n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ib(e,t,n=!1){ +const r=e.children,a=t.children;if(Jp(r)&&Jp(a))for(let o=0;oe.__isSuspense +;const Lb=Symbol.for("v-fgt"),Bb=Symbol.for("v-txt"),jb=Symbol.for("v-cmt"),Ub=Symbol.for("v-stc"),zb=[] +;let Zb=null;function Fb(e=!1){zb.push(Zb=e?null:[])}let Hb=1 +;function Qb(e,t=!1){Hb+=e,e<0&&Zb&&t&&(Zb.hasOnce=!0)}function Vb(e){ +return e.dynamicChildren=Hb>0?Zb||Hp:null, +zb.pop(),Zb=zb[zb.length-1]||null,Hb>0&&Zb&&Zb.push(e),e} +function qb(e,t,n,r,a,o){return Vb(Jb(e,t,n,r,a,o,!0))}function Wb(e,t,n,r,a){ +return Vb(ey(e,t,n,r,a,!0))}function Xb(e){return!!e&&!0===e.__v_isVNode} +function Gb(e,t){return e.type===t.type&&e.key===t.key} +const Yb=({key:e})=>null!=e?e:null,Kb=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e), +null!=e?ah(e)||vm(e)||rh(e)?{i:rg,r:e,k:t,f:!!n}:e:null) +;function Jb(e,t=null,n=null,r=0,a=null,o=(e===Lb?0:1),i=!1,s=!1){const l={ +__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yb(t),ref:t&&Kb(t),scopeId:ag, +slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null, +ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null, +targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r, +dynamicProps:a,dynamicChildren:null,appContext:null,ctx:rg} +;return s?(ly(l,n),128&o&&e.normalize(l)):n&&(l.shapeFlag|=ah(n)?8:16), +Hb>0&&!i&&Zb&&(l.patchFlag>0||6&o)&&32!==l.patchFlag&&Zb.push(l),l} +const ey=function(e,t=null,n=null,r=0,a=null,o=!1){e&&e!==Ov||(e=jb);if(Xb(e)){ +const r=ny(e,t,!0) +;return n&&ly(r,n),Hb>0&&!o&&Zb&&(6&r.shapeFlag?Zb[Zb.indexOf(e)]=r:Zb.push(r)), +r.patchFlag=-2,r}i=e,rh(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=ty(t) +;let{class:e,style:n}=t +;e&&!ah(e)&&(t.class=Dh(e)),ih(n)&&(pm(n)&&!Jp(n)&&(n=Xp({},n)),t.style=Eh(n))} +const s=ah(e)?1:Rb(e)?128:Og(e)?64:ih(e)?4:rh(e)?2:0;return Jb(e,t,n,r,a,s,o,!0) +};function ty(e){return e?pm(e)||hb(e)?Xp({},e):e:null} +function ny(e,t,n=!1,r=!1){ +const{props:a,ref:o,patchFlag:i,children:s,transition:l}=e,c=t?cy(a||{},t):a,u={ +__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Yb(c), +ref:t&&t.ref?n&&o?Jp(o)?o.concat(Kb(t)):[o,Kb(t)]:Kb(t):o,scopeId:e.scopeId, +slotScopeIds:e.slotScopeIds,children:s,target:e.target, +targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount, +shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Lb?-1===i?16:16|i:i, +dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren, +appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component, +suspense:e.suspense,ssContent:e.ssContent&&ny(e.ssContent), +ssFallback:e.ssFallback&&ny(e.ssFallback),placeholder:e.placeholder,el:e.el, +anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Zg(u,l.clone(u)),u} +function ry(e=" ",t=0){return ey(Bb,null,e,t)}function ay(e,t){ +const n=ey(Ub,null,e);return n.staticCount=t,n}function oy(e="",t=!1){ +return t?(Fb(),Wb(jb,null,e)):ey(jb,null,e)}function iy(e){ +return null==e||"boolean"==typeof e?ey(jb):Jp(e)?ey(Lb,null,e.slice()):Xb(e)?sy(e):ey(Bb,null,String(e)) +}function sy(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:ny(e)} +function ly(e,t){let n=0;const{shapeFlag:r}=e +;if(null==t)t=null;else if(Jp(t))n=16;else if("object"==typeof t){if(65&r){ +const n=t.default;return void(n&&(n._c&&(n._d=!1),ly(e,n()),n._c&&(n._d=!0)))}{ +n=32;const r=t._ +;r||hb(t)?3===r&&rg&&(1===rg.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=rg} +}else rh(t)?(t={default:t,_ctx:rg},n=32):(t=String(t),64&r?(n=16,t=[ry(t)]):n=8) +;e.children=t,e.shapeFlag|=n}function cy(...e){const t={} +;for(let n=0;nhy||rg;let my,gy;{ +const e=Th(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{ +r.length>1?r.forEach((t=>t(e))):r[0](e)}} +;my=t("__VUE_INSTANCE_SETTERS__",(e=>hy=e)), +gy=t("__VUE_SSR_SETTERS__",(e=>Oy=e))}const vy=e=>{const t=hy +;return my(e),e.scope.on(),()=>{e.scope.off(),my(t)}},by=()=>{ +hy&&hy.scope.off(),my(null)};function yy(e){return 4&e.vnode.shapeFlag}let Oy=!1 +;function wy(e,t,n){ +rh(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ih(t)&&(e.setupState=_m(t)), +xy(e)}function xy(e,t,n){const r=e.type;e.render||(e.render=r.render||Qp);{ +const t=vy(e);hf();try{Uv(e)}finally{ff(),t()}}}const ky={ +get:(e,t)=>(Sf(e,0,""),e[t])};function Sy(e){const t=t=>{e.exposed=t||{}} +;return{attrs:new Proxy(e.attrs,ky),slots:e.slots,emit:e.emit,expose:t}} +function _y(e){ +return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(_m(fm(e.exposed)),{ +get:(t,n)=>n in t?t[n]:n in $v?$v[n](e):void 0,has:(e,t)=>t in e||t in $v +})):e.proxy}function Ay(e,t=!0){ +return rh(e)?e.displayName||e.name:e.name||t&&e.__name}const Ty=(e,t)=>{ +const n=function(e,t,n=!1){let r,a +;return rh(e)?r=e:(r=e.get,a=e.set),new Dm(r,a,n)}(e,0,Oy);return n} +;function Ey(e,t,n){try{Qb(-1);const r=arguments.length +;return 2===r?ih(t)&&!Jp(t)?Xb(t)?ey(e,null,[t]):ey(e,t):ey(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Xb(n)&&(n=[n]), +ey(e,t,n))}finally{Qb(1)}}const Cy="3.5.26";let $y +;const Py="undefined"!=typeof window&&window.trustedTypes;if(Py)try{ +$y=Py.createPolicy("vue",{createHTML:e=>e})}catch(zw){} +const Iy=$y?e=>$y.createHTML(e):e=>e,Dy="undefined"!=typeof document?document:null,My=Dy&&Dy.createElement("template"),Ny={ +insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode +;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{ +const a="svg"===t?Dy.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Dy.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?Dy.createElement(e,{ +is:n}):Dy.createElement(e) +;return"select"===e&&r&&null!=r.multiple&&a.setAttribute("multiple",r.multiple), +a},createText:e=>Dy.createTextNode(e),createComment:e=>Dy.createComment(e), +setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t}, +parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling, +querySelector:e=>Dy.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")}, +insertStaticContent(e,t,n,r,a,o){const i=n?n.previousSibling:t.lastChild +;if(a&&(a===o||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n), +a!==o&&(a=a.nextSibling););else{ +My.innerHTML=Iy("svg"===r?`${e}`:"mathml"===r?`${e}`:e) +;const a=My.content;if("svg"===r||"mathml"===r){const e=a.firstChild +;for(;e.firstChild;)a.appendChild(e.firstChild);a.removeChild(e)} +t.insertBefore(a,n)} +return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]} +},Ry="transition",Ly="animation",By=Symbol("_vtc"),jy={name:String,type:String, +css:{type:Boolean,default:!0},duration:[String,Number,Object], +enterFromClass:String,enterActiveClass:String,enterToClass:String, +appearFromClass:String,appearActiveClass:String,appearToClass:String, +leaveFromClass:String,leaveActiveClass:String,leaveToClass:String +},Uy=Xp({},Mg,jy),zy=e=>(e.displayName="Transition", +e.props=Uy,e),Zy=zy(((e,{slots:t})=>Ey(Lg,function(e){const t={} +;for(const E in e)E in jy||(t[E]=e[E]);if(!1===e.css)return t +;const{name:n="v",type:r,duration:a,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=i,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,f=function(e){ +if(null==e)return null;if(ih(e))return[Qy(e.enter),Qy(e.leave)];{const t=Qy(e) +;return[t,t]} +}(a),m=f&&f[0],g=f&&f[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:y,onLeave:O,onLeaveCancelled:w,onBeforeAppear:x=v,onAppear:k=b,onAppearCancelled:S=y}=t,_=(e,t,n,r)=>{ +e._enterCancelled=r,qy(e,t?u:s),qy(e,t?c:i),n&&n()},A=(e,t)=>{ +e._isLeaving=!1,qy(e,d),qy(e,h),qy(e,p),t&&t()},T=e=>(t,n)=>{ +const a=e?k:b,i=()=>_(t,e,n);Fy(a,[t,i]),Wy((()=>{ +qy(t,e?l:o),Vy(t,e?u:s),Hy(a)||Gy(t,r,m,i)}))};return Xp(t,{onBeforeEnter(e){ +Fy(v,[e]),Vy(e,o),Vy(e,i)},onBeforeAppear(e){Fy(x,[e]),Vy(e,l),Vy(e,c)}, +onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t) +;Vy(e,d),e._enterCancelled?(Vy(e,p),Jy(e)):(Jy(e),Vy(e,p)),Wy((()=>{ +e._isLeaving&&(qy(e,d),Vy(e,h),Hy(O)||Gy(e,r,g,n))})),Fy(O,[e,n])}, +onEnterCancelled(e){_(e,!1,void 0,!0),Fy(y,[e])},onAppearCancelled(e){ +_(e,!0,void 0,!0),Fy(S,[e])},onLeaveCancelled(e){A(e),Fy(w,[e])}}) +}(e),t))),Fy=(e,t=[])=>{Jp(e)?e.forEach((e=>e(...t))):e&&e(...t) +},Hy=e=>!!e&&(Jp(e)?e.some((e=>e.length>1)):e.length>1);function Qy(e){ +return _h(e)}function Vy(e,t){ +t.split(/\s+/).forEach((t=>t&&e.classList.add(t))), +(e[By]||(e[By]=new Set)).add(t)}function qy(e,t){ +t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));const n=e[By] +;n&&(n.delete(t),n.size||(e[By]=void 0))}function Wy(e){ +requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let Xy=0 +;function Gy(e,t,n,r){const a=e._endId=++Xy,o=()=>{a===e._endId&&r()} +;if(null!=n)return setTimeout(o,n) +;const{type:i,timeout:s,propCount:l}=function(e,t){ +const n=window.getComputedStyle(e),r=e=>(n[e]||"").split(", "),a=r(`${Ry}Delay`),o=r(`${Ry}Duration`),i=Yy(a,o),s=r(`${Ly}Delay`),l=r(`${Ly}Duration`),c=Yy(s,l) +;let u=null,d=0,p=0 +;t===Ry?i>0&&(u=Ry,d=i,p=o.length):t===Ly?c>0&&(u=Ly,d=c,p=l.length):(d=Math.max(i,c), +u=d>0?i>c?Ry:Ly:null,p=u?u===Ry?o.length:l.length:0) +;const h=u===Ry&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ry}Property`).toString()) +;return{type:u,timeout:d,propCount:p,hasTransform:h}}(e,t);if(!i)return r() +;const c=i+"end";let u=0;const d=()=>{e.removeEventListener(c,p),o()},p=t=>{ +t.target===e&&++u>=l&&d()};setTimeout((()=>{uKy(t)+Ky(e[n]))))}function Ky(e){ +return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Jy(e){ +return(e?e.ownerDocument:document).body.offsetHeight} +const eO=Symbol("_vod"),tO=Symbol("_vsh"),nO={name:"show", +beforeMount(e,{value:t},{transition:n}){ +e[eO]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):rO(e,t) +},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)}, +updated(e,{value:t,oldValue:n},{transition:r}){ +!t!=!n&&(r?t?(r.beforeEnter(e),rO(e,!0),r.enter(e)):r.leave(e,(()=>{rO(e,!1) +})):rO(e,t))},beforeUnmount(e,{value:t}){rO(e,t)}};function rO(e,t){ +e.style.display=t?e[eO]:"none",e[tO]=!t}const aO=Symbol("");function oO(e){ +const t=fy();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{ +Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>sO(e,n))) +},r=()=>{const r=e(t.proxy);t.ce?sO(t.ce,r):iO(t.subTree,r),n(r)};uv((()=>{Km(r) +})),cv((()=>{mg(r,Qp,{flush:"post"});const e=new MutationObserver(r) +;e.observe(t.subTree.el.parentNode,{childList:!0}),hv((()=>e.disconnect()))}))} +function iO(e,t){if(128&e.shapeFlag){const n=e.suspense +;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{ +iO(n.activeBranch,t)}))}for(;e.component;)e=e.component.subTree +;if(1&e.shapeFlag&&e.el)sO(e.el,t);else if(e.type===Lb)e.children.forEach((e=>iO(e,t)));else if(e.type===Ub){ +let{el:n,anchor:r}=e;for(;n&&(sO(n,t),n!==r);)n=n.nextSibling}}function sO(e,t){ +if(1===e.nodeType){const n=e.style;let r="";for(const e in t){const a=Fh(t[e]) +;n.setProperty(`--${e}`,a),r+=`--${e}: ${a};`}n[aO]=r}} +const lO=/(?:^|;)\s*display\s*:/;const cO=/\s*!important$/;function uO(e,t,n){ +if(Jp(n))n.forEach((n=>uO(e,t,n)));else if(null==n&&(n=""), +t.startsWith("--"))e.setProperty(t,n);else{const r=function(e,t){const n=pO[t] +;if(n)return n;let r=gh(t);if("filter"!==r&&r in e)return pO[t]=r;r=yh(r) +;for(let a=0;a{if(e._vts){ +if(e._vts<=n.attached)return}else e._vts=Date.now();Um(function(e,t){if(Jp(t)){ +const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{ +n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t +}(e,n.value),t,5,[e])};return n.value=e,n.attached=xO(),n}(r,a);gO(e,n,i,s) +}else i&&(!function(e,t,n,r){e.removeEventListener(t,n,r)}(e,n,i,s),o[t]=void 0) +}}const yO=/(?:Once|Passive|Capture)$/;let OO=0 +;const wO=Promise.resolve(),xO=()=>OO||(wO.then((()=>OO=0)),OO=Date.now()) +;const kO=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123 +;const SO=e=>{const t=e.props["onUpdate:modelValue"]||!1 +;return Jp(t)?e=>xh(t,e):t};function _O(e){e.target.composing=!0}function AO(e){ +const t=e.target +;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))} +const TO=Symbol("_assign");function EO(e,t,n){ +return t&&(e=e.trim()),n&&(e=Sh(e)),e}const CO={ +created(e,{modifiers:{lazy:t,trim:n,number:r}},a){e[TO]=SO(a) +;const o=r||a.props&&"number"===a.props.type;gO(e,t?"change":"input",(t=>{ +t.target.composing||e[TO](EO(e.value,n,o))})),(n||o)&&gO(e,"change",(()=>{ +e.value=EO(e.value,n,o) +})),t||(gO(e,"compositionstart",_O),gO(e,"compositionend",AO),gO(e,"change",AO)) +},mounted(e,{value:t}){e.value=null==t?"":t}, +beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:a,number:o}},i){ +if(e[TO]=SO(i),e.composing)return;const s=null==t?"":t +;if((!o&&"number"!==e.type||/^0\d/.test(e.value)?e.value:Sh(e.value))!==s){ +if(document.activeElement===e&&"range"!==e.type){if(r&&t===n)return +;if(a&&e.value.trim()===s)return}e.value=s}}},$O={deep:!0,created(e,t,n){ +e[TO]=SO(n),gO(e,"change",(()=>{ +const t=e._modelValue,n=NO(e),r=e.checked,a=e[TO];if(Jp(t)){ +const e=Bh(t,n),o=-1!==e;if(r&&!o)a(t.concat(n));else if(!r&&o){const n=[...t] +;n.splice(e,1),a(n)}}else if(th(t)){const e=new Set(t) +;r?e.add(n):e.delete(n),a(e)}else a(RO(e,r))}))},mounted:PO,beforeUpdate(e,t,n){ +e[TO]=SO(n),PO(e,t,n)}};function PO(e,{value:t,oldValue:n},r){let a +;if(e._modelValue=t, +Jp(t))a=Bh(t,r.props.value)>-1;else if(th(t))a=t.has(r.props.value);else{ +if(t===n)return;a=Lh(t,RO(e,!0))}e.checked!==a&&(e.checked=a)}const IO={ +created(e,{value:t},n){ +e.checked=Lh(t,n.props.value),e[TO]=SO(n),gO(e,"change",(()=>{e[TO](NO(e))}))}, +beforeUpdate(e,{value:t,oldValue:n},r){ +e[TO]=SO(r),t!==n&&(e.checked=Lh(t,r.props.value))}},DO={deep:!0, +created(e,{value:t,modifiers:{number:n}},r){const a=th(t);gO(e,"change",(()=>{ +const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?Sh(NO(e)):NO(e))) +;e[TO](e.multiple?a?new Set(t):t:t[0]),e._assigning=!0,Xm((()=>{e._assigning=!1 +}))})),e[TO]=SO(r)},mounted(e,{value:t}){MO(e,t)},beforeUpdate(e,t,n){ +e[TO]=SO(n)},updated(e,{value:t}){e._assigning||MO(e,t)}};function MO(e,t){ +const n=e.multiple,r=Jp(t);if(!n||r||th(t)){ +for(let a=0,o=e.options.length;aString(e)===String(i))):Bh(t,i)>-1 +}else o.selected=t.has(i);else if(Lh(NO(o),t))return void(e.selectedIndex!==a&&(e.selectedIndex=a)) +}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function NO(e){ +return"_value"in e?e._value:e.value}function RO(e,t){ +const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const LO={ +created(e,t,n){BO(e,t,n,null,"created")},mounted(e,t,n){BO(e,t,n,null,"mounted") +},beforeUpdate(e,t,n,r){BO(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){ +BO(e,t,n,r,"updated")}};function BO(e,t,n,r,a){const o=function(e,t){switch(e){ +case"SELECT":return DO;case"TEXTAREA":return CO;default:switch(t){ +case"checkbox":return $O;case"radio":return IO;default:return CO}} +}(e.tagName,n.props&&n.props.type)[a];o&&o(e,t,n,r)} +const jO=["ctrl","shift","alt","meta"],UO={stop:e=>e.stopPropagation(), +prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget, +ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey, +left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button, +right:e=>"button"in e&&2!==e.button, +exact:(e,t)=>jO.some((n=>e[`${n}Key`]&&!t.includes(n)))},zO=(e,t)=>{ +const n=e._withMods||(e._withMods={}),r=t.join(".") +;return n[r]||(n[r]=(n,...r)=>{for(let e=0;e{ +const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=n=>{ +if(!("key"in n))return;const r=bh(n.key) +;return t.some((e=>e===r||ZO[e]===r))?e(n):void 0})},HO=Xp({ +patchProp:(e,t,n,r,a,o)=>{const i="svg"===a;"class"===t?function(e,t,n){ +const r=e[By] +;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t +}(e,r,i):"style"===t?function(e,t,n){const r=e.style,a=ah(n);let o=!1;if(n&&!a){ +if(t)if(ah(t))for(const e of t.split(";")){ +const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&uO(r,t,"") +}else for(const e in t)null==n[e]&&uO(r,e,"") +;for(const e in n)"display"===e&&(o=!0),uO(r,e,n[e])}else if(a){if(t!==n){ +const e=r[aO];e&&(n+=";"+e),r.cssText=n,o=lO.test(n)} +}else t&&e.removeAttribute("style") +;eO in e&&(e[eO]=o?r.display:"",e[tO]&&(r.display="none")) +}(e,n,r):qp(t)?Wp(t)||bO(e,t,0,r,o):("."===t[0]?(t=t.slice(1), +1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,r){ +if(r)return"innerHTML"===t||"textContent"===t||!!(t in e&&kO(t)&&rh(n)) +;if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1 +;if("sandbox"===t&&"IFRAME"===e.tagName)return!1;if("form"===t)return!1 +;if("list"===t&&"INPUT"===e.tagName)return!1 +;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){ +const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1 +}if(kO(t)&&ah(n))return!1;return t in e +}(e,t,r,i))?(mO(e,t,r),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||fO(e,t,r,i,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&ah(r)?("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r), +fO(e,t,r,i)):mO(e,gh(t),r,0,t)}},Ny);let QO;function VO(){return QO||(QO=Cb(HO)) +}const qO=(...e)=>{VO().render(...e)},WO=(...e)=>{ +const t=VO().createApp(...e),{mount:n}=t;return t.mount=e=>{const r=function(e){ +if(ah(e)){return document.querySelector(e)}return e}(e);if(!r)return +;const a=t._component +;rh(a)||a.render||a.template||(a.template=r.innerHTML),1===r.nodeType&&(r.textContent="") +;const o=n(r,!1,function(e){if(e instanceof SVGElement)return"svg" +;if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml" +}(r)) +;return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")), +o},t};const XO="3"===Cy[0];function GO(e){ +if(e instanceof Promise||e instanceof Date||e instanceof RegExp)return e +;const t="function"==typeof(n=e)?n():xm(n);var n;if(!e||!t)return t +;if(Array.isArray(t))return t.map((e=>GO(e)));if("object"==typeof t){const e={} +;for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&("titleTemplate"===n||"o"===n[0]&&"n"===n[1]?e[n]=xm(t[n]):e[n]=GO(t[n])) +;return e}return t}const YO={hooks:{"entries:resolve":e=>{ +for(const t of e.entries)t.resolvedInput=GO(t.input)}}},KO="usehead" +;function JO(e={}){ +e.domDelayFn=e.domDelayFn||(e=>Xm((()=>setTimeout((()=>e()),0))));const t=Up(e) +;return t.use(YO),t.install=function(e){return{install(t){ +XO&&(t.config.globalProperties.$unhead=e, +t.config.globalProperties.$head=e,t.provide(KO,e))}}.install}(t),t} +const ew="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},tw="__unhead_injection_handler__" +;function nw(){if(tw in ew)return ew[tw]();return ug(KO)||jp} +function rw(e,t={}){const n=t.head||nw() +;if(n)return n.ssr?n.push(e,t):function(e,t,n={}){const r=bm(!1),a=bm({}) +;fg((()=>{a.value=r.value?{}:GO(t)}));const o=e.push(a.value,n);mg(a,(e=>{ +o.patch(e)}));fy()&&(pv((()=>{o.dispose()})),rv((()=>{r.value=!0})),nv((()=>{ +r.value=!1})));return o}(n,e,t)}function aw(e){ +"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{ +throw e}))))}function ow(){let e=[],t={ +addEventListener:(e,n,r,a)=>(e.addEventListener(n,r,a), +t.add((()=>e.removeEventListener(n,r,a)))),requestAnimationFrame(...e){ +let n=requestAnimationFrame(...e);t.add((()=>cancelAnimationFrame(n)))}, +nextFrame(...e){t.requestAnimationFrame((()=>{t.requestAnimationFrame(...e)}))}, +setTimeout(...e){let n=setTimeout(...e);t.add((()=>clearTimeout(n)))}, +microTask(...e){let n={current:!0};return aw((()=>{n.current&&e[0]() +})),t.add((()=>{n.current=!1}))},style(e,t,n){let r=e.style.getPropertyValue(t) +;return Object.assign(e.style,{[t]:n}),this.add((()=>{Object.assign(e.style,{ +[t]:r})}))},group(e){let t=ow();return e(t),this.add((()=>t.dispose()))}, +add:t=>(e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t() +}),dispose(){for(let t of e.splice(0))t()}};return t}var iw +;let sw=Symbol("headlessui.useid"),lw=0;const cw=null!=(iw=Qg)?iw:function(){ +return ug(sw,(()=>""+ ++lw))()};function uw(e){var t +;if(null==e||null==e.value)return null;let n=null!=(t=e.value.$el)?t:e.value +;return n instanceof Node?n:null}function dw(e,t,...n){if(e in t){let r=t[e] +;return"function"==typeof r?r(...n):r} +let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(r,dw),r} +var pw=Object.defineProperty,hw=(e,t,n)=>(((e,t,n)=>{t in e?pw(e,t,{ +enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n +})(e,"symbol"!=typeof t?t+"":t,n),n);let fw=new class{constructor(){ +hw(this,"current",this.detect()),hw(this,"currentId",0)}set(e){ +this.current!==e&&(this.currentId=0,this.current=e)}reset(){ +this.set(this.detect())}nextId(){return++this.currentId}get isServer(){ +return"server"===this.current}get isClient(){return"client"===this.current} +detect(){ +return"undefined"==typeof window||"undefined"==typeof document?"server":"client" +}};function mw(e){if(fw.isServer)return null +;if(e instanceof Node)return e.ownerDocument +;if(null!=e&&e.hasOwnProperty("value")){let t=uw(e);if(t)return t.ownerDocument} +return document} +let gw=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map((e=>`${e}:not([tabindex='-1'])`)).join(",") +;var vw,bw,yw,Ow=((yw=Ow||{})[yw.First=1]="First", +yw[yw.Previous=2]="Previous",yw[yw.Next=4]="Next", +yw[yw.Last=8]="Last",yw[yw.WrapAround=16]="WrapAround", +yw[yw.NoScroll=32]="NoScroll", +yw),ww=((bw=ww||{})[bw.Error=0]="Error",bw[bw.Overflow=1]="Overflow", +bw[bw.Success=2]="Success", +bw[bw.Underflow=3]="Underflow",bw),xw=((vw=xw||{})[vw.Previous=-1]="Previous", +vw[vw.Next=1]="Next",vw);function kw(e=document.body){ +return null==e?[]:Array.from(e.querySelectorAll(gw)).sort(((e,t)=>Math.sign((e.tabIndex||Number.MAX_SAFE_INTEGER)-(t.tabIndex||Number.MAX_SAFE_INTEGER)))) +}var Sw=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Sw||{}) +;function _w(e,t=0){var n;return e!==(null==(n=mw(e))?void 0:n.body)&&dw(t,{ +0:()=>e.matches(gw),1(){let t=e;for(;null!==t;){if(t.matches(gw))return!0 +;t=t.parentElement}return!1}})}function Aw(e){let t=mw(e);Xm((()=>{ +t&&!_w(t.activeElement,0)&&Ew(e)}))} +var Tw=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Tw||{}) +;function Ew(e){null==e||e.focus({preventScroll:!0})} +"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("keydown",(e=>{ +e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="") +}),!0),document.addEventListener("click",(e=>{ +1===e.detail?delete document.documentElement.dataset.headlessuiFocusVisible:0===e.detail&&(document.documentElement.dataset.headlessuiFocusVisible="") +}),!0));let Cw=["textarea","input"].join(",");function $w(e,t=e=>e){ +return e.slice().sort(((e,n)=>{let r=t(e),a=t(n);if(null===r||null===a)return 0 +;let o=r.compareDocumentPosition(a) +;return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0 +}))}function Pw(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:a=[]}={}){var o +;let i=null!=(o=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:null==e?void 0:e.ownerDocument)?o:document,s=Array.isArray(e)?n?$w(e):e:kw(e) +;a.length>0&&s.length>1&&(s=s.filter((e=>!a.includes(e)))), +r=null!=r?r:i.activeElement;let l,c=(()=>{if(5&t)return 1;if(10&t)return-1 +;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last") +})(),u=(()=>{if(1&t)return 0;if(2&t)return Math.max(0,s.indexOf(r))-1 +;if(4&t)return Math.max(0,s.indexOf(r))+1;if(8&t)return s.length-1 +;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last") +})(),d=32&t?{preventScroll:!0}:{},p=0,h=s.length;do{if(p>=h||p+h<=0)return 0 +;let e=u+p;if(16&t)e=(e+h)%h;else{if(e<0)return 3;if(e>=h)return 1} +l=s[e],null==l||l.focus(d),p+=c}while(l!==i.activeElement) +;return 6&t&&function(e){var t,n +;return null!=(n=null==(t=null==e?void 0:e.matches)?void 0:t.call(e,Cw))&&n +}(l)&&l.select(),2}function Iw(){ +return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0 +}function Dw(){return Iw()||/Android/gi.test(window.navigator.userAgent)} +function Mw(e,t,n){fw.isServer||fg((r=>{ +document.addEventListener(e,t,n),r((()=>document.removeEventListener(e,t,n)))})) +}function Nw(e,t,n){fw.isServer||fg((r=>{ +window.addEventListener(e,t,n),r((()=>window.removeEventListener(e,t,n)))}))} +function Rw(e,t,n=Ty((()=>!0))){function r(r,a){ +if(!n.value||r.defaultPrevented)return;let o=a(r) +;if(null===o||!o.getRootNode().contains(o))return;let i=function e(t){ +return"function"==typeof t?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e) +;for(let e of i){if(null===e)continue;let t=e instanceof HTMLElement?e:uw(e) +;if(null!=t&&t.contains(o)||r.composed&&r.composedPath().includes(t))return} +return!_w(o,Sw.Loose)&&-1!==o.tabIndex&&r.preventDefault(),t(r,o)}let a=bm(null) +;Mw("pointerdown",(e=>{var t,r +;n.value&&(a.value=(null==(r=null==(t=e.composedPath)?void 0:t.call(e))?void 0:r[0])||e.target) +}),!0),Mw("mousedown",(e=>{var t,r +;n.value&&(a.value=(null==(r=null==(t=e.composedPath)?void 0:t.call(e))?void 0:r[0])||e.target) +}),!0),Mw("click",(e=>{Dw()||a.value&&(r(e,(()=>a.value)),a.value=null) +}),!0),Mw("touchend",(e=>r(e,(()=>e.target instanceof HTMLElement?e.target:null))),!0), +Nw("blur",(e=>r(e,(()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null))),!0) +}function Lw(e,t){if(e)return e;let n=null!=t?t:"button" +;return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0} +function Bw(e,t){let n=bm(Lw(e.value.type,e.value.as));return cv((()=>{ +n.value=Lw(e.value.type,e.value.as)})),fg((()=>{var e +;n.value||uw(t)&&uw(t)instanceof HTMLButtonElement&&(null==(e=uw(t))||!e.hasAttribute("type"))&&(n.value="button") +})),n}function jw(e){return[e.screenX,e.screenY]}function Uw(){let e=bm([-1,-1]) +;return{wasMoved(t){let n=jw(t) +;return(e.value[0]!==n[0]||e.value[1]!==n[1])&&(e.value=n,!0)},update(t){ +e.value=jw(t)}}} +var zw,Zw=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy", +e[e.Static=2]="Static", +e))(Zw||{}),Fw=((zw=Fw||{})[zw.Unmount=0]="Unmount",zw[zw.Hidden=1]="Hidden",zw) +;function Hw({visible:e=!0,features:t=0,ourProps:n,theirProps:r,...a}){var o +;let i=qw(r,n),s=Object.assign(a,{props:i});if(e||2&t&&i.static)return Qw(s) +;if(1&t){return dw(null==(o=i.unmount)||o?0:1,{0:()=>null,1:()=>Qw({...a,props:{ +...i,hidden:!0,style:{display:"none"}}})})}return Qw(s)} +function Qw({props:e,attrs:t,slots:n,slot:r,name:a}){var o,i +;let{as:s,...l}=Ww(e,["unmount","static"]),c=null==(o=n.default)?void 0:o.call(n,r),u={} +;if(r){let e=!1,t=[] +;for(let[n,a]of Object.entries(r))"boolean"==typeof a&&(e=!0),!0===a&&t.push(n) +;e&&(u["data-headlessui-state"]=t.join(" "))}if("template"===s){ +if(c=Vw(null!=c?c:[]),Object.keys(l).length>0||Object.keys(t).length>0){ +let[e,...n]=null!=c?c:[];if(!function(e){ +return null!=e&&("string"==typeof e.type||"object"==typeof e.type||"function"==typeof e.type) +}(e)||n.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${a} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map((e=>e.trim())).filter(((e,t,n)=>n.indexOf(e)===t)).sort(((e,t)=>e.localeCompare(t))).map((e=>` - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>` - ${e}`)).join("\n")].join("\n")) +;let r=qw(null!=(i=e.props)?i:{},l,u),o=ny(e,r,!0) +;for(let t in r)t.startsWith("on")&&(o.props||(o.props={}),o.props[t]=r[t]) +;return o}return Array.isArray(c)&&1===c.length?c[0]:c} +return Ey(s,Object.assign({},l,u),{default:()=>c})}function Vw(e){ +return e.flatMap((e=>e.type===Lb?Vw(e.children):[e]))}function qw(...e){ +if(0===e.length)return{};if(1===e.length)return e[0];let t={},n={} +;for(let r of e)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=n[e]||(n[e]=[]), +n[e].push(r[e])):t[e]=r[e] +;if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(n).map((e=>[e,void 0])))) +;for(let r in n)Object.assign(t,{[r](e,...t){let a=n[r];for(let n of a){ +if(e instanceof Event&&e.defaultPrevented)return;n(e,...t)}}});return t} +function Ww(e,t=[]){let n=Object.assign({},e);for(let r of t)r in n&&delete n[r] +;return n} +var Xw=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden", +e))(Xw||{});let Gw=Hg({name:"Hidden",props:{as:{type:[Object,String], +default:"div"},features:{type:Number,default:1}}, +setup:(e,{slots:t,attrs:n})=>()=>{var r;let{features:a,...o}=e;return Hw({ +ourProps:{"aria-hidden":!(2&~a)||(null!=(r=o["aria-hidden"])?r:void 0), +hidden:!(4&~a)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0, +padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)", +whiteSpace:"nowrap",borderWidth:"0",...!(4&~a)&&!!(2&~a)&&{display:"none"}}}, +theirProps:o,slot:{},attrs:n,slots:t,name:"Hidden"})}}),Yw=Symbol("Context") +;var Kw=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing", +e[e.Opening=8]="Opening",e))(Kw||{});function Jw(){return ug(Yw,null)} +function ex(e){cg(Yw,e)} +var tx,nx=((tx=nx||{}).Space=" ",tx.Enter="Enter",tx.Escape="Escape", +tx.Backspace="Backspace", +tx.Delete="Delete",tx.ArrowLeft="ArrowLeft",tx.ArrowUp="ArrowUp", +tx.ArrowRight="ArrowRight",tx.ArrowDown="ArrowDown",tx.Home="Home",tx.End="End", +tx.PageUp="PageUp",tx.PageDown="PageDown",tx.Tab="Tab",tx);let rx=[] +;!function(e){function t(){ +"loading"!==document.readyState&&(e(),document.removeEventListener("DOMContentLoaded",t)) +} +"undefined"!=typeof window&&"undefined"!=typeof document&&(document.addEventListener("DOMContentLoaded",t), +t())}((()=>{function e(e){ +e.target instanceof HTMLElement&&e.target!==document.body&&rx[0]!==e.target&&(rx.unshift(e.target), +rx=rx.filter((e=>null!=e&&e.isConnected)),rx.splice(10))} +window.addEventListener("click",e,{capture:!0 +}),window.addEventListener("mousedown",e,{capture:!0 +}),window.addEventListener("focus",e,{capture:!0 +}),document.body.addEventListener("click",e,{capture:!0 +}),document.body.addEventListener("mousedown",e,{capture:!0 +}),document.body.addEventListener("focus",e,{capture:!0})})) +;var ax,ox=((ax=ox||{})[ax.First=0]="First", +ax[ax.Previous=1]="Previous",ax[ax.Next=2]="Next", +ax[ax.Last=3]="Last",ax[ax.Specific=4]="Specific",ax[ax.Nothing=5]="Nothing",ax) +;function ix(e,t){let n=t.resolveItems();if(n.length<=0)return null +;let r=t.resolveActiveIndex(),a=null!=r?r:-1;switch(e.focus){case 0: +for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r +;case 2:for(let e=a+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r +;case 4:for(let r=0;r{ +(e=null!=e?e:window).addEventListener(t,n,r), +a((()=>e.removeEventListener(t,n,r)))}))}var dx=(e=>(e[e.Forwards=0]="Forwards", +e[e.Backwards=1]="Backwards",e))(dx||{});function px(){let e=bm(0) +;return Nw("keydown",(t=>{"Tab"===t.key&&(e.value=t.shiftKey?1:0)})),e} +function hx(e){if(!e)return new Set;if("function"==typeof e)return new Set(e()) +;let t=new Set;for(let n of e.value){let e=uw(n) +;e instanceof HTMLElement&&t.add(e)}return t} +var fx=(e=>(e[e.None=1]="None",e[e.InitialFocus=2]="InitialFocus", +e[e.TabLock=4]="TabLock", +e[e.FocusLock=8]="FocusLock",e[e.RestoreFocus=16]="RestoreFocus", +e[e.All=30]="All",e))(fx||{});let mx=Object.assign(Hg({name:"FocusTrap",props:{ +as:{type:[Object,String],default:"div"},initialFocus:{type:Object,default:null}, +features:{type:Number,default:30},containers:{type:[Object,Function], +default:bm(new Set)}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){ +let a=bm(null);r({el:a,$el:a});let o=Ty((()=>mw(a))),i=bm(!1) +;cv((()=>i.value=!0)),hv((()=>i.value=!1)),function({ownerDocument:e},t){ +let n=function(e){let t=bm(rx.slice());return mg([e],(([e],[n])=>{ +!0===n&&!1===e?aw((()=>{t.value.splice(0) +})):!1===n&&!0===e&&(t.value=rx.slice())}),{flush:"post"}),()=>{var e +;return null!=(e=t.value.find((e=>null!=e&&e.isConnected)))?e:null}}(t) +;cv((()=>{fg((()=>{var r,a +;t.value||(null==(r=e.value)?void 0:r.activeElement)===(null==(a=e.value)?void 0:a.body)&&Ew(n()) +}),{flush:"post"})})),hv((()=>{t.value&&Ew(n())}))}({ownerDocument:o +},Ty((()=>i.value&&Boolean(16&e.features)))) +;let s=function({ownerDocument:e,container:t,initialFocus:n},r){ +let a=bm(null),o=bm(!1) +;return cv((()=>o.value=!0)),hv((()=>o.value=!1)),cv((()=>{mg([t,n,r],((i,s)=>{ +if(i.every(((e,t)=>(null==s?void 0:s[t])===e))||!r.value)return;let l=uw(t) +;l&&aw((()=>{var t,r;if(!o.value)return +;let i=uw(n),s=null==(t=e.value)?void 0:t.activeElement;if(i){ +if(i===s)return void(a.value=s)}else if(l.contains(s))return void(a.value=s) +;i?Ew(i):Pw(l,Ow.First|Ow.NoScroll)===ww.Error&&console.warn("There are no focusable elements inside the "), +a.value=null==(r=e.value)?void 0:r.activeElement}))}),{immediate:!0,flush:"post" +})})),a}({ownerDocument:o,container:a,initialFocus:Ty((()=>e.initialFocus)) +},Ty((()=>i.value&&Boolean(2&e.features)))) +;!function({ownerDocument:e,container:t,containers:n,previousActiveElement:r},a){ +var o;ux(null==(o=e.value)?void 0:o.defaultView,"focus",(e=>{if(!a.value)return +;let o=hx(n);uw(t)instanceof HTMLElement&&o.add(uw(t));let i=r.value +;if(!i)return;let s=e.target +;s&&s instanceof HTMLElement?gx(o,s)?(r.value=s,Ew(s)):(e.preventDefault(), +e.stopPropagation(),Ew(i)):Ew(r.value)}),!0)}({ownerDocument:o,container:a, +containers:e.containers,previousActiveElement:s +},Ty((()=>i.value&&Boolean(8&e.features))));let l=px();function c(e){let t=uw(a) +;t&&dw(l.value,{[dx.Forwards]:()=>{Pw(t,Ow.First,{skipElements:[e.relatedTarget] +})},[dx.Backwards]:()=>{Pw(t,Ow.Last,{skipElements:[e.relatedTarget]})}})} +let u=bm(!1);function d(e){ +"Tab"===e.key&&(u.value=!0,requestAnimationFrame((()=>{u.value=!1})))} +function p(t){if(!i.value)return;let n=hx(e.containers) +;uw(a)instanceof HTMLElement&&n.add(uw(a));let r=t.relatedTarget +;r instanceof HTMLElement&&"true"!==r.dataset.headlessuiFocusGuard&&(gx(n,r)||(u.value?Pw(uw(a),dw(l.value,{ +[dx.Forwards]:()=>Ow.Next,[dx.Backwards]:()=>Ow.Previous})|Ow.WrapAround,{ +relativeTo:t.target}):t.target instanceof HTMLElement&&Ew(t.target)))} +return()=>{let r={ref:a,onKeydown:d,onFocusout:p +},{features:o,initialFocus:i,containers:s,...l}=e +;return Ey(Lb,[Boolean(4&o)&&Ey(Gw,{as:"button",type:"button", +"data-headlessui-focus-guard":!0,onFocus:c,features:Xw.Focusable}),Hw({ +ourProps:r,theirProps:{...t,...l},slot:{},attrs:t,slots:n,name:"FocusTrap" +}),Boolean(4&o)&&Ey(Gw,{as:"button",type:"button", +"data-headlessui-focus-guard":!0,onFocus:c,features:Xw.Focusable})])}}}),{ +features:fx});function gx(e,t){for(let n of e)if(n.contains(t))return!0;return!1 +}function vx(){let e;return{before({doc:t}){var n;let r=t.documentElement +;e=(null!=(n=t.defaultView)?n:window).innerWidth-r.clientWidth}, +after({doc:t,d:n}){let r=t.documentElement,a=r.clientWidth-r.offsetWidth,o=e-a +;n.style(r,"paddingRight",`${o}px`)}}}function bx(e){let t={} +;for(let n of e)Object.assign(t,n(t));return t}let yx=function(e,t){ +let n=e(),r=new Set;return{getSnapshot:()=>n, +subscribe:e=>(r.add(e),()=>r.delete(e)),dispatch(e,...a){let o=t[e].call(n,...a) +;o&&(n=o,r.forEach((e=>e())))}}}((()=>new Map),{PUSH(e,t){var n +;let r=null!=(n=this.get(e))?n:{doc:e,count:0,d:ow(),meta:new Set} +;return r.count++,r.meta.add(t),this.set(e,r),this},POP(e,t){let n=this.get(e) +;return n&&(n.count--,n.meta.delete(t)),this}, +SCROLL_PREVENT({doc:e,d:t,meta:n}){let r={doc:e,d:t,meta:bx(n)},a=[Iw()?{ +before({doc:e,d:t,meta:n}){function r(e){ +return n.containers.flatMap((e=>e())).some((t=>t.contains(e)))} +t.microTask((()=>{var n +;if("auto"!==window.getComputedStyle(e.documentElement).scrollBehavior){ +let n=ow() +;n.style(e.documentElement,"scrollBehavior","auto"),t.add((()=>t.microTask((()=>n.dispose())))) +}let a=null!=(n=window.scrollY)?n:window.pageYOffset,o=null +;t.addEventListener(e,"click",(t=>{if(t.target instanceof HTMLElement)try{ +let n=t.target.closest("a");if(!n)return +;let{hash:a}=new URL(n.href),i=e.querySelector(a);i&&!r(i)&&(o=i)}catch{}}),!0), +t.addEventListener(e,"touchstart",(e=>{ +if(e.target instanceof HTMLElement)if(r(e.target)){let n=e.target +;for(;n.parentElement&&r(n.parentElement);)n=n.parentElement +;t.style(n,"overscrollBehavior","contain") +}else t.style(e.target,"touchAction","none") +})),t.addEventListener(e,"touchmove",(e=>{if(e.target instanceof HTMLElement){ +if("INPUT"===e.target.tagName)return;if(r(e.target)){let t=e.target +;for(;t.parentElement&&""!==t.dataset.headlessuiPortal&&!(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)t=t.parentElement +;""===t.dataset.headlessuiPortal&&e.preventDefault()}else e.preventDefault()} +}),{passive:!1}),t.add((()=>{var e +;let t=null!=(e=window.scrollY)?e:window.pageYOffset +;a!==t&&window.scrollTo(0,a),o&&o.isConnected&&(o.scrollIntoView({ +block:"nearest"}),o=null)}))}))}}:{},vx(),{before({doc:e,d:t}){ +t.style(e.documentElement,"overflow","hidden")}}] +;a.forEach((({before:e})=>null==e?void 0:e(r))), +a.forEach((({after:e})=>null==e?void 0:e(r)))},SCROLL_ALLOW({d:e}){e.dispose()}, +TEARDOWN({doc:e}){this.delete(e)}});function Ox(e,t,n){let r=function(e){ +let t=ym(e.getSnapshot());return hv(e.subscribe((()=>{t.value=e.getSnapshot() +}))),t}(yx),a=Ty((()=>{let t=e.value?r.value.get(e.value):void 0 +;return!!t&&t.count>0}));return mg([e,t],(([e,t],[r],a)=>{if(!e||!t)return +;yx.dispatch("PUSH",e,n);let o=!1;a((()=>{ +o||(yx.dispatch("POP",null!=r?r:e,n),o=!0)}))}),{immediate:!0}),a} +yx.subscribe((()=>{let e=yx.getSnapshot(),t=new Map +;for(let[n]of e)t.set(n,n.documentElement.style.overflow) +;for(let n of e.values()){let e="hidden"===t.get(n.doc),r=0!==n.count +;(r&&!e||!r&&e)&&yx.dispatch(n.count>0?"SCROLL_PREVENT":"SCROLL_ALLOW",n), +0===n.count&&yx.dispatch("TEARDOWN",n)}}));let wx=new Map,xx=new Map +;function kx(e,t=bm(!0)){fg((n=>{var r;if(!t.value)return;let a=uw(e) +;if(!a)return;n((function(){var e;if(!a)return;let t=null!=(e=xx.get(a))?e:1 +;if(1===t?xx.delete(a):xx.set(a,t-1),1!==t)return;let n=wx.get(a) +;n&&(null===n["aria-hidden"]?a.removeAttribute("aria-hidden"):a.setAttribute("aria-hidden",n["aria-hidden"]), +a.inert=n.inert,wx.delete(a))}));let o=null!=(r=xx.get(a))?r:0 +;xx.set(a,o+1),0===o&&(wx.set(a,{"aria-hidden":a.getAttribute("aria-hidden"), +inert:a.inert}),a.setAttribute("aria-hidden","true"),a.inert=!0)}))} +function Sx({defaultContainers:e=[],portals:t,mainTreeNodeRef:n}={}){ +let r=bm(null),a=mw(r);function o(){var n,o,i;let s=[] +;for(let t of e)null!==t&&(t instanceof HTMLElement?s.push(t):"value"in t&&t.value instanceof HTMLElement&&s.push(t.value)) +;if(null!=t&&t.value)for(let e of t.value)s.push(e) +;for(let e of null!=(n=null==a?void 0:a.querySelectorAll("html > *, body > *"))?n:[])e!==document.body&&e!==document.head&&e instanceof HTMLElement&&"headlessui-portal-root"!==e.id&&(e.contains(uw(r))||e.contains(null==(i=null==(o=uw(r))?void 0:o.getRootNode())?void 0:i.host)||s.some((t=>e.contains(t)))||s.push(e)) +;return s}return{resolveContainers:o,contains:e=>o().some((t=>t.contains(e))), +mainTreeNodeRef:r,MainTreeNode:()=>null!=n?null:Ey(Gw,{features:Xw.Hidden,ref:r +})}}let _x=Symbol("ForcePortalRootContext");let Ax=Hg({name:"ForcePortalRoot", +props:{as:{type:[Object,String],default:"template"},force:{type:Boolean, +default:!1}},setup:(e,{slots:t,attrs:n})=>(cg(_x,e.force),()=>{ +let{force:r,...a}=e;return Hw({theirProps:a,ourProps:{},slot:{},slots:t,attrs:n, +name:"ForcePortalRoot"})})}),Tx=Symbol("StackContext") +;var Ex=(e=>(e[e.Add=0]="Add",e[e.Remove=1]="Remove",e))(Ex||{}) +;function Cx({type:e,enabled:t,element:n,onUpdate:r}){let a=ug(Tx,(()=>{})) +;function o(...e){null==r||r(...e),a(...e)}cv((()=>{mg(t,((t,r)=>{ +t?o(0,e,n):!0===r&&o(1,e,n)}),{immediate:!0,flush:"sync"})})),hv((()=>{ +t.value&&o(1,e,n)})),cg(Tx,o)}let $x=Symbol("DescriptionContext") +;const Px=new WeakMap;function Ix(e,t){let n=t(function(e){var t +;return null!=(t=Px.get(e))?t:0}(e));return n<=0?Px.delete(e):Px.set(e,n),n} +let Dx=Hg({name:"Portal",props:{as:{type:[Object,String],default:"div"}}, +setup(e,{slots:t,attrs:n}){ +let r=bm(null),a=Ty((()=>mw(r))),o=ug(_x,!1),i=ug(Rx,null),s=bm(!0===o||null==i?function(e){ +let t=mw(e);if(!t){if(null===e)return null +;throw new Error(`[Headless UI]: Cannot find ownerDocument for contextElement: ${e}`) +}let n=t.getElementById("headlessui-portal-root");if(n)return n +;let r=t.createElement("div") +;return r.setAttribute("id","headlessui-portal-root"),t.body.appendChild(r) +}(r.value):i.resolveTarget());s.value&&Ix(s.value,(e=>e+1));let l=bm(!1) +;cv((()=>{l.value=!0})),fg((()=>{o||null!=i&&(s.value=i.resolveTarget())})) +;let c=ug(Mx,null),u=!1,d=fy();return mg(r,(()=>{if(u||!c)return;let e=uw(r) +;e&&(hv(c.register(e),d),u=!0)})),hv((()=>{var e,t +;let n=null==(e=a.value)?void 0:e.getElementById("headlessui-portal-root") +;!n||s.value!==n||Ix(s.value,(e=>e-1))||s.value.children.length>0||null==(t=s.value.parentElement)||t.removeChild(s.value) +})),()=>{if(!l.value||null===s.value)return null;let a={ref:r, +"data-headlessui-portal":""};return Ey(Eg,{to:s.value},Hw({ourProps:a, +theirProps:e,slot:{},attrs:n,slots:t,name:"Portal"}))}} +}),Mx=Symbol("PortalParentContext");function Nx(){let e=ug(Mx,null),t=bm([]) +;function n(n){let r=t.value.indexOf(n) +;-1!==r&&t.value.splice(r,1),e&&e.unregister(n)}let r={register:function(r){ +return t.value.push(r),e&&e.register(r),()=>n(r)},unregister:n,portals:t} +;return[t,Hg({name:"PortalWrapper",setup:(e,{slots:t})=>(cg(Mx,r),()=>{var e +;return null==(e=t.default)?void 0:e.call(t)})})]} +let Rx=Symbol("PortalGroupContext"),Lx=Hg({name:"PortalGroup",props:{as:{ +type:[Object,String],default:"template"},target:{type:Object,default:null}}, +setup(e,{attrs:t,slots:n}){let r=om({resolveTarget:()=>e.target}) +;return cg(Rx,r),()=>{let{target:r,...a}=e;return Hw({theirProps:a,ourProps:{}, +slot:{},attrs:t,slots:n,name:"PortalGroup"})}}}) +;var Bx,jx=((Bx=jx||{})[Bx.Open=0]="Open",Bx[Bx.Closed=1]="Closed",Bx) +;let Ux=Symbol("DialogContext");function zx(e){let t=ug(Ux,null);if(null===t){ +let t=new Error(`<${e} /> is missing a parent component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,zx),t}return t} +let Zx="DC8F892D-2EBD-447C-A4C8-A03058436FF4",Fx=Hg({name:"Dialog", +inheritAttrs:!1,props:{as:{type:[Object,String],default:"div"},static:{ +type:Boolean,default:!1},unmount:{type:Boolean,default:!0},open:{ +type:[Boolean,String],default:Zx},initialFocus:{type:Object,default:null},id:{ +type:String,default:null},role:{type:String,default:"dialog"}},emits:{ +close:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:a}){var o,i +;let s=null!=(o=e.id)?o:`headlessui-dialog-${cw()}`,l=bm(!1);cv((()=>{l.value=!0 +})) +;let c=!1,u=Ty((()=>"dialog"===e.role||"alertdialog"===e.role?e.role:(c||(c=!0, +console.warn(`Invalid role [${u}] passed to . Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)), +"dialog"))),d=bm(0),p=Jw(),h=Ty((()=>e.open===Zx&&null!==p?(p.value&Kw.Open)===Kw.Open:e.open)),f=bm(null),m=Ty((()=>mw(f))) +;if(a({el:f,$el:f +}),e.open===Zx&&null===p)throw new Error("You forgot to provide an `open` prop to the `Dialog`.") +;if("boolean"!=typeof h.value)throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${h.value===Zx?void 0:e.open}`) +;let g=Ty((()=>l.value&&h.value?0:1)),v=Ty((()=>0===g.value)),b=Ty((()=>d.value>1)),y=null!==ug(Ux,null),[O,w]=Nx(),{resolveContainers:x,mainTreeNodeRef:k,MainTreeNode:S}=Sx({ +portals:O,defaultContainers:[Ty((()=>{var e +;return null!=(e=D.panelRef.value)?e:f.value}))] +}),_=Ty((()=>b.value?"parent":"leaf")),A=Ty((()=>null!==p&&(p.value&Kw.Closing)===Kw.Closing)),T=Ty((()=>!y&&!A.value&&v.value)),E=Ty((()=>{ +var e,t,n +;return null!=(n=Array.from(null!=(t=null==(e=m.value)?void 0:e.querySelectorAll("body > *"))?t:[]).find((e=>"headlessui-portal-root"!==e.id&&(e.contains(uw(k))&&e instanceof HTMLElement))))?n:null +}));kx(E,T);let C=Ty((()=>!!b.value||v.value)),$=Ty((()=>{var e,t,n +;return null!=(n=Array.from(null!=(t=null==(e=m.value)?void 0:e.querySelectorAll("[data-headlessui-portal]"))?t:[]).find((e=>e.contains(uw(k))&&e instanceof HTMLElement)))?n:null +}));kx($,C),Cx({type:"Dialog",enabled:Ty((()=>0===g.value)),element:f, +onUpdate:(e,t)=>{if("Dialog"===t)return dw(e,{[Ex.Add]:()=>d.value+=1, +[Ex.Remove]:()=>d.value-=1})}}) +;let P=function({slot:e=bm({}),name:t="Description",props:n={}}={}){let r=bm([]) +;return cg($x,{register:function(e){return r.value.push(e),()=>{ +let t=r.value.indexOf(e);-1!==t&&r.value.splice(t,1)}},slot:e,name:t,props:n +}),Ty((()=>r.value.length>0?r.value.join(" "):void 0))}({ +name:"DialogDescription",slot:Ty((()=>({open:h.value})))}),I=bm(null),D={ +titleId:I,panelRef:bm(null),dialogState:g,setTitleId(e){I.value!==e&&(I.value=e) +},close(){t("close",!1)}};cg(Ux,D);let M=Ty((()=>!(!v.value||b.value))) +;Rw(x,((e,t)=>{e.preventDefault(),D.close(),Xm((()=>null==t?void 0:t.focus())) +}),M);let N=Ty((()=>!(b.value||0!==g.value))) +;ux(null==(i=m.value)?void 0:i.defaultView,"keydown",(e=>{ +N.value&&(e.defaultPrevented||e.key===nx.Escape&&(e.preventDefault(), +e.stopPropagation(),D.close()))}));let R=Ty((()=>!(A.value||0!==g.value||y))) +;return Ox(m,R,(e=>{var t;return{containers:[...null!=(t=e.containers)?t:[],x]} +})),fg((e=>{if(0!==g.value)return;let t=uw(f);if(!t)return +;let n=new ResizeObserver((e=>{for(let t of e){ +let e=t.target.getBoundingClientRect() +;0===e.x&&0===e.y&&0===e.width&&0===e.height&&D.close()}})) +;n.observe(t),e((()=>n.disconnect()))})),()=>{ +let{open:t,initialFocus:a,...o}=e,i={...n,ref:f,id:s,role:u.value, +"aria-modal":0===g.value||void 0,"aria-labelledby":I.value, +"aria-describedby":P.value},l={open:0===g.value};return Ey(Ax,{force:!0 +},(()=>[Ey(Dx,(()=>Ey(Lx,{target:f.value},(()=>Ey(Ax,{force:!1},(()=>Ey(mx,{ +initialFocus:a,containers:x,features:v.value?dw(_.value,{ +parent:mx.features.RestoreFocus,leaf:mx.features.All&~mx.features.FocusLock +}):mx.features.None},(()=>Ey(w,{},(()=>Hw({ourProps:i,theirProps:{...o,...n}, +slot:l,attrs:n,slots:r,visible:0===g.value,features:Zw.RenderStrategy|Zw.Static, +name:"Dialog"}))))))))))),Ey(S)]))}}}),Hx=Hg({name:"DialogPanel",props:{as:{ +type:[Object,String],default:"div"},id:{type:String,default:null}}, +setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-dialog-panel-${cw()}`,i=zx("DialogPanel") +;function s(e){e.stopPropagation()}return r({el:i.panelRef,$el:i.panelRef +}),()=>{let{...r}=e;return Hw({ourProps:{id:o,ref:i.panelRef,onClick:s}, +theirProps:r,slot:{open:0===i.dialogState.value},attrs:t,slots:n, +name:"DialogPanel"})}}}),Qx=Hg({name:"DialogTitle",props:{as:{ +type:[Object,String],default:"h2"},id:{type:String,default:null}}, +setup(e,{attrs:t,slots:n}){var r +;let a=null!=(r=e.id)?r:`headlessui-dialog-title-${cw()}`,o=zx("DialogTitle") +;return cv((()=>{o.setTitleId(a),hv((()=>o.setTitleId(null)))})),()=>{ +let{...r}=e;return Hw({ourProps:{id:a},theirProps:r,slot:{ +open:0===o.dialogState.value},attrs:t,slots:n,name:"DialogTitle"})}}}) +;var Vx=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Vx||{}) +;let qx=Symbol("DisclosureContext");function Wx(e){let t=ug(qx,null) +;if(null===t){ +let t=new Error(`<${e} /> is missing a parent component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,Wx),t}return t} +let Xx=Symbol("DisclosurePanelContext");let Gx=Hg({name:"Disclosure",props:{as:{ +type:[Object,String],default:"template"},defaultOpen:{type:[Boolean],default:!1} +},setup(e,{slots:t,attrs:n}){ +let r=bm(e.defaultOpen?0:1),a=bm(null),o=bm(null),i={ +buttonId:bm(`headlessui-disclosure-button-${cw()}`), +panelId:bm(`headlessui-disclosure-panel-${cw()}`),disclosureState:r,panel:a, +button:o,toggleDisclosure(){r.value=dw(r.value,{0:1,1:0})},closeDisclosure(){ +1!==r.value&&(r.value=1)},close(e){i.closeDisclosure() +;let t=e?e instanceof HTMLElement?e:e.value instanceof HTMLElement?uw(e):uw(i.button):uw(i.button) +;null==t||t.focus()}};return cg(qx,i),ex(Ty((()=>dw(r.value,{0:Kw.Open, +1:Kw.Closed})))),()=>{let{defaultOpen:a,...o}=e;return Hw({theirProps:o, +ourProps:{},slot:{open:0===r.value,close:i.close},slots:t,attrs:n, +name:"Disclosure"})}}}),Yx=Hg({name:"DisclosureButton",props:{as:{ +type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{ +type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){ +let a=Wx("DisclosureButton"),o=ug(Xx,null),i=Ty((()=>null!==o&&o.value===a.panelId.value)) +;cv((()=>{i.value||null!==e.id&&(a.buttonId.value=e.id)})),hv((()=>{ +i.value||(a.buttonId.value=null)}));let s=bm(null);r({el:s,$el:s +}),i.value||fg((()=>{a.button.value=s.value}));let l=Bw(Ty((()=>({as:e.as, +type:t.type}))),s);function c(){var t +;e.disabled||(i.value?(a.toggleDisclosure(), +null==(t=uw(a.button))||t.focus()):a.toggleDisclosure())}function u(t){var n +;if(!e.disabled)if(i.value)switch(t.key){case nx.Space:case nx.Enter: +t.preventDefault(), +t.stopPropagation(),a.toggleDisclosure(),null==(n=uw(a.button))||n.focus() +}else switch(t.key){case nx.Space:case nx.Enter: +t.preventDefault(),t.stopPropagation(),a.toggleDisclosure()}}function d(e){ +if(e.key===nx.Space)e.preventDefault()}return()=>{var r;let o={ +open:0===a.disclosureState.value},{id:p,...h}=e;return Hw({ourProps:i.value?{ +ref:s,type:l.value,onClick:c,onKeydown:u}:{id:null!=(r=a.buttonId.value)?r:p, +ref:s,type:l.value,"aria-expanded":0===a.disclosureState.value, +"aria-controls":0===a.disclosureState.value||uw(a.panel)?a.panelId.value:void 0, +disabled:!!e.disabled||void 0,onClick:c,onKeydown:u,onKeyup:d},theirProps:h, +slot:o,attrs:t,slots:n,name:"DisclosureButton"})}}}),Kx=Hg({ +name:"DisclosurePanel",props:{as:{type:[Object,String],default:"div"},static:{ +type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String, +default:null}},setup(e,{attrs:t,slots:n,expose:r}){let a=Wx("DisclosurePanel") +;cv((()=>{null!==e.id&&(a.panelId.value=e.id)})),hv((()=>{a.panelId.value=null +})),r({el:a.panel,$el:a.panel}),cg(Xx,a.panelId) +;let o=Jw(),i=Ty((()=>null!==o?(o.value&Kw.Open)===Kw.Open:0===a.disclosureState.value)) +;return()=>{var r;let o={open:0===a.disclosureState.value,close:a.close +},{id:s,...l}=e;return Hw({ourProps:{id:null!=(r=a.panelId.value)?r:s, +ref:a.panel},theirProps:l,slot:o,attrs:t,slots:n, +features:Zw.RenderStrategy|Zw.Static,visible:i.value,name:"DisclosurePanel"})}} +}),Jx=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g +;function ek(e){var t,n;let r=null!=(t=e.innerText)?t:"",a=e.cloneNode(!0) +;if(!(a instanceof HTMLElement))return r;let o=!1 +;for(let s of a.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))s.remove(), +o=!0;let i=o?null!=(n=a.innerText)?n:"":r +;return Jx.test(i)&&(i=i.replace(Jx,"")),i}function tk(e){let t=bm(""),n=bm("") +;return()=>{let r=uw(e);if(!r)return"";let a=r.innerText +;if(t.value===a)return n.value;let o=function(e){ +let t=e.getAttribute("aria-label");if("string"==typeof t)return t.trim() +;let n=e.getAttribute("aria-labelledby");if(n){let e=n.split(" ").map((e=>{ +let t=document.getElementById(e);if(t){let e=t.getAttribute("aria-label") +;return"string"==typeof e?e.trim():ek(t).trim()}return null})).filter(Boolean) +;if(e.length>0)return e.join(", ")}return ek(e).trim()}(r).trim().toLowerCase() +;return t.value=a,n.value=o,o}}function nk(e,t){return e===t} +var rk=(e=>(e[e.Open=0]="Open", +e[e.Closed=1]="Closed",e))(rk||{}),ak=(e=>(e[e.Single=0]="Single", +e[e.Multi=1]="Multi", +e))(ak||{}),ok=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(ok||{}) +;let ik=Symbol("ListboxContext");function sk(e){let t=ug(ik,null);if(null===t){ +let t=new Error(`<${e} /> is missing a parent component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,sk),t}return t} +let lk=Hg({name:"Listbox",emits:{"update:modelValue":e=>!0},props:{as:{ +type:[Object,String],default:"template"},disabled:{type:[Boolean],default:!1}, +by:{type:[String,Function],default:()=>nk},horizontal:{type:[Boolean],default:!1 +},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{ +type:[Object,String,Number,Boolean],default:void 0},form:{type:String, +optional:!0},name:{type:String,optional:!0},multiple:{type:[Boolean],default:!1} +},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:r}){ +let a=bm(1),o=bm(null),i=bm(null),s=bm(null),l=bm([]),c=bm(""),u=bm(null),d=bm(1) +;function p(e=e=>e){ +let t=null!==u.value?l.value[u.value]:null,n=$w(e(l.value.slice()),(e=>uw(e.dataRef.domRef))),r=t?n.indexOf(t):null +;return-1===r&&(r=null),{options:n,activeOptionIndex:r}} +let h=Ty((()=>e.multiple?1:0)),[f,m]=function(e,t,n){ +let r=bm(null==n?void 0:n.value),a=Ty((()=>void 0!==e.value)) +;return[Ty((()=>a.value?e.value:r.value)),function(e){ +return a.value||(r.value=e),null==t?void 0:t(e)}] +}(Ty((()=>e.modelValue)),(e=>r("update:modelValue",e)),Ty((()=>e.defaultValue))),g=Ty((()=>void 0===f.value?dw(h.value,{ +1:[],0:void 0}):f.value)),v={listboxState:a,value:g,mode:h,compare(t,n){ +if("string"==typeof e.by){let r=e.by +;return(null==t?void 0:t[r])===(null==n?void 0:n[r])}return e.by(t,n)}, +orientation:Ty((()=>e.horizontal?"horizontal":"vertical")),labelRef:o, +buttonRef:i,optionsRef:s,disabled:Ty((()=>e.disabled)),options:l,searchQuery:c, +activeOptionIndex:u,activationTrigger:d,closeListbox(){ +e.disabled||1!==a.value&&(a.value=1,u.value=null)},openListbox(){ +e.disabled||0!==a.value&&(a.value=0)},goToOption(t,n,r){ +if(e.disabled||1===a.value)return;let o=p(),i=ix(t===ox.Specific?{ +focus:ox.Specific,id:n}:{focus:t},{resolveItems:()=>o.options, +resolveActiveIndex:()=>o.activeOptionIndex,resolveId:e=>e.id, +resolveDisabled:e=>e.dataRef.disabled}) +;c.value="",u.value=i,d.value=null!=r?r:1,l.value=o.options},search(t){ +if(e.disabled||1===a.value)return;let n=""!==c.value?0:1 +;c.value+=t.toLowerCase() +;let r=(null!==u.value?l.value.slice(u.value+n).concat(l.value.slice(0,u.value+n)):l.value).find((e=>e.dataRef.textValue.startsWith(c.value)&&!e.dataRef.disabled)),o=r?l.value.indexOf(r):-1 +;-1===o||o===u.value||(u.value=o,d.value=1)},clearSearch(){ +e.disabled||1!==a.value&&""!==c.value&&(c.value="")},registerOption(e,t){ +let n=p((n=>[...n,{id:e,dataRef:t}])) +;l.value=n.options,u.value=n.activeOptionIndex},unregisterOption(e){ +let t=p((t=>{let n=t.findIndex((t=>t.id===e));return-1!==n&&t.splice(n,1),t})) +;l.value=t.options,u.value=t.activeOptionIndex,d.value=1},theirOnChange(t){ +e.disabled||m(t)},select(t){e.disabled||m(dw(h.value,{0:()=>t,1:()=>{ +let e=hm(v.value.value).slice(),n=hm(t),r=e.findIndex((e=>v.compare(n,hm(e)))) +;return-1===r?e.push(n):e.splice(r,1),e}}))}};Rw([i,s],((e,t)=>{var n +;v.closeListbox(), +_w(t,Sw.Loose)||(e.preventDefault(),null==(n=uw(i))||n.focus()) +}),Ty((()=>0===a.value))),cg(ik,v),ex(Ty((()=>dw(a.value,{0:Kw.Open,1:Kw.Closed +}))));let b=Ty((()=>{var e;return null==(e=uw(i))?void 0:e.closest("form")})) +;return cv((()=>{mg([b],(()=>{ +if(b.value&&void 0!==e.defaultValue)return b.value.addEventListener("reset",t), +()=>{var e;null==(e=b.value)||e.removeEventListener("reset",t)};function t(){ +v.theirOnChange(e.defaultValue)}}),{immediate:!0})})),()=>{ +let{name:r,modelValue:o,disabled:i,form:s,...l}=e,c={open:0===a.value, +disabled:i,value:g.value};return Ey(Lb,[...null!=r&&null!=g.value?sx({ +[r]:g.value}).map((([e,t])=>Ey(Gw,function(e){let t=Object.assign({},e) +;for(let n in t)void 0===t[n]&&delete t[n];return t}({features:Xw.Hidden,key:e, +as:"input",type:"hidden",hidden:!0,readOnly:!0,form:s,disabled:i,name:e,value:t +})))):[],Hw({ourProps:{},theirProps:{...n, +...Ww(l,["defaultValue","onUpdate:modelValue","horizontal","multiple","by"])}, +slot:c,slots:t,attrs:n,name:"Listbox"})])}}}),ck=Hg({name:"ListboxLabel",props:{ +as:{type:[Object,String],default:"label"},id:{type:String,default:null}}, +setup(e,{attrs:t,slots:n}){var r +;let a=null!=(r=e.id)?r:`headlessui-listbox-label-${cw()}`,o=sk("ListboxLabel") +;function i(){var e;null==(e=uw(o.buttonRef))||e.focus({preventScroll:!0})} +return()=>{let r={open:0===o.listboxState.value,disabled:o.disabled.value +},{...s}=e;return Hw({ourProps:{id:a,ref:o.labelRef,onClick:i},theirProps:s, +slot:r,attrs:t,slots:n,name:"ListboxLabel"})}}}),uk=Hg({name:"ListboxButton", +props:{as:{type:[Object,String],default:"button"},id:{type:String,default:null} +},setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-listbox-button-${cw()}`,i=sk("ListboxButton") +;function s(e){switch(e.key){case nx.Space:case nx.Enter:case nx.ArrowDown: +e.preventDefault(),i.openListbox(),Xm((()=>{var e +;null==(e=uw(i.optionsRef))||e.focus({preventScroll:!0 +}),i.value.value||i.goToOption(ox.First)}));break;case nx.ArrowUp: +e.preventDefault(),i.openListbox(),Xm((()=>{var e +;null==(e=uw(i.optionsRef))||e.focus({preventScroll:!0 +}),i.value.value||i.goToOption(ox.Last)}))}}function l(e){ +if(e.key===nx.Space)e.preventDefault()}function c(e){ +i.disabled.value||(0===i.listboxState.value?(i.closeListbox(),Xm((()=>{var e +;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0}) +}))):(e.preventDefault(),i.openListbox(),function(e){ +requestAnimationFrame((()=>requestAnimationFrame(e)))}((()=>{var e +;return null==(e=uw(i.optionsRef))?void 0:e.focus({preventScroll:!0})}))))}r({ +el:i.buttonRef,$el:i.buttonRef});let u=Bw(Ty((()=>({as:e.as,type:t.type +}))),i.buttonRef);return()=>{var r,a;let d={open:0===i.listboxState.value, +disabled:i.disabled.value,value:i.value.value},{...p}=e;return Hw({ourProps:{ +ref:i.buttonRef,id:o,type:u.value,"aria-haspopup":"listbox", +"aria-controls":null==(r=uw(i.optionsRef))?void 0:r.id, +"aria-expanded":0===i.listboxState.value, +"aria-labelledby":i.labelRef.value?[null==(a=uw(i.labelRef))?void 0:a.id,o].join(" "):void 0, +disabled:!0===i.disabled.value||void 0,onKeydown:s,onKeyup:l,onClick:c}, +theirProps:p,slot:d,attrs:t,slots:n,name:"ListboxButton"})}}}),dk=Hg({ +name:"ListboxOptions",props:{as:{type:[Object,String],default:"ul"},static:{ +type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String, +default:null}},setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-listbox-options-${cw()}`,i=sk("ListboxOptions"),s=bm(null) +;function l(e){switch(s.value&&clearTimeout(s.value),e.key){case nx.Space: +if(""!==i.searchQuery.value)return e.preventDefault(), +e.stopPropagation(),i.search(e.key);case nx.Enter: +if(e.preventDefault(),e.stopPropagation(),null!==i.activeOptionIndex.value){ +let e=i.options.value[i.activeOptionIndex.value];i.select(e.dataRef.value)} +0===i.mode.value&&(i.closeListbox(),Xm((()=>{var e +;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0})})));break +;case dw(i.orientation.value,{vertical:nx.ArrowDown,horizontal:nx.ArrowRight}): +return e.preventDefault(),e.stopPropagation(),i.goToOption(ox.Next) +;case dw(i.orientation.value,{vertical:nx.ArrowUp,horizontal:nx.ArrowLeft}): +return e.preventDefault(),e.stopPropagation(),i.goToOption(ox.Previous) +;case nx.Home:case nx.PageUp: +return e.preventDefault(),e.stopPropagation(),i.goToOption(ox.First) +;case nx.End:case nx.PageDown: +return e.preventDefault(),e.stopPropagation(),i.goToOption(ox.Last) +;case nx.Escape: +e.preventDefault(),e.stopPropagation(),i.closeListbox(),Xm((()=>{var e +;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0})}));break +;case nx.Tab:e.preventDefault(),e.stopPropagation();break;default: +1===e.key.length&&(i.search(e.key), +s.value=setTimeout((()=>i.clearSearch()),350))}}r({el:i.optionsRef, +$el:i.optionsRef}) +;let c=Jw(),u=Ty((()=>null!==c?(c.value&Kw.Open)===Kw.Open:0===i.listboxState.value)) +;return()=>{var r,a;let s={open:0===i.listboxState.value},{...c}=e;return Hw({ +ourProps:{ +"aria-activedescendant":null===i.activeOptionIndex.value||null==(r=i.options.value[i.activeOptionIndex.value])?void 0:r.id, +"aria-multiselectable":1===i.mode.value||void 0, +"aria-labelledby":null==(a=uw(i.buttonRef))?void 0:a.id, +"aria-orientation":i.orientation.value,id:o,onKeydown:l,role:"listbox", +tabIndex:0,ref:i.optionsRef},theirProps:c,slot:s,attrs:t,slots:n, +features:Zw.RenderStrategy|Zw.Static,visible:u.value,name:"ListboxOptions"})}} +}),pk=Hg({name:"ListboxOption",props:{as:{type:[Object,String],default:"li"}, +value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1}, +id:{type:String,default:null}},setup(e,{slots:t,attrs:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-listbox-option-${cw()}`,i=sk("ListboxOption"),s=bm(null) +;r({el:s,$el:s}) +;let l=Ty((()=>null!==i.activeOptionIndex.value&&i.options.value[i.activeOptionIndex.value].id===o)),c=Ty((()=>dw(i.mode.value,{ +0:()=>i.compare(hm(i.value.value),hm(e.value)), +1:()=>hm(i.value.value).some((t=>i.compare(hm(t),hm(e.value)))) +}))),u=Ty((()=>dw(i.mode.value,{1:()=>{var e;let t=hm(i.value.value) +;return(null==(e=i.options.value.find((e=>t.some((t=>i.compare(hm(t),hm(e.dataRef.value)))))))?void 0:e.id)===o +},0:()=>c.value}))),d=tk(s),p=Ty((()=>({disabled:e.disabled,value:e.value, +get textValue(){return d()},domRef:s})));function h(t){ +if(e.disabled)return t.preventDefault() +;i.select(e.value),0===i.mode.value&&(i.closeListbox(),Xm((()=>{var e +;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0})})))} +function f(){if(e.disabled)return i.goToOption(ox.Nothing) +;i.goToOption(ox.Specific,o)} +cv((()=>i.registerOption(o,p))),hv((()=>i.unregisterOption(o))),cv((()=>{ +mg([i.listboxState,c],(()=>{0===i.listboxState.value&&c.value&&dw(i.mode.value,{ +1:()=>{u.value&&i.goToOption(ox.Specific,o)},0:()=>{i.goToOption(ox.Specific,o)} +})}),{immediate:!0})})),fg((()=>{ +0===i.listboxState.value&&l.value&&0!==i.activationTrigger.value&&Xm((()=>{ +var e,t +;return null==(t=null==(e=uw(s))?void 0:e.scrollIntoView)?void 0:t.call(e,{ +block:"nearest"})}))}));let m=Uw();function g(e){m.update(e)}function v(t){ +m.wasMoved(t)&&(e.disabled||l.value||i.goToOption(ox.Specific,o,0))} +function b(t){m.wasMoved(t)&&(e.disabled||l.value&&i.goToOption(ox.Nothing))} +return()=>{let{disabled:r}=e,a={active:l.value,selected:c.value,disabled:r +},{value:i,disabled:u,...d}=e;return Hw({ourProps:{id:o,ref:s,role:"option", +tabIndex:!0===r?void 0:-1,"aria-disabled":!0===r||void 0, +"aria-selected":c.value,disabled:void 0,onClick:h,onFocus:f,onPointerenter:g, +onMouseenter:g,onPointermove:v,onMousemove:v,onPointerleave:b,onMouseleave:b}, +theirProps:d,slot:a,attrs:n,slots:t,name:"ListboxOption"})}}}) +;var hk=(e=>(e[e.Open=0]="Open", +e[e.Closed=1]="Closed",e))(hk||{}),fk=(e=>(e[e.Pointer=0]="Pointer", +e[e.Other=1]="Other",e))(fk||{});let mk=Symbol("MenuContext");function gk(e){ +let t=ug(mk,null);if(null===t){ +let t=new Error(`<${e} /> is missing a parent component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,gk),t}return t} +let vk=Hg({name:"Menu",props:{as:{type:[Object,String],default:"template"}}, +setup(e,{slots:t,attrs:n}){ +let r=bm(1),a=bm(null),o=bm(null),i=bm([]),s=bm(""),l=bm(null),c=bm(1) +;function u(e=e=>e){ +let t=null!==l.value?i.value[l.value]:null,n=$w(e(i.value.slice()),(e=>uw(e.dataRef.domRef))),r=t?n.indexOf(t):null +;return-1===r&&(r=null),{items:n,activeItemIndex:r}}let d={menuState:r, +buttonRef:a,itemsRef:o,items:i,searchQuery:s,activeItemIndex:l, +activationTrigger:c,closeMenu:()=>{r.value=1,l.value=null}, +openMenu:()=>r.value=0,goToItem(e,t,n){let r=u(),a=ix(e===ox.Specific?{ +focus:ox.Specific,id:t}:{focus:e},{resolveItems:()=>r.items, +resolveActiveIndex:()=>r.activeItemIndex,resolveId:e=>e.id, +resolveDisabled:e=>e.dataRef.disabled}) +;s.value="",l.value=a,c.value=null!=n?n:1,i.value=r.items},search(e){ +let t=""!==s.value?0:1;s.value+=e.toLowerCase() +;let n=(null!==l.value?i.value.slice(l.value+t).concat(i.value.slice(0,l.value+t)):i.value).find((e=>e.dataRef.textValue.startsWith(s.value)&&!e.dataRef.disabled)),r=n?i.value.indexOf(n):-1 +;-1===r||r===l.value||(l.value=r,c.value=1)},clearSearch(){s.value=""}, +registerItem(e,t){let n=u((n=>[...n,{id:e,dataRef:t}])) +;i.value=n.items,l.value=n.activeItemIndex,c.value=1},unregisterItem(e){ +let t=u((t=>{let n=t.findIndex((t=>t.id===e));return-1!==n&&t.splice(n,1),t})) +;i.value=t.items,l.value=t.activeItemIndex,c.value=1}};return Rw([a,o],((e,t)=>{ +var n +;d.closeMenu(),_w(t,Sw.Loose)||(e.preventDefault(),null==(n=uw(a))||n.focus()) +}),Ty((()=>0===r.value))),cg(mk,d),ex(Ty((()=>dw(r.value,{0:Kw.Open,1:Kw.Closed +})))),()=>{let a={open:0===r.value,close:d.closeMenu};return Hw({ourProps:{}, +theirProps:e,slot:a,slots:t,attrs:n,name:"Menu"})}}}),bk=Hg({name:"MenuButton", +props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String], +default:"button"},id:{type:String,default:null}}, +setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-menu-button-${cw()}`,i=gk("MenuButton") +;function s(e){switch(e.key){case nx.Space:case nx.Enter:case nx.ArrowDown: +e.preventDefault(),e.stopPropagation(),i.openMenu(),Xm((()=>{var e +;null==(e=uw(i.itemsRef))||e.focus({preventScroll:!0}),i.goToItem(ox.First)})) +;break;case nx.ArrowUp: +e.preventDefault(),e.stopPropagation(),i.openMenu(),Xm((()=>{var e +;null==(e=uw(i.itemsRef))||e.focus({preventScroll:!0}),i.goToItem(ox.Last)}))}} +function l(e){if(e.key===nx.Space)e.preventDefault()}function c(t){ +e.disabled||(0===i.menuState.value?(i.closeMenu(),Xm((()=>{var e +;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0}) +}))):(t.preventDefault(),i.openMenu(),function(e){ +requestAnimationFrame((()=>requestAnimationFrame(e)))}((()=>{var e +;return null==(e=uw(i.itemsRef))?void 0:e.focus({preventScroll:!0})}))))}r({ +el:i.buttonRef,$el:i.buttonRef});let u=Bw(Ty((()=>({as:e.as,type:t.type +}))),i.buttonRef);return()=>{var r;let a={open:0===i.menuState.value},{...d}=e +;return Hw({ourProps:{ref:i.buttonRef,id:o,type:u.value,"aria-haspopup":"menu", +"aria-controls":null==(r=uw(i.itemsRef))?void 0:r.id, +"aria-expanded":0===i.menuState.value,onKeydown:s,onKeyup:l,onClick:c}, +theirProps:d,slot:a,attrs:t,slots:n,name:"MenuButton"})}}}),yk=Hg({ +name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{ +type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String, +default:null}},setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-menu-items-${cw()}`,i=gk("MenuItems"),s=bm(null) +;function l(e){var t;switch(s.value&&clearTimeout(s.value),e.key){case nx.Space: +if(""!==i.searchQuery.value)return e.preventDefault(), +e.stopPropagation(),i.search(e.key);case nx.Enter: +if(e.preventDefault(),e.stopPropagation(),null!==i.activeItemIndex.value){ +null==(t=uw(i.items.value[i.activeItemIndex.value].dataRef.domRef))||t.click()} +i.closeMenu(),Aw(uw(i.buttonRef));break;case nx.ArrowDown: +return e.preventDefault(),e.stopPropagation(),i.goToItem(ox.Next) +;case nx.ArrowUp: +return e.preventDefault(),e.stopPropagation(),i.goToItem(ox.Previous) +;case nx.Home:case nx.PageUp: +return e.preventDefault(),e.stopPropagation(),i.goToItem(ox.First);case nx.End: +case nx.PageDown: +return e.preventDefault(),e.stopPropagation(),i.goToItem(ox.Last) +;case nx.Escape:e.preventDefault(),e.stopPropagation(),i.closeMenu(),Xm((()=>{ +var e;return null==(e=uw(i.buttonRef))?void 0:e.focus({preventScroll:!0})})) +;break;case nx.Tab: +e.preventDefault(),e.stopPropagation(),i.closeMenu(),Xm((()=>function(e,t){ +return Pw(kw(),t,{relativeTo:e}) +}(uw(i.buttonRef),e.shiftKey?Ow.Previous:Ow.Next)));break;default: +1===e.key.length&&(i.search(e.key), +s.value=setTimeout((()=>i.clearSearch()),350))}}function c(e){ +if(e.key===nx.Space)e.preventDefault()}r({el:i.itemsRef,$el:i.itemsRef +}),function({container:e,accept:t,walk:n,enabled:r}){fg((()=>{let a=e.value +;if(!a||void 0!==r&&!r.value)return;let o=mw(e);if(!o)return +;let i=Object.assign((e=>t(e)),{acceptNode:t +}),s=o.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,i,!1) +;for(;s.nextNode();)n(s.currentNode)}))}({container:Ty((()=>uw(i.itemsRef))), +enabled:Ty((()=>0===i.menuState.value)), +accept:e=>"menuitem"===e.getAttribute("role")?NodeFilter.FILTER_REJECT:e.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT, +walk(e){e.setAttribute("role","none")}}) +;let u=Jw(),d=Ty((()=>null!==u?(u.value&Kw.Open)===Kw.Open:0===i.menuState.value)) +;return()=>{var r,a;let s={open:0===i.menuState.value},{...u}=e;return Hw({ +ourProps:{ +"aria-activedescendant":null===i.activeItemIndex.value||null==(r=i.items.value[i.activeItemIndex.value])?void 0:r.id, +"aria-labelledby":null==(a=uw(i.buttonRef))?void 0:a.id,id:o,onKeydown:l, +onKeyup:c,role:"menu",tabIndex:0,ref:i.itemsRef},theirProps:u,slot:s,attrs:t, +slots:n,features:Zw.RenderStrategy|Zw.Static,visible:d.value,name:"MenuItems"})} +}}),Ok=Hg({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String], +default:"template"},disabled:{type:Boolean,default:!1},id:{type:String, +default:null}},setup(e,{slots:t,attrs:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-menu-item-${cw()}`,i=gk("MenuItem"),s=bm(null) +;r({el:s,$el:s}) +;let l=Ty((()=>null!==i.activeItemIndex.value&&i.items.value[i.activeItemIndex.value].id===o)),c=tk(s),u=Ty((()=>({ +disabled:e.disabled,get textValue(){return c()},domRef:s})));function d(t){ +if(e.disabled)return t.preventDefault();i.closeMenu(),Aw(uw(i.buttonRef))} +function p(){if(e.disabled)return i.goToItem(ox.Nothing) +;i.goToItem(ox.Specific,o)} +cv((()=>i.registerItem(o,u))),hv((()=>i.unregisterItem(o))),fg((()=>{ +0===i.menuState.value&&l.value&&0!==i.activationTrigger.value&&Xm((()=>{var e,t +;return null==(t=null==(e=uw(s))?void 0:e.scrollIntoView)?void 0:t.call(e,{ +block:"nearest"})}))}));let h=Uw();function f(e){h.update(e)}function m(t){ +h.wasMoved(t)&&(e.disabled||l.value||i.goToItem(ox.Specific,o,0))}function g(t){ +h.wasMoved(t)&&(e.disabled||l.value&&i.goToItem(ox.Nothing))}return()=>{ +let{disabled:r,...a}=e,c={active:l.value,disabled:r,close:i.closeMenu} +;return Hw({ourProps:{id:o,ref:s,role:"menuitem",tabIndex:!0===r?void 0:-1, +"aria-disabled":!0===r||void 0,onClick:d,onFocus:p,onPointerenter:f, +onMouseenter:f,onPointermove:m,onMousemove:m,onPointerleave:g,onMouseleave:g}, +theirProps:{...n,...a},slot:c,attrs:n,slots:t,name:"MenuItem"})}}}) +;var wk,xk=((wk=xk||{})[wk.Open=0]="Open",wk[wk.Closed=1]="Closed",wk) +;let kk=Symbol("PopoverContext");function Sk(e){let t=ug(kk,null);if(null===t){ +let t=new Error(`<${e} /> is missing a parent <${Ek.name} /> component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,Sk),t}return t} +let _k=Symbol("PopoverGroupContext");function Ak(){return ug(_k,null)} +let Tk=Symbol("PopoverPanelContext");let Ek=Hg({name:"Popover",inheritAttrs:!1, +props:{as:{type:[Object,String],default:"div"}}, +setup(e,{slots:t,attrs:n,expose:r}){var a;let o=bm(null);r({el:o,$el:o}) +;let i=bm(1),s=bm(null),l=bm(null),c=bm(null),u=bm(null),d=Ty((()=>mw(o))),p=Ty((()=>{ +var e,t;if(!uw(s)||!uw(u))return!1 +;for(let c of document.querySelectorAll("body > *"))if(Number(null==c?void 0:c.contains(uw(s)))^Number(null==c?void 0:c.contains(uw(u))))return!0 +;let n=kw(),r=n.indexOf(uw(s)),a=(r+n.length-1)%n.length,o=(r+1)%n.length,i=n[a],l=n[o] +;return!(null!=(e=uw(u))&&e.contains(i)||null!=(t=uw(u))&&t.contains(l))})),h={ +popoverState:i,buttonId:bm(null),panelId:bm(null),panel:u,button:s, +isPortalled:p,beforePanelSentinel:l,afterPanelSentinel:c,togglePopover(){ +i.value=dw(i.value,{0:1,1:0})},closePopover(){1!==i.value&&(i.value=1)}, +close(e){h.closePopover() +;let t=e?e instanceof HTMLElement?e:e.value instanceof HTMLElement?uw(e):uw(h.button):uw(h.button) +;null==t||t.focus()}};cg(kk,h),ex(Ty((()=>dw(i.value,{0:Kw.Open,1:Kw.Closed})))) +;let f={buttonId:h.buttonId,panelId:h.panelId,close(){h.closePopover()} +},m=Ak(),g=null==m?void 0:m.registerPopover,[v,b]=Nx(),y=Sx({ +mainTreeNodeRef:null==m?void 0:m.mainTreeNodeRef,portals:v, +defaultContainers:[s,u]}) +;return fg((()=>null==g?void 0:g(f))),ux(null==(a=d.value)?void 0:a.defaultView,"focus",(e=>{ +var t,n +;e.target!==window&&e.target instanceof HTMLElement&&0===i.value&&(function(){ +var e,t,n,r +;return null!=(r=null==m?void 0:m.isFocusWithinPopoverGroup())?r:(null==(e=d.value)?void 0:e.activeElement)&&((null==(t=uw(s))?void 0:t.contains(d.value.activeElement))||(null==(n=uw(u))?void 0:n.contains(d.value.activeElement))) +}()||s&&u&&(y.contains(e.target)||null!=(t=uw(h.beforePanelSentinel))&&t.contains(e.target)||null!=(n=uw(h.afterPanelSentinel))&&n.contains(e.target)||h.closePopover())) +}),!0),Rw(y.resolveContainers,((e,t)=>{var n +;h.closePopover(),_w(t,Sw.Loose)||(e.preventDefault(), +null==(n=uw(s))||n.focus())}),Ty((()=>0===i.value))),()=>{let r={ +open:0===i.value,close:h.close};return Ey(Lb,[Ey(b,{},(()=>Hw({theirProps:{...e, +...n},ourProps:{ref:o},slot:r,slots:t,attrs:n,name:"Popover" +}))),Ey(y.MainTreeNode)])}}}),Ck=Hg({name:"PopoverButton",props:{as:{ +type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{ +type:String,default:null}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){ +var a +;let o=null!=(a=e.id)?a:`headlessui-popover-button-${cw()}`,i=Sk("PopoverButton"),s=Ty((()=>mw(i.button))) +;r({el:i.button,$el:i.button}),cv((()=>{i.buttonId.value=o})),hv((()=>{ +i.buttonId.value=null})) +;let l=Ak(),c=null==l?void 0:l.closeOthers,u=ug(Tk,null),d=Ty((()=>null!==u&&u.value===i.panelId.value)),p=bm(null),h=`headlessui-focus-sentinel-${cw()}` +;d.value||fg((()=>{i.button.value=uw(p)}));let f=Bw(Ty((()=>({as:e.as, +type:t.type}))),p);function m(e){var t,n,r,a,o;if(d.value){ +if(1===i.popoverState.value)return;switch(e.key){case nx.Space:case nx.Enter: +e.preventDefault(), +null==(n=(t=e.target).click)||n.call(t),i.closePopover(),null==(r=uw(i.button))||r.focus() +}}else switch(e.key){case nx.Space:case nx.Enter: +e.preventDefault(),e.stopPropagation(), +1===i.popoverState.value&&(null==c||c(i.buttonId.value)),i.togglePopover();break +;case nx.Escape: +if(0!==i.popoverState.value)return null==c?void 0:c(i.buttonId.value) +;if(!uw(i.button)||null!=(a=s.value)&&a.activeElement&&(null==(o=uw(i.button))||!o.contains(s.value.activeElement)))return +;e.preventDefault(),e.stopPropagation(),i.closePopover()}}function g(e){ +d.value||e.key===nx.Space&&e.preventDefault()}function v(t){var n,r +;e.disabled||(d.value?(i.closePopover(), +null==(n=uw(i.button))||n.focus()):(t.preventDefault(), +t.stopPropagation(),1===i.popoverState.value&&(null==c||c(i.buttonId.value)), +i.togglePopover(),null==(r=uw(i.button))||r.focus()))}function b(e){ +e.preventDefault(),e.stopPropagation()}let y=px();function O(){let e=uw(i.panel) +;e&&dw(y.value,{[dx.Forwards]:()=>Pw(e,Ow.First), +[dx.Backwards]:()=>Pw(e,Ow.Last) +})===ww.Error&&Pw(kw().filter((e=>"true"!==e.dataset.headlessuiFocusGuard)),dw(y.value,{ +[dx.Forwards]:Ow.Next,[dx.Backwards]:Ow.Previous}),{relativeTo:uw(i.button)})} +return()=>{let r=0===i.popoverState.value,a={open:r},{...s}=e,l=d.value?{ref:p, +type:f.value,onKeydown:m,onClick:v}:{ref:p,id:o,type:f.value, +"aria-expanded":0===i.popoverState.value, +"aria-controls":uw(i.panel)?i.panelId.value:void 0, +disabled:!!e.disabled||void 0,onKeydown:m,onKeyup:g,onClick:v,onMousedown:b} +;return Ey(Lb,[Hw({ourProps:l,theirProps:{...t,...s},slot:a,attrs:t,slots:n, +name:"PopoverButton"}),r&&!d.value&&i.isPortalled.value&&Ey(Gw,{id:h, +features:Xw.Focusable,"data-headlessui-focus-guard":!0,as:"button", +type:"button",onFocus:O})])}}}),$k=Hg({name:"PopoverPanel",props:{as:{ +type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{ +type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String, +default:null}},inheritAttrs:!1,setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-popover-panel-${cw()}`,{focus:i}=e,s=Sk("PopoverPanel"),l=Ty((()=>mw(s.panel))),c=`headlessui-focus-sentinel-before-${cw()}`,u=`headlessui-focus-sentinel-after-${cw()}` +;r({el:s.panel,$el:s.panel}),cv((()=>{s.panelId.value=o})),hv((()=>{ +s.panelId.value=null})),cg(Tk,s.panelId),fg((()=>{var e,t +;if(!i||0!==s.popoverState.value||!s.panel)return +;let n=null==(e=l.value)?void 0:e.activeElement +;null!=(t=uw(s.panel))&&t.contains(n)||Pw(uw(s.panel),Ow.First)})) +;let d=Jw(),p=Ty((()=>null!==d?(d.value&Kw.Open)===Kw.Open:0===s.popoverState.value)) +;function h(e){var t,n;if(e.key===nx.Escape){ +if(0!==s.popoverState.value||!uw(s.panel)||l.value&&(null==(t=uw(s.panel))||!t.contains(l.value.activeElement)))return +;e.preventDefault(), +e.stopPropagation(),s.closePopover(),null==(n=uw(s.button))||n.focus()}} +function f(e){var t,n,r,a,o;let i=e.relatedTarget +;i&&uw(s.panel)&&(null!=(t=uw(s.panel))&&t.contains(i)||(s.closePopover(), +(null!=(r=null==(n=uw(s.beforePanelSentinel))?void 0:n.contains)&&r.call(n,i)||null!=(o=null==(a=uw(s.afterPanelSentinel))?void 0:a.contains)&&o.call(a,i))&&i.focus({ +preventScroll:!0})))}let m=px();function g(){let e=uw(s.panel);e&&dw(m.value,{ +[dx.Forwards]:()=>{var t +;Pw(e,Ow.First)===ww.Error&&(null==(t=uw(s.afterPanelSentinel))||t.focus())}, +[dx.Backwards]:()=>{var e;null==(e=uw(s.button))||e.focus({preventScroll:!0})}}) +}function v(){let e=uw(s.panel);e&&dw(m.value,{[dx.Forwards]:()=>{ +let e=uw(s.button),t=uw(s.panel);if(!e)return +;let n=kw(),r=n.indexOf(e),a=n.slice(0,r+1),o=[...n.slice(r+1),...a] +;for(let i of o.slice())if("true"===i.dataset.headlessuiFocusGuard||null!=t&&t.contains(i)){ +let e=o.indexOf(i);-1!==e&&o.splice(e,1)}Pw(o,Ow.First,{sorted:!1})}, +[dx.Backwards]:()=>{var t +;Pw(e,Ow.Previous)===ww.Error&&(null==(t=uw(s.button))||t.focus())}})} +return()=>{let r={open:0===s.popoverState.value,close:s.close},{focus:a,...l}=e +;return Hw({ourProps:{ref:s.panel,id:o,onKeydown:h, +onFocusout:i&&0===s.popoverState.value?f:void 0,tabIndex:-1},theirProps:{...t, +...l},attrs:t,slot:r,slots:{...n,default:(...e)=>{var t +;return[Ey(Lb,[p.value&&s.isPortalled.value&&Ey(Gw,{id:c, +ref:s.beforePanelSentinel,features:Xw.Focusable, +"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:g +}),null==(t=n.default)?void 0:t.call(n,...e),p.value&&s.isPortalled.value&&Ey(Gw,{ +id:u,ref:s.afterPanelSentinel,features:Xw.Focusable, +"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:v})])]}}, +features:Zw.RenderStrategy|Zw.Static,visible:p.value,name:"PopoverPanel"})}} +}),Pk=Hg({props:{onFocus:{type:Function,required:!0}},setup(e){let t=bm(!0) +;return()=>t.value?Ey(Gw,{as:"button",type:"button",features:Xw.Focusable, +onFocus(n){n.preventDefault();let r,a=50;r=requestAnimationFrame((function n(){ +var o +;if(!(a--<=0))return null!=(o=e.onFocus)&&o.call(e)?(t.value=!1,void cancelAnimationFrame(r)):void(r=requestAnimationFrame(n)) +;r&&cancelAnimationFrame(r)}))}}):null}}) +;var Ik,Dk=(e=>(e[e.Forwards=0]="Forwards", +e[e.Backwards=1]="Backwards",e))(Dk||{}),Mk=((Ik=Mk||{})[Ik.Less=-1]="Less", +Ik[Ik.Equal=0]="Equal",Ik[Ik.Greater=1]="Greater",Ik) +;let Nk=Symbol("TabsContext");function Rk(e){let t=ug(Nk,null);if(null===t){ +let t=new Error(`<${e} /> is missing a parent component.`) +;throw Error.captureStackTrace&&Error.captureStackTrace(t,Rk),t}return t} +let Lk=Symbol("TabsSSRContext"),Bk=Hg({name:"TabGroup",emits:{change:e=>!0}, +props:{as:{type:[Object,String],default:"template"},selectedIndex:{ +type:[Number],default:null},defaultIndex:{type:[Number],default:0},vertical:{ +type:[Boolean],default:!1},manual:{type:[Boolean],default:!1}},inheritAttrs:!1, +setup(e,{slots:t,attrs:n,emit:r}){var a +;let o=bm(null!=(a=e.selectedIndex)?a:e.defaultIndex),i=bm([]),s=bm([]),l=Ty((()=>null!==e.selectedIndex)),c=Ty((()=>l.value?e.selectedIndex:o.value)) +;function u(e){var t +;let n=$w(d.tabs.value,uw),r=$w(d.panels.value,uw),a=n.filter((e=>{var t +;return!(null!=(t=uw(e))&&t.hasAttribute("disabled"))}));if(e<0||e>n.length-1){ +let t=dw(null===o.value?0:Math.sign(e-o.value),{[-1]:()=>1, +0:()=>dw(Math.sign(e),{[-1]:()=>0,0:()=>0,1:()=>1}),1:()=>0}),i=dw(t,{ +0:()=>n.indexOf(a[0]),1:()=>n.indexOf(a[a.length-1])}) +;-1!==i&&(o.value=i),d.tabs.value=n,d.panels.value=r}else{ +let i=n.slice(0,e),s=[...n.slice(e),...i].find((e=>a.includes(e)));if(!s)return +;let l=null!=(t=n.indexOf(s))?t:d.selectedIndex.value +;-1===l&&(l=d.selectedIndex.value),o.value=l,d.tabs.value=n,d.panels.value=r}} +let d={selectedIndex:Ty((()=>{var t,n +;return null!=(n=null!=(t=o.value)?t:e.defaultIndex)?n:null})), +orientation:Ty((()=>e.vertical?"vertical":"horizontal")), +activation:Ty((()=>e.manual?"manual":"auto")),tabs:i,panels:s, +setSelectedIndex(e){c.value!==e&&r("change",e),l.value||u(e)},registerTab(e){ +var t;if(i.value.includes(e))return;let n=i.value[o.value] +;if(i.value.push(e),i.value=$w(i.value,uw),!l.value){ +let e=null!=(t=i.value.indexOf(n))?t:o.value;-1!==e&&(o.value=e)}}, +unregisterTab(e){let t=i.value.indexOf(e);-1!==t&&i.value.splice(t,1)}, +registerPanel(e){s.value.includes(e)||(s.value.push(e),s.value=$w(s.value,uw))}, +unregisterPanel(e){let t=s.value.indexOf(e);-1!==t&&s.value.splice(t,1)}} +;cg(Nk,d);let p=bm({tabs:[],panels:[]}),h=bm(!1);cv((()=>{h.value=!0 +})),cg(Lk,Ty((()=>h.value?null:p.value)));let f=Ty((()=>e.selectedIndex)) +;return cv((()=>{mg([f],(()=>{var t +;return u(null!=(t=e.selectedIndex)?t:e.defaultIndex)}),{immediate:!0}) +})),fg((()=>{if(!l.value||null==c.value||d.tabs.value.length<=0)return +;let e=$w(d.tabs.value,uw) +;e.some(((e,t)=>uw(d.tabs.value[t])!==uw(e)))&&d.setSelectedIndex(e.findIndex((e=>uw(e)===uw(d.tabs.value[c.value])))) +})),()=>{let r={selectedIndex:o.value};return Ey(Lb,[i.value.length<=0&&Ey(Pk,{ +onFocus:()=>{for(let e of i.value){let t=uw(e) +;if(0===(null==t?void 0:t.tabIndex))return t.focus(),!0}return!1}}),Hw({ +theirProps:{...n, +...Ww(e,["selectedIndex","defaultIndex","manual","vertical","onChange"])}, +ourProps:{},slot:r,slots:t,attrs:n,name:"TabGroup"})])}}}),jk=Hg({ +name:"TabList",props:{as:{type:[Object,String],default:"div"}}, +setup(e,{attrs:t,slots:n}){let r=Rk("TabList");return()=>{let a={ +selectedIndex:r.selectedIndex.value};return Hw({ourProps:{role:"tablist", +"aria-orientation":r.orientation.value},theirProps:e,slot:a,attrs:t,slots:n, +name:"TabList"})}}}),Uk=Hg({name:"Tab",props:{as:{type:[Object,String], +default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String, +default:null}},setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-tabs-tab-${cw()}`,i=Rk("Tab"),s=bm(null);r({ +el:s,$el:s}),cv((()=>i.registerTab(s))),hv((()=>i.unregisterTab(s))) +;let l=ug(Lk),c=Ty((()=>{if(l.value){let e=l.value.tabs.indexOf(o) +;return-1===e?l.value.tabs.push(o)-1:e}return-1})),u=Ty((()=>{ +let e=i.tabs.value.indexOf(s);return-1===e?c.value:e +})),d=Ty((()=>u.value===i.selectedIndex.value));function p(e){var t;let n=e() +;if(n===ww.Success&&"auto"===i.activation.value){ +let e=null==(t=mw(s))?void 0:t.activeElement,n=i.tabs.value.findIndex((t=>uw(t)===e)) +;-1!==n&&i.setSelectedIndex(n)}return n}function h(e){ +let t=i.tabs.value.map((e=>uw(e))).filter(Boolean) +;if(e.key===nx.Space||e.key===nx.Enter)return e.preventDefault(), +e.stopPropagation(),void i.setSelectedIndex(u.value);switch(e.key){case nx.Home: +case nx.PageUp: +return e.preventDefault(),e.stopPropagation(),p((()=>Pw(t,Ow.First))) +;case nx.End:case nx.PageDown: +return e.preventDefault(),e.stopPropagation(),p((()=>Pw(t,Ow.Last)))} +return p((()=>dw(i.orientation.value,{ +vertical:()=>e.key===nx.ArrowUp?Pw(t,Ow.Previous|Ow.WrapAround):e.key===nx.ArrowDown?Pw(t,Ow.Next|Ow.WrapAround):ww.Error, +horizontal:()=>e.key===nx.ArrowLeft?Pw(t,Ow.Previous|Ow.WrapAround):e.key===nx.ArrowRight?Pw(t,Ow.Next|Ow.WrapAround):ww.Error +})))===ww.Success?e.preventDefault():void 0}let f=bm(!1);function m(){var t +;f.value||(f.value=!0,!e.disabled&&(null==(t=uw(s))||t.focus({preventScroll:!0 +}),i.setSelectedIndex(u.value),aw((()=>{f.value=!1}))))}function g(e){ +e.preventDefault()}let v=Bw(Ty((()=>({as:e.as,type:t.type}))),s);return()=>{ +var r,a;let l={selected:d.value,disabled:null!=(r=e.disabled)&&r},{...c}=e +;return Hw({ourProps:{ref:s,onKeydown:h,onMousedown:g,onClick:m,id:o,role:"tab", +type:v.value,"aria-controls":null==(a=uw(i.panels.value[u.value]))?void 0:a.id, +"aria-selected":d.value,tabIndex:d.value?0:-1,disabled:!!e.disabled||void 0}, +theirProps:c,slot:l,attrs:t,slots:n,name:"Tab"})}}}),zk=Hg({name:"TabPanels", +props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:t,attrs:n}){ +let r=Rk("TabPanels");return()=>{let a={selectedIndex:r.selectedIndex.value} +;return Hw({theirProps:e,ourProps:{},slot:a,attrs:n,slots:t,name:"TabPanels"})}} +}),Zk=Hg({name:"TabPanel",props:{as:{type:[Object,String],default:"div"}, +static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{ +type:String,default:null},tabIndex:{type:Number,default:0}}, +setup(e,{attrs:t,slots:n,expose:r}){var a +;let o=null!=(a=e.id)?a:`headlessui-tabs-panel-${cw()}`,i=Rk("TabPanel"),s=bm(null) +;r({el:s,$el:s}),cv((()=>i.registerPanel(s))),hv((()=>i.unregisterPanel(s))) +;let l=ug(Lk),c=Ty((()=>{if(l.value){let e=l.value.panels.indexOf(o) +;return-1===e?l.value.panels.push(o)-1:e}return-1})),u=Ty((()=>{ +let e=i.panels.value.indexOf(s);return-1===e?c.value:e +})),d=Ty((()=>u.value===i.selectedIndex.value));return()=>{var r;let a={ +selected:d.value},{tabIndex:l,...c}=e,p={ref:s,id:o,role:"tabpanel", +"aria-labelledby":null==(r=uw(i.tabs.value[u.value]))?void 0:r.id, +tabIndex:d.value?l:-1};return d.value||!e.unmount||e.static?Hw({ourProps:p, +theirProps:c,slot:a,attrs:t,slots:n,features:Zw.Static|Zw.RenderStrategy, +visible:d.value,name:"TabPanel"}):Ey(Gw,{as:"span","aria-hidden":!0,...p})}}}) +;function Fk(e){var t,n,r="" +;if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e)){ +var a=e.length;for(t=0;t"boolean"==typeof e?`${e}`:0===e?"0":e,Vk=(e=new Map,t=null,n)=>({ +nextPart:e,validators:t,classGroupId:n}),qk="-",Wk=[],Xk=e=>{ +const t=Kk(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e +;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]"))return Yk(e) +;const n=e.split(qk),r=""===n[0]&&n.length>1?1:0;return Gk(n,r,t)}, +getConflictingClassGroupIds:(e,t)=>{if(t){const t=r[e],a=n[e] +;return t?a?((e,t)=>{const n=new Array(e.length+t.length) +;for(let r=0;r{if(0===e.length-t)return n.classGroupId +;const r=e[t],a=n.nextPart.get(r);if(a){const n=Gk(e,t+1,a);if(n)return n} +const o=n.validators;if(null===o)return +;const i=0===t?e.join(qk):e.slice(t).join(qk),s=o.length;for(let l=0;l-1===e.slice(1,-1).indexOf(":")?void 0:(()=>{ +const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n) +;return r?"arbitrary.."+r:void 0})(),Kk=e=>{const{theme:t,classGroups:n}=e +;return Jk(n,t)},Jk=(e,t)=>{const n=Vk();for(const r in e){const a=e[r] +;eS(a,n,r,t)}return n},eS=(e,t,n,r)=>{const a=e.length;for(let o=0;o{ +"string"!=typeof e?"function"!=typeof e?aS(e,t,n,r):rS(e,t,n,r):nS(e,t,n) +},nS=(e,t,n)=>{(""===e?t:oS(t,e)).classGroupId=n},rS=(e,t,n,r)=>{ +iS(e)?eS(e(r),t,n,r):(null===t.validators&&(t.validators=[]), +t.validators.push(((e,t)=>({classGroupId:e,validator:t}))(n,e))) +},aS=(e,t,n,r)=>{const a=Object.entries(e),o=a.length;for(let i=0;i{let n=e +;const r=t.split(qk),a=r.length;for(let o=0;o"isThemeGetter"in e&&!0===e.isThemeGetter,sS=e=>{if(e<1)return{ +get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null) +;const a=(a,o)=>{n[a]=o,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){ +let t=n[e];return void 0!==t?t:void 0!==(t=r[e])?(a(e,t),t):void 0},set(e,t){ +e in n?n[e]=t:a(e,t)}}},lS=[],cS=(e,t,n,r,a)=>({modifiers:e, +hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r, +isExternal:a}),uS=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=e=>{ +const t=[];let n,r=0,a=0,o=0;const i=e.length;for(let u=0;uo?n-o:void 0)} +;if(t){const e=t+":",n=r +;r=t=>t.startsWith(e)?n(t.slice(e.length)):cS(lS,!1,t,void 0,!0)}if(n){const e=r +;r=t=>n({className:t,parseClassName:e})}return r},dS=e=>{const t=new Map +;return e.orderSensitiveModifiers.forEach(((e,n)=>{t.set(e,1e6+n)})),e=>{ +const n=[];let r=[];for(let a=0;a0&&(r.sort(),n.push(...r),r=[]),n.push(o)):r.push(o)} +return r.length>0&&(r.sort(),n.push(...r)),n}},pS=/\s+/,hS=e=>{ +if("string"==typeof e)return e;let t,n="" +;for(let r=0;r{let n,r,a,o;const i=e=>{const t=r(e);if(t)return t +;const o=((e,t)=>{ +const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:o}=t,i=[],s=e.trim().split(pS) +;let l="";for(let c=s.length-1;c>=0;c-=1){ +const e=s[c],{isExternal:t,modifiers:u,hasImportantModifier:d,baseClassName:p,maybePostfixModifierPosition:h}=n(e) +;if(t){l=e+(l.length>0?" "+l:l);continue}let f=!!h,m=r(f?p.substring(0,h):p) +;if(!m){if(!f){l=e+(l.length>0?" "+l:l);continue}if(m=r(p),!m){ +l=e+(l.length>0?" "+l:l);continue}f=!1} +const g=0===u.length?"":1===u.length?u[0]:o(u).join(":"),v=d?g+"!":g,b=v+m +;if(i.indexOf(b)>-1)continue;i.push(b);const y=a(m,f) +;for(let n=0;n0?" "+l:l)} +return l})(e,n);return a(e,o),o};return o=s=>{ +const l=t.reduce(((e,t)=>t(e)),e());return n=(e=>({cache:sS(e.cacheSize), +parseClassName:uS(e),sortModifiers:dS(e),...Xk(e) +}))(l),r=n.cache.get,a=n.cache.set,o=i,i(s)},(...e)=>o(((...e)=>{ +let t,n,r=0,a="";for(;r{const t=t=>t[e]||mS;return t.isThemeGetter=!0,t +},vS=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,bS=/^\((?:(\w[\w-]*):)?(.+)\)$/i,yS=/^\d+\/\d+$/,OS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,wS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,xS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,kS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,SS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,_S=e=>yS.test(e),AS=e=>!!e&&!Number.isNaN(Number(e)),TS=e=>!!e&&Number.isInteger(Number(e)),ES=e=>e.endsWith("%")&&AS(e.slice(0,-1)),CS=e=>OS.test(e),$S=()=>!0,PS=e=>wS.test(e)&&!xS.test(e),IS=()=>!1,DS=e=>kS.test(e),MS=e=>SS.test(e),NS=e=>!LS(e)&&!FS(e),RS=e=>GS(e,e_,IS),LS=e=>vS.test(e),BS=e=>GS(e,t_,PS),jS=e=>GS(e,n_,AS),US=e=>GS(e,KS,IS),zS=e=>GS(e,JS,MS),ZS=e=>GS(e,a_,DS),FS=e=>bS.test(e),HS=e=>YS(e,t_),QS=e=>YS(e,r_),VS=e=>YS(e,KS),qS=e=>YS(e,e_),WS=e=>YS(e,JS),XS=e=>YS(e,a_,!0),GS=(e,t,n)=>{ +const r=vS.exec(e);return!!r&&(r[1]?t(r[1]):n(r[2]))},YS=(e,t,n=!1)=>{ +const r=bS.exec(e);return!!r&&(r[1]?t(r[1]):n) +},KS=e=>"position"===e||"percentage"===e,JS=e=>"image"===e||"url"===e,e_=e=>"length"===e||"size"===e||"bg-size"===e,t_=e=>"length"===e,n_=e=>"number"===e,r_=e=>"family-name"===e,a_=e=>"shadow"===e,o_=()=>{ +const e=gS("color"),t=gS("font"),n=gS("text"),r=gS("font-weight"),a=gS("tracking"),o=gS("leading"),i=gS("breakpoint"),s=gS("container"),l=gS("spacing"),c=gS("radius"),u=gS("shadow"),d=gS("inset-shadow"),p=gS("text-shadow"),h=gS("drop-shadow"),f=gS("blur"),m=gS("perspective"),g=gS("aspect"),v=gS("ease"),b=gS("animate"),y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",FS,LS],O=()=>[FS,LS,l],w=()=>[_S,"full","auto",...O()],x=()=>[TS,"none","subgrid",FS,LS],k=()=>["auto",{ +span:["full",TS,FS,LS] +},TS,FS,LS],S=()=>[TS,"auto",FS,LS],_=()=>["auto","min","max","fr",FS,LS],A=()=>["auto",...O()],T=()=>[_S,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],E=()=>[e,FS,LS],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",VS,US,{ +position:[FS,LS]}],$=()=>["auto","cover","contain",qS,RS,{size:[FS,LS] +}],P=()=>[ES,HS,BS],I=()=>["","none","full",c,FS,LS],D=()=>["",AS,HS,BS],M=()=>[AS,ES,VS,US],N=()=>["","none",f,FS,LS],R=()=>["none",AS,FS,LS],L=()=>["none",AS,FS,LS],B=()=>[AS,FS,LS],j=()=>[_S,"full",...O()] +;return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"], +aspect:["video"],blur:[CS],breakpoint:[CS],color:[$S],container:[CS], +"drop-shadow":[CS],ease:["in","out","in-out"],font:[NS], +"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"], +"inset-shadow":[CS],leading:["none","tight","snug","normal","relaxed","loose"], +perspective:["dramatic","near","normal","midrange","distant","none"], +radius:[CS],shadow:[CS],spacing:["px",AS],text:[CS],"text-shadow":[CS], +tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{ +aspect:[{aspect:["auto","square",_S,LS,FS,g]}],container:["container"], +columns:[{columns:[AS,LS,FS,s]}],"break-after":[{ +"break-after":["auto","avoid","all","avoid-page","page","left","right","column"] +}],"break-before":[{ +"break-before":["auto","avoid","all","avoid-page","page","left","right","column"] +}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"] +}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{ +box:["border","content"]}], +display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"], +sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"] +}],clear:[{clear:["left","right","both","none","start","end"]}], +isolation:["isolate","isolation-auto"],"object-fit":[{ +object:["contain","cover","fill","none","scale-down"]}],"object-position":[{ +object:y()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}], +"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}], +"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}], +overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{ +"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{ +"overscroll-y":["auto","contain","none"]}], +position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}], +"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}], +end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}], +left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{ +z:[TS,"auto",FS,LS]}],basis:[{basis:[_S,"full","auto",s,...O()]}], +"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}], +"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{ +flex:[AS,_S,"auto","initial","none",LS]}],grow:[{grow:["",AS,FS,LS]}],shrink:[{ +shrink:["",AS,FS,LS]}],order:[{order:[TS,"first","last","none",FS,LS]}], +"grid-cols":[{"grid-cols":x()}],"col-start-end":[{col:k()}],"col-start":[{ +"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":x()}], +"row-start-end":[{row:k()}],"row-start":[{"row-start":S()}],"row-end":[{ +"row-end":S()}],"grid-flow":[{ +"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{ +"auto-cols":_()}],"auto-rows":[{"auto-rows":_()}],gap:[{gap:O()}],"gap-x":[{ +"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{ +justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"] +}],"justify-items":[{ +"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"] +}],"justify-self":[{ +"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"] +}],"align-content":[{ +content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"] +}],"align-items":[{ +items:["start","end","center","stretch","center-safe","end-safe",{ +baseline:["","last"]}]}],"align-self":[{ +self:["auto","start","end","center","stretch","center-safe","end-safe",{ +baseline:["","last"]}]}],"place-content":[{ +"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"] +}],"place-items":[{ +"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"] +}],"place-self":[{ +"place-self":["auto","start","end","center","stretch","center-safe","end-safe"] +}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{ +pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:A()}],mx:[{mx:A()}], +my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{ +mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":O()}], +"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}], +"space-y-reverse":["space-y-reverse"],size:[{size:T()}],w:[{ +w:[s,"screen",...T()]}],"min-w":[{"min-w":[s,"screen","none",...T()]}], +"max-w":[{"max-w":[s,"screen","none","prose",{screen:[i]},...T()]}],h:[{ +h:["screen","lh",...T()]}],"min-h":[{"min-h":["screen","lh","none",...T()]}], +"max-h":[{"max-h":["screen","lh",...T()]}],"font-size":[{text:["base",n,HS,BS] +}],"font-smoothing":["antialiased","subpixel-antialiased"], +"font-style":["italic","not-italic"],"font-weight":[{font:[r,FS,jS]}], +"font-stretch":[{ +"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ES,LS] +}],"font-family":[{font:[QS,LS,t]}],"fvn-normal":["normal-nums"], +"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"], +"fvn-figure":["lining-nums","oldstyle-nums"], +"fvn-spacing":["proportional-nums","tabular-nums"], +"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{ +tracking:[a,FS,LS]}],"line-clamp":[{"line-clamp":[AS,"none",FS,jS]}],leading:[{ +leading:[o,...O()]}],"list-image":[{"list-image":["none",FS,LS]}], +"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{ +list:["disc","decimal","none",FS,LS]}],"text-alignment":[{ +text:["left","center","right","justify","start","end"]}],"placeholder-color":[{ +placeholder:E()}],"text-color":[{text:E()}], +"text-decoration":["underline","overline","line-through","no-underline"], +"text-decoration-style":[{decoration:["solid","dashed","dotted","double","wavy"] +}],"text-decoration-thickness":[{decoration:[AS,"from-font","auto",FS,BS]}], +"text-decoration-color":[{decoration:E()}],"underline-offset":[{ +"underline-offset":[AS,"auto",FS,LS]}], +"text-transform":["uppercase","lowercase","capitalize","normal-case"], +"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{ +text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}], +"vertical-align":[{ +align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",FS,LS] +}],whitespace:[{ +whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}], +break:[{break:["normal","words","all","keep"]}],wrap:[{ +wrap:["break-word","anywhere","normal"]}],hyphens:[{ +hyphens:["none","manual","auto"]}],content:[{content:["none",FS,LS]}], +"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{ +"bg-clip":["border","padding","content","text"]}],"bg-origin":[{ +"bg-origin":["border","padding","content"]}],"bg-position":[{bg:C()}], +"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}], +"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{ +to:["t","tr","r","br","b","bl","l","tl"]},TS,FS,LS],radial:["",FS,LS], +conic:[TS,FS,LS]},WS,zS]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:P() +}],"gradient-via-pos":[{via:P()}],"gradient-to-pos":[{to:P()}], +"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E() +}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{ +"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I() +}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}], +"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}], +"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}], +"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}], +"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}], +"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{ +"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D() +}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}], +"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{ +"divide-x":D()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{ +"divide-y":D()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{ +border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{ +divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{ +border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{ +"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{ +"border-e":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{ +"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{ +"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{ +outline:["solid","dashed","dotted","double","none","hidden"]}], +"outline-offset":[{"outline-offset":[AS,FS,LS]}],"outline-w":[{ +outline:["",AS,HS,BS]}],"outline-color":[{outline:E()}],shadow:[{ +shadow:["","none",u,XS,ZS]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{ +"inset-shadow":["none",d,XS,ZS]}],"inset-shadow-color":[{"inset-shadow":E()}], +"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:E()}], +"ring-offset-w":[{"ring-offset":[AS,BS]}],"ring-offset-color":[{ +"ring-offset":E()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{ +"inset-ring":E()}],"text-shadow":[{"text-shadow":["none",p,XS,ZS]}], +"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[AS,FS,LS]}], +"mix-blend":[{ +"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"] +}],"bg-blend":[{ +"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"] +}],"mask-clip":[{ +"mask-clip":["border","padding","content","fill","stroke","view"] +},"mask-no-clip"],"mask-composite":[{ +mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{ +"mask-linear":[AS]}],"mask-image-linear-from-pos":[{"mask-linear-from":M()}], +"mask-image-linear-to-pos":[{"mask-linear-to":M()}], +"mask-image-linear-from-color":[{"mask-linear-from":E()}], +"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{ +"mask-t-from":M()}],"mask-image-t-to-pos":[{"mask-t-to":M()}], +"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{ +"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":M()}], +"mask-image-r-to-pos":[{"mask-r-to":M()}],"mask-image-r-from-color":[{ +"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}], +"mask-image-b-from-pos":[{"mask-b-from":M()}],"mask-image-b-to-pos":[{ +"mask-b-to":M()}],"mask-image-b-from-color":[{"mask-b-from":E()}], +"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{ +"mask-l-from":M()}],"mask-image-l-to-pos":[{"mask-l-to":M()}], +"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{ +"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":M()}], +"mask-image-x-to-pos":[{"mask-x-to":M()}],"mask-image-x-from-color":[{ +"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}], +"mask-image-y-from-pos":[{"mask-y-from":M()}],"mask-image-y-to-pos":[{ +"mask-y-to":M()}],"mask-image-y-from-color":[{"mask-y-from":E()}], +"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{ +"mask-radial":[FS,LS]}],"mask-image-radial-from-pos":[{"mask-radial-from":M()}], +"mask-image-radial-to-pos":[{"mask-radial-to":M()}], +"mask-image-radial-from-color":[{"mask-radial-from":E()}], +"mask-image-radial-to-color":[{"mask-radial-to":E()}], +"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}], +"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"], +farthest:["side","corner"]}]}],"mask-image-radial-pos":[{ +"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"] +}],"mask-image-conic-pos":[{"mask-conic":[AS]}],"mask-image-conic-from-pos":[{ +"mask-conic-from":M()}],"mask-image-conic-to-pos":[{"mask-conic-to":M()}], +"mask-image-conic-from-color":[{"mask-conic-from":E()}], +"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{ +mask:["alpha","luminance","match"]}],"mask-origin":[{ +"mask-origin":["border","padding","content","fill","stroke","view"]}], +"mask-position":[{mask:C()}],"mask-repeat":[{mask:["no-repeat",{ +repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:$()}],"mask-type":[{ +"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",FS,LS]}], +filter:[{filter:["","none",FS,LS]}],blur:[{blur:N()}],brightness:[{ +brightness:[AS,FS,LS]}],contrast:[{contrast:[AS,FS,LS]}],"drop-shadow":[{ +"drop-shadow":["","none",h,XS,ZS]}],"drop-shadow-color":[{"drop-shadow":E()}], +grayscale:[{grayscale:["",AS,FS,LS]}],"hue-rotate":[{"hue-rotate":[AS,FS,LS]}], +invert:[{invert:["",AS,FS,LS]}],saturate:[{saturate:[AS,FS,LS]}],sepia:[{ +sepia:["",AS,FS,LS]}],"backdrop-filter":[{"backdrop-filter":["","none",FS,LS]}], +"backdrop-blur":[{"backdrop-blur":N()}],"backdrop-brightness":[{ +"backdrop-brightness":[AS,FS,LS]}],"backdrop-contrast":[{ +"backdrop-contrast":[AS,FS,LS]}],"backdrop-grayscale":[{ +"backdrop-grayscale":["",AS,FS,LS]}],"backdrop-hue-rotate":[{ +"backdrop-hue-rotate":[AS,FS,LS]}],"backdrop-invert":[{ +"backdrop-invert":["",AS,FS,LS]}],"backdrop-opacity":[{ +"backdrop-opacity":[AS,FS,LS]}],"backdrop-saturate":[{ +"backdrop-saturate":[AS,FS,LS]}],"backdrop-sepia":[{ +"backdrop-sepia":["",AS,FS,LS]}],"border-collapse":[{ +border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}], +"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{ +"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{ +caption:["top","bottom"]}],transition:[{ +transition:["","all","colors","opacity","shadow","transform","none",FS,LS]}], +"transition-behavior":[{transition:["normal","discrete"]}],duration:[{ +duration:[AS,"initial",FS,LS]}],ease:[{ease:["linear","initial",v,FS,LS]}], +delay:[{delay:[AS,FS,LS]}],animate:[{animate:["none",b,FS,LS]}],backface:[{ +backface:["hidden","visible"]}],perspective:[{perspective:[m,FS,LS]}], +"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:R()}], +"rotate-x":[{"rotate-x":R()}],"rotate-y":[{"rotate-y":R()}],"rotate-z":[{ +"rotate-z":R()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{ +"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":["scale-3d"],skew:[{ +skew:B()}],"skew-x":[{"skew-x":B()}],"skew-y":[{"skew-y":B()}],transform:[{ +transform:[FS,LS,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}], +"transform-style":[{transform:["3d","flat"]}],translate:[{translate:j()}], +"translate-x":[{"translate-x":j()}],"translate-y":[{"translate-y":j()}], +"translate-z":[{"translate-z":j()}],"translate-none":["translate-none"], +accent:[{accent:E()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{ +caret:E()}],"color-scheme":[{ +scheme:["normal","dark","light","light-dark","only-dark","only-light"]}], +cursor:[{ +cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",FS,LS] +}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{ +"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}], +"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}], +"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{ +"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O() +}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}], +"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{ +"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O() +}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}], +"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{ +"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}], +"snap-stop":[{snap:["normal","always"]}],"snap-type":[{ +snap:["none","x","y","both"]}],"snap-strictness":[{ +snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}], +"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{ +"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{ +select:["none","text","all","auto"]}],"will-change":[{ +"will-change":["auto","scroll","contents","transform",FS,LS]}],fill:[{ +fill:["none",...E()]}],"stroke-w":[{stroke:[AS,HS,BS,jS]}],stroke:[{ +stroke:["none",...E()]}],"forced-color-adjust":[{ +"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{ +overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"], +inset:["inset-x","inset-y","start","end","top","right","bottom","left"], +"inset-x":["right","left"],"inset-y":["top","bottom"], +flex:["basis","grow","shrink"],gap:["gap-x","gap-y"], +p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"], +m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"], +size:["w","h"],"font-size":["leading"], +"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"], +"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"], +"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"], +"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"], +rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"], +"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"], +"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"], +"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"], +"border-spacing":["border-spacing-x","border-spacing-y"], +"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"], +"border-w-x":["border-w-r","border-w-l"], +"border-w-y":["border-w-t","border-w-b"], +"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"], +"border-color-x":["border-color-r","border-color-l"], +"border-color-y":["border-color-t","border-color-b"], +translate:["translate-x","translate-y","translate-none"], +"translate-none":["translate","translate-x","translate-y","translate-z"], +"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"], +"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"], +"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"], +"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"], +touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"], +"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}, +orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"] +}},i_=(e,t,n)=>{void 0!==n&&(e[t]=n)},s_=(e,t)=>{ +if(t)for(const n in t)i_(e,n,t[n])},l_=(e,t)=>{if(t)for(const n in t)c_(e,t,n) +},c_=(e,t,n)=>{const r=t[n];void 0!==r&&(e[n]=e[n]?e[n].concat(r):r) +},u_=((e,...t)=>"function"==typeof e?fS(o_,e,...t):fS((()=>((e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:a={},override:o={}})=>(i_(e,"cacheSize",t), +i_(e,"prefix",n), +i_(e,"experimentalParseClassName",r),s_(e.theme,o.theme),s_(e.classGroups,o.classGroups), +s_(e.conflictingClassGroups,o.conflictingClassGroups), +s_(e.conflictingClassGroupModifiers,o.conflictingClassGroupModifiers), +i_(e,"orderSensitiveModifiers",o.orderSensitiveModifiers), +l_(e.theme,a.theme),l_(e.classGroups,a.classGroups), +l_(e.conflictingClassGroups,a.conflictingClassGroups), +l_(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers), +c_(e,a,"orderSensitiveModifiers"),e))(o_(),e)),...t))({extend:{classGroups:{ +"font-size":["text-3xs","text-xxs"], +"font-weight":["font-sidebar","font-sidebar-active"]}}}),{cva:d_,cx:p_}=(e=>{ +const t=function(){ +for(var t=arguments.length,n=new Array(t),r=0;r{const r=Object.fromEntries(Object.entries(e||{}).filter((e=>{ +let[t]=e;return!["class","className"].includes(t)}))) +;return t(n.map((e=>e(r))),null==e?void 0:e.class,null==e?void 0:e.className)}}, +cva:e=>n=>{var r +;if(null==(null==e?void 0:e.variants))return t(null==e?void 0:e.base,null==n?void 0:n.class,null==n?void 0:n.className) +;const{variants:a,defaultVariants:o}=e,i=Object.keys(a).map((e=>{ +const t=null==n?void 0:n[e],r=null==o?void 0:o[e],i=Qk(t)||Qk(r);return a[e][i] +})),s={...o,...n&&Object.entries(n).reduce(((e,t)=>{let[n,r]=t +;return void 0===r?e:{...e,[n]:r}}),{}) +},l=null==e||null===(r=e.compoundVariants)||void 0===r?void 0:r.reduce(((e,t)=>{ +let{class:n,className:r,...a}=t;return Object.entries(a).every((e=>{let[t,n]=e +;const r=s[t];return Array.isArray(n)?n.includes(r):r===n}))?[...e,n,r]:e}),[]) +;return t(null==e?void 0:e.base,i,l,null==n?void 0:n.class,null==n?void 0:n.className) +},cx:t}})({hooks:{onComplete:e=>u_(e)}});function h_(){const e=Mv(),t=Ty((()=>{ +const{class:t,style:n,...r}=e;return{class:t||"",style:n,rest:r}}));return{ +cx:function(...e){return{class:p_(...e,t.value.class),style:t.value.style, +...t.value.rest}},stylingAttrsCx:function(...e){return{ +class:p_(...e,t.value.class),style:t.value.style}}, +otherAttrs:Ty((()=>t.value.rest))}}const f_={ +solid:["scalar-button-solid","bg-b-btn text-c-btn focus-visible:border-c-btn active:bg-b-btn hover:bg-h-btn outline-offset-1"], +outlined:["scalar-button-outlined","active:bg-btn-1 border border-solid border-border bg-b-1 text-c-1 hover:bg-b-2"], +ghost:["scalar-button-ghost","bg-transparent text-c-3 active:text-c-1 hover:text-c-1"], +gradient:["scalar-button-gradient","border bg-b-1.5 bg-linear-to-b from-b-1 to-b-2 hover:bg-linear-to-t","dark:bg-linear-to-t dark:hover:bg-linear-to-b"], +danger:["scalar-button-danger","bg-c-danger text-white active:brightness-90 hover:brightness-90"] +},m_={class:"circular-loader"},g_=Hg({inheritAttrs:!1,__name:"ScalarLoading", +props:{loader:{},size:{}},setup(e){const{cx:t}=h_(),n=d_({variants:{size:{ +xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6","2xl":"size-8", +"3xl":"size-10",full:"size-full"}},defaultVariants:{size:"full"}}) +;return(r,a)=>e.loader?(Fb(),qb("div",Mh(cy({key:0 +},xm(t)("loader-wrapper",xm(n)({size:e.size})))),[(Fb(),qb("svg",{ +class:Dh(["svg-loader",{"icon-is-valid":e.loader.isValid, +"icon-is-invalid":e.loader.isInvalid}]),viewBox:"0 0 100 100", +xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink" +},[a[0]||(a[0]=ay('',5)),Jb("g",m_,[Jb("circle",{ +class:Dh(["loader-path",{"loader-path-off":!e.loader.isLoading}]),cx:"50", +cy:"50",fill:"none",r:"20","stroke-width":"3"},null,2)])],2))],16)):oy("",!0)} +}),v_=(e,t)=>{const n=e.__vccOpts||e;for(const[r,a]of t)n[r]=a;return n +},b_=v_(g_,[["__scopeId","data-v-27df5cd8"]]),y_={key:3,class:"centered" +},O_=Hg({inheritAttrs:!1,__name:"ScalarButton",props:{is:{default:"button"}, +variant:{default:"solid"},size:{default:"md"},disabled:{type:Boolean},icon:{ +type:[Object,Function]},loader:{}},setup(e){const t=d_({ +base:"scalar-button flex cursor-pointer items-center justify-center rounded font-medium -outline-offset-1", +variants:{disabled:{true:"bg-b-2 text-color-3 shadow-none"},size:{ +xs:"px-2 py-1 text-xs leading-5",sm:"px-3.5 py-2 text-sm leading-5", +md:"px-5 py-3 text-sm leading-5"},variant:f_},compoundVariants:[{disabled:!0, +variant:["solid","outlined","ghost","gradient","danger"], +class:"bg-b-2 text-c-3 shadow-none hover:bg-b-[_] cursor-not-allowed active:bg-b-[_] hover:text-c-[_] active:text-c-[_]" +},{disabled:!0,variant:["gradient"], +class:"to-b-1.5 bg-linear-to-b hover:bg-linear-to-b dark:hover:bg-linear-to-t"}] +}),n=d_({base:"shrink-0",variants:{size:{xs:"size-2.75 -ml-0.25 mr-1", +sm:"size-3.25 -ml-0.5 mr-1.5",md:"size-3.5 -ml-0.5 mr-1.5"}}}),r=d_({variants:{ +size:{xs:"size-4",sm:"size-5",md:"size-6"}}}),{cx:a}=h_() +;return(o,i)=>(Fb(),Wb(wv(e.is),cy({"aria-disabled":e.disabled||void 0, +type:"button"===e.is?"button":void 0},xm(a)(xm(t)({disabled:e.disabled, +size:e.size,variant:e.variant}),{relative:e.loader?.isActive})),{ +default:ig((()=>[o.$slots.icon||e.icon?(Fb(),qb("div",{key:0,class:Dh([xm(n)({ +size:e.size}),{invisible:e.loader?.isActive}]) +},[Av(o.$slots,"icon",{},(()=>[(Fb(),Wb(wv(e.icon),{class:"size-full" +}))]))],2)):oy("",!0),e.loader?(Fb(),qb("span",{key:1,class:Dh({ +invisible:e.loader?.isActive}) +},[Av(o.$slots,"default")],2)):Av(o.$slots,"default",{key:2 +}),e.loader?.isActive?(Fb(),qb("div",y_,[ey(xm(b_),{class:Dh(xm(r)({size:e.size +})),loader:e.loader},null,8,["class","loader"])])):oy("",!0)])),_:3 +},16,["aria-disabled","type"]))}}),w_=Symbol(),x_=Hg({inheritAttrs:!1, +__name:"ScalarCard",props:{label:{}},setup(e){const{id:t}=(()=>{const e=bm() +;return cg(w_,e),{id:e}})(),n=Ty((()=>e.label?{"aria-label":e.label}:t.value?{ +"aria-labelledby":t.value}:{})),{cx:r}=h_();return(e,t)=>(Fb(),qb("div",cy({ +role:"group"},{...n.value, +...xm(r)("scalar-card bg-b-2 flex flex-col divide-y rounded-xl border *:first:rounded-t-[inherit] *:last:rounded-b-[inherit]") +}),[Av(e.$slots,"default")],16))}}),k_=Hg({inheritAttrs:!1, +__name:"ScalarCardSection",setup(e){const{cx:t}=h_() +;return(e,n)=>(Fb(),qb("div",Mh(ty(xm(t)("scalar-card-content flex overflow-auto"))),[Av(e.$slots,"default")],16)) +}}),S_=Hg({inheritAttrs:!1,__name:"ScalarCardFooter",setup(e){const{cx:t}=h_() +;return(e,n)=>(Fb(),Wb(k_,Mh(ty(xm(t)("scalar-card-footer"))),{ +default:ig((()=>[Av(e.$slots,"default")])),_:3},16))}}),__=["id"],A_={key:0, +class:"flex"},T_=Hg({inheritAttrs:!1,__name:"ScalarCardHeader",setup(e){ +const{cx:t}=h_(),n=Qg();return(e=>{const t=ug(w_,void 0);t&&(t.value=e) +})(n),(e,r)=>(Fb(), +Wb(k_,Mh(ty(xm(t)("scalar-card-header leading-[22px] font-medium py-[6.75px] px-3 shrink-0"))),{ +default:ig((()=>[Jb("div",{id:xm(n), +class:"scalar-card-header-title min-w-0 flex-1 truncate" +},[Av(e.$slots,"default")],8,__),e.$slots.actions?(Fb(), +qb("div",A_,[Av(e.$slots,"actions")])):oy("",!0)])),_:3},16))}}) +;function E_(e={}){const t=Ty((()=>e.label?{"aria-label":e.label}:{ +"aria-hidden":!0,role:"presentation"}));return{bind:Ty((()=>({width:"1em", +height:"1em",...t.value}))),weight:Ty((()=>e.weight??"regular"))}}const C_={ +key:0},$_={key:1},P_={key:2},I_={key:3},D_={key:4},M_={key:5},N_=Hg({ +name:"ScalarIconArrowRight",props:{label:{},weight:{}},setup(e){ +const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",C_,[...t[0]||(t[0]=[Jb("path",{ +d:"M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",$_,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,128l-72,72V56Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M221.66,122.34l-72-72A8,8,0,0,0,136,56v64H40a8,8,0,0,0,0,16h96v64a8,8,0,0,0,13.66,5.66l72-72A8,8,0,0,0,221.66,122.34ZM152,180.69V75.31L204.69,128Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",P_,[...t[2]||(t[2]=[Jb("path",{ +d:"M221.66,133.66l-72,72A8,8,0,0,1,136,200V136H40a8,8,0,0,1,0-16h96V56a8,8,0,0,1,13.66-5.66l72,72A8,8,0,0,1,221.66,133.66Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",I_,[...t[3]||(t[3]=[Jb("path",{ +d:"M220.24,132.24l-72,72a6,6,0,0,1-8.48-8.48L201.51,134H40a6,6,0,0,1,0-12H201.51L139.76,60.24a6,6,0,0,1,8.48-8.48l72,72A6,6,0,0,1,220.24,132.24Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",D_,[...t[4]||(t[4]=[Jb("path",{ +d:"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",M_,[...t[5]||(t[5]=[Jb("path",{ +d:"M218.83,130.83l-72,72a4,4,0,0,1-5.66-5.66L206.34,132H40a4,4,0,0,1,0-8H206.34L141.17,58.83a4,4,0,0,1,5.66-5.66l72,72A4,4,0,0,1,218.83,130.83Z" +},null,-1)])])):oy("",!0)],16))}}),R_={key:0},L_={key:1},B_={key:2},j_={key:3 +},U_={key:4},z_={key:5},Z_=Hg({name:"ScalarIconArrowUp",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",R_,[...t[0]||(t[0]=[Jb("path",{ +d:"M208.49,120.49a12,12,0,0,1-17,0L140,69V216a12,12,0,0,1-24,0V69L64.49,120.49a12,12,0,0,1-17-17l72-72a12,12,0,0,1,17,0l72,72A12,12,0,0,1,208.49,120.49Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",L_,[...t[1]||(t[1]=[Jb("path",{ +d:"M200,112H56l72-72Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M205.66,106.34l-72-72a8,8,0,0,0-11.32,0l-72,72A8,8,0,0,0,56,120h64v96a8,8,0,0,0,16,0V120h64a8,8,0,0,0,5.66-13.66ZM75.31,104,128,51.31,180.69,104Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",B_,[...t[2]||(t[2]=[Jb("path",{ +d:"M207.39,115.06A8,8,0,0,1,200,120H136v96a8,8,0,0,1-16,0V120H56a8,8,0,0,1-5.66-13.66l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,207.39,115.06Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",j_,[...t[3]||(t[3]=[Jb("path",{ +d:"M204.24,116.24a6,6,0,0,1-8.48,0L134,54.49V216a6,6,0,0,1-12,0V54.49L60.24,116.24a6,6,0,0,1-8.48-8.48l72-72a6,6,0,0,1,8.48,0l72,72A6,6,0,0,1,204.24,116.24Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",U_,[...t[4]||(t[4]=[Jb("path",{ +d:"M205.66,117.66a8,8,0,0,1-11.32,0L136,59.31V216a8,8,0,0,1-16,0V59.31L61.66,117.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,205.66,117.66Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",z_,[...t[5]||(t[5]=[Jb("path",{ +d:"M202.83,114.83a4,4,0,0,1-5.66,0L132,49.66V216a4,4,0,0,1-8,0V49.66L58.83,114.83a4,4,0,0,1-5.66-5.66l72-72a4,4,0,0,1,5.66,0l72,72A4,4,0,0,1,202.83,114.83Z" +},null,-1)])])):oy("",!0)],16))}}),F_={key:0},H_={key:1},Q_={key:2},V_={key:3 +},q_={key:4},W_={key:5},X_=Hg({name:"ScalarIconArrowUpRight",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",F_,[...t[0]||(t[0]=[Jb("path",{ +d:"M204,64V168a12,12,0,0,1-24,0V93L72.49,200.49a12,12,0,0,1-17-17L163,76H88a12,12,0,0,1,0-24H192A12,12,0,0,1,204,64Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",H_,[...t[1]||(t[1]=[Jb("path",{ +d:"M192,64V168L88,64Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M192,56H88a8,8,0,0,0-5.66,13.66L128.69,116,58.34,186.34a8,8,0,0,0,11.32,11.32L140,127.31l46.34,46.35A8,8,0,0,0,200,168V64A8,8,0,0,0,192,56Zm-8,92.69-38.34-38.34h0L107.31,72H184Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",Q_,[...t[2]||(t[2]=[Jb("path",{ +d:"M200,64V168a8,8,0,0,1-13.66,5.66L140,127.31,69.66,197.66a8,8,0,0,1-11.32-11.32L128.69,116,82.34,69.66A8,8,0,0,1,88,56H192A8,8,0,0,1,200,64Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",V_,[...t[3]||(t[3]=[Jb("path",{ +d:"M198,64V168a6,6,0,0,1-12,0V78.48L68.24,196.24a6,6,0,0,1-8.48-8.48L177.52,70H88a6,6,0,0,1,0-12H192A6,6,0,0,1,198,64Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",q_,[...t[4]||(t[4]=[Jb("path",{ +d:"M200,64V168a8,8,0,0,1-16,0V83.31L69.66,197.66a8,8,0,0,1-11.32-11.32L172.69,72H88a8,8,0,0,1,0-16H192A8,8,0,0,1,200,64Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",W_,[...t[5]||(t[5]=[Jb("path",{ +d:"M196,64V168a4,4,0,0,1-8,0V73.66L66.83,194.83a4,4,0,0,1-5.66-5.66L182.34,68H88a4,4,0,0,1,0-8H192A4,4,0,0,1,196,64Z" +},null,-1)])])):oy("",!0)],16))}}),G_={key:0},Y_={key:1},K_={key:2},J_={key:3 +},eA={key:4},tA={key:5},nA=Hg({name:"ScalarIconBook",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",G_,[...t[0]||(t[0]=[Jb("path",{ +d:"M208,20H72A36,36,0,0,0,36,56V224a12,12,0,0,0,12,12H192a12,12,0,0,0,0-24H60v-4a12,12,0,0,1,12-12H208a12,12,0,0,0,12-12V32A12,12,0,0,0,208,20ZM196,172H72a35.59,35.59,0,0,0-12,2.06V56A12,12,0,0,1,72,44H196Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",Y_,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,32V192H72a24,24,0,0,0-24,24V56A24,24,0,0,1,72,32Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M208,24H72A32,32,0,0,0,40,56V224a8,8,0,0,0,8,8H192a8,8,0,0,0,0-16H56a16,16,0,0,1,16-16H208a8,8,0,0,0,8-8V32A8,8,0,0,0,208,24Zm-8,160H72a31.82,31.82,0,0,0-16,4.29V56A16,16,0,0,1,72,40H200Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",K_,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,32V192a8,8,0,0,1-8,8H72a16,16,0,0,0-16,16H192a8,8,0,0,1,0,16H48a8,8,0,0,1-8-8V56A32,32,0,0,1,72,24H208A8,8,0,0,1,216,32Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",J_,[...t[3]||(t[3]=[Jb("path",{ +d:"M208,26H72A30,30,0,0,0,42,56V224a6,6,0,0,0,6,6H192a6,6,0,0,0,0-12H54v-2a18,18,0,0,1,18-18H208a6,6,0,0,0,6-6V32A6,6,0,0,0,208,26Zm-6,160H72a29.87,29.87,0,0,0-18,6V56A18,18,0,0,1,72,38H202Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",eA,[...t[4]||(t[4]=[Jb("path",{ +d:"M208,24H72A32,32,0,0,0,40,56V224a8,8,0,0,0,8,8H192a8,8,0,0,0,0-16H56a16,16,0,0,1,16-16H208a8,8,0,0,0,8-8V32A8,8,0,0,0,208,24Zm-8,160H72a31.82,31.82,0,0,0-16,4.29V56A16,16,0,0,1,72,40H200Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",tA,[...t[5]||(t[5]=[Jb("path",{ +d:"M208,28H72A28,28,0,0,0,44,56V224a4,4,0,0,0,4,4H192a4,4,0,0,0,0-8H52v-4a20,20,0,0,1,20-20H208a4,4,0,0,0,4-4V32A4,4,0,0,0,208,28Zm-4,160H72a27.94,27.94,0,0,0-20,8.42V56A20,20,0,0,1,72,36H204Z" +},null,-1)])])):oy("",!0)],16))}}),rA={key:0},aA={key:1},oA={key:2},iA={key:3 +},sA={key:4},lA={key:5},cA=Hg({name:"ScalarIconBookOpenText",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",rA,[...t[0]||(t[0]=[Jb("path",{ +d:"M232,44H160a43.86,43.86,0,0,0-32,13.85A43.86,43.86,0,0,0,96,44H24A12,12,0,0,0,12,56V200a12,12,0,0,0,12,12H96a20,20,0,0,1,20,20,12,12,0,0,0,24,0,20,20,0,0,1,20-20h72a12,12,0,0,0,12-12V56A12,12,0,0,0,232,44ZM96,188H36V68H96a20,20,0,0,1,20,20V192.81A43.79,43.79,0,0,0,96,188Zm124,0H160a43.71,43.71,0,0,0-20,4.83V88a20,20,0,0,1,20-20h60ZM164,96h32a12,12,0,0,1,0,24H164a12,12,0,0,1,0-24Zm44,52a12,12,0,0,1-12,12H164a12,12,0,0,1,0-24h32A12,12,0,0,1,208,148Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",aA,[...t[1]||(t[1]=[Jb("path",{ +d:"M232,56V200H160a32,32,0,0,0-32,32V88a32,32,0,0,1,32-32Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64ZM160,88h40a8,8,0,0,1,0,16H160a8,8,0,0,1,0-16Zm48,40a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,128Zm0,32a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,160Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",oA,[...t[2]||(t[2]=[Jb("path",{ +d:"M232,48H168a32,32,0,0,0-32,32v87.73a8.17,8.17,0,0,1-7.47,8.25,8,8,0,0,1-8.53-8V80A32,32,0,0,0,88,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,23.94,7.9,7.9,0,0,0,5.12,7.55A8,8,0,0,0,136,232a24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM208,168H168.27a8.17,8.17,0,0,1-8.25-7.47,8,8,0,0,1,8-8.53h39.73a8.17,8.17,0,0,1,8.25,7.47A8,8,0,0,1,208,168Zm0-32H168.27a8.17,8.17,0,0,1-8.25-7.47,8,8,0,0,1,8-8.53h39.73a8.17,8.17,0,0,1,8.25,7.47A8,8,0,0,1,208,136Zm0-32H168.27A8.17,8.17,0,0,1,160,96.53,8,8,0,0,1,168,88h39.73A8.17,8.17,0,0,1,216,95.47,8,8,0,0,1,208,104Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",iA,[...t[3]||(t[3]=[Jb("path",{ +d:"M232,50H160a38,38,0,0,0-32,17.55A38,38,0,0,0,96,50H24a6,6,0,0,0-6,6V200a6,6,0,0,0,6,6H96a26,26,0,0,1,26,26,6,6,0,0,0,12,0,26,26,0,0,1,26-26h72a6,6,0,0,0,6-6V56A6,6,0,0,0,232,50ZM96,194H30V62H96a26,26,0,0,1,26,26V204.31A37.86,37.86,0,0,0,96,194Zm130,0H160a37.87,37.87,0,0,0-26,10.32V88a26,26,0,0,1,26-26h66ZM160,90h40a6,6,0,0,1,0,12H160a6,6,0,0,1,0-12Zm46,38a6,6,0,0,1-6,6H160a6,6,0,0,1,0-12h40A6,6,0,0,1,206,128Zm0,32a6,6,0,0,1-6,6H160a6,6,0,0,1,0-12h40A6,6,0,0,1,206,160Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",sA,[...t[4]||(t[4]=[Jb("path",{ +d:"M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V200a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64ZM160,88h40a8,8,0,0,1,0,16H160a8,8,0,0,1,0-16Zm48,40a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,128Zm0,32a8,8,0,0,1-8,8H160a8,8,0,0,1,0-16h40A8,8,0,0,1,208,160Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",lA,[...t[5]||(t[5]=[Jb("path",{ +d:"M232,52H160a36,36,0,0,0-32,19.54A36,36,0,0,0,96,52H24a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H96a28,28,0,0,1,28,28,4,4,0,0,0,8,0,28,28,0,0,1,28-28h72a4,4,0,0,0,4-4V56A4,4,0,0,0,232,52ZM96,196H28V60H96a28,28,0,0,1,28,28V209.4A35.94,35.94,0,0,0,96,196Zm132,0H160a35.94,35.94,0,0,0-28,13.41V88a28,28,0,0,1,28-28h68ZM160,92h40a4,4,0,0,1,0,8H160a4,4,0,0,1,0-8Zm44,36a4,4,0,0,1-4,4H160a4,4,0,0,1,0-8h40A4,4,0,0,1,204,128Zm0,32a4,4,0,0,1-4,4H160a4,4,0,0,1,0-8h40A4,4,0,0,1,204,160Z" +},null,-1)])])):oy("",!0)],16))}}),uA={key:0},dA={key:1},pA={key:2},hA={key:3 +},fA={key:4},mA={key:5},gA=Hg({name:"ScalarIconBracketsCurly",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",uA,[...t[0]||(t[0]=[Jb("path",{ +d:"M54.8,119.49A35.06,35.06,0,0,1,49.05,128a35.06,35.06,0,0,1,5.75,8.51C60,147.24,60,159.83,60,172c0,25.94,1.84,32,20,32a12,12,0,0,1,0,24c-19.14,0-32.2-6.9-38.8-20.51C36,196.76,36,184.17,36,172c0-25.94-1.84-32-20-32a12,12,0,0,1,0-24c18.16,0,20-6.06,20-32,0-12.17,0-24.76,5.2-35.49C47.8,34.9,60.86,28,80,28a12,12,0,0,1,0,24c-18.16,0-20,6.06-20,32C60,96.17,60,108.76,54.8,119.49ZM240,116c-18.16,0-20-6.06-20-32,0-12.17,0-24.76-5.2-35.49C208.2,34.9,195.14,28,176,28a12,12,0,0,0,0,24c18.16,0,20,6.06,20,32,0,12.17,0,24.76,5.2,35.49A35.06,35.06,0,0,0,207,128a35.06,35.06,0,0,0-5.75,8.51C196,147.24,196,159.83,196,172c0,25.94-1.84,32-20,32a12,12,0,0,0,0,24c19.14,0,32.2-6.9,38.8-20.51C220,196.76,220,184.17,220,172c0-25.94,1.84-32,20-32a12,12,0,0,0,0-24Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",dA,[...t[1]||(t[1]=[Jb("path",{ +d:"M240,128c-64,0,0,88-64,88H80c-64,0,0-88-64-88,64,0,0-88,64-88h96C240,40,176,128,240,128Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",pA,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM88,155.84c.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16c-31.27,0-31.72-22.43-32-35.84C71.71,141.9,71.59,136,56,136a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16C72.28,86.43,72.73,64,104,64a8,8,0,0,1,0,16c-15.59,0-15.71,5.9-16,20.16-.17,8.31-.41,20.09-8,27.84C87.59,135.75,87.83,147.53,88,155.84ZM200,136c-15.59,0-15.71,5.9-16,20.16-.28,13.41-.73,35.84-32,35.84a8,8,0,0,1,0-16c15.59,0,15.71-5.9,16-20.16.17-8.31.41-20.09,8-27.84-7.6-7.75-7.84-19.53-8-27.84C167.71,85.9,167.59,80,152,80a8,8,0,0,1,0-16c31.27,0,31.72,22.43,32,35.84.29,14.26.41,20.16,16,20.16a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",hA,[...t[3]||(t[3]=[Jb("path",{ +d:"M39.91,128a27.68,27.68,0,0,1,9.49,11.13C54,148.62,54,160.51,54,172c0,24.27,1.21,38,26,38a6,6,0,0,1,0,12c-16.88,0-27.81-5.6-33.4-17.13C42,195.38,42,183.49,42,172c0-24.27-1.21-38-26-38a6,6,0,0,1,0-12c24.79,0,26-13.73,26-38,0-11.49,0-23.38,4.6-32.87C52.19,39.6,63.12,34,80,34a6,6,0,0,1,0,12C55.21,46,54,59.73,54,84c0,11.49,0,23.38-4.6,32.87A27.68,27.68,0,0,1,39.91,128ZM240,122c-24.79,0-26-13.73-26-38,0-11.49,0-23.38-4.6-32.87C203.81,39.6,192.88,34,176,34a6,6,0,0,0,0,12c24.79,0,26,13.73,26,38,0,11.49,0,23.38,4.6,32.87A27.68,27.68,0,0,0,216.09,128a27.68,27.68,0,0,0-9.49,11.13C202,148.62,202,160.51,202,172c0,24.27-1.21,38-26,38a6,6,0,0,0,0,12c16.88,0,27.81-5.6,33.4-17.13,4.6-9.49,4.6-21.38,4.6-32.87,0-24.27,1.21-38,26-38a6,6,0,0,0,0-12Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",fA,[...t[4]||(t[4]=[Jb("path",{ +d:"M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",mA,[...t[5]||(t[5]=[Jb("path",{ +d:"M35.89,128C52,136.23,52,155.64,52,172c0,24.8,1.35,40,28,40a4,4,0,0,1,0,8c-36,0-36-26.61-36-48,0-24.8-1.35-40-28-40a4,4,0,0,1,0-8c26.65,0,28-15.2,28-40,0-21.39,0-48,36-48a4,4,0,0,1,0,8C53.35,44,52,59.2,52,84,52,100.36,52,119.77,35.89,128ZM240,124c-26.65,0-28-15.2-28-40,0-21.39,0-48-36-48a4,4,0,0,0,0,8c26.65,0,28,15.2,28,40,0,16.36,0,35.77,16.11,44C204,136.23,204,155.64,204,172c0,24.8-1.35,40-28,40a4,4,0,0,0,0,8c36,0,36-26.61,36-48,0-24.8,1.35-40,28-40a4,4,0,0,0,0-8Z" +},null,-1)])])):oy("",!0)],16))}}),vA={key:0},bA={key:1},yA={key:2},OA={key:3 +},wA={key:4},xA={key:5},kA=Hg({name:"ScalarIconCaretDown",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",vA,[...t[0]||(t[0]=[Jb("path",{ +d:"M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",bA,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,96l-80,80L48,96Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",yA,[...t[2]||(t[2]=[Jb("path",{ +d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",OA,[...t[3]||(t[3]=[Jb("path",{ +d:"M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",wA,[...t[4]||(t[4]=[Jb("path",{ +d:"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",xA,[...t[5]||(t[5]=[Jb("path",{ +d:"M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z" +},null,-1)])])):oy("",!0)],16))}}),SA={key:0},_A={key:1},AA={key:2},TA={key:3 +},EA={key:4},CA={key:5},$A=Hg({name:"ScalarIconCaretRight",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",SA,[...t[0]||(t[0]=[Jb("path",{ +d:"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",_A,[...t[1]||(t[1]=[Jb("path",{ +d:"M176,128,96,208V48Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",AA,[...t[2]||(t[2]=[Jb("path",{ +d:"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",TA,[...t[3]||(t[3]=[Jb("path",{ +d:"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",EA,[...t[4]||(t[4]=[Jb("path",{ +d:"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",CA,[...t[5]||(t[5]=[Jb("path",{ +d:"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z" +},null,-1)])])):oy("",!0)],16))}}),PA={key:0},IA={key:1},DA={key:2},MA={key:3 +},NA={key:4},RA={key:5},LA=Hg({name:"ScalarIconCheck",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",PA,[...t[0]||(t[0]=[Jb("path",{ +d:"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",IA,[...t[1]||(t[1]=[Jb("path",{ +d:"M232,56V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",DA,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",MA,[...t[3]||(t[3]=[Jb("path",{ +d:"M228.24,76.24l-128,128a6,6,0,0,1-8.48,0l-56-56a6,6,0,0,1,8.48-8.48L96,191.51,219.76,67.76a6,6,0,0,1,8.48,8.48Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",NA,[...t[4]||(t[4]=[Jb("path",{ +d:"M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",RA,[...t[5]||(t[5]=[Jb("path",{ +d:"M226.83,74.83l-128,128a4,4,0,0,1-5.66,0l-56-56a4,4,0,0,1,5.66-5.66L96,194.34,221.17,69.17a4,4,0,1,1,5.66,5.66Z" +},null,-1)])])):oy("",!0)],16))}}),BA={key:0},jA={key:1},UA={key:2},zA={key:3 +},ZA={key:4},FA={key:5},HA=Hg({name:"ScalarIconCopy",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",BA,[...t[0]||(t[0]=[Jb("path",{ +d:"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",jA,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,40V168H168V88H88V40Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",UA,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32Zm-8,128H176V88a8,8,0,0,0-8-8H96V48H208Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",zA,[...t[3]||(t[3]=[Jb("path",{ +d:"M216,34H88a6,6,0,0,0-6,6V82H40a6,6,0,0,0-6,6V216a6,6,0,0,0,6,6H168a6,6,0,0,0,6-6V174h42a6,6,0,0,0,6-6V40A6,6,0,0,0,216,34ZM162,210H46V94H162Zm48-48H174V88a6,6,0,0,0-6-6H94V46H210Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",ZA,[...t[4]||(t[4]=[Jb("path",{ +d:"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",FA,[...t[5]||(t[5]=[Jb("path",{ +d:"M216,36H88a4,4,0,0,0-4,4V84H40a4,4,0,0,0-4,4V216a4,4,0,0,0,4,4H168a4,4,0,0,0,4-4V172h44a4,4,0,0,0,4-4V40A4,4,0,0,0,216,36ZM164,212H44V92H164Zm48-48H172V88a4,4,0,0,0-4-4H92V44H212Z" +},null,-1)])])):oy("",!0)],16))}}),QA={key:0},VA={key:1},qA={key:2},WA={key:3 +},XA={key:4},GA={key:5},YA=Hg({name:"ScalarIconDiscordLogo",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",QA,[...t[0]||(t[0]=[Jb("path",{ +d:"M108,136a16,16,0,1,1-16-16A16,16,0,0,1,108,136Zm56-16a16,16,0,1,0,16,16A16,16,0,0,0,164,120Zm76.07,76.56-67,29.71A20.15,20.15,0,0,1,146,214.9l-8.54-23.13c-3.13.14-6.27.24-9.45.24s-6.32-.1-9.45-.24L110,214.9a20.19,20.19,0,0,1-27.08,11.37l-67-29.71A19.93,19.93,0,0,1,4.62,173.41L34.15,57A20,20,0,0,1,50.37,42.19l36.06-5.93A20.26,20.26,0,0,1,109.22,51.1l4.41,17.41c4.74-.33,9.52-.51,14.37-.51s9.63.18,14.37.51l4.41-17.41a20.25,20.25,0,0,1,22.79-14.84l36.06,5.93A20,20,0,0,1,221.85,57l29.53,116.38A19.93,19.93,0,0,1,240.07,196.56ZM227.28,176,199.23,65.46l-30.07-4.94-2.84,11.17c2.9.58,5.78,1.2,8.61,1.92a12,12,0,1,1-5.86,23.27A168.43,168.43,0,0,0,128,92a168.43,168.43,0,0,0-41.07,4.88,12,12,0,0,1-5.86-23.27c2.83-.72,5.71-1.34,8.61-1.92L86.85,60.52,56.77,65.46,28.72,176l60.22,26.7,5-13.57c-4.37-.76-8.67-1.65-12.88-2.71a12,12,0,0,1,5.86-23.28A168.43,168.43,0,0,0,128,168a168.43,168.43,0,0,0,41.07-4.88,12,12,0,0,1,5.86,23.28c-4.21,1.06-8.51,1.95-12.88,2.71l5,13.57Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",VA,[...t[1]||(t[1]=[Jb("path",{ +d:"M235.21,185.59l-67,29.7a8.15,8.15,0,0,1-11-4.56L147,183.06a190.5,190.5,0,0,1-19,.94,190.5,190.5,0,0,1-19-.94L98.75,210.73a8.15,8.15,0,0,1-11,4.56l-67-29.7a8,8,0,0,1-4.55-9.24L45.77,60A8.08,8.08,0,0,1,52.31,54l36.06-5.92a8.1,8.1,0,0,1,9.21,6l5,19.63a192.32,192.32,0,0,1,50.88,0l5-19.63a8.1,8.1,0,0,1,9.21-6L203.69,54A8.08,8.08,0,0,1,210.23,60l29.53,116.37A8,8,0,0,1,235.21,185.59Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M104,140a12,12,0,1,1-12-12A12,12,0,0,1,104,140Zm60-12a12,12,0,1,0,12,12A12,12,0,0,0,164,128Zm74.45,64.9-67,29.71a16.17,16.17,0,0,1-21.71-9.1l-8.11-22q-6.72.45-13.63.46t-13.63-.46l-8.11,22a16.18,16.18,0,0,1-21.71,9.1l-67-29.71a15.94,15.94,0,0,1-9.06-18.51L38,58A16.08,16.08,0,0,1,51,46.13l36.06-5.92a16.21,16.21,0,0,1,18.26,11.88l3.26,12.83Q118.11,64,128,64t19.4.92l3.26-12.83a16.22,16.22,0,0,1,18.26-11.88L205,46.13A16.08,16.08,0,0,1,218,58l29.53,116.38A15.94,15.94,0,0,1,238.45,192.9ZM232,178.28,202.47,62s0,0-.08,0L166.33,56a.17.17,0,0,0-.17,0l-2.83,11.14c5,.94,10,2.06,14.83,3.42A8,8,0,0,1,176,86.31a8.09,8.09,0,0,1-2.16-.3A172.25,172.25,0,0,0,128,80a172.25,172.25,0,0,0-45.84,6,8,8,0,1,1-4.32-15.4c4.82-1.36,9.78-2.48,14.82-3.42L89.83,56a.21.21,0,0,0-.12,0h0L53.61,61.92a.24.24,0,0,0-.09,0L24,178.33,91,208a.21.21,0,0,0,.22,0L98,189.72a173.2,173.2,0,0,1-20.14-4.32A8,8,0,0,1,82.16,170,171.85,171.85,0,0,0,128,176a171.85,171.85,0,0,0,45.84-6,8,8,0,0,1,4.32,15.41A173.2,173.2,0,0,1,158,189.72L164.75,208a.22.22,0,0,0,.21,0Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",qA,[...t[2]||(t[2]=[Jb("path",{ +d:"M247.51,174.39,218,58a16.08,16.08,0,0,0-13-11.88l-36.06-5.92a16.22,16.22,0,0,0-18.26,11.88l-.21.85a4,4,0,0,0,3.27,4.93,155.62,155.62,0,0,1,24.41,5.62,8.2,8.2,0,0,1,5.62,9.7,8,8,0,0,1-10.19,5.64,155.4,155.4,0,0,0-90.8-.1,8.22,8.22,0,0,1-10.28-4.81,8,8,0,0,1,5.08-10.33,156.85,156.85,0,0,1,24.72-5.72,4,4,0,0,0,3.27-4.93l-.21-.85A16.21,16.21,0,0,0,87.08,40.21L51,46.13A16.08,16.08,0,0,0,38,58L8.49,174.39a15.94,15.94,0,0,0,9.06,18.51l67,29.71a16.17,16.17,0,0,0,21.71-9.1l3.49-9.45a4,4,0,0,0-3.27-5.35,158.13,158.13,0,0,1-28.63-6.2,8.2,8.2,0,0,1-5.61-9.67,8,8,0,0,1,10.2-5.66,155.59,155.59,0,0,0,91.12,0,8,8,0,0,1,10.19,5.65,8.19,8.19,0,0,1-5.61,9.68,157.84,157.84,0,0,1-28.62,6.2,4,4,0,0,0-3.27,5.35l3.49,9.45a16.18,16.18,0,0,0,21.71,9.1l67-29.71A15.94,15.94,0,0,0,247.51,174.39ZM92,152a12,12,0,1,1,12-12A12,12,0,0,1,92,152Zm72,0a12,12,0,1,1,12-12A12,12,0,0,1,164,152Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",WA,[...t[3]||(t[3]=[Jb("path",{ +d:"M102,140a10,10,0,1,1-10-10A10,10,0,0,1,102,140Zm62-10a10,10,0,1,0,10,10A10,10,0,0,0,164,130Zm73.64,61.08-67,29.71a14.43,14.43,0,0,1-5.77,1.21,14.13,14.13,0,0,1-13.25-9.18L143,189.43c-4.93.37-9.92.58-15,.58s-10.06-.21-15-.58l-8.63,23.39A14.13,14.13,0,0,1,91.13,222a14.43,14.43,0,0,1-5.77-1.21l-67-29.71a14,14,0,0,1-7.93-16.2L40,58.5A14.07,14.07,0,0,1,51.34,48.11L87.4,42.19a14.19,14.19,0,0,1,16,10.39l3.69,14.53a197.5,197.5,0,0,1,41.82,0l3.69-14.53a14.19,14.19,0,0,1,16-10.39l36.06,5.92A14.07,14.07,0,0,1,216,58.5l29.53,116.38A14,14,0,0,1,237.64,191.08Zm-3.7-13.25L204.41,61.45a2.08,2.08,0,0,0-1.7-1.5L166.65,54a2.13,2.13,0,0,0-2.42,1.5l-3.36,13.24a169.28,169.28,0,0,1,16.75,3.76A6,6,0,0,1,176,84.31a5.71,5.71,0,0,1-1.62-.23A174.26,174.26,0,0,0,128,78a174.26,174.26,0,0,0-46.38,6.08,6,6,0,1,1-3.24-11.55,169.28,169.28,0,0,1,16.75-3.76L91.77,55.53A2.12,2.12,0,0,0,89.35,54L53.29,60a2.08,2.08,0,0,0-1.7,1.5L22.06,177.83a2,2,0,0,0,1.16,2.28l67,29.7a2.19,2.19,0,0,0,1.76,0,2.07,2.07,0,0,0,1.14-1.17l7.58-20.55a171.46,171.46,0,0,1-22.33-4.64,6,6,0,1,1,3.24-11.55A174.26,174.26,0,0,0,128,178a174.26,174.26,0,0,0,46.38-6.08,6,6,0,1,1,3.24,11.55,171.46,171.46,0,0,1-22.33,4.64l7.58,20.55a2.07,2.07,0,0,0,1.14,1.17,2.19,2.19,0,0,0,1.76,0l67-29.7A2,2,0,0,0,233.94,177.83Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",XA,[...t[4]||(t[4]=[Jb("path",{ +d:"M104,140a12,12,0,1,1-12-12A12,12,0,0,1,104,140Zm60-12a12,12,0,1,0,12,12A12,12,0,0,0,164,128Zm74.45,64.9-67,29.71a16.17,16.17,0,0,1-21.71-9.1l-8.11-22q-6.72.45-13.63.46t-13.63-.46l-8.11,22a16.18,16.18,0,0,1-21.71,9.1l-67-29.71a15.93,15.93,0,0,1-9.06-18.51L38,58A16.07,16.07,0,0,1,51,46.14l36.06-5.93a16.22,16.22,0,0,1,18.26,11.88l3.26,12.84Q118.11,64,128,64t19.4.93l3.26-12.84a16.21,16.21,0,0,1,18.26-11.88L205,46.14A16.07,16.07,0,0,1,218,58l29.53,116.38A15.93,15.93,0,0,1,238.45,192.9ZM232,178.28,202.47,62s0,0-.08,0L166.33,56a.17.17,0,0,0-.17,0l-2.83,11.14c5,.94,10,2.06,14.83,3.42A8,8,0,0,1,176,86.31a8.09,8.09,0,0,1-2.16-.3A172.25,172.25,0,0,0,128,80a172.25,172.25,0,0,0-45.84,6,8,8,0,1,1-4.32-15.4c4.82-1.36,9.78-2.48,14.82-3.42L89.83,56s0,0-.12,0h0L53.61,61.93a.17.17,0,0,0-.09,0L24,178.33,91,208a.23.23,0,0,0,.22,0L98,189.72a173.2,173.2,0,0,1-20.14-4.32A8,8,0,0,1,82.16,170,171.85,171.85,0,0,0,128,176a171.85,171.85,0,0,0,45.84-6,8,8,0,0,1,4.32,15.41A173.2,173.2,0,0,1,158,189.72L164.75,208a.22.22,0,0,0,.21,0Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",GA,[...t[5]||(t[5]=[Jb("path",{ +d:"M100,140a8,8,0,1,1-8-8A8,8,0,0,1,100,140Zm64-8a8,8,0,1,0,8,8A8,8,0,0,0,164,132Zm72.83,57.25-67,29.71a12.36,12.36,0,0,1-5,1,12.13,12.13,0,0,1-11.38-7.88l-9.15-24.81c-5.36.45-10.81.69-16.34.69s-11-.24-16.34-.69l-9.15,24.81A12.13,12.13,0,0,1,91.13,220a12.36,12.36,0,0,1-5-1l-67-29.71a12,12,0,0,1-6.8-13.88L41.9,59a12.06,12.06,0,0,1,9.77-8.91l36.06-5.92a12.18,12.18,0,0,1,13.73,8.91l4.12,16.22a195.47,195.47,0,0,1,44.84,0l4.12-16.22a12.18,12.18,0,0,1,13.73-8.91l36.06,5.92A12.06,12.06,0,0,1,214.1,59l29.53,116.38A12,12,0,0,1,236.83,189.25Zm-1-11.91L206.35,61A4.07,4.07,0,0,0,203,58L167,52.05a4.15,4.15,0,0,0-4.69,3L158.4,70.38a166.74,166.74,0,0,1,18.68,4.08,4,4,0,1,1-2.16,7.7A176.21,176.21,0,0,0,128,76a176.21,176.21,0,0,0-46.92,6.16,4,4,0,1,1-2.16-7.7A166.74,166.74,0,0,1,97.6,70.38L93.71,55a4.15,4.15,0,0,0-4.69-3L53,58a4.07,4.07,0,0,0-3.31,3L20.12,177.34a4,4,0,0,0,2.29,4.59l67,29.71a4.16,4.16,0,0,0,3.35,0A4,4,0,0,0,95,209.35l8.45-22.88a171.49,171.49,0,0,1-24.53-4.92,4,4,0,0,1,2.16-7.71A176.21,176.21,0,0,0,128,180a176.21,176.21,0,0,0,46.92-6.16,4,4,0,0,1,2.16,7.71,171.49,171.49,0,0,1-24.53,4.92L161,209.35a4,4,0,0,0,2.23,2.32,4.16,4.16,0,0,0,3.35,0l67-29.71A4,4,0,0,0,235.88,177.34Z" +},null,-1)])])):oy("",!0)],16))}}),KA={key:0},JA={key:1},eT={key:2},tT={key:3 +},nT={key:4},rT={key:5},aT=Hg({name:"ScalarIconEnvelopeSimple",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",KA,[...t[0]||(t[0]=[Jb("path",{ +d:"M224,44H32A12,12,0,0,0,20,56V192a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A12,12,0,0,0,224,44ZM193.15,68,128,127.72,62.85,68ZM44,188V83.28l75.89,69.57a12,12,0,0,0,16.22,0L212,83.28V188Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",JA,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,56l-96,88L32,56Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM203.43,64,128,133.15,52.57,64ZM216,192H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",eT,[...t[2]||(t[2]=[Jb("path",{ +d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48Zm-8,144H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",tT,[...t[3]||(t[3]=[Jb("path",{ +d:"M224,50H32a6,6,0,0,0-6,6V192a14,14,0,0,0,14,14H216a14,14,0,0,0,14-14V56A6,6,0,0,0,224,50ZM208.58,62,128,135.86,47.42,62ZM216,194H40a2,2,0,0,1-2-2V69.64l86,78.78a6,6,0,0,0,8.1,0L218,69.64V192A2,2,0,0,1,216,194Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",nT,[...t[4]||(t[4]=[Jb("path",{ +d:"M224,48H32a8,8,0,0,0-8,8V192a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A8,8,0,0,0,224,48ZM203.43,64,128,133.15,52.57,64ZM216,192H40V74.19l82.59,75.71a8,8,0,0,0,10.82,0L216,74.19V192Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",rT,[...t[5]||(t[5]=[Jb("path",{ +d:"M224,52H32a4,4,0,0,0-4,4V192a12,12,0,0,0,12,12H216a12,12,0,0,0,12-12V56A4,4,0,0,0,224,52Zm-10.28,8L128,138.57,42.28,60ZM216,196H40a4,4,0,0,1-4-4V65.09L125.3,147a4,4,0,0,0,5.4,0L220,65.09V192A4,4,0,0,1,216,196Z" +},null,-1)])])):oy("",!0)],16))}}),oT={key:0},iT={key:1},sT={key:2},lT={key:3 +},cT={key:4},uT={key:5},dT=Hg({name:"ScalarIconEye",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",oT,[...t[0]||(t[0]=[Jb("path",{ +d:"M251,123.13c-.37-.81-9.13-20.26-28.48-39.61C196.63,57.67,164,44,128,44S59.37,57.67,33.51,83.52C14.16,102.87,5.4,122.32,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212s68.63-13.66,94.48-39.51c19.36-19.35,28.12-38.79,28.49-39.61A12.08,12.08,0,0,0,251,123.13Zm-46.06,33C183.47,177.27,157.59,188,128,188s-55.47-10.73-76.91-31.88A130.36,130.36,0,0,1,29.52,128,130.45,130.45,0,0,1,51.09,99.89C72.54,78.73,98.41,68,128,68s55.46,10.73,76.91,31.89A130.36,130.36,0,0,1,226.48,128,130.45,130.45,0,0,1,204.91,156.12ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,64a20,20,0,1,1,20-20A20,20,0,0,1,128,148Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",iT,[...t[1]||(t[1]=[Jb("path",{ +d:"M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",sT,[...t[2]||(t[2]=[Jb("path",{ +d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",lT,[...t[3]||(t[3]=[Jb("path",{ +d:"M245.48,125.57c-.34-.78-8.66-19.23-27.24-37.81C201,70.54,171.38,50,128,50S55,70.54,37.76,87.76c-18.58,18.58-26.9,37-27.24,37.81a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206s73-20.53,90.24-37.75c18.58-18.58,26.9-37,27.24-37.8A6,6,0,0,0,245.48,125.57ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.77,134.77,0,0,1,22.69,128,134.56,134.56,0,0,1,46.55,95.94C69.22,73.42,96.62,62,128,62s58.78,11.42,81.45,33.94A134.56,134.56,0,0,1,233.31,128C226.94,140.21,195,194,128,194Zm0-112a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",cT,[...t[4]||(t[4]=[Jb("path",{ +d:"M247.31,124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57,61.26,162.88,48,128,48S61.43,61.26,36.34,86.35C17.51,105.18,9,124,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208s66.57-13.26,91.66-38.34c18.83-18.83,27.3-37.61,27.65-38.4A8,8,0,0,0,247.31,124.76ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.47,133.47,0,0,1,25,128,133.33,133.33,0,0,1,48.07,97.25C70.33,75.19,97.22,64,128,64s57.67,11.19,79.93,33.25A133.46,133.46,0,0,1,231.05,128C223.84,141.46,192.43,192,128,192Zm0-112a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",uT,[...t[5]||(t[5]=[Jb("path",{ +d:"M243.66,126.38c-.34-.76-8.52-18.89-26.83-37.2C199.87,72.22,170.7,52,128,52S56.13,72.22,39.17,89.18c-18.31,18.31-26.49,36.44-26.83,37.2a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17s71.87-20.21,88.83-37.17c18.31-18.31,26.49-36.43,26.83-37.2A4.08,4.08,0,0,0,243.66,126.38Zm-32.7,35c-23.07,23-51,34.62-83,34.62s-59.89-11.65-83-34.62A135.71,135.71,0,0,1,20.44,128,135.69,135.69,0,0,1,45,94.62C68.11,71.65,96,60,128,60s59.89,11.65,83,34.62A135.79,135.79,0,0,1,235.56,128,135.71,135.71,0,0,1,211,161.38ZM128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Z" +},null,-1)])])):oy("",!0)],16))}}),pT={key:0},hT={key:1},fT={key:2},mT={key:3 +},gT={key:4},vT={key:5},bT=Hg({name:"ScalarIconEyeSlash",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",pT,[...t[0]||(t[0]=[Jb("path",{ +d:"M56.88,31.93A12,12,0,1,0,39.12,48.07l16,17.65C20.67,88.66,5.72,121.58,5,123.13a12.08,12.08,0,0,0,0,9.75c.37.82,9.13,20.26,28.49,39.61C59.37,198.34,92,212,128,212a131.34,131.34,0,0,0,51-10l20.09,22.1a12,12,0,0,0,17.76-16.14ZM128,188c-29.59,0-55.47-10.73-76.91-31.88A130.69,130.69,0,0,1,29.52,128c5.27-9.31,18.79-29.9,42-44.29l90.09,99.11A109.33,109.33,0,0,1,128,188Zm123-55.12c-.36.81-9,20-28,39.16a12,12,0,1,1-17-16.9A130.48,130.48,0,0,0,226.48,128a130.36,130.36,0,0,0-21.57-28.12C183.46,78.73,157.59,68,128,68c-3.35,0-6.7.14-10,.42a12,12,0,1,1-2-23.91c3.93-.34,8-.51,12-.51,36,0,68.63,13.67,94.49,39.52,19.35,19.35,28.11,38.8,28.48,39.61A12.08,12.08,0,0,1,251,132.88Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",hT,[...t[1]||(t[1]=[Jb("path",{ +d:"M128,56C48,56,16,128,16,128s32,72,112,72,112-72,112-72S208,56,128,56Zm0,112a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",fT,[...t[2]||(t[2]=[Jb("path",{ +d:"M96.68,57.87a4,4,0,0,1,2.08-6.6A130.13,130.13,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41a8,8,0,0,1,0,6.5c-.35.79-8.82,19.57-27.65,38.4q-4.28,4.26-8.79,8.07a4,4,0,0,1-5.55-.36ZM213.92,210.62a8,8,0,1,1-11.84,10.76L180,197.13A127.21,127.21,0,0,1,128,208c-34.88,0-66.57-13.26-91.66-38.34C17.51,150.83,9,132.05,8.69,131.26a8,8,0,0,1,0-6.5C9,124,17.51,105.18,36.34,86.35a135,135,0,0,1,25-19.78L42.08,45.38A8,8,0,1,1,53.92,34.62Zm-65.49-48.25-52.69-58a40,40,0,0,0,52.69,58Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",mT,[...t[3]||(t[3]=[Jb("path",{ +d:"M52.44,36A6,6,0,0,0,43.56,44L64.44,67c-37.28,21.9-53.23,57-53.92,58.57a6,6,0,0,0,0,4.88c.34.77,8.66,19.22,27.24,37.8C55,185.47,84.62,206,128,206a124.91,124.91,0,0,0,52.57-11.25l23,25.29a6,6,0,0,0,8.88-8.08Zm48.62,71.32,45,49.52a34,34,0,0,1-45-49.52ZM128,194c-31.38,0-58.78-11.42-81.45-33.93A134.57,134.57,0,0,1,22.69,128c4.29-8.2,20.1-35.18,50-51.91L92.89,98.3a46,46,0,0,0,61.35,67.48l17.81,19.6A113.47,113.47,0,0,1,128,194Zm6.4-99.4a6,6,0,0,1,2.25-11.79,46.17,46.17,0,0,1,37.15,40.87,6,6,0,0,1-5.42,6.53l-.56,0a6,6,0,0,1-6-5.45A34.1,34.1,0,0,0,134.4,94.6Zm111.08,35.85c-.41.92-10.37,23-32.86,43.12a6,6,0,1,1-8-8.94A134.07,134.07,0,0,0,233.31,128a134.67,134.67,0,0,0-23.86-32.07C186.78,73.42,159.38,62,128,62a120.19,120.19,0,0,0-19.69,1.6,6,6,0,1,1-2-11.83A131.12,131.12,0,0,1,128,50c43.38,0,73,20.54,90.24,37.76,18.58,18.58,26.9,37,27.24,37.81A6,6,0,0,1,245.48,130.45Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",gT,[...t[4]||(t[4]=[Jb("path",{ +d:"M53.92,34.62A8,8,0,1,0,42.08,45.38L61.32,66.55C25,88.84,9.38,123.2,8.69,124.76a8,8,0,0,0,0,6.5c.35.79,8.82,19.57,27.65,38.4C61.43,194.74,93.12,208,128,208a127.11,127.11,0,0,0,52.07-10.83l22,24.21a8,8,0,1,0,11.84-10.76Zm47.33,75.84,41.67,45.85a32,32,0,0,1-41.67-45.85ZM128,192c-30.78,0-57.67-11.19-79.93-33.25A133.16,133.16,0,0,1,25,128c4.69-8.79,19.66-33.39,47.35-49.38l18,19.75a48,48,0,0,0,63.66,70l14.73,16.2A112,112,0,0,1,128,192Zm6-95.43a8,8,0,0,1,3-15.72,48.16,48.16,0,0,1,38.77,42.64,8,8,0,0,1-7.22,8.71,6.39,6.39,0,0,1-.75,0,8,8,0,0,1-8-7.26A32.09,32.09,0,0,0,134,96.57Zm113.28,34.69c-.42.94-10.55,23.37-33.36,43.8a8,8,0,1,1-10.67-11.92A132.77,132.77,0,0,0,231.05,128a133.15,133.15,0,0,0-23.12-30.77C185.67,75.19,158.78,64,128,64a118.37,118.37,0,0,0-19.36,1.57A8,8,0,1,1,106,49.79,134,134,0,0,1,128,48c34.88,0,66.57,13.26,91.66,38.35,18.83,18.83,27.3,37.62,27.65,38.41A8,8,0,0,1,247.31,131.26Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",vT,[...t[5]||(t[5]=[Jb("path",{ +d:"M51,37.31A4,4,0,0,0,45,42.69L67.59,67.5C29.34,89,13,124.81,12.34,126.38a4.08,4.08,0,0,0,0,3.25c.34.77,8.52,18.89,26.83,37.2,17,17,46.14,37.17,88.83,37.17a122.59,122.59,0,0,0,53.06-11.69l24,26.38a4,4,0,1,0,5.92-5.38ZM149.1,157.16A36,36,0,0,1,101,104.22ZM128,196c-32,0-59.89-11.65-83-34.62A135.81,135.81,0,0,1,20.44,128c3.65-7.23,20.09-36.81,52.68-54.43l22.45,24.7a44,44,0,0,0,59,64.83l20.89,23A114.94,114.94,0,0,1,128,196Zm6.78-103.36a4,4,0,0,1,1.49-7.86,44.15,44.15,0,0,1,35.54,39.09,4,4,0,0,1-3.61,4.35l-.38,0a4,4,0,0,1-4-3.63A36.1,36.1,0,0,0,134.78,92.64Zm108.88,37c-.41.91-10.2,22.58-32.38,42.45a4,4,0,0,1-2.67,1,4,4,0,0,1-2.67-7A136.71,136.71,0,0,0,235.56,128,136.07,136.07,0,0,0,211,94.62C187.89,71.65,160,60,128,60a122,122,0,0,0-20,1.63,4,4,0,0,1-1.32-7.89A129.3,129.3,0,0,1,128,52c42.7,0,71.87,20.22,88.83,37.18,18.31,18.31,26.49,36.44,26.83,37.2A4.08,4.08,0,0,1,243.66,129.63Z" +},null,-1)])])):oy("",!0)],16))}}),yT={key:0},OT={key:1},wT={key:2},xT={key:3 +},kT={key:4},ST={key:5},_T=Hg({name:"ScalarIconFileDashed",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",yT,[...t[0]||(t[0]=[Jb("path",{ +d:"M84,224a12,12,0,0,1-12,12H56a20,20,0,0,1-20-20V184a12,12,0,0,1,24,0v28H72A12,12,0,0,1,84,224ZM220,88v48a12,12,0,0,1-24,0V104H148a12,12,0,0,1-12-12V44H120a12,12,0,0,1,0-24h32a12,12,0,0,1,8.49,3.51l56,56A12,12,0,0,1,220,88Zm-60-8h23L160,57ZM80,20H56A20,20,0,0,0,36,40V64a12,12,0,0,0,24,0V44H80a12,12,0,0,0,0-24ZM208,164a12,12,0,0,0-12,12v36h-4a12,12,0,0,0,0,24h8a20,20,0,0,0,20-20V176A12,12,0,0,0,208,164ZM48,156a12,12,0,0,0,12-12V104a12,12,0,0,0-24,0v40A12,12,0,0,0,48,156Zm104,56H112a12,12,0,0,0,0,24h40a12,12,0,0,0,0-24Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",OT,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,88H152V32Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M80,224a8,8,0,0,1-8,8H56a16,16,0,0,1-16-16V184a8,8,0,0,1,16,0v32H72A8,8,0,0,1,80,224ZM216,88v48a8,8,0,0,1-16,0V96H152a8,8,0,0,1-8-8V40H120a8,8,0,0,1,0-16h32a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-56-8h28.69L160,51.31ZM80,24H56A16,16,0,0,0,40,40V64a8,8,0,0,0,16,0V40H80a8,8,0,0,0,0-16ZM208,168a8,8,0,0,0-8,8v40h-8a8,8,0,0,0,0,16h8a16,16,0,0,0,16-16V176A8,8,0,0,0,208,168ZM48,152a8,8,0,0,0,8-8V104a8,8,0,0,0-16,0v40A8,8,0,0,0,48,152Zm104,64H112a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",wT,[...t[2]||(t[2]=[Jb("path",{ +d:"M80,224a8,8,0,0,1-8,8H56a16,16,0,0,1-16-16V184a8,8,0,0,1,16,0v32H72A8,8,0,0,1,80,224ZM213.66,82.34l-56-56A8,8,0,0,0,152,24H120a8,8,0,0,0,0,16h24V88a8,8,0,0,0,8,8h48v40a8,8,0,0,0,16,0V88A8,8,0,0,0,213.66,82.34ZM80,24H56A16,16,0,0,0,40,40V64a8,8,0,0,0,16,0V40H80a8,8,0,0,0,0-16ZM208,168a8,8,0,0,0-8,8v40h-8a8,8,0,0,0,0,16h8a16,16,0,0,0,16-16V176A8,8,0,0,0,208,168ZM48,152a8,8,0,0,0,8-8V104a8,8,0,0,0-16,0v40A8,8,0,0,0,48,152Zm104,64H112a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",xT,[...t[3]||(t[3]=[Jb("path",{ +d:"M78,224a6,6,0,0,1-6,6H56a14,14,0,0,1-14-14V184a6,6,0,0,1,12,0v32a2,2,0,0,0,2,2H72A6,6,0,0,1,78,224ZM214,88v48a6,6,0,0,1-12,0V94H152a6,6,0,0,1-6-6V38H120a6,6,0,0,1,0-12h32a6,6,0,0,1,4.24,1.76l56,56A6,6,0,0,1,214,88Zm-56-6h35.51L158,46.49ZM80,26H56A14,14,0,0,0,42,40V64a6,6,0,0,0,12,0V40a2,2,0,0,1,2-2H80a6,6,0,0,0,0-12ZM208,170a6,6,0,0,0-6,6v40a2,2,0,0,1-2,2h-8a6,6,0,0,0,0,12h8a14,14,0,0,0,14-14V176A6,6,0,0,0,208,170ZM48,150a6,6,0,0,0,6-6V104a6,6,0,0,0-12,0v40A6,6,0,0,0,48,150Zm104,68H112a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",kT,[...t[4]||(t[4]=[Jb("path",{ +d:"M80,224a8,8,0,0,1-8,8H56a16,16,0,0,1-16-16V184a8,8,0,0,1,16,0v32H72A8,8,0,0,1,80,224ZM216,88v48a8,8,0,0,1-16,0V96H152a8,8,0,0,1-8-8V40H120a8,8,0,0,1,0-16h32a8,8,0,0,1,5.66,2.34l56,56A8,8,0,0,1,216,88Zm-56-8h28.69L160,51.31ZM80,24H56A16,16,0,0,0,40,40V64a8,8,0,0,0,16,0V40H80a8,8,0,0,0,0-16ZM208,168a8,8,0,0,0-8,8v40h-8a8,8,0,0,0,0,16h8a16,16,0,0,0,16-16V176A8,8,0,0,0,208,168ZM48,152a8,8,0,0,0,8-8V104a8,8,0,0,0-16,0v40A8,8,0,0,0,48,152Zm104,64H112a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",ST,[...t[5]||(t[5]=[Jb("path",{ +d:"M76,224a4,4,0,0,1-4,4H56a12,12,0,0,1-12-12V184a4,4,0,0,1,8,0v32a4,4,0,0,0,4,4H72A4,4,0,0,1,76,224ZM212,88v48a4,4,0,0,1-8,0V92H152a4,4,0,0,1-4-4V36H120a4,4,0,0,1,0-8h32a4,4,0,0,1,2.83,1.17l56,56A4,4,0,0,1,212,88Zm-56-4h42.34L156,41.66ZM80,28H56A12,12,0,0,0,44,40V64a4,4,0,0,0,8,0V40a4,4,0,0,1,4-4H80a4,4,0,0,0,0-8ZM208,172a4,4,0,0,0-4,4v40a4,4,0,0,1-4,4h-8a4,4,0,0,0,0,8h8a12,12,0,0,0,12-12V176A4,4,0,0,0,208,172ZM48,148a4,4,0,0,0,4-4V104a4,4,0,0,0-8,0v40A4,4,0,0,0,48,148Zm104,72H112a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8Z" +},null,-1)])])):oy("",!0)],16))}}),AT={key:0},TT={key:1},ET={key:2},CT={key:3 +},$T={key:4},PT={key:5},IT=Hg({name:"ScalarIconFileMd",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",AT,[...t[0]||(t[0]=[Jb("path",{ +d:"M100,152v56a12,12,0,0,1-24,0V190.07l-6.17,8.81a12,12,0,0,1-19.66,0L44,190.07V208a12,12,0,0,1-24,0V152a12,12,0,0,1,21.83-6.88L60,171.07l18.17-25.95A12,12,0,0,1,100,152Zm84,28a40,40,0,0,1-40,40H128a12,12,0,0,1-12-12V152a12,12,0,0,1,12-12h16A40,40,0,0,1,184,180Zm-24,0a16,16,0,0,0-16-16h-4v32h4A16,16,0,0,0,160,180Zm60-92V224a12,12,0,0,1-24,0V104H148a12,12,0,0,1-12-12V44H60v64a12,12,0,0,1-24,0V40A20,20,0,0,1,56,20h96a12,12,0,0,1,8.49,3.52l56,56A12,12,0,0,1,220,88Zm-60-8h23L160,57Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",TT,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,88H152V32Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v72a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48V224a8,8,0,0,0,16,0V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM144,144H128a8,8,0,0,0-8,8v56a8,8,0,0,0,8,8h16a36,36,0,0,0,0-72Zm0,56h-8V160h8a20,20,0,0,1,0,40Zm-40-48v56a8,8,0,0,1-16,0V177.38L74.55,196.59a8,8,0,0,1-13.1,0L48,177.38V208a8,8,0,0,1-16,0V152a8,8,0,0,1,14.55-4.59L68,178.05l21.45-30.64A8,8,0,0,1,104,152Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",ET,[...t[2]||(t[2]=[Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v76a4,4,0,0,0,4,4H196a4,4,0,0,1,4,4V224a8,8,0,0,0,9.19,7.91,8.15,8.15,0,0,0,6.81-8.16V88A8,8,0,0,0,213.66,82.34ZM152,88V44l44,44Zm-8,56H128a8,8,0,0,0-8,8v56a8,8,0,0,0,8,8h15.32c19.66,0,36.21-15.48,36.67-35.13A36,36,0,0,0,144,144Zm-.49,56H136V160h8a20,20,0,0,1,20,20.77C163.58,191.59,154.34,200,143.51,200ZM104,152v55.73A8.17,8.17,0,0,1,96.53,216,8,8,0,0,1,88,208V177.38l-13.32,19a8.3,8.3,0,0,1-4.2,3.2,8,8,0,0,1-9-3L48,177.38v30.35A8.17,8.17,0,0,1,40.53,216,8,8,0,0,1,32,208V152.31a8.27,8.27,0,0,1,4.56-7.53,8,8,0,0,1,10,2.63L68,178.05l21.27-30.39a8.28,8.28,0,0,1,8.06-3.55A8,8,0,0,1,104,152Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",CT,[...t[3]||(t[3]=[Jb("path",{ +d:"M212.24,83.76l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40v72a6,6,0,0,0,12,0V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50V224a6,6,0,0,0,12,0V88A6,6,0,0,0,212.24,83.76ZM158,46.48,193.52,82H158ZM144,146H128a6,6,0,0,0-6,6v56a6,6,0,0,0,6,6h16a34,34,0,0,0,0-68Zm0,56H134V158h10a22,22,0,0,1,0,44Zm-42-50v56a6,6,0,0,1-12,0V171L72.92,195.44a6,6,0,0,1-9.84,0L46,171v37a6,6,0,0,1-12,0V152a6,6,0,0,1,10.92-3.44l23.08,33,23.08-33A6,6,0,0,1,102,152Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",$T,[...t[4]||(t[4]=[Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v72a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48V224a8,8,0,0,0,16,0V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM144,144H128a8,8,0,0,0-8,8v56a8,8,0,0,0,8,8h16a36,36,0,0,0,0-72Zm0,56h-8V160h8a20,20,0,0,1,0,40Zm-40-48v56a8,8,0,0,1-16,0V177.38L74.55,196.59a8,8,0,0,1-13.1,0L48,177.38V208a8,8,0,0,1-16,0V152a8,8,0,0,1,14.55-4.59L68,178.05l21.45-30.64A8,8,0,0,1,104,152Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",PT,[...t[5]||(t[5]=[Jb("path",{ +d:"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40v72a4,4,0,0,0,8,0V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V224a4,4,0,0,0,8,0V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM144,148H128a4,4,0,0,0-4,4v56a4,4,0,0,0,4,4h16a32,32,0,0,0,0-64Zm0,56H132V156h12a24,24,0,0,1,0,48Zm-44-52v56a4,4,0,0,1-8,0V164.69l-20.72,29.6a4,4,0,0,1-6.56,0L44,164.69V208a4,4,0,0,1-8,0V152a4,4,0,0,1,7.28-2.29L68,185l24.72-35.31A4,4,0,0,1,100,152Z" +},null,-1)])])):oy("",!0)],16))}}),DT={key:0},MT={key:1},NT={key:2},RT={key:3 +},LT={key:4},BT={key:5},jT=Hg({name:"ScalarIconFileText",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",DT,[...t[0]||(t[0]=[Jb("path",{ +d:"M216.49,79.52l-56-56A12,12,0,0,0,152,20H56A20,20,0,0,0,36,40V216a20,20,0,0,0,20,20H200a20,20,0,0,0,20-20V88A12,12,0,0,0,216.49,79.52ZM160,57l23,23H160ZM60,212V44h76V92a12,12,0,0,0,12,12h48V212Zm112-80a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,132Zm0,40a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,172Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",MT,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,88H152V32Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Zm-32-80a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,136Zm0,32a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,168Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",NT,[...t[2]||(t[2]=[Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,176H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm-8-56V44l44,44Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",RT,[...t[3]||(t[3]=[Jb("path",{ +d:"M212.24,83.76l-56-56A6,6,0,0,0,152,26H56A14,14,0,0,0,42,40V216a14,14,0,0,0,14,14H200a14,14,0,0,0,14-14V88A6,6,0,0,0,212.24,83.76ZM158,46.48,193.52,82H158ZM200,218H56a2,2,0,0,1-2-2V40a2,2,0,0,1,2-2h90V88a6,6,0,0,0,6,6h50V216A2,2,0,0,1,200,218Zm-34-82a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,136Zm0,32a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,168Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",LT,[...t[4]||(t[4]=[Jb("path",{ +d:"M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40V216a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM200,216H56V40h88V88a8,8,0,0,0,8,8h48V216Zm-32-80a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,136Zm0,32a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,168Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",BT,[...t[5]||(t[5]=[Jb("path",{ +d:"M210.83,85.17l-56-56A4,4,0,0,0,152,28H56A12,12,0,0,0,44,40V216a12,12,0,0,0,12,12H200a12,12,0,0,0,12-12V88A4,4,0,0,0,210.83,85.17ZM156,41.65,198.34,84H156ZM200,220H56a4,4,0,0,1-4-4V40a4,4,0,0,1,4-4h92V88a4,4,0,0,0,4,4h52V216A4,4,0,0,1,200,220Zm-36-84a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,136Zm0,32a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,168Z" +},null,-1)])])):oy("",!0)],16))}}),UT={key:0},zT={key:1},ZT={key:2},FT={key:3 +},HT={key:4},QT={key:5},VT=Hg({name:"ScalarIconGavel",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",UT,[...t[0]||(t[0]=[Jb("path",{ +d:"M246.14,113.86l-16-16a20,20,0,0,0-23.06-3.75l-45.2-45.2a20,20,0,0,0-3.74-23.06l-16-16a20,20,0,0,0-28.28,0l-64,64a20,20,0,0,0,0,28.28l16,16a20,20,0,0,0,23,3.79L29.36,181.38a32,32,0,0,0,45.26,45.26L134,167.21a20,20,0,0,0,3.81,22.94l16,16a20,20,0,0,0,28.29,0l64-64a20,20,0,0,0,0-28.29ZM80,98.34,69.64,88,128,29.65,138.34,40ZM57.64,209.67a8,8,0,0,1-11.31-11.32l59.52-59.52,11.31,11.32Zm92.7-60.29-43.72-43.72,39-39,43.72,43.72Zm17.65,37L157.65,176,216,117.66,226.34,128Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",zT,[...t[1]||(t[1]=[Jb("path",{ +d:"M149.66,45.66l-64,64a8,8,0,0,1-11.32,0l-16-16a8,8,0,0,1,0-11.32l64-64a8,8,0,0,1,11.32,0l16,16A8,8,0,0,1,149.66,45.66Zm88,76.68-16-16a8,8,0,0,0-11.32,0l-64,64a8,8,0,0,0,0,11.32l16,16a8,8,0,0,0,11.32,0l64-64A8,8,0,0,0,237.66,122.34Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M243.32,116.69l-16-16a16,16,0,0,0-20.84-1.53L156.84,49.52a16,16,0,0,0-1.52-20.84l-16-16a16,16,0,0,0-22.63,0l-64,64a16,16,0,0,0,0,22.63l16,16a16,16,0,0,0,20.83,1.52L96.69,124,31.31,189.38A25,25,0,0,0,66.63,224.7L132,159.32l7.17,7.16a16,16,0,0,0,1.52,20.84l16,16a16,16,0,0,0,22.63,0l64-64A16,16,0,0,0,243.32,116.69ZM80,104,64,88l64-64,16,16ZM55.32,213.38a9,9,0,0,1-12.69,0,9,9,0,0,1,0-12.68L108,135.32,120.69,148ZM101,105.66,145.66,61,195,110.34,150.35,155ZM168,192l-16-16,4-4h0l56-56h0l4-4,16,16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",ZT,[...t[2]||(t[2]=[Jb("path",{ +d:"M52.69,99.31a16,16,0,0,1,0-22.63l64-64a16,16,0,0,1,22.63,22.63l-64,64a16,16,0,0,1-22.63,0Zm190.63,17.37a16,16,0,0,0-22.63,0l-64,64a16,16,0,0,0,0,22.63h0a16,16,0,0,0,22.63,0l64-64A16,16,0,0,0,243.32,116.68Zm-35.11-15.8L155.12,47.79a4,4,0,0,0-5.66,0L87.8,109.45a4,4,0,0,0,0,5.66L103,130.34,28.69,204.69a16,16,0,0,0,22.62,22.62L125.66,153l15.23,15.23a4,4,0,0,0,5.66,0l61.66-61.66A4,4,0,0,0,208.21,100.88Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",FT,[...t[3]||(t[3]=[Jb("path",{ +d:"M241.91,118.1l-16-16a14,14,0,0,0-19.55-.23L154.13,49.64a14,14,0,0,0-.23-19.55l-16-16a14,14,0,0,0-19.8,0l-64,64a14,14,0,0,0,0,19.8l16,16a14,14,0,0,0,19.55.23L99.52,124,32.73,190.79a23,23,0,0,0,32.48,32.49L132,156.49l9.87,9.87a14,14,0,0,0,.23,19.55l16,16a14,14,0,0,0,19.8,0l64-64A14,14,0,0,0,241.91,118.1Zm-91.56,39.76-52.21-52.2,47.52-47.52,52.2,52.2ZM78.59,105.41l-16-16a2,2,0,0,1,0-2.83l64-64a2,2,0,0,1,2.83,0l16,16a2,2,0,0,1,0,2.83l-64,64A2,2,0,0,1,78.59,105.41ZM56.73,214.8a11,11,0,0,1-15.52-15.52L108,132.49,123.52,148Zm176.69-85.38-64,64a2,2,0,0,1-2.83,0l-16-16a2,2,0,0,1,0-2.83l64-64a2,2,0,0,1,2.83,0l16,16A2,2,0,0,1,233.42,129.42Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",HT,[...t[4]||(t[4]=[Jb("path",{ +d:"M243.32,116.69l-16-16a16,16,0,0,0-20.84-1.53L156.84,49.52a16,16,0,0,0-1.52-20.84l-16-16a16,16,0,0,0-22.63,0l-64,64a16,16,0,0,0,0,22.63l16,16a16,16,0,0,0,20.83,1.52L96.69,124,31.31,189.38A25,25,0,0,0,66.63,224.7L132,159.32l7.17,7.16a16,16,0,0,0,1.52,20.84l16,16a16,16,0,0,0,22.63,0l64-64A16,16,0,0,0,243.32,116.69ZM80,104,64,88l64-64,16,16ZM55.32,213.38a9,9,0,0,1-12.69,0,9,9,0,0,1,0-12.68L108,135.32,120.69,148ZM101,105.66,145.66,61,195,110.34,150.35,155ZM168,192l-16-16,4-4h0l56-56h0l4-4,16,16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",QT,[...t[5]||(t[5]=[Jb("path",{ +d:"M240.49,119.52l-16-16a12,12,0,0,0-17,0l-1.17,1.17-55-55,1.18-1.17a12,12,0,0,0,0-17l-16-16a12,12,0,0,0-17,0l-64,64a12,12,0,0,0,0,17l16,16a12,12,0,0,0,17,0l1.17-1.18L102.34,124l-68.2,68.21A21,21,0,0,0,63.8,221.87L132,153.66l12.69,12.69-1.18,1.17a12,12,0,0,0,0,17l16,16a12,12,0,0,0,17,0l64-64a12,12,0,0,0,0-17ZM77.17,106.83l-16-16a4,4,0,0,1,0-5.66l64-64a4,4,0,0,1,5.66,0l16,16a4,4,0,0,1,0,5.65l-64,64A4,4,0,0,1,77.17,106.83Zm-19,109.38A13,13,0,1,1,39.8,197.87L108,129.66,126.34,148ZM95.31,105.66l50.35-50.35,55,55-50.35,50.35Zm139.52,25.17-64,64a4,4,0,0,1-5.66,0l-16-16a4,4,0,0,1,0-5.65l64-64a4,4,0,0,1,5.66,0l16,16a4,4,0,0,1,0,5.66Z" +},null,-1)])])):oy("",!0)],16))}}),qT={key:0},WT={key:1},XT={key:2},GT={key:3 +},YT={key:4},KT={key:5},JT=Hg({name:"ScalarIconGear",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",qT,[...t[0]||(t[0]=[Jb("path",{ +d:"M128,76a52,52,0,1,0,52,52A52.06,52.06,0,0,0,128,76Zm0,80a28,28,0,1,1,28-28A28,28,0,0,1,128,156Zm92-27.21v-1.58l14-17.51a12,12,0,0,0,2.23-10.59A111.75,111.75,0,0,0,225,71.89,12,12,0,0,0,215.89,66L193.61,63.5l-1.11-1.11L190,40.1A12,12,0,0,0,184.11,31a111.67,111.67,0,0,0-27.23-11.27A12,12,0,0,0,146.3,22L128.79,36h-1.58L109.7,22a12,12,0,0,0-10.59-2.23A111.75,111.75,0,0,0,71.89,31.05,12,12,0,0,0,66,40.11L63.5,62.39,62.39,63.5,40.1,66A12,12,0,0,0,31,71.89,111.67,111.67,0,0,0,19.77,99.12,12,12,0,0,0,22,109.7l14,17.51v1.58L22,146.3a12,12,0,0,0-2.23,10.59,111.75,111.75,0,0,0,11.29,27.22A12,12,0,0,0,40.11,190l22.28,2.48,1.11,1.11L66,215.9A12,12,0,0,0,71.89,225a111.67,111.67,0,0,0,27.23,11.27A12,12,0,0,0,109.7,234l17.51-14h1.58l17.51,14a12,12,0,0,0,10.59,2.23A111.75,111.75,0,0,0,184.11,225a12,12,0,0,0,5.91-9.06l2.48-22.28,1.11-1.11L215.9,190a12,12,0,0,0,9.06-5.91,111.67,111.67,0,0,0,11.27-27.23A12,12,0,0,0,234,146.3Zm-24.12-4.89a70.1,70.1,0,0,1,0,8.2,12,12,0,0,0,2.61,8.22l12.84,16.05A86.47,86.47,0,0,1,207,166.86l-20.43,2.27a12,12,0,0,0-7.65,4,69,69,0,0,1-5.8,5.8,12,12,0,0,0-4,7.65L166.86,207a86.47,86.47,0,0,1-10.49,4.35l-16.05-12.85a12,12,0,0,0-7.5-2.62c-.24,0-.48,0-.72,0a70.1,70.1,0,0,1-8.2,0,12.06,12.06,0,0,0-8.22,2.6L99.63,211.33A86.47,86.47,0,0,1,89.14,207l-2.27-20.43a12,12,0,0,0-4-7.65,69,69,0,0,1-5.8-5.8,12,12,0,0,0-7.65-4L49,166.86a86.47,86.47,0,0,1-4.35-10.49l12.84-16.05a12,12,0,0,0,2.61-8.22,70.1,70.1,0,0,1,0-8.2,12,12,0,0,0-2.61-8.22L44.67,99.63A86.47,86.47,0,0,1,49,89.14l20.43-2.27a12,12,0,0,0,7.65-4,69,69,0,0,1,5.8-5.8,12,12,0,0,0,4-7.65L89.14,49a86.47,86.47,0,0,1,10.49-4.35l16.05,12.85a12.06,12.06,0,0,0,8.22,2.6,70.1,70.1,0,0,1,8.2,0,12,12,0,0,0,8.22-2.6l16.05-12.85A86.47,86.47,0,0,1,166.86,49l2.27,20.43a12,12,0,0,0,4,7.65,69,69,0,0,1,5.8,5.8,12,12,0,0,0,7.65,4L207,89.14a86.47,86.47,0,0,1,4.35,10.49l-12.84,16.05A12,12,0,0,0,195.88,123.9Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",WT,[...t[1]||(t[1]=[Jb("path",{ +d:"M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",XT,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,130.16q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",GT,[...t[3]||(t[3]=[Jb("path",{ +d:"M128,82a46,46,0,1,0,46,46A46.06,46.06,0,0,0,128,82Zm0,80a34,34,0,1,1,34-34A34,34,0,0,1,128,162ZM214,130.84c.06-1.89.06-3.79,0-5.68L229.33,106a6,6,0,0,0,1.11-5.29A105.34,105.34,0,0,0,219.76,74.9a6,6,0,0,0-4.53-3l-24.45-2.71q-1.93-2.07-4-4l-2.72-24.46a6,6,0,0,0-3-4.53,105.65,105.65,0,0,0-25.77-10.66A6,6,0,0,0,150,26.68l-19.2,15.37c-1.89-.06-3.79-.06-5.68,0L106,26.67a6,6,0,0,0-5.29-1.11A105.34,105.34,0,0,0,74.9,36.24a6,6,0,0,0-3,4.53L69.23,65.22q-2.07,1.94-4,4L40.76,72a6,6,0,0,0-4.53,3,105.65,105.65,0,0,0-10.66,25.77A6,6,0,0,0,26.68,106l15.37,19.2c-.06,1.89-.06,3.79,0,5.68L26.67,150.05a6,6,0,0,0-1.11,5.29A105.34,105.34,0,0,0,36.24,181.1a6,6,0,0,0,4.53,3l24.45,2.71q1.94,2.07,4,4L72,215.24a6,6,0,0,0,3,4.53,105.65,105.65,0,0,0,25.77,10.66,6,6,0,0,0,5.29-1.11L125.16,214c1.89.06,3.79.06,5.68,0l19.21,15.38a6,6,0,0,0,3.75,1.31,6.2,6.2,0,0,0,1.54-.2,105.34,105.34,0,0,0,25.76-10.68,6,6,0,0,0,3-4.53l2.71-24.45q2.07-1.93,4-4l24.46-2.72a6,6,0,0,0,4.53-3,105.49,105.49,0,0,0,10.66-25.77,6,6,0,0,0-1.11-5.29Zm-3.1,41.63-23.64,2.63a6,6,0,0,0-3.82,2,75.14,75.14,0,0,1-6.31,6.31,6,6,0,0,0-2,3.82l-2.63,23.63A94.28,94.28,0,0,1,155.14,218l-18.57-14.86a6,6,0,0,0-3.75-1.31h-.36a78.07,78.07,0,0,1-8.92,0,6,6,0,0,0-4.11,1.3L100.87,218a94.13,94.13,0,0,1-17.34-7.17L80.9,187.21a6,6,0,0,0-2-3.82,75.14,75.14,0,0,1-6.31-6.31,6,6,0,0,0-3.82-2l-23.63-2.63A94.28,94.28,0,0,1,38,155.14l14.86-18.57a6,6,0,0,0,1.3-4.11,78.07,78.07,0,0,1,0-8.92,6,6,0,0,0-1.3-4.11L38,100.87a94.13,94.13,0,0,1,7.17-17.34L68.79,80.9a6,6,0,0,0,3.82-2,75.14,75.14,0,0,1,6.31-6.31,6,6,0,0,0,2-3.82l2.63-23.63A94.28,94.28,0,0,1,100.86,38l18.57,14.86a6,6,0,0,0,4.11,1.3,78.07,78.07,0,0,1,8.92,0,6,6,0,0,0,4.11-1.3L155.13,38a94.13,94.13,0,0,1,17.34,7.17l2.63,23.64a6,6,0,0,0,2,3.82,75.14,75.14,0,0,1,6.31,6.31,6,6,0,0,0,3.82,2l23.63,2.63A94.28,94.28,0,0,1,218,100.86l-14.86,18.57a6,6,0,0,0-1.3,4.11,78.07,78.07,0,0,1,0,8.92,6,6,0,0,0,1.3,4.11L218,155.13A94.13,94.13,0,0,1,210.85,172.47Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",YT,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.21,107.21,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.71,107.71,0,0,0-26.25-10.87,8,8,0,0,0-7.06,1.49L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.21,107.21,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8,8,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8,8,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",KT,[...t[5]||(t[5]=[Jb("path",{ +d:"M128,84a44,44,0,1,0,44,44A44.05,44.05,0,0,0,128,84Zm0,80a36,36,0,1,1,36-36A36,36,0,0,1,128,164Zm83.93-32.49q.13-3.51,0-7l15.83-19.79a4,4,0,0,0,.75-3.53A103.64,103.64,0,0,0,218,75.9a4,4,0,0,0-3-2l-25.19-2.8c-1.58-1.71-3.24-3.37-4.95-4.95L182.07,41a4,4,0,0,0-2-3A104,104,0,0,0,154.82,27.5a4,4,0,0,0-3.53.74L131.51,44.07q-3.51-.14-7,0L104.7,28.24a4,4,0,0,0-3.53-.75A103.64,103.64,0,0,0,75.9,38a4,4,0,0,0-2,3l-2.8,25.19c-1.71,1.58-3.37,3.24-4.95,4.95L41,73.93a4,4,0,0,0-3,2A104,104,0,0,0,27.5,101.18a4,4,0,0,0,.74,3.53l15.83,19.78q-.14,3.51,0,7L28.24,151.3a4,4,0,0,0-.75,3.53A103.64,103.64,0,0,0,38,180.1a4,4,0,0,0,3,2l25.19,2.8c1.58,1.71,3.24,3.37,4.95,4.95l2.8,25.2a4,4,0,0,0,2,3,104,104,0,0,0,25.28,10.46,4,4,0,0,0,3.53-.74l19.78-15.83q3.51.13,7,0l19.79,15.83a4,4,0,0,0,2.5.88,4,4,0,0,0,1-.13A103.64,103.64,0,0,0,180.1,218a4,4,0,0,0,2-3l2.8-25.19c1.71-1.58,3.37-3.24,4.95-4.95l25.2-2.8a4,4,0,0,0,3-2,104,104,0,0,0,10.46-25.28,4,4,0,0,0-.74-3.53Zm.17,42.83-24.67,2.74a4,4,0,0,0-2.55,1.32,76.2,76.2,0,0,1-6.48,6.48,4,4,0,0,0-1.32,2.55l-2.74,24.66a95.45,95.45,0,0,1-19.64,8.15l-19.38-15.51a4,4,0,0,0-2.5-.87h-.24a73.67,73.67,0,0,1-9.16,0,4,4,0,0,0-2.74.87l-19.37,15.5a95.33,95.33,0,0,1-19.65-8.13l-2.74-24.67a4,4,0,0,0-1.32-2.55,76.2,76.2,0,0,1-6.48-6.48,4,4,0,0,0-2.55-1.32l-24.66-2.74a95.45,95.45,0,0,1-8.15-19.64l15.51-19.38a4,4,0,0,0,.87-2.74,77.76,77.76,0,0,1,0-9.16,4,4,0,0,0-.87-2.74l-15.5-19.37A95.33,95.33,0,0,1,43.9,81.66l24.67-2.74a4,4,0,0,0,2.55-1.32,76.2,76.2,0,0,1,6.48-6.48,4,4,0,0,0,1.32-2.55l2.74-24.66a95.45,95.45,0,0,1,19.64-8.15l19.38,15.51a4,4,0,0,0,2.74.87,73.67,73.67,0,0,1,9.16,0,4,4,0,0,0,2.74-.87l19.37-15.5a95.33,95.33,0,0,1,19.65,8.13l2.74,24.67a4,4,0,0,0,1.32,2.55,76.2,76.2,0,0,1,6.48,6.48,4,4,0,0,0,2.55,1.32l24.66,2.74a95.45,95.45,0,0,1,8.15,19.64l-15.51,19.38a4,4,0,0,0-.87,2.74,77.76,77.76,0,0,1,0,9.16,4,4,0,0,0,.87,2.74l15.5,19.37A95.33,95.33,0,0,1,212.1,174.34Z" +},null,-1)])])):oy("",!0)],16))}}),eE={key:0},tE={key:1},nE={key:2},rE={key:3 +},aE={key:4},oE={key:5},iE=Hg({name:"ScalarIconGitBranch",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",eE,[...t[0]||(t[0]=[Jb("path",{ +d:"M236,64a36,36,0,1,0-48,33.94V112a4,4,0,0,1-4,4H96a27.8,27.8,0,0,0-4,.29V97.94a36,36,0,1,0-24,0v60.12a36,36,0,1,0,24,0V144a4,4,0,0,1,4-4h88a28,28,0,0,0,28-28V97.94A36.07,36.07,0,0,0,236,64ZM80,52A12,12,0,1,1,68,64,12,12,0,0,1,80,52Zm0,152a12,12,0,1,1,12-12A12,12,0,0,1,80,204ZM200,76a12,12,0,1,1,12-12A12,12,0,0,1,200,76Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",tE,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,64a24,24,0,1,1-24-24A24,24,0,0,1,224,64Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M232,64a32,32,0,1,0-40,31v17a8,8,0,0,1-8,8H96a23.84,23.84,0,0,0-8,1.38V95a32,32,0,1,0-16,0v66a32,32,0,1,0,16,0V144a8,8,0,0,1,8-8h88a24,24,0,0,0,24-24V95A32.06,32.06,0,0,0,232,64ZM64,64A16,16,0,1,1,80,80,16,16,0,0,1,64,64ZM96,192a16,16,0,1,1-16-16A16,16,0,0,1,96,192ZM200,80a16,16,0,1,1,16-16A16,16,0,0,1,200,80Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",nE,[...t[2]||(t[2]=[Jb("path",{ +d:"M232,64a32,32,0,1,0-40,31v17a8,8,0,0,1-8,8H96a23.84,23.84,0,0,0-8,1.38V95a32,32,0,1,0-16,0v66a32,32,0,1,0,16,0V144a8,8,0,0,1,8-8h88a24,24,0,0,0,24-24V95A32.06,32.06,0,0,0,232,64ZM64,64A16,16,0,1,1,80,80,16,16,0,0,1,64,64ZM96,192a16,16,0,1,1-16-16A16,16,0,0,1,96,192Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",rE,[...t[3]||(t[3]=[Jb("path",{ +d:"M230,64a30,30,0,1,0-36,29.4V112a10,10,0,0,1-10,10H96a21.84,21.84,0,0,0-10,2.42v-31a30,30,0,1,0-12,0v69.2a30,30,0,1,0,12,0V144a10,10,0,0,1,10-10h88a22,22,0,0,0,22-22V93.4A30.05,30.05,0,0,0,230,64ZM62,64A18,18,0,1,1,80,82,18,18,0,0,1,62,64ZM98,192a18,18,0,1,1-18-18A18,18,0,0,1,98,192ZM200,82a18,18,0,1,1,18-18A18,18,0,0,1,200,82Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",aE,[...t[4]||(t[4]=[Jb("path",{ +d:"M232,64a32,32,0,1,0-40,31v17a8,8,0,0,1-8,8H96a23.84,23.84,0,0,0-8,1.38V95a32,32,0,1,0-16,0v66a32,32,0,1,0,16,0V144a8,8,0,0,1,8-8h88a24,24,0,0,0,24-24V95A32.06,32.06,0,0,0,232,64ZM64,64A16,16,0,1,1,80,80,16,16,0,0,1,64,64ZM96,192a16,16,0,1,1-16-16A16,16,0,0,1,96,192ZM200,80a16,16,0,1,1,16-16A16,16,0,0,1,200,80Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",oE,[...t[5]||(t[5]=[Jb("path",{ +d:"M228,64a28,28,0,1,0-32,27.71V112a12,12,0,0,1-12,12H96a19.91,19.91,0,0,0-12,4V91.71a28,28,0,1,0-8,0v72.58a28,28,0,1,0,8,0V144a12,12,0,0,1,12-12h88a20,20,0,0,0,20-20V91.71A28,28,0,0,0,228,64ZM60,64A20,20,0,1,1,80,84,20,20,0,0,1,60,64Zm40,128a20,20,0,1,1-20-20A20,20,0,0,1,100,192ZM200,84a20,20,0,1,1,20-20A20,20,0,0,1,200,84Z" +},null,-1)])])):oy("",!0)],16))}}),sE={key:0},lE={key:1},cE={key:2},uE={key:3 +},dE={key:4},pE={key:5},hE=Hg({name:"ScalarIconGithubLogo",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",sE,[...t[0]||(t[0]=[Jb("path",{ +d:"M212.62,75.17A63.7,63.7,0,0,0,206.39,26,12,12,0,0,0,196,20a63.71,63.71,0,0,0-50,24H126A63.71,63.71,0,0,0,76,20a12,12,0,0,0-10.39,6,63.7,63.7,0,0,0-6.23,49.17A61.5,61.5,0,0,0,52,104v8a60.1,60.1,0,0,0,45.76,58.28A43.66,43.66,0,0,0,92,192v4H76a20,20,0,0,1-20-20,44.05,44.05,0,0,0-44-44,12,12,0,0,0,0,24,20,20,0,0,1,20,20,44.05,44.05,0,0,0,44,44H92v12a12,12,0,0,0,24,0V192a20,20,0,0,1,40,0v40a12,12,0,0,0,24,0V192a43.66,43.66,0,0,0-5.76-21.72A60.1,60.1,0,0,0,220,112v-8A61.5,61.5,0,0,0,212.62,75.17ZM196,112a36,36,0,0,1-36,36H112a36,36,0,0,1-36-36v-8a37.87,37.87,0,0,1,6.13-20.12,11.65,11.65,0,0,0,1.58-11.49,39.9,39.9,0,0,1-.4-27.72,39.87,39.87,0,0,1,26.41,17.8A12,12,0,0,0,119.82,68h32.35a12,12,0,0,0,10.11-5.53,39.84,39.84,0,0,1,26.41-17.8,39.9,39.9,0,0,1-.4,27.72,12,12,0,0,0,1.61,11.53A37.85,37.85,0,0,1,196,104Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",lE,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,104v8a48,48,0,0,1-48,48H136a32,32,0,0,1,32,32v40H104V192a32,32,0,0,1,32-32H112a48,48,0,0,1-48-48v-8a49.28,49.28,0,0,1,8.51-27.3A51.92,51.92,0,0,1,76,32a52,52,0,0,1,43.83,24h32.34A52,52,0,0,1,196,32a51.92,51.92,0,0,1,3.49,44.7A49.28,49.28,0,0,1,208,104Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M208.3,75.68A59.74,59.74,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58,58,0,0,0,208.3,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.76,41.76,0,0,1,200,104Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",cE,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,104v8a56.06,56.06,0,0,1-48.44,55.47A39.8,39.8,0,0,1,176,192v40a8,8,0,0,1-8,8H104a8,8,0,0,1-8-8V216H72a40,40,0,0,1-40-40A24,24,0,0,0,8,152a8,8,0,0,1,0-16,40,40,0,0,1,40,40,24,24,0,0,0,24,24H96v-8a39.8,39.8,0,0,1,8.44-24.53A56.06,56.06,0,0,1,56,112v-8a58.14,58.14,0,0,1,7.69-28.32A59.78,59.78,0,0,1,69.07,28,8,8,0,0,1,76,24a59.75,59.75,0,0,1,48,24h24a59.75,59.75,0,0,1,48-24,8,8,0,0,1,6.93,4,59.74,59.74,0,0,1,5.37,47.68A58,58,0,0,1,216,104Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",uE,[...t[3]||(t[3]=[Jb("path",{ +d:"M206.13,75.92A57.79,57.79,0,0,0,201.2,29a6,6,0,0,0-5.2-3,57.77,57.77,0,0,0-47,24H123A57.77,57.77,0,0,0,76,26a6,6,0,0,0-5.2,3,57.79,57.79,0,0,0-4.93,46.92A55.88,55.88,0,0,0,58,104v8a54.06,54.06,0,0,0,50.45,53.87A37.85,37.85,0,0,0,98,192v10H72a26,26,0,0,1-26-26A38,38,0,0,0,8,138a6,6,0,0,0,0,12,26,26,0,0,1,26,26,38,38,0,0,0,38,38H98v18a6,6,0,0,0,12,0V192a26,26,0,0,1,52,0v40a6,6,0,0,0,12,0V192a37.85,37.85,0,0,0-10.45-26.13A54.06,54.06,0,0,0,214,112v-8A55.88,55.88,0,0,0,206.13,75.92ZM202,112a42,42,0,0,1-42,42H112a42,42,0,0,1-42-42v-8a43.86,43.86,0,0,1,7.3-23.69,6,6,0,0,0,.81-5.76,45.85,45.85,0,0,1,1.43-36.42,45.85,45.85,0,0,1,35.23,21.1A6,6,0,0,0,119.83,62h32.34a6,6,0,0,0,5.06-2.76,45.83,45.83,0,0,1,35.23-21.11,45.85,45.85,0,0,1,1.43,36.42,6,6,0,0,0,.79,5.74A43.78,43.78,0,0,1,202,104Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",dE,[...t[4]||(t[4]=[Jb("path",{ +d:"M208.31,75.68A59.78,59.78,0,0,0,202.93,28,8,8,0,0,0,196,24a59.75,59.75,0,0,0-48,24H124A59.75,59.75,0,0,0,76,24a8,8,0,0,0-6.93,4,59.78,59.78,0,0,0-5.38,47.68A58.14,58.14,0,0,0,56,104v8a56.06,56.06,0,0,0,48.44,55.47A39.8,39.8,0,0,0,96,192v8H72a24,24,0,0,1-24-24A40,40,0,0,0,8,136a8,8,0,0,0,0,16,24,24,0,0,1,24,24,40,40,0,0,0,40,40H96v16a8,8,0,0,0,16,0V192a24,24,0,0,1,48,0v40a8,8,0,0,0,16,0V192a39.8,39.8,0,0,0-8.44-24.53A56.06,56.06,0,0,0,216,112v-8A58.14,58.14,0,0,0,208.31,75.68ZM200,112a40,40,0,0,1-40,40H112a40,40,0,0,1-40-40v-8a41.74,41.74,0,0,1,6.9-22.48A8,8,0,0,0,80,73.83a43.81,43.81,0,0,1,.79-33.58,43.88,43.88,0,0,1,32.32,20.06A8,8,0,0,0,119.82,64h32.35a8,8,0,0,0,6.74-3.69,43.87,43.87,0,0,1,32.32-20.06A43.81,43.81,0,0,1,192,73.83a8.09,8.09,0,0,0,1,7.65A41.72,41.72,0,0,1,200,104Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",pE,[...t[5]||(t[5]=[Jb("path",{ +d:"M203.94,76.16A55.73,55.73,0,0,0,199.46,30,4,4,0,0,0,196,28a55.78,55.78,0,0,0-46,24H122A55.78,55.78,0,0,0,76,28a4,4,0,0,0-3.46,2,55.73,55.73,0,0,0-4.48,46.16A53.78,53.78,0,0,0,60,104v8a52.06,52.06,0,0,0,52,52h1.41A36,36,0,0,0,100,192v12H72a28,28,0,0,1-28-28A36,36,0,0,0,8,140a4,4,0,0,0,0,8,28,28,0,0,1,28,28,36,36,0,0,0,36,36h28v20a4,4,0,0,0,8,0V192a28,28,0,0,1,56,0v40a4,4,0,0,0,8,0V192a36,36,0,0,0-13.41-28H160a52.06,52.06,0,0,0,52-52v-8A53.78,53.78,0,0,0,203.94,76.16ZM204,112a44.05,44.05,0,0,1-44,44H112a44.05,44.05,0,0,1-44-44v-8a45.76,45.76,0,0,1,7.71-24.89,4,4,0,0,0,.53-3.84,47.82,47.82,0,0,1,2.1-39.21,47.8,47.8,0,0,1,38.12,22.1A4,4,0,0,0,119.83,60h32.34a4,4,0,0,0,3.37-1.84,47.8,47.8,0,0,1,38.12-22.1,47.82,47.82,0,0,1,2.1,39.21,4,4,0,0,0,.53,3.83A45.85,45.85,0,0,1,204,104Z" +},null,-1)])])):oy("",!0)],16))}}),fE={key:0},mE={key:1},gE={key:2},vE={key:3 +},bE={key:4},yE={key:5},OE=Hg({name:"ScalarIconGlobe",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",fE,[...t[0]||(t[0]=[Jb("path",{ +d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,187a113.4,113.4,0,0,1-20.39-35h40.82a116.94,116.94,0,0,1-10,20.77A108.61,108.61,0,0,1,128,207Zm-26.49-59a135.42,135.42,0,0,1,0-40h53a135.42,135.42,0,0,1,0,40ZM44,128a83.49,83.49,0,0,1,2.43-20H77.25a160.63,160.63,0,0,0,0,40H46.43A83.49,83.49,0,0,1,44,128Zm84-79a113.4,113.4,0,0,1,20.39,35H107.59a116.94,116.94,0,0,1,10-20.77A108.61,108.61,0,0,1,128,49Zm50.73,59h30.82a83.52,83.52,0,0,1,0,40H178.75a160.63,160.63,0,0,0,0-40Zm20.77-24H173.71a140.82,140.82,0,0,0-15.5-34.36A84.51,84.51,0,0,1,199.52,84ZM97.79,49.64A140.82,140.82,0,0,0,82.29,84H56.48A84.51,84.51,0,0,1,97.79,49.64ZM56.48,172H82.29a140.82,140.82,0,0,0,15.5,34.36A84.51,84.51,0,0,1,56.48,172Zm101.73,34.36A140.82,140.82,0,0,0,173.71,172h25.81A84.51,84.51,0,0,1,158.21,206.36Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",mE,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm88,104a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48ZM40,128a87.61,87.61,0,0,1,3.33-24H81.84a157.44,157.44,0,0,0,0,48H43.33A87.61,87.61,0,0,1,40,128ZM154,88H102a115.11,115.11,0,0,1,26-45A115.27,115.27,0,0,1,154,88Zm52.33,0H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM107.59,42.4A135.28,135.28,0,0,0,85.29,88H49.63A88.29,88.29,0,0,1,107.59,42.4ZM49.63,168H85.29a135.28,135.28,0,0,0,22.3,45.6A88.29,88.29,0,0,1,49.63,168Zm98.78,45.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",gE,[...t[2]||(t[2]=[Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm78.36,64H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM216,128a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM128,43a115.27,115.27,0,0,1,26,45H102A115.11,115.11,0,0,1,128,43ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48Zm50.35,61.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",vE,[...t[3]||(t[3]=[Jb("path",{ +d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm81.57,64H169.19a132.58,132.58,0,0,0-25.73-50.67A90.29,90.29,0,0,1,209.57,90ZM218,128a89.7,89.7,0,0,1-3.83,26H171.81a155.43,155.43,0,0,0,0-52h42.36A89.7,89.7,0,0,1,218,128Zm-90,87.83a110,110,0,0,1-15.19-19.45A124.24,124.24,0,0,1,99.35,166h57.3a124.24,124.24,0,0,1-13.46,30.38A110,110,0,0,1,128,215.83ZM96.45,154a139.18,139.18,0,0,1,0-52h63.1a139.18,139.18,0,0,1,0,52ZM38,128a89.7,89.7,0,0,1,3.83-26H84.19a155.43,155.43,0,0,0,0,52H41.83A89.7,89.7,0,0,1,38,128Zm90-87.83a110,110,0,0,1,15.19,19.45A124.24,124.24,0,0,1,156.65,90H99.35a124.24,124.24,0,0,1,13.46-30.38A110,110,0,0,1,128,40.17Zm-15.46-.84A132.58,132.58,0,0,0,86.81,90H46.43A90.29,90.29,0,0,1,112.54,39.33ZM46.43,166H86.81a132.58,132.58,0,0,0,25.73,50.67A90.29,90.29,0,0,1,46.43,166Zm97,50.67A132.58,132.58,0,0,0,169.19,166h40.38A90.29,90.29,0,0,1,143.46,216.67Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",bE,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm88,104a87.61,87.61,0,0,1-3.33,24H174.16a157.44,157.44,0,0,0,0-48h38.51A87.61,87.61,0,0,1,216,128ZM102,168H154a115.11,115.11,0,0,1-26,45A115.27,115.27,0,0,1,102,168Zm-3.9-16a140.84,140.84,0,0,1,0-48h59.88a140.84,140.84,0,0,1,0,48ZM40,128a87.61,87.61,0,0,1,3.33-24H81.84a157.44,157.44,0,0,0,0,48H43.33A87.61,87.61,0,0,1,40,128ZM154,88H102a115.11,115.11,0,0,1,26-45A115.27,115.27,0,0,1,154,88Zm52.33,0H170.71a135.28,135.28,0,0,0-22.3-45.6A88.29,88.29,0,0,1,206.37,88ZM107.59,42.4A135.28,135.28,0,0,0,85.29,88H49.63A88.29,88.29,0,0,1,107.59,42.4ZM49.63,168H85.29a135.28,135.28,0,0,0,22.3,45.6A88.29,88.29,0,0,1,49.63,168Zm98.78,45.6a135.28,135.28,0,0,0,22.3-45.6h35.66A88.29,88.29,0,0,1,148.41,213.6Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",yE,[...t[5]||(t[5]=[Jb("path",{ +d:"M128,28h0A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,190.61c-6.33-6.09-23-24.41-31.27-54.61h62.54C151,194.2,134.33,212.52,128,218.61ZM94.82,156a140.42,140.42,0,0,1,0-56h66.36a140.42,140.42,0,0,1,0,56ZM128,37.39c6.33,6.09,23,24.41,31.27,54.61H96.73C105,61.8,121.67,43.48,128,37.39ZM169.41,100h46.23a92.09,92.09,0,0,1,0,56H169.41a152.65,152.65,0,0,0,0-56Zm43.25-8h-45a129.39,129.39,0,0,0-29.19-55.4A92.25,92.25,0,0,1,212.66,92ZM117.54,36.6A129.39,129.39,0,0,0,88.35,92h-45A92.25,92.25,0,0,1,117.54,36.6ZM40.36,100H86.59a152.65,152.65,0,0,0,0,56H40.36a92.09,92.09,0,0,1,0-56Zm3,64h45a129.39,129.39,0,0,0,29.19,55.4A92.25,92.25,0,0,1,43.34,164Zm95.12,55.4A129.39,129.39,0,0,0,167.65,164h45A92.25,92.25,0,0,1,138.46,219.4Z" +},null,-1)])])):oy("",!0)],16))}}),wE={key:0},xE={key:1},kE={key:2},SE={key:3 +},_E={key:4},AE={key:5},TE=Hg({name:"ScalarIconGlobeSimple",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",wE,[...t[0]||(t[0]=[Jb("path",{ +d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm83.13,96H179.56a144.3,144.3,0,0,0-21.35-66.36A84.22,84.22,0,0,1,211.13,116ZM128,207c-9.36-10.81-24.46-33.13-27.45-67h54.94a119.74,119.74,0,0,1-17.11,52.77A108.61,108.61,0,0,1,128,207Zm-27.45-91a119.74,119.74,0,0,1,17.11-52.77A108.61,108.61,0,0,1,128,49c9.36,10.81,24.46,33.13,27.45,67ZM97.79,49.64A144.3,144.3,0,0,0,76.44,116H44.87A84.22,84.22,0,0,1,97.79,49.64ZM44.87,140H76.44a144.3,144.3,0,0,0,21.35,66.36A84.22,84.22,0,0,1,44.87,140Zm113.34,66.36A144.3,144.3,0,0,0,179.56,140h31.57A84.22,84.22,0,0,1,158.21,206.36Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",xE,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm87.62,96H175.79C174,83.49,159.94,57.67,148.41,42.4A88.19,88.19,0,0,1,215.63,120ZM96.23,136h63.54c-2.31,41.61-22.23,67.11-31.77,77C118.45,203.1,98.54,177.6,96.23,136Zm0-16C98.54,78.39,118.46,52.89,128,43c9.55,9.93,29.46,35.43,31.77,77Zm11.36-77.6C96.06,57.67,82,83.49,80.21,120H40.37A88.19,88.19,0,0,1,107.59,42.4ZM40.37,136H80.21c1.82,36.51,15.85,62.33,27.38,77.6A88.19,88.19,0,0,1,40.37,136Zm108,77.6c11.53-15.27,25.56-41.09,27.38-77.6h39.84A88.19,88.19,0,0,1,148.41,213.6Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",kE,[...t[2]||(t[2]=[Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm87.62,96H175.79C174,83.49,159.94,57.67,148.41,42.4A88.19,88.19,0,0,1,215.63,120ZM96.23,136h63.54c-2.31,41.61-22.23,67.11-31.77,77C118.45,203.1,98.54,177.6,96.23,136Zm0-16C98.54,78.39,118.46,52.89,128,43c9.55,9.93,29.46,35.43,31.77,77Zm52.18,93.6c11.53-15.27,25.56-41.09,27.38-77.6h39.84A88.19,88.19,0,0,1,148.41,213.6Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",SE,[...t[3]||(t[3]=[Jb("path",{ +d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm89.8,96H173.89c-1.54-40.77-18.48-68.23-30.43-82.67A90.19,90.19,0,0,1,217.8,122ZM128,215.83a110,110,0,0,1-15.19-19.45A128.37,128.37,0,0,1,94.13,134h67.74a128.37,128.37,0,0,1-18.68,62.38A110,110,0,0,1,128,215.83ZM94.13,122a128.37,128.37,0,0,1,18.68-62.38A110,110,0,0,1,128,40.17a110,110,0,0,1,15.19,19.45A128.37,128.37,0,0,1,161.87,122Zm18.41-82.67c-12,14.44-28.89,41.9-30.43,82.67H38.2A90.19,90.19,0,0,1,112.54,39.33ZM38.2,134H82.11c1.54,40.77,18.48,68.23,30.43,82.67A90.19,90.19,0,0,1,38.2,134Zm105.26,82.67c11.95-14.44,28.89-41.9,30.43-82.67H217.8A90.19,90.19,0,0,1,143.46,216.67Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",_E,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,24h0A104,104,0,1,0,232,128,104.12,104.12,0,0,0,128,24Zm87.62,96H175.79C174,83.49,159.94,57.67,148.41,42.4A88.19,88.19,0,0,1,215.63,120ZM96.23,136h63.54c-2.31,41.61-22.23,67.11-31.77,77C118.45,203.1,98.54,177.6,96.23,136Zm0-16C98.54,78.39,118.46,52.89,128,43c9.55,9.93,29.46,35.43,31.77,77Zm11.36-77.6C96.06,57.67,82,83.49,80.21,120H40.37A88.19,88.19,0,0,1,107.59,42.4ZM40.37,136H80.21c1.82,36.51,15.85,62.33,27.38,77.6A88.19,88.19,0,0,1,40.37,136Zm108,77.6c11.53-15.27,25.56-41.09,27.38-77.6h39.84A88.19,88.19,0,0,1,148.41,213.6Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",AE,[...t[5]||(t[5]=[Jb("path",{ +d:"M128,28h0A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm91.9,96h-48c-1.15-45.55-21.74-74.52-33.48-87.4A92.14,92.14,0,0,1,219.91,124ZM128,218.61c-8.32-8-34.57-37.13-35.93-86.61h71.86C162.57,181.48,136.32,210.61,128,218.61ZM92.07,124C93.43,74.52,119.68,45.39,128,37.39c8.32,8,34.57,37.13,35.93,86.61Zm25.47-87.4C105.8,49.48,85.21,78.45,84.06,124h-48A92.14,92.14,0,0,1,117.54,36.6ZM36.09,132h48c1.15,45.55,21.74,74.52,33.48,87.4A92.14,92.14,0,0,1,36.09,132Zm102.37,87.4c11.74-12.88,32.33-41.85,33.48-87.4h48A92.14,92.14,0,0,1,138.46,219.4Z" +},null,-1)])])):oy("",!0)],16))}}),EE={key:0},CE={key:1},$E={key:2},PE={key:3 +},IE={key:4},DE={key:5},ME=Hg({name:"ScalarIconHash",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",EE,[...t[0]||(t[0]=[Jb("path",{ +d:"M224,84H180.2l7.61-41.85a12,12,0,0,0-23.62-4.3L155.8,84H116.2l7.61-41.85a12,12,0,1,0-23.62-4.3L91.8,84H48a12,12,0,0,0,0,24H87.44l-7.27,40H32a12,12,0,0,0,0,24H75.8l-7.61,41.85a12,12,0,0,0,9.66,14A11.43,11.43,0,0,0,80,228a12,12,0,0,0,11.8-9.86L100.2,172h39.6l-7.61,41.85a12,12,0,0,0,9.66,14,11.43,11.43,0,0,0,2.16.2,12,12,0,0,0,11.8-9.86L164.2,172H208a12,12,0,0,0,0-24H168.56l7.27-40H224a12,12,0,0,0,0-24Zm-79.83,64H104.56l7.27-40h39.61Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",CE,[...t[1]||(t[1]=[Jb("path",{ +d:"M165.82,96l-11.64,64h-64l11.64-64Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M224,88H175.4l8.47-46.57a8,8,0,0,0-15.74-2.86l-9,49.43H111.4l8.47-46.57a8,8,0,0,0-15.74-2.86L95.14,88H48a8,8,0,0,0,0,16H92.23L83.5,152H32a8,8,0,0,0,0,16H80.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,80,224a8,8,0,0,0,7.86-6.57l9-49.43H144.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,144,224a8,8,0,0,0,7.86-6.57l9-49.43H208a8,8,0,0,0,0-16H163.77l8.73-48H224a8,8,0,0,0,0-16Zm-76.5,64H99.77l8.73-48h47.73Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",$E,[...t[2]||(t[2]=[Jb("path",{ +d:"M116.25,112h31.5l-8,32h-31.5ZM224,48V208a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32H208A16,16,0,0,1,224,48Zm-16,56a8,8,0,0,0-8-8H168.25l7.51-30.06a8,8,0,0,0-15.52-3.88L151.75,96h-31.5l7.51-30.06a8,8,0,0,0-15.52-3.88L103.75,96H64a8,8,0,0,0,0,16H99.75l-8,32H56a8,8,0,0,0,0,16H87.75l-7.51,30.06a8,8,0,0,0,5.82,9.7,8.13,8.13,0,0,0,2,.24,8,8,0,0,0,7.75-6.06L104.25,160h31.5l-7.51,30.06a8,8,0,0,0,5.82,9.7A8.13,8.13,0,0,0,136,200a8,8,0,0,0,7.75-6.06L152.25,160H192a8,8,0,0,0,0-16H156.25l8-32H200A8,8,0,0,0,208,104Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",PE,[...t[3]||(t[3]=[Jb("path",{ +d:"M224,90H173l8.89-48.93a6,6,0,1,0-11.8-2.14L160.81,90H109l8.89-48.93a6,6,0,0,0-11.8-2.14L96.81,90H48a6,6,0,0,0,0,12H94.63l-9.46,52H32a6,6,0,0,0,0,12H83L74.1,214.93a6,6,0,0,0,4.83,7A5.64,5.64,0,0,0,80,222a6,6,0,0,0,5.89-4.93L95.19,166H147l-8.89,48.93a6,6,0,0,0,4.83,7,5.64,5.64,0,0,0,1.08.1,6,6,0,0,0,5.89-4.93L159.19,166H208a6,6,0,0,0,0-12H161.37l9.46-52H224a6,6,0,0,0,0-12Zm-74.83,64H97.37l9.46-52h51.8Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",IE,[...t[4]||(t[4]=[Jb("path",{ +d:"M224,88H175.4l8.47-46.57a8,8,0,0,0-15.74-2.86l-9,49.43H111.4l8.47-46.57a8,8,0,0,0-15.74-2.86L95.14,88H48a8,8,0,0,0,0,16H92.23L83.5,152H32a8,8,0,0,0,0,16H80.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,80,224a8,8,0,0,0,7.86-6.57l9-49.43H144.6l-8.47,46.57a8,8,0,0,0,6.44,9.3A7.79,7.79,0,0,0,144,224a8,8,0,0,0,7.86-6.57l9-49.43H208a8,8,0,0,0,0-16H163.77l8.73-48H224a8,8,0,0,0,0-16Zm-76.5,64H99.77l8.73-48h47.73Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",DE,[...t[5]||(t[5]=[Jb("path",{ +d:"M224,92H170.61l9.33-51.28a4,4,0,1,0-7.88-1.44L162.48,92H106.61l9.33-51.28a4,4,0,1,0-7.88-1.44L98.48,92H48a4,4,0,0,0,0,8H97L86.84,156H32a4,4,0,0,0,0,8H85.39l-9.33,51.28a4,4,0,0,0,3.22,4.65A3.65,3.65,0,0,0,80,220a4,4,0,0,0,3.94-3.29L93.52,164h55.87l-9.33,51.28a4,4,0,0,0,3.22,4.65,3.65,3.65,0,0,0,.72.07,4,4,0,0,0,3.94-3.29L157.52,164H208a4,4,0,0,0,0-8H159l10.19-56H224a4,4,0,0,0,0-8Zm-73.16,64H95l10.19-56H161Z" +},null,-1)])])):oy("",!0)],16))}}),NE={key:0},RE={key:1},LE={key:2},BE={key:3 +},jE={key:4},UE={key:5},zE=Hg({name:"ScalarIconHouse",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",NE,[...t[0]||(t[0]=[Jb("path",{ +d:"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",RE,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",LE,[...t[2]||(t[2]=[Jb("path",{ +d:"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",BE,[...t[3]||(t[3]=[Jb("path",{ +d:"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",jE,[...t[4]||(t[4]=[Jb("path",{ +d:"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",UE,[...t[5]||(t[5]=[Jb("path",{ +d:"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z" +},null,-1)])])):oy("",!0)],16))}}),ZE={key:0},FE={key:1},HE={key:2},QE={key:3 +},VE={key:4},qE={key:5},WE=Hg({name:"ScalarIconInfo",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",ZE,[...t[0]||(t[0]=[Jb("path",{ +d:"M108,84a16,16,0,1,1,16,16A16,16,0,0,1,108,84Zm128,44A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Zm-72,36.68V132a20,20,0,0,0-20-20,12,12,0,0,0-4,23.32V168a20,20,0,0,0,20,20,12,12,0,0,0,4-23.32Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",FE,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M144,176a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176Zm88-48A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128ZM124,96a12,12,0,1,0-12-12A12,12,0,0,0,124,96Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",HE,[...t[2]||(t[2]=[Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-4,48a12,12,0,1,1-12,12A12,12,0,0,1,124,72Zm12,112a16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",QE,[...t[3]||(t[3]=[Jb("path",{ +d:"M142,176a6,6,0,0,1-6,6,14,14,0,0,1-14-14V128a2,2,0,0,0-2-2,6,6,0,0,1,0-12,14,14,0,0,1,14,14v40a2,2,0,0,0,2,2A6,6,0,0,1,142,176ZM124,94a10,10,0,1,0-10-10A10,10,0,0,0,124,94Zm106,34A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",VE,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",qE,[...t[5]||(t[5]=[Jb("path",{ +d:"M140,176a4,4,0,0,1-4,4,12,12,0,0,1-12-12V128a4,4,0,0,0-4-4,4,4,0,0,1,0-8,12,12,0,0,1,12,12v40a4,4,0,0,0,4,4A4,4,0,0,1,140,176ZM124,92a8,8,0,1,0-8-8A8,8,0,0,0,124,92Zm104,36A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z" +},null,-1)])])):oy("",!0)],16))}}),XE={key:0},GE={key:1},YE={key:2},KE={key:3 +},JE={key:4},eC={key:5},tC=Hg({name:"ScalarIconLink",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",XE,[...t[0]||(t[0]=[Jb("path",{ +d:"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",GE,[...t[1]||(t[1]=[Jb("path",{ +d:"M218.34,119.6,183.6,154.34a46.58,46.58,0,0,1-44.31,12.26c-.31.34-.62.67-.95,1L103.6,202.34A46.63,46.63,0,1,1,37.66,136.4L72.4,101.66A46.6,46.6,0,0,1,116.71,89.4c.31-.34.62-.67,1-1L152.4,53.66a46.63,46.63,0,0,1,65.94,65.94Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,7.78,8.22H152a8,8,0,0,0,8-7.78A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",YE,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM115.7,192.49a43.31,43.31,0,0,1-55-66.43l25.37-25.37a43.35,43.35,0,0,1,61.25,0,42.9,42.9,0,0,1,9.95,15.43,8,8,0,1,1-15,5.6A27.33,27.33,0,0,0,97.37,112L72,137.37a27.32,27.32,0,0,0,34.68,41.91,8,8,0,1,1,9,13.21Zm79.61-62.55-25.37,25.37A43,43,0,0,1,139.32,168h0a43.35,43.35,0,0,1-40.53-28.12,8,8,0,1,1,15-5.6A27.35,27.35,0,0,0,139.28,152h0a27.14,27.14,0,0,0,19.32-8L184,118.63a27.32,27.32,0,0,0-34.68-41.91,8,8,0,1,1-9-13.21,43.32,43.32,0,0,1,55,66.43Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",KE,[...t[3]||(t[3]=[Jb("path",{ +d:"M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",JE,[...t[4]||(t[4]=[Jb("path",{ +d:"M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",eC,[...t[5]||(t[5]=[Jb("path",{ +d:"M236,88.12a50.44,50.44,0,0,1-14.81,34.31l-34.75,34.74A50.33,50.33,0,0,1,150.62,172h-.05A50.63,50.63,0,0,1,100,120a4,4,0,0,1,4-3.89h.11a4,4,0,0,1,3.89,4.11A42.64,42.64,0,0,0,150.58,164h0a42.32,42.32,0,0,0,30.14-12.49l34.75-34.74a42.63,42.63,0,1,0-60.29-60.28l-11,11a4,4,0,0,1-5.66-5.65l11-11A50.64,50.64,0,0,1,236,88.12ZM111.78,188.49l-11,11A42.33,42.33,0,0,1,70.6,212h0a42.63,42.63,0,0,1-30.11-72.77l34.75-34.74A42.63,42.63,0,0,1,148,135.82a4,4,0,0,0,8,.23A50.64,50.64,0,0,0,69.55,98.83L34.8,133.57A50.63,50.63,0,0,0,70.56,220h0a50.33,50.33,0,0,0,35.81-14.83l11-11a4,4,0,1,0-5.65-5.66Z" +},null,-1)])])):oy("",!0)],16))}}),nC={key:0},rC={key:1},aC={key:2},oC={key:3 +},iC={key:4},sC={key:5},lC=Hg({name:"ScalarIconList",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",nC,[...t[0]||(t[0]=[Jb("path",{ +d:"M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128ZM40,76H216a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24ZM216,180H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",rC,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,64V192H40V64Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM40,72H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",aC,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM192,184H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Zm0-48H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Zm0-48H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",oC,[...t[3]||(t[3]=[Jb("path",{ +d:"M222,128a6,6,0,0,1-6,6H40a6,6,0,0,1,0-12H216A6,6,0,0,1,222,128ZM40,70H216a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12ZM216,186H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",iC,[...t[4]||(t[4]=[Jb("path",{ +d:"M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM40,72H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",sC,[...t[5]||(t[5]=[Jb("path",{ +d:"M220,128a4,4,0,0,1-4,4H40a4,4,0,0,1,0-8H216A4,4,0,0,1,220,128ZM40,68H216a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8ZM216,188H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Z" +},null,-1)])])):oy("",!0)],16))}}),cC={key:0},uC={key:1},dC={key:2},pC={key:3 +},hC={key:4},fC={key:5},mC=Hg({name:"ScalarIconLockSimple",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",cC,[...t[0]||(t[0]=[Jb("path",{ +d:"M208,76H180V56A52,52,0,0,0,76,56V76H48A20,20,0,0,0,28,96V208a20,20,0,0,0,20,20H208a20,20,0,0,0,20-20V96A20,20,0,0,0,208,76ZM100,56a28,28,0,0,1,56,0V76H100ZM204,204H52V100H204Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",uC,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,96V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V96a8,8,0,0,1,8-8H208A8,8,0,0,1,216,96Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",dC,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",pC,[...t[3]||(t[3]=[Jb("path",{ +d:"M208,82H174V56a46,46,0,0,0-92,0V82H48A14,14,0,0,0,34,96V208a14,14,0,0,0,14,14H208a14,14,0,0,0,14-14V96A14,14,0,0,0,208,82ZM94,56a34,34,0,0,1,68,0V82H94ZM210,208a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V96a2,2,0,0,1,2-2H208a2,2,0,0,1,2,2Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",hC,[...t[4]||(t[4]=[Jb("path",{ +d:"M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",fC,[...t[5]||(t[5]=[Jb("path",{ +d:"M208,84H172V56a44,44,0,0,0-88,0V84H48A12,12,0,0,0,36,96V208a12,12,0,0,0,12,12H208a12,12,0,0,0,12-12V96A12,12,0,0,0,208,84ZM92,56a36,36,0,0,1,72,0V84H92ZM212,208a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V96a4,4,0,0,1,4-4H208a4,4,0,0,1,4,4Z" +},null,-1)])])):oy("",!0)],16))}}),gC={key:0},vC={key:1},bC={key:2},yC={key:3 +},OC={key:4},wC={key:5},xC=Hg({name:"ScalarIconMagnifyingGlass",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",gC,[...t[0]||(t[0]=[Jb("path",{ +d:"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",vC,[...t[1]||(t[1]=[Jb("path",{ +d:"M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",bC,[...t[2]||(t[2]=[Jb("path",{ +d:"M168,112a56,56,0,1,1-56-56A56,56,0,0,1,168,112Zm61.66,117.66a8,8,0,0,1-11.32,0l-50.06-50.07a88,88,0,1,1,11.32-11.31l50.06,50.06A8,8,0,0,1,229.66,229.66ZM112,184a72,72,0,1,0-72-72A72.08,72.08,0,0,0,112,184Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",yC,[...t[3]||(t[3]=[Jb("path",{ +d:"M228.24,219.76l-51.38-51.38a86.15,86.15,0,1,0-8.48,8.48l51.38,51.38a6,6,0,0,0,8.48-8.48ZM38,112a74,74,0,1,1,74,74A74.09,74.09,0,0,1,38,112Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",OC,[...t[4]||(t[4]=[Jb("path",{ +d:"M229.66,218.34l-50.07-50.06a88.11,88.11,0,1,0-11.31,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",wC,[...t[5]||(t[5]=[Jb("path",{ +d:"M226.83,221.17l-52.7-52.7a84.1,84.1,0,1,0-5.66,5.66l52.7,52.7a4,4,0,0,0,5.66-5.66ZM36,112a76,76,0,1,1,76,76A76.08,76.08,0,0,1,36,112Z" +},null,-1)])])):oy("",!0)],16))}}),kC={key:0},SC={key:1},_C={key:2},AC={key:3 +},TC={key:4},EC={key:5},CC=Hg({name:"ScalarIconNotepad",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",kC,[...t[0]||(t[0]=[Jb("path",{ +d:"M172,124a12,12,0,0,1-12,12H96a12,12,0,0,1,0-24h64A12,12,0,0,1,172,124Zm-12,28H96a12,12,0,0,0,0,24h64a12,12,0,0,0,0-24ZM220,40V200a36,36,0,0,1-36,36H72a36,36,0,0,1-36-36V40A12,12,0,0,1,48,28H72V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h20V24a12,12,0,0,1,24,0v4h24A12,12,0,0,1,220,40ZM196,52H184v4a12,12,0,0,1-24,0V52H140v4a12,12,0,0,1-24,0V52H96v4a12,12,0,0,1-24,0V52H60V200a12,12,0,0,0,12,12H184a12,12,0,0,0,12-12Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",SC,[...t[1]||(t[1]=[Jb("path",{ +d:"M208,40V200a24,24,0,0,1-24,24H72a24,24,0,0,1-24-24V40Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M168,128a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,128Zm-8,24H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16ZM216,40V200a32,32,0,0,1-32,32H72a32,32,0,0,1-32-32V40a8,8,0,0,1,8-8H72V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h24A8,8,0,0,1,216,40Zm-16,8H184v8a8,8,0,0,1-16,0V48H136v8a8,8,0,0,1-16,0V48H88v8a8,8,0,0,1-16,0V48H56V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",_C,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H184V24a8,8,0,0,0-16,0v8H136V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48a8,8,0,0,0-8,8V200a32,32,0,0,0,32,32H184a32,32,0,0,0,32-32V40A8,8,0,0,0,208,32ZM120,56a8,8,0,0,1,16,0v8a8,8,0,0,1-16,0ZM80,72a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0v8A8,8,0,0,1,80,72Zm80,96H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm0-32H96a8,8,0,0,1,0-16h64a8,8,0,0,1,0,16Zm24-72a8,8,0,0,1-16,0V56a8,8,0,0,1,16,0Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",AC,[...t[3]||(t[3]=[Jb("path",{ +d:"M166,128a6,6,0,0,1-6,6H96a6,6,0,0,1,0-12h64A6,6,0,0,1,166,128Zm-6,26H96a6,6,0,0,0,0,12h64a6,6,0,0,0,0-12ZM214,40V200a30,30,0,0,1-30,30H72a30,30,0,0,1-30-30V40a6,6,0,0,1,6-6H74V24a6,6,0,0,1,12,0V34h36V24a6,6,0,0,1,12,0V34h36V24a6,6,0,0,1,12,0V34h26A6,6,0,0,1,214,40Zm-12,6H182V56a6,6,0,0,1-12,0V46H134V56a6,6,0,0,1-12,0V46H86V56a6,6,0,0,1-12,0V46H54V200a18,18,0,0,0,18,18H184a18,18,0,0,0,18-18Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",TC,[...t[4]||(t[4]=[Jb("path",{ +d:"M168,128a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,128Zm-8,24H96a8,8,0,0,0,0,16h64a8,8,0,0,0,0-16ZM216,40V200a32,32,0,0,1-32,32H72a32,32,0,0,1-32-32V40a8,8,0,0,1,8-8H72V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h32V24a8,8,0,0,1,16,0v8h24A8,8,0,0,1,216,40Zm-16,8H184v8a8,8,0,0,1-16,0V48H136v8a8,8,0,0,1-16,0V48H88v8a8,8,0,0,1-16,0V48H56V200a16,16,0,0,0,16,16H184a16,16,0,0,0,16-16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",EC,[...t[5]||(t[5]=[Jb("path",{ +d:"M164,128a4,4,0,0,1-4,4H96a4,4,0,0,1,0-8h64A4,4,0,0,1,164,128Zm-4,28H96a4,4,0,0,0,0,8h64a4,4,0,0,0,0-8ZM212,40V200a28,28,0,0,1-28,28H72a28,28,0,0,1-28-28V40a4,4,0,0,1,4-4H76V24a4,4,0,0,1,8,0V36h40V24a4,4,0,0,1,8,0V36h40V24a4,4,0,0,1,8,0V36h28A4,4,0,0,1,212,40Zm-8,4H180V56a4,4,0,0,1-8,0V44H132V56a4,4,0,0,1-8,0V44H84V56a4,4,0,0,1-8,0V44H52V200a20,20,0,0,0,20,20H184a20,20,0,0,0,20-20Z" +},null,-1)])])):oy("",!0)],16))}}),$C={key:0},PC={key:1},IC={key:2},DC={key:3 +},MC={key:4},NC={key:5},RC=Hg({name:"ScalarIconPencilSimple",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",$C,[...t[0]||(t[0]=[Jb("path",{ +d:"M230.14,70.54,185.46,25.85a20,20,0,0,0-28.29,0L33.86,149.17A19.85,19.85,0,0,0,28,163.31V208a20,20,0,0,0,20,20H92.69a19.86,19.86,0,0,0,14.14-5.86L230.14,98.82a20,20,0,0,0,0-28.28ZM91,204H52V165l84-84,39,39ZM192,103,153,64l18.34-18.34,39,39Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",PC,[...t[1]||(t[1]=[Jb("path",{ +d:"M221.66,90.34,192,120,136,64l29.66-29.66a8,8,0,0,1,11.31,0L221.66,79A8,8,0,0,1,221.66,90.34Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",IC,[...t[2]||(t[2]=[Jb("path",{ +d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM192,108.68,147.31,64l24-24L216,84.68Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",DC,[...t[3]||(t[3]=[Jb("path",{ +d:"M225.9,74.78,181.21,30.09a14,14,0,0,0-19.8,0L38.1,153.41a13.94,13.94,0,0,0-4.1,9.9V208a14,14,0,0,0,14,14H92.69a13.94,13.94,0,0,0,9.9-4.1L225.9,94.58a14,14,0,0,0,0-19.8ZM94.1,209.41a2,2,0,0,1-1.41.59H48a2,2,0,0,1-2-2V163.31a2,2,0,0,1,.59-1.41L136,72.48,183.51,120ZM217.41,86.1,192,111.51,144.49,64,169.9,38.58a2,2,0,0,1,2.83,0l44.68,44.69a2,2,0,0,1,0,2.83Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",MC,[...t[4]||(t[4]=[Jb("path",{ +d:"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",NC,[...t[5]||(t[5]=[Jb("path",{ +d:"M224.49,76.2,179.8,31.51a12,12,0,0,0-17,0L133.17,61.17h0L39.52,154.83A11.9,11.9,0,0,0,36,163.31V208a12,12,0,0,0,12,12H92.69a12,12,0,0,0,8.48-3.51L224.48,93.17a12,12,0,0,0,0-17Zm-129,134.63A4,4,0,0,1,92.69,212H48a4,4,0,0,1-4-4V163.31a4,4,0,0,1,1.17-2.83L136,69.65,186.34,120ZM218.83,87.51,192,114.34,141.66,64l26.82-26.83a4,4,0,0,1,5.66,0l44.69,44.68a4,4,0,0,1,0,5.66Z" +},null,-1)])])):oy("",!0)],16))}}),LC={key:0},BC={key:1},jC={key:2},UC={key:3 +},zC={key:4},ZC={key:5},FC=Hg({name:"ScalarIconPlay",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",LC,[...t[0]||(t[0]=[Jb("path",{ +d:"M234.49,111.07,90.41,22.94A20,20,0,0,0,60,39.87V216.13a20,20,0,0,0,30.41,16.93l144.08-88.13a19.82,19.82,0,0,0,0-33.86ZM84,208.85V47.15L216.16,128Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",BC,[...t[1]||(t[1]=[Jb("path",{ +d:"M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",jC,[...t[2]||(t[2]=[Jb("path",{ +d:"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",UC,[...t[3]||(t[3]=[Jb("path",{ +d:"M231.36,116.19,87.28,28.06a14,14,0,0,0-14.18-.27A13.69,13.69,0,0,0,66,39.87V216.13a13.69,13.69,0,0,0,7.1,12.08,14,14,0,0,0,14.18-.27l144.08-88.13a13.82,13.82,0,0,0,0-23.62Zm-6.26,13.38L81,217.7a2,2,0,0,1-2.06,0,1.78,1.78,0,0,1-1-1.61V39.87a1.78,1.78,0,0,1,1-1.61A2.06,2.06,0,0,1,80,38a2,2,0,0,1,1,.31L225.1,126.43a1.82,1.82,0,0,1,0,3.14Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",zC,[...t[4]||(t[4]=[Jb("path",{ +d:"M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",ZC,[...t[5]||(t[5]=[Jb("path",{ +d:"M230.32,117.9,86.24,29.79a11.91,11.91,0,0,0-12.17-.23A11.71,11.71,0,0,0,68,39.89V216.11a11.71,11.71,0,0,0,6.07,10.33,11.91,11.91,0,0,0,12.17-.23L230.32,138.1a11.82,11.82,0,0,0,0-20.2Zm-4.18,13.37L82.06,219.39a4,4,0,0,1-4.07.07,3.77,3.77,0,0,1-2-3.35V39.89a3.77,3.77,0,0,1,2-3.35,4,4,0,0,1,4.07.07l144.08,88.12a3.8,3.8,0,0,1,0,6.54Z" +},null,-1)])])):oy("",!0)],16))}}),HC={key:0},QC={key:1},VC={key:2},qC={key:3 +},WC={key:4},XC={key:5},GC=Hg({name:"ScalarIconPlus",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",HC,[...t[0]||(t[0]=[Jb("path",{ +d:"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",QC,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",VC,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM184,136H136v48a8,8,0,0,1-16,0V136H72a8,8,0,0,1,0-16h48V72a8,8,0,0,1,16,0v48h48a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",qC,[...t[3]||(t[3]=[Jb("path",{ +d:"M222,128a6,6,0,0,1-6,6H134v82a6,6,0,0,1-12,0V134H40a6,6,0,0,1,0-12h82V40a6,6,0,0,1,12,0v82h82A6,6,0,0,1,222,128Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",WC,[...t[4]||(t[4]=[Jb("path",{ +d:"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",XC,[...t[5]||(t[5]=[Jb("path",{ +d:"M220,128a4,4,0,0,1-4,4H132v84a4,4,0,0,1-8,0V132H40a4,4,0,0,1,0-8h84V40a4,4,0,0,1,8,0v84h84A4,4,0,0,1,220,128Z" +},null,-1)])])):oy("",!0)],16))}}),YC={key:0},KC={key:1},JC={key:2},e$={key:3 +},t$={key:4},n$={key:5},r$=Hg({name:"ScalarIconScroll",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",YC,[...t[0]||(t[0]=[Jb("path",{ +d:"M92,92a12,12,0,0,1,12-12h60a12,12,0,0,1,0,24H104A12,12,0,0,1,92,92Zm12,52h60a12,12,0,0,0,0-24H104a12,12,0,0,0,0,24Zm132,48a36,36,0,0,1-36,36H88a36,36,0,0,1-36-36V64a12,12,0,0,0-24,0c0,3.73,3.35,6.51,3.38,6.54l-.18-.14h0A12,12,0,1,1,16.81,89.59h0C15.49,88.62,4,79.55,4,64A36,36,0,0,1,40,28H176a36,36,0,0,1,36,36V164h4a12,12,0,0,1,7.2,2.4C224.51,167.38,236,176.45,236,192ZM92.62,172.2A12,12,0,0,1,104,164h84V64a12,12,0,0,0-12-12H73.94A35.88,35.88,0,0,1,76,64V192a12,12,0,0,0,24,0c0-3.58-3.17-6.38-3.2-6.4A12,12,0,0,1,92.62,172.2ZM212,192a7.69,7.69,0,0,0-1.24-4h-87a30.32,30.32,0,0,1,.26,4,35.84,35.84,0,0,1-2.06,12H200A12,12,0,0,0,212,192Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",KC,[...t[1]||(t[1]=[Jb("path",{ +d:"M200,176H104s8,6,8,16a24,24,0,0,1-48,0V64A24,24,0,0,0,40,40H176a24,24,0,0,1,24,24Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M96,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H104A8,8,0,0,1,96,104Zm8,40h64a8,8,0,0,0,0-16H104a8,8,0,0,0,0,16Zm128,48a32,32,0,0,1-32,32H88a32,32,0,0,1-32-32V64a16,16,0,0,0-32,0c0,5.74,4.83,9.62,4.88,9.66h0A8,8,0,0,1,24,88a7.89,7.89,0,0,1-4.79-1.61h0C18.05,85.54,8,77.61,8,64A32,32,0,0,1,40,32H176a32,32,0,0,1,32,32V168h8a8,8,0,0,1,4.8,1.6C222,170.46,232,178.39,232,192ZM96.26,173.48A8.07,8.07,0,0,1,104,168h88V64a16,16,0,0,0-16-16H67.69A31.71,31.71,0,0,1,72,64V192a16,16,0,0,0,32,0c0-5.74-4.83-9.62-4.88-9.66A7.82,7.82,0,0,1,96.26,173.48ZM216,192a12.58,12.58,0,0,0-3.23-8h-94a26.92,26.92,0,0,1,1.21,8,31.82,31.82,0,0,1-4.29,16H200A16,16,0,0,0,216,192Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",JC,[...t[2]||(t[2]=[Jb("path",{ +d:"M220.8,169.6A8,8,0,0,0,216,168h-8V64a32,32,0,0,0-32-32H40A32,32,0,0,0,8,64C8,77.61,18.05,85.54,19.2,86.4h0A7.89,7.89,0,0,0,24,88a8,8,0,0,0,4.87-14.33h0C28.83,73.62,24,69.74,24,64a16,16,0,0,1,32,0V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32C232,178.39,222,170.46,220.8,169.6ZM104,96h64a8,8,0,0,1,0,16H104a8,8,0,0,1,0-16Zm-8,40a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H104A8,8,0,0,1,96,136Zm104,72H107.71A31.82,31.82,0,0,0,112,192a26.92,26.92,0,0,0-1.21-8h102a12.58,12.58,0,0,1,3.23,8A16,16,0,0,1,200,208Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",e$,[...t[3]||(t[3]=[Jb("path",{ +d:"M98,136a6,6,0,0,1,6-6h64a6,6,0,0,1,0,12H104A6,6,0,0,1,98,136Zm6-26h64a6,6,0,0,0,0-12H104a6,6,0,0,0,0,12Zm126,82a30,30,0,0,1-30,30H88a30,30,0,0,1-30-30V64a18,18,0,0,0-36,0c0,6.76,5.58,11.19,5.64,11.23A6,6,0,1,1,20.4,84.8C20,84.48,10,76.85,10,64A30,30,0,0,1,40,34H176a30,30,0,0,1,30,30V170h10a6,6,0,0,1,3.6,1.2C220,171.52,230,179.15,230,192Zm-124,0c0-6.76-5.59-11.19-5.64-11.23A6,6,0,0,1,104,170h90V64a18,18,0,0,0-18-18H64a29.82,29.82,0,0,1,6,18V192a18,18,0,0,0,36,0Zm112,0a14.94,14.94,0,0,0-4.34-10H115.88A24.83,24.83,0,0,1,118,192a29.87,29.87,0,0,1-6,18h88A18,18,0,0,0,218,192Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",t$,[...t[4]||(t[4]=[Jb("path",{ +d:"M96,104a8,8,0,0,1,8-8h64a8,8,0,0,1,0,16H104A8,8,0,0,1,96,104Zm8,40h64a8,8,0,0,0,0-16H104a8,8,0,0,0,0,16Zm128,48a32,32,0,0,1-32,32H88a32,32,0,0,1-32-32V64a16,16,0,0,0-32,0c0,5.74,4.83,9.62,4.88,9.66h0A8,8,0,0,1,24,88a7.89,7.89,0,0,1-4.79-1.61h0C18.05,85.54,8,77.61,8,64A32,32,0,0,1,40,32H176a32,32,0,0,1,32,32V168h8a8,8,0,0,1,4.8,1.6C222,170.46,232,178.39,232,192ZM96.26,173.48A8.07,8.07,0,0,1,104,168h88V64a16,16,0,0,0-16-16H67.69A31.71,31.71,0,0,1,72,64V192a16,16,0,0,0,32,0c0-5.74-4.83-9.62-4.88-9.66A7.82,7.82,0,0,1,96.26,173.48ZM216,192a12.58,12.58,0,0,0-3.23-8h-94a26.92,26.92,0,0,1,1.21,8,31.82,31.82,0,0,1-4.29,16H200A16,16,0,0,0,216,192Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",n$,[...t[5]||(t[5]=[Jb("path",{ +d:"M100,104a4,4,0,0,1,4-4h64a4,4,0,0,1,0,8H104A4,4,0,0,1,100,104Zm4,36h64a4,4,0,0,0,0-8H104a4,4,0,0,0,0,8Zm124,52a28,28,0,0,1-28,28H88a28,28,0,0,1-28-28V64a20,20,0,0,0-40,0c0,7.78,6.34,12.75,6.4,12.8a4,4,0,1,1-4.8,6.4C21.21,82.91,12,75.86,12,64A28,28,0,0,1,40,36H176a28,28,0,0,1,28,28V172h12a4,4,0,0,1,2.4.8C218.79,173.09,228,180.14,228,192Zm-120,0c0-7.78-6.34-12.75-6.4-12.8A4,4,0,0,1,104,172h92V64a20,20,0,0,0-20-20H59.57A27.9,27.9,0,0,1,68,64V192a20,20,0,0,0,40,0Zm112,0c0-6-3.74-10.3-5.5-12H112.61A23.31,23.31,0,0,1,116,192a27.94,27.94,0,0,1-8.42,20H200A20,20,0,0,0,220,192Z" +},null,-1)])])):oy("",!0)],16))}}),a$={key:0},o$={key:1},i$={key:2},s$={key:3 +},l$={key:4},c$={key:5},u$=Hg({name:"ScalarIconSparkle",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",a$,[...t[0]||(t[0]=[Jb("path",{ +d:"M199,125.31l-49.88-18.39L130.69,57a19.92,19.92,0,0,0-37.38,0L74.92,106.92,25,125.31a19.92,19.92,0,0,0,0,37.38l49.88,18.39L93.31,231a19.92,19.92,0,0,0,37.38,0l18.39-49.88L199,162.69a19.92,19.92,0,0,0,0-37.38Zm-63.38,35.16a12,12,0,0,0-7.11,7.11L112,212.28l-16.47-44.7a12,12,0,0,0-7.11-7.11L43.72,144l44.7-16.47a12,12,0,0,0,7.11-7.11L112,75.72l16.47,44.7a12,12,0,0,0,7.11,7.11L180.28,144ZM140,40a12,12,0,0,1,12-12h12V16a12,12,0,0,1,24,0V28h12a12,12,0,0,1,0,24H188V64a12,12,0,0,1-24,0V52H152A12,12,0,0,1,140,40ZM252,88a12,12,0,0,1-12,12h-4v4a12,12,0,0,1-24,0v-4h-4a12,12,0,0,1,0-24h4V72a12,12,0,0,1,24,0v4h4A12,12,0,0,1,252,88Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",o$,[...t[1]||(t[1]=[Jb("path",{ +d:"M194.82,151.43l-55.09,20.3-20.3,55.09a7.92,7.92,0,0,1-14.86,0l-20.3-55.09-55.09-20.3a7.92,7.92,0,0,1,0-14.86l55.09-20.3,20.3-55.09a7.92,7.92,0,0,1,14.86,0l20.3,55.09,55.09,20.3A7.92,7.92,0,0,1,194.82,151.43Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",i$,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,144a15.78,15.78,0,0,1-10.42,14.94L146,178l-19,51.62a15.92,15.92,0,0,1-29.88,0L78,178l-51.62-19a15.92,15.92,0,0,1,0-29.88L78,110l19-51.62a15.92,15.92,0,0,1,29.88,0L146,110l51.62,19A15.78,15.78,0,0,1,208,144ZM152,48h16V64a8,8,0,0,0,16,0V48h16a8,8,0,0,0,0-16H184V16a8,8,0,0,0-16,0V32H152a8,8,0,0,0,0,16Zm88,32h-8V72a8,8,0,0,0-16,0v8h-8a8,8,0,0,0,0,16h8v8a8,8,0,0,0,16,0V96h8a8,8,0,0,0,0-16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",s$,[...t[3]||(t[3]=[Jb("path",{ +d:"M196.89,130.94,144.4,111.6,125.06,59.11a13.92,13.92,0,0,0-26.12,0L79.6,111.6,27.11,130.94a13.92,13.92,0,0,0,0,26.12L79.6,176.4l19.34,52.49a13.92,13.92,0,0,0,26.12,0L144.4,176.4l52.49-19.34a13.92,13.92,0,0,0,0-26.12Zm-4.15,14.86-55.08,20.3a6,6,0,0,0-3.56,3.56l-20.3,55.08a1.92,1.92,0,0,1-3.6,0L89.9,169.66a6,6,0,0,0-3.56-3.56L31.26,145.8a1.92,1.92,0,0,1,0-3.6l55.08-20.3a6,6,0,0,0,3.56-3.56l20.3-55.08a1.92,1.92,0,0,1,3.6,0l20.3,55.08a6,6,0,0,0,3.56,3.56l55.08,20.3a1.92,1.92,0,0,1,0,3.6ZM146,40a6,6,0,0,1,6-6h18V16a6,6,0,0,1,12,0V34h18a6,6,0,0,1,0,12H182V64a6,6,0,0,1-12,0V46H152A6,6,0,0,1,146,40ZM246,88a6,6,0,0,1-6,6H230v10a6,6,0,0,1-12,0V94H208a6,6,0,0,1,0-12h10V72a6,6,0,0,1,12,0V82h10A6,6,0,0,1,246,88Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",l$,[...t[4]||(t[4]=[Jb("path",{ +d:"M197.58,129.06,146,110l-19-51.62a15.92,15.92,0,0,0-29.88,0L78,110l-51.62,19a15.92,15.92,0,0,0,0,29.88L78,178l19,51.62a15.92,15.92,0,0,0,29.88,0L146,178l51.62-19a15.92,15.92,0,0,0,0-29.88ZM137,164.22a8,8,0,0,0-4.74,4.74L112,223.85,91.78,169A8,8,0,0,0,87,164.22L32.15,144,87,123.78A8,8,0,0,0,91.78,119L112,64.15,132.22,119a8,8,0,0,0,4.74,4.74L191.85,144ZM144,40a8,8,0,0,1,8-8h16V16a8,8,0,0,1,16,0V32h16a8,8,0,0,1,0,16H184V64a8,8,0,0,1-16,0V48H152A8,8,0,0,1,144,40ZM248,88a8,8,0,0,1-8,8h-8v8a8,8,0,0,1-16,0V96h-8a8,8,0,0,1,0-16h8V72a8,8,0,0,1,16,0v8h8A8,8,0,0,1,248,88Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",c$,[...t[5]||(t[5]=[Jb("path",{ +d:"M196.2,132.81l-53.36-19.65L123.19,59.8a11.93,11.93,0,0,0-22.38,0L81.16,113.16,27.8,132.81a11.93,11.93,0,0,0,0,22.38l53.36,19.65,19.65,53.36a11.93,11.93,0,0,0,22.38,0l19.65-53.36,53.36-19.65a11.93,11.93,0,0,0,0-22.38Zm-2.77,14.87L138.35,168a4,4,0,0,0-2.37,2.37l-20.3,55.08a3.92,3.92,0,0,1-7.36,0L88,170.35A4,4,0,0,0,85.65,168l-55.08-20.3a3.92,3.92,0,0,1,0-7.36L85.65,120A4,4,0,0,0,88,117.65l20.3-55.08a3.92,3.92,0,0,1,7.36,0L136,117.65a4,4,0,0,0,2.37,2.37l55.08,20.3a3.92,3.92,0,0,1,0,7.36ZM148,40a4,4,0,0,1,4-4h20V16a4,4,0,0,1,8,0V36h20a4,4,0,0,1,0,8H180V64a4,4,0,0,1-8,0V44H152A4,4,0,0,1,148,40Zm96,48a4,4,0,0,1-4,4H228v12a4,4,0,0,1-8,0V92H208a4,4,0,0,1,0-8h12V72a4,4,0,0,1,8,0V84h12A4,4,0,0,1,244,88Z" +},null,-1)])])):oy("",!0)],16))}}),d$={key:0},p$={key:1},h$={key:2},f$={key:3 +},m$={key:4},g$={key:5},v$=Hg({name:"ScalarIconSwap",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",d$,[...t[0]||(t[0]=[Jb("path",{ +d:"M228,48V152a20,20,0,0,1-20,20H112.92a12,12,0,0,1-17.41,16.49l-20-20a12,12,0,0,1,0-17l20-20A12,12,0,0,1,112.92,148H204V52H100a12,12,0,0,1-24,0V48A20,20,0,0,1,96,28H208A20,20,0,0,1,228,48ZM168,192a12,12,0,0,0-12,12H52V108h91.08a12,12,0,0,0,17.41,16.49l20-20a12,12,0,0,0,0-17l-20-20A12,12,0,0,0,143.08,84H48a20,20,0,0,0-20,20V208a20,20,0,0,0,20,20H160a20,20,0,0,0,20-20v-4A12,12,0,0,0,168,192Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",p$,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,48V152a8,8,0,0,1-8,8H168v48a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V104a8,8,0,0,1,8-8H88V48a8,8,0,0,1,8-8H208A8,8,0,0,1,216,48Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M224,48V152a16,16,0,0,1-16,16H99.31l10.35,10.34a8,8,0,0,1-11.32,11.32l-24-24a8,8,0,0,1,0-11.32l24-24a8,8,0,0,1,11.32,11.32L99.31,152H208V48H96v8a8,8,0,0,1-16,0V48A16,16,0,0,1,96,32H208A16,16,0,0,1,224,48ZM168,192a8,8,0,0,0-8,8v8H48V104H156.69l-10.35,10.34a8,8,0,0,0,11.32,11.32l24-24a8,8,0,0,0,0-11.32l-24-24a8,8,0,0,0-11.32,11.32L156.69,88H48a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16H160a16,16,0,0,0,16-16v-8A8,8,0,0,0,168,192Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",h$,[...t[2]||(t[2]=[Jb("path",{ +d:"M224,48V152a16,16,0,0,1-16,16H112v16a8,8,0,0,1-13.66,5.66l-24-24a8,8,0,0,1,0-11.32l24-24A8,8,0,0,1,112,136v16h96V48H96v8a8,8,0,0,1-16,0V48A16,16,0,0,1,96,32H208A16,16,0,0,1,224,48ZM168,192a8,8,0,0,0-8,8v8H48V104h96v16a8,8,0,0,0,13.66,5.66l24-24a8,8,0,0,0,0-11.32l-24-24A8,8,0,0,0,144,72V88H48a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16H160a16,16,0,0,0,16-16v-8A8,8,0,0,0,168,192Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",f$,[...t[3]||(t[3]=[Jb("path",{ +d:"M222,48V152a14,14,0,0,1-14,14H94.49l13.75,13.76a6,6,0,1,1-8.48,8.48l-24-24a6,6,0,0,1,0-8.48l24-24a6,6,0,0,1,8.48,8.48L94.49,154H208a2,2,0,0,0,2-2V48a2,2,0,0,0-2-2H96a2,2,0,0,0-2,2v8a6,6,0,0,1-12,0V48A14,14,0,0,1,96,34H208A14,14,0,0,1,222,48ZM168,194a6,6,0,0,0-6,6v8a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V104a2,2,0,0,1,2-2H161.51l-13.75,13.76a6,6,0,1,0,8.48,8.48l24-24a6,6,0,0,0,0-8.48l-24-24a6,6,0,0,0-8.48,8.48L161.51,90H48a14,14,0,0,0-14,14V208a14,14,0,0,0,14,14H160a14,14,0,0,0,14-14v-8A6,6,0,0,0,168,194Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",m$,[...t[4]||(t[4]=[Jb("path",{ +d:"M224,48V152a16,16,0,0,1-16,16H99.31l10.35,10.34a8,8,0,0,1-11.32,11.32l-24-24a8,8,0,0,1,0-11.32l24-24a8,8,0,0,1,11.32,11.32L99.31,152H208V48H96v8a8,8,0,0,1-16,0V48A16,16,0,0,1,96,32H208A16,16,0,0,1,224,48ZM168,192a8,8,0,0,0-8,8v8H48V104H156.69l-10.35,10.34a8,8,0,0,0,11.32,11.32l24-24a8,8,0,0,0,0-11.32l-24-24a8,8,0,0,0-11.32,11.32L156.69,88H48a16,16,0,0,0-16,16V208a16,16,0,0,0,16,16H160a16,16,0,0,0,16-16v-8A8,8,0,0,0,168,192Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",g$,[...t[5]||(t[5]=[Jb("path",{ +d:"M220,48V152a12,12,0,0,1-12,12H89.66l17.17,17.17a4,4,0,0,1-5.66,5.66l-24-24a4,4,0,0,1,0-5.66l24-24a4,4,0,0,1,5.66,5.66L89.66,156H208a4,4,0,0,0,4-4V48a4,4,0,0,0-4-4H96a4,4,0,0,0-4,4v8a4,4,0,0,1-8,0V48A12,12,0,0,1,96,36H208A12,12,0,0,1,220,48ZM168,196a4,4,0,0,0-4,4v8a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V104a4,4,0,0,1,4-4H166.34l-17.17,17.17a4,4,0,0,0,5.66,5.66l24-24a4,4,0,0,0,0-5.66l-24-24a4,4,0,0,0-5.66,5.66L166.34,92H48a12,12,0,0,0-12,12V208a12,12,0,0,0,12,12H160a12,12,0,0,0,12-12v-8A4,4,0,0,0,168,196Z" +},null,-1)])])):oy("",!0)],16))}}),b$={key:0},y$={key:1},O$={key:2},w$={key:3 +},x$={key:4},k$={key:5},S$=Hg({name:"ScalarIconTag",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",b$,[...t[0]||(t[0]=[Jb("path",{ +d:"M246.15,133.18,146.83,33.86A19.85,19.85,0,0,0,132.69,28H40A12,12,0,0,0,28,40v92.69a19.85,19.85,0,0,0,5.86,14.14l99.32,99.32a20,20,0,0,0,28.28,0l84.69-84.69A20,20,0,0,0,246.15,133.18Zm-98.83,93.17L52,131V52h79l95.32,95.32ZM104,88A16,16,0,1,1,88,72,16,16,0,0,1,104,88Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",y$,[...t[1]||(t[1]=[Jb("path",{ +d:"M237.66,153,153,237.66a8,8,0,0,1-11.31,0L42.34,138.34A8,8,0,0,1,40,132.69V40h92.69a8,8,0,0,1,5.65,2.34l99.32,99.32A8,8,0,0,1,237.66,153Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M243.31,136,144,36.69A15.86,15.86,0,0,0,132.69,32H40a8,8,0,0,0-8,8v92.69A15.86,15.86,0,0,0,36.69,144L136,243.31a16,16,0,0,0,22.63,0l84.68-84.68a16,16,0,0,0,0-22.63Zm-96,96L48,132.69V48h84.69L232,147.31ZM96,84A12,12,0,1,1,84,72,12,12,0,0,1,96,84Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",O$,[...t[2]||(t[2]=[Jb("path",{ +d:"M243.31,136,144,36.69A15.86,15.86,0,0,0,132.69,32H40a8,8,0,0,0-8,8v92.69A15.86,15.86,0,0,0,36.69,144L136,243.31a16,16,0,0,0,22.63,0l84.68-84.68a16,16,0,0,0,0-22.63ZM84,96A12,12,0,1,1,96,84,12,12,0,0,1,84,96Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",w$,[...t[3]||(t[3]=[Jb("path",{ +d:"M241.91,137.42,142.59,38.1a13.94,13.94,0,0,0-9.9-4.1H40a6,6,0,0,0-6,6v92.69a13.94,13.94,0,0,0,4.1,9.9l99.32,99.32a14,14,0,0,0,19.8,0l84.69-84.69A14,14,0,0,0,241.91,137.42Zm-8.49,11.31-84.69,84.69a2,2,0,0,1-2.83,0L46.59,134.1a2,2,0,0,1-.59-1.41V46h86.69a2,2,0,0,1,1.41.59l99.32,99.31A2,2,0,0,1,233.42,148.73ZM94,84A10,10,0,1,1,84,74,10,10,0,0,1,94,84Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",x$,[...t[4]||(t[4]=[Jb("path",{ +d:"M243.31,136,144,36.69A15.86,15.86,0,0,0,132.69,32H40a8,8,0,0,0-8,8v92.69A15.86,15.86,0,0,0,36.69,144L136,243.31a16,16,0,0,0,22.63,0l84.68-84.68a16,16,0,0,0,0-22.63Zm-96,96L48,132.69V48h84.69L232,147.31ZM96,84A12,12,0,1,1,84,72,12,12,0,0,1,96,84Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",k$,[...t[5]||(t[5]=[Jb("path",{ +d:"M240.49,138.83,141.17,39.51A11.93,11.93,0,0,0,132.69,36H40a4,4,0,0,0-4,4v92.69a11.93,11.93,0,0,0,3.51,8.48l99.32,99.32a12,12,0,0,0,17,0l84.69-84.69a12,12,0,0,0,0-17Zm-5.66,11.31-84.69,84.69a4,4,0,0,1-5.65,0L45.17,135.51A4,4,0,0,1,44,132.69V44h88.69a4,4,0,0,1,2.82,1.17l99.32,99.32A4,4,0,0,1,234.83,150.14ZM92,84a8,8,0,1,1-8-8A8,8,0,0,1,92,84Z" +},null,-1)])])):oy("",!0)],16))}}),_$={key:0},A$={key:1},T$={key:2},E$={key:3 +},C$={key:4},$$={key:5},P$=Hg({name:"ScalarIconTerminalWindow",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",_$,[...t[0]||(t[0]=[Jb("path",{ +d:"M72.5,150.63,100.79,128,72.5,105.37a12,12,0,1,1,15-18.74l40,32a12,12,0,0,1,0,18.74l-40,32a12,12,0,0,1-15-18.74ZM144,172h32a12,12,0,0,0,0-24H144a12,12,0,0,0,0,24ZM236,56V200a20,20,0,0,1-20,20H40a20,20,0,0,1-20-20V56A20,20,0,0,1,40,36H216A20,20,0,0,1,236,56Zm-24,4H44V196H212Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",A$,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",T$,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm-91,94.25-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32a8,8,0,0,1,0,12.5ZM176,168H136a8,8,0,0,1,0-16h40a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",E$,[...t[3]||(t[3]=[Jb("path",{ +d:"M126,128a6,6,0,0,1-2.25,4.69l-40,32a6,6,0,0,1-7.5-9.38L110.4,128,76.25,100.69a6,6,0,1,1,7.5-9.38l40,32A6,6,0,0,1,126,128Zm50,26H136a6,6,0,0,0,0,12h40a6,6,0,0,0,0-12Zm54-98V200a14,14,0,0,1-14,14H40a14,14,0,0,1-14-14V56A14,14,0,0,1,40,42H216A14,14,0,0,1,230,56Zm-12,0a2,2,0,0,0-2-2H40a2,2,0,0,0-2,2V200a2,2,0,0,0,2,2H216a2,2,0,0,0,2-2Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",C$,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",$$,[...t[5]||(t[5]=[Jb("path",{ +d:"M122.5,124.88a4,4,0,0,1,0,6.24l-40,32a4,4,0,0,1-5-6.24L113.6,128,77.5,99.12a4,4,0,0,1,5-6.24ZM176,156H136a4,4,0,0,0,0,8h40a4,4,0,0,0,0-8ZM228,56V200a12,12,0,0,1-12,12H40a12,12,0,0,1-12-12V56A12,12,0,0,1,40,44H216A12,12,0,0,1,228,56Zm-8,0a4,4,0,0,0-4-4H40a4,4,0,0,0-4,4V200a4,4,0,0,0,4,4H216a4,4,0,0,0,4-4Z" +},null,-1)])])):oy("",!0)],16))}}),I$={key:0},D$={key:1},M$={key:2},N$={key:3 +},R$={key:4},L$={key:5},B$=Hg({name:"ScalarIconTextAlignLeft",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",I$,[...t[0]||(t[0]=[Jb("path",{ +d:"M28,64A12,12,0,0,1,40,52H216a12,12,0,0,1,0,24H40A12,12,0,0,1,28,64Zm12,52H168a12,12,0,0,0,0-24H40a12,12,0,0,0,0,24Zm176,16H40a12,12,0,0,0,0,24H216a12,12,0,0,0,0-24Zm-48,40H40a12,12,0,0,0,0,24H168a12,12,0,0,0,0-24Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",D$,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,64V168a16,16,0,0,1-16,16H40V64Z",opacity:"0.2"},null,-1),Jb("path",{ +d:"M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",M$,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM160,184H64a8,8,0,0,1,0-16h96a8,8,0,0,1,0,16Zm32-32H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16ZM56,112a8,8,0,0,1,8-8h96a8,8,0,0,1,0,16H64A8,8,0,0,1,56,112ZM192,88H64a8,8,0,0,1,0-16H192a8,8,0,0,1,0,16Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",N$,[...t[3]||(t[3]=[Jb("path",{ +d:"M34,64a6,6,0,0,1,6-6H216a6,6,0,0,1,0,12H40A6,6,0,0,1,34,64Zm6,46H168a6,6,0,0,0,0-12H40a6,6,0,0,0,0,12Zm176,28H40a6,6,0,0,0,0,12H216a6,6,0,0,0,0-12Zm-48,40H40a6,6,0,0,0,0,12H168a6,6,0,0,0,0-12Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",R$,[...t[4]||(t[4]=[Jb("path",{ +d:"M32,64a8,8,0,0,1,8-8H216a8,8,0,0,1,0,16H40A8,8,0,0,1,32,64Zm8,48H168a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16Zm176,24H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Zm-48,40H40a8,8,0,0,0,0,16H168a8,8,0,0,0,0-16Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",L$,[...t[5]||(t[5]=[Jb("path",{ +d:"M36,64a4,4,0,0,1,4-4H216a4,4,0,0,1,0,8H40A4,4,0,0,1,36,64Zm4,44H168a4,4,0,0,0,0-8H40a4,4,0,0,0,0,8Zm176,32H40a4,4,0,0,0,0,8H216a4,4,0,0,0,0-8Zm-48,40H40a4,4,0,0,0,0,8H168a4,4,0,0,0,0-8Z" +},null,-1)])])):oy("",!0)],16))}}),j$={key:0},U$={key:1},z$={key:2},Z$={key:3 +},F$={key:4},H$={key:5},Q$=Hg({name:"ScalarIconTrash",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",j$,[...t[0]||(t[0]=[Jb("path",{ +d:"M216,48H180V36A28,28,0,0,0,152,8H104A28,28,0,0,0,76,36V48H40a12,12,0,0,0,0,24h4V208a20,20,0,0,0,20,20H192a20,20,0,0,0,20-20V72h4a12,12,0,0,0,0-24ZM100,36a4,4,0,0,1,4-4h48a4,4,0,0,1,4,4V48H100Zm88,168H68V72H188ZM116,104v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Zm48,0v64a12,12,0,0,1-24,0V104a12,12,0,0,1,24,0Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",U$,[...t[1]||(t[1]=[Jb("path",{ +d:"M200,56V208a8,8,0,0,1-8,8H64a8,8,0,0,1-8-8V56Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",z$,[...t[2]||(t[2]=[Jb("path",{ +d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM112,168a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm0-120H96V40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",Z$,[...t[3]||(t[3]=[Jb("path",{ +d:"M216,50H174V40a22,22,0,0,0-22-22H104A22,22,0,0,0,82,40V50H40a6,6,0,0,0,0,12H50V208a14,14,0,0,0,14,14H192a14,14,0,0,0,14-14V62h10a6,6,0,0,0,0-12ZM94,40a10,10,0,0,1,10-10h48a10,10,0,0,1,10,10V50H94ZM194,208a2,2,0,0,1-2,2H64a2,2,0,0,1-2-2V62H194ZM110,104v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Zm48,0v64a6,6,0,0,1-12,0V104a6,6,0,0,1,12,0Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",F$,[...t[4]||(t[4]=[Jb("path",{ +d:"M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",H$,[...t[5]||(t[5]=[Jb("path",{ +d:"M216,52H172V40a20,20,0,0,0-20-20H104A20,20,0,0,0,84,40V52H40a4,4,0,0,0,0,8H52V208a12,12,0,0,0,12,12H192a12,12,0,0,0,12-12V60h12a4,4,0,0,0,0-8ZM92,40a12,12,0,0,1,12-12h48a12,12,0,0,1,12,12V52H92ZM196,208a4,4,0,0,1-4,4H64a4,4,0,0,1-4-4V60H196ZM108,104v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Zm48,0v64a4,4,0,0,1-8,0V104a4,4,0,0,1,8,0Z" +},null,-1)])])):oy("",!0)],16))}}),V$={key:0},q$={key:1},W$={key:2},X$={key:3 +},G$={key:4},Y$={key:5},K$=Hg({name:"ScalarIconUpload",props:{label:{},weight:{} +},setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",V$,[...t[0]||(t[0]=[Jb("path",{ +d:"M188,184a16,16,0,1,1,16-16A16,16,0,0,1,188,184Zm36-68H180a12,12,0,0,0,0,24h40v56H36V140H76a12,12,0,0,0,0-24H32a20,20,0,0,0-20,20v64a20,20,0,0,0,20,20H224a20,20,0,0,0,20-20V136A20,20,0,0,0,224,116ZM88.49,80.49,116,53v75a12,12,0,0,0,24,0V53l27.51,27.52a12,12,0,1,0,17-17l-48-48a12,12,0,0,0-17,0l-48,48a12,12,0,1,0,17,17Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",q$,[...t[1]||(t[1]=[Jb("path",{ +d:"M232,136v64a8,8,0,0,1-8,8H32a8,8,0,0,1-8-8V136a8,8,0,0,1,8-8H224A8,8,0,0,1,232,136Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",W$,[...t[2]||(t[2]=[Jb("path",{ +d:"M74.34,77.66a8,8,0,0,1,0-11.32l48-48a8,8,0,0,1,11.32,0l48,48a8,8,0,0,1-11.32,11.32L136,43.31V128a8,8,0,0,1-16,0V43.31L85.66,77.66A8,8,0,0,1,74.34,77.66ZM240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16h68a4,4,0,0,1,4,4v3.46c0,13.45,11,24.79,24.46,24.54A24,24,0,0,0,152,128v-4a4,4,0,0,1,4-4h68A16,16,0,0,1,240,136Zm-40,32a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",X$,[...t[3]||(t[3]=[Jb("path",{ +d:"M238,136v64a14,14,0,0,1-14,14H32a14,14,0,0,1-14-14V136a14,14,0,0,1,14-14H80a6,6,0,0,1,0,12H32a2,2,0,0,0-2,2v64a2,2,0,0,0,2,2H224a2,2,0,0,0,2-2V136a2,2,0,0,0-2-2H176a6,6,0,0,1,0-12h48A14,14,0,0,1,238,136ZM84.24,76.24,122,38.49V128a6,6,0,0,0,12,0V38.49l37.76,37.75a6,6,0,0,0,8.48-8.48l-48-48a6,6,0,0,0-8.48,0l-48,48a6,6,0,0,0,8.48,8.48ZM198,168a10,10,0,1,0-10,10A10,10,0,0,0,198,168Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",G$,[...t[4]||(t[4]=[Jb("path",{ +d:"M240,136v64a16,16,0,0,1-16,16H32a16,16,0,0,1-16-16V136a16,16,0,0,1,16-16H80a8,8,0,0,1,0,16H32v64H224V136H176a8,8,0,0,1,0-16h48A16,16,0,0,1,240,136ZM85.66,77.66,120,43.31V128a8,8,0,0,0,16,0V43.31l34.34,34.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,77.66ZM200,168a12,12,0,1,0-12,12A12,12,0,0,0,200,168Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",Y$,[...t[5]||(t[5]=[Jb("path",{ +d:"M236,136v64a12,12,0,0,1-12,12H32a12,12,0,0,1-12-12V136a12,12,0,0,1,12-12H80a4,4,0,0,1,0,8H32a4,4,0,0,0-4,4v64a4,4,0,0,0,4,4H224a4,4,0,0,0,4-4V136a4,4,0,0,0-4-4H176a4,4,0,0,1,0-8h48A12,12,0,0,1,236,136ZM82.83,74.83,124,33.66V128a4,4,0,0,0,8,0V33.66l41.17,41.17a4,4,0,1,0,5.66-5.66l-48-48a4,4,0,0,0-5.66,0l-48,48a4,4,0,0,0,5.66,5.66ZM196,168a8,8,0,1,0-8,8A8,8,0,0,0,196,168Z" +},null,-1)])])):oy("",!0)],16))}}),J$={key:0},eP={key:1},tP={key:2},nP={key:3 +},rP={key:4},aP={key:5},oP=Hg({name:"ScalarIconWarning",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",J$,[...t[0]||(t[0]=[Jb("path",{ +d:"M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",eP,[...t[1]||(t[1]=[Jb("path",{ +d:"M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",tP,[...t[2]||(t[2]=[Jb("path",{ +d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",nP,[...t[3]||(t[3]=[Jb("path",{ +d:"M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",rP,[...t[4]||(t[4]=[Jb("path",{ +d:"M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",aP,[...t[5]||(t[5]=[Jb("path",{ +d:"M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z" +},null,-1)])])):oy("",!0)],16))}}),iP={key:0},sP={key:1},lP={key:2},cP={key:3 +},uP={key:4},dP={key:5},pP=Hg({name:"ScalarIconWarningCircle",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",iP,[...t[0]||(t[0]=[Jb("path",{ +d:"M128,20A108,108,0,1,0,236,128,108.12,108.12,0,0,0,128,20Zm0,192a84,84,0,1,1,84-84A84.09,84.09,0,0,1,128,212Zm-12-80V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,172Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",sP,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",lP,[...t[2]||(t[2]=[Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-8,56a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",cP,[...t[3]||(t[3]=[Jb("path",{ +d:"M128,26A102,102,0,1,0,230,128,102.12,102.12,0,0,0,128,26Zm0,192a90,90,0,1,1,90-90A90.1,90.1,0,0,1,128,218Zm-6-82V80a6,6,0,0,1,12,0v56a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,172Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",uP,[...t[4]||(t[4]=[Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",dP,[...t[5]||(t[5]=[Jb("path",{ +d:"M128,28A100,100,0,1,0,228,128,100.11,100.11,0,0,0,128,28Zm0,192a92,92,0,1,1,92-92A92.1,92.1,0,0,1,128,220Zm-4-84V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,172Z" +},null,-1)])])):oy("",!0)],16))}}),hP={key:0},fP={key:1},mP={key:2},gP={key:3 +},vP={key:4},bP={key:5},yP=Hg({name:"ScalarIconWarningOctagon",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",hP,[...t[0]||(t[0]=[Jb("path",{ +d:"M116,132V80a12,12,0,0,1,24,0v52a12,12,0,0,1-24,0ZM236,91.55v72.9a19.86,19.86,0,0,1-5.86,14.14l-51.55,51.55A19.85,19.85,0,0,1,164.45,236H91.55a19.85,19.85,0,0,1-14.14-5.86L25.86,178.59A19.86,19.86,0,0,1,20,164.45V91.55a19.86,19.86,0,0,1,5.86-14.14L77.41,25.86A19.85,19.85,0,0,1,91.55,20h72.9a19.85,19.85,0,0,1,14.14,5.86l51.55,51.55A19.86,19.86,0,0,1,236,91.55Zm-24,1.66L162.79,44H93.21L44,93.21v69.58L93.21,212h69.58L212,162.79ZM128,156a16,16,0,1,0,16,16A16,16,0,0,0,128,156Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",fP,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,91.55v72.9a8,8,0,0,1-2.34,5.66l-51.55,51.55a8,8,0,0,1-5.66,2.34H91.55a8,8,0,0,1-5.66-2.34L34.34,170.11A8,8,0,0,1,32,164.45V91.55a8,8,0,0,1,2.34-5.66L85.89,34.34A8,8,0,0,1,91.55,32h72.9a8,8,0,0,1,5.66,2.34l51.55,51.55A8,8,0,0,1,224,91.55Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",mP,[...t[2]||(t[2]=[Jb("path",{ +d:"M227.31,80.23,175.77,28.69A16.13,16.13,0,0,0,164.45,24H91.55a16.13,16.13,0,0,0-11.32,4.69L28.69,80.23A16.13,16.13,0,0,0,24,91.55v72.9a16.13,16.13,0,0,0,4.69,11.32l51.54,51.54A16.13,16.13,0,0,0,91.55,232h72.9a16.13,16.13,0,0,0,11.32-4.69l51.54-51.54A16.13,16.13,0,0,0,232,164.45V91.55A16.13,16.13,0,0,0,227.31,80.23ZM120,80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm8,104a12,12,0,1,1,12-12A12,12,0,0,1,128,184Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",gP,[...t[3]||(t[3]=[Jb("path",{ +d:"M122,136V80a6,6,0,0,1,12,0v56a6,6,0,0,1-12,0ZM230,91.55v72.9a13.92,13.92,0,0,1-4.1,9.9L174.35,225.9a13.92,13.92,0,0,1-9.9,4.1H91.55a13.92,13.92,0,0,1-9.9-4.1L30.1,174.35a13.92,13.92,0,0,1-4.1-9.9V91.55a13.92,13.92,0,0,1,4.1-9.9L81.65,30.1a13.92,13.92,0,0,1,9.9-4.1h72.9a13.92,13.92,0,0,1,9.9,4.1L225.9,81.65A13.92,13.92,0,0,1,230,91.55Zm-12,0a2,2,0,0,0-.59-1.42L165.87,38.59a2,2,0,0,0-1.42-.59H91.55a2,2,0,0,0-1.41.59L38.58,90.13A2,2,0,0,0,38,91.55v72.9a2,2,0,0,0,.59,1.42l51.54,51.54a2,2,0,0,0,1.42.59h72.9a2,2,0,0,0,1.41-.59l51.56-51.54a2,2,0,0,0,.58-1.42ZM128,162a10,10,0,1,0,10,10A10,10,0,0,0,128,162Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",vP,[...t[4]||(t[4]=[Jb("path",{ +d:"M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",bP,[...t[5]||(t[5]=[Jb("path",{ +d:"M124,136V80a4,4,0,0,1,8,0v56a4,4,0,0,1-8,0ZM228,91.55v72.9a12,12,0,0,1-3.51,8.49l-51.55,51.55a12,12,0,0,1-8.49,3.51H91.55a12,12,0,0,1-8.49-3.51L31.51,172.94A12,12,0,0,1,28,164.45V91.55a12,12,0,0,1,3.51-8.49L83.06,31.51A12,12,0,0,1,91.55,28h72.9a12,12,0,0,1,8.49,3.51l51.55,51.55A12,12,0,0,1,228,91.55Zm-8,0a4,4,0,0,0-1.17-2.83L167.28,37.17A4.06,4.06,0,0,0,164.45,36H91.55a4.06,4.06,0,0,0-2.83,1.17L37.17,88.72A4,4,0,0,0,36,91.55v72.9a4,4,0,0,0,1.17,2.83l51.55,51.55A4.06,4.06,0,0,0,91.55,220h72.9a4.06,4.06,0,0,0,2.83-1.17l51.55-51.55a4,4,0,0,0,1.17-2.83ZM128,164a8,8,0,1,0,8,8A8,8,0,0,0,128,164Z" +},null,-1)])])):oy("",!0)],16))}}),OP={key:0},wP={key:1},xP={key:2},kP={key:3 +},SP={key:4},_P={key:5},AP=Hg({name:"ScalarIconWebhooksLogo",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",OP,[...t[0]||(t[0]=[Jb("path",{ +d:"M192,180H118.71a56,56,0,1,1-104.6-37.46,12,12,0,1,1,21.37,10.92A31.64,31.64,0,0,0,32,168a32,32,0,0,0,64,0,12,12,0,0,1,12-12h84a12,12,0,0,1,0,24Zm0-68a55.9,55.9,0,0,0-18.45,3.12L138.22,57.71a12,12,0,0,0-20.44,12.58l40.94,66.52a12,12,0,0,0,16.52,3.93,32,32,0,1,1,19.68,59.13A12,12,0,0,0,196,223.82a10.05,10.05,0,0,0,1.09,0A56,56,0,0,0,192,112ZM57.71,178.22a12,12,0,0,0,16.51-3.93l40.94-66.52a12,12,0,0,0-3.92-16.51,32,32,0,1,1,45.28-41.8,12,12,0,1,0,21.37-10.92A56,56,0,1,0,89.1,104.32L53.78,161.71A12,12,0,0,0,57.71,178.22Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",wP,[...t[1]||(t[1]=[Jb("path",{ +d:"M128,104a40,40,0,1,1,40-40A40,40,0,0,1,128,104Zm64,24a40,40,0,1,0,40,40A40,40,0,0,0,192,128ZM64,128a40,40,0,1,0,40,40A40,40,0,0,0,64,128Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M178.16,176H111.32A48,48,0,1,1,25.6,139.19a8,8,0,0,1,12.8,9.61A31.69,31.69,0,0,0,32,168a32,32,0,0,0,64,0,8,8,0,0,1,8-8h74.16a16,16,0,1,1,0,16ZM64,184a16,16,0,0,0,14.08-23.61l35.77-58.14a8,8,0,0,0-2.62-11,32,32,0,1,1,46.1-40.06A8,8,0,1,0,172,44.79a48,48,0,1,0-75.62,55.33L64.44,152c-.15,0-.29,0-.44,0a16,16,0,0,0,0,32Zm128-64a48.18,48.18,0,0,0-18,3.49L142.08,71.6A16,16,0,1,0,128,80l.44,0,35.78,58.15a8,8,0,0,0,11,2.61A32,32,0,1,1,192,200a8,8,0,0,0,0,16,48,48,0,0,0,0-96Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",xP,[...t[2]||(t[2]=[Jb("path",{ +d:"M50.15,160,89.07,92.57l-2.24-3.88a48,48,0,1,1,85.05-44.17,8.17,8.17,0,0,1-3.19,10.4,8,8,0,0,1-11.35-3.72,32,32,0,1,0-56.77,29.3.57.57,0,0,1,.08.13l13.83,23.94a8,8,0,0,1,0,8L77.86,176a16,16,0,0,1-27.71-16Zm141-40H178.81L141.86,56a16,16,0,0,0-27.71,16l34.64,60a8,8,0,0,0,6.92,4h35.63c17.89,0,32.95,14.64,32.66,32.53A32,32,0,0,1,192.31,200a8.23,8.23,0,0,0-8.28,7.33,8,8,0,0,0,8,8.67,48.05,48.05,0,0,0,48-48.93C239.49,140.79,217.48,120,191.19,120ZM208,167.23c-.4-8.61-7.82-15.23-16.43-15.23H114.81a8,8,0,0,0-6.93,4L91.72,184h0a32,32,0,1,1-53.47-35,8.2,8.2,0,0,0-.92-11,8,8,0,0,0-11.72,1.17A47.63,47.63,0,0,0,16,167.54,48,48,0,0,0,105.55,192v0l4.62-8H192A16,16,0,0,0,208,167.23Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",kP,[...t[3]||(t[3]=[Jb("path",{ +d:"M179.37,174H109.6a46,46,0,1,1-82.4-33.61,6,6,0,0,1,9.6,7.21A33.68,33.68,0,0,0,30,168a34,34,0,0,0,68,0,6,6,0,0,1,6-6h75.37a14,14,0,1,1,0,12ZM64,182a14,14,0,0,0,11.73-21.62l36.42-59.18a6,6,0,0,0-2-8.25,34,34,0,1,1,49-42.57,6,6,0,1,0,11-4.79A46,46,0,1,0,99,99.7L65.52,154.08c-.5-.05-1-.08-1.52-.08a14,14,0,0,0,0,28Zm128-60a46,46,0,0,0-18.8,4L139.73,71.61A14,14,0,1,0,128,78a12.79,12.79,0,0,0,1.52-.09l36.4,59.17a6.05,6.05,0,0,0,3.73,2.69,6,6,0,0,0,4.53-.73A34,34,0,1,1,192,202a6,6,0,0,0,0,12,46,46,0,0,0,0-92Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",SP,[...t[4]||(t[4]=[Jb("path",{ +d:"M178.16,176H111.32A48,48,0,1,1,25.6,139.19a8,8,0,0,1,12.8,9.61A31.69,31.69,0,0,0,32,168a32,32,0,0,0,64,0,8,8,0,0,1,8-8h74.16a16,16,0,1,1,0,16ZM64,184a16,16,0,0,0,14.08-23.61l35.77-58.14a8,8,0,0,0-2.62-11,32,32,0,1,1,46.1-40.06A8,8,0,1,0,172,44.79a48,48,0,1,0-75.62,55.33L64.44,152c-.15,0-.29,0-.44,0a16,16,0,0,0,0,32Zm128-64a48.18,48.18,0,0,0-18,3.49L142.08,71.6A16,16,0,1,0,128,80l.44,0,35.78,58.15a8,8,0,0,0,11,2.61A32,32,0,1,1,192,200a8,8,0,0,0,0,16,48,48,0,0,0,0-96Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",_P,[...t[5]||(t[5]=[Jb("path",{ +d:"M180.7,172H107.81a44,44,0,1,1-79-30.41,4,4,0,0,1,6.4,4.81A35.67,35.67,0,0,0,28,168a36,36,0,0,0,72,0,4,4,0,0,1,4-4h76.7a12,12,0,1,1,0,8ZM64,180a12,12,0,0,0,9.33-19.54l37.11-60.3a4,4,0,0,0-1.31-5.51A36,36,0,1,1,161,49.58a4,4,0,1,0,7.33-3.19,44,44,0,1,0-66.71,52.83l-35.1,57.05A11.58,11.58,0,0,0,64,156a12,12,0,0,0,0,24Zm128-56a44,44,0,0,0-19.56,4.58l-35.11-57A12,12,0,1,0,128,76a12.24,12.24,0,0,0,2.52-.27L167.63,136a4,4,0,0,0,5.5,1.31A36,36,0,1,1,192,204a4,4,0,0,0,0,8,44,44,0,0,0,0-88Z" +},null,-1)])])):oy("",!0)],16))}}),TP={key:0},EP={key:1},CP={key:2},$P={key:3 +},PP={key:4},IP={key:5},DP=Hg({name:"ScalarIconX",props:{label:{},weight:{}}, +setup(e){const t=e,{bind:n,weight:r}=E_(t);return(e,t)=>(Fb(),qb("svg",cy({ +xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",TP,[...t[0]||(t[0]=[Jb("path",{ +d:"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",EP,[...t[1]||(t[1]=[Jb("path",{ +d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z", +opacity:"0.2"},null,-1),Jb("path",{ +d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",CP,[...t[2]||(t[2]=[Jb("path",{ +d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",$P,[...t[3]||(t[3]=[Jb("path",{ +d:"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",PP,[...t[4]||(t[4]=[Jb("path",{ +d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",IP,[...t[5]||(t[5]=[Jb("path",{ +d:"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z" +},null,-1)])])):oy("",!0)],16))}}),MP={key:0},NP={key:1},RP={key:2},LP={key:3 +},BP={key:4},jP={key:5},UP=Hg({name:"ScalarIconXCircle",props:{label:{}, +weight:{}},setup(e){const t=e,{bind:n,weight:r}=E_(t) +;return(e,t)=>(Fb(),qb("svg",cy({xmlns:"http://www.w3.org/2000/svg", +viewBox:"0 0 256 256",fill:"currentColor" +},xm(n)),[Av(e.$slots,"default"),"bold"===xm(r)?(Fb(), +qb("g",MP,[...t[0]||(t[0]=[Jb("path",{ +d:"M168.49,104.49,145,128l23.52,23.51a12,12,0,0,1-17,17L128,145l-23.51,23.52a12,12,0,0,1-17-17L111,128,87.51,104.49a12,12,0,0,1,17-17L128,111l23.51-23.52a12,12,0,0,1,17,17ZM236,128A108,108,0,1,1,128,20,108.12,108.12,0,0,1,236,128Zm-24,0a84,84,0,1,0-84,84A84.09,84.09,0,0,0,212,128Z" +},null,-1)])])):"duotone"===xm(r)?(Fb(),qb("g",NP,[...t[1]||(t[1]=[Jb("path",{ +d:"M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z",opacity:"0.2" +},null,-1),Jb("path",{ +d:"M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z" +},null,-1)])])):"fill"===xm(r)?(Fb(),qb("g",RP,[...t[2]||(t[2]=[Jb("path",{ +d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z" +},null,-1)])])):"light"===xm(r)?(Fb(),qb("g",LP,[...t[3]||(t[3]=[Jb("path",{ +d:"M164.24,100.24,136.48,128l27.76,27.76a6,6,0,1,1-8.48,8.48L128,136.48l-27.76,27.76a6,6,0,0,1-8.48-8.48L119.52,128,91.76,100.24a6,6,0,0,1,8.48-8.48L128,119.52l27.76-27.76a6,6,0,0,1,8.48,8.48ZM230,128A102,102,0,1,1,128,26,102.12,102.12,0,0,1,230,128Zm-12,0a90,90,0,1,0-90,90A90.1,90.1,0,0,0,218,128Z" +},null,-1)])])):"regular"===xm(r)?(Fb(),qb("g",BP,[...t[4]||(t[4]=[Jb("path",{ +d:"M165.66,101.66,139.31,128l26.35,26.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z" +},null,-1)])])):"thin"===xm(r)?(Fb(),qb("g",jP,[...t[5]||(t[5]=[Jb("path",{ +d:"M162.83,98.83,133.66,128l29.17,29.17a4,4,0,0,1-5.66,5.66L128,133.66,98.83,162.83a4,4,0,0,1-5.66-5.66L122.34,128,93.17,98.83a4,4,0,0,1,5.66-5.66L128,122.34l29.17-29.17a4,4,0,1,1,5.66,5.66ZM228,128A100,100,0,1,1,128,28,100.11,100.11,0,0,1,228,128Zm-8,0a92,92,0,1,0-92,92A92.1,92.1,0,0,0,220,128Z" +},null,-1)])])):oy("",!0)],16))}}),zP=Hg({__name:"ScalarCheckbox",props:{ +selected:{type:Boolean},type:{default:"checkbox"}}, +setup:e=>(t,n)=>(Fb(),qb("div",{ +class:Dh(["flex size-4 items-center justify-center p-0.75",[e.selected?"bg-c-accent text-b-1":"text-transparent shadow-border","checkbox"===e.type?"rounded":"rounded-full"]]) +},[e.selected?(Fb(),Wb(xm(LA),{key:0,class:"size-3",weight:"bold" +})):oy("",!0)],2))}),ZP=Symbol(),FP=Hg({inheritAttrs:!1, +__name:"ScalarFormInput",props:{is:{default:"button"}},setup(e){ +const{cx:t}=h_(),n=ug(ZP,!1),r=d_({ +base:["bg-b-1.5 flex items-center text-c-2 gap-0.75 px-3 py-2.5 ","outline-offset-[-1px] has-[:focus-visible]:outline"], +variants:{grouped:{true:"first:rounded-t-[inherit] last:rounded-b-[inherit]", +false:"rounded border"},button:{true:"cursor-pointer hover:bg-b-2"}}}) +;return(a,o)=>(Fb(),Wb(wv(e.is),cy({type:"button"===e.is?"button":void 0 +},xm(t)(xm(r)({button:"button"===e.is,grouped:xm(n)}))),{ +default:ig((()=>[Av(a.$slots,"default")])),_:3},16,["type"]))}}),HP={ +class:"flex-1 text-left min-w-0 truncate"},QP=["type"],VP=Hg({inheritAttrs:!1, +__name:"ScalarCheckboxInput",props:Bv({type:{default:"checkbox"}},{modelValue:{ +type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){ +const t=tb(e,"modelValue"),{stylingAttrsCx:n,otherAttrs:r}=h_() +;return(a,o)=>(Fb(),Wb(xm(FP),cy({is:"label" +},xm(n)("cursor-pointer gap-2 hover:bg-b-2",{"text-c-1":t.value})),{ +default:ig((()=>[ey(zP,{class:"shrink-0",selected:t.value,type:e.type +},null,8,["selected","type"]),Jb("div",HP,[Av(a.$slots,"default")]),sg(Jb("input",cy({ +"onUpdate:modelValue":o[0]||(o[0]=e=>t.value=e),class:"sr-only",type:e.type +},xm(r)),null,16,QP),[[LO,t.value]])])),_:3},16))}}),qP=Hg({inheritAttrs:!1, +__name:"ScalarFormInputGroup",props:{is:{default:"div"}},setup(e){ +const{cx:t}=h_() +;return cg(ZP,!0),(n,r)=>(Fb(),Wb(wv(e.is),Mh(ty(xm(t)("flex flex-col border rounded divide-y"))),{ +default:ig((()=>[Av(n.$slots,"default")])),_:3},16))}}),WP=Hg({ +__name:"ScalarCheckboxRadioGroup",props:Bv({options:{default:()=>[]}},{ +modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){ +const t=tb(e,"modelValue"),n=Qg();return(r,a)=>(Fb(),Wb(xm(qP),null,{ +default:ig((()=>[(Fb(!0),qb(Lb,null,Sv(e.options,(e=>(Fb(),Wb(VP,{key:e.value, +modelValue:t.value?.value===e.value,name:xm(n),type:"radio",value:e.value, +"onUpdate:modelValue":n=>t.value=n?e:void 0},{ +default:ig((()=>[ry(Uh(e.label),1)])),_:2 +},1032,["modelValue","name","value","onUpdate:modelValue"])))),128))])),_:1}))} +}),XP=Hg({inheritAttrs:!1,__name:"ScalarCopyBackdrop",setup(e){const{cx:t}=h_() +;return(e,n)=>(Fb(), +qb("div",Mh(ty(xm(t)("absolute inset-y-0.5 -z-2 left-0 right-0 bg-b-1 rounded"))),null,16)) +}});let GP=class{constructor(e,t,n){ +this.property=e,this.normal=t,n&&(this.space=n)}};function YP(e,t){ +const n={},r={};let a=-1 +;for(;++a"xlink:"+t.slice(5).toLowerCase(),properties:{ +xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null, +xLinkShow:null,xLinkTitle:null,xLinkType:null}}),gI=fI({space:"xml", +transform:(e,t)=>"xml:"+t.slice(3).toLowerCase(),properties:{xmlLang:null, +xmlBase:null,xmlSpace:null}});function vI(e,t){return t in e?e[t]:t} +function bI(e,t){return vI(e,t.toLowerCase())}const yI=fI({space:"xmlns", +attributes:{xmlnsxlink:"xmlns:xlink"},transform:bI,properties:{xmlns:null, +xmlnsXLink:null}}),OI=fI({ +transform:(e,t)=>"role"===t?t:"aria-"+t.slice(4).toLowerCase(),properties:{ +ariaActiveDescendant:null,ariaAtomic:nI,ariaAutoComplete:null,ariaBusy:nI, +ariaChecked:nI,ariaColCount:aI,ariaColIndex:aI,ariaColSpan:aI,ariaControls:oI, +ariaCurrent:null,ariaDescribedBy:oI,ariaDetails:null,ariaDisabled:nI, +ariaDropEffect:oI,ariaErrorMessage:null,ariaExpanded:nI,ariaFlowTo:oI, +ariaGrabbed:nI,ariaHasPopup:null,ariaHidden:nI,ariaInvalid:null, +ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:oI,ariaLevel:aI, +ariaLive:null,ariaModal:nI,ariaMultiLine:nI,ariaMultiSelectable:nI, +ariaOrientation:null,ariaOwns:oI,ariaPlaceholder:null,ariaPosInSet:aI, +ariaPressed:nI,ariaReadOnly:nI,ariaRelevant:null,ariaRequired:nI, +ariaRoleDescription:oI,ariaRowCount:aI,ariaRowIndex:aI,ariaRowSpan:aI, +ariaSelected:nI,ariaSetSize:aI,ariaSort:null,ariaValueMax:aI,ariaValueMin:aI, +ariaValueNow:aI,ariaValueText:null,role:null}}),wI=fI({space:"html",attributes:{ +acceptcharset:"accept-charset",classname:"class",htmlfor:"for", +httpequiv:"http-equiv"},transform:bI, +mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null, +accept:iI,acceptCharset:oI,accessKey:oI,action:null,allow:null, +allowFullScreen:tI,allowPaymentRequest:tI,allowUserMedia:tI,alt:null,as:null, +async:tI,autoCapitalize:null,autoComplete:oI,autoFocus:tI,autoPlay:tI, +blocking:oI,capture:null,charSet:null,checked:tI,cite:null,className:oI,cols:aI, +colSpan:null,content:null,contentEditable:nI,controls:tI,controlsList:oI, +coords:aI|iI,crossOrigin:null,data:null,dateTime:null,decoding:null,default:tI, +defer:tI,dir:null,dirName:null,disabled:tI,download:rI,draggable:nI, +encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null, +formEncType:null,formMethod:null,formNoValidate:tI,formTarget:null,headers:oI, +height:aI,hidden:tI,high:aI,href:null,hrefLang:null,htmlFor:oI,httpEquiv:oI, +id:null,imageSizes:null,imageSrcSet:null,inert:tI,inputMode:null,integrity:null, +is:null,isMap:tI,itemId:null,itemProp:oI,itemRef:oI,itemScope:tI,itemType:oI, +kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:tI, +low:aI,manifest:null,max:null,maxLength:aI,media:null,method:null,min:null, +minLength:aI,multiple:tI,muted:tI,name:null,nonce:null,noModule:tI, +noValidate:tI,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null, +onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null, +onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null, +onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null, +onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null, +onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null, +onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null, +onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null, +onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null, +onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null, +onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null, +onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null, +onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null, +onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null, +onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null, +onRejectionHandled:null,onReset:null,onResize:null,onScroll:null, +onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null, +onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null, +onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null, +onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:tI, +optimum:aI,pattern:null,ping:oI,placeholder:null,playsInline:tI,popover:null, +popoverTarget:null,popoverTargetAction:null,poster:null,preload:null, +readOnly:tI,referrerPolicy:null,rel:oI,required:tI,reversed:tI,rows:aI, +rowSpan:aI,sandbox:oI,scope:null,scoped:tI,seamless:tI,selected:tI, +shadowRootClonable:tI,shadowRootDelegatesFocus:tI,shadowRootMode:null, +shape:null,size:aI,sizes:null,slot:null,span:aI,spellCheck:nI,src:null, +srcDoc:null,srcLang:null,srcSet:null,start:aI,step:null,style:null,tabIndex:aI, +target:null,title:null,translate:null,type:null,typeMustMatch:tI,useMap:null, +value:nI,width:aI,wrap:null,writingSuggestions:null,align:null,aLink:null, +archive:oI,axis:null,background:null,bgColor:null,border:aI,borderColor:null, +bottomMargin:aI,cellPadding:null,cellSpacing:null,char:null,charOff:null, +classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null, +compact:tI,declare:tI,event:null,face:null,frame:null,frameBorder:null, +hSpace:aI,leftMargin:aI,link:null,longDesc:null,lowSrc:null,marginHeight:aI, +marginWidth:aI,noResize:tI,noHref:tI,noShade:tI,noWrap:tI,object:null, +profile:null,prompt:null,rev:null,rightMargin:aI,rules:null,scheme:null, +scrolling:nI,standby:null,summary:null,text:null,topMargin:aI,valueType:null, +version:null,vAlign:null,vLink:null,vSpace:aI,allowTransparency:null, +autoCorrect:null,autoSave:null,disablePictureInPicture:tI, +disableRemotePlayback:tI,prefix:null,property:null,results:aI,security:null, +unselectable:null}}),xI=fI({space:"svg",attributes:{ +accentHeight:"accent-height",alignmentBaseline:"alignment-baseline", +arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height", +className:"class",clipPath:"clip-path",clipRule:"clip-rule", +colorInterpolation:"color-interpolation", +colorInterpolationFilters:"color-interpolation-filters", +colorProfile:"color-profile",colorRendering:"color-rendering", +crossOrigin:"crossorigin",dataType:"datatype", +dominantBaseline:"dominant-baseline",enableBackground:"enable-background", +fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color", +floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size", +fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch", +fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight", +glyphName:"glyph-name", +glyphOrientationHorizontal:"glyph-orientation-horizontal", +glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang", +horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x", +horizOriginY:"horiz-origin-y",imageRendering:"image-rendering", +letterSpacing:"letter-spacing",lightingColor:"lighting-color", +markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start", +navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right", +navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right", +navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right", +onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint", +onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel", +onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange", +onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange", +onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend", +onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave", +onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop", +onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend", +onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin", +onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput", +onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress", +onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata", +onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart", +onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter", +onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout", +onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel", +onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide", +onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay", +onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress", +onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset", +onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked", +onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled", +onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend", +onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload", +onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom", +overlinePosition:"overline-position",overlineThickness:"overline-thickness", +paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events", +referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent", +shapeRendering:"shape-rendering",stopColor:"stop-color", +stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position", +strikethroughThickness:"strikethrough-thickness", +strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset", +strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin", +strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity", +strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor", +textDecoration:"text-decoration",textRendering:"text-rendering", +transformOrigin:"transform-origin",typeOf:"typeof", +underlinePosition:"underline-position",underlineThickness:"underline-thickness", +unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range", +unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging", +vIdeographic:"v-ideographic",vMathematical:"v-mathematical", +vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x", +vertOriginY:"vert-origin-y",wordSpacing:"word-spacing", +writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder", +timelineBegin:"timelinebegin"},transform:vI,properties:{about:sI, +accentHeight:aI,accumulate:null,additive:null,alignmentBaseline:null, +alphabetic:aI,amplitude:aI,arabicForm:null,ascent:aI,attributeName:null, +attributeType:null,azimuth:aI,bandwidth:null,baselineShift:null, +baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:aI,by:null, +calcMode:null,capHeight:aI,className:oI,clip:null,clipPath:null, +clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null, +colorInterpolationFilters:null,colorProfile:null,colorRendering:null, +content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null, +cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:aI, +diffuseConstant:aI,direction:null,display:null,dur:null,divisor:aI, +dominantBaseline:null,download:tI,dx:null,dy:null,edgeMode:null,editable:null, +elevation:aI,enableBackground:null,end:null,event:null,exponent:aI, +externalResourcesRequired:null,fill:null,fillOpacity:aI,fillRule:null, +filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null, +focusable:null,focusHighlight:null,fontFamily:null,fontSize:null, +fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null, +fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:iI,g2:iI, +glyphName:iI,glyphOrientationHorizontal:null,glyphOrientationVertical:null, +glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:aI, +hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null, +horizAdvX:aI,horizOriginX:aI,horizOriginY:aI,id:null,ideographic:aI, +imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:aI,k:aI, +k1:aI,k2:aI,k3:aI,k4:aI,kernelMatrix:sI,kernelUnitLength:null,keyPoints:null, +keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null, +letterSpacing:null,lightingColor:null,limitingConeAngle:aI,local:null, +markerEnd:null,markerMid:null,markerStart:null,markerHeight:null, +markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null, +maskUnits:null,mathematical:null,max:null,media:null, +mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:aI, +mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null, +navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null, +navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null, +observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null, +onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null, +onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null, +onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null, +onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null, +onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null, +onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null, +onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null, +onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null, +onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null, +onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null, +onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null, +onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null, +onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null, +onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null, +onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null, +onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null, +onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null, +orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:aI, +overlineThickness:aI,paintOrder:null,panose1:null,path:null,pathLength:aI, +patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null, +ping:oI,pitch:null,playbackOrder:null,pointerEvents:null,points:null, +pointsAtX:aI,pointsAtY:aI,pointsAtZ:aI,preserveAlpha:null, +preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:sI,r:null, +radius:null,referrerPolicy:null,refX:null,refY:null,rel:sI,rev:sI, +renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:sI, +requiredFeatures:sI,requiredFonts:sI,requiredFormats:sI,resource:null, +restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null, +shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:aI, +specularExponent:aI,spreadMethod:null,spacing:null,startOffset:null, +stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null, +stopOpacity:null,strikethroughPosition:aI,strikethroughThickness:aI,string:null, +stroke:null,strokeDashArray:sI,strokeDashOffset:null,strokeLineCap:null, +strokeLineJoin:null,strokeMiterLimit:aI,strokeOpacity:aI,strokeWidth:null, +style:null,surfaceScale:aI,syncBehavior:null,syncBehaviorDefault:null, +syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:sI, +tabIndex:aI,tableValues:null,target:null,targetX:aI,targetY:aI,textAnchor:null, +textDecoration:null,textRendering:null,textLength:null,timelineBegin:null, +title:null,transformBehavior:null,type:null,typeOf:sI,to:null,transform:null, +transformOrigin:null,u1:null,u2:null,underlinePosition:aI,underlineThickness:aI, +unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:aI,values:null, +vAlphabetic:aI,vMathematical:aI,vectorEffect:null,vHanging:aI,vIdeographic:aI, +version:null,vertAdvY:aI,vertOriginX:aI,vertOriginY:aI,viewBox:null, +viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null, +writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:aI,y:null, +y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null} +}),kI=/^data[-\w.:]+$/i,SI=/-[a-z]/g,_I=/[A-Z]/g;function AI(e,t){const n=KP(t) +;let r=t,a=JP;if(n in e.normal)return e.property[e.normal[n]] +;if(n.length>4&&"data"===n.slice(0,4)&&kI.test(t)){if("-"===t.charAt(4)){ +const e=t.slice(5).replace(SI,EI);r="data"+e.charAt(0).toUpperCase()+e.slice(1) +}else{const e=t.slice(4);if(!SI.test(e)){let n=e.replace(_I,TI) +;"-"!==n.charAt(0)&&(n="-"+n),t="data"+n}}a=dI}return new a(r,t)}function TI(e){ +return"-"+e.toLowerCase()}function EI(e){return e.charAt(1).toUpperCase()} +const CI=YP([gI,mI,yI,OI,wI],"html"),$I=YP([gI,mI,yI,OI,xI],"svg") +;function PI(e){const t=[],n=String(e||"");let r=n.indexOf(","),a=0,o=!1 +;for(;!o;){-1===r&&(r=n.length,o=!0);const e=n.slice(a,r).trim() +;!e&&o||t.push(e),a=r+1,r=n.indexOf(",",a)}return t}function II(e,t){ +const n=t||{} +;return(""===e[e.length-1]?[...e,""]:e).join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim() +}const DI=/[#.]/g;function MI(e){const t=String(e||"").trim() +;return t?t.split(/[ \t\n\r\f]+/g):[]}function NI(e){return e.join(" ").trim()} +const RI=new Set(["button","menu","reset","submit"]),LI={}.hasOwnProperty +;function BI(e,t,n){const r=n&&function(e){const t={};let n=-1 +;for(;++n-1&&ee)return{ +line:t+1,column:e-(t>0?n[t-1]:0)+1,offset:e}},toOffset:function(e){ +const t=e&&e.line,r=e&&e.column +;if("number"==typeof t&&"number"==typeof r&&!Number.isNaN(t)&&!Number.isNaN(r)&&t-1 in n){ +const e=(n[t-2]||0)+r-1||0;if(e>-1&&e=55296&&e<=57343}function dD(e){ +return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159} +function pD(e){return e>=64976&&e<=65007||eD.has(e)}var hD,fD +;(fD=hD||(hD={})).controlCharacterInInputStream="control-character-in-input-stream", +fD.noncharacterInInputStream="noncharacter-in-input-stream", +fD.surrogateInInputStream="surrogate-in-input-stream", +fD.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus", +fD.endTagWithAttributes="end-tag-with-attributes", +fD.endTagWithTrailingSolidus="end-tag-with-trailing-solidus", +fD.unexpectedSolidusInTag="unexpected-solidus-in-tag", +fD.unexpectedNullCharacter="unexpected-null-character", +fD.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name", +fD.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name", +fD.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name", +fD.missingEndTagName="missing-end-tag-name", +fD.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name", +fD.unknownNamedCharacterReference="unknown-named-character-reference", +fD.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference", +fD.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier", +fD.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value", +fD.eofBeforeTagName="eof-before-tag-name", +fD.eofInTag="eof-in-tag",fD.missingAttributeValue="missing-attribute-value", +fD.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes", +fD.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword", +fD.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers", +fD.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword", +fD.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier", +fD.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier", +fD.missingDoctypePublicIdentifier="missing-doctype-public-identifier", +fD.missingDoctypeSystemIdentifier="missing-doctype-system-identifier", +fD.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier", +fD.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier", +fD.cdataInHtmlContent="cdata-in-html-content", +fD.incorrectlyOpenedComment="incorrectly-opened-comment", +fD.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text", +fD.eofInDoctype="eof-in-doctype", +fD.nestedComment="nested-comment",fD.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment", +fD.eofInComment="eof-in-comment", +fD.incorrectlyClosedComment="incorrectly-closed-comment", +fD.eofInCdata="eof-in-cdata", +fD.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference", +fD.nullCharacterReference="null-character-reference", +fD.surrogateCharacterReference="surrogate-character-reference", +fD.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range", +fD.controlCharacterReference="control-character-reference", +fD.noncharacterCharacterReference="noncharacter-character-reference", +fD.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name", +fD.missingDoctypeName="missing-doctype-name", +fD.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name", +fD.duplicateAttribute="duplicate-attribute", +fD.nonConformingDoctype="non-conforming-doctype", +fD.missingDoctype="missing-doctype", +fD.misplacedDoctype="misplaced-doctype",fD.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element", +fD.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements", +fD.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head", +fD.openElementsLeftAfterEof="open-elements-left-after-eof", +fD.abandonedHeadElementChild="abandoned-head-element-child", +fD.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element", +fD.nestedNoscriptInHead="nested-noscript-in-head", +fD.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text" +;class mD{constructor(e){ +this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2, +this.gapStack=[],this.skipNextNewLine=!1, +this.lastChunkWritten=!1,this.endOfChunkHit=!1, +this.bufferWaterline=65536,this.isEol=!1, +this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1} +get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)} +get offset(){return this.droppedBufferSize+this.pos}getError(e,t){ +const{line:n,col:r,offset:a}=this,o=r+t,i=a+t;return{code:e,startLine:n, +endLine:n,startCol:o,endCol:o,startOffset:i,endOffset:i}}_err(e){ +this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset, +this.handler.onParseError(this.getError(e,0)))}_addGap(){ +this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos} +_processSurrogate(e){if(this.pos!==this.html.length-1){ +const t=this.html.charCodeAt(this.pos+1);if(function(e){ +return e>=56320&&e<=57343 +}(t))return this.pos++,this._addGap(),1024*(e-55296)+9216+t +}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,nD.EOF +;return this._err(hD.surrogateInInputStream),e}willDropParsedChunk(){ +return this.pos>this.bufferWaterline}dropParsedChunk(){ +this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos), +this.lineStartPos-=this.pos, +this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2, +this.gapStack.length=0)}write(e,t){ +this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1, +this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){ +this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1), +this.endOfChunkHit=!1}startsWith(e,t){ +if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten, +!1;if(t)return this.html.startsWith(e,this.pos);for(let n=0;n=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,nD.EOF +;const n=this.html.charCodeAt(t);return n===nD.CARRIAGE_RETURN?nD.LINE_FEED:n} +advance(){ +if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos), +this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten, +nD.EOF;let e=this.html.charCodeAt(this.pos) +;if(e===nD.CARRIAGE_RETURN)return this.isEol=!0, +this.skipNextNewLine=!0,nD.LINE_FEED +;if(e===nD.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine))return this.line--, +this.skipNextNewLine=!1,this._addGap(),this.advance() +;this.skipNextNewLine=!1,uD(e)&&(e=this._processSurrogate(e)) +;return null===this.handler.onParseError||e>31&&e<127||e===nD.LINE_FEED||e===nD.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e), +e}_checkForProblematicCharacters(e){ +dD(e)?this._err(hD.controlCharacterInInputStream):pD(e)&&this._err(hD.noncharacterInInputStream) +}retreat(e){ +for(this.pos-=e;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value +;return null} +(vD=gD||(gD={}))[vD.CHARACTER=0]="CHARACTER",vD[vD.NULL_CHARACTER=1]="NULL_CHARACTER", +vD[vD.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER", +vD[vD.START_TAG=3]="START_TAG", +vD[vD.END_TAG=4]="END_TAG",vD[vD.COMMENT=5]="COMMENT", +vD[vD.DOCTYPE=6]="DOCTYPE",vD[vD.EOF=7]="EOF",vD[vD.HIBERNATION=8]="HIBERNATION" +;const yD=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((e=>e.charCodeAt(0)))),OD=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]) +;var wD,xD +;(xD=wD||(wD={}))[xD.NUM=35]="NUM",xD[xD.SEMI=59]="SEMI",xD[xD.EQUALS=61]="EQUALS", +xD[xD.ZERO=48]="ZERO", +xD[xD.NINE=57]="NINE",xD[xD.LOWER_A=97]="LOWER_A",xD[xD.LOWER_F=102]="LOWER_F", +xD[xD.LOWER_X=120]="LOWER_X", +xD[xD.LOWER_Z=122]="LOWER_Z",xD[xD.UPPER_A=65]="UPPER_A", +xD[xD.UPPER_F=70]="UPPER_F",xD[xD.UPPER_Z=90]="UPPER_Z" +;var kD,SD,_D,AD,TD,ED,CD,$D,PD,ID,DD,MD,ND,RD,LD,BD;function jD(e){ +return e>=wD.ZERO&&e<=wD.NINE}function UD(e){return e===wD.EQUALS||function(e){ +return e>=wD.UPPER_A&&e<=wD.UPPER_Z||e>=wD.LOWER_A&&e<=wD.LOWER_Z||jD(e)}(e)} +(SD=kD||(kD={}))[SD.VALUE_LENGTH=49152]="VALUE_LENGTH", +SD[SD.BRANCH_LENGTH=16256]="BRANCH_LENGTH", +SD[SD.JUMP_TABLE=127]="JUMP_TABLE",(AD=_D||(_D={}))[AD.EntityStart=0]="EntityStart", +AD[AD.NumericStart=1]="NumericStart", +AD[AD.NumericDecimal=2]="NumericDecimal",AD[AD.NumericHex=3]="NumericHex", +AD[AD.NamedEntity=4]="NamedEntity", +(ED=TD||(TD={}))[ED.Legacy=0]="Legacy",ED[ED.Strict=1]="Strict", +ED[ED.Attribute=2]="Attribute";class zD{constructor(e,t,n){ +this.decodeTree=e,this.emitCodePoint=t, +this.errors=n,this.state=_D.EntityStart,this.consumed=1, +this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=TD.Strict} +startEntity(e){ +this.decodeMode=e,this.state=_D.EntityStart,this.result=0,this.treeIndex=0, +this.excess=1,this.consumed=1}write(e,t){switch(this.state){case _D.EntityStart: +return e.charCodeAt(t)===wD.NUM?(this.state=_D.NumericStart, +this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=_D.NamedEntity, +this.stateNamedEntity(e,t));case _D.NumericStart: +return this.stateNumericStart(e,t);case _D.NumericDecimal: +return this.stateNumericDecimal(e,t);case _D.NumericHex: +return this.stateNumericHex(e,t);case _D.NamedEntity: +return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){ +return t>=e.length?-1:(32|e.charCodeAt(t))===wD.LOWER_X?(this.state=_D.NumericHex, +this.consumed+=1, +this.stateNumericHex(e,t+1)):(this.state=_D.NumericDecimal,this.stateNumericDecimal(e,t)) +}addToNumericResult(e,t,n,r){if(t!==n){const a=n-t +;this.result=this.result*Math.pow(r,a)+Number.parseInt(e.substr(t,a),r), +this.consumed+=a}}stateNumericHex(e,t){const n=t;for(;t=wD.UPPER_A&&r<=wD.UPPER_F||r>=wD.LOWER_A&&r<=wD.LOWER_F)))return this.addToNumericResult(e,n,t,16), +this.emitNumericEntity(a,3);t+=1}var r;return this.addToNumericResult(e,n,t,16), +-1}stateNumericDecimal(e,t){const n=t;for(;t=55296&&e<=57343||e>1114111?65533:null!==(t=OD.get(e))&&void 0!==t?t:e +}(this.result),this.consumed), +this.errors&&(e!==wD.SEMI&&this.errors.missingSemicolonAfterCharacterReference(), +this.errors.validateNumericCharacterReference(this.result)),this.consumed} +stateNamedEntity(e,t){const{decodeTree:n}=this +;let r=n[this.treeIndex],a=(r&kD.VALUE_LENGTH)>>14 +;for(;t>14,0!==a){ +if(o===wD.SEMI)return this.emitNamedEntityData(this.treeIndex,a,this.consumed+this.excess) +;this.decodeMode!==TD.Strict&&(this.result=this.treeIndex, +this.consumed+=this.excess,this.excess=0)}}return-1} +emitNotTerminatedNamedEntity(){var e +;const{result:t,decodeTree:n}=this,r=(n[t]&kD.VALUE_LENGTH)>>14 +;return this.emitNamedEntityData(t,r,this.consumed), +null===(e=this.errors)||void 0===e||e.missingSemicolonAfterCharacterReference(), +this.consumed}emitNamedEntityData(e,t,n){const{decodeTree:r}=this +;return this.emitCodePoint(1===t?r[e]&~kD.VALUE_LENGTH:r[e+1],n), +3===t&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){ +case _D.NamedEntity: +return 0===this.result||this.decodeMode===TD.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity() +;case _D.NumericDecimal:return this.emitNumericEntity(0,2);case _D.NumericHex: +return this.emitNumericEntity(0,3);case _D.NumericStart: +return null===(e=this.errors)||void 0===e||e.absenceOfDigitsInNumericCharacterReference(this.consumed), +0;case _D.EntityStart:return 0}}}function ZD(e,t,n,r){ +const a=(t&kD.BRANCH_LENGTH)>>7,o=t&kD.JUMP_TABLE +;if(0===a)return 0!==o&&r===o?n:-1;if(o){const t=r-o +;return t<0||t>=a?-1:e[n+t]-1}let i=n,s=i+a-1;for(;i<=s;){const t=i+s>>>1,n=e[t] +;if(nr))return e[t+a];s=t-1}}return-1} +($D=CD||(CD={})).HTML="http://www.w3.org/1999/xhtml", +$D.MATHML="http://www.w3.org/1998/Math/MathML", +$D.SVG="http://www.w3.org/2000/svg", +$D.XLINK="http://www.w3.org/1999/xlink",$D.XML="http://www.w3.org/XML/1998/namespace", +$D.XMLNS="http://www.w3.org/2000/xmlns/", +(ID=PD||(PD={})).TYPE="type",ID.ACTION="action", +ID.ENCODING="encoding",ID.PROMPT="prompt", +ID.NAME="name",ID.COLOR="color",ID.FACE="face", +ID.SIZE="size",(MD=DD||(DD={})).NO_QUIRKS="no-quirks", +MD.QUIRKS="quirks",MD.LIMITED_QUIRKS="limited-quirks", +(RD=ND||(ND={})).A="a",RD.ADDRESS="address", +RD.ANNOTATION_XML="annotation-xml",RD.APPLET="applet", +RD.AREA="area",RD.ARTICLE="article", +RD.ASIDE="aside",RD.B="b",RD.BASE="base",RD.BASEFONT="basefont", +RD.BGSOUND="bgsound", +RD.BIG="big",RD.BLOCKQUOTE="blockquote",RD.BODY="body",RD.BR="br", +RD.BUTTON="button", +RD.CAPTION="caption",RD.CENTER="center",RD.CODE="code",RD.COL="col", +RD.COLGROUP="colgroup", +RD.DD="dd",RD.DESC="desc",RD.DETAILS="details",RD.DIALOG="dialog", +RD.DIR="dir",RD.DIV="div", +RD.DL="dl",RD.DT="dt",RD.EM="em",RD.EMBED="embed",RD.FIELDSET="fieldset", +RD.FIGCAPTION="figcaption",RD.FIGURE="figure",RD.FONT="font",RD.FOOTER="footer", +RD.FOREIGN_OBJECT="foreignObject", +RD.FORM="form",RD.FRAME="frame",RD.FRAMESET="frameset", +RD.H1="h1",RD.H2="h2",RD.H3="h3", +RD.H4="h4",RD.H5="h5",RD.H6="h6",RD.HEAD="head", +RD.HEADER="header",RD.HGROUP="hgroup", +RD.HR="hr",RD.HTML="html",RD.I="i",RD.IMG="img", +RD.IMAGE="image",RD.INPUT="input", +RD.IFRAME="iframe",RD.KEYGEN="keygen",RD.LABEL="label", +RD.LI="li",RD.LINK="link", +RD.LISTING="listing",RD.MAIN="main",RD.MALIGNMARK="malignmark", +RD.MARQUEE="marquee", +RD.MATH="math",RD.MENU="menu",RD.META="meta",RD.MGLYPH="mglyph", +RD.MI="mi",RD.MO="mo", +RD.MN="mn",RD.MS="ms",RD.MTEXT="mtext",RD.NAV="nav",RD.NOBR="nobr", +RD.NOFRAMES="noframes", +RD.NOEMBED="noembed",RD.NOSCRIPT="noscript",RD.OBJECT="object", +RD.OL="ol",RD.OPTGROUP="optgroup", +RD.OPTION="option",RD.P="p",RD.PARAM="param",RD.PLAINTEXT="plaintext", +RD.PRE="pre", +RD.RB="rb",RD.RP="rp",RD.RT="rt",RD.RTC="rtc",RD.RUBY="ruby",RD.S="s", +RD.SCRIPT="script", +RD.SEARCH="search",RD.SECTION="section",RD.SELECT="select",RD.SOURCE="source", +RD.SMALL="small", +RD.SPAN="span",RD.STRIKE="strike",RD.STRONG="strong",RD.STYLE="style", +RD.SUB="sub", +RD.SUMMARY="summary",RD.SUP="sup",RD.TABLE="table",RD.TBODY="tbody", +RD.TEMPLATE="template", +RD.TEXTAREA="textarea",RD.TFOOT="tfoot",RD.TD="td",RD.TH="th", +RD.THEAD="thead",RD.TITLE="title", +RD.TR="tr",RD.TRACK="track",RD.TT="tt",RD.U="u", +RD.UL="ul",RD.SVG="svg",RD.VAR="var", +RD.WBR="wbr",RD.XMP="xmp",(BD=LD||(LD={}))[BD.UNKNOWN=0]="UNKNOWN", +BD[BD.A=1]="A", +BD[BD.ADDRESS=2]="ADDRESS",BD[BD.ANNOTATION_XML=3]="ANNOTATION_XML", +BD[BD.APPLET=4]="APPLET", +BD[BD.AREA=5]="AREA",BD[BD.ARTICLE=6]="ARTICLE",BD[BD.ASIDE=7]="ASIDE", +BD[BD.B=8]="B", +BD[BD.BASE=9]="BASE",BD[BD.BASEFONT=10]="BASEFONT",BD[BD.BGSOUND=11]="BGSOUND", +BD[BD.BIG=12]="BIG", +BD[BD.BLOCKQUOTE=13]="BLOCKQUOTE",BD[BD.BODY=14]="BODY",BD[BD.BR=15]="BR", +BD[BD.BUTTON=16]="BUTTON",BD[BD.CAPTION=17]="CAPTION",BD[BD.CENTER=18]="CENTER", +BD[BD.CODE=19]="CODE", +BD[BD.COL=20]="COL",BD[BD.COLGROUP=21]="COLGROUP",BD[BD.DD=22]="DD", +BD[BD.DESC=23]="DESC", +BD[BD.DETAILS=24]="DETAILS",BD[BD.DIALOG=25]="DIALOG",BD[BD.DIR=26]="DIR", +BD[BD.DIV=27]="DIV", +BD[BD.DL=28]="DL",BD[BD.DT=29]="DT",BD[BD.EM=30]="EM",BD[BD.EMBED=31]="EMBED", +BD[BD.FIELDSET=32]="FIELDSET", +BD[BD.FIGCAPTION=33]="FIGCAPTION",BD[BD.FIGURE=34]="FIGURE", +BD[BD.FONT=35]="FONT", +BD[BD.FOOTER=36]="FOOTER",BD[BD.FOREIGN_OBJECT=37]="FOREIGN_OBJECT", +BD[BD.FORM=38]="FORM", +BD[BD.FRAME=39]="FRAME",BD[BD.FRAMESET=40]="FRAMESET",BD[BD.H1=41]="H1", +BD[BD.H2=42]="H2", +BD[BD.H3=43]="H3",BD[BD.H4=44]="H4",BD[BD.H5=45]="H5",BD[BD.H6=46]="H6", +BD[BD.HEAD=47]="HEAD", +BD[BD.HEADER=48]="HEADER",BD[BD.HGROUP=49]="HGROUP",BD[BD.HR=50]="HR", +BD[BD.HTML=51]="HTML", +BD[BD.I=52]="I",BD[BD.IMG=53]="IMG",BD[BD.IMAGE=54]="IMAGE", +BD[BD.INPUT=55]="INPUT", +BD[BD.IFRAME=56]="IFRAME",BD[BD.KEYGEN=57]="KEYGEN",BD[BD.LABEL=58]="LABEL", +BD[BD.LI=59]="LI", +BD[BD.LINK=60]="LINK",BD[BD.LISTING=61]="LISTING",BD[BD.MAIN=62]="MAIN", +BD[BD.MALIGNMARK=63]="MALIGNMARK", +BD[BD.MARQUEE=64]="MARQUEE",BD[BD.MATH=65]="MATH", +BD[BD.MENU=66]="MENU",BD[BD.META=67]="META", +BD[BD.MGLYPH=68]="MGLYPH",BD[BD.MI=69]="MI",BD[BD.MO=70]="MO",BD[BD.MN=71]="MN", +BD[BD.MS=72]="MS", +BD[BD.MTEXT=73]="MTEXT",BD[BD.NAV=74]="NAV",BD[BD.NOBR=75]="NOBR", +BD[BD.NOFRAMES=76]="NOFRAMES", +BD[BD.NOEMBED=77]="NOEMBED",BD[BD.NOSCRIPT=78]="NOSCRIPT", +BD[BD.OBJECT=79]="OBJECT", +BD[BD.OL=80]="OL",BD[BD.OPTGROUP=81]="OPTGROUP",BD[BD.OPTION=82]="OPTION", +BD[BD.P=83]="P", +BD[BD.PARAM=84]="PARAM",BD[BD.PLAINTEXT=85]="PLAINTEXT",BD[BD.PRE=86]="PRE", +BD[BD.RB=87]="RB", +BD[BD.RP=88]="RP",BD[BD.RT=89]="RT",BD[BD.RTC=90]="RTC",BD[BD.RUBY=91]="RUBY", +BD[BD.S=92]="S", +BD[BD.SCRIPT=93]="SCRIPT",BD[BD.SEARCH=94]="SEARCH",BD[BD.SECTION=95]="SECTION", +BD[BD.SELECT=96]="SELECT", +BD[BD.SOURCE=97]="SOURCE",BD[BD.SMALL=98]="SMALL",BD[BD.SPAN=99]="SPAN", +BD[BD.STRIKE=100]="STRIKE", +BD[BD.STRONG=101]="STRONG",BD[BD.STYLE=102]="STYLE",BD[BD.SUB=103]="SUB", +BD[BD.SUMMARY=104]="SUMMARY", +BD[BD.SUP=105]="SUP",BD[BD.TABLE=106]="TABLE",BD[BD.TBODY=107]="TBODY", +BD[BD.TEMPLATE=108]="TEMPLATE", +BD[BD.TEXTAREA=109]="TEXTAREA",BD[BD.TFOOT=110]="TFOOT", +BD[BD.TD=111]="TD",BD[BD.TH=112]="TH", +BD[BD.THEAD=113]="THEAD",BD[BD.TITLE=114]="TITLE", +BD[BD.TR=115]="TR",BD[BD.TRACK=116]="TRACK",BD[BD.TT=117]="TT",BD[BD.U=118]="U", +BD[BD.UL=119]="UL", +BD[BD.SVG=120]="SVG",BD[BD.VAR=121]="VAR",BD[BD.WBR=122]="WBR", +BD[BD.XMP=123]="XMP" +;const FD=new Map([[ND.A,LD.A],[ND.ADDRESS,LD.ADDRESS],[ND.ANNOTATION_XML,LD.ANNOTATION_XML],[ND.APPLET,LD.APPLET],[ND.AREA,LD.AREA],[ND.ARTICLE,LD.ARTICLE],[ND.ASIDE,LD.ASIDE],[ND.B,LD.B],[ND.BASE,LD.BASE],[ND.BASEFONT,LD.BASEFONT],[ND.BGSOUND,LD.BGSOUND],[ND.BIG,LD.BIG],[ND.BLOCKQUOTE,LD.BLOCKQUOTE],[ND.BODY,LD.BODY],[ND.BR,LD.BR],[ND.BUTTON,LD.BUTTON],[ND.CAPTION,LD.CAPTION],[ND.CENTER,LD.CENTER],[ND.CODE,LD.CODE],[ND.COL,LD.COL],[ND.COLGROUP,LD.COLGROUP],[ND.DD,LD.DD],[ND.DESC,LD.DESC],[ND.DETAILS,LD.DETAILS],[ND.DIALOG,LD.DIALOG],[ND.DIR,LD.DIR],[ND.DIV,LD.DIV],[ND.DL,LD.DL],[ND.DT,LD.DT],[ND.EM,LD.EM],[ND.EMBED,LD.EMBED],[ND.FIELDSET,LD.FIELDSET],[ND.FIGCAPTION,LD.FIGCAPTION],[ND.FIGURE,LD.FIGURE],[ND.FONT,LD.FONT],[ND.FOOTER,LD.FOOTER],[ND.FOREIGN_OBJECT,LD.FOREIGN_OBJECT],[ND.FORM,LD.FORM],[ND.FRAME,LD.FRAME],[ND.FRAMESET,LD.FRAMESET],[ND.H1,LD.H1],[ND.H2,LD.H2],[ND.H3,LD.H3],[ND.H4,LD.H4],[ND.H5,LD.H5],[ND.H6,LD.H6],[ND.HEAD,LD.HEAD],[ND.HEADER,LD.HEADER],[ND.HGROUP,LD.HGROUP],[ND.HR,LD.HR],[ND.HTML,LD.HTML],[ND.I,LD.I],[ND.IMG,LD.IMG],[ND.IMAGE,LD.IMAGE],[ND.INPUT,LD.INPUT],[ND.IFRAME,LD.IFRAME],[ND.KEYGEN,LD.KEYGEN],[ND.LABEL,LD.LABEL],[ND.LI,LD.LI],[ND.LINK,LD.LINK],[ND.LISTING,LD.LISTING],[ND.MAIN,LD.MAIN],[ND.MALIGNMARK,LD.MALIGNMARK],[ND.MARQUEE,LD.MARQUEE],[ND.MATH,LD.MATH],[ND.MENU,LD.MENU],[ND.META,LD.META],[ND.MGLYPH,LD.MGLYPH],[ND.MI,LD.MI],[ND.MO,LD.MO],[ND.MN,LD.MN],[ND.MS,LD.MS],[ND.MTEXT,LD.MTEXT],[ND.NAV,LD.NAV],[ND.NOBR,LD.NOBR],[ND.NOFRAMES,LD.NOFRAMES],[ND.NOEMBED,LD.NOEMBED],[ND.NOSCRIPT,LD.NOSCRIPT],[ND.OBJECT,LD.OBJECT],[ND.OL,LD.OL],[ND.OPTGROUP,LD.OPTGROUP],[ND.OPTION,LD.OPTION],[ND.P,LD.P],[ND.PARAM,LD.PARAM],[ND.PLAINTEXT,LD.PLAINTEXT],[ND.PRE,LD.PRE],[ND.RB,LD.RB],[ND.RP,LD.RP],[ND.RT,LD.RT],[ND.RTC,LD.RTC],[ND.RUBY,LD.RUBY],[ND.S,LD.S],[ND.SCRIPT,LD.SCRIPT],[ND.SEARCH,LD.SEARCH],[ND.SECTION,LD.SECTION],[ND.SELECT,LD.SELECT],[ND.SOURCE,LD.SOURCE],[ND.SMALL,LD.SMALL],[ND.SPAN,LD.SPAN],[ND.STRIKE,LD.STRIKE],[ND.STRONG,LD.STRONG],[ND.STYLE,LD.STYLE],[ND.SUB,LD.SUB],[ND.SUMMARY,LD.SUMMARY],[ND.SUP,LD.SUP],[ND.TABLE,LD.TABLE],[ND.TBODY,LD.TBODY],[ND.TEMPLATE,LD.TEMPLATE],[ND.TEXTAREA,LD.TEXTAREA],[ND.TFOOT,LD.TFOOT],[ND.TD,LD.TD],[ND.TH,LD.TH],[ND.THEAD,LD.THEAD],[ND.TITLE,LD.TITLE],[ND.TR,LD.TR],[ND.TRACK,LD.TRACK],[ND.TT,LD.TT],[ND.U,LD.U],[ND.UL,LD.UL],[ND.SVG,LD.SVG],[ND.VAR,LD.VAR],[ND.WBR,LD.WBR],[ND.XMP,LD.XMP]]) +;function HD(e){var t;return null!==(t=FD.get(e))&&void 0!==t?t:LD.UNKNOWN} +const QD=LD,VD={ +[CD.HTML]:new Set([QD.ADDRESS,QD.APPLET,QD.AREA,QD.ARTICLE,QD.ASIDE,QD.BASE,QD.BASEFONT,QD.BGSOUND,QD.BLOCKQUOTE,QD.BODY,QD.BR,QD.BUTTON,QD.CAPTION,QD.CENTER,QD.COL,QD.COLGROUP,QD.DD,QD.DETAILS,QD.DIR,QD.DIV,QD.DL,QD.DT,QD.EMBED,QD.FIELDSET,QD.FIGCAPTION,QD.FIGURE,QD.FOOTER,QD.FORM,QD.FRAME,QD.FRAMESET,QD.H1,QD.H2,QD.H3,QD.H4,QD.H5,QD.H6,QD.HEAD,QD.HEADER,QD.HGROUP,QD.HR,QD.HTML,QD.IFRAME,QD.IMG,QD.INPUT,QD.LI,QD.LINK,QD.LISTING,QD.MAIN,QD.MARQUEE,QD.MENU,QD.META,QD.NAV,QD.NOEMBED,QD.NOFRAMES,QD.NOSCRIPT,QD.OBJECT,QD.OL,QD.P,QD.PARAM,QD.PLAINTEXT,QD.PRE,QD.SCRIPT,QD.SECTION,QD.SELECT,QD.SOURCE,QD.STYLE,QD.SUMMARY,QD.TABLE,QD.TBODY,QD.TD,QD.TEMPLATE,QD.TEXTAREA,QD.TFOOT,QD.TH,QD.THEAD,QD.TITLE,QD.TR,QD.TRACK,QD.UL,QD.WBR,QD.XMP]), +[CD.MATHML]:new Set([QD.MI,QD.MO,QD.MN,QD.MS,QD.MTEXT,QD.ANNOTATION_XML]), +[CD.SVG]:new Set([QD.TITLE,QD.FOREIGN_OBJECT,QD.DESC]),[CD.XLINK]:new Set, +[CD.XML]:new Set,[CD.XMLNS]:new Set +},qD=new Set([QD.H1,QD.H2,QD.H3,QD.H4,QD.H5,QD.H6]);var WD,XD +;ND.STYLE,ND.SCRIPT, +ND.XMP,ND.IFRAME,ND.NOEMBED,ND.NOFRAMES,ND.PLAINTEXT,(XD=WD||(WD={}))[XD.DATA=0]="DATA", +XD[XD.RCDATA=1]="RCDATA", +XD[XD.RAWTEXT=2]="RAWTEXT",XD[XD.SCRIPT_DATA=3]="SCRIPT_DATA", +XD[XD.PLAINTEXT=4]="PLAINTEXT", +XD[XD.TAG_OPEN=5]="TAG_OPEN",XD[XD.END_TAG_OPEN=6]="END_TAG_OPEN", +XD[XD.TAG_NAME=7]="TAG_NAME", +XD[XD.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN", +XD[XD.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN", +XD[XD.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME", +XD[XD.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN", +XD[XD.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN", +XD[XD.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME", +XD[XD.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN", +XD[XD.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN", +XD[XD.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME", +XD[XD.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START", +XD[XD.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH", +XD[XD.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED", +XD[XD.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH", +XD[XD.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH", +XD[XD.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN", +XD[XD.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN", +XD[XD.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN", +XD[XD.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END", +XD[XD.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME", +XD[XD.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME", +XD[XD.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME", +XD[XD.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE", +XD[XD.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED", +XD[XD.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED", +XD[XD.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED", +XD[XD.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED", +XD[XD.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG", +XD[XD.BOGUS_COMMENT=40]="BOGUS_COMMENT", +XD[XD.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN", +XD[XD.COMMENT_START=42]="COMMENT_START", +XD[XD.COMMENT_START_DASH=43]="COMMENT_START_DASH", +XD[XD.COMMENT=44]="COMMENT",XD[XD.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN", +XD[XD.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG", +XD[XD.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH", +XD[XD.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH", +XD[XD.COMMENT_END_DASH=49]="COMMENT_END_DASH", +XD[XD.COMMENT_END=50]="COMMENT_END", +XD[XD.COMMENT_END_BANG=51]="COMMENT_END_BANG", +XD[XD.DOCTYPE=52]="DOCTYPE",XD[XD.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME", +XD[XD.DOCTYPE_NAME=54]="DOCTYPE_NAME", +XD[XD.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME", +XD[XD.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD", +XD[XD.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER", +XD[XD.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED", +XD[XD.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED", +XD[XD.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER", +XD[XD.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS", +XD[XD.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD", +XD[XD.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER", +XD[XD.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED", +XD[XD.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED", +XD[XD.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER", +XD[XD.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",XD[XD.CDATA_SECTION=68]="CDATA_SECTION", +XD[XD.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET", +XD[XD.CDATA_SECTION_END=70]="CDATA_SECTION_END", +XD[XD.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE", +XD[XD.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND";const GD={DATA:WD.DATA, +RCDATA:WD.RCDATA,RAWTEXT:WD.RAWTEXT,SCRIPT_DATA:WD.SCRIPT_DATA, +PLAINTEXT:WD.PLAINTEXT,CDATA_SECTION:WD.CDATA_SECTION};function YD(e){ +return e>=nD.LATIN_CAPITAL_A&&e<=nD.LATIN_CAPITAL_Z}function KD(e){ +return function(e){return e>=nD.LATIN_SMALL_A&&e<=nD.LATIN_SMALL_Z}(e)||YD(e)} +function JD(e){return KD(e)||function(e){return e>=nD.DIGIT_0&&e<=nD.DIGIT_9}(e) +}function eM(e){return e+32}function tM(e){ +return e===nD.SPACE||e===nD.LINE_FEED||e===nD.TABULATION||e===nD.FORM_FEED} +function nM(e){return tM(e)||e===nD.SOLIDUS||e===nD.GREATER_THAN_SIGN}class rM{ +constructor(e,t){ +this.options=e,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1, +this.lastStartTagName="", +this.active=!1,this.state=WD.DATA,this.returnState=WD.DATA, +this.entityStartPos=0, +this.consumedAfterSnapshot=-1,this.currentCharacterToken=null, +this.currentToken=null,this.currentAttr={name:"",value:"" +},this.preprocessor=new mD(t), +this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new zD(yD,((e,t)=>{ +this.preprocessor.pos=this.entityStartPos+t-1, +this._flushCodePointConsumedAsCharacterReference(e)}),t.onParseError?{ +missingSemicolonAfterCharacterReference:()=>{ +this._err(hD.missingSemicolonAfterCharacterReference,1)}, +absenceOfDigitsInNumericCharacterReference:e=>{ +this._err(hD.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+e) +},validateNumericCharacterReference:e=>{const t=function(e){ +return e===nD.NULL?hD.nullCharacterReference:e>1114111?hD.characterReferenceOutsideUnicodeRange:uD(e)?hD.surrogateCharacterReference:pD(e)?hD.noncharacterCharacterReference:dD(e)||e===nD.CARRIAGE_RETURN?hD.controlCharacterReference:null +}(e);t&&this._err(t,1)}}:void 0)}_err(e,t=0){var n,r +;null===(r=(n=this.handler).onParseError)||void 0===r||r.call(n,this.preprocessor.getError(e,t)) +}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{ +startLine:this.preprocessor.line,startCol:this.preprocessor.col-e, +startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null} +_runParsingLoop(){if(!this.inLoop){ +for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0 +;const e=this._consume();this._ensureHibernation()||this._callState(e)} +this.inLoop=!1}}pause(){this.paused=!0}resume(e){ +if(!this.paused)throw new Error("Parser was already resumed") +;this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==e||e())} +write(e,t,n){this.active=!0,this.preprocessor.write(e,t),this._runParsingLoop(), +this.paused||null==n||n()}insertHtmlAtCurrentPos(e){ +this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e), +this._runParsingLoop()}_ensureHibernation(){ +return!!this.preprocessor.endOfChunkHit&&(this.preprocessor.retreat(this.consumedAfterSnapshot), +this.consumedAfterSnapshot=0,this.active=!1,!0)}_consume(){ +return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(e){ +this.consumedAfterSnapshot+=e;for(let t=0;t0&&this._err(hD.endTagWithAttributes), +e.selfClosing&&this._err(hD.endTagWithTrailingSolidus), +this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()} +emitCurrentComment(e){ +this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk() +}emitCurrentDoctype(e){ +this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk() +}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){ +switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine, +this.currentCharacterToken.location.endCol=e.startCol, +this.currentCharacterToken.location.endOffset=e.startOffset), +this.currentCharacterToken.type){case gD.CHARACTER: +this.handler.onCharacter(this.currentCharacterToken);break +;case gD.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken) +;break;case gD.WHITESPACE_CHARACTER: +this.handler.onWhitespaceCharacter(this.currentCharacterToken)} +this.currentCharacterToken=null}}_emitEOFToken(){ +const e=this.getCurrentLocation(0) +;e&&(e.endLine=e.startLine,e.endCol=e.startCol, +e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e), +this.handler.onEof({type:gD.EOF,location:e}),this.active=!1} +_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken){ +if(this.currentCharacterToken.type===e)return void(this.currentCharacterToken.chars+=t) +;this.currentLocation=this.getCurrentLocation(0), +this._emitCurrentCharacterToken(this.currentLocation), +this.preprocessor.dropParsedChunk()}this._createCharacterToken(e,t)} +_emitCodePoint(e){ +const t=tM(e)?gD.WHITESPACE_CHARACTER:e===nD.NULL?gD.NULL_CHARACTER:gD.CHARACTER +;this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(e))} +_emitChars(e){this._appendCharToCurrentCharacterToken(gD.CHARACTER,e)} +_startCharacterReference(){ +this.returnState=this.state,this.state=WD.CHARACTER_REFERENCE, +this.entityStartPos=this.preprocessor.pos, +this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?TD.Attribute:TD.Legacy) +}_isCharacterReferenceInAttribute(){ +return this.returnState===WD.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===WD.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===WD.ATTRIBUTE_VALUE_UNQUOTED +}_flushCodePointConsumedAsCharacterReference(e){ +this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e) +}_callState(e){switch(this.state){case WD.DATA:this._stateData(e);break +;case WD.RCDATA:this._stateRcdata(e);break;case WD.RAWTEXT:this._stateRawtext(e) +;break;case WD.SCRIPT_DATA:this._stateScriptData(e);break;case WD.PLAINTEXT: +this._statePlaintext(e);break;case WD.TAG_OPEN:this._stateTagOpen(e);break +;case WD.END_TAG_OPEN:this._stateEndTagOpen(e);break;case WD.TAG_NAME: +this._stateTagName(e);break;case WD.RCDATA_LESS_THAN_SIGN: +this._stateRcdataLessThanSign(e);break;case WD.RCDATA_END_TAG_OPEN: +this._stateRcdataEndTagOpen(e);break;case WD.RCDATA_END_TAG_NAME: +this._stateRcdataEndTagName(e);break;case WD.RAWTEXT_LESS_THAN_SIGN: +this._stateRawtextLessThanSign(e);break;case WD.RAWTEXT_END_TAG_OPEN: +this._stateRawtextEndTagOpen(e);break;case WD.RAWTEXT_END_TAG_NAME: +this._stateRawtextEndTagName(e);break;case WD.SCRIPT_DATA_LESS_THAN_SIGN: +this._stateScriptDataLessThanSign(e);break;case WD.SCRIPT_DATA_END_TAG_OPEN: +this._stateScriptDataEndTagOpen(e);break;case WD.SCRIPT_DATA_END_TAG_NAME: +this._stateScriptDataEndTagName(e);break;case WD.SCRIPT_DATA_ESCAPE_START: +this._stateScriptDataEscapeStart(e);break;case WD.SCRIPT_DATA_ESCAPE_START_DASH: +this._stateScriptDataEscapeStartDash(e);break;case WD.SCRIPT_DATA_ESCAPED: +this._stateScriptDataEscaped(e);break;case WD.SCRIPT_DATA_ESCAPED_DASH: +this._stateScriptDataEscapedDash(e);break;case WD.SCRIPT_DATA_ESCAPED_DASH_DASH: +this._stateScriptDataEscapedDashDash(e);break +;case WD.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN: +this._stateScriptDataEscapedLessThanSign(e);break +;case WD.SCRIPT_DATA_ESCAPED_END_TAG_OPEN: +this._stateScriptDataEscapedEndTagOpen(e);break +;case WD.SCRIPT_DATA_ESCAPED_END_TAG_NAME: +this._stateScriptDataEscapedEndTagName(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPE_START: +this._stateScriptDataDoubleEscapeStart(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPED_DASH: +this._stateScriptDataDoubleEscapedDash(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH: +this._stateScriptDataDoubleEscapedDashDash(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN: +this._stateScriptDataDoubleEscapedLessThanSign(e);break +;case WD.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(e) +;break;case WD.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(e);break +;case WD.ATTRIBUTE_NAME:this._stateAttributeName(e);break +;case WD.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(e);break +;case WD.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(e);break +;case WD.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(e) +;break;case WD.ATTRIBUTE_VALUE_SINGLE_QUOTED: +this._stateAttributeValueSingleQuoted(e);break;case WD.ATTRIBUTE_VALUE_UNQUOTED: +this._stateAttributeValueUnquoted(e);break;case WD.AFTER_ATTRIBUTE_VALUE_QUOTED: +this._stateAfterAttributeValueQuoted(e);break;case WD.SELF_CLOSING_START_TAG: +this._stateSelfClosingStartTag(e);break;case WD.BOGUS_COMMENT: +this._stateBogusComment(e);break;case WD.MARKUP_DECLARATION_OPEN: +this._stateMarkupDeclarationOpen(e);break;case WD.COMMENT_START: +this._stateCommentStart(e);break;case WD.COMMENT_START_DASH: +this._stateCommentStartDash(e);break;case WD.COMMENT:this._stateComment(e);break +;case WD.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(e);break +;case WD.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(e);break +;case WD.COMMENT_LESS_THAN_SIGN_BANG_DASH: +this._stateCommentLessThanSignBangDash(e);break +;case WD.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH: +this._stateCommentLessThanSignBangDashDash(e);break;case WD.COMMENT_END_DASH: +this._stateCommentEndDash(e);break;case WD.COMMENT_END:this._stateCommentEnd(e) +;break;case WD.COMMENT_END_BANG:this._stateCommentEndBang(e);break +;case WD.DOCTYPE:this._stateDoctype(e);break;case WD.BEFORE_DOCTYPE_NAME: +this._stateBeforeDoctypeName(e);break;case WD.DOCTYPE_NAME: +this._stateDoctypeName(e);break;case WD.AFTER_DOCTYPE_NAME: +this._stateAfterDoctypeName(e);break;case WD.AFTER_DOCTYPE_PUBLIC_KEYWORD: +this._stateAfterDoctypePublicKeyword(e);break +;case WD.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER: +this._stateBeforeDoctypePublicIdentifier(e);break +;case WD.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED: +this._stateDoctypePublicIdentifierDoubleQuoted(e);break +;case WD.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED: +this._stateDoctypePublicIdentifierSingleQuoted(e);break +;case WD.AFTER_DOCTYPE_PUBLIC_IDENTIFIER: +this._stateAfterDoctypePublicIdentifier(e);break +;case WD.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS: +this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break +;case WD.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(e) +;break;case WD.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER: +this._stateBeforeDoctypeSystemIdentifier(e);break +;case WD.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED: +this._stateDoctypeSystemIdentifierDoubleQuoted(e);break +;case WD.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED: +this._stateDoctypeSystemIdentifierSingleQuoted(e);break +;case WD.AFTER_DOCTYPE_SYSTEM_IDENTIFIER: +this._stateAfterDoctypeSystemIdentifier(e);break;case WD.BOGUS_DOCTYPE: +this._stateBogusDoctype(e);break;case WD.CDATA_SECTION: +this._stateCdataSection(e);break;case WD.CDATA_SECTION_BRACKET: +this._stateCdataSectionBracket(e);break;case WD.CDATA_SECTION_END: +this._stateCdataSectionEnd(e);break;case WD.CHARACTER_REFERENCE: +this._stateCharacterReference();break;case WD.AMBIGUOUS_AMPERSAND: +this._stateAmbiguousAmpersand(e);break;default:throw new Error("Unknown state")} +}_stateData(e){switch(e){case nD.LESS_THAN_SIGN:this.state=WD.TAG_OPEN;break +;case nD.AMPERSAND:this._startCharacterReference();break;case nD.NULL: +this._err(hD.unexpectedNullCharacter),this._emitCodePoint(e);break;case nD.EOF: +this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRcdata(e){ +switch(e){case nD.AMPERSAND:this._startCharacterReference();break +;case nD.LESS_THAN_SIGN:this.state=WD.RCDATA_LESS_THAN_SIGN;break;case nD.NULL: +this._err(hD.unexpectedNullCharacter),this._emitChars(tD);break;case nD.EOF: +this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRawtext(e){ +switch(e){case nD.LESS_THAN_SIGN:this.state=WD.RAWTEXT_LESS_THAN_SIGN;break +;case nD.NULL:this._err(hD.unexpectedNullCharacter),this._emitChars(tD);break +;case nD.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}} +_stateScriptData(e){switch(e){case nD.LESS_THAN_SIGN: +this.state=WD.SCRIPT_DATA_LESS_THAN_SIGN;break;case nD.NULL: +this._err(hD.unexpectedNullCharacter),this._emitChars(tD);break;case nD.EOF: +this._emitEOFToken();break;default:this._emitCodePoint(e)}}_statePlaintext(e){ +switch(e){case nD.NULL:this._err(hD.unexpectedNullCharacter),this._emitChars(tD) +;break;case nD.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}} +_stateTagOpen(e){ +if(KD(e))this._createStartTagToken(),this.state=WD.TAG_NAME,this._stateTagName(e);else switch(e){ +case nD.EXCLAMATION_MARK:this.state=WD.MARKUP_DECLARATION_OPEN;break +;case nD.SOLIDUS:this.state=WD.END_TAG_OPEN;break;case nD.QUESTION_MARK: +this._err(hD.unexpectedQuestionMarkInsteadOfTagName), +this._createCommentToken(1), +this.state=WD.BOGUS_COMMENT,this._stateBogusComment(e);break;case nD.EOF: +this._err(hD.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break +;default: +this._err(hD.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=WD.DATA, +this._stateData(e)}}_stateEndTagOpen(e){ +if(KD(e))this._createEndTagToken(),this.state=WD.TAG_NAME, +this._stateTagName(e);else switch(e){case nD.GREATER_THAN_SIGN: +this._err(hD.missingEndTagName),this.state=WD.DATA;break;case nD.EOF: +this._err(hD.eofBeforeTagName),this._emitChars("");break +;case nD.NULL: +this._err(hD.unexpectedNullCharacter),this.state=WD.SCRIPT_DATA_ESCAPED, +this._emitChars(tD);break;case nD.EOF: +this._err(hD.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default: +this.state=WD.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}} +_stateScriptDataEscapedLessThanSign(e){ +e===nD.SOLIDUS?this.state=WD.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:KD(e)?(this._emitChars("<"), +this.state=WD.SCRIPT_DATA_DOUBLE_ESCAPE_START, +this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"), +this.state=WD.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))} +_stateScriptDataEscapedEndTagOpen(e){ +KD(e)?(this.state=WD.SCRIPT_DATA_ESCAPED_END_TAG_NAME, +this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("") +;break;case nD.NULL: +this._err(hD.unexpectedNullCharacter),this.state=WD.SCRIPT_DATA_DOUBLE_ESCAPED, +this._emitChars(tD);break;case nD.EOF: +this._err(hD.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default: +this.state=WD.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}} +_stateScriptDataDoubleEscapedLessThanSign(e){ +e===nD.SOLIDUS?(this.state=WD.SCRIPT_DATA_DOUBLE_ESCAPE_END, +this._emitChars("/")):(this.state=WD.SCRIPT_DATA_DOUBLE_ESCAPED, +this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){ +if(this.preprocessor.startsWith(sD,!1)&&nM(this.preprocessor.peek(sD.length))){ +this._emitCodePoint(e) +;for(let e=0;e0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--, +this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,t){ +const n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&(this.current=t)} +insertAfter(e,t,n){const r=this._indexOf(e)+1 +;this.items.splice(r,0,t),this.tagIDs.splice(r,0,n), +this.stackTop++,r===this.stackTop&&this._updateCurrentElement(), +this.current&&void 0!==this.currentTagId&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop) +}popUntilTagNamePopped(e){let t=this.stackTop+1;do{ +t=this.tagIDs.lastIndexOf(e,t-1) +}while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==CD.HTML) +;this.shortenToLength(Math.max(t,0))}shortenToLength(e){for(;this.stackTop>=e;){ +const t=this.current +;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1), +this.stackTop--,this._updateCurrentElement(), +this.handler.onItemPop(t,this.stackTop=0;n--)if(e.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n +;return-1}clearBackTo(e,t){const n=this._indexOfTagNames(e,t) +;this.shortenToLength(n+1)}clearBackToTableContext(){ +this.clearBackTo(hM,CD.HTML)}clearBackToTableBodyContext(){ +this.clearBackTo(pM,CD.HTML)}clearBackToTableRowContext(){ +this.clearBackTo(dM,CD.HTML)}remove(e){const t=this._indexOf(e) +;t>=0&&(t===this.stackTop?this.pop():(this.items.splice(t,1), +this.tagIDs.splice(t,1), +this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))} +tryPeekProperlyNestedBodyElement(){ +return this.stackTop>=1&&this.tagIDs[1]===LD.BODY?this.items[1]:null} +contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){ +const t=this._indexOf(e)-1;return t>=0?this.items[t]:null} +isRootHtmlElementCurrent(){return 0===this.stackTop&&this.tagIDs[0]===LD.HTML} +hasInDynamicScope(e,t){for(let n=this.stackTop;n>=0;n--){const r=this.tagIDs[n] +;switch(this.treeAdapter.getNamespaceURI(this.items[n])){case CD.HTML: +if(r===e)return!0;if(t.has(r))return!1;break;case CD.SVG:if(uM.has(r))return!1 +;break;case CD.MATHML:if(cM.has(r))return!1}}return!0}hasInScope(e){ +return this.hasInDynamicScope(e,iM)}hasInListItemScope(e){ +return this.hasInDynamicScope(e,sM)}hasInButtonScope(e){ +return this.hasInDynamicScope(e,lM)}hasNumberedHeaderInScope(){ +for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e] +;switch(this.treeAdapter.getNamespaceURI(this.items[e])){case CD.HTML: +if(qD.has(t))return!0;if(iM.has(t))return!1;break;case CD.SVG: +if(uM.has(t))return!1;break;case CD.MATHML:if(cM.has(t))return!1}}return!0} +hasInTableScope(e){ +for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===CD.HTML)switch(this.tagIDs[t]){ +case e:return!0;case LD.TABLE:case LD.HTML:return!1}return!0} +hasTableBodyContextInTableScope(){ +for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===CD.HTML)switch(this.tagIDs[e]){ +case LD.TBODY:case LD.THEAD:case LD.TFOOT:return!0;case LD.TABLE:case LD.HTML: +return!1}return!0}hasInSelectScope(e){ +for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===CD.HTML)switch(this.tagIDs[t]){ +case e:return!0;case LD.OPTION:case LD.OPTGROUP:break;default:return!1}return!0} +generateImpliedEndTags(){ +for(;void 0!==this.currentTagId&&aM.has(this.currentTagId);)this.pop()} +generateImpliedEndTagsThoroughly(){ +for(;void 0!==this.currentTagId&&oM.has(this.currentTagId);)this.pop()} +generateImpliedEndTagsWithExclusion(e){ +for(;void 0!==this.currentTagId&&this.currentTagId!==e&&oM.has(this.currentTagId);)this.pop() +}}var gM,vM;(vM=gM||(gM={}))[vM.Marker=0]="Marker",vM[vM.Element=1]="Element" +;const bM={type:gM.Marker};class yM{constructor(e){ +this.treeAdapter=e,this.entries=[],this.bookmark=null} +_getNoahArkConditionCandidates(e,t){ +const n=[],r=t.length,a=this.treeAdapter.getTagName(e),o=this.treeAdapter.getNamespaceURI(e) +;for(let i=0;i[e.name,e.value])));let a=0 +;for(let o=0;or.get(e.name)===e.value))&&(a+=1, +a>=3&&this.entries.splice(e.idx,1))}}insertMarker(){this.entries.unshift(bM)} +pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.unshift({ +type:gM.Element,element:e,token:t})}insertElementAfterBookmark(e,t){ +const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{ +type:gM.Element,element:e,token:t})}removeEntry(e){ +const t=this.entries.indexOf(e);-1!==t&&this.entries.splice(t,1)} +clearToLastMarker(){const e=this.entries.indexOf(bM) +;-1===e?this.entries.length=0:this.entries.splice(0,e+1)} +getElementEntryInScopeWithTagName(e){ +const t=this.entries.find((t=>t.type===gM.Marker||this.treeAdapter.getTagName(t.element)===e)) +;return t&&t.type===gM.Element?t:null}getElementEntry(e){ +return this.entries.find((t=>t.type===gM.Element&&t.element===e))}}const OM={ +createDocument:()=>({nodeName:"#document",mode:DD.NO_QUIRKS,childNodes:[]}), +createDocumentFragment:()=>({nodeName:"#document-fragment",childNodes:[]}), +createElement:(e,t,n)=>({nodeName:e,tagName:e,attrs:n,namespaceURI:t, +childNodes:[],parentNode:null}),createCommentNode:e=>({nodeName:"#comment", +data:e,parentNode:null}),createTextNode:e=>({nodeName:"#text",value:e, +parentNode:null}),appendChild(e,t){e.childNodes.push(t),t.parentNode=e}, +insertBefore(e,t,n){const r=e.childNodes.indexOf(n) +;e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t +},getTemplateContent:e=>e.content,setDocumentType(e,t,n,r){ +const a=e.childNodes.find((e=>"#documentType"===e.nodeName)) +;if(a)a.name=t,a.publicId=n,a.systemId=r;else{const a={nodeName:"#documentType", +name:t,publicId:n,systemId:r,parentNode:null};OM.appendChild(e,a)}}, +setDocumentMode(e,t){e.mode=t},getDocumentMode:e=>e.mode,detachNode(e){ +if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e) +;e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){ +if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1] +;if(OM.isTextNode(n))return void(n.value+=t)} +OM.appendChild(e,OM.createTextNode(t))},insertTextBefore(e,t,n){ +const r=e.childNodes[e.childNodes.indexOf(n)-1] +;r&&OM.isTextNode(r)?r.value+=t:OM.insertBefore(e,OM.createTextNode(t),n)}, +adoptAttributes(e,t){const n=new Set(e.attrs.map((e=>e.name))) +;for(let r=0;re.childNodes[0],getChildNodes:e=>e.childNodes, +getParentNode:e=>e.parentNode,getAttrList:e=>e.attrs,getTagName:e=>e.tagName, +getNamespaceURI:e=>e.namespaceURI,getTextNodeContent:e=>e.value, +getCommentNodeContent:e=>e.data,getDocumentTypeNodeName:e=>e.name, +getDocumentTypeNodePublicId:e=>e.publicId, +getDocumentTypeNodeSystemId:e=>e.systemId,isTextNode:e=>"#text"===e.nodeName, +isCommentNode:e=>"#comment"===e.nodeName, +isDocumentTypeNode:e=>"#documentType"===e.nodeName, +isElementNode:e=>Object.prototype.hasOwnProperty.call(e,"tagName"), +setNodeSourceCodeLocation(e,t){e.sourceCodeLocation=t}, +getNodeSourceCodeLocation:e=>e.sourceCodeLocation, +updateNodeSourceCodeLocation(e,t){e.sourceCodeLocation={...e.sourceCodeLocation, +...t}} +},wM="html",xM="about:legacy-compat",kM="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd",SM=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],_M=[...SM,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],AM=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),TM=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],EM=[...TM,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"] +;function CM(e,t){return t.some((t=>e.startsWith(t)))}const $M={ +TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml" +},PM="definitionurl",IM="definitionURL",DM=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),MM=new Map([["xlink:actuate",{ +prefix:"xlink",name:"actuate",namespace:CD.XLINK}],["xlink:arcrole",{ +prefix:"xlink",name:"arcrole",namespace:CD.XLINK}],["xlink:href",{ +prefix:"xlink",name:"href",namespace:CD.XLINK}],["xlink:role",{prefix:"xlink", +name:"role",namespace:CD.XLINK}],["xlink:show",{prefix:"xlink",name:"show", +namespace:CD.XLINK}],["xlink:title",{prefix:"xlink",name:"title", +namespace:CD.XLINK}],["xlink:type",{prefix:"xlink",name:"type", +namespace:CD.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:CD.XML +}],["xml:space",{prefix:"xml",name:"space",namespace:CD.XML}],["xmlns",{ +prefix:"",name:"xmlns",namespace:CD.XMLNS}],["xmlns:xlink",{prefix:"xmlns", +name:"xlink",namespace:CD.XMLNS +}]]),NM=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),RM=new Set([LD.B,LD.BIG,LD.BLOCKQUOTE,LD.BODY,LD.BR,LD.CENTER,LD.CODE,LD.DD,LD.DIV,LD.DL,LD.DT,LD.EM,LD.EMBED,LD.H1,LD.H2,LD.H3,LD.H4,LD.H5,LD.H6,LD.HEAD,LD.HR,LD.I,LD.IMG,LD.LI,LD.LISTING,LD.MENU,LD.META,LD.NOBR,LD.OL,LD.P,LD.PRE,LD.RUBY,LD.S,LD.SMALL,LD.SPAN,LD.STRONG,LD.STRIKE,LD.SUB,LD.SUP,LD.TABLE,LD.TT,LD.U,LD.UL,LD.VAR]) +;function LM(e){for(let t=0;t0&&this._setContextModes(e,t)}onItemPop(e,t){ +var n,r +;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken), +null===(r=(n=this.treeAdapter).onItemPop)||void 0===r||r.call(n,e,this.openElements.current), +t){let e,t +;0===this.openElements.stackTop&&this.fragmentContext?(e=this.fragmentContext, +t=this.fragmentContextID):({current:e,currentTagId:t}=this.openElements), +this._setContextModes(e,t)}}_setContextModes(e,t){ +const n=e===this.document||e&&this.treeAdapter.getNamespaceURI(e)===CD.HTML +;this.currentNotInHTML=!n, +this.tokenizer.inForeignNode=!n&&void 0!==e&&void 0!==t&&!this._isIntegrationPoint(t,e) +}_switchToTextParsing(e,t){ +this._insertElement(e,CD.HTML),this.tokenizer.state=t, +this.originalInsertionMode=this.insertionMode,this.insertionMode=HM.TEXT} +switchToPlaintextParsing(){ +this.insertionMode=HM.TEXT,this.originalInsertionMode=HM.IN_BODY, +this.tokenizer.state=GD.PLAINTEXT}_getAdjustedCurrentElement(){ +return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current +}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){ +if(this.treeAdapter.getTagName(e)===ND.FORM){this.formElement=e;break} +e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){ +if(this.fragmentContext&&this.treeAdapter.getNamespaceURI(this.fragmentContext)===CD.HTML)switch(this.fragmentContextID){ +case LD.TITLE:case LD.TEXTAREA:this.tokenizer.state=GD.RCDATA;break +;case LD.STYLE:case LD.XMP:case LD.IFRAME:case LD.NOEMBED:case LD.NOFRAMES: +case LD.NOSCRIPT:this.tokenizer.state=GD.RAWTEXT;break;case LD.SCRIPT: +this.tokenizer.state=GD.SCRIPT_DATA;break;case LD.PLAINTEXT: +this.tokenizer.state=GD.PLAINTEXT}}_setDocumentType(e){ +const t=e.name||"",n=e.publicId||"",r=e.systemId||"" +;if(this.treeAdapter.setDocumentType(this.document,t,n,r),e.location){ +const t=this.treeAdapter.getChildNodes(this.document).find((e=>this.treeAdapter.isDocumentTypeNode(e))) +;t&&this.treeAdapter.setNodeSourceCodeLocation(t,e.location)}} +_attachElementToTree(e,t){if(this.options.sourceCodeLocationInfo){const n=t&&{ +...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(e,n)} +if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{ +const t=this.openElements.currentTmplContentOrNode +;this.treeAdapter.appendChild(null!=t?t:this.document,e)}}_appendElement(e,t){ +const n=this.treeAdapter.createElement(e.tagName,t,e.attrs) +;this._attachElementToTree(n,e.location)}_insertElement(e,t){ +const n=this.treeAdapter.createElement(e.tagName,t,e.attrs) +;this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)} +_insertFakeElement(e,t){const n=this.treeAdapter.createElement(e,CD.HTML,[]) +;this._attachElementToTree(n,null),this.openElements.push(n,t)} +_insertTemplate(e){ +const t=this.treeAdapter.createElement(e.tagName,CD.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment() +;this.treeAdapter.setTemplateContent(t,n), +this._attachElementToTree(t,e.location), +this.openElements.push(t,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null) +}_insertFakeRootElement(){ +const e=this.treeAdapter.createElement(ND.HTML,CD.HTML,[]) +;this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null), +this.treeAdapter.appendChild(this.openElements.current,e), +this.openElements.push(e,LD.HTML)}_appendCommentNode(e,t){ +const n=this.treeAdapter.createCommentNode(e.data) +;this.treeAdapter.appendChild(t,n), +this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location) +}_insertCharacters(e){let t,n +;if(this._shouldFosterParentOnInsertion()?(({parent:t,beforeElement:n}=this._findFosterParentingLocation()), +n?this.treeAdapter.insertTextBefore(t,e.chars,n):this.treeAdapter.insertText(t,e.chars)):(t=this.openElements.currentTmplContentOrNode, +this.treeAdapter.insertText(t,e.chars)),!e.location)return +;const r=this.treeAdapter.getChildNodes(t),a=n?r.lastIndexOf(n):r.length,o=r[a-1] +;if(this.treeAdapter.getNodeSourceCodeLocation(o)){ +const{endLine:t,endCol:n,endOffset:r}=e.location +;this.treeAdapter.updateNodeSourceCodeLocation(o,{endLine:t,endCol:n,endOffset:r +}) +}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(o,e.location) +}_adoptNodes(e,t){ +for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n), +this.treeAdapter.appendChild(t,n)}_setEndLocation(e,t){ +if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){ +const n=t.location,r=this.treeAdapter.getTagName(e),a=t.type===gD.END_TAG&&r===t.tagName?{ +endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{ +endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset} +;this.treeAdapter.updateNodeSourceCodeLocation(e,a)}} +shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1 +;let t,n +;return 0===this.openElements.stackTop&&this.fragmentContext?(t=this.fragmentContext, +n=this.fragmentContextID):({current:t,currentTagId:n}=this.openElements), +(e.tagID!==LD.SVG||this.treeAdapter.getTagName(t)!==ND.ANNOTATION_XML||this.treeAdapter.getNamespaceURI(t)!==CD.MATHML)&&(this.tokenizer.inForeignNode||(e.tagID===LD.MGLYPH||e.tagID===LD.MALIGNMARK)&&void 0!==n&&!this._isIntegrationPoint(n,t,CD.HTML)) +}_processToken(e){switch(e.type){case gD.CHARACTER:this.onCharacter(e);break +;case gD.NULL_CHARACTER:this.onNullCharacter(e);break;case gD.COMMENT: +this.onComment(e);break;case gD.DOCTYPE:this.onDoctype(e);break +;case gD.START_TAG:this._processStartTag(e);break;case gD.END_TAG: +this.onEndTag(e);break;case gD.EOF:this.onEof(e);break +;case gD.WHITESPACE_CHARACTER:this.onWhitespaceCharacter(e)}} +_isIntegrationPoint(e,t,n){ +return UM(e,this.treeAdapter.getNamespaceURI(t),this.treeAdapter.getAttrList(t),n) +}_reconstructActiveFormattingElements(){ +const e=this.activeFormattingElements.entries.length;if(e){ +const t=this.activeFormattingElements.entries.findIndex((e=>e.type===gM.Marker||this.openElements.contains(e.element))) +;for(let n=-1===t?e-1:t-1;n>=0;n--){ +const e=this.activeFormattingElements.entries[n] +;this._insertElement(e.token,this.treeAdapter.getNamespaceURI(e.element)), +e.element=this.openElements.current}}}_closeTableCell(){ +this.openElements.generateImpliedEndTags(), +this.openElements.popUntilTableCellPopped(), +this.activeFormattingElements.clearToLastMarker(),this.insertionMode=HM.IN_ROW} +_closePElement(){ +this.openElements.generateImpliedEndTagsWithExclusion(LD.P),this.openElements.popUntilTagNamePopped(LD.P) +}_resetInsertionMode(){ +for(let e=this.openElements.stackTop;e>=0;e--)switch(0===e&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){ +case LD.TR:return void(this.insertionMode=HM.IN_ROW);case LD.TBODY: +case LD.THEAD:case LD.TFOOT:return void(this.insertionMode=HM.IN_TABLE_BODY) +;case LD.CAPTION:return void(this.insertionMode=HM.IN_CAPTION);case LD.COLGROUP: +return void(this.insertionMode=HM.IN_COLUMN_GROUP);case LD.TABLE: +return void(this.insertionMode=HM.IN_TABLE);case LD.BODY: +return void(this.insertionMode=HM.IN_BODY);case LD.FRAMESET: +return void(this.insertionMode=HM.IN_FRAMESET);case LD.SELECT: +return void this._resetInsertionModeForSelect(e);case LD.TEMPLATE: +return void(this.insertionMode=this.tmplInsertionModeStack[0]);case LD.HTML: +return void(this.insertionMode=this.headElement?HM.AFTER_HEAD:HM.BEFORE_HEAD) +;case LD.TD:case LD.TH:if(e>0)return void(this.insertionMode=HM.IN_CELL);break +;case LD.HEAD:if(e>0)return void(this.insertionMode=HM.IN_HEAD)} +this.insertionMode=HM.IN_BODY}_resetInsertionModeForSelect(e){ +if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.tagIDs[t] +;if(e===LD.TEMPLATE)break +;if(e===LD.TABLE)return void(this.insertionMode=HM.IN_SELECT_IN_TABLE)} +this.insertionMode=HM.IN_SELECT}_isElementCausesFosterParenting(e){ +return qM.has(e)}_shouldFosterParentOnInsertion(){ +return this.fosterParentingEnabled&&void 0!==this.openElements.currentTagId&&this._isElementCausesFosterParenting(this.openElements.currentTagId) +}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){ +const t=this.openElements.items[e];switch(this.openElements.tagIDs[e]){ +case LD.TEMPLATE:if(this.treeAdapter.getNamespaceURI(t)===CD.HTML)return{ +parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break +;case LD.TABLE:{const n=this.treeAdapter.getParentNode(t);return n?{parent:n, +beforeElement:t}:{parent:this.openElements.items[e-1],beforeElement:null}}}} +return{parent:this.openElements.items[0],beforeElement:null}} +_fosterParentElement(e){const t=this._findFosterParentingLocation() +;t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e) +}_isSpecialElement(e,t){const n=this.treeAdapter.getNamespaceURI(e) +;return VD[n].has(t)}onCharacter(e){ +if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){ +e._insertCharacters(t),e.framesetOk=!1}(this,e);else switch(this.insertionMode){ +case HM.INITIAL:oN(this,e);break;case HM.BEFORE_HTML:iN(this,e);break +;case HM.BEFORE_HEAD:sN(this,e);break;case HM.IN_HEAD:uN(this,e);break +;case HM.IN_HEAD_NO_SCRIPT:dN(this,e);break;case HM.AFTER_HEAD:pN(this,e);break +;case HM.IN_BODY:case HM.IN_CAPTION:case HM.IN_CELL:case HM.IN_TEMPLATE: +mN(this,e);break;case HM.TEXT:case HM.IN_SELECT:case HM.IN_SELECT_IN_TABLE: +this._insertCharacters(e);break;case HM.IN_TABLE:case HM.IN_TABLE_BODY: +case HM.IN_ROW:SN(this,e);break;case HM.IN_TABLE_TEXT:CN(this,e);break +;case HM.IN_COLUMN_GROUP:DN(this,e);break;case HM.AFTER_BODY:ZN(this,e);break +;case HM.AFTER_AFTER_BODY:FN(this,e)}}onNullCharacter(e){ +if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){ +t.chars=tD,e._insertCharacters(t)}(this,e);else switch(this.insertionMode){ +case HM.INITIAL:oN(this,e);break;case HM.BEFORE_HTML:iN(this,e);break +;case HM.BEFORE_HEAD:sN(this,e);break;case HM.IN_HEAD:uN(this,e);break +;case HM.IN_HEAD_NO_SCRIPT:dN(this,e);break;case HM.AFTER_HEAD:pN(this,e);break +;case HM.TEXT:this._insertCharacters(e);break;case HM.IN_TABLE: +case HM.IN_TABLE_BODY:case HM.IN_ROW:SN(this,e);break;case HM.IN_COLUMN_GROUP: +DN(this,e);break;case HM.AFTER_BODY:ZN(this,e);break;case HM.AFTER_AFTER_BODY: +FN(this,e)}}onComment(e){ +if(this.skipNextNewLine=!1,this.currentNotInHTML)rN(this,e);else switch(this.insertionMode){ +case HM.INITIAL:case HM.BEFORE_HTML:case HM.BEFORE_HEAD:case HM.IN_HEAD: +case HM.IN_HEAD_NO_SCRIPT:case HM.AFTER_HEAD:case HM.IN_BODY:case HM.IN_TABLE: +case HM.IN_CAPTION:case HM.IN_COLUMN_GROUP:case HM.IN_TABLE_BODY:case HM.IN_ROW: +case HM.IN_CELL:case HM.IN_SELECT:case HM.IN_SELECT_IN_TABLE: +case HM.IN_TEMPLATE:case HM.IN_FRAMESET:case HM.AFTER_FRAMESET:rN(this,e);break +;case HM.IN_TABLE_TEXT:$N(this,e);break;case HM.AFTER_BODY:!function(e,t){ +e._appendCommentNode(t,e.openElements.items[0])}(this,e);break +;case HM.AFTER_AFTER_BODY:case HM.AFTER_AFTER_FRAMESET:!function(e,t){ +e._appendCommentNode(t,e.document)}(this,e)}}onDoctype(e){ +switch(this.skipNextNewLine=!1,this.insertionMode){case HM.INITIAL: +!function(e,t){e._setDocumentType(t) +;const n=t.forceQuirks?DD.QUIRKS:function(e){if(e.name!==wM)return DD.QUIRKS +;const{systemId:t}=e;if(t&&t.toLowerCase()===kM)return DD.QUIRKS +;let{publicId:n}=e;if(null!==n){if(n=n.toLowerCase(),AM.has(n))return DD.QUIRKS +;let e=null===t?_M:SM;if(CM(n,e))return DD.QUIRKS +;if(e=null===t?TM:EM,CM(n,e))return DD.LIMITED_QUIRKS}return DD.NO_QUIRKS}(t) +;(function(e){ +return e.name===wM&&null===e.publicId&&(null===e.systemId||e.systemId===xM) +})(t)||e._err(t,hD.nonConformingDoctype) +;e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=HM.BEFORE_HTML +}(this,e);break;case HM.BEFORE_HEAD:case HM.IN_HEAD:case HM.IN_HEAD_NO_SCRIPT: +case HM.AFTER_HEAD:this._err(e,hD.misplacedDoctype);break;case HM.IN_TABLE_TEXT: +$N(this,e)}}onStartTag(e){ +this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e), +e.selfClosing&&!e.ackSelfClosing&&this._err(e,hD.nonVoidHtmlElementStartTagWithTrailingSolidus) +}_processStartTag(e){ +this.shouldProcessStartTagTokenInForeignContent(e)?function(e,t){if(function(e){ +const t=e.tagID +;return t===LD.FONT&&e.attrs.some((({name:e})=>e===PD.COLOR||e===PD.SIZE||e===PD.FACE))||RM.has(t) +}(t))HN(e),e._startTagOutsideForeignContent(t);else{ +const n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n) +;r===CD.MATHML?LM(t):r===CD.SVG&&(!function(e){const t=NM.get(e.tagName) +;null!=t&&(e.tagName=t,e.tagID=HD(e.tagName)) +}(t),BM(t)),jM(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r), +t.ackSelfClosing=!0}}(this,e):this._startTagOutsideForeignContent(e)} +_startTagOutsideForeignContent(e){switch(this.insertionMode){case HM.INITIAL: +oN(this,e);break;case HM.BEFORE_HTML:!function(e,t){ +t.tagID===LD.HTML?(e._insertElement(t,CD.HTML), +e.insertionMode=HM.BEFORE_HEAD):iN(e,t)}(this,e);break;case HM.BEFORE_HEAD: +!function(e,t){switch(t.tagID){case LD.HTML:ON(e,t);break;case LD.HEAD: +e._insertElement(t,CD.HTML), +e.headElement=e.openElements.current,e.insertionMode=HM.IN_HEAD;break;default: +sN(e,t)}}(this,e);break;case HM.IN_HEAD:lN(this,e);break +;case HM.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case LD.HTML:ON(e,t) +;break;case LD.BASEFONT:case LD.BGSOUND:case LD.HEAD:case LD.LINK:case LD.META: +case LD.NOFRAMES:case LD.STYLE:lN(e,t);break;case LD.NOSCRIPT: +e._err(t,hD.nestedNoscriptInHead);break;default:dN(e,t)}}(this,e);break +;case HM.AFTER_HEAD:!function(e,t){switch(t.tagID){case LD.HTML:ON(e,t);break +;case LD.BODY: +e._insertElement(t,CD.HTML),e.framesetOk=!1,e.insertionMode=HM.IN_BODY;break +;case LD.FRAMESET:e._insertElement(t,CD.HTML),e.insertionMode=HM.IN_FRAMESET +;break;case LD.BASE:case LD.BASEFONT:case LD.BGSOUND:case LD.LINK:case LD.META: +case LD.NOFRAMES:case LD.SCRIPT:case LD.STYLE:case LD.TEMPLATE:case LD.TITLE: +e._err(t,hD.abandonedHeadElementChild), +e.openElements.push(e.headElement,LD.HEAD), +lN(e,t),e.openElements.remove(e.headElement);break;case LD.HEAD: +e._err(t,hD.misplacedStartTagForHeadElement);break;default:pN(e,t)}}(this,e) +;break;case HM.IN_BODY:ON(this,e);break;case HM.IN_TABLE:_N(this,e);break +;case HM.IN_TABLE_TEXT:$N(this,e);break;case HM.IN_CAPTION:!function(e,t){ +const n=t.tagID +;PN.has(n)?e.openElements.hasInTableScope(LD.CAPTION)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(LD.CAPTION), +e.activeFormattingElements.clearToLastMarker(), +e.insertionMode=HM.IN_TABLE,_N(e,t)):ON(e,t)}(this,e);break +;case HM.IN_COLUMN_GROUP:IN(this,e);break;case HM.IN_TABLE_BODY:MN(this,e);break +;case HM.IN_ROW:RN(this,e);break;case HM.IN_CELL:!function(e,t){const n=t.tagID +;PN.has(n)?(e.openElements.hasInTableScope(LD.TD)||e.openElements.hasInTableScope(LD.TH))&&(e._closeTableCell(), +RN(e,t)):ON(e,t)}(this,e);break;case HM.IN_SELECT:BN(this,e);break +;case HM.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID +;n===LD.CAPTION||n===LD.TABLE||n===LD.TBODY||n===LD.TFOOT||n===LD.THEAD||n===LD.TR||n===LD.TD||n===LD.TH?(e.openElements.popUntilTagNamePopped(LD.SELECT), +e._resetInsertionMode(),e._processStartTag(t)):BN(e,t)}(this,e);break +;case HM.IN_TEMPLATE:!function(e,t){switch(t.tagID){case LD.BASE: +case LD.BASEFONT:case LD.BGSOUND:case LD.LINK:case LD.META:case LD.NOFRAMES: +case LD.SCRIPT:case LD.STYLE:case LD.TEMPLATE:case LD.TITLE:lN(e,t);break +;case LD.CAPTION:case LD.COLGROUP:case LD.TBODY:case LD.TFOOT:case LD.THEAD: +e.tmplInsertionModeStack[0]=HM.IN_TABLE,e.insertionMode=HM.IN_TABLE,_N(e,t) +;break;case LD.COL: +e.tmplInsertionModeStack[0]=HM.IN_COLUMN_GROUP,e.insertionMode=HM.IN_COLUMN_GROUP, +IN(e,t);break;case LD.TR: +e.tmplInsertionModeStack[0]=HM.IN_TABLE_BODY,e.insertionMode=HM.IN_TABLE_BODY, +MN(e,t);break;case LD.TD:case LD.TH: +e.tmplInsertionModeStack[0]=HM.IN_ROW,e.insertionMode=HM.IN_ROW,RN(e,t);break +;default: +e.tmplInsertionModeStack[0]=HM.IN_BODY,e.insertionMode=HM.IN_BODY,ON(e,t)} +}(this,e);break;case HM.AFTER_BODY:!function(e,t){ +t.tagID===LD.HTML?ON(e,t):ZN(e,t)}(this,e);break;case HM.IN_FRAMESET: +!function(e,t){switch(t.tagID){case LD.HTML:ON(e,t);break;case LD.FRAMESET: +e._insertElement(t,CD.HTML);break;case LD.FRAME: +e._appendElement(t,CD.HTML),t.ackSelfClosing=!0;break;case LD.NOFRAMES:lN(e,t)} +}(this,e);break;case HM.AFTER_FRAMESET:!function(e,t){switch(t.tagID){ +case LD.HTML:ON(e,t);break;case LD.NOFRAMES:lN(e,t)}}(this,e);break +;case HM.AFTER_AFTER_BODY:!function(e,t){t.tagID===LD.HTML?ON(e,t):FN(e,t) +}(this,e);break;case HM.AFTER_AFTER_FRAMESET:!function(e,t){switch(t.tagID){ +case LD.HTML:ON(e,t);break;case LD.NOFRAMES:lN(e,t)}}(this,e)}}onEndTag(e){ +this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?function(e,t){ +if(t.tagID===LD.P||t.tagID===LD.BR)return HN(e), +void e._endTagOutsideForeignContent(t) +;for(let n=e.openElements.stackTop;n>0;n--){const r=e.openElements.items[n] +;if(e.treeAdapter.getNamespaceURI(r)===CD.HTML){ +e._endTagOutsideForeignContent(t);break}const a=e.treeAdapter.getTagName(r) +;if(a.toLowerCase()===t.tagName){t.tagName=a,e.openElements.shortenToLength(n) +;break}}}(this,e):this._endTagOutsideForeignContent(e)} +_endTagOutsideForeignContent(e){switch(this.insertionMode){case HM.INITIAL: +oN(this,e);break;case HM.BEFORE_HTML:!function(e,t){const n=t.tagID +;n!==LD.HTML&&n!==LD.HEAD&&n!==LD.BODY&&n!==LD.BR||iN(e,t)}(this,e);break +;case HM.BEFORE_HEAD:!function(e,t){const n=t.tagID +;n===LD.HEAD||n===LD.BODY||n===LD.HTML||n===LD.BR?sN(e,t):e._err(t,hD.endTagWithoutMatchingOpenElement) +}(this,e);break;case HM.IN_HEAD:!function(e,t){switch(t.tagID){case LD.HEAD: +e.openElements.pop(),e.insertionMode=HM.AFTER_HEAD;break;case LD.BODY: +case LD.BR:case LD.HTML:uN(e,t);break;case LD.TEMPLATE:cN(e,t);break;default: +e._err(t,hD.endTagWithoutMatchingOpenElement)}}(this,e);break +;case HM.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case LD.NOSCRIPT: +e.openElements.pop(),e.insertionMode=HM.IN_HEAD;break;case LD.BR:dN(e,t);break +;default:e._err(t,hD.endTagWithoutMatchingOpenElement)}}(this,e);break +;case HM.AFTER_HEAD:!function(e,t){switch(t.tagID){case LD.BODY:case LD.HTML: +case LD.BR:pN(e,t);break;case LD.TEMPLATE:cN(e,t);break;default: +e._err(t,hD.endTagWithoutMatchingOpenElement)}}(this,e);break;case HM.IN_BODY: +xN(this,e);break;case HM.TEXT:!function(e,t){var n +;t.tagID===LD.SCRIPT&&(null===(n=e.scriptHandler)||void 0===n||n.call(e,e.openElements.current)) +;e.openElements.pop(),e.insertionMode=e.originalInsertionMode}(this,e);break +;case HM.IN_TABLE:AN(this,e);break;case HM.IN_TABLE_TEXT:$N(this,e);break +;case HM.IN_CAPTION:!function(e,t){const n=t.tagID;switch(n){case LD.CAPTION: +case LD.TABLE: +e.openElements.hasInTableScope(LD.CAPTION)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(LD.CAPTION), +e.activeFormattingElements.clearToLastMarker(), +e.insertionMode=HM.IN_TABLE,n===LD.TABLE&&AN(e,t));break;case LD.BODY: +case LD.COL:case LD.COLGROUP:case LD.HTML:case LD.TBODY:case LD.TD: +case LD.TFOOT:case LD.TH:case LD.THEAD:case LD.TR:break;default:xN(e,t)} +}(this,e);break;case HM.IN_COLUMN_GROUP:!function(e,t){switch(t.tagID){ +case LD.COLGROUP: +e.openElements.currentTagId===LD.COLGROUP&&(e.openElements.pop(), +e.insertionMode=HM.IN_TABLE);break;case LD.TEMPLATE:cN(e,t);break;case LD.COL: +break;default:DN(e,t)}}(this,e);break;case HM.IN_TABLE_BODY:NN(this,e);break +;case HM.IN_ROW:LN(this,e);break;case HM.IN_CELL:!function(e,t){const n=t.tagID +;switch(n){case LD.TD:case LD.TH: +e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(n), +e.activeFormattingElements.clearToLastMarker(),e.insertionMode=HM.IN_ROW);break +;case LD.TABLE:case LD.TBODY:case LD.TFOOT:case LD.THEAD:case LD.TR: +e.openElements.hasInTableScope(n)&&(e._closeTableCell(),LN(e,t));break +;case LD.BODY:case LD.CAPTION:case LD.COL:case LD.COLGROUP:case LD.HTML:break +;default:xN(e,t)}}(this,e);break;case HM.IN_SELECT:jN(this,e);break +;case HM.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID +;n===LD.CAPTION||n===LD.TABLE||n===LD.TBODY||n===LD.TFOOT||n===LD.THEAD||n===LD.TR||n===LD.TD||n===LD.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(LD.SELECT), +e._resetInsertionMode(),e.onEndTag(t)):jN(e,t)}(this,e);break +;case HM.IN_TEMPLATE:!function(e,t){t.tagID===LD.TEMPLATE&&cN(e,t)}(this,e) +;break;case HM.AFTER_BODY:zN(this,e);break;case HM.IN_FRAMESET:!function(e,t){ +t.tagID!==LD.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(), +e.fragmentContext||e.openElements.currentTagId===LD.FRAMESET||(e.insertionMode=HM.AFTER_FRAMESET)) +}(this,e);break;case HM.AFTER_FRAMESET:!function(e,t){ +t.tagID===LD.HTML&&(e.insertionMode=HM.AFTER_AFTER_FRAMESET)}(this,e);break +;case HM.AFTER_AFTER_BODY:FN(this,e)}}onEof(e){switch(this.insertionMode){ +case HM.INITIAL:oN(this,e);break;case HM.BEFORE_HTML:iN(this,e);break +;case HM.BEFORE_HEAD:sN(this,e);break;case HM.IN_HEAD:uN(this,e);break +;case HM.IN_HEAD_NO_SCRIPT:dN(this,e);break;case HM.AFTER_HEAD:pN(this,e);break +;case HM.IN_BODY:case HM.IN_TABLE:case HM.IN_CAPTION:case HM.IN_COLUMN_GROUP: +case HM.IN_TABLE_BODY:case HM.IN_ROW:case HM.IN_CELL:case HM.IN_SELECT: +case HM.IN_SELECT_IN_TABLE:kN(this,e);break;case HM.TEXT:!function(e,t){ +e._err(t,hD.eofInElementThatCanContainOnlyText), +e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}(this,e) +;break;case HM.IN_TABLE_TEXT:$N(this,e);break;case HM.IN_TEMPLATE:UN(this,e) +;break;case HM.AFTER_BODY:case HM.IN_FRAMESET:case HM.AFTER_FRAMESET: +case HM.AFTER_AFTER_BODY:case HM.AFTER_AFTER_FRAMESET:aN(this,e)}} +onWhitespaceCharacter(e){ +if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===nD.LINE_FEED)){ +if(1===e.chars.length)return;e.chars=e.chars.substr(1)} +if(this.tokenizer.inForeignNode)this._insertCharacters(e);else switch(this.insertionMode){ +case HM.IN_HEAD:case HM.IN_HEAD_NO_SCRIPT:case HM.AFTER_HEAD:case HM.TEXT: +case HM.IN_COLUMN_GROUP:case HM.IN_SELECT:case HM.IN_SELECT_IN_TABLE: +case HM.IN_FRAMESET:case HM.AFTER_FRAMESET:this._insertCharacters(e);break +;case HM.IN_BODY:case HM.IN_CAPTION:case HM.IN_CELL:case HM.IN_TEMPLATE: +case HM.AFTER_BODY:case HM.AFTER_AFTER_BODY:case HM.AFTER_AFTER_FRAMESET: +fN(this,e);break;case HM.IN_TABLE:case HM.IN_TABLE_BODY:case HM.IN_ROW: +SN(this,e);break;case HM.IN_TABLE_TEXT:EN(this,e)}}};function GM(e,t){ +let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName) +;return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n), +n=null):wN(e,t),n}function YM(e,t){let n=null,r=e.openElements.stackTop +;for(;r>=0;r--){const a=e.openElements.items[r];if(a===t.element)break +;e._isSpecialElement(a,e.openElements.tagIDs[r])&&(n=a)} +return n||(e.openElements.shortenToLength(Math.max(r,0)), +e.activeFormattingElements.removeEntry(t)),n}function KM(e,t,n){ +let r=t,a=e.openElements.getCommonAncestor(t);for(let o=0,i=a;i!==n;o++,i=a){ +a=e.openElements.getCommonAncestor(i) +;const n=e.activeFormattingElements.getElementEntry(i),s=n&&o>=FM +;!n||s?(s&&e.activeFormattingElements.removeEntry(n), +e.openElements.remove(i)):(i=JM(e,n), +r===t&&(e.activeFormattingElements.bookmark=n), +e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(i,r),r=i)}return r} +function JM(e,t){ +const n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs) +;return e.openElements.replace(t.element,r),t.element=r,r}function eN(e,t,n){ +const r=HD(e.treeAdapter.getTagName(t)) +;if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{ +const a=e.treeAdapter.getNamespaceURI(t) +;r===LD.TEMPLATE&&a===CD.HTML&&(t=e.treeAdapter.getTemplateContent(t)), +e.treeAdapter.appendChild(t,n)}}function tN(e,t,n){ +const r=e.treeAdapter.getNamespaceURI(n.element),{token:a}=n,o=e.treeAdapter.createElement(a.tagName,r,a.attrs) +;e._adoptNodes(t,o), +e.treeAdapter.appendChild(t,o),e.activeFormattingElements.insertElementAfterBookmark(o,a), +e.activeFormattingElements.removeEntry(n), +e.openElements.remove(n.element),e.openElements.insertAfter(t,o,a.tagID)} +function nN(e,t){for(let n=0;n=n;r--)e._setEndLocation(e.openElements.items[r],t) +;if(!e.fragmentContext&&e.openElements.stackTop>=0){ +const n=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(n) +;if(r&&!r.endTag&&(e._setEndLocation(n,t),e.openElements.stackTop>=1)){ +const n=e.openElements.items[1],r=e.treeAdapter.getNodeSourceCodeLocation(n) +;r&&!r.endTag&&e._setEndLocation(n,t)}}}}function oN(e,t){ +e._err(t,hD.missingDoctype,!0), +e.treeAdapter.setDocumentMode(e.document,DD.QUIRKS), +e.insertionMode=HM.BEFORE_HTML,e._processToken(t)}function iN(e,t){ +e._insertFakeRootElement(),e.insertionMode=HM.BEFORE_HEAD,e._processToken(t)} +function sN(e,t){ +e._insertFakeElement(ND.HEAD,LD.HEAD),e.headElement=e.openElements.current, +e.insertionMode=HM.IN_HEAD,e._processToken(t)}function lN(e,t){switch(t.tagID){ +case LD.HTML:ON(e,t);break;case LD.BASE:case LD.BASEFONT:case LD.BGSOUND: +case LD.LINK:case LD.META:e._appendElement(t,CD.HTML),t.ackSelfClosing=!0;break +;case LD.TITLE:e._switchToTextParsing(t,GD.RCDATA);break;case LD.NOSCRIPT: +e.options.scriptingEnabled?e._switchToTextParsing(t,GD.RAWTEXT):(e._insertElement(t,CD.HTML), +e.insertionMode=HM.IN_HEAD_NO_SCRIPT);break;case LD.NOFRAMES:case LD.STYLE: +e._switchToTextParsing(t,GD.RAWTEXT);break;case LD.SCRIPT: +e._switchToTextParsing(t,GD.SCRIPT_DATA);break;case LD.TEMPLATE: +e._insertTemplate(t), +e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=HM.IN_TEMPLATE, +e.tmplInsertionModeStack.unshift(HM.IN_TEMPLATE);break;case LD.HEAD: +e._err(t,hD.misplacedStartTagForHeadElement);break;default:uN(e,t)}} +function cN(e,t){ +e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(), +e.openElements.currentTagId!==LD.TEMPLATE&&e._err(t,hD.closingOfElementWithOpenChildElements), +e.openElements.popUntilTagNamePopped(LD.TEMPLATE), +e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(), +e._resetInsertionMode()):e._err(t,hD.endTagWithoutMatchingOpenElement)} +function uN(e,t){ +e.openElements.pop(),e.insertionMode=HM.AFTER_HEAD,e._processToken(t)} +function dN(e,t){ +const n=t.type===gD.EOF?hD.openElementsLeftAfterEof:hD.disallowedContentInNoscriptInHead +;e._err(t,n),e.openElements.pop(),e.insertionMode=HM.IN_HEAD,e._processToken(t)} +function pN(e,t){ +e._insertFakeElement(ND.BODY,LD.BODY),e.insertionMode=HM.IN_BODY,hN(e,t)} +function hN(e,t){switch(t.type){case gD.CHARACTER:mN(e,t);break +;case gD.WHITESPACE_CHARACTER:fN(e,t);break;case gD.COMMENT:rN(e,t);break +;case gD.START_TAG:ON(e,t);break;case gD.END_TAG:xN(e,t);break;case gD.EOF: +kN(e,t)}}function fN(e,t){ +e._reconstructActiveFormattingElements(),e._insertCharacters(t)} +function mN(e,t){ +e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1} +function gN(e,t){ +e._reconstructActiveFormattingElements(),e._appendElement(t,CD.HTML), +e.framesetOk=!1,t.ackSelfClosing=!0}function vN(e){const t=bD(e,PD.TYPE) +;return null!=t&&t.toLowerCase()===zM}function bN(e,t){ +e._switchToTextParsing(t,GD.RAWTEXT)}function yN(e,t){ +e._reconstructActiveFormattingElements(),e._insertElement(t,CD.HTML)} +function ON(e,t){switch(t.tagID){case LD.I:case LD.S:case LD.B:case LD.U: +case LD.EM:case LD.TT:case LD.BIG:case LD.CODE:case LD.FONT:case LD.SMALL: +case LD.STRIKE:case LD.STRONG:!function(e,t){ +e._reconstructActiveFormattingElements(), +e._insertElement(t,CD.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t) +}(e,t);break;case LD.A:!function(e,t){ +const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(ND.A) +;n&&(nN(e,t), +e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)), +e._reconstructActiveFormattingElements(), +e._insertElement(t,CD.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t) +}(e,t);break;case LD.H1:case LD.H2:case LD.H3:case LD.H4:case LD.H5:case LD.H6: +!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(),void 0!==e.openElements.currentTagId&&qD.has(e.openElements.currentTagId)&&e.openElements.pop(), +e._insertElement(t,CD.HTML)}(e,t);break;case LD.P:case LD.DL:case LD.OL: +case LD.UL:case LD.DIV:case LD.DIR:case LD.NAV:case LD.MAIN:case LD.MENU: +case LD.ASIDE:case LD.CENTER:case LD.FIGURE:case LD.FOOTER:case LD.HEADER: +case LD.HGROUP:case LD.DIALOG:case LD.DETAILS:case LD.ADDRESS:case LD.ARTICLE: +case LD.SEARCH:case LD.SECTION:case LD.SUMMARY:case LD.FIELDSET: +case LD.BLOCKQUOTE:case LD.FIGCAPTION:!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(), +e._insertElement(t,CD.HTML)}(e,t);break;case LD.LI:case LD.DD:case LD.DT: +!function(e,t){e.framesetOk=!1;const n=t.tagID +;for(let r=e.openElements.stackTop;r>=0;r--){const t=e.openElements.tagIDs[r] +;if(n===LD.LI&&t===LD.LI||(n===LD.DD||n===LD.DT)&&(t===LD.DD||t===LD.DT)){ +e.openElements.generateImpliedEndTagsWithExclusion(t), +e.openElements.popUntilTagNamePopped(t);break} +if(t!==LD.ADDRESS&&t!==LD.DIV&&t!==LD.P&&e._isSpecialElement(e.openElements.items[r],t))break +} +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(),e._insertElement(t,CD.HTML) +}(e,t);break;case LD.BR:case LD.IMG:case LD.WBR:case LD.AREA:case LD.EMBED: +case LD.KEYGEN:gN(e,t);break;case LD.HR:!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(), +e._appendElement(t,CD.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t);break +;case LD.RB:case LD.RTC:!function(e,t){ +e.openElements.hasInScope(LD.RUBY)&&e.openElements.generateImpliedEndTags(), +e._insertElement(t,CD.HTML)}(e,t);break;case LD.RT:case LD.RP:!function(e,t){ +e.openElements.hasInScope(LD.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(LD.RTC), +e._insertElement(t,CD.HTML)}(e,t);break;case LD.PRE:case LD.LISTING: +!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(),e._insertElement(t,CD.HTML), +e.skipNextNewLine=!0,e.framesetOk=!1}(e,t);break;case LD.XMP:!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(), +e._reconstructActiveFormattingElements(), +e.framesetOk=!1,e._switchToTextParsing(t,GD.RAWTEXT)}(e,t);break;case LD.SVG: +!function(e,t){ +e._reconstructActiveFormattingElements(),BM(t),jM(t),t.selfClosing?e._appendElement(t,CD.SVG):e._insertElement(t,CD.SVG), +t.ackSelfClosing=!0}(e,t);break;case LD.HTML:!function(e,t){ +0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs) +}(e,t);break;case LD.BASE:case LD.LINK:case LD.META:case LD.STYLE:case LD.TITLE: +case LD.SCRIPT:case LD.BGSOUND:case LD.BASEFONT:case LD.TEMPLATE:lN(e,t);break +;case LD.BODY:!function(e,t){ +const n=e.openElements.tryPeekProperlyNestedBodyElement() +;n&&0===e.openElements.tmplCount&&(e.framesetOk=!1, +e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t);break;case LD.FORM: +!function(e,t){const n=e.openElements.tmplCount>0 +;e.formElement&&!n||(e.openElements.hasInButtonScope(LD.P)&&e._closePElement(), +e._insertElement(t,CD.HTML),n||(e.formElement=e.openElements.current))}(e,t) +;break;case LD.NOBR:!function(e,t){ +e._reconstructActiveFormattingElements(),e.openElements.hasInScope(LD.NOBR)&&(nN(e,t), +e._reconstructActiveFormattingElements()), +e._insertElement(t,CD.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t) +}(e,t);break;case LD.MATH:!function(e,t){ +e._reconstructActiveFormattingElements(), +LM(t),jM(t),t.selfClosing?e._appendElement(t,CD.MATHML):e._insertElement(t,CD.MATHML), +t.ackSelfClosing=!0}(e,t);break;case LD.TABLE:!function(e,t){ +e.treeAdapter.getDocumentMode(e.document)!==DD.QUIRKS&&e.openElements.hasInButtonScope(LD.P)&&e._closePElement(), +e._insertElement(t,CD.HTML),e.framesetOk=!1,e.insertionMode=HM.IN_TABLE}(e,t) +;break;case LD.INPUT:!function(e,t){ +e._reconstructActiveFormattingElements(),e._appendElement(t,CD.HTML), +vN(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t);break;case LD.PARAM: +case LD.TRACK:case LD.SOURCE:!function(e,t){ +e._appendElement(t,CD.HTML),t.ackSelfClosing=!0}(e,t);break;case LD.IMAGE: +!function(e,t){t.tagName=ND.IMG,t.tagID=LD.IMG,gN(e,t)}(e,t);break +;case LD.BUTTON:!function(e,t){ +e.openElements.hasInScope(LD.BUTTON)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(LD.BUTTON)), +e._reconstructActiveFormattingElements(), +e._insertElement(t,CD.HTML),e.framesetOk=!1}(e,t);break;case LD.APPLET: +case LD.OBJECT:case LD.MARQUEE:!function(e,t){ +e._reconstructActiveFormattingElements(), +e._insertElement(t,CD.HTML),e.activeFormattingElements.insertMarker(), +e.framesetOk=!1}(e,t);break;case LD.IFRAME:!function(e,t){ +e.framesetOk=!1,e._switchToTextParsing(t,GD.RAWTEXT)}(e,t);break;case LD.SELECT: +!function(e,t){ +e._reconstructActiveFormattingElements(),e._insertElement(t,CD.HTML), +e.framesetOk=!1, +e.insertionMode=e.insertionMode===HM.IN_TABLE||e.insertionMode===HM.IN_CAPTION||e.insertionMode===HM.IN_TABLE_BODY||e.insertionMode===HM.IN_ROW||e.insertionMode===HM.IN_CELL?HM.IN_SELECT_IN_TABLE:HM.IN_SELECT +}(e,t);break;case LD.OPTION:case LD.OPTGROUP:!function(e,t){ +e.openElements.currentTagId===LD.OPTION&&e.openElements.pop(), +e._reconstructActiveFormattingElements(),e._insertElement(t,CD.HTML)}(e,t);break +;case LD.NOEMBED:case LD.NOFRAMES:bN(e,t);break;case LD.FRAMESET:!function(e,t){ +const n=e.openElements.tryPeekProperlyNestedBodyElement() +;e.framesetOk&&n&&(e.treeAdapter.detachNode(n), +e.openElements.popAllUpToHtmlElement(), +e._insertElement(t,CD.HTML),e.insertionMode=HM.IN_FRAMESET)}(e,t);break +;case LD.TEXTAREA:!function(e,t){ +e._insertElement(t,CD.HTML),e.skipNextNewLine=!0, +e.tokenizer.state=GD.RCDATA,e.originalInsertionMode=e.insertionMode, +e.framesetOk=!1,e.insertionMode=HM.TEXT}(e,t);break;case LD.NOSCRIPT: +e.options.scriptingEnabled?bN(e,t):yN(e,t);break;case LD.PLAINTEXT: +!function(e,t){ +e.openElements.hasInButtonScope(LD.P)&&e._closePElement(),e._insertElement(t,CD.HTML), +e.tokenizer.state=GD.PLAINTEXT}(e,t);break;case LD.COL:case LD.TH:case LD.TD: +case LD.TR:case LD.HEAD:case LD.FRAME:case LD.TBODY:case LD.TFOOT:case LD.THEAD: +case LD.CAPTION:case LD.COLGROUP:break;default:yN(e,t)}}function wN(e,t){ +const n=t.tagName,r=t.tagID;for(let a=e.openElements.stackTop;a>0;a--){ +const t=e.openElements.items[a],o=e.openElements.tagIDs[a] +;if(r===o&&(r!==LD.UNKNOWN||e.treeAdapter.getTagName(t)===n)){ +e.openElements.generateImpliedEndTagsWithExclusion(r), +e.openElements.stackTop>=a&&e.openElements.shortenToLength(a);break} +if(e._isSpecialElement(t,o))break}}function xN(e,t){switch(t.tagID){case LD.A: +case LD.B:case LD.I:case LD.S:case LD.U:case LD.EM:case LD.TT:case LD.BIG: +case LD.CODE:case LD.FONT:case LD.NOBR:case LD.SMALL:case LD.STRIKE: +case LD.STRONG:nN(e,t);break;case LD.P:!function(e){ +e.openElements.hasInButtonScope(LD.P)||e._insertFakeElement(ND.P,LD.P), +e._closePElement()}(e);break;case LD.DL:case LD.UL:case LD.OL:case LD.DIR: +case LD.DIV:case LD.NAV:case LD.PRE:case LD.MAIN:case LD.MENU:case LD.ASIDE: +case LD.BUTTON:case LD.CENTER:case LD.FIGURE:case LD.FOOTER:case LD.HEADER: +case LD.HGROUP:case LD.DIALOG:case LD.ADDRESS:case LD.ARTICLE:case LD.DETAILS: +case LD.SEARCH:case LD.SECTION:case LD.SUMMARY:case LD.LISTING:case LD.FIELDSET: +case LD.BLOCKQUOTE:case LD.FIGCAPTION:!function(e,t){const n=t.tagID +;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(n))}(e,t);break;case LD.LI:!function(e){ +e.openElements.hasInListItemScope(LD.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(LD.LI), +e.openElements.popUntilTagNamePopped(LD.LI))}(e);break;case LD.DD:case LD.DT: +!function(e,t){const n=t.tagID +;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n), +e.openElements.popUntilTagNamePopped(n))}(e,t);break;case LD.H1:case LD.H2: +case LD.H3:case LD.H4:case LD.H5:case LD.H6:!function(e){ +e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilNumberedHeaderPopped())}(e);break;case LD.BR: +!function(e){ +e._reconstructActiveFormattingElements(),e._insertFakeElement(ND.BR,LD.BR), +e.openElements.pop(),e.framesetOk=!1}(e);break;case LD.BODY:!function(e,t){ +if(e.openElements.hasInScope(LD.BODY)&&(e.insertionMode=HM.AFTER_BODY, +e.options.sourceCodeLocationInfo)){ +const n=e.openElements.tryPeekProperlyNestedBodyElement() +;n&&e._setEndLocation(n,t)}}(e,t);break;case LD.HTML:!function(e,t){ +e.openElements.hasInScope(LD.BODY)&&(e.insertionMode=HM.AFTER_BODY,zN(e,t)) +}(e,t);break;case LD.FORM:!function(e){ +const t=e.openElements.tmplCount>0,{formElement:n}=e +;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(LD.FORM)&&(e.openElements.generateImpliedEndTags(), +t?e.openElements.popUntilTagNamePopped(LD.FORM):n&&e.openElements.remove(n))}(e) +;break;case LD.APPLET:case LD.OBJECT:case LD.MARQUEE:!function(e,t){ +const n=t.tagID +;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(), +e.openElements.popUntilTagNamePopped(n), +e.activeFormattingElements.clearToLastMarker())}(e,t);break;case LD.TEMPLATE: +cN(e,t);break;default:wN(e,t)}}function kN(e,t){ +e.tmplInsertionModeStack.length>0?UN(e,t):aN(e,t)}function SN(e,t){ +if(void 0!==e.openElements.currentTagId&&qM.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0, +e.hasNonWhitespacePendingCharacterToken=!1, +e.originalInsertionMode=e.insertionMode, +e.insertionMode=HM.IN_TABLE_TEXT,t.type){case gD.CHARACTER:CN(e,t);break +;case gD.WHITESPACE_CHARACTER:EN(e,t)}else TN(e,t)}function _N(e,t){ +switch(t.tagID){case LD.TD:case LD.TH:case LD.TR:!function(e,t){ +e.openElements.clearBackToTableContext(), +e._insertFakeElement(ND.TBODY,LD.TBODY),e.insertionMode=HM.IN_TABLE_BODY,MN(e,t) +}(e,t);break;case LD.STYLE:case LD.SCRIPT:case LD.TEMPLATE:lN(e,t);break +;case LD.COL:!function(e,t){ +e.openElements.clearBackToTableContext(),e._insertFakeElement(ND.COLGROUP,LD.COLGROUP), +e.insertionMode=HM.IN_COLUMN_GROUP,IN(e,t)}(e,t);break;case LD.FORM: +!function(e,t){ +e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,CD.HTML), +e.formElement=e.openElements.current,e.openElements.pop())}(e,t);break +;case LD.TABLE:!function(e,t){ +e.openElements.hasInTableScope(LD.TABLE)&&(e.openElements.popUntilTagNamePopped(LD.TABLE), +e._resetInsertionMode(),e._processStartTag(t))}(e,t);break;case LD.TBODY: +case LD.TFOOT:case LD.THEAD:!function(e,t){ +e.openElements.clearBackToTableContext(), +e._insertElement(t,CD.HTML),e.insertionMode=HM.IN_TABLE_BODY}(e,t);break +;case LD.INPUT:!function(e,t){ +vN(t)?e._appendElement(t,CD.HTML):TN(e,t),t.ackSelfClosing=!0}(e,t);break +;case LD.CAPTION:!function(e,t){ +e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(), +e._insertElement(t,CD.HTML),e.insertionMode=HM.IN_CAPTION}(e,t);break +;case LD.COLGROUP:!function(e,t){ +e.openElements.clearBackToTableContext(),e._insertElement(t,CD.HTML), +e.insertionMode=HM.IN_COLUMN_GROUP}(e,t);break;default:TN(e,t)}} +function AN(e,t){switch(t.tagID){case LD.TABLE: +e.openElements.hasInTableScope(LD.TABLE)&&(e.openElements.popUntilTagNamePopped(LD.TABLE), +e._resetInsertionMode());break;case LD.TEMPLATE:cN(e,t);break;case LD.BODY: +case LD.CAPTION:case LD.COL:case LD.COLGROUP:case LD.HTML:case LD.TBODY: +case LD.TD:case LD.TFOOT:case LD.TH:case LD.THEAD:case LD.TR:break;default: +TN(e,t)}}function TN(e,t){const n=e.fosterParentingEnabled +;e.fosterParentingEnabled=!0,hN(e,t),e.fosterParentingEnabled=n} +function EN(e,t){e.pendingCharacterTokens.push(t)}function CN(e,t){ +e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0} +function $N(e,t){let n=0 +;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===LD.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===LD.OPTGROUP&&e.openElements.pop(), +e.openElements.currentTagId===LD.OPTGROUP&&e.openElements.pop();break +;case LD.OPTION:e.openElements.currentTagId===LD.OPTION&&e.openElements.pop() +;break;case LD.SELECT: +e.openElements.hasInSelectScope(LD.SELECT)&&(e.openElements.popUntilTagNamePopped(LD.SELECT), +e._resetInsertionMode());break;case LD.TEMPLATE:cN(e,t)}}function UN(e,t){ +e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(LD.TEMPLATE), +e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(), +e._resetInsertionMode(),e.onEof(t)):aN(e,t)}function zN(e,t){var n +;if(t.tagID===LD.HTML){ +if(e.fragmentContext||(e.insertionMode=HM.AFTER_AFTER_BODY), +e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===LD.HTML){ +e._setEndLocation(e.openElements.items[0],t);const r=e.openElements.items[1] +;r&&!(null===(n=e.treeAdapter.getNodeSourceCodeLocation(r))||void 0===n?void 0:n.endTag)&&e._setEndLocation(r,t) +}}else ZN(e,t)}function ZN(e,t){e.insertionMode=HM.IN_BODY,hN(e,t)} +function FN(e,t){e.insertionMode=HM.IN_BODY,hN(e,t)}function HN(e){ +for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==CD.HTML&&void 0!==e.openElements.currentTagId&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop() +}function QN(e,t){return XM.parse(e,t)}function VN(e,t,n){ +"string"==typeof e&&(n=t,t=e,e=null);const r=XM.getFragmentParser(e,n) +;return r.tokenizer.write(t,!0),r.getFragment()}function qN(e){ +return e&&"object"==typeof e?"position"in e||"type"in e?XN(e.position):"start"in e||"end"in e?XN(e):"line"in e||"column"in e?WN(e):"":"" +}function WN(e){return GN(e&&e.line)+":"+GN(e&&e.column)}function XN(e){ +return WN(e&&e.start)+"-"+WN(e&&e.end)}function GN(e){ +return e&&"number"==typeof e?e:1} +ND.AREA,ND.BASE,ND.BASEFONT,ND.BGSOUND,ND.BR,ND.COL, +ND.EMBED,ND.FRAME,ND.HR,ND.IMG, +ND.INPUT,ND.KEYGEN,ND.LINK,ND.META,ND.PARAM,ND.SOURCE,ND.TRACK,ND.WBR +;class YN extends Error{constructor(e,t,n){ +super(),"string"==typeof t&&(n=t,t=void 0);let r="",a={},o=!1 +;if(t&&(a="line"in t&&"column"in t||"start"in t&&"end"in t?{place:t +}:"type"in t?{ancestors:[t],place:t.position}:{...t +}),"string"==typeof e?r=e:!a.cause&&e&&(o=!0, +r=e.message,a.cause=e),!a.ruleId&&!a.source&&"string"==typeof n){ +const e=n.indexOf(":") +;-1===e?a.ruleId=n:(a.source=n.slice(0,e),a.ruleId=n.slice(e+1))} +if(!a.place&&a.ancestors&&a.ancestors){const e=a.ancestors[a.ancestors.length-1] +;e&&(a.place=e.position)} +const i=a.place&&"start"in a.place?a.place.start:a.place +;this.ancestors=a.ancestors||void 0, +this.cause=a.cause||void 0,this.column=i?i.column:void 0, +this.fatal=void 0,this.file, +this.message=r,this.line=i?i.line:void 0,this.name=qN(a.place)||"1:1", +this.place=a.place||void 0, +this.reason=this.message,this.ruleId=a.ruleId||void 0, +this.source=a.source||void 0, +this.stack=o&&a.cause&&"string"==typeof a.cause.stack?a.cause.stack:"", +this.actual,this.expected,this.note,this.url}} +YN.prototype.file="",YN.prototype.name="", +YN.prototype.reason="",YN.prototype.message="", +YN.prototype.stack="",YN.prototype.column=void 0, +YN.prototype.line=void 0,YN.prototype.ancestors=void 0, +YN.prototype.cause=void 0, +YN.prototype.fatal=void 0,YN.prototype.place=void 0,YN.prototype.ruleId=void 0, +YN.prototype.source=void 0;const KN={basename:function(e,t){ +if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string') +;JN(e);let n,r=0,a=-1,o=e.length +;if(void 0===t||0===t.length||t.length>e.length){ +for(;o--;)if(47===e.codePointAt(o)){if(n){r=o+1;break}}else a<0&&(n=!0,a=o+1) +;return a<0?"":e.slice(r,a)}if(t===e)return"";let i=-1,s=t.length-1 +;for(;o--;)if(47===e.codePointAt(o)){if(n){r=o+1;break} +}else i<0&&(n=!0,i=o+1),s>-1&&(e.codePointAt(o)===t.codePointAt(s--)?s<0&&(a=o):(s=-1, +a=i));r===a?a=i:a<0&&(a=e.length);return e.slice(r,a)},dirname:function(e){ +if(JN(e),0===e.length)return".";let t,n=-1,r=e.length +;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0) +;return n<0?47===e.codePointAt(0)?"/":".":1===n&&47===e.codePointAt(0)?"//":e.slice(0,n) +},extname:function(e){JN(e);let t,n=e.length,r=-1,a=0,o=-1,i=0;for(;n--;){ +const s=e.codePointAt(n) +;if(47!==s)r<0&&(t=!0,r=n+1),46===s?o<0?o=n:1!==i&&(i=1):o>-1&&(i=-1);else if(t){ +a=n+1;break}}if(o<0||r<0||0===i||1===i&&o===r-1&&o===a+1)return"" +;return e.slice(o,r)},join:function(...e){let t,n=-1 +;for(;++n2){ +if(r=a.lastIndexOf("/"),r!==a.length-1){ +r<0?(a="",o=0):(a=a.slice(0,r),o=a.length-1-a.lastIndexOf("/")),i=l,s=0;continue +}}else if(a.length>0){a="",o=0,i=l,s=0;continue} +t&&(a=a.length>0?a+"/..":"..",o=2) +}else a.length>0?a+="/"+e.slice(i+1,l):a=e.slice(i+1,l),o=l-i-1;i=l,s=0 +}else 46===n&&s>-1?s++:s=-1}return a}(e,!t);0!==n.length||t||(n=".") +;n.length>0&&47===e.codePointAt(e.length-1)&&(n+="/");return t?"/"+n:n}(t)}, +sep:"/"};function JN(e){ +if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e)) +}const eR={cwd:function(){return"/"}};function tR(e){ +return Boolean(null!==e&&"object"==typeof e&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&void 0===e.auth) +}function nR(e){if("string"==typeof e)e=new URL(e);else if(!tR(e)){ +const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`") +;throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){ +const e=new TypeError("The URL must be of scheme file") +;throw e.code="ERR_INVALID_URL_SCHEME",e}return function(e){if(""!==e.hostname){ +const e=new TypeError('File URL host must be "localhost" or empty on darwin') +;throw e.code="ERR_INVALID_FILE_URL_HOST",e}const t=e.pathname;let n=-1 +;for(;++n`", +url:!1},abruptClosingOfEmptyComment:{ +reason:"Unexpected abruptly closed empty comment", +description:"Unexpected `>` or `->`. Expected `--\x3e` to close comments"}, +abruptDoctypePublicIdentifier:{ +reason:"Unexpected abruptly closed public identifier", +description:"Unexpected `>`. Expected a closing `\"` or `'` after the public identifier" +},abruptDoctypeSystemIdentifier:{ +reason:"Unexpected abruptly closed system identifier", +description:"Unexpected `>`. Expected a closing `\"` or `'` after the identifier identifier" +},absenceOfDigitsInNumericCharacterReference:{ +reason:"Unexpected non-digit at start of numeric character reference", +description:"Unexpected `%c`. Expected `[0-9]` for decimal references or `[0-9a-fA-F]` for hexadecimal references" +},cdataInHtmlContent:{reason:"Unexpected CDATA section in HTML", +description:"Unexpected `` in ``", +description:"Unexpected text character `%c`. Only use text in `