Repository: sebadob/rauthy (language: rust)

Issue:
UI Migration + Prettify
This issue will keep track of the UI migration to Svelte 5 and making it prettier at the same time.

The current UI setup is a few years old and has some issues regarding DX and maintenance, as well as some CSS problems, accessibility is missing in lots of places, does not provide light / dark mode (tricky in combination with client branding), and uses a pretty complicated setup for i18n.

All of this will be solved and the work will be split into multiple PRs:

- [x] migrate everything to Svelte 5 (deps + syntax + features)
    - [x] first step: make it work again with Svelte5 while using partially legacy syntax and function
    - [x] migrate everything from JS to TS (where it makes sense)
    - [x] re-create a new Svelte5 + TS version of each component in a separate folder  
    - [x] delete old style components and make sure no errors are thrown during compilation
    - [x] move the new Svelte5 components into the original place after all dependencies have been migrated
    - [x] finalize: get rid of all left-over legacy functions everywhere
    - [x] set `runes: true` for the svelte compiler to be 100% sure that all legacy code has been migrated
- [x] change the way theming / branding is done and provide light + dark mode possibilities - the tricky part here is the branding  of the login page which is individual for each client
    - [x] create new theming backend with DB migrations, endpoints, caching, pre-compression
    - [x] include the new theme in the UI and always preload the stylesheets
    - [x] create a new component to modify custom themes
    - [x] make it possible to manually override system prefs for theming
- [x] create a new structure for API communication in a type-safe way
- [x] simplify the i18n setup to make it easier to understand
- [x] improve accessibility
    - [x] improve automatic focus and event handling in many situations
    - [x] update all components to use proper `aria` labels and other things for screenreaders
- [x] improve performance and efficiency
    - [x] move global CSS out of inline-style in each doc into cacheable, pre-compressed external css
    - [x] move all static HTML serving endpoints into a separate module and implement dynamic compression + caching
- [ ] prettify the UI
    - [x] build a new Nav + SubNav for the Admin UI to make it fully responsive even down to mobile
    - [ ] improve visuals and make it prettier
- [ ] get a better logo which makes it easier to identify the Rauthy tab in browsers
- [x] fix #672 during the migration
- [x] Migrate the templating engine from `askama` to `rinja`


Discussion / hints:

Fix patch:
diff --git a/dev_notes.md b/dev_notes.md
index 69aae602..3920f248 100644
--- a/dev_notes.md
+++ b/dev_notes.md
@@ -8,6 +8,7 @@
 - `t.authorize.expectingPasskey`
 - `t.authorize.orLoginWith`
 - `t.authorize.requestExpired`
+- `t.authorize.validEmail`
 - `t.common.close`
 - `t.common.changeTheme`
 - `t.common.details`
diff --git a/frontend/src/api/fetch.ts b/frontend/src/api/fetch.ts
index 6feb1826..b0dc2f9e 100644
--- a/frontend/src/api/fetch.ts
+++ b/frontend/src/api/fetch.ts
@@ -34,19 +34,24 @@ function buildHeaders(
     return headers;
 }
 
-export async function fetchGet<T>(uri: string, typ: 'json' | 'form' = 'json', cache: RequestCache = 'default'): Promise<IResponse<T>> {
-    return fetchWithoutBody('GET', uri, typ, cache);
+export async function fetchGet<T>(
+    uri: string,
+    typ: 'json' | 'form' = 'json',
+    redirect: 'handle401' | 'noRedirect' = 'handle401',
+): Promise<IResponse<T>> {
+    return fetchWithoutBody('GET', uri, typ, redirect);
 }
 
 export async function fetchPost<T>(
     uri: string,
     payload?: Object,
     typ: 'json' | 'form' = 'json',
+    redirect: 'handle401' | 'noRedirect' = 'handle401',
 ): Promise<IResponse<T>> {
     if (payload) {
-        return fetchWithBody('POST', uri, typ, payload);
+        return fetchWithBody('POST', uri, typ, redirect, payload);
     } else {
-        return fetchWithoutBody('POST', uri, typ);
+        return fetchWithoutBody('POST', uri, typ, redirect);
     }
 }
 
@@ -72,11 +77,12 @@ export async function fetchPut<T>(
     uri: string,
     payload?: Object,
     typ: 'json' | 'form' = 'json',
+    redirect: 'handle401' | 'noRedirect' = 'handle401',
 ): Promise<IResponse<T>> {
     if (payload) {
-        return fetchWithBody('PUT', uri, typ, payload);
+        return fetchWithBody('PUT', uri, typ, redirect, payload);
     } else {
-        return fetchWithoutBody('PUT', uri, typ);
+        return fetchWithoutBody('PUT', uri, typ, redirect);
     }
 }
 
@@ -84,11 +90,12 @@ export async function fetchDelete<T>(
     uri: string,
     body?: Object,
     typ: 'json' | 'form' = 'json',
+    redirect: 'handle401' | 'noRedirect' = 'handle401',
 ): Promise<IResponse<T>> {
     if (body) {
-        return await fetchWithBody('DELETE', uri, typ, body);
+        return await fetchWithBody('DELETE', uri, typ, redirect, body);
     } else {
-        return await fetchWithoutBody('DELETE', uri, typ);
+        return await fetchWithoutBody('DELETE', uri, typ, redirect);
     }
 }
 
@@ -96,21 +103,21 @@ async function fetchWithoutBody<T>(
     method: 'GET' | 'POST' | 'PUT' | 'DELETE',
     uri: string,
     typ: 'json' | 'form',
-    cache?: RequestCache,
+    redirect: 'handle401' | 'noRedirect',
 ): Promise<IResponse<T>> {
     let res = await fetch(uri, {
         method,
         headers: buildHeaders(method, typ),
         redirect: 'manual',
-        cache,
     });
-    return await handleResponse(res, true);
+    return await handleResponse(res, redirect);
 }
 
 async function fetchWithBody<T>(
     method: 'GET' | 'POST' | 'PUT' | 'DELETE',
     uri: string,
     typ: 'json' | 'form',
+    redirect: 'handle401' | 'noRedirect',
     payload: Object | FormData,
 ): Promise<IResponse<T>> {
     let body;
@@ -126,7 +133,7 @@ async function fetchWithBody<T>(
         redirect: 'manual',
         body,
     });
-    return handleResponse(res, true);
+    return handleResponse(res, redirect);
 }
 
 export function formDataFromObj(obj: Object) {
@@ -144,8 +151,8 @@ export function formDataFromObj(obj: Object) {
     return fd;
 }
 
-export async function handleResponse<T>(res: Response, redirect401: boolean): Promise<IResponse<T>> {
-    if (redirect401 && res.status === 401) {
+export async function handleResponse<T>(res: Response, redirect: 'handle401' | 'noRedirect',): Promise<IResponse<T>> {
+    if (redirect === 'handle401' && res.status === 401) {
         window.location.reload();
     }
 
@@ -192,5 +199,5 @@ export async function uploadFile<T>(method: 'POST' | 'PUT', url: string, file: F
         },
         body: formData,
     });
-    return handleResponse(res, true);
+    return handleResponse(res, 'handle401');
 }
\ No newline at end of file
diff --git a/frontend/src/i18n/common/de.ts b/frontend/src/i18n/common/de.ts
index 2c90a357..eddf3c14 100644
--- a/frontend/src/i18n/common/de.ts
+++ b/frontend/src/i18n/common/de.ts
@@ -133,7 +133,8 @@ export const I18nDe: I18n = {
         passwordRequired: "Password ist notwendig",
         requestExpires: "Anfrage läuft ab",
         requestExpired: "Anfrage ist abgelaufen",
-        signUp: "Benutzer Registrierung"
+        signUp: "Benutzer Registrierung",
+        validEmail: "Gültige E-Mail Adresse",
     },
     device: {
         accept: "Akzeptieren",
diff --git a/frontend/src/i18n/common/en.ts b/frontend/src/i18n/common/en.ts
index 8313479c..3230f2cf 100644
--- a/frontend/src/i18n/common/en.ts
+++ b/frontend/src/i18n/common/en.ts
@@ -133,7 +133,8 @@ export const I18nEn: I18n = {
         passwordRequired: "Password is required",
         requestExpires: "Request expires",
         requestExpired: "Request has expired",
-        signUp: "User Registration"
+        signUp: "User Registration",
+        validEmail: "Valid E-Mail Address",
     },
     device: {
         accept: "Accept",
diff --git a/frontend/src/i18n/common/interface.ts b/frontend/src/i18n/common/interface.ts
index a3217bc1..dbebb9c8 100644
--- a/frontend/src/i18n/common/interface.ts
+++ b/frontend/src/i18n/common/interface.ts
@@ -115,6 +115,7 @@ export interface I18n {
         requestExpires: string,
         requestExpired: string,
         signUp: string,
+        validEmail: string,
     },
     device: {
         accept: string,
diff --git a/frontend/src/i18n/common/ko.ts b/frontend/src/i18n/common/ko.ts
index b2adfd9f..8984a82d 100644
--- a/frontend/src/i18n/common/ko.ts
+++ b/frontend/src/i18n/common/ko.ts
@@ -133,7 +133,8 @@ export const I18nKo: I18n = {
         passwordRequired: "비밀번호는 필요합니다.",
         requestExpires: "요청 만료일",
         requestExpired: "Request has expired",
-        signUp: "사용자 가입"
+        signUp: "사용자 가입",
+        validEmail: "Valid E-Mail Address",
     },
     device: {
         accept: "수락",
diff --git a/frontend/src/i18n/common/zh.ts b/frontend/src/i18n/common/zh.ts
index 4c539548..2063d31e 100644
--- a/frontend/src/i18n/common/zh.ts
+++ b/frontend/src/i18n/common/zh.ts
@@ -133,7 +133,8 @@ export const I18nZh: I18n = {
         passwordRequired: "密码必填。",
         requestExpires: "请求过期",
         requestExpired: "Request has expired",
-        signUp: "用户注册"
+        signUp: "用户注册",
+        validEmail: "Valid E-Mail Address",
     },
     device: {
         accept: "接受",
diff --git a/frontend/src/lib/ClientLogo.svelte b/frontend/src/lib/ClientLogo.svelte
index ab93b638..04bee4d2 100644
--- a/frontend/src/lib/ClientLogo.svelte
+++ b/frontend/src/lib/ClientLogo.svelte
@@ -4,8 +4,6 @@
     }: {
         clientId: string,
     } = $props();
-
-    console.log('rendering clientLogo');
 </script>
 
 <div class="logo">
diff --git a/frontend/src/lib/account/AccMain.svelte b/frontend/src/lib/account/AccMain.svelte
index 730b9a9d..e133573c 100644
--- a/frontend/src/lib/account/AccMain.svelte
+++ b/frontend/src/lib/account/AccMain.svelte
@@ -98,7 +98,7 @@
                 {:else if selected === 'WebID'}
                     <AccWebId bind:webIdData/>
                 {:else if selected === t.account.devices}
-                    <Devices viewMode="account"/>
+                    <Devices userId={user.id}/>
                 {/if}
             </div>
         </div>
diff --git a/frontend/src/lib/admin/clients/ClientConfig.svelte b/frontend/src/lib/admin/clients/ClientConfig.svelte
index c0b9a884..9f456d03 100644
--- a/frontend/src/lib/admin/clients/ClientConfig.svelte
+++ b/frontend/src/lib/admin/clients/ClientConfig.svelte
@@ -179,8 +179,6 @@
             }
         }
 
-        console.log('payload', payload);
-
         let res = await fetchPut(form.action, payload);
         if (res.error) {
             err = res.error.message;
diff --git a/frontend/src/lib/admin/clients/branding/BrandingMode.svelte b/frontend/src/lib/admin/clients/branding/BrandingMode.svelte
index 9c03215d..cf39af11 100644
--- a/frontend/src/lib/admin/clients/branding/BrandingMode.svelte
+++ b/frontend/src/lib/admin/clients/branding/BrandingMode.svelte
@@ -6,10 +6,8 @@
 
     let {
         values = $bindable(),
-        inputWidth,
     }: {
         values: ThemeCss,
-        inputWidth: string,
     } = $props();
 
     let ta = useI18nAdmin();
@@ -73,17 +71,14 @@
         <HSLInputText
                 label="--btn-text"
                 bind:value={values.btn_text}
-                {inputWidth}
         />
         <HSLInputText
                 label="--theme-sun"
                 bind:value={values.theme_sun}
-                {inputWidth}
         />
         <HSLInputText
                 label="--theme-moon"
                 bind:value={values.theme_moon}
-                {inputWidth}
         />
     </div>
 </div>
diff --git a/frontend/src/lib/admin/clients/branding/ClientBranding.svelte b/frontend/src/lib/admin/clients/branding/ClientBranding.svelte
index 4fd429ef..eb81d26d 100644
--- a/frontend/src/lib/admin/clients/branding/ClientBranding.svelte
+++ b/frontend/src/lib/admin/clients/branding/ClientBranding.svelte
@@ -33,7 +33,6 @@
     let logoKey = $state(genKey());
     let logoUrl = $derived(`/auth/v1/clients/${client.id}/logo?${logoKey}`);
     let url = $derived(`/auth/v1/theme/${client.id}`);
-    let isDev = $derived(useIsDev().get());
 
     $effect(() => {
         fetchTheme();
@@ -41,7 +40,6 @@
 
     async function fetchTheme() {
         let res = await fetchPost<ThemeRequestResponse>(url);
-        // let res = await fetchGet(`/auth/v1/theme/${client.id}`, 'json', 'reload');
         if (res.body) {
             if (res.body.client_id === 'rauthy') {
                 console.log('using Rauthy default scheme');
@@ -109,11 +107,11 @@
                 />
 
                 <h1>Light Theme</h1>
-                <BrandingMode bind:values={theme.light} {inputWidth}/>
+                <BrandingMode bind:values={theme.light}/>
 
                 <br>
                 <h1>Dark Theme</h1>
-                <BrandingMode bind:values={theme.dark} {inputWidth}/>
+                <BrandingMode bind:values={theme.dark}/>
             </div>
             <div class="preview">
                 {#key logoKey}
diff --git a/frontend/src/lib/admin/clients/branding/HSLInputText.svelte b/frontend/src/lib/admin/clients/branding/HSLInputText.svelte
index 1b531657..a00a6ab0 100644
--- a/frontend/src/lib/admin/clients/branding/HSLInputText.svelte
+++ b/frontend/src/lib/admin/clients/branding/HSLInputText.svelte
@@ -6,11 +6,9 @@
     let {
         label,
         value = $bindable(),
-        inputWidth,
     }: {
         label: string,
         value: string,
-        inputWidth: string,
     } = $props();
 
     let ta = useI18nAdmin();
@@ -24,7 +22,7 @@
             {label}
             placeholder={label}
             errMsg={ta.validation.css}
-            width={inputWidth}
+            width="17.5rem"
             bind:value
             required
             pattern={PATTERN_CSS_VALUE_LOOSE}
@@ -47,7 +45,7 @@
     }
 
     .container {
-        width: 16rem;
+        width: 20.5rem;
         margin: .5rem 0;
         display: flex;
         border: 1px solid var(--color);
diff --git a/frontend/src/lib/admin/config/EncKeys.svelte b/frontend/src/lib/admin/config/EncKeys.svelte
index 34217a18..4e6440b2 100644
--- a/frontend/src/lib/admin/config/EncKeys.svelte
+++ b/frontend/src/lib/admin/config/EncKeys.svelte
@@ -83,10 +83,14 @@
         bind:value={migrateKey}
 />
 
-<div class="btn">
+<div class="btn flex gap-05">
     <Button onclick={migrate} {isLoading}>
         {ta.docs.encKeys.migrate}
     </Button>
+
+    {#if success}
+        <IconCheck/>
+    {/if}
 </div>
 
 {#if err}
@@ -95,10 +99,6 @@
     </div>
 {/if}
 
-{#if success}
-    <IconCheck/>
-{/if}
-
 <style>
     .active {
         color: hsl(var(--text-high));
diff --git a/frontend/src/lib/admin/config/JWKs.svelte b/frontend/src/lib/admin/config/JWKs.svelte
index abcbd6ec..fdc5453d 100644
--- a/frontend/src/lib/admin/config/JWKs.svelte
+++ b/frontend/src/lib/admin/config/JWKs.svelte
@@ -99,15 +99,15 @@
     </Expandable>
 {/each}
 
-<div class="btn">
+<div class="btn flex gap-05">
     <Button onclick={onSubmit} {isLoading}>
         {ta.jwks.rotateKeys}
     </Button>
-</div>
 
-{#if success}
-    <IconCheck/>
-{/if}
+    {#if success}
+        <IconCheck/>
+    {/if}
+</div>
 
 {#if err}
     <div class="err">
diff --git a/frontend/src/lib/admin/config/PasswordPolicy.svelte b/frontend/src/lib/admin/config/PasswordPolicy.svelte
index f1544d4c..9ca1f846 100644
--- a/frontend/src/lib/admin/config/PasswordPolicy.svelte
+++ b/frontend/src/lib/admin/config/PasswordPolicy.svelte
@@ -7,6 +7,7 @@
     import Form from "$lib5/form/Form.svelte";
     import {useI18nAdmin} from "$state/i18n_admin.svelte.ts";
     import {useI18n} from "$state/i18n.svelte.ts";
+    import IconCheck from "$icons/IconCheck.svelte";
 
     const inputWidth = '160px';
 
@@ -197,15 +198,15 @@
             />
         </div>
 
-        <Button type="submit">
-            {t.common.save}
-        </Button>
+        <div class="flex gap-05">
+            <Button type="submit">
+                {t.common.save}
+            </Button>
 
-        {#if success}
-            <div class="success">
-                Success
-            </div>
-        {/if}
+            {#if success}
+                <IconCheck/>
+            {/if}
+        </div>
 
         {#if err}
             <div class="err">
@@ -219,8 +220,4 @@
     .row {
         display: flex;
     }
-
-    .success {
-        color: hsl(var(--action));
-    }
 </style>
diff --git a/frontend/src/lib/admin/events/Events.svelte b/frontend/src/lib/admin/events/Events.svelte
index e548e526..8c2bd275 100644
--- a/frontend/src/lib/admin/events/Events.svelte
+++ b/frontend/src/lib/admin/events/Events.svelte
@@ -77,11 +77,9 @@
             es?.close();
         }
 
-        console.log('opening SSE stream');
         es = new EventSource(`/auth/v1/events/stream?latest=${latest}&level=${level.toLowerCase()}`);
 
         es.onopen = () => {
-            // console.log('SSE Events Stream opened');
             events = [];
         };
 
diff --git a/frontend/src/lib/admin/scopes/ScopeConfig.svelte b/frontend/src/lib/admin/scopes/ScopeConfig.svelte
index 9a3f064f..38173441 100644
--- a/frontend/src/lib/admin/scopes/ScopeConfig.svelte
+++ b/frontend/src/lib/admin/scopes/ScopeConfig.svelte
@@ -72,7 +72,7 @@
     async function onSubmit(form: HTMLFormElement, params: URLSearchParams) {
         err = '';
 
-        if (isDefaultScope(name) || scopes.find(s => s.name === name)) {
+        if (isDefaultScope(name) || (scope.name !== name && scopes.find(s => s.name === name))) {
             err = ta.common.nameExistsAlready;
             return;
         }
diff --git a/frontend/src/lib/admin/users/UserDetails.svelte b/frontend/src/lib/admin/users/UserDetails.svelte
index 0e6389fb..de5d86ae 100644
--- a/frontend/src/lib/admin/users/UserDetails.svelte
+++ b/frontend/src/lib/admin/users/UserDetails.svelte
@@ -83,7 +83,7 @@
     {:else if selected === tabs[3]}
         <UserMfa {user} {onSave}/>
     {:else if selected === tabs[4]}
-        <Devices viewMode="admin" {userId}/>
+        <Devices {userId}/>
     {:else if selected === tabs[5]}
         <UserForceLogout {userId}/>
     {:else if selected === tabs[6]}
diff --git a/frontend/src/lib/admin/users/UserInfo.svelte b/frontend/src/lib/admin/users/UserInfo.svelte
index d10aa0a9..6f8f2ea0 100644
--- a/frontend/src/lib/admin/users/UserInfo.svelte
+++ b/frontend/src/lib/admin/users/UserInfo.svelte
@@ -134,7 +134,6 @@
             user_expires: expires ? unixTsFromLocalDateTime(expDate, expTime) : undefined,
         };
         if (birthdate || phone || street || zip || city || country) {
-            console.log(birthdate);
             payload.user_values = {
                 birthdate: birthdate || undefined,
                 phone: phone?.replaceAll(' ', '') || undefined,
diff --git a/frontend/src/lib/devices/Devices.svelte b/frontend/src/lib/devices/Devices.svelte
index 5bee064e..959a624b 100644
--- a/frontend/src/lib/devices/Devices.svelte
+++ b/frontend/src/lib/devices/Devices.svelte
@@ -1,17 +1,13 @@
 <script lang="ts">
-    import {onMount} from "svelte";
     import {useI18n} from "$state/i18n.svelte.js";
-    import {useSession} from "$state/session.svelte.js";
     import {fetchGet} from "$api/fetch.ts";
     import type {DeviceResponse} from "$api/types/device.ts";
     import Device from "./Device.svelte";
 
     let {
         userId,
-        viewMode,
     }: {
         userId: string,
-        viewMode: 'admin' | 'account',
     } = $props();
 
     let t = useI18n();
diff --git a/frontend/src/lib/form/Input.svelte b/frontend/src/lib/form/Input.svelte
index 6a19c194..6e00e1d9 100644
--- a/frontend/src/lib/form/Input.svelte
+++ b/frontend/src/lib/form/Input.svelte
@@ -76,8 +76,6 @@
     function oninput(event: Event & { currentTarget: EventTarget & HTMLInputElement }) {
         isValid();
         onInput?.();
-        // console.log('in onInput');
-        // console.log(event);
     }
 
     function oninvalid(event: Event & { currentTarget: EventTarget & HTMLInputElement }) {
diff --git a/frontend/src/lib/form/InputFile.svelte b/frontend/src/lib/form/InputFile.svelte
index dfc0e7fd..a10e3157 100644
--- a/frontend/src/lib/form/InputFile.svelte
+++ b/frontend/src/lib/form/InputFile.svelte
@@ -59,7 +59,6 @@
         isUploading = true;
 
         for (let file of list) {
-            console.log('uploading file', file);
             if (accept && !accept.includes(file.type)) {
                 filesFinished += 1;
                 continue;
diff --git a/frontend/src/lib/pagination/PaginationServerSide.svelte b/frontend/src/lib/pagination/PaginationServerSide.svelte
index 252de8bf..a129ff28 100644
--- a/frontend/src/lib/pagination/PaginationServerSide.svelte
+++ b/frontend/src/lib/pagination/PaginationServerSide.svelte
@@ -95,8 +95,6 @@
 
     function parseHeaders(status: number, headers: Headers) {
         if (status === 206) {
-            // console.log('ssp headers', headers);
-
             // we get a few headers during SSP we can use for the navigation
             let xPageSize = headers.get('x-page-size');
             if (!xPageSize) {
diff --git a/frontend/src/routes/oidc/authorize/+page.svelte b/frontend/src/routes/oidc/authorize/+page.svelte
index 06fc65b3..6ba12820 100644
--- a/frontend/src/routes/oidc/authorize/+page.svelte
+++ b/frontend/src/routes/oidc/authorize/+page.svelte
@@ -135,7 +135,6 @@
 
     async function createSessionDev() {
         let res = await fetchPost<SessionInfoResponse>('/auth/v1/oidc/session');
-        console.log('manual session', res.body);
         if (res.body?.csrf_token) {
             saveCsrfToken(res.body.csrf_token)
         } else {
@@ -221,7 +220,7 @@
             url = '/auth/v1/dev/authorize';
         }
 
-        let res = await fetchPost<undefined | WebauthnLoginResponse>(url, payload);
+        let res = await fetchPost<undefined | WebauthnLoginResponse>(url, payload, 'json', 'noRedirect');
         await handleAuthRes(res);
     }
 
@@ -347,7 +346,6 @@
     }
 
     function onWebauthnSuccess(data?: WebauthnAdditionalData) {
-        console.log('onWebauthnSuccess', data);
         if (data && 'loc' in data) {
             window.location.replace(data.loc as string);
         }
@@ -419,19 +417,22 @@
 
             {#if !clientMfaForce}
                 <Form action={authorizeUrl} {onSubmit}>
-                    <Input
-                            bind:ref={refEmail}
-                            typ="email"
-                            name="email"
-                            bind:value={email}
-                            autocomplete="email"
-                            label={t.common.email}
-                            placeholder={t.common.email}
-                            disabled={tooManyRequests || clientMfaForce}
-                            onInput={onEmailInput}
-                            width={inputWidth}
-                            required
-                    />
+                    <div class="email">
+                        <Input
+                                bind:ref={refEmail}
+                                typ="email"
+                                name="email"
+                                bind:value={email}
+                                autocomplete="email"
+                                label={t.common.email}
+                                placeholder={t.common.email}
+                                errMsg={t.authorize.validEmail}
+                                disabled={tooManyRequests || clientMfaForce}
+                                onInput={onEmailInput}
+                                width={inputWidth}
+                                required
+                        />
+                    </div>
 
                     {#if needsPassword && existingMfaUser !== email && !showReset}
                         <InputPassword
@@ -506,7 +507,7 @@
                 </div>
             {/if}
 
-            {#if !clientMfaForce && providers}
+            {#if !clientMfaForce && providers.length > 0}
                 <div class="providers flex-col">
                     <div class="providersSeparator">
                         <div class="separator"></div>
@@ -549,6 +550,10 @@
         box-shadow: .1rem .1rem .1rem rgba(128, 128, 128, .1);
     }
 
+    .email {
+        min-height: 4.7rem;
+    }
+
     .errMsg {
         margin: .5rem 0;
         max-width: 18rem;
@@ -575,10 +580,6 @@
         cursor: pointer;
     }
 
-    .name {
-        margin: -10px 5px 0 5px;
-    }
-
     .loginWith {
         display: flex;
         justify-content: center;
@@ -592,6 +593,10 @@
         background: hsl(var(--bg));
     }
 
+    .name {
+        margin: -10px 5px 0 5px;
+    }
+
     .providersSeparator {
         margin-top: 1rem;
         margin-bottom: .5rem;
diff --git a/frontend/src/routes/oidc/logout/+page.svelte b/frontend/src/routes/oidc/logout/+page.svelte
index c7104c4a..57494c59 100644
--- a/frontend/src/routes/oidc/logout/+page.svelte
+++ b/frontend/src/routes/oidc/logout/+page.svelte
@@ -52,7 +52,6 @@
         let res = await fetchPost(url, logoutData, 'form');
         purgeStorage();
         let loc = res.headers.get('location');
-        console.log('loc', loc);
         if (loc) {
             window.location.replace(loc);
         } else {
diff --git a/frontend/src/routes/providers/callback/+page.svelte b/frontend/src/routes/providers/callback/+page.svelte
index e6025c6d..7f0bc65e 100644
--- a/frontend/src/routes/providers/callback/+page.svelte
+++ b/frontend/src/routes/providers/callback/+page.svelte
@@ -92,7 +92,6 @@
     }
 
     function onWebauthnSuccess(data?: WebauthnAdditionalData) {
-        console.log('onWebauthnSuccess', data);
         if (data && 'loc' in data) {
             window.location.replace(data.loc as string);
         }
diff --git a/frontend/src/utils/constants.ts b/frontend/src/utils/constants.ts
index 505dc4e2..a0763dfb 100644
--- a/frontend/src/utils/constants.ts
+++ b/frontend/src/utils/constants.ts
@@ -9,7 +9,7 @@ export const AUTH_ENDPOINT = '/auth/v1/oidc/authorize';
 export const CLIENT_ID = 'rauthy';
 export const LOGOUT_URL = '/auth/v1/oidc/logout';
 export const REDIRECT_URI = '/auth/v1/oidc/callback';
-export const REDIRECT_URI_SUCCESS = '/auth/v1/admin';
+export const REDIRECT_URI_SUCCESS = '/auth/v1/admin/users';
 export const REDIRECT_URI_SUCCESS_ACC = '/auth/v1/account';
 export const POST_LOGOUT_REDIRECT_URI = '/auth/v1/';
 
diff --git a/frontend/src/utils/helpers.ts b/frontend/src/utils/helpers.ts
index a0a2d0ad..b5d27f79 100644
--- a/frontend/src/utils/helpers.ts
+++ b/frontend/src/utils/helpers.ts
@@ -48,7 +48,6 @@ export const redirectToLogout = () => {
 };
 
 export const saveCsrfToken = (csrf: string) => {
-    console.log('saving csrf token in local storage', CSRF_TOKEN, csrf);
     localStorage.setItem(CSRF_TOKEN, csrf);
 }
 
diff --git a/src/models/src/html/mod.rs b/src/models/src/html/mod.rs
index 8e213fc3..e5b1f4ff 100644
--- a/src/models/src/html/mod.rs
+++ b/src/models/src/html/mod.rs
@@ -15,6 +15,7 @@ use rauthy_common::constants::HEADER_HTML;
 use rauthy_error::ErrorResponse;
 use serde::Deserialize;
 use templates::AdminDocsHtml;
+use tracing::debug;
 
 pub mod templates;
 
@@ -83,6 +84,7 @@ impl HtmlCached {
     }
 
     /// Handles the request and builds a full `HttpResponse` with compression and caching.
+    #[tracing::instrument(level = "debug", skip(req, theme_ts, with_cache))]
     pub async fn handle(
         self,
         req: HttpRequest,
@@ -101,8 +103,10 @@ impl HtmlCached {
         } else {
             "none"
         };
+        debug!("encoding: {}", encoding);
 
         let lang = Language::try_from(&req).unwrap_or_default();
+        debug!("lang: {}", lang);
         let cache_key = if with_cache {
             if let Some(bytes) = DB::client()
                 .get_bytes(Cache::Html, self.cache_key(&lang, encoding))
@@ -151,8 +155,10 @@ impl HtmlCached {
             "br" => {
                 if with_cache {
                     // it's only worth the extra compute if we actually cache this response
+                    debug!("compress_br_9");
                     compress_br_9(body.as_bytes())?
                 } else {
+                    debug!("compress_br_dyn");
                     compress_br_dyn(body.as_bytes())?
                 }
             }
@@ -168,8 +174,8 @@ impl HtmlCached {
         }
 
         Ok(HttpResponse::Ok()
-            .insert_header(HEADER_HTML)
             .insert_header(("content-encoding", encoding))
-            .body(body))
+            .insert_header(HEADER_HTML)
+            .body(body_bytes))
     }
 }
diff --git a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css b/static/v1/_app/immutable/assets/10.D68-buT7.css
similarity index 60%
rename from static/v1/_app/immutable/assets/10.Y1ldeHJ8.css
rename to static/v1/_app/immutable/assets/10.D68-buT7.css
index 7013fc1c..e80a7037 100644
--- a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css
+++ b/static/v1/_app/immutable/assets/10.D68-buT7.css
@@ -1,1 +1,1 @@
-datalist.svelte-r5y8pk{display:block}input.svelte-r5y8pk{min-width:3rem;margin:0;padding:0;background:transparent;border:none}input.svelte-r5y8pk:invalid{color:hsl(var(--error))}label.svelte-r5y8pk{color:hsla(var(--text) / .8);margin-left:.25rem}ul.svelte-r5y8pk{padding:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;overflow-y:scroll}li.svelte-r5y8pk{margin:0;padding:0 .25rem 0 .35rem;display:flex;list-style:none;border-radius:var(--border-radius);overflow:clip}.container.svelte-r5y8pk{margin:1rem 0;max-width:100%;padding:.25rem .25rem 0;background:hsla(var(--bg-high) / .2);border:1px solid hsla(var(--bg-high));border-radius:var(--border-radius);cursor:text}.btnClose.svelte-r5y8pk{margin-top:.12rem;margin-bottom:-.5rem}.value.svelte-r5y8pk{background:hsla(var(--accent) / .2);overflow:auto}p.svelte-15tp6i6{line-height:1.25rem;margin-bottom:-.5rem}.container.svelte-15tp6i6{width:min(25rem,100dvw - 1.75rem);min-height:7rem;text-align:left}.desc.svelte-5tvvvt{margin-bottom:-.25rem}.container.svelte-5tvvvt{max-width:467pt}.mb-0.svelte-5tvvvt{margin-bottom:0}.container.svelte-19xcrje{margin:.5rem 0;max-width:467pt}input.svelte-12j8dit{border:none;height:1rem;cursor:pointer;appearance:none}input[type=range].svelte-12j8dit::-webkit-slider-runnable-track,input[type=range].svelte-12j8dit::-moz-range-track{background:var(--bg-slider);height:5px;border-radius:var(--border-radius)}input[type=range].svelte-12j8dit::-webkit-slider-thumb,input[type=range].svelte-12j8dit::-moz-range-thumb{height:1.2rem;width:.66rem;background:hsl(var(--text-high));border:none;border-radius:var(--border-radius)}input[aria-disabled=true].svelte-12j8dit{cursor:not-allowed}input[aria-disabled=true].svelte-12j8dit::-webkit-slider-runnable-track,input[aria-disabled=true].svelte-12j8dit::-moz-range-track{background:hsl(var(--accent))}label.svelte-12j8dit{line-height:1.1rem;font-size:.9rem;color:hsla(var(--text) / .8);flex-wrap:wrap;width:100%;padding:.5rem}.label.svelte-12j8dit{margin-top:-.66rem}.value.svelte-12j8dit{color:hsl(var(--text-high))}label.svelte-1evkwuy{color:hsl(var(--text-high));margin-left:.5rem}.color.svelte-1evkwuy{height:8.5rem;width:3rem;border-radius:0 var(--border-radius) var(--border-radius) 0}.container.svelte-1evkwuy{height:8.5rem;display:flex;gap:.5rem;background:hsla(var(--bg-high) / .2);border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.outer.svelte-1evkwuy{margin:.5rem 0}.values.svelte-1evkwuy{width:17rem;line-height:1rem}input[type=color].svelte-lcwq3j{margin-left:-.6rem;margin-top:-.4rem;height:6rem;width:4.5rem;cursor:pointer}.container.svelte-lcwq3j{width:16rem;margin:.5rem 0;display:flex;border:1px solid var(--color);border-radius:var(--border-radius);overflow:clip}.color.svelte-lcwq3j{position:absolute;top:0;left:0;height:4.8rem;width:3rem;background:var(--color);cursor:pointer}.colorWrapper.svelte-lcwq3j{position:relative}.mask.svelte-lcwq3j{height:4.8rem;width:3rem;overflow:clip}.hsl.svelte-10udpph{display:flex;gap:1rem;flex-wrap:wrap}h3.svelte-fkmn75{color:hsl(var(--text-high))}span.svelte-fkmn75{color:hsl(var(--accent))}.btn.svelte-fkmn75{display:grid;grid-template-columns:1fr 1fr}.btn.svelte-fkmn75>div:where(.svelte-fkmn75){width:5rem;display:flex;flex-direction:column;gap:.25rem}.container.svelte-fkmn75{padding:1rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.inner.svelte-fkmn75{padding:1rem;width:17rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);background:hsl(var(--bg));color:hsl(var(--text))}.logo.svelte-fkmn75{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.preview.svelte-1nlq99j{margin-top:.5rem}.buttons.svelte-1pkqupw{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.container.svelte-1pkqupw{max-height:calc(100dvh - 4.5rem);display:grid;grid-template-columns:1fr 17rem;gap:.5rem}.values.svelte-1pkqupw{max-height:calc(100dvh - 5.5rem);margin-top:1rem;padding-right:.5rem;overflow:auto}@media (max-width: 88rem){.container.svelte-1pkqupw{grid-template-columns:1fr}.values.svelte-1pkqupw{max-height:inherit}}
+datalist.svelte-r5y8pk{display:block}input.svelte-r5y8pk{min-width:3rem;margin:0;padding:0;background:transparent;border:none}input.svelte-r5y8pk:invalid{color:hsl(var(--error))}label.svelte-r5y8pk{color:hsla(var(--text) / .8);margin-left:.25rem}ul.svelte-r5y8pk{padding:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;overflow-y:scroll}li.svelte-r5y8pk{margin:0;padding:0 .25rem 0 .35rem;display:flex;list-style:none;border-radius:var(--border-radius);overflow:clip}.container.svelte-r5y8pk{margin:1rem 0;max-width:100%;padding:.25rem .25rem 0;background:hsla(var(--bg-high) / .2);border:1px solid hsla(var(--bg-high));border-radius:var(--border-radius);cursor:text}.btnClose.svelte-r5y8pk{margin-top:.12rem;margin-bottom:-.5rem}.value.svelte-r5y8pk{background:hsla(var(--accent) / .2);overflow:auto}p.svelte-15tp6i6{line-height:1.25rem;margin-bottom:-.5rem}.container.svelte-15tp6i6{width:min(25rem,100dvw - 1.75rem);min-height:7rem;text-align:left}.desc.svelte-5tvvvt{margin-bottom:-.25rem}.container.svelte-5tvvvt{max-width:467pt}.mb-0.svelte-5tvvvt{margin-bottom:0}.container.svelte-19xcrje{margin:.5rem 0;max-width:467pt}input.svelte-12j8dit{border:none;height:1rem;cursor:pointer;appearance:none}input[type=range].svelte-12j8dit::-webkit-slider-runnable-track,input[type=range].svelte-12j8dit::-moz-range-track{background:var(--bg-slider);height:5px;border-radius:var(--border-radius)}input[type=range].svelte-12j8dit::-webkit-slider-thumb,input[type=range].svelte-12j8dit::-moz-range-thumb{height:1.2rem;width:.66rem;background:hsl(var(--text-high));border:none;border-radius:var(--border-radius)}input[aria-disabled=true].svelte-12j8dit{cursor:not-allowed}input[aria-disabled=true].svelte-12j8dit::-webkit-slider-runnable-track,input[aria-disabled=true].svelte-12j8dit::-moz-range-track{background:hsl(var(--accent))}label.svelte-12j8dit{line-height:1.1rem;font-size:.9rem;color:hsla(var(--text) / .8);flex-wrap:wrap;width:100%;padding:.5rem}.label.svelte-12j8dit{margin-top:-.66rem}.value.svelte-12j8dit{color:hsl(var(--text-high))}label.svelte-1evkwuy{color:hsl(var(--text-high));margin-left:.5rem}.color.svelte-1evkwuy{height:8.5rem;width:3rem;border-radius:0 var(--border-radius) var(--border-radius) 0}.container.svelte-1evkwuy{height:8.5rem;display:flex;gap:.5rem;background:hsla(var(--bg-high) / .2);border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.outer.svelte-1evkwuy{margin:.5rem 0}.values.svelte-1evkwuy{width:17rem;line-height:1rem}input[type=color].svelte-2nx18n{margin-left:-.6rem;margin-top:-.4rem;height:6rem;width:4.5rem;cursor:pointer}.container.svelte-2nx18n{width:20.5rem;margin:.5rem 0;display:flex;border:1px solid var(--color);border-radius:var(--border-radius);overflow:clip}.color.svelte-2nx18n{position:absolute;top:0;left:0;height:4.8rem;width:3rem;background:var(--color);cursor:pointer}.colorWrapper.svelte-2nx18n{position:relative}.mask.svelte-2nx18n{height:4.8rem;width:3rem;overflow:clip}.hsl.svelte-10udpph{display:flex;gap:1rem;flex-wrap:wrap}h3.svelte-fkmn75{color:hsl(var(--text-high))}span.svelte-fkmn75{color:hsl(var(--accent))}.btn.svelte-fkmn75{display:grid;grid-template-columns:1fr 1fr}.btn.svelte-fkmn75>div:where(.svelte-fkmn75){width:5rem;display:flex;flex-direction:column;gap:.25rem}.container.svelte-fkmn75{padding:1rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.inner.svelte-fkmn75{padding:1rem;width:17rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);background:hsl(var(--bg));color:hsl(var(--text))}.logo.svelte-fkmn75{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.preview.svelte-1nlq99j{margin-top:.5rem}.buttons.svelte-1pkqupw{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.container.svelte-1pkqupw{max-height:calc(100dvh - 4.5rem);display:grid;grid-template-columns:1fr 17rem;gap:.5rem}.values.svelte-1pkqupw{max-height:calc(100dvh - 5.5rem);margin-top:1rem;padding-right:.5rem;overflow:auto}@media (max-width: 88rem){.container.svelte-1pkqupw{grid-template-columns:1fr}.values.svelte-1pkqupw{max-height:inherit}}
diff --git a/static/v1/_app/immutable/assets/10.D68-buT7.css.br b/static/v1/_app/immutable/assets/10.D68-buT7.css.br
new file mode 100644
index 00000000..23f84914
Binary files /dev/null and b/static/v1/_app/immutable/assets/10.D68-buT7.css.br differ
diff --git a/static/v1/_app/immutable/assets/10.D68-buT7.css.gz b/static/v1/_app/immutable/assets/10.D68-buT7.css.gz
new file mode 100644
index 00000000..4e24bb05
Binary files /dev/null and b/static/v1/_app/immutable/assets/10.D68-buT7.css.gz differ
diff --git a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.br b/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.br
deleted file mode 100644
index 3272709f..00000000
Binary files a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.gz b/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.gz
deleted file mode 100644
index f161797f..00000000
Binary files a/static/v1/_app/immutable/assets/10.Y1ldeHJ8.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/14.DOlHIbwb.css b/static/v1/_app/immutable/assets/14.DOlHIbwb.css
new file mode 100644
index 00000000..02a1502f
--- /dev/null
+++ b/static/v1/_app/immutable/assets/14.DOlHIbwb.css
@@ -0,0 +1,1 @@
+.row.svelte-11d4h1{display:flex}
diff --git a/static/v1/_app/immutable/assets/14.DOlHIbwb.css.br b/static/v1/_app/immutable/assets/14.DOlHIbwb.css.br
new file mode 100644
index 00000000..5f13cbf4
--- /dev/null
+++ b/static/v1/_app/immutable/assets/14.DOlHIbwb.css.br
@@ -0,0 +1,2 @@
+�.row.svelte-11d4h1{display:flex}
+
\ No newline at end of file
diff --git a/static/v1/_app/immutable/assets/14.DOlHIbwb.css.gz b/static/v1/_app/immutable/assets/14.DOlHIbwb.css.gz
new file mode 100644
index 00000000..ff83d7a7
Binary files /dev/null and b/static/v1/_app/immutable/assets/14.DOlHIbwb.css.gz differ
diff --git a/static/v1/_app/immutable/assets/14.xBcNYlu4.css b/static/v1/_app/immutable/assets/14.xBcNYlu4.css
deleted file mode 100644
index 5207a5c7..00000000
--- a/static/v1/_app/immutable/assets/14.xBcNYlu4.css
+++ /dev/null
@@ -1,1 +0,0 @@
-.row.svelte-maj8s4{display:flex}.success.svelte-maj8s4{color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/14.xBcNYlu4.css.br b/static/v1/_app/immutable/assets/14.xBcNYlu4.css.br
deleted file mode 100644
index 0b9a487d..00000000
Binary files a/static/v1/_app/immutable/assets/14.xBcNYlu4.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/14.xBcNYlu4.css.gz b/static/v1/_app/immutable/assets/14.xBcNYlu4.css.gz
deleted file mode 100644
index 81add735..00000000
Binary files a/static/v1/_app/immutable/assets/14.xBcNYlu4.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/29.BG2PTq5v.css b/static/v1/_app/immutable/assets/29.BG2PTq5v.css
new file mode 100644
index 00000000..7c9bc11c
--- /dev/null
+++ b/static/v1/_app/immutable/assets/29.BG2PTq5v.css
@@ -0,0 +1,1 @@
+.logo.svelte-1gwy16z{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.btn.svelte-5hzq8v{margin:5px 0;display:flex}.container.svelte-5hzq8v{display:flex;flex-direction:column;justify-content:center;max-width:21rem;padding:20px;border:1px solid hsl(var(--bg-high));border-radius:5px;box-shadow:.1rem .1rem .1rem #8080801a}.email.svelte-5hzq8v{min-height:4.7rem}.errMsg.svelte-5hzq8v{margin:.5rem 0;max-width:18rem;text-wrap:wrap;color:hsl(var(--error))}.flex-col.svelte-5hzq8v{display:flex;flex-direction:column}.forgotten.svelte-5hzq8v{margin:0 0 .5rem .5rem}.head.svelte-5hzq8v{display:flex;justify-content:space-between}.home.svelte-5hzq8v{margin-right:5px;cursor:pointer}.loginWith.svelte-5hzq8v{display:flex;justify-content:center;margin-top:-.8rem}.loginWith.svelte-5hzq8v>div:where(.svelte-5hzq8v){padding:0 .5rem;font-size:.8rem;color:hsla(var(--text) / .6);background:hsl(var(--bg))}.name.svelte-5hzq8v{margin:-10px 5px 0}.providersSeparator.svelte-5hzq8v{margin-top:1rem;margin-bottom:.5rem}.separator.svelte-5hzq8v{height:1px;background:hsla(var(--bg-high) / .8)}.providers.svelte-5hzq8v{margin-top:.66rem}.reg.svelte-5hzq8v{margin-top:.5rem;color:hsla(var(--text) / .75)}.success.svelte-5hzq8v{margin:0 5px;color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/29.BG2PTq5v.css.br b/static/v1/_app/immutable/assets/29.BG2PTq5v.css.br
new file mode 100644
index 00000000..683986c6
Binary files /dev/null and b/static/v1/_app/immutable/assets/29.BG2PTq5v.css.br differ
diff --git a/static/v1/_app/immutable/assets/29.BG2PTq5v.css.gz b/static/v1/_app/immutable/assets/29.BG2PTq5v.css.gz
new file mode 100644
index 00000000..014d0a12
Binary files /dev/null and b/static/v1/_app/immutable/assets/29.BG2PTq5v.css.gz differ
diff --git a/static/v1/_app/immutable/assets/29.Bz29sjHN.css b/static/v1/_app/immutable/assets/29.Bz29sjHN.css
deleted file mode 100644
index e0acb12b..00000000
--- a/static/v1/_app/immutable/assets/29.Bz29sjHN.css
+++ /dev/null
@@ -1,1 +0,0 @@
-.logo.svelte-1gwy16z{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.btn.svelte-1hqs85f{margin:5px 0;display:flex}.container.svelte-1hqs85f{display:flex;flex-direction:column;justify-content:center;max-width:21rem;padding:20px;border:1px solid hsl(var(--bg-high));border-radius:5px;box-shadow:.1rem .1rem .1rem #8080801a}.errMsg.svelte-1hqs85f{margin:.5rem 0;max-width:18rem;text-wrap:wrap;color:hsl(var(--error))}.flex-col.svelte-1hqs85f{display:flex;flex-direction:column}.forgotten.svelte-1hqs85f{margin:0 0 .5rem .5rem}.head.svelte-1hqs85f{display:flex;justify-content:space-between}.home.svelte-1hqs85f{margin-right:5px;cursor:pointer}.name.svelte-1hqs85f{margin:-10px 5px 0}.loginWith.svelte-1hqs85f{display:flex;justify-content:center;margin-top:-.8rem}.loginWith.svelte-1hqs85f>div:where(.svelte-1hqs85f){padding:0 .5rem;font-size:.8rem;color:hsla(var(--text) / .6);background:hsl(var(--bg))}.providersSeparator.svelte-1hqs85f{margin-top:1rem;margin-bottom:.5rem}.separator.svelte-1hqs85f{height:1px;background:hsla(var(--bg-high) / .8)}.providers.svelte-1hqs85f{margin-top:.66rem}.reg.svelte-1hqs85f{margin-top:.5rem;color:hsla(var(--text) / .75)}.success.svelte-1hqs85f{margin:0 5px;color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/29.Bz29sjHN.css.br b/static/v1/_app/immutable/assets/29.Bz29sjHN.css.br
deleted file mode 100644
index 02cacead..00000000
Binary files a/static/v1/_app/immutable/assets/29.Bz29sjHN.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/29.Bz29sjHN.css.gz b/static/v1/_app/immutable/assets/29.Bz29sjHN.css.gz
deleted file mode 100644
index 5112904d..00000000
Binary files a/static/v1/_app/immutable/assets/29.Bz29sjHN.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.BG2PTq5v.css b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css
new file mode 100644
index 00000000..7c9bc11c
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css
@@ -0,0 +1,1 @@
+.logo.svelte-1gwy16z{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.btn.svelte-5hzq8v{margin:5px 0;display:flex}.container.svelte-5hzq8v{display:flex;flex-direction:column;justify-content:center;max-width:21rem;padding:20px;border:1px solid hsl(var(--bg-high));border-radius:5px;box-shadow:.1rem .1rem .1rem #8080801a}.email.svelte-5hzq8v{min-height:4.7rem}.errMsg.svelte-5hzq8v{margin:.5rem 0;max-width:18rem;text-wrap:wrap;color:hsl(var(--error))}.flex-col.svelte-5hzq8v{display:flex;flex-direction:column}.forgotten.svelte-5hzq8v{margin:0 0 .5rem .5rem}.head.svelte-5hzq8v{display:flex;justify-content:space-between}.home.svelte-5hzq8v{margin-right:5px;cursor:pointer}.loginWith.svelte-5hzq8v{display:flex;justify-content:center;margin-top:-.8rem}.loginWith.svelte-5hzq8v>div:where(.svelte-5hzq8v){padding:0 .5rem;font-size:.8rem;color:hsla(var(--text) / .6);background:hsl(var(--bg))}.name.svelte-5hzq8v{margin:-10px 5px 0}.providersSeparator.svelte-5hzq8v{margin-top:1rem;margin-bottom:.5rem}.separator.svelte-5hzq8v{height:1px;background:hsla(var(--bg-high) / .8)}.providers.svelte-5hzq8v{margin-top:.66rem}.reg.svelte-5hzq8v{margin-top:.5rem;color:hsla(var(--text) / .75)}.success.svelte-5hzq8v{margin:0 5px;color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.br b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.br
new file mode 100644
index 00000000..683986c6
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.br differ
diff --git a/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.gz b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.gz
new file mode 100644
index 00000000..014d0a12
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.BG2PTq5v.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css b/static/v1/_app/immutable/assets/_page.Bz29sjHN.css
deleted file mode 100644
index e0acb12b..00000000
--- a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css
+++ /dev/null
@@ -1,1 +0,0 @@
-.logo.svelte-1gwy16z{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.btn.svelte-1hqs85f{margin:5px 0;display:flex}.container.svelte-1hqs85f{display:flex;flex-direction:column;justify-content:center;max-width:21rem;padding:20px;border:1px solid hsl(var(--bg-high));border-radius:5px;box-shadow:.1rem .1rem .1rem #8080801a}.errMsg.svelte-1hqs85f{margin:.5rem 0;max-width:18rem;text-wrap:wrap;color:hsl(var(--error))}.flex-col.svelte-1hqs85f{display:flex;flex-direction:column}.forgotten.svelte-1hqs85f{margin:0 0 .5rem .5rem}.head.svelte-1hqs85f{display:flex;justify-content:space-between}.home.svelte-1hqs85f{margin-right:5px;cursor:pointer}.name.svelte-1hqs85f{margin:-10px 5px 0}.loginWith.svelte-1hqs85f{display:flex;justify-content:center;margin-top:-.8rem}.loginWith.svelte-1hqs85f>div:where(.svelte-1hqs85f){padding:0 .5rem;font-size:.8rem;color:hsla(var(--text) / .6);background:hsl(var(--bg))}.providersSeparator.svelte-1hqs85f{margin-top:1rem;margin-bottom:.5rem}.separator.svelte-1hqs85f{height:1px;background:hsla(var(--bg-high) / .8)}.providers.svelte-1hqs85f{margin-top:.66rem}.reg.svelte-1hqs85f{margin-top:.5rem;color:hsla(var(--text) / .75)}.success.svelte-1hqs85f{margin:0 5px;color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.br b/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.br
deleted file mode 100644
index 02cacead..00000000
Binary files a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.gz b/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.gz
deleted file mode 100644
index 5112904d..00000000
Binary files a/static/v1/_app/immutable/assets/_page.Bz29sjHN.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css b/static/v1/_app/immutable/assets/_page.D68-buT7.css
similarity index 60%
rename from static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css
rename to static/v1/_app/immutable/assets/_page.D68-buT7.css
index 7013fc1c..e80a7037 100644
--- a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css
+++ b/static/v1/_app/immutable/assets/_page.D68-buT7.css
@@ -1,1 +1,1 @@
-datalist.svelte-r5y8pk{display:block}input.svelte-r5y8pk{min-width:3rem;margin:0;padding:0;background:transparent;border:none}input.svelte-r5y8pk:invalid{color:hsl(var(--error))}label.svelte-r5y8pk{color:hsla(var(--text) / .8);margin-left:.25rem}ul.svelte-r5y8pk{padding:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;overflow-y:scroll}li.svelte-r5y8pk{margin:0;padding:0 .25rem 0 .35rem;display:flex;list-style:none;border-radius:var(--border-radius);overflow:clip}.container.svelte-r5y8pk{margin:1rem 0;max-width:100%;padding:.25rem .25rem 0;background:hsla(var(--bg-high) / .2);border:1px solid hsla(var(--bg-high));border-radius:var(--border-radius);cursor:text}.btnClose.svelte-r5y8pk{margin-top:.12rem;margin-bottom:-.5rem}.value.svelte-r5y8pk{background:hsla(var(--accent) / .2);overflow:auto}p.svelte-15tp6i6{line-height:1.25rem;margin-bottom:-.5rem}.container.svelte-15tp6i6{width:min(25rem,100dvw - 1.75rem);min-height:7rem;text-align:left}.desc.svelte-5tvvvt{margin-bottom:-.25rem}.container.svelte-5tvvvt{max-width:467pt}.mb-0.svelte-5tvvvt{margin-bottom:0}.container.svelte-19xcrje{margin:.5rem 0;max-width:467pt}input.svelte-12j8dit{border:none;height:1rem;cursor:pointer;appearance:none}input[type=range].svelte-12j8dit::-webkit-slider-runnable-track,input[type=range].svelte-12j8dit::-moz-range-track{background:var(--bg-slider);height:5px;border-radius:var(--border-radius)}input[type=range].svelte-12j8dit::-webkit-slider-thumb,input[type=range].svelte-12j8dit::-moz-range-thumb{height:1.2rem;width:.66rem;background:hsl(var(--text-high));border:none;border-radius:var(--border-radius)}input[aria-disabled=true].svelte-12j8dit{cursor:not-allowed}input[aria-disabled=true].svelte-12j8dit::-webkit-slider-runnable-track,input[aria-disabled=true].svelte-12j8dit::-moz-range-track{background:hsl(var(--accent))}label.svelte-12j8dit{line-height:1.1rem;font-size:.9rem;color:hsla(var(--text) / .8);flex-wrap:wrap;width:100%;padding:.5rem}.label.svelte-12j8dit{margin-top:-.66rem}.value.svelte-12j8dit{color:hsl(var(--text-high))}label.svelte-1evkwuy{color:hsl(var(--text-high));margin-left:.5rem}.color.svelte-1evkwuy{height:8.5rem;width:3rem;border-radius:0 var(--border-radius) var(--border-radius) 0}.container.svelte-1evkwuy{height:8.5rem;display:flex;gap:.5rem;background:hsla(var(--bg-high) / .2);border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.outer.svelte-1evkwuy{margin:.5rem 0}.values.svelte-1evkwuy{width:17rem;line-height:1rem}input[type=color].svelte-lcwq3j{margin-left:-.6rem;margin-top:-.4rem;height:6rem;width:4.5rem;cursor:pointer}.container.svelte-lcwq3j{width:16rem;margin:.5rem 0;display:flex;border:1px solid var(--color);border-radius:var(--border-radius);overflow:clip}.color.svelte-lcwq3j{position:absolute;top:0;left:0;height:4.8rem;width:3rem;background:var(--color);cursor:pointer}.colorWrapper.svelte-lcwq3j{position:relative}.mask.svelte-lcwq3j{height:4.8rem;width:3rem;overflow:clip}.hsl.svelte-10udpph{display:flex;gap:1rem;flex-wrap:wrap}h3.svelte-fkmn75{color:hsl(var(--text-high))}span.svelte-fkmn75{color:hsl(var(--accent))}.btn.svelte-fkmn75{display:grid;grid-template-columns:1fr 1fr}.btn.svelte-fkmn75>div:where(.svelte-fkmn75){width:5rem;display:flex;flex-direction:column;gap:.25rem}.container.svelte-fkmn75{padding:1rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.inner.svelte-fkmn75{padding:1rem;width:17rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);background:hsl(var(--bg));color:hsl(var(--text))}.logo.svelte-fkmn75{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.preview.svelte-1nlq99j{margin-top:.5rem}.buttons.svelte-1pkqupw{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.container.svelte-1pkqupw{max-height:calc(100dvh - 4.5rem);display:grid;grid-template-columns:1fr 17rem;gap:.5rem}.values.svelte-1pkqupw{max-height:calc(100dvh - 5.5rem);margin-top:1rem;padding-right:.5rem;overflow:auto}@media (max-width: 88rem){.container.svelte-1pkqupw{grid-template-columns:1fr}.values.svelte-1pkqupw{max-height:inherit}}
+datalist.svelte-r5y8pk{display:block}input.svelte-r5y8pk{min-width:3rem;margin:0;padding:0;background:transparent;border:none}input.svelte-r5y8pk:invalid{color:hsl(var(--error))}label.svelte-r5y8pk{color:hsla(var(--text) / .8);margin-left:.25rem}ul.svelte-r5y8pk{padding:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;overflow-y:scroll}li.svelte-r5y8pk{margin:0;padding:0 .25rem 0 .35rem;display:flex;list-style:none;border-radius:var(--border-radius);overflow:clip}.container.svelte-r5y8pk{margin:1rem 0;max-width:100%;padding:.25rem .25rem 0;background:hsla(var(--bg-high) / .2);border:1px solid hsla(var(--bg-high));border-radius:var(--border-radius);cursor:text}.btnClose.svelte-r5y8pk{margin-top:.12rem;margin-bottom:-.5rem}.value.svelte-r5y8pk{background:hsla(var(--accent) / .2);overflow:auto}p.svelte-15tp6i6{line-height:1.25rem;margin-bottom:-.5rem}.container.svelte-15tp6i6{width:min(25rem,100dvw - 1.75rem);min-height:7rem;text-align:left}.desc.svelte-5tvvvt{margin-bottom:-.25rem}.container.svelte-5tvvvt{max-width:467pt}.mb-0.svelte-5tvvvt{margin-bottom:0}.container.svelte-19xcrje{margin:.5rem 0;max-width:467pt}input.svelte-12j8dit{border:none;height:1rem;cursor:pointer;appearance:none}input[type=range].svelte-12j8dit::-webkit-slider-runnable-track,input[type=range].svelte-12j8dit::-moz-range-track{background:var(--bg-slider);height:5px;border-radius:var(--border-radius)}input[type=range].svelte-12j8dit::-webkit-slider-thumb,input[type=range].svelte-12j8dit::-moz-range-thumb{height:1.2rem;width:.66rem;background:hsl(var(--text-high));border:none;border-radius:var(--border-radius)}input[aria-disabled=true].svelte-12j8dit{cursor:not-allowed}input[aria-disabled=true].svelte-12j8dit::-webkit-slider-runnable-track,input[aria-disabled=true].svelte-12j8dit::-moz-range-track{background:hsl(var(--accent))}label.svelte-12j8dit{line-height:1.1rem;font-size:.9rem;color:hsla(var(--text) / .8);flex-wrap:wrap;width:100%;padding:.5rem}.label.svelte-12j8dit{margin-top:-.66rem}.value.svelte-12j8dit{color:hsl(var(--text-high))}label.svelte-1evkwuy{color:hsl(var(--text-high));margin-left:.5rem}.color.svelte-1evkwuy{height:8.5rem;width:3rem;border-radius:0 var(--border-radius) var(--border-radius) 0}.container.svelte-1evkwuy{height:8.5rem;display:flex;gap:.5rem;background:hsla(var(--bg-high) / .2);border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.outer.svelte-1evkwuy{margin:.5rem 0}.values.svelte-1evkwuy{width:17rem;line-height:1rem}input[type=color].svelte-2nx18n{margin-left:-.6rem;margin-top:-.4rem;height:6rem;width:4.5rem;cursor:pointer}.container.svelte-2nx18n{width:20.5rem;margin:.5rem 0;display:flex;border:1px solid var(--color);border-radius:var(--border-radius);overflow:clip}.color.svelte-2nx18n{position:absolute;top:0;left:0;height:4.8rem;width:3rem;background:var(--color);cursor:pointer}.colorWrapper.svelte-2nx18n{position:relative}.mask.svelte-2nx18n{height:4.8rem;width:3rem;overflow:clip}.hsl.svelte-10udpph{display:flex;gap:1rem;flex-wrap:wrap}h3.svelte-fkmn75{color:hsl(var(--text-high))}span.svelte-fkmn75{color:hsl(var(--accent))}.btn.svelte-fkmn75{display:grid;grid-template-columns:1fr 1fr}.btn.svelte-fkmn75>div:where(.svelte-fkmn75){width:5rem;display:flex;flex-direction:column;gap:.25rem}.container.svelte-fkmn75{padding:1rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius)}.inner.svelte-fkmn75{padding:1rem;width:17rem;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);background:hsl(var(--bg));color:hsl(var(--text))}.logo.svelte-fkmn75{margin:0 .25rem;width:84px;height:84px;display:flex;justify-content:center;align-items:center}.preview.svelte-1nlq99j{margin-top:.5rem}.buttons.svelte-1pkqupw{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.container.svelte-1pkqupw{max-height:calc(100dvh - 4.5rem);display:grid;grid-template-columns:1fr 17rem;gap:.5rem}.values.svelte-1pkqupw{max-height:calc(100dvh - 5.5rem);margin-top:1rem;padding-right:.5rem;overflow:auto}@media (max-width: 88rem){.container.svelte-1pkqupw{grid-template-columns:1fr}.values.svelte-1pkqupw{max-height:inherit}}
diff --git a/static/v1/_app/immutable/assets/_page.D68-buT7.css.br b/static/v1/_app/immutable/assets/_page.D68-buT7.css.br
new file mode 100644
index 00000000..23f84914
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.D68-buT7.css.br differ
diff --git a/static/v1/_app/immutable/assets/_page.D68-buT7.css.gz b/static/v1/_app/immutable/assets/_page.D68-buT7.css.gz
new file mode 100644
index 00000000..4e24bb05
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.D68-buT7.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.DOlHIbwb.css b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css
new file mode 100644
index 00000000..02a1502f
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css
@@ -0,0 +1,1 @@
+.row.svelte-11d4h1{display:flex}
diff --git a/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.br b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.br
new file mode 100644
index 00000000..5f13cbf4
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.br
@@ -0,0 +1,2 @@
+�.row.svelte-11d4h1{display:flex}
+
\ No newline at end of file
diff --git a/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.gz b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.gz
new file mode 100644
index 00000000..ff83d7a7
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.DOlHIbwb.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.br b/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.br
deleted file mode 100644
index 3272709f..00000000
Binary files a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.gz b/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.gz
deleted file mode 100644
index f161797f..00000000
Binary files a/static/v1/_app/immutable/assets/_page.Y1ldeHJ8.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css b/static/v1/_app/immutable/assets/_page.xBcNYlu4.css
deleted file mode 100644
index 5207a5c7..00000000
--- a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css
+++ /dev/null
@@ -1,1 +0,0 @@
-.row.svelte-maj8s4{display:flex}.success.svelte-maj8s4{color:hsl(var(--action))}
diff --git a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.br b/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.br
deleted file mode 100644
index 0b9a487d..00000000
Binary files a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.gz b/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.gz
deleted file mode 100644
index 81add735..00000000
Binary files a/static/v1/_app/immutable/assets/_page.xBcNYlu4.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CY7Th9O-.js b/static/v1/_app/immutable/chunks/8x1xiTUd.js
similarity index 96%
rename from static/v1/_app/immutable/chunks/CY7Th9O-.js
rename to static/v1/_app/immutable/chunks/8x1xiTUd.js
index 6abb98f6..1d8c1714 100644
--- a/static/v1/_app/immutable/chunks/CY7Th9O-.js
+++ b/static/v1/_app/immutable/chunks/8x1xiTUd.js
@@ -4,9 +4,9 @@ import { s as D } from "./CTI4QPiR.js";
 import { i as k } from "./BUO_AUgz.js";
 import { p as V } from "./Wh68IIk2.js";
 import { L as X } from "./DMkkW5Nn.js";
-import { F as Y, G as Z, p as $, H as x } from "./CGXT-546.js";
-import { b as U } from "./bbkAiDd0.js";
-import { u as ee } from "./DOl8_ubJ.js";
+import { F as Y, G as Z, p as $, H as x } from "./BaE7H8ny.js";
+import { b as U } from "./CBGoQiUs.js";
+import { u as ee } from "./BQ1-pLIs.js";
 function me(o) {
   let t = Z(o);
   const a = { "+": "-", "/": "_", "=": "" };
diff --git a/static/v1/_app/immutable/chunks/8x1xiTUd.js.br b/static/v1/_app/immutable/chunks/8x1xiTUd.js.br
new file mode 100644
index 00000000..713b0007
Binary files /dev/null and b/static/v1/_app/immutable/chunks/8x1xiTUd.js.br differ
diff --git a/static/v1/_app/immutable/chunks/8x1xiTUd.js.gz b/static/v1/_app/immutable/chunks/8x1xiTUd.js.gz
new file mode 100644
index 00000000..bb7323a7
Binary files /dev/null and b/static/v1/_app/immutable/chunks/8x1xiTUd.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/B6SEzQuS.js.br b/static/v1/_app/immutable/chunks/B6SEzQuS.js.br
deleted file mode 100644
index a8ce25e2..00000000
Binary files a/static/v1/_app/immutable/chunks/B6SEzQuS.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/B6SEzQuS.js.gz b/static/v1/_app/immutable/chunks/B6SEzQuS.js.gz
deleted file mode 100644
index 6ab57e0f..00000000
Binary files a/static/v1/_app/immutable/chunks/B6SEzQuS.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.br b/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.br
deleted file mode 100644
index 5ef9a51c..00000000
Binary files a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.gz b/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.gz
deleted file mode 100644
index de5a86c8..00000000
Binary files a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DM7UbbyI.js b/static/v1/_app/immutable/chunks/BDMwC9Hh.js
similarity index 80%
rename from static/v1/_app/immutable/chunks/DM7UbbyI.js
rename to static/v1/_app/immutable/chunks/BDMwC9Hh.js
index 32f1d103..f57c1a6d 100644
--- a/static/v1/_app/immutable/chunks/DM7UbbyI.js
+++ b/static/v1/_app/immutable/chunks/BDMwC9Hh.js
@@ -1,4 +1,4 @@
-import { s as e, p as r } from "./CRhC1XE8.js";
+import { s as e, p as r } from "./DexdtKTq.js";
 const t = { get error() {
   return r.error;
 }, get route() {
diff --git a/static/v1/_app/immutable/chunks/BDMwC9Hh.js.br b/static/v1/_app/immutable/chunks/BDMwC9Hh.js.br
new file mode 100644
index 00000000..1b9a4238
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BDMwC9Hh.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BDMwC9Hh.js.gz b/static/v1/_app/immutable/chunks/BDMwC9Hh.js.gz
new file mode 100644
index 00000000..0e2fe254
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BDMwC9Hh.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/GDMtXUL9.js b/static/v1/_app/immutable/chunks/BHXYRhv2.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/GDMtXUL9.js
rename to static/v1/_app/immutable/chunks/BHXYRhv2.js
index 3a812422..b58e0147 100644
--- a/static/v1/_app/immutable/chunks/GDMtXUL9.js
+++ b/static/v1/_app/immutable/chunks/BHXYRhv2.js
@@ -6,7 +6,7 @@ import { s as F } from "./-T201g_q.js";
 import { s as G } from "./BMbqVy6X.js";
 import { b as H } from "./zosqiMUL.js";
 import { p as f } from "./C6SR4G2t.js";
-import { u as J } from "./DOl8_ubJ.js";
+import { u as J } from "./BQ1-pLIs.js";
 import { B as K } from "./DMkkW5Nn.js";
 import { I as N } from "./Vi3uK7uO.js";
 function O(l, o, t) {
diff --git a/static/v1/_app/immutable/chunks/BHXYRhv2.js.br b/static/v1/_app/immutable/chunks/BHXYRhv2.js.br
new file mode 100644
index 00000000..a89a9d6b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BHXYRhv2.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BHXYRhv2.js.gz b/static/v1/_app/immutable/chunks/BHXYRhv2.js.gz
new file mode 100644
index 00000000..de69a445
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BHXYRhv2.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CGniv4pe.js b/static/v1/_app/immutable/chunks/BHnvQvwL.js
similarity index 99%
rename from static/v1/_app/immutable/chunks/CGniv4pe.js
rename to static/v1/_app/immutable/chunks/BHnvQvwL.js
index 956f5155..78908f78 100644
--- a/static/v1/_app/immutable/chunks/CGniv4pe.js
+++ b/static/v1/_app/immutable/chunks/BHnvQvwL.js
@@ -10,9 +10,9 @@ import { p as V } from "./Wh68IIk2.js";
 import { b as oe } from "./zosqiMUL.js";
 import { p as s } from "./C6SR4G2t.js";
 import { s as W } from "./-T201g_q.js";
-import { g as J } from "./CGXT-546.js";
+import { g as J } from "./BaE7H8ny.js";
 import { u as fe } from "./D8mHI_K9.js";
-import { u as ue } from "./DOl8_ubJ.js";
+import { u as ue } from "./BQ1-pLIs.js";
 var he = T('<div><!> <div class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!></div></div></div>');
 function ge(h, e) {
   ee(e, true);
diff --git a/static/v1/_app/immutable/chunks/BHnvQvwL.js.br b/static/v1/_app/immutable/chunks/BHnvQvwL.js.br
new file mode 100644
index 00000000..d2c19530
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BHnvQvwL.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BHnvQvwL.js.gz b/static/v1/_app/immutable/chunks/BHnvQvwL.js.gz
new file mode 100644
index 00000000..49151cb3
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BHnvQvwL.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/BIsFWZ5z.js.br b/static/v1/_app/immutable/chunks/BIsFWZ5z.js.br
deleted file mode 100644
index d963dc89..00000000
Binary files a/static/v1/_app/immutable/chunks/BIsFWZ5z.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/BIsFWZ5z.js.gz b/static/v1/_app/immutable/chunks/BIsFWZ5z.js.gz
deleted file mode 100644
index b2c27fa7..00000000
Binary files a/static/v1/_app/immutable/chunks/BIsFWZ5z.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CHyRPnih.js b/static/v1/_app/immutable/chunks/BL7yMFqm.js
similarity index 97%
rename from static/v1/_app/immutable/chunks/CHyRPnih.js
rename to static/v1/_app/immutable/chunks/BL7yMFqm.js
index 328cac6a..a0a18854 100644
--- a/static/v1/_app/immutable/chunks/CHyRPnih.js
+++ b/static/v1/_app/immutable/chunks/BL7yMFqm.js
@@ -3,17 +3,17 @@ import { t as h, p as H, c as t, r, s as u, a as J, a7 as L, k as X, O as te, l
 import { s as n } from "./CTI4QPiR.js";
 import { i as F } from "./BUO_AUgz.js";
 import { a as ae, B as z } from "./DMkkW5Nn.js";
-import { l as j } from "./CGXT-546.js";
+import { l as j } from "./BaE7H8ny.js";
 import { s as C } from "./BMbqVy6X.js";
 import { p as V } from "./C6SR4G2t.js";
 import { T as se } from "./BmpEzKyJ.js";
-import { u as K } from "./DOl8_ubJ.js";
+import { u as K } from "./BQ1-pLIs.js";
 import { e as oe } from "./BpWRzPRQ.js";
 import { p as q } from "./Wh68IIk2.js";
-import { d as ve, c as ie, f as de } from "./bbkAiDd0.js";
+import { d as ve, c as ie, f as de } from "./CBGoQiUs.js";
 import { I as ne } from "./Vi3uK7uO.js";
-import { I as le } from "./DmeAqnkr.js";
-import { E as ce } from "./BlGzyD-C.js";
+import { I as le } from "./BtKnbFDH.js";
+import { E as ce } from "./CgRaCfAG.js";
 import { g as ue } from "./BRCxk8by.js";
 import { L as U } from "./CE2_6siz.js";
 var me = Z('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M7.864 4.243A7.5 7.5 0 0119.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 004.5 10.5a7.464 7.464 0 01-1.15 3.993m1.989 3.559A11.209 11.209 0 008.25 10.5a3.75 3.75 0 117.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 01-3.6 9.75m6.633-4.596a18.666 18.666 0 01-2.485 5.33"></path></svg>');
diff --git a/static/v1/_app/immutable/chunks/BL7yMFqm.js.br b/static/v1/_app/immutable/chunks/BL7yMFqm.js.br
new file mode 100644
index 00000000..35f7a95c
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BL7yMFqm.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BL7yMFqm.js.gz b/static/v1/_app/immutable/chunks/BL7yMFqm.js.gz
new file mode 100644
index 00000000..34a73e4b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BL7yMFqm.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DOl8_ubJ.js b/static/v1/_app/immutable/chunks/BQ1-pLIs.js
similarity index 72%
rename from static/v1/_app/immutable/chunks/DOl8_ubJ.js
rename to static/v1/_app/immutable/chunks/BQ1-pLIs.js
index d0615d5e..31d37615 100644
--- a/static/v1/_app/immutable/chunks/DOl8_ubJ.js
+++ b/static/v1/_app/immutable/chunks/BQ1-pLIs.js
@@ -18,7 +18,7 @@ After a successful login and if the email matches, your account will be linked.`
 account, you can unlink it from the upstream provider.`, regDate: "Registration Date", regIp: "Registration from IP", roles: "Roles", street: "Street", user: "User", userCreated: "User Created", userEnabled: "User Enabled", userExpiry: "User Expires", userVerifiedTooltip: "Secured with fingerprint or PIN", webIdDesc: `You can configure the fields that should be exposed with your WebID.
 This is a feature used by some networks for decentralized logins. If you do not know what it is,
 you most probably do not need it.`, webIdDescData: "You can add custom data fields to your WebID in valid FOAF Vocabulary", webIdExpertMode: "Enable Expert Mode", zip: "ZIP" }, authorize: { clientForceMfa: `This login forces MFA to achieve higher security.
-To get access, you need to log in to your account and add at least one additional Passkey`, email: "E-Mail", emailBadFormat: "Bad E-Mail format", emailRequired: "E-Mail is required", emailSentMsg: "If your E-Mail exists, a request has been sent", expectingPasskey: "Expecting Passkey Authentication", http429: "Too many invalid inputs. Locked until:", invalidCredentials: "Invalid credentials", invalidKeyUsed: "Invalid Key", login: "Login", mfaAck: "Acknowledged", orLoginWith: "or login with", password: "Password", passwordForgotten: "Password forgotten?", passwordRequest: "Request", passwordRequired: "Password is required", requestExpires: "Request expires", requestExpired: "Request has expired", signUp: "User Registration" }, device: { accept: "Accept", autoRedirectAccount: "You will be redirected to your account now", closeWindow: "You can close this window now.", decline: "Decline", desc: "Please enter the {{count}} characters user code from your device.", descScopes: "The device requests access to:", isAccepted: "The request has been accepted.", isDeclined: "The request has been declined.", submit: "Submit", title: "Device Authorization", userCode: "User Code", wrongOrExpired: "Wrong or expired code" }, emailChange: { title: "E-Mail Change confirmed", textChanged: "Your E-Mail address has been changed from", textLogin: "You can now log in using your new address.", to: "to" }, error: { details: "Show Details" }, index: { register: "Register", accountLogin: "Account", adminLogin: "Admin" }, logout: { logout: "Logout", confirmMsg: "Do you really want to logout and end your session?", cancel: "Cancel" }, mfa: { p1: "If you plan on using your MFA key with multiple systems like Windows and Android, you should do the registration with Android.", p2: "Android is the platform with the least supported features for the passwordless technology. Keys you register with Android work elsewhere too. However, this does not apply the other way around.", errorReg: "Error starting the Registration process", lastUsed: "Last used", noKey: "No Security key registered on this slot", register: "Register", registerNew: "Register New Key", registerd: "Registered", registerdKeys: "Registered Keys", passkeyName: "Passkey Name", passkeyNameErr: "2 - 32 non-special characters", test: "Test", testError: "Error starting the Test", testSuccess: "Test successful" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "Password Policy", lengthMin: "Length min", lengthMax: "Length max", lowercaseMin: "Lowercase letters min", uppercaseMin: "Uppercase letters min", digitsMin: "Digits min", specialMin: "Special characters min", notRecent: "Not one of last recent passwords" }, passwordReset: { accountLogin: "Account Login", badFormat: "Bad Format", fidoLink: "https://fidoalliance.org/fido2", generate: "Generate", newAccDesc1: "You have the option between two account types: passwordless or traditional password", newAccDesc2: `The passwordless account is always preferred, because it provides
+To get access, you need to log in to your account and add at least one additional Passkey`, email: "E-Mail", emailBadFormat: "Bad E-Mail format", emailRequired: "E-Mail is required", emailSentMsg: "If your E-Mail exists, a request has been sent", expectingPasskey: "Expecting Passkey Authentication", http429: "Too many invalid inputs. Locked until:", invalidCredentials: "Invalid credentials", invalidKeyUsed: "Invalid Key", login: "Login", mfaAck: "Acknowledged", orLoginWith: "or login with", password: "Password", passwordForgotten: "Password forgotten?", passwordRequest: "Request", passwordRequired: "Password is required", requestExpires: "Request expires", requestExpired: "Request has expired", signUp: "User Registration", validEmail: "Valid E-Mail Address" }, device: { accept: "Accept", autoRedirectAccount: "You will be redirected to your account now", closeWindow: "You can close this window now.", decline: "Decline", desc: "Please enter the {{count}} characters user code from your device.", descScopes: "The device requests access to:", isAccepted: "The request has been accepted.", isDeclined: "The request has been declined.", submit: "Submit", title: "Device Authorization", userCode: "User Code", wrongOrExpired: "Wrong or expired code" }, emailChange: { title: "E-Mail Change confirmed", textChanged: "Your E-Mail address has been changed from", textLogin: "You can now log in using your new address.", to: "to" }, error: { details: "Show Details" }, index: { register: "Register", accountLogin: "Account", adminLogin: "Admin" }, logout: { logout: "Logout", confirmMsg: "Do you really want to logout and end your session?", cancel: "Cancel" }, mfa: { p1: "If you plan on using your MFA key with multiple systems like Windows and Android, you should do the registration with Android.", p2: "Android is the platform with the least supported features for the passwordless technology. Keys you register with Android work elsewhere too. However, this does not apply the other way around.", errorReg: "Error starting the Registration process", lastUsed: "Last used", noKey: "No Security key registered on this slot", register: "Register", registerNew: "Register New Key", registerd: "Registered", registerdKeys: "Registered Keys", passkeyName: "Passkey Name", passkeyNameErr: "2 - 32 non-special characters", test: "Test", testError: "Error starting the Test", testSuccess: "Test successful" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "Password Policy", lengthMin: "Length min", lengthMax: "Length max", lowercaseMin: "Lowercase letters min", uppercaseMin: "Uppercase letters min", digitsMin: "Digits min", specialMin: "Special characters min", notRecent: "Not one of last recent passwords" }, passwordReset: { accountLogin: "Account Login", badFormat: "Bad Format", fidoLink: "https://fidoalliance.org/fido2", generate: "Generate", newAccDesc1: "You have the option between two account types: passwordless or traditional password", newAccDesc2: `The passwordless account is always preferred, because it provides
 a way with stronger security. You will need at least one passkey (Yubikey, Apple Touch ID, Windows Hello,
 ...) to create such an account. Your device must embrace the FIDO2 standard. For more information
 about this, you may follow this link: `, newAccount: "New Account", passwordReset: "Password Reset", password: "Password", passwordless: "Passkey", passwordConfirm: "Password Confirm", passwordNoMatch: "Passwords do not match", required: "Required", save: "Save", success1: "The password has been updated successfully.", success2: "You will be redirected shortly.", success3: "If you are not being redirected, please click here:", successPasskey1: "Your new passkey has been registered successfully.", successPasskey2: `Please log into your account and register a second backup key as
@@ -43,14 +43,14 @@ werden. Dies ist ein Feature, was von manchen Netzwerken f\xFCr dezentrale Login
 Sollten Sie nicht wissen, was die WebID ist, brauchen Sie sie h\xF6chstwahrscheinlich nicht.`, webIdDescData: `Sie k\xF6nnen eigene Daten zu Ihrer WebID in g\xFCltigem FOAF Vokabular
 hinzuf\xFCgen:`, webIdExpertMode: "Expertenmodus aktivieren", zip: "PLZ" }, authorize: { clientForceMfa: `Dieser Login setzt MFA voraus f\xFCr eine erh\xF6hte Sicherheit.
 Um Zugang zu bekommen, m\xFCssen Sie sie in Ihren Account einloggen und mindestens einen Passkey
-hinzuf\xFCgen.`, email: "E-Mail", emailBadFormat: "Inkorrektes E-Mail Format", emailRequired: "E-Mail ist notwendig", emailSentMsg: "Sollte Ihre Adresse registriert sein, wurde eine Nachricht versandt", expectingPasskey: "Erwarte Authentifizierung per Passkey", http429: "Zu viele ung\xFCltige Versuche. Gesperrt bis:", invalidCredentials: "Ung\xFCltige Zugangsdaten", invalidKeyUsed: "Ung\xFCltiger Sicherheitsschl\xFCssel", login: "Login", mfaAck: "Best\xE4tigt", orLoginWith: "or einloggen mit", password: "Password", passwordForgotten: "Password vergessen?", passwordRequest: "Anfordern", passwordRequired: "Password ist notwendig", requestExpires: "Anfrage l\xE4uft ab", requestExpired: "Anfrage ist abgelaufen", signUp: "Benutzer Registrierung" }, device: { accept: "Akzeptieren", autoRedirectAccount: "Automatische Weiterleitung zum Account folgt", closeWindow: "Dieses Fenster kann nun geschlossen werden.", decline: "Ablehnen", desc: "Bitte den {{count}}-stelligen vom Ger\xE4t angezeigten Benutzer Code eingeben.", descScopes: "Das Ger\xE4t fragt Zugang an zu:", isAccepted: "Die Anfrage wurde akzeptiert", isDeclined: "Die Anfrage wurde abgewiesen", submit: "Absenden", title: "Ger\xE4t Authorisierung", userCode: "Benutzer Code", wrongOrExpired: "Ung\xFCltiger oder abgelaufener Code" }, emailChange: { title: "E-Mail Wechsel best\xE4tigt", textChanged: "Ihre E-Mail Adresse wurde erfolgreich ge\xE4ndert von", textLogin: "Sie k\xF6nnen sich jetzt mit der neuen Adresse einloggen.", to: "zu" }, error: { details: "Details Anzeigen" }, index: { register: "Registrieren", accountLogin: "Account", adminLogin: "Admin" }, logout: { logout: "Logout", confirmMsg: "Sind Sie sicher, dass Sie sich ausloggen und die Session beenden m\xF6chten?", cancel: "Abbrechen" }, mfa: { p1: "Wenn Sie mehrere Systeme parallel nutzen m\xF6chten, wie z.B. Windows und Android, sollten Sie die Registrierung mit Android durchf\xFChren.", p2: "Android ist diejenige Plattform, die derzeit die wenigsten Features der passwortlosen Technologie unterst\xFCtzt. Schl\xFCssel, die dort registriert werden, funktionieren auf anderen Ger\xE4ten gleicherma\xDFen. Dies gilt jedoch nicht andersherum.", errorReg: "Fehler beim Starten der Registrierung", lastUsed: "Zuletzt genutzt", noKey: "Es wurde in diesem Speicher noch kein Sicherheitsschl\xFCssel registriert", register: "Registrieren", registerNew: "Neuen Key Registrieren", registerd: "Registriert", registerdKeys: "Registrierte Keys", passkeyName: "Passkey Name", passkeyNameErr: "2 - 32 Buchstaben, keine Sonderzeichen", test: "Test", testError: "Fehler beim Starten des Tests", testSuccess: "Test erfolgreich" }, pagination: { entries: "Eintr\xE4ge", gotoPage: "Gehe zu Seite", gotoPagePrev: "Gehe zu vorheriger Seite", gotoPageNext: "Gehe zu n\xE4chster Seite", pagination: "Seitennummerierung", showCount: "Anzahl anzeigen", total: "Gesamt" }, passwordPolicy: { passwordPolicy: "Passwort Regeln", lengthMin: "L\xE4nge min", lengthMax: "L\xE4nge max", lowercaseMin: "Kleinbuchstaben min", uppercaseMin: "Gro\xDFbuchstaben min", digitsMin: "Ziffern min", specialMin: "Spezielle Buchstaben min", notRecent: "Keins der letzten Passw\xF6rter" }, passwordReset: { accountLogin: "Account Login", badFormat: "Ung\xFCltiges Format", fidoLink: "https://fidoalliance.org/fido2", generate: "Generieren", newAccDesc1: `Sie haben die Option zwischen zwei Account Typen zu w\xE4hlen: Passwortlos oder
+hinzuf\xFCgen.`, email: "E-Mail", emailBadFormat: "Inkorrektes E-Mail Format", emailRequired: "E-Mail ist notwendig", emailSentMsg: "Sollte Ihre Adresse registriert sein, wurde eine Nachricht versandt", expectingPasskey: "Erwarte Authentifizierung per Passkey", http429: "Zu viele ung\xFCltige Versuche. Gesperrt bis:", invalidCredentials: "Ung\xFCltige Zugangsdaten", invalidKeyUsed: "Ung\xFCltiger Sicherheitsschl\xFCssel", login: "Login", mfaAck: "Best\xE4tigt", orLoginWith: "or einloggen mit", password: "Password", passwordForgotten: "Password vergessen?", passwordRequest: "Anfordern", passwordRequired: "Password ist notwendig", requestExpires: "Anfrage l\xE4uft ab", requestExpired: "Anfrage ist abgelaufen", signUp: "Benutzer Registrierung", validEmail: "G\xFCltige E-Mail Adresse" }, device: { accept: "Akzeptieren", autoRedirectAccount: "Automatische Weiterleitung zum Account folgt", closeWindow: "Dieses Fenster kann nun geschlossen werden.", decline: "Ablehnen", desc: "Bitte den {{count}}-stelligen vom Ger\xE4t angezeigten Benutzer Code eingeben.", descScopes: "Das Ger\xE4t fragt Zugang an zu:", isAccepted: "Die Anfrage wurde akzeptiert", isDeclined: "Die Anfrage wurde abgewiesen", submit: "Absenden", title: "Ger\xE4t Authorisierung", userCode: "Benutzer Code", wrongOrExpired: "Ung\xFCltiger oder abgelaufener Code" }, emailChange: { title: "E-Mail Wechsel best\xE4tigt", textChanged: "Ihre E-Mail Adresse wurde erfolgreich ge\xE4ndert von", textLogin: "Sie k\xF6nnen sich jetzt mit der neuen Adresse einloggen.", to: "zu" }, error: { details: "Details Anzeigen" }, index: { register: "Registrieren", accountLogin: "Account", adminLogin: "Admin" }, logout: { logout: "Logout", confirmMsg: "Sind Sie sicher, dass Sie sich ausloggen und die Session beenden m\xF6chten?", cancel: "Abbrechen" }, mfa: { p1: "Wenn Sie mehrere Systeme parallel nutzen m\xF6chten, wie z.B. Windows und Android, sollten Sie die Registrierung mit Android durchf\xFChren.", p2: "Android ist diejenige Plattform, die derzeit die wenigsten Features der passwortlosen Technologie unterst\xFCtzt. Schl\xFCssel, die dort registriert werden, funktionieren auf anderen Ger\xE4ten gleicherma\xDFen. Dies gilt jedoch nicht andersherum.", errorReg: "Fehler beim Starten der Registrierung", lastUsed: "Zuletzt genutzt", noKey: "Es wurde in diesem Speicher noch kein Sicherheitsschl\xFCssel registriert", register: "Registrieren", registerNew: "Neuen Key Registrieren", registerd: "Registriert", registerdKeys: "Registrierte Keys", passkeyName: "Passkey Name", passkeyNameErr: "2 - 32 Buchstaben, keine Sonderzeichen", test: "Test", testError: "Fehler beim Starten des Tests", testSuccess: "Test erfolgreich" }, pagination: { entries: "Eintr\xE4ge", gotoPage: "Gehe zu Seite", gotoPagePrev: "Gehe zu vorheriger Seite", gotoPageNext: "Gehe zu n\xE4chster Seite", pagination: "Seitennummerierung", showCount: "Anzahl anzeigen", total: "Gesamt" }, passwordPolicy: { passwordPolicy: "Passwort Regeln", lengthMin: "L\xE4nge min", lengthMax: "L\xE4nge max", lowercaseMin: "Kleinbuchstaben min", uppercaseMin: "Gro\xDFbuchstaben min", digitsMin: "Ziffern min", specialMin: "Spezielle Buchstaben min", notRecent: "Keins der letzten Passw\xF6rter" }, passwordReset: { accountLogin: "Account Login", badFormat: "Ung\xFCltiges Format", fidoLink: "https://fidoalliance.org/fido2", generate: "Generieren", newAccDesc1: `Sie haben die Option zwischen zwei Account Typen zu w\xE4hlen: Passwortlos oder
 traditionalles Passwort.`, newAccDesc2: `Der passwortlose Account Typ ist immer zu bevorzugen. Er bietet einen
 sehr viel h\xF6heren Sicherheitsstandard als traditionelle Passw\xF6rter und gleichzeitig einen einfacheren
 und schnelleren Login.
 Dazu wird mindestens ein Passkey (Yubikey, Apple Touch ID, Windows Hello, ...) ben\xF6tigt, welcher dem
 FIDO2 Standard gerecht wird. F\xFCr weitere Informationen k\xF6nnen Sie diesem Link folgen: `, newAccount: "Neuer Account", passwordReset: "Passwort Zur\xFCcksetzen", password: "Passwort", passwordless: "Passkey", passwordConfirm: "Passwort best\xE4tigen", passwordNoMatch: "Passw\xF6rter stimmen nicht \xFCberein", required: "Notwendig", save: "Speichern", success1: "Das Passwort wurde erfolgreich zur\xFCckgesetzt.", success2: "Sie werden in K\xFCrze weitergeleitet.", success3: "Sollte Sie nicht weitergeleitet werden, klicken Sie bitte hier:", successPasskey1: "Der neue Passkey wurde erfolgreich registriert.", successPasskey2: `Bitte loggen Sie sich direkt in Ihren Account ein und registrieren
 Sie mindestens einen weiteren Backup Passkey. Ein passwortloser Account kann nicht den Passwort
-Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden kommt.` }, register: { alreadyRegistered: "E-Mail is bereits registriert", domainAllowed: "Erlaubte Domain:", domainErr: "E-Mail Domain ist nicht erlaubt", domainRestricted: "E-Mail Domains sind beschr\xE4nkt", email: "E-Mail", emailBadFormat: "Ung\xFCltiges E-Mail Format", emailCheck: "Bitte pr\xFCfen Sie Ihren E-Mail Posteingang", regexName: "Name mit 2 - 32 Buchstaben ohne Sonderzeichen", register: "Registrieren", success: "Registrierung erfolgreich", userReg: "Benutzer Registrierung" } }, t = { lang: "ko", common: { cancel: "\uCDE8\uC18C", changeTheme: "Change Theme", close: "Close", copyToClip: "Copy value to clipboard", delete: "\uC0AD\uC81C", details: "Details", email: "\uC774\uBA54\uC77C", errTooShort: "\uC785\uB825\uC774 \uB108\uBB34 \uC9E7\uC2B5\uB2C8\uB2E4.", errTooLong: "\uC785\uB825\uC774 \uB108\uBB34 \uAE41\uB2C8\uB2E4.", expandContent: "Expand content", hide: "Hide", hours: "Hours", invalidInput: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC785\uB2C8\uB2E4.", legend: "Legend", minutes: "Minutes", month: "Month", months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], never: "\uBB34\uAE30\uD55C", password: "\uBE44\uBC00\uBC88\uD638", required: "\uD544\uC218 \uD56D\uBAA9\uC785\uB2C8\uB2E4.", save: "\uC800\uC7A5", selectI18n: "Select Language", show: "Show", summary: "Summary", weekDaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], year: "Year" }, account: { account: "\uC0AC\uC6A9\uC790 \uACC4\uC815", accType: "\uACC4\uC815 \uC885\uB958", accTypePasskeyText1: `\uC774 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC785\uB2C8\uB2E4.
+Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden kommt.` }, register: { alreadyRegistered: "E-Mail is bereits registriert", domainAllowed: "Erlaubte Domain:", domainErr: "E-Mail Domain ist nicht erlaubt", domainRestricted: "E-Mail Domains sind beschr\xE4nkt", email: "E-Mail", emailBadFormat: "Ung\xFCltiges E-Mail Format", emailCheck: "Bitte pr\xFCfen Sie Ihren E-Mail Posteingang", regexName: "Name mit 2 - 32 Buchstaben ohne Sonderzeichen", register: "Registrieren", success: "Registrierung erfolgreich", userReg: "Benutzer Registrierung" } }, i = { lang: "ko", common: { cancel: "\uCDE8\uC18C", changeTheme: "Change Theme", close: "Close", copyToClip: "Copy value to clipboard", delete: "\uC0AD\uC81C", details: "Details", email: "\uC774\uBA54\uC77C", errTooShort: "\uC785\uB825\uC774 \uB108\uBB34 \uC9E7\uC2B5\uB2C8\uB2E4.", errTooLong: "\uC785\uB825\uC774 \uB108\uBB34 \uAE41\uB2C8\uB2E4.", expandContent: "Expand content", hide: "Hide", hours: "Hours", invalidInput: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC785\uB2C8\uB2E4.", legend: "Legend", minutes: "Minutes", month: "Month", months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], never: "\uBB34\uAE30\uD55C", password: "\uBE44\uBC00\uBC88\uD638", required: "\uD544\uC218 \uD56D\uBAA9\uC785\uB2C8\uB2E4.", save: "\uC800\uC7A5", selectI18n: "Select Language", show: "Show", summary: "Summary", weekDaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], year: "Year" }, account: { account: "\uC0AC\uC6A9\uC790 \uACC4\uC815", accType: "\uACC4\uC815 \uC885\uB958", accTypePasskeyText1: `\uC774 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC785\uB2C8\uB2E4.
 \uC989, \uBE44\uBC00\uBC88\uD638\uAC00 \uD544\uC694\uD558\uC9C0 \uC54A\uC73C\uBBC0\uB85C, \uBE44\uBC00\uBC88\uD638\uAC00 \uC804\uD600 \uC5C6\uB2E4\uB294 \uB73B\uC785\uB2C8\uB2E4.`, accTypePasskeyText2: `\uACC4\uC815\uC744 \uC804\uD658\uD558\uACE0 \uBE44\uBC00\uBC88\uD638\uB97C \uCD94\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 \uB2E4\uB9CC, \uC774\uB807\uAC8C \uD558\uBA74 \uC0C8 \uAE30\uAE30\uB97C \uC778\uC99D\uD560 \uB54C\uB9C8\uB2E4 \uCD94\uAC00\uC801\uC73C\uB85C \uBE44\uBC00\uBC88\uD638 \uC778\uC99D\uC744 \uD574\uC57C \uD55C\uB2E4\uB294 \uAC83\uC744 \uBA85\uC2EC\uD574 \uC8FC\uC138\uC694.
 \uD55C \uBC88\uB3C4 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD55C \uC801\uC774 \uC5C6\uB294 \uAE30\uAE30\uC5D0\uC11C\uB294 \uBC14\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`, accTypePasskeyText3: "\uACC4\uC815\uC744 \uC804\uD658\uD558\uACE0 \uBE44\uBC00\uBC88\uD638\uB97C \uCD94\uAC00\uD558\uACA0\uC2B5\uB2C8\uAE4C?", accessExp: "\uC811\uADFC \uB9CC\uB8CC", accessRenew: "\uC811\uADFC \uAC31\uC2E0 \uAE30\uD55C", accessRenewDelete: "\uAC31\uC2E0\uD560 \uAC00\uB2A5\uC131\uC744 \uC81C\uAC70", birthdate: "\uC0DD\uB144\uC6D4\uC77C", city: "\uB3C4\uC2DC", changePassword: "\uBE44\uBC00\uBC88\uD638 \uBCC0\uACBD", convertAccount: "\uACC4\uC815 \uC804\uD658", convertAccountP1: `\uACC4\uC815\uC744 \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC73C\uB85C \uC804\uD658\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
@@ -62,10 +62,10 @@ Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden ko
 \uBE44\uBC00\uBC88\uD638\uAC00 \uACC4\uC815\uC5D0 \uCD94\uAC00\uB420 \uAC81\uB2C8\uB2E4. \uADF8\uB7EC\uBA74 \uC678\uBD80 \uC81C\uACF5\uC790 \uB610\uB294 \uB0B4\uBD80\uC801\uC778 \uBE44\uBC00\uBC88\uD638\uB97C \uD1B5\uD558\uC5EC \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uCD08\uAE30\uD654\uB97C \uC694\uCCAD\uD558\uACA0\uC2B5\uB2C8\uAE4C?`, generateRandom: "\uBB34\uC791\uC704\uB85C \uC0DD\uC131", givenName: "\uC774\uB984", groups: "\uADF8\uB8F9", key: "\uD0A4", keyUnique: "\uD0A4\uB294 \uACE0\uC720\uD574\uC57C \uD569\uB2C8\uB2E4.", lastLogin: "\uB9C8\uC9C0\uB9C9 \uB85C\uADF8\uC778 \uC77C", mfaActivated: "MFA \uD65C\uC131\uD654 \uC5EC\uBD80", navInfo: "\uC815\uBCF4", navEdit: "\uC218\uC815", navMfa: "MFA", navLogout: "\uB85C\uADF8\uC544\uC6C3", passwordConfirm: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778", passwordCurr: "\uD604\uC7AC \uBE44\uBC00\uBC88\uD638", passwordCurrReq: "\uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.", passwordNew: "\uC0C8 \uBE44\uBC00\uBC88\uD638", passwordNewReq: "\uC0C8 \uBE44\uBC00\uBC88\uD638\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.", passwordNoMatch: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", passwordExpiry: "\uBE44\uBC00\uBC88\uD638 \uB9CC\uB8CC\uC77C", passwordPolicyFollow: "\uBE44\uBC00\uBC88\uD638 \uC815\uCC45\uC744 \uC900\uC218\uD574\uC57C \uD569\uB2C8\uB2E4.", passwordReset: "\uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654", phone: "\uC804\uD654\uBC88\uD638", providerLink: "\uD398\uB354\uB808\uC774\uC158 \uACC4\uC815", providerLinkDesc: `\uC774 \uACC4\uC815\uC740 \uB2E4\uC74C \uC911 \uD558\uB098\uC758 \uB85C\uADF8\uC778 \uC81C\uACF5\uC790\uC5D0 \uC5F0\uACB0\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 \uC774 \uAE30\uB2A5\uC744 \uD65C\uC131\uD654\uD558\uBA74, \uC120\uD0DD\uD55C \uAC83\uC758 \uB85C\uADF8\uC778 \uD398\uC774\uC9C0\uB85C \uB9AC\uB2E4\uC774\uB809\uD2B8\uB420 \uAC81\uB2C8\uB2E4. \uC131\uACF5\uC801\uC73C\uB85C \uB85C\uADF8\uC778\uD558\uACE0 \uC774\uBA54\uC77C\uC774 \uC77C\uCE58\uD558\uBA74, \uACC4\uC815\uC774 \uC5F0\uACB0\uB420 \uAC81\uB2C8\uB2E4.`, providerUnlink: "\uD398\uB354\uB808\uC774\uC158 \uD574\uC81C", providerUnlinkDesc: "\uC774 \uACC4\uC815\uC5D0 \uCD5C\uC18C \uD558\uB098\uC758 \uBE44\uBC00\uBC88\uD638 \uB610\uB294 \uD328\uC2A4\uD0A4\uB97C \uC124\uC815\uD558\uBA74, \uC0C1\uC704 \uC81C\uACF5\uC790\uB85C\uBD80\uD130 \uC5F0\uACB0\uC744 \uD574\uC81C\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", regDate: "\uAC00\uC785\uC77C", regIp: "IP\uC5D0\uC11C \uAC00\uC785", roles: "\uC5ED\uD560", street: "\uC8FC\uC18C", user: "\uC0AC\uC6A9\uC790", userCreated: "\uC0AC\uC6A9\uC790 \uC0DD\uC131\uC77C", userEnabled: "\uC0AC\uC6A9\uC790 \uD65C\uC131\uD654 \uC5EC\uBD80", userExpiry: "\uC0AC\uC6A9\uC790 \uB9CC\uB8CC", userVerifiedTooltip: "\uC9C0\uBB38 \uB610\uB294 PIN\uC744 \uD1B5\uD574 \uBCF4\uD638", webIdDesc: `WebID\uC640 \uD568\uAED8 \uB178\uCD9C\uD560 \uD56D\uBAA9\uC744 \uC124\uC815\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 \uC774 \uAE30\uB2A5\uC740 \uBA87\uBA87 \uD0C8\uC911\uC559\uD654\uB41C \uB85C\uADF8\uC778 \uB124\uD2B8\uC6CC\uD06C\uC5D0\uC11C \uC0AC\uC6A9\uB429\uB2C8\uB2E4. \uC774\uAC83\uC774 \uBB34\uC5C7\uC778\uC9C0 \uBAA8\uB974\uBA74, \uB300\uCCB4\uB85C \uD544\uC694\uD558\uC9C0 \uC54A\uC744 \uAC83\uC785\uB2C8\uB2E4.`, webIdDescData: "WebID\uC5D0\uC11C \uC720\uD6A8\uD55C FOAF \uC5B4\uD718\uB97C \uC0AC\uC6A9\uC790 \uC9C0\uC815 \uB370\uC774\uD130 \uD56D\uBAA9\uC5D0 \uCD94\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4", webIdExpertMode: "\uC804\uBB38\uAC00 \uBAA8\uB4DC \uD65C\uC131\uD654", zip: "\uC6B0\uD3B8\uBC88\uD638" }, authorize: { clientForceMfa: `\uC774 \uB85C\uADF8\uC778\uC740 \uB354 \uB192\uC740 \uC218\uC900\uC758 \uBCF4\uC548\uC744 \uC704\uD574\uC11C MFA\uB97C \uAC15\uC81C\uD569\uB2C8\uB2E4.
-\uC811\uADFC\uD558\uB824\uBA74, \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uD558\uACE0 \uCD5C\uC18C \uD558\uB098 \uC774\uC0C1\uC758 \uD328\uC2A4\uD0A4\uB97C \uCD94\uAC00\uD574\uC57C \uD569\uB2C8\uB2E4.`, email: "\uC774\uBA54\uC77C", emailBadFormat: "\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.", emailRequired: "\uC774\uBA54\uC77C\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", emailSentMsg: "\uC774\uBA54\uC77C\uC774 \uC874\uC7AC\uD558\uBA74, \uC694\uCCAD\uC774 \uC804\uC1A1\uB418\uC5C8\uC744 \uAC83\uC785\uB2C8\uB2E4.", expectingPasskey: "MFA \uAE30\uAE30\uB97C \uD1B5\uD574 \uB85C\uADF8\uC778\uD574 \uC8FC\uC138\uC694.", http429: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uC2DC\uAC04 \uC804\uAE4C\uC9C0 \uBE44\uD65C\uC131\uD654\uD569\uB2C8\uB2E4:", invalidCredentials: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC778\uC99D \uC815\uBCF4\uC785\uB2C8\uB2E4.", invalidKeyUsed: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD0A4\uC785\uB2C8\uB2E4.", login: "\uB85C\uADF8\uC778", mfaAck: "\uD655\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", orLoginWith: "or login with", password: "\uBE44\uBC00\uBC88\uD638", passwordForgotten: "\uBE44\uBC00\uBC88\uD638\uB97C \uC78A\uC73C\uC168\uB098\uC694?", passwordRequest: "\uC694\uCCAD", passwordRequired: "\uBE44\uBC00\uBC88\uD638\uB294 \uD544\uC694\uD569\uB2C8\uB2E4.", requestExpires: "\uC694\uCCAD \uB9CC\uB8CC\uC77C", requestExpired: "Request has expired", signUp: "\uC0AC\uC6A9\uC790 \uAC00\uC785" }, device: { accept: "\uC218\uB77D", autoRedirectAccount: "\uC9C0\uAE08 \uACC4\uC815\uC73C\uB85C \uB9AC\uB2E4\uC774\uB809\uD2B8\uB420 \uC608\uC815\uC785\uB2C8\uB2E4.", closeWindow: "\uC774\uC81C \uCC3D\uC744 \uB2EB\uC544\uB3C4 \uB429\uB2C8\uB2E4.", decline: "\uAC70\uC808", desc: "\uAE30\uAE30\uC5D0\uC11C {{count}}\uC790\uC758 \uC0AC\uC6A9\uC790 \uCF54\uB4DC\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694.", descScopes: "\uB2E4\uC74C \uAE30\uAE30\uAC00 \uC811\uADFC\uC744 \uC694\uCCAD\uD569\uB2C8\uB2E4:", isAccepted: "\uC694\uCCAD\uC774 \uC218\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", isDeclined: "\uC694\uCCAD\uC774 \uAC70\uC808\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", submit: "\uC81C\uCD9C", title: "\uAE30\uAE30 \uC778\uC99D", userCode: "\uC0AC\uC6A9\uC790 \uCF54\uB4DC", wrongOrExpired: "\uC798\uBABB\uB418\uAC70\uB098 \uB9CC\uB8CC\uB41C \uCF54\uB4DC\uC785\uB2C8\uB2E4." }, emailChange: { title: "\uC774\uBA54\uC77C \uBCC0\uACBD\uC774 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", textChanged: "\uC774\uBA54\uC77C \uC8FC\uC18C\uAC00 \uB2E4\uC74C\uC73C\uB85C\uBD80\uD130 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4", textLogin: "\uC774\uC81C \uC0C8\uB85C\uC6B4 \uC8FC\uC18C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", to: "\uC5D0\uC11C" }, error: { details: "\uC790\uC138\uD55C \uC815\uBCF4 \uD45C\uC2DC" }, index: { register: "\uAC00\uC785", accountLogin: "\uACC4\uC815", adminLogin: "\uAD00\uB9AC" }, logout: { logout: "\uB85C\uADF8\uC544\uC6C3", confirmMsg: "\uC815\uB9D0\uB85C \uB85C\uADF8\uC544\uC6C3\uD558\uACE0 \uC138\uC158\uC744 \uC885\uB8CC\uD558\uACA0\uC2B5\uB2C8\uAE4C?", cancel: "\uCDE8\uC18C" }, mfa: { p1: "\uC708\uB3C4\uC6B0\uC640 \uC548\uB4DC\uB85C\uC774\uB4DC\uC640 \uAC19\uC740 \uC5EC\uB7EC \uC2DC\uC2A4\uD15C\uC5D0\uC11C MFA \uD0A4\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74, \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD574\uC57C \uD569\uB2C8\uB2E4.", p2: "\uC548\uB4DC\uB85C\uC774\uB4DC\uB294 \uBE44\uBC00\uBC88\uD638 \uC5C6\uC774 \uC778\uC99D\uD558\uB294 \uAE30\uC220\uC744 \uAC00\uC7A5 \uC801\uAC8C \uC9C0\uC6D0\uD558\uB294 \uD50C\uB7AB\uD3FC \uC911 \uD558\uB098\uC785\uB2C8\uB2E4. \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD55C \uD0A4\uB294 \uB2E4\uB978 \uACF3\uC5D0\uC11C\uB3C4 \uC791\uB3D9\uD569\uB2C8\uB2E4. \uADF8\uB7EC\uB098, \uADF8 \uBC18\uB300\uB85C\uB294 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.", errorReg: "\uAC00\uC785 \uC808\uCC28 \uC2DC\uC791 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.", lastUsed: "\uB9C8\uC9C0\uB9C9 \uC0AC\uC6A9", noKey: "\uC774 \uC2AC\uB86F\uC5D0 \uB4F1\uB85D\uB41C \uBCF4\uC548 \uD0A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.", register: "\uB4F1\uB85D", registerNew: "\uC0C8 \uD0A4 \uB4F1\uB85D", registerd: "\uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", registerdKeys: "\uB4F1\uB85D\uB41C \uD0A4", passkeyName: "\uD328\uC2A4\uD0A4 \uC774\uB984", passkeyNameErr: "\uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.", test: "\uD14C\uC2A4\uD2B8", testError: "\uD14C\uC2A4\uD2B8 \uC2DC\uC791 \uC911\uC5D0 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.", testSuccess: "\uD14C\uC2A4\uD2B8 \uC131\uACF5" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "\uBE44\uBC00\uBC88\uD638 \uC815\uCC45", lengthMin: "\uCD5C\uC18C \uC790\uC218", lengthMax: "\uCD5C\uB300 \uC790\uC218", lowercaseMin: "\uCD5C\uC18C \uC18C\uBB38\uC790 \uC790\uC218", uppercaseMin: "\uCD5C\uC18C \uB300\uBB38\uC790 \uC790\uC218", digitsMin: "\uCD5C\uC18C \uC22B\uC790 \uC790\uC218", specialMin: "\uCD5C\uC18C \uD2B9\uC218\uBB38\uC790 \uC790\uC218", notRecent: "\uCD5C\uADFC \uC0AC\uC6A9\uD55C \uBE44\uBC00\uBC88\uD638 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC \uAC83" }, passwordReset: { accountLogin: "\uACC4\uC815 \uB85C\uADF8\uC778", badFormat: "\uC798\uBABB\uB41C \uD615\uC2DD", fidoLink: "https://fidoalliance.org/fido2/?lang=ko", generate: "\uC0DD\uC131", newAccDesc1: "\uACC4\uC815 \uC885\uB958\uB294 \uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815 \uB610\uB294 \uAE30\uC874\uC758 \uBE44\uBC00\uBC88\uD638\uAC00 \uC788\uB294 \uACC4\uC815 \uC911 \uD558\uB098\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", newAccDesc2: `\uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815\uC740 \uB354 \uAC15\uB825\uD55C \uBCF4\uC548 \uBC29\uBC95\uC744 \uC81C\uACF5\uD558\uAE30 \uB54C\uBB38\uC5D0 \uD56D\uC0C1 \uC120\uD638\uB429\uB2C8\uB2E4.
+\uC811\uADFC\uD558\uB824\uBA74, \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uD558\uACE0 \uCD5C\uC18C \uD558\uB098 \uC774\uC0C1\uC758 \uD328\uC2A4\uD0A4\uB97C \uCD94\uAC00\uD574\uC57C \uD569\uB2C8\uB2E4.`, email: "\uC774\uBA54\uC77C", emailBadFormat: "\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.", emailRequired: "\uC774\uBA54\uC77C\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.", emailSentMsg: "\uC774\uBA54\uC77C\uC774 \uC874\uC7AC\uD558\uBA74, \uC694\uCCAD\uC774 \uC804\uC1A1\uB418\uC5C8\uC744 \uAC83\uC785\uB2C8\uB2E4.", expectingPasskey: "MFA \uAE30\uAE30\uB97C \uD1B5\uD574 \uB85C\uADF8\uC778\uD574 \uC8FC\uC138\uC694.", http429: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uC2DC\uAC04 \uC804\uAE4C\uC9C0 \uBE44\uD65C\uC131\uD654\uD569\uB2C8\uB2E4:", invalidCredentials: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC778\uC99D \uC815\uBCF4\uC785\uB2C8\uB2E4.", invalidKeyUsed: "\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD0A4\uC785\uB2C8\uB2E4.", login: "\uB85C\uADF8\uC778", mfaAck: "\uD655\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", orLoginWith: "or login with", password: "\uBE44\uBC00\uBC88\uD638", passwordForgotten: "\uBE44\uBC00\uBC88\uD638\uB97C \uC78A\uC73C\uC168\uB098\uC694?", passwordRequest: "\uC694\uCCAD", passwordRequired: "\uBE44\uBC00\uBC88\uD638\uB294 \uD544\uC694\uD569\uB2C8\uB2E4.", requestExpires: "\uC694\uCCAD \uB9CC\uB8CC\uC77C", requestExpired: "Request has expired", signUp: "\uC0AC\uC6A9\uC790 \uAC00\uC785", validEmail: "Valid E-Mail Address" }, device: { accept: "\uC218\uB77D", autoRedirectAccount: "\uC9C0\uAE08 \uACC4\uC815\uC73C\uB85C \uB9AC\uB2E4\uC774\uB809\uD2B8\uB420 \uC608\uC815\uC785\uB2C8\uB2E4.", closeWindow: "\uC774\uC81C \uCC3D\uC744 \uB2EB\uC544\uB3C4 \uB429\uB2C8\uB2E4.", decline: "\uAC70\uC808", desc: "\uAE30\uAE30\uC5D0\uC11C {{count}}\uC790\uC758 \uC0AC\uC6A9\uC790 \uCF54\uB4DC\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694.", descScopes: "\uB2E4\uC74C \uAE30\uAE30\uAC00 \uC811\uADFC\uC744 \uC694\uCCAD\uD569\uB2C8\uB2E4:", isAccepted: "\uC694\uCCAD\uC774 \uC218\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", isDeclined: "\uC694\uCCAD\uC774 \uAC70\uC808\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", submit: "\uC81C\uCD9C", title: "\uAE30\uAE30 \uC778\uC99D", userCode: "\uC0AC\uC6A9\uC790 \uCF54\uB4DC", wrongOrExpired: "\uC798\uBABB\uB418\uAC70\uB098 \uB9CC\uB8CC\uB41C \uCF54\uB4DC\uC785\uB2C8\uB2E4." }, emailChange: { title: "\uC774\uBA54\uC77C \uBCC0\uACBD\uC774 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", textChanged: "\uC774\uBA54\uC77C \uC8FC\uC18C\uAC00 \uB2E4\uC74C\uC73C\uB85C\uBD80\uD130 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4", textLogin: "\uC774\uC81C \uC0C8\uB85C\uC6B4 \uC8FC\uC18C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", to: "\uC5D0\uC11C" }, error: { details: "\uC790\uC138\uD55C \uC815\uBCF4 \uD45C\uC2DC" }, index: { register: "\uAC00\uC785", accountLogin: "\uACC4\uC815", adminLogin: "\uAD00\uB9AC" }, logout: { logout: "\uB85C\uADF8\uC544\uC6C3", confirmMsg: "\uC815\uB9D0\uB85C \uB85C\uADF8\uC544\uC6C3\uD558\uACE0 \uC138\uC158\uC744 \uC885\uB8CC\uD558\uACA0\uC2B5\uB2C8\uAE4C?", cancel: "\uCDE8\uC18C" }, mfa: { p1: "\uC708\uB3C4\uC6B0\uC640 \uC548\uB4DC\uB85C\uC774\uB4DC\uC640 \uAC19\uC740 \uC5EC\uB7EC \uC2DC\uC2A4\uD15C\uC5D0\uC11C MFA \uD0A4\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74, \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD574\uC57C \uD569\uB2C8\uB2E4.", p2: "\uC548\uB4DC\uB85C\uC774\uB4DC\uB294 \uBE44\uBC00\uBC88\uD638 \uC5C6\uC774 \uC778\uC99D\uD558\uB294 \uAE30\uC220\uC744 \uAC00\uC7A5 \uC801\uAC8C \uC9C0\uC6D0\uD558\uB294 \uD50C\uB7AB\uD3FC \uC911 \uD558\uB098\uC785\uB2C8\uB2E4. \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD55C \uD0A4\uB294 \uB2E4\uB978 \uACF3\uC5D0\uC11C\uB3C4 \uC791\uB3D9\uD569\uB2C8\uB2E4. \uADF8\uB7EC\uB098, \uADF8 \uBC18\uB300\uB85C\uB294 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.", errorReg: "\uAC00\uC785 \uC808\uCC28 \uC2DC\uC791 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.", lastUsed: "\uB9C8\uC9C0\uB9C9 \uC0AC\uC6A9", noKey: "\uC774 \uC2AC\uB86F\uC5D0 \uB4F1\uB85D\uB41C \uBCF4\uC548 \uD0A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.", register: "\uB4F1\uB85D", registerNew: "\uC0C8 \uD0A4 \uB4F1\uB85D", registerd: "\uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", registerdKeys: "\uB4F1\uB85D\uB41C \uD0A4", passkeyName: "\uD328\uC2A4\uD0A4 \uC774\uB984", passkeyNameErr: "\uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.", test: "\uD14C\uC2A4\uD2B8", testError: "\uD14C\uC2A4\uD2B8 \uC2DC\uC791 \uC911\uC5D0 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.", testSuccess: "\uD14C\uC2A4\uD2B8 \uC131\uACF5" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "\uBE44\uBC00\uBC88\uD638 \uC815\uCC45", lengthMin: "\uCD5C\uC18C \uC790\uC218", lengthMax: "\uCD5C\uB300 \uC790\uC218", lowercaseMin: "\uCD5C\uC18C \uC18C\uBB38\uC790 \uC790\uC218", uppercaseMin: "\uCD5C\uC18C \uB300\uBB38\uC790 \uC790\uC218", digitsMin: "\uCD5C\uC18C \uC22B\uC790 \uC790\uC218", specialMin: "\uCD5C\uC18C \uD2B9\uC218\uBB38\uC790 \uC790\uC218", notRecent: "\uCD5C\uADFC \uC0AC\uC6A9\uD55C \uBE44\uBC00\uBC88\uD638 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC \uAC83" }, passwordReset: { accountLogin: "\uACC4\uC815 \uB85C\uADF8\uC778", badFormat: "\uC798\uBABB\uB41C \uD615\uC2DD", fidoLink: "https://fidoalliance.org/fido2/?lang=ko", generate: "\uC0DD\uC131", newAccDesc1: "\uACC4\uC815 \uC885\uB958\uB294 \uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815 \uB610\uB294 \uAE30\uC874\uC758 \uBE44\uBC00\uBC88\uD638\uAC00 \uC788\uB294 \uACC4\uC815 \uC911 \uD558\uB098\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.", newAccDesc2: `\uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815\uC740 \uB354 \uAC15\uB825\uD55C \uBCF4\uC548 \uBC29\uBC95\uC744 \uC81C\uACF5\uD558\uAE30 \uB54C\uBB38\uC5D0 \uD56D\uC0C1 \uC120\uD638\uB429\uB2C8\uB2E4.
 \uC774\uB7EC\uD55C \uACC4\uC815\uC744 \uC0DD\uC131\uD558\uB824\uBA74 \uCD5C\uC18C \uD558\uB098\uC758 \uD328\uC2A4\uD0A4(Yubikey, Apple Touch ID, Windows Hello, ...)\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uAE30\uAE30\uAC00 FIDO2 \uD45C\uC900\uC744 \uC9C0\uC6D0\uD574\uC57C \uD569\uB2C8\uB2E4.
 \uB354 \uC790\uC138\uD55C \uC0AC\uD56D\uC740 \uB2E4\uC74C \uB9C1\uD06C\uB97C \uCC38\uACE0\uD574 \uC8FC\uC138\uC694: `, newAccount: "\uC0C8 \uACC4\uC815", passwordReset: "\uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654", password: "\uBE44\uBC00\uBC88\uD638", passwordless: "\uD328\uC2A4\uD0A4", passwordConfirm: "\uBE44\uBC00\uBC88\uD638 \uD655\uC778", passwordNoMatch: "\uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.", required: "\uD544\uC218", save: "\uC800\uC7A5", success1: "\uBE44\uBC00\uBC88\uD638\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", success2: "\uACE7 \uB9AC\uB2E4\uC774\uB809\uD2B8\uB429\uB2C8\uB2E4.", success3: "\uB9CC\uC57D \uB9AC\uB2E4\uC774\uB809\uD2B8\uAC00 \uB418\uC9C0 \uC54A\uC73C\uBA74, \uC5EC\uAE30\uB97C \uD074\uB9AD\uD574 \uC8FC\uC138\uC694:", successPasskey1: "\uC0C8\uB85C\uC6B4 \uD328\uC2A4\uD0A4\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", successPasskey2: `\uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uD558\uC5EC \uAC00\uB2A5\uD55C \uD55C \uBE68\uB9AC \uB450 \uBC88\uC9F8 \uBC31\uC5C5 \uD0A4\uB97C \uB4F1\uB85D\uD574 \uC8FC\uC138\uC694.
-\uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4\uB97C \uC783\uC5B4\uBC84\uB9AC\uBA74, \uC774\uBA54\uC77C\uC744 \uD1B5\uD558\uC5EC \uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.` }, register: { alreadyRegistered: "E-Mail is already registered", domainAllowed: "\uD5C8\uC6A9\uB41C \uB3C4\uBA54\uC778:", domainErr: "\uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC785\uB2C8\uB2E4.", domainRestricted: "\uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC774 \uC81C\uD55C\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.", email: "\uC774\uBA54\uC77C", emailBadFormat: "\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.", emailCheck: "\uC774\uBA54\uC77C \uBCF4\uAD00\uD568\uC744 \uD655\uC778\uD574 \uC8FC\uC138\uC694.", regexName: "\uC774\uB984\uC740 \uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.", register: "\uAC00\uC785", success: "\uC131\uACF5\uC801\uC73C\uB85C \uAC00\uC785\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", userReg: "\uC0AC\uC6A9\uC790 \uAC00\uC785" } }, i = { lang: "zh", common: { cancel: "\u53D6\u6D88", changeTheme: "Change Theme", close: "Close", copyToClip: "Copy value to clipboard", delete: "\u5220\u9664", details: "Details", email: "\u7535\u5B50\u90AE\u7BB1", errTooShort: "\u8F93\u5165\u8FC7\u77ED", errTooLong: "\u8F93\u5165\u8FC7\u957F", expandContent: "Expand content", hide: "Hide", hours: "Hours", invalidInput: "\u65E0\u6548\u8F93\u5165", legend: "Legend", minutes: "Minutes", month: "Month", months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], never: "\u4ECE\u4E0D", password: "\u5BC6\u7801", required: "\u5FC5\u586B", save: "\u4FDD\u5B58", selectI18n: "Select Language", show: "Show", summary: "Summary", weekDaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], year: "Year" }, account: { account: "\u7528\u6237\u8D26\u6237", accType: "\u8D26\u6237\u7C7B\u578B", accTypePasskeyText1: `\u6B64\u8D26\u6237\u76EE\u524D\u4E3A\u4EC5\u5BC6\u94A5\u767B\u5F55\u8D26\u6237\u3002
+\uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4\uB97C \uC783\uC5B4\uBC84\uB9AC\uBA74, \uC774\uBA54\uC77C\uC744 \uD1B5\uD558\uC5EC \uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.` }, register: { alreadyRegistered: "E-Mail is already registered", domainAllowed: "\uD5C8\uC6A9\uB41C \uB3C4\uBA54\uC778:", domainErr: "\uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC785\uB2C8\uB2E4.", domainRestricted: "\uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC774 \uC81C\uD55C\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.", email: "\uC774\uBA54\uC77C", emailBadFormat: "\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.", emailCheck: "\uC774\uBA54\uC77C \uBCF4\uAD00\uD568\uC744 \uD655\uC778\uD574 \uC8FC\uC138\uC694.", regexName: "\uC774\uB984\uC740 \uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.", register: "\uAC00\uC785", success: "\uC131\uACF5\uC801\uC73C\uB85C \uAC00\uC785\uB418\uC5C8\uC2B5\uB2C8\uB2E4.", userReg: "\uC0AC\uC6A9\uC790 \uAC00\uC785" } }, t = { lang: "zh", common: { cancel: "\u53D6\u6D88", changeTheme: "Change Theme", close: "Close", copyToClip: "Copy value to clipboard", delete: "\u5220\u9664", details: "Details", email: "\u7535\u5B50\u90AE\u7BB1", errTooShort: "\u8F93\u5165\u8FC7\u77ED", errTooLong: "\u8F93\u5165\u8FC7\u957F", expandContent: "Expand content", hide: "Hide", hours: "Hours", invalidInput: "\u65E0\u6548\u8F93\u5165", legend: "Legend", minutes: "Minutes", month: "Month", months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], never: "\u4ECE\u4E0D", password: "\u5BC6\u7801", required: "\u5FC5\u586B", save: "\u4FDD\u5B58", selectI18n: "Select Language", show: "Show", summary: "Summary", weekDaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], year: "Year" }, account: { account: "\u7528\u6237\u8D26\u6237", accType: "\u8D26\u6237\u7C7B\u578B", accTypePasskeyText1: `\u6B64\u8D26\u6237\u76EE\u524D\u4E3A\u4EC5\u5BC6\u94A5\u767B\u5F55\u8D26\u6237\u3002
 \u56E0\u6B64\uFF0C\u6B64\u8D26\u6237\u6CA1\u6709\u5BC6\u7801\uFF0C\u4E5F\u65E0\u9700\u8BBE\u7F6E\u5BC6\u7801\u3002`, accTypePasskeyText2: `\u60A8\u53EF\u4EE5\u8F6C\u6362\u6B64\u8D26\u6237\u5E76\u6DFB\u52A0\u5BC6\u7801\u3002
 \u4F46\u8BF7\u6CE8\u610F\uFF0C\u8C03\u6574\u540E\u5728\u65B0\u8BBE\u5907\u4E0A\u767B\u5F55\u65F6\u9700\u989D\u5916\u8FDB\u884C\u5BC6\u7801\u9A8C\u8BC1\u3002
 \u5982\u679C\u60A8\u6CA1\u6709\u4E8B\u5148\u8F93\u5165\u8FC7\u81F3\u5C11\u4E00\u6B21\u5BC6\u7801\uFF0C\u60A8\u5C06\u65E0\u6CD5\u5728\u4EFB\u4F55\u8BBE\u5907\u4E0A\u767B\u5F55\u3002`, accTypePasskeyText3: "\u60A8\u60F3\u8981\u8F6C\u6362\u60A8\u7684\u8D26\u6237\u5E76\u6DFB\u52A0\u4E00\u4E2A\u5BC6\u7801\u5417\uFF1F", accessExp: "\u8FC7\u671F", accessRenew: "\u7EED\u671F\u81F3", accessRenewDelete: "\u7981\u6B62\u7EED\u671F", birthdate: "\u751F\u65E5", city: "\u57CE\u5E02", changePassword: "\u66F4\u6539\u5BC6\u7801", convertAccount: "\u8F6C\u6362\u8D26\u6237", convertAccountP1: `\u60A8\u53EF\u4EE5\u5C06\u60A8\u7684\u8D26\u6237\u8F6C\u6362\u4E3A\u4EC5\u5BC6\u94A5\u767B\u9646\u8D26\u6237\u3002
@@ -77,7 +77,7 @@ Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden ko
 \u4E4B\u540E\u60A8\u53EF\u4EE5\u901A\u8FC7\u672C\u5730\u5BC6\u7801\u6216\u60A8\u7684\u5916\u90E8\u63D0\u4F9B\u8005\u8FDB\u884C\u767B\u9646\u3002\u60A8\u60F3\u8981\u8BF7\u6C42\u5BC6\u7801\u91CD\u7F6E\u5417\uFF1F`, generateRandom: "\u968F\u673A\u751F\u6210", givenName: "\u540D", groups: "\u7EC4", key: "\u5BC6\u94A5", keyUnique: "\u5BC6\u94A5\u5FC5\u987B\u662F\u552F\u4E00\u7684", lastLogin: "\u6700\u540E\u767B\u5F55", mfaActivated: "\u591A\u56E0\u5B50\u8BA4\u8BC1", navInfo: "\u4FE1\u606F", navEdit: "\u7F16\u8F91", navMfa: "\u591A\u56E0\u5B50\u8BA4\u8BC1", navLogout: "\u9000\u51FA\u767B\u5F55", passwordConfirm: "\u786E\u8BA4\u5BC6\u7801", passwordCurr: "\u5F53\u524D\u5BC6\u7801", passwordCurrReq: "\u5F53\u524D\u5BC6\u7801\u5FC5\u586B\u3002", passwordNew: "\u65B0\u5BC6\u7801", passwordNewReq: "\u65B0\u5BC6\u7801\u5FC5\u586B", passwordNoMatch: "\u5BC6\u7801\u9A8C\u8BC1\u5FC5\u586B\u3002", passwordExpiry: "\u5BC6\u7801\u8FC7\u671F", passwordPolicyFollow: "\u5BC6\u7801\u4E0D\u7B26\u5408\u8981\u6C42\u3002", passwordReset: "\u91CD\u7F6E\u5BC6\u7801", phone: "\u624B\u673A", providerLink: "\u8054\u5408\u8D26\u6237", providerLinkDesc: `\u60A8\u53EF\u4EE5\u5C06\u6B64\u8D26\u6237\u8FDE\u63A5\u5230\u4E0B\u5217\u767B\u9646\u63D0\u4F9B\u8005\u4E4B\u4E00\u3002
 \u6FC0\u6D3B\u6B64\u529F\u80FD\u540E\uFF0C\u60A8\u5C06\u88AB\u91CD\u5B9A\u5411\u81F3\u6240\u9009\u63D0\u4F9B\u8005\u7684\u767B\u9646\u9875\u9762\u3002\u5728\u6210\u529F\u767B\u9646\u540E\uFF0C\u5982\u679C\u7535\u5B50\u90AE\u4EF6\u5339\u914D\uFF0C\u60A8\u7684\u8D26\u6237\u5C06\u88AB\u8FDE\u63A5\u3002`, providerUnlink: "\u53D6\u6D88\u8054\u5408", providerUnlinkDesc: "\u4EC5\u5F53\u60A8\u5DF2\u8BBE\u7F6E\u81F3\u5C11\u4E00\u4E2A\u5BC6\u7801\u6216\u767B\u9646\u5BC6\u94A5\u540E\uFF0C\u60A8\u624D\u80FD\u548C\u767B\u9646\u63D0\u4F9B\u8005\u53D6\u6D88\u8FDE\u63A5\u3002", regDate: "\u6CE8\u518C\u65E5\u671F", regIp: "\u6CE8\u518CIP\u5730\u5740", roles: "\u89D2\u8272", street: "\u8857\u9053", user: "\u7528\u6237", userCreated: "\u521B\u5EFA\u4E8E", userEnabled: "\u542F\u7528", userExpiry: "\u8FC7\u671F", userVerifiedTooltip: "\u6307\u7EB9\u6216PIN\u4FDD\u62A4", webIdDesc: `\u60A8\u53EF\u4EE5\u9009\u62E9\u54EA\u4E9B\u5B57\u6BB5\u80FD\u591F\u901A\u8FC7WebID\u53D1\u5E03\u3002
 WebID\u88AB\u4E00\u4E9B\u7F51\u7EDC\u7528\u4E8E\u53BB\u4E2D\u5FC3\u5316\u767B\u9646\u3002\u5982\u679C\u60A8\u4E0D\u77E5\u9053\u8FD9\u662F\u4EC0\u4E48\uFF0C\u60A8\u901A\u5E38\u4E0D\u9700\u8981\u9009\u62E9\u3002`, webIdDescData: "\u60A8\u53EF\u4EE5\u4EE5FOAF\u8BCD\u6C47\u683C\u5F0F\u5411\u60A8\u7684 WebID \u6DFB\u52A0\u81EA\u5B9A\u4E49\u6570\u636E\u5B57\u6BB5", webIdExpertMode: "\u542F\u7528\u4E13\u5BB6\u6A21\u5F0F", zip: "\u90AE\u653F\u7F16\u7801" }, authorize: { clientForceMfa: `\u672C\u6B21\u767B\u9646\u5F3A\u5236\u4F7F\u7528\u591A\u56E0\u5B50\u8BA4\u8BC1\u4EE5\u589E\u5F3A\u5B89\u5168\u6027\u3002
-\u8981\u5B8C\u6210\u767B\u9646\uFF0C\u8BF7\u767B\u5165\u60A8\u7684\u8D26\u6237\u5E76\u6DFB\u52A0\u4E00\u4E2A\u767B\u9646\u5BC6\u94A5\u3002`, email: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740", emailBadFormat: "\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F", emailRequired: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5FC5\u586B\u3002", emailSentMsg: "\u5982\u679C\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5B58\u5728\uFF0C\u6211\u4EEC\u5DF2\u53D1\u9001\u8BF7\u6C42\u90AE\u4EF6\u3002", expectingPasskey: "\u8BF7\u4F7F\u7528MFA\u8BBE\u5907\u767B\u9646", http429: "\u8FC7\u591A\u65E0\u6548\u8F93\u5165\uFF0C\u5DF2\u9501\u5B9A\u81F3\uFF1A", invalidCredentials: "\u65E0\u6548\u8BC1\u660E", invalidKeyUsed: "\u65E0\u6548\u5BC6\u94A5", login: "\u767B\u9646", mfaAck: "\u5DF2\u786E\u8BA4", orLoginWith: "or login with", password: "\u5BC6\u7801", passwordForgotten: "\u5FD8\u8BB0\u5BC6\u7801", passwordRequest: "\u8BF7\u6C42", passwordRequired: "\u5BC6\u7801\u5FC5\u586B\u3002", requestExpires: "\u8BF7\u6C42\u8FC7\u671F", requestExpired: "Request has expired", signUp: "\u7528\u6237\u6CE8\u518C" }, device: { accept: "\u63A5\u53D7", autoRedirectAccount: "\u60A8\u5C06\u88AB\u81EA\u52A8\u91CD\u5B9A\u5411\u81F3\u60A8\u7684\u8D26\u6237\u3002", closeWindow: "\u60A8\u73B0\u5728\u53EF\u4EE5\u5173\u95ED\u6B64\u7A97\u53E3\u4E86\u3002", decline: "\u62D2\u7EDD", desc: "\u8BF7\u8F93\u5165\u6765\u81EA\u60A8\u7684\u8BBE\u5907\u7684{{count}}\u4F4D\u7528\u6237\u4EE3\u7801\u3002", descScopes: "\u6B64\u8BBE\u5907\u8BF7\u6C42\u8BBF\u95EE\uFF1A", isAccepted: "\u8BF7\u6C42\u5DF2\u88AB\u63A5\u53D7\u3002", isDeclined: "\u8BF7\u6C42\u5DF2\u88AB\u62D2\u7EDD\u3002", submit: "\u63D0\u4EA4", title: "\u8BBE\u5907\u6388\u6743", userCode: "\u7528\u6237\u4EE3\u7801", wrongOrExpired: "\u4EE3\u7801\u9519\u8BEF\u6216\u5DF2\u8FC7\u671F" }, emailChange: { title: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u66F4\u65B0", textChanged: "\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u4ECE", textLogin: "\u60A8\u73B0\u5728\u53EF\u4EE5\u4F7F\u7528\u60A8\u7684\u65B0\u5730\u5740\u8FDB\u884C\u767B\u9646\u3002", to: "\u66F4\u65B0\u4E3A" }, error: { details: "\u663E\u793A\u8BE6\u60C5" }, index: { register: "\u6CE8\u518C", accountLogin: "\u767B\u9646", adminLogin: "\u7BA1\u7406" }, logout: { logout: "\u9000\u51FA\u767B\u5F55", confirmMsg: "\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u767B\u5F55\u5E76\u7ED3\u675F\u4F1A\u8BDD\u5417\uFF1F", cancel: "\u53D6\u6D88" }, mfa: { p1: "\u5982\u679C\u60A8\u8BA1\u5212\u5728\u591A\u4E2A\u7CFB\u7EDF\u4E0A\u4F7F\u7528\u60A8\u7684MFA\u5BC6\u94A5\uFF0C\u4F8B\u5982Windows\u548CAndroid\uFF0C\u60A8\u5E94\u8BE5\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u3002", p2: "Android\u662F\u652F\u6301\u65E0\u5BC6\u7801\u767B\u9646\u7279\u6027\u6700\u5C11\u7684\u5E73\u53F0\u3002\u80FD\u591F\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u7684\u5BC6\u94A5\u4E5F\u5E94\u80FD\u5728\u5176\u4ED6\u5E73\u53F0\u4E0A\u4F7F\u7528\u3002", errorReg: "\u5F00\u59CB\u6CE8\u518C\u8FC7\u7A0B\u65F6\u51FA\u73B0\u9519\u8BEF\u3002", lastUsed: "\u6700\u540E\u4F7F\u7528", noKey: "\u6B64\u69FD\u4F4D\u6CA1\u6709\u5DF2\u6CE8\u518C\u7684\u5B89\u5168\u5BC6\u94A5", register: "\u6CE8\u518C", registerNew: "\u6CE8\u518C\u65B0\u7684\u5BC6\u94A5", registerd: "\u6CE8\u518C\u65F6\u95F4", registerdKeys: "\u5DF2\u6CE8\u518C\u7684\u5BC6\u94A5", passkeyName: "\u5BC6\u94A5\u540D\u79F0", passkeyNameErr: "\u9700\u8981\u540D\u79F0\u9700\u8981\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26", test: "\u6D4B\u8BD5", testError: "\u5F00\u59CB\u6D4B\u8BD5\u65F6\u51FA\u73B0\u9519\u8BEF", testSuccess: "\u6D4B\u8BD5\u6210\u529F\uFF01" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "\u5BC6\u7801\u8981\u6C42", lengthMin: "\u6700\u5C0F\u957F\u5EA6", lengthMax: "\u6700\u957F\u957F\u5EA6", lowercaseMin: "\u6700\u5C11\u5C0F\u5199\u5B57\u6BCD", uppercaseMin: "\u6700\u5C11\u5927\u5199\u5B57\u6BCD", digitsMin: "\u6700\u5C11\u6570\u5B57", specialMin: "\u6700\u5C11\u7279\u6B8A\u5B57\u7B26", notRecent: "\u4E0D\u662F\u6700\u8FD1\u4F7F\u7528\u8FC7\u7684\u5BC6\u7801\u4E4B\u4E00" }, passwordReset: { accountLogin: "\u8D26\u6237\u767B\u5F55", badFormat: "\u683C\u5F0F\u9519\u8BEF", fidoLink: "https://fidoalliance.org/fido2/?lang=zh-hans", generate: "\u751F\u6210", newAccDesc1: "\u60A8\u53EF\u4EE5\u5728\u65E0\u5BC6\u7801\u8D26\u6237\u548C\u4F20\u7EDF\u7684\u5BC6\u7801\u8D26\u6237\u4E4B\u4E2D\u9009\u62E9\u5176\u4E00\u3002", newAccDesc2: `\u65E0\u5BC6\u7801\u8D26\u6237\u5E94\u88AB\u4F18\u5148\u8003\u8651\uFF0C\u56E0\u4E3A\u5176\u63D0\u4F9B\u66F4\u5F3A\u7684\u5B89\u5168\u6027\u3002
+\u8981\u5B8C\u6210\u767B\u9646\uFF0C\u8BF7\u767B\u5165\u60A8\u7684\u8D26\u6237\u5E76\u6DFB\u52A0\u4E00\u4E2A\u767B\u9646\u5BC6\u94A5\u3002`, email: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740", emailBadFormat: "\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F", emailRequired: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5FC5\u586B\u3002", emailSentMsg: "\u5982\u679C\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5B58\u5728\uFF0C\u6211\u4EEC\u5DF2\u53D1\u9001\u8BF7\u6C42\u90AE\u4EF6\u3002", expectingPasskey: "\u8BF7\u4F7F\u7528MFA\u8BBE\u5907\u767B\u9646", http429: "\u8FC7\u591A\u65E0\u6548\u8F93\u5165\uFF0C\u5DF2\u9501\u5B9A\u81F3\uFF1A", invalidCredentials: "\u65E0\u6548\u8BC1\u660E", invalidKeyUsed: "\u65E0\u6548\u5BC6\u94A5", login: "\u767B\u9646", mfaAck: "\u5DF2\u786E\u8BA4", orLoginWith: "or login with", password: "\u5BC6\u7801", passwordForgotten: "\u5FD8\u8BB0\u5BC6\u7801", passwordRequest: "\u8BF7\u6C42", passwordRequired: "\u5BC6\u7801\u5FC5\u586B\u3002", requestExpires: "\u8BF7\u6C42\u8FC7\u671F", requestExpired: "Request has expired", signUp: "\u7528\u6237\u6CE8\u518C", validEmail: "Valid E-Mail Address" }, device: { accept: "\u63A5\u53D7", autoRedirectAccount: "\u60A8\u5C06\u88AB\u81EA\u52A8\u91CD\u5B9A\u5411\u81F3\u60A8\u7684\u8D26\u6237\u3002", closeWindow: "\u60A8\u73B0\u5728\u53EF\u4EE5\u5173\u95ED\u6B64\u7A97\u53E3\u4E86\u3002", decline: "\u62D2\u7EDD", desc: "\u8BF7\u8F93\u5165\u6765\u81EA\u60A8\u7684\u8BBE\u5907\u7684{{count}}\u4F4D\u7528\u6237\u4EE3\u7801\u3002", descScopes: "\u6B64\u8BBE\u5907\u8BF7\u6C42\u8BBF\u95EE\uFF1A", isAccepted: "\u8BF7\u6C42\u5DF2\u88AB\u63A5\u53D7\u3002", isDeclined: "\u8BF7\u6C42\u5DF2\u88AB\u62D2\u7EDD\u3002", submit: "\u63D0\u4EA4", title: "\u8BBE\u5907\u6388\u6743", userCode: "\u7528\u6237\u4EE3\u7801", wrongOrExpired: "\u4EE3\u7801\u9519\u8BEF\u6216\u5DF2\u8FC7\u671F" }, emailChange: { title: "\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u66F4\u65B0", textChanged: "\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u4ECE", textLogin: "\u60A8\u73B0\u5728\u53EF\u4EE5\u4F7F\u7528\u60A8\u7684\u65B0\u5730\u5740\u8FDB\u884C\u767B\u9646\u3002", to: "\u66F4\u65B0\u4E3A" }, error: { details: "\u663E\u793A\u8BE6\u60C5" }, index: { register: "\u6CE8\u518C", accountLogin: "\u767B\u9646", adminLogin: "\u7BA1\u7406" }, logout: { logout: "\u9000\u51FA\u767B\u5F55", confirmMsg: "\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u767B\u5F55\u5E76\u7ED3\u675F\u4F1A\u8BDD\u5417\uFF1F", cancel: "\u53D6\u6D88" }, mfa: { p1: "\u5982\u679C\u60A8\u8BA1\u5212\u5728\u591A\u4E2A\u7CFB\u7EDF\u4E0A\u4F7F\u7528\u60A8\u7684MFA\u5BC6\u94A5\uFF0C\u4F8B\u5982Windows\u548CAndroid\uFF0C\u60A8\u5E94\u8BE5\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u3002", p2: "Android\u662F\u652F\u6301\u65E0\u5BC6\u7801\u767B\u9646\u7279\u6027\u6700\u5C11\u7684\u5E73\u53F0\u3002\u80FD\u591F\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u7684\u5BC6\u94A5\u4E5F\u5E94\u80FD\u5728\u5176\u4ED6\u5E73\u53F0\u4E0A\u4F7F\u7528\u3002", errorReg: "\u5F00\u59CB\u6CE8\u518C\u8FC7\u7A0B\u65F6\u51FA\u73B0\u9519\u8BEF\u3002", lastUsed: "\u6700\u540E\u4F7F\u7528", noKey: "\u6B64\u69FD\u4F4D\u6CA1\u6709\u5DF2\u6CE8\u518C\u7684\u5B89\u5168\u5BC6\u94A5", register: "\u6CE8\u518C", registerNew: "\u6CE8\u518C\u65B0\u7684\u5BC6\u94A5", registerd: "\u6CE8\u518C\u65F6\u95F4", registerdKeys: "\u5DF2\u6CE8\u518C\u7684\u5BC6\u94A5", passkeyName: "\u5BC6\u94A5\u540D\u79F0", passkeyNameErr: "\u9700\u8981\u540D\u79F0\u9700\u8981\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26", test: "\u6D4B\u8BD5", testError: "\u5F00\u59CB\u6D4B\u8BD5\u65F6\u51FA\u73B0\u9519\u8BEF", testSuccess: "\u6D4B\u8BD5\u6210\u529F\uFF01" }, pagination: { entries: "Entries", gotoPage: "Go to page", gotoPagePrev: "Go to previous page", gotoPageNext: "Go to next page", pagination: "Pagination", showCount: "Show count", total: "Total" }, passwordPolicy: { passwordPolicy: "\u5BC6\u7801\u8981\u6C42", lengthMin: "\u6700\u5C0F\u957F\u5EA6", lengthMax: "\u6700\u957F\u957F\u5EA6", lowercaseMin: "\u6700\u5C11\u5C0F\u5199\u5B57\u6BCD", uppercaseMin: "\u6700\u5C11\u5927\u5199\u5B57\u6BCD", digitsMin: "\u6700\u5C11\u6570\u5B57", specialMin: "\u6700\u5C11\u7279\u6B8A\u5B57\u7B26", notRecent: "\u4E0D\u662F\u6700\u8FD1\u4F7F\u7528\u8FC7\u7684\u5BC6\u7801\u4E4B\u4E00" }, passwordReset: { accountLogin: "\u8D26\u6237\u767B\u5F55", badFormat: "\u683C\u5F0F\u9519\u8BEF", fidoLink: "https://fidoalliance.org/fido2/?lang=zh-hans", generate: "\u751F\u6210", newAccDesc1: "\u60A8\u53EF\u4EE5\u5728\u65E0\u5BC6\u7801\u8D26\u6237\u548C\u4F20\u7EDF\u7684\u5BC6\u7801\u8D26\u6237\u4E4B\u4E2D\u9009\u62E9\u5176\u4E00\u3002", newAccDesc2: `\u65E0\u5BC6\u7801\u8D26\u6237\u5E94\u88AB\u4F18\u5148\u8003\u8651\uFF0C\u56E0\u4E3A\u5176\u63D0\u4F9B\u66F4\u5F3A\u7684\u5B89\u5168\u6027\u3002
 \u60A8\u9700\u8981\u81F3\u5C11\u4E00\u4E2A\u652F\u6301FIDO2\u6807\u51C6\u7684\u901A\u884C\u5BC6\u94A5\uFF08Yubikey\u3001Apple Touch ID\u6216Windows Hello\u7B49\uFF09\u4EE5\u5B8C\u6210\u8D26\u6237\u521B\u5EFA\u3002
 \u83B7\u53D6\u66F4\u591A\u4FE1\u606F\uFF1A`, newAccount: "\u65B0\u8D26\u6237", passwordReset: "\u5BC6\u7801\u91CD\u7F6E", password: "\u5BC6\u7801", passwordless: "\u901A\u884C\u5BC6\u94A5", passwordConfirm: "\u5BC6\u7801\u786E\u8BA4", passwordNoMatch: "\u5BC6\u7801\u4E0D\u5339\u914D", required: "\u5FC5\u586B", save: "\u4FDD\u5B58", success1: "\u5BC6\u7801\u5DF2\u6210\u529F\u66F4\u65B0\u3002", success2: "\u60A8\u5C06\u88AB\u91CD\u5B9A\u5411\u3002", success3: "\u5982\u679C\u60A8\u672A\u88AB\u91CD\u5B9A\u5411\uFF0C\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\uFF1A", successPasskey1: "\u60A8\u7684\u901A\u884C\u5BC6\u94A5\u5DF2\u6210\u529F\u6CE8\u518C\u3002", successPasskey2: `\u8BF7\u767B\u5165\u60A8\u7684\u8D26\u6237\u5E76\u5C3D\u5FEB\u6CE8\u518C\u4E00\u4E2A\u5907\u4EFD\u5BC6\u94A5\u3002
 \u5BF9\u4E8E\u4EC5\u5BC6\u94A5\u767B\u9646\u7684\u8D26\u6237\uFF0C\u5728\u4E22\u5931\u60A8\u5F53\u524D\u7684\u5BC6\u94A5\u65F6\uFF0C\u60A8\u65E0\u6CD5\u901A\u8FC7\u7535\u5B50\u90AE\u4EF6\u8FDB\u884C\u5BC6\u7801\u91CD\u7F6E\u3002` }, register: { alreadyRegistered: "E-Mail is already registered", domainAllowed: "\u5141\u8BB8\u7684\u57DF\u540D\uFF1A", domainErr: "\u6B64\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u4E0D\u88AB\u5141\u8BB8", domainRestricted: "\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u88AB\u9650\u5236", email: "\u7535\u5B50\u90AE\u4EF6", emailBadFormat: "\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F", emailCheck: "\u8BF7\u68C0\u67E5\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u6536\u4EF6\u7BB1", regexName: "\u540D\u5B57\u5E94\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26\u3002", register: "\u6CE8\u518C", success: "\u6CE8\u518C\u6210\u529F", userReg: "\u7528\u6237\u6CE8\u518C" } };
@@ -91,10 +91,10 @@ function c() {
       e = r;
       break;
     case "ko":
-      e = t;
+      e = i;
       break;
     case "zh":
-      e = i;
+      e = t;
       break;
     default:
       e = n;
diff --git a/static/v1/_app/immutable/chunks/BQ1-pLIs.js.br b/static/v1/_app/immutable/chunks/BQ1-pLIs.js.br
new file mode 100644
index 00000000..83b71bc5
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BQ1-pLIs.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BQ1-pLIs.js.gz b/static/v1/_app/immutable/chunks/BQ1-pLIs.js.gz
new file mode 100644
index 00000000..e7f62a47
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BQ1-pLIs.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CqS1e6KT.js b/static/v1/_app/immutable/chunks/BS0DIDHc.js
similarity index 94%
rename from static/v1/_app/immutable/chunks/CqS1e6KT.js
rename to static/v1/_app/immutable/chunks/BS0DIDHc.js
index 533c1c9a..d153e4f7 100644
--- a/static/v1/_app/immutable/chunks/CqS1e6KT.js
+++ b/static/v1/_app/immutable/chunks/BS0DIDHc.js
@@ -4,9 +4,9 @@ import { e as R } from "./CTI4QPiR.js";
 import { s as k } from "./-T201g_q.js";
 import { s as l } from "./BMbqVy6X.js";
 import { p as n } from "./C6SR4G2t.js";
-import { f as y } from "./DmeAqnkr.js";
+import { f as y } from "./BtKnbFDH.js";
 import { u as E } from "./DswDW5U8.js";
-import { a as V, e as _ } from "./bbkAiDd0.js";
+import { a as V, e as _ } from "./CBGoQiUs.js";
 var x = v("<form><!></form>");
 function H(u, t) {
   b(t, true);
diff --git a/static/v1/_app/immutable/chunks/BS0DIDHc.js.br b/static/v1/_app/immutable/chunks/BS0DIDHc.js.br
new file mode 100644
index 00000000..16c91d8a
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BS0DIDHc.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BS0DIDHc.js.gz b/static/v1/_app/immutable/chunks/BS0DIDHc.js.gz
new file mode 100644
index 00000000..cdf32d91
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BS0DIDHc.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/BnmgLJ5E.js b/static/v1/_app/immutable/chunks/BWj5qgFT.js
similarity index 97%
rename from static/v1/_app/immutable/chunks/BnmgLJ5E.js
rename to static/v1/_app/immutable/chunks/BWj5qgFT.js
index 46ef8429..e9df9fd0 100644
--- a/static/v1/_app/immutable/chunks/BnmgLJ5E.js
+++ b/static/v1/_app/immutable/chunks/BWj5qgFT.js
@@ -6,10 +6,10 @@ import { s as b } from "./BMbqVy6X.js";
 import { p as u } from "./Wh68IIk2.js";
 import { p as re } from "./C6SR4G2t.js";
 import { I as O } from "./BZaoh_H_.js";
-import { u as ne } from "./DOl8_ubJ.js";
+import { u as ne } from "./BQ1-pLIs.js";
 import { B as A } from "./DMkkW5Nn.js";
-import { O as oe } from "./CGniv4pe.js";
-import { f as le } from "./bbkAiDd0.js";
+import { O as oe } from "./BHnvQvwL.js";
+import { f as le } from "./CBGoQiUs.js";
 const G = 20;
 var de = S('<div class="iconLeft svelte-1eyqa5j"><!></div>'), ve = S('<div class="iconRight svelte-1eyqa5j"><!></div>'), ue = S('<div class="font-label total svelte-1eyqa5j"> </div>'), ce = S('<div class="container svelte-1eyqa5j"><div class="flex"><!> <ul class="svelte-1eyqa5j"><li class="svelte-1eyqa5j"> </li></ul> <!></div> <div class="flex gap-10"><div class="flex gap-05 chunkSize noselect"><div> </div> <div><!></div></div> <!></div></div>');
 function ke(v, i) {
diff --git a/static/v1/_app/immutable/chunks/BWj5qgFT.js.br b/static/v1/_app/immutable/chunks/BWj5qgFT.js.br
new file mode 100644
index 00000000..3a3f52aa
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BWj5qgFT.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BWj5qgFT.js.gz b/static/v1/_app/immutable/chunks/BWj5qgFT.js.gz
new file mode 100644
index 00000000..6f001ec8
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BWj5qgFT.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CGXT-546.js b/static/v1/_app/immutable/chunks/BaE7H8ny.js
similarity index 55%
rename from static/v1/_app/immutable/chunks/CGXT-546.js
rename to static/v1/_app/immutable/chunks/BaE7H8ny.js
index bc258246..d5d9bad1 100644
--- a/static/v1/_app/immutable/chunks/CGXT-546.js
+++ b/static/v1/_app/immutable/chunks/BaE7H8ny.js
@@ -1,83 +1,83 @@
 function v(e) {
   return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
 }
-var g = {}, C;
+var g = {}, E;
 function R() {
-  if (C) return g;
-  C = 1, Object.defineProperty(g, "__esModule", { value: true });
+  if (E) return g;
+  E = 1, Object.defineProperty(g, "__esModule", { value: true });
   function e(t) {
     return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
   }
-  function n(t, o) {
+  function n(t, r) {
     t || (t = 43);
     for (var a = typeof window < "u" && window.msCrypto || crypto, s = e(Array.prototype.map.call(a.getRandomValues(new Uint8Array(t)), function(u) {
       return String.fromCharCode(u);
     }).join("")).substring(0, t), c = new Uint8Array(s.length), i = 0; i < s.length; i++) c[i] = s.charCodeAt(i);
     var l = a.subtle.digest("SHA-256", c);
-    typeof window < "u" && window.CryptoOperation ? (l.onerror = o, l.oncomplete = function(u) {
-      r(o, s, u.target.result);
+    typeof window < "u" && window.CryptoOperation ? (l.onerror = r, l.oncomplete = function(u) {
+      o(r, s, u.target.result);
     }) : l.then(function(u) {
-      r(o, s, u);
-    }).catch(o);
+      o(r, s, u);
+    }).catch(r);
   }
   g.default = n;
-  function r(t, o, a) {
-    t(null, { verifier: o, challenge: e(String.fromCharCode.apply(null, new Uint8Array(a))) });
+  function o(t, r, a) {
+    t(null, { verifier: r, challenge: e(String.fromCharCode.apply(null, new Uint8Array(a))) });
   }
   return g;
 }
 var A = R();
-const U = v(A), m = "pkce_verifier", I = "pkce_verifier_upstream", h = "csrf_token", S = "access_token", w = "id_token", T = "provider_token", y = "/auth/v1/oidc/authorize", L = "rauthy", P = "/auth/v1/oidc/logout", N = "/auth/v1/oidc/callback", $ = "/auth/v1/admin", M = "/auth/v1/account", O = "/auth/v1/", b = ["info", "notice", "warning", "critical"], F = ["-", "InvalidLogins", "IpBlacklisted", "IpBlacklistRemoved", "JwksRotated", "NewUserRegistered", "NewRauthyAdmin", "NewRauthyVersion", "PossibleBruteForce", "RauthyStarted", "RauthyHealthy", "RauthyUnhealthy", "SecretsMigrated", "UserEmailChange", "UserPasswordReset", "Test"], V = ["de", "en", "zh", "ko"], G = ["de", "en"], K = "tpl_auth_providers", B = "tpl_client_name", j = "tpl_client_url", H = "tpl_csrf_token", x = "tpl_email_old", z = "tpl_email_new", q = "tpl_error_text", W = "tpl_device_user_code_length", J = "tpl_is_reg_open", Y = "tpl_login_action", Q = "tpl_password_reset", X = "tpl_status_code", Z = "tpl_restricted_email_domain";
+const U = v(A), m = "pkce_verifier", C = "pkce_verifier_upstream", I = "csrf_token", S = "access_token", w = "id_token", h = "provider_token", y = "/auth/v1/oidc/authorize", L = "rauthy", P = "/auth/v1/oidc/logout", N = "/auth/v1/oidc/callback", $ = "/auth/v1/admin/users", M = "/auth/v1/account", O = "/auth/v1/", b = ["info", "notice", "warning", "critical"], F = ["-", "InvalidLogins", "IpBlacklisted", "IpBlacklistRemoved", "JwksRotated", "NewUserRegistered", "NewRauthyAdmin", "NewRauthyVersion", "PossibleBruteForce", "RauthyStarted", "RauthyHealthy", "RauthyUnhealthy", "SecretsMigrated", "UserEmailChange", "UserPasswordReset", "Test"], V = ["de", "en", "zh", "ko"], G = ["de", "en"], K = "tpl_auth_providers", B = "tpl_client_name", j = "tpl_client_url", H = "tpl_csrf_token", x = "tpl_email_old", z = "tpl_email_new", q = "tpl_error_text", W = "tpl_device_user_code_length", J = "tpl_is_reg_open", Y = "tpl_login_action", Q = "tpl_password_reset", X = "tpl_status_code", Z = "tpl_restricted_email_domain";
 var _ = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", f = typeof Uint8Array > "u" ? [] : new Uint8Array(256);
 for (var p = 0; p < _.length; p++) f[_.charCodeAt(p)] = p;
 var D = function(e) {
-  var n = new Uint8Array(e), r, t = n.length, o = "";
-  for (r = 0; r < t; r += 3) o += _[n[r] >> 2], o += _[(n[r] & 3) << 4 | n[r + 1] >> 4], o += _[(n[r + 1] & 15) << 2 | n[r + 2] >> 6], o += _[n[r + 2] & 63];
-  return t % 3 === 2 ? o = o.substring(0, o.length - 1) + "=" : t % 3 === 1 && (o = o.substring(0, o.length - 2) + "=="), o;
+  var n = new Uint8Array(e), o, t = n.length, r = "";
+  for (o = 0; o < t; o += 3) r += _[n[o] >> 2], r += _[(n[o] & 3) << 4 | n[o + 1] >> 4], r += _[(n[o + 1] & 15) << 2 | n[o + 2] >> 6], r += _[n[o + 2] & 63];
+  return t % 3 === 2 ? r = r.substring(0, r.length - 1) + "=" : t % 3 === 1 && (r = r.substring(0, r.length - 2) + "=="), r;
 }, ee = function(e) {
-  var n = e.length * 0.75, r = e.length, t, o = 0, a, s, c, i;
+  var n = e.length * 0.75, o = e.length, t, r = 0, a, s, c, i;
   e[e.length - 1] === "=" && (n--, e[e.length - 2] === "=" && n--);
   var l = new ArrayBuffer(n), u = new Uint8Array(l);
-  for (t = 0; t < r; t += 4) a = f[e.charCodeAt(t)], s = f[e.charCodeAt(t + 1)], c = f[e.charCodeAt(t + 2)], i = f[e.charCodeAt(t + 3)], u[o++] = a << 2 | s >> 4, u[o++] = (s & 15) << 4 | c >> 2, u[o++] = (c & 3) << 6 | i & 63;
+  for (t = 0; t < o; t += 4) a = f[e.charCodeAt(t)], s = f[e.charCodeAt(t + 1)], c = f[e.charCodeAt(t + 2)], i = f[e.charCodeAt(t + 3)], u[r++] = a << 2 | s >> 4, u[r++] = (s & 15) << 4 | c >> 2, u[r++] = (c & 3) << 6 | i & 63;
   return l;
 };
 function te(e) {
   return `${window.location.origin}/auth/${e}/profile#me`;
 }
-function oe() {
+function re() {
   return typeof window < "u";
 }
-function re(e) {
+function oe(e) {
   return e === "openid" || e === "profile" || e === "email" || e === "groups" || e === "address" || e === "phone";
 }
 const ne = (e) => {
-  U(64, (n, { challenge: r, verifier: t }) => {
+  U(64, (n, { challenge: o, verifier: t }) => {
     if (!n) {
       localStorage.setItem(m, t);
-      const o = k(24), a = e || "admin", s = `${window.location.origin}${N}`.replaceAll(":", "%3A").replaceAll("/", "%2F");
-      window.location.href = `${y}?client_id=${L}&redirect_uri=${s}&response_type=code&code_challenge=${r}&code_challenge_method=S256&scope=openid+profile+email&nonce=${o}&state=${a}`;
+      const r = k(24), a = e || "admin", s = `${window.location.origin}${N}`.replaceAll(":", "%3A").replaceAll("/", "%2F");
+      window.location.href = `${y}?client_id=${L}&redirect_uri=${s}&response_type=code&code_challenge=${o}&code_challenge_method=S256&scope=openid+profile+email&nonce=${r}&state=${a}`;
     }
   });
 }, ae = () => {
   const e = `${P}?post_logout_redirect_uri=${window.location.origin}${O}`;
   window.location.href = e;
 }, se = (e) => {
-  console.log("saving csrf token in local storage", h, e), localStorage.setItem(h, e);
+  localStorage.setItem(I, e);
 }, ie = (e) => {
   localStorage.setItem(w, e);
 }, ce = (e) => {
   localStorage.setItem(S, e);
 }, le = (e) => {
-  localStorage.setItem(T, e);
-}, de = () => localStorage.getItem(T) || "", ue = () => localStorage.getItem(m) || "", _e = () => localStorage.getItem(I) || "", fe = () => {
+  localStorage.setItem(h, e);
+}, de = () => localStorage.getItem(h) || "", ue = () => localStorage.getItem(m) || "", _e = () => localStorage.getItem(C) || "", fe = () => {
   localStorage.removeItem(m);
 }, ge = () => {
-  localStorage.removeItem(h), localStorage.removeItem(w), localStorage.removeItem(S), localStorage.removeItem(m), localStorage.removeItem(I), localStorage.removeItem(T);
+  localStorage.removeItem(I), localStorage.removeItem(w), localStorage.removeItem(S), localStorage.removeItem(m), localStorage.removeItem(C), localStorage.removeItem(h);
 };
 function pe(e) {
   let n = D(e);
-  const r = { "+": "-", "/": "_", "=": "" };
-  return n.replace(/[+/=]/g, (t) => r[t]);
+  const o = { "+": "-", "/": "_", "=": "" };
+  return n.replace(/[+/=]/g, (t) => o[t]);
 }
 function me(e) {
   switch (e) {
@@ -92,12 +92,12 @@ function me(e) {
   }
 }
 const he = (e, n) => {
-  let r;
-  if (n ? r = Date.parse(`${e}T${n}`) : r = Date.parse(e), !isNaN(r)) return r / 1e3;
+  let o;
+  if (n ? o = Date.parse(`${e}T${n}`) : o = Date.parse(e), !isNaN(o)) return o / 1e3;
 }, Te = (e, n) => {
-  const r = -(/* @__PURE__ */ new Date()).getTimezoneOffset(), t = new Date((e + r * 60) * 1e3);
-  let o = t.getUTCDate();
-  o < 10 && (o = "0" + o);
+  const o = -(/* @__PURE__ */ new Date()).getTimezoneOffset(), t = new Date((e + o * 60) * 1e3);
+  let r = t.getUTCDate();
+  r < 10 && (r = "0" + r);
   let a = t.getUTCMonth() + 1;
   a < 10 && (a = "0" + a);
   const s = t.getUTCFullYear();
@@ -106,22 +106,22 @@ const he = (e, n) => {
   let i = t.getUTCMinutes();
   i < 10 && (i = "0" + i);
   let l = t.getUTCSeconds();
-  return l < 10 && (l = "0" + l), `${s}/${a}/${o} ${c}:${i}:${l}`;
+  return l < 10 && (l = "0" + l), `${s}/${a}/${r} ${c}:${i}:${l}`;
 }, Ee = (e) => {
-  const n = e.length_min > 20 ? e.length_min : 20, r = e.include_lower_case || 1, t = e.include_upper_case || 1, o = e.include_digits || 1, a = e.include_digits || 1;
+  const n = e.length_min > 20 ? e.length_min : 20, o = e.include_lower_case || 1, t = e.include_upper_case || 1, r = e.include_digits || 1, a = e.include_digits || 1;
   for (; ; ) {
     let s = 0, c = 0, i = 0, l = 0, u = [];
-    for (let E = 0; E < n; E += 1) {
+    for (let T = 0; T < n; T += 1) {
       let d = 60;
       for (; d > 57 && d < 65 || d > 90 && d < 97; ) d = Math.floor(Math.random() * 74) + 33;
       d >= 91 && d <= 122 && (s += 1), d >= 65 && d <= 90 && (c += 1), d >= 48 && d <= 57 && (i += 1), d >= 33 && d <= 47 && (l += 1), u.push(String.fromCharCode(d));
     }
-    if (!(s < r || c < t || l < a || i < o)) return u.join("");
+    if (!(s < o || c < t || l < a || i < r)) return u.join("");
   }
 }, k = (e) => {
   let n = [];
   e = e || 8;
-  for (let r = 0; r < e; r += 1) {
+  for (let o = 0; o < e; o += 1) {
     let t = 95;
     for (; t > 90 && t < 97; ) t = Math.floor(Math.random() * 57) + 65;
     n.push(String.fromCharCode(t));
@@ -130,23 +130,23 @@ const he = (e, n) => {
 };
 function Ce(e) {
   let n = e + "=", t = decodeURIComponent(document.cookie).split(";");
-  for (let o = 0; o < t.length; o++) {
-    let a = t[o];
+  for (let r = 0; r < t.length; r++) {
+    let a = t[r];
     for (; a.charAt(0) === " "; ) a = a.substring(1);
     if (a.indexOf(n) === 0) return a.substring(n.length, a.length);
   }
   return "";
 }
 function Ie(e, n) {
-  let r;
-  return Promise.race([e, new Promise((t, o) => {
-    r = setTimeout(o, n, "timeout");
-  })]).finally(() => clearTimeout(r));
+  let o;
+  return Promise.race([e, new Promise((t, r) => {
+    o = setTimeout(r, n, "timeout");
+  })]).finally(() => clearTimeout(o));
 }
 export {
   Ee as A,
   he as B,
-  h as C,
+  I as C,
   b as D,
   F as E,
   ee as F,
@@ -159,8 +159,8 @@ export {
   Y as M,
   U as N,
   le as O,
-  I as P,
-  re as Q,
+  C as P,
+  oe as Q,
   $ as R,
   te as S,
   X as T,
@@ -173,7 +173,7 @@ export {
   fe as f,
   k as g,
   M as h,
-  oe as i,
+  re as i,
   J as j,
   me as k,
   Te as l,
diff --git a/static/v1/_app/immutable/chunks/BaE7H8ny.js.br b/static/v1/_app/immutable/chunks/BaE7H8ny.js.br
new file mode 100644
index 00000000..74c7b0f4
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BaE7H8ny.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BaE7H8ny.js.gz b/static/v1/_app/immutable/chunks/BaE7H8ny.js.gz
new file mode 100644
index 00000000..25418932
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BaE7H8ny.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CwWWGNuX.js b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/CwWWGNuX.js
rename to static/v1/_app/immutable/chunks/Bbu1Qkv4.js
index a192f6d7..55c7903b 100644
--- a/static/v1/_app/immutable/chunks/CwWWGNuX.js
+++ b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js
@@ -11,9 +11,9 @@ import { b as he } from "./7lxiEjMQ.js";
 import { p as A } from "./C6SR4G2t.js";
 import "./BmpEzKyJ.js";
 import { u as pe } from "./D8mHI_K9.js";
-import { M as be } from "./GDMtXUL9.js";
+import { M as be } from "./BHXYRhv2.js";
 import { I as N } from "./DTR8xafZ.js";
-import { u as we } from "./DOl8_ubJ.js";
+import { u as we } from "./BQ1-pLIs.js";
 var xe = me(`<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6
             18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75
             21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"></path></svg>`);
diff --git a/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.br b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.br
new file mode 100644
index 00000000..16c2392f
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.gz b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.gz
new file mode 100644
index 00000000..e791af23
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Bbu1Qkv4.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/D45liQ4S.js b/static/v1/_app/immutable/chunks/Beqa1JKV.js
similarity index 95%
rename from static/v1/_app/immutable/chunks/D45liQ4S.js
rename to static/v1/_app/immutable/chunks/Beqa1JKV.js
index 25027998..520166e3 100644
--- a/static/v1/_app/immutable/chunks/D45liQ4S.js
+++ b/static/v1/_app/immutable/chunks/Beqa1JKV.js
@@ -1,5 +1,5 @@
 import { p as a } from "./Wh68IIk2.js";
-import { g as f } from "./CRhC1XE8.js";
+import { g as f } from "./DexdtKTq.js";
 let o = a({}), r = typeof window < "u" ? new URLSearchParams(window.location.search) : void 0;
 const u = (t, n) => {
   if (!r && typeof window < "u") {
diff --git a/static/v1/_app/immutable/chunks/Beqa1JKV.js.br b/static/v1/_app/immutable/chunks/Beqa1JKV.js.br
new file mode 100644
index 00000000..41407595
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Beqa1JKV.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Beqa1JKV.js.gz b/static/v1/_app/immutable/chunks/Beqa1JKV.js.gz
new file mode 100644
index 00000000..7282c540
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Beqa1JKV.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CR02HlKk.js b/static/v1/_app/immutable/chunks/BhccdcsY.js
similarity index 79%
rename from static/v1/_app/immutable/chunks/CR02HlKk.js
rename to static/v1/_app/immutable/chunks/BhccdcsY.js
index 736c897d..467e1d26 100644
--- a/static/v1/_app/immutable/chunks/CR02HlKk.js
+++ b/static/v1/_app/immutable/chunks/BhccdcsY.js
@@ -1,7 +1,7 @@
 import { j as e, k as n, l as o } from "./CvlvO1XB.js";
 import { p as r } from "./Wh68IIk2.js";
-import { f as a } from "./bbkAiDd0.js";
-import { i as f, r as m } from "./CGXT-546.js";
+import { f as a } from "./CBGoQiUs.js";
+import { i as f, r as m } from "./BaE7H8ny.js";
 let t = n(void 0);
 function g(i) {
   return !e(t) && f() && a("/auth/v1/oidc/sessioninfo").then((s) => {
diff --git a/static/v1/_app/immutable/chunks/BhccdcsY.js.br b/static/v1/_app/immutable/chunks/BhccdcsY.js.br
new file mode 100644
index 00000000..13ef4074
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BhccdcsY.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BhccdcsY.js.gz b/static/v1/_app/immutable/chunks/BhccdcsY.js.gz
new file mode 100644
index 00000000..ea9c750a
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BhccdcsY.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/BlGzyD-C.js.br b/static/v1/_app/immutable/chunks/BlGzyD-C.js.br
deleted file mode 100644
index de6b274c..00000000
--- a/static/v1/_app/immutable/chunks/BlGzyD-C.js.br
+++ /dev/null
@@ -1,1 +0,0 @@
-� ,���"ÌC)ۦ�L�F�Ңn?���ܦE;�C&�'��B)� ����v�BSK4�Xf�!�|�BP���͵��.���t��bKs��S�jJ�.�K��.$�q]z��`x���o�v�/L�ч����F�n��J���?�|�-R��:Ą���LPv�ɺ����>�c�U�k#��͇l����i'�EB���n�x���*�	d6�|��o���m�.TML'�f�D{�S����3�bq���yk�f~3���Ϫڐ��]��|ހ���ܥ����P�LL�'+zLGl�;��4d�v���-ͽ�E'_N���i{-	4��L��,�y�"�}��?\{C������dq1��M�!�X���p��W�l�M�*dln�F���/���T�����TzEVژ��\��T�;���RN\Hk"G�2�M�w�����DrYyFh�&�P��O���q>��R�`ʯfc��/�g���B��F�)�p�P浴w�D�����-��%�B�r��G]_��4���/L)N��	����۲����n��S'�!̒5�� ���&/��ޤ-�.X���o	�����|�.�RG���hpiI��7I�S��SQT!�+y}Iw�?���X/W�Mzu�Q��lJ�W�`�DX{R�w!���F��Ja�jS�\�>�6�к��;l�~|g|B(Qeo	�ܓ2�R@���h���
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/BlGzyD-C.js.gz b/static/v1/_app/immutable/chunks/BlGzyD-C.js.gz
deleted file mode 100644
index 5dfcce40..00000000
Binary files a/static/v1/_app/immutable/chunks/BlGzyD-C.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/BnmgLJ5E.js.br b/static/v1/_app/immutable/chunks/BnmgLJ5E.js.br
deleted file mode 100644
index 04edaaf5..00000000
Binary files a/static/v1/_app/immutable/chunks/BnmgLJ5E.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/BnmgLJ5E.js.gz b/static/v1/_app/immutable/chunks/BnmgLJ5E.js.gz
deleted file mode 100644
index 92852cb4..00000000
Binary files a/static/v1/_app/immutable/chunks/BnmgLJ5E.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/C3mvM0t4.js b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js
similarity index 99%
rename from static/v1/_app/immutable/chunks/C3mvM0t4.js
rename to static/v1/_app/immutable/chunks/BrQ3ZRVw.js
index 11c9696d..fa957717 100644
--- a/static/v1/_app/immutable/chunks/C3mvM0t4.js
+++ b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js
@@ -10,8 +10,8 @@ import { e as Le, i as Ye } from "./BpWRzPRQ.js";
 import { b as st } from "./BhIBACXG.js";
 import { b as Pe } from "./zosqiMUL.js";
 import { $ as dt, c as ct, d as Tt, f as Ne, g as St, e as Qe, h as At, a as Ue } from "./DswDW5U8.js";
-import { u as Fe } from "./DOl8_ubJ.js";
-import { P as ut, O as ke } from "./CGniv4pe.js";
+import { u as Fe } from "./BQ1-pLIs.js";
+import { P as ut, O as ke } from "./BHnvQvwL.js";
 import { I as Ct } from "./Vi3uK7uO.js";
 function qe(t, e) {
   return t - e * Math.floor(t / e);
diff --git a/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.br b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.br
new file mode 100644
index 00000000..24a0b642
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.gz b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.gz
new file mode 100644
index 00000000..6987a504
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BrQ3ZRVw.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DmeAqnkr.js b/static/v1/_app/immutable/chunks/BtKnbFDH.js
similarity index 97%
rename from static/v1/_app/immutable/chunks/DmeAqnkr.js
rename to static/v1/_app/immutable/chunks/BtKnbFDH.js
index 3e952dd5..522719b5 100644
--- a/static/v1/_app/immutable/chunks/DmeAqnkr.js
+++ b/static/v1/_app/immutable/chunks/BtKnbFDH.js
@@ -7,10 +7,10 @@ import { a as G, t as H, s as J } from "./DMkkW5Nn.js";
 import { b as N } from "./BhIBACXG.js";
 import { b as Q } from "./zosqiMUL.js";
 import { p as n } from "./C6SR4G2t.js";
-import { u as X } from "./DOl8_ubJ.js";
-import { g as Y } from "./CGXT-546.js";
+import { u as X } from "./BQ1-pLIs.js";
+import { g as Y } from "./BaE7H8ny.js";
 import { _ as Z } from "./CmsKOCeN.js";
-import { b as $ } from "./bbkAiDd0.js";
+import { b as $ } from "./CBGoQiUs.js";
 let we, he;
 let __tla = (async () => {
   function ee(l, e, r) {
diff --git a/static/v1/_app/immutable/chunks/BtKnbFDH.js.br b/static/v1/_app/immutable/chunks/BtKnbFDH.js.br
new file mode 100644
index 00000000..fa61e9dd
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BtKnbFDH.js.br differ
diff --git a/static/v1/_app/immutable/chunks/BtKnbFDH.js.gz b/static/v1/_app/immutable/chunks/BtKnbFDH.js.gz
new file mode 100644
index 00000000..12245a42
Binary files /dev/null and b/static/v1/_app/immutable/chunks/BtKnbFDH.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/C-8adDJ4.js.br b/static/v1/_app/immutable/chunks/C-8adDJ4.js.br
deleted file mode 100644
index 96d53b29..00000000
Binary files a/static/v1/_app/immutable/chunks/C-8adDJ4.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/C-8adDJ4.js.gz b/static/v1/_app/immutable/chunks/C-8adDJ4.js.gz
deleted file mode 100644
index 20f219d8..00000000
Binary files a/static/v1/_app/immutable/chunks/C-8adDJ4.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/C3mvM0t4.js.br b/static/v1/_app/immutable/chunks/C3mvM0t4.js.br
deleted file mode 100644
index aec9e7bd..00000000
Binary files a/static/v1/_app/immutable/chunks/C3mvM0t4.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/C3mvM0t4.js.gz b/static/v1/_app/immutable/chunks/C3mvM0t4.js.gz
deleted file mode 100644
index 953bca02..00000000
Binary files a/static/v1/_app/immutable/chunks/C3mvM0t4.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CBGoQiUs.js b/static/v1/_app/immutable/chunks/CBGoQiUs.js
new file mode 100644
index 00000000..09ef2c9f
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/CBGoQiUs.js
@@ -0,0 +1,61 @@
+import { C as f } from "./BaE7H8ny.js";
+function l(e, n) {
+  let t;
+  return n === "json" ? t = { "Content-Type": "application/json", Accept: "application/json" } : t = { "Content-type": "application/x-www-form-urlencoded", Accept: "application/json" }, e !== "GET" && (t["csrf-token"] = localStorage.getItem(f)), t;
+}
+async function p(e, n = "json", t = "handle401") {
+  return s("GET", e, n, t);
+}
+async function w(e, n, t = "json", a = "handle401") {
+  return n ? c("POST", e, t, a, n) : s("POST", e, t, a);
+}
+async function y(e, n) {
+  return await fetch(e.action, { method: e.method, headers: { "content-type": "application/x-www-form-urlencoded" }, body: n });
+}
+async function m(e, n, t = "json", a = "handle401") {
+  return n ? c("PUT", e, t, a, n) : s("PUT", e, t, a);
+}
+async function j(e, n, t = "json", a = "handle401") {
+  return n ? await c("DELETE", e, t, a, n) : await s("DELETE", e, t, a);
+}
+async function s(e, n, t, a) {
+  let o = await fetch(n, { method: e, headers: l(e, t), redirect: "manual" });
+  return await i(o, a);
+}
+async function c(e, n, t, a, o) {
+  let r;
+  t === "json" ? r = JSON.stringify(o) : t === "form" && (r = d(o));
+  let u = await fetch(n, { method: e, headers: l(e, t), redirect: "manual", body: r });
+  return i(u, a);
+}
+function d(e) {
+  let n = new FormData();
+  for (let t of Object.keys(e)) {
+    let a = e[t];
+    typeof a == "object" ? n.append(t, JSON.stringify(a)) : n.append(t, e[t]);
+  }
+  return n;
+}
+async function i(e, n) {
+  n === "handle401" && e.status === 401 && window.location.reload();
+  let t = { body: void 0, text: void 0, error: void 0, status: e.status, headers: e.headers };
+  return e.ok ? e.headers.get("content-type") === "application/json" ? t.body = await e.json() : t.text = await e.text() : e.status !== 405 && (t.error = await e.json()), t;
+}
+async function T(e, n) {
+  return await e.json();
+}
+async function E(e, n, t, a) {
+  const o = new FormData();
+  o.append(a, t);
+  const r = await fetch(n, { method: e, headers: { "csrf-token": localStorage.getItem(f) || "" }, body: o });
+  return i(r, "handle401");
+}
+export {
+  y as a,
+  w as b,
+  j as c,
+  m as d,
+  T as e,
+  p as f,
+  E as u
+};
diff --git a/static/v1/_app/immutable/chunks/CBGoQiUs.js.br b/static/v1/_app/immutable/chunks/CBGoQiUs.js.br
new file mode 100644
index 00000000..02b4ba3c
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CBGoQiUs.js.br differ
diff --git a/static/v1/_app/immutable/chunks/CBGoQiUs.js.gz b/static/v1/_app/immutable/chunks/CBGoQiUs.js.gz
new file mode 100644
index 00000000..05d8eb4e
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CBGoQiUs.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CGXT-546.js.br b/static/v1/_app/immutable/chunks/CGXT-546.js.br
deleted file mode 100644
index c722caf4..00000000
Binary files a/static/v1/_app/immutable/chunks/CGXT-546.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CGXT-546.js.gz b/static/v1/_app/immutable/chunks/CGXT-546.js.gz
deleted file mode 100644
index 235e94d3..00000000
Binary files a/static/v1/_app/immutable/chunks/CGXT-546.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CGniv4pe.js.br b/static/v1/_app/immutable/chunks/CGniv4pe.js.br
deleted file mode 100644
index 294ec8ca..00000000
Binary files a/static/v1/_app/immutable/chunks/CGniv4pe.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CGniv4pe.js.gz b/static/v1/_app/immutable/chunks/CGniv4pe.js.gz
deleted file mode 100644
index 301aebbf..00000000
Binary files a/static/v1/_app/immutable/chunks/CGniv4pe.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CHyRPnih.js.br b/static/v1/_app/immutable/chunks/CHyRPnih.js.br
deleted file mode 100644
index 0c432cdc..00000000
Binary files a/static/v1/_app/immutable/chunks/CHyRPnih.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CHyRPnih.js.gz b/static/v1/_app/immutable/chunks/CHyRPnih.js.gz
deleted file mode 100644
index 9443abd2..00000000
Binary files a/static/v1/_app/immutable/chunks/CHyRPnih.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLPs45Pj.js.br b/static/v1/_app/immutable/chunks/CLPs45Pj.js.br
deleted file mode 100644
index b35170d7..00000000
Binary files a/static/v1/_app/immutable/chunks/CLPs45Pj.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLPs45Pj.js.gz b/static/v1/_app/immutable/chunks/CLPs45Pj.js.gz
deleted file mode 100644
index 7307d9b4..00000000
Binary files a/static/v1/_app/immutable/chunks/CLPs45Pj.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLUUhKug.js.br b/static/v1/_app/immutable/chunks/CLUUhKug.js.br
deleted file mode 100644
index 48d72f8e..00000000
Binary files a/static/v1/_app/immutable/chunks/CLUUhKug.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLUUhKug.js.gz b/static/v1/_app/immutable/chunks/CLUUhKug.js.gz
deleted file mode 100644
index b94de436..00000000
Binary files a/static/v1/_app/immutable/chunks/CLUUhKug.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CR02HlKk.js.br b/static/v1/_app/immutable/chunks/CR02HlKk.js.br
deleted file mode 100644
index bb7e16f2..00000000
--- a/static/v1/_app/immutable/chunks/CR02HlKk.js.br
+++ /dev/null
@@ -1,2 +0,0 @@
-������V���*��$^_��X)�\�j�#��X�����zނ�8�黋��v�ٿ��\	_�]P�|/��:��I�_K����VnӢˢ������n�7�
-&�P��7q�z���O�!_�N�F�Y�	�T8���ǵ����b�1P��l"�+(J�]ڥG�9�V��s$	��2�`�G�E�m�Y/W�*@��#��)r�G��?�[��)ǌ,���;��e~�L*��P�e�8�@a��
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/CR02HlKk.js.gz b/static/v1/_app/immutable/chunks/CR02HlKk.js.gz
deleted file mode 100644
index 37978efb..00000000
Binary files a/static/v1/_app/immutable/chunks/CR02HlKk.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CRhC1XE8.js.br b/static/v1/_app/immutable/chunks/CRhC1XE8.js.br
deleted file mode 100644
index d554663f..00000000
Binary files a/static/v1/_app/immutable/chunks/CRhC1XE8.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CRhC1XE8.js.gz b/static/v1/_app/immutable/chunks/CRhC1XE8.js.gz
deleted file mode 100644
index 8fa44708..00000000
Binary files a/static/v1/_app/immutable/chunks/CRhC1XE8.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DxrdFxfV.js b/static/v1/_app/immutable/chunks/CT2gdhvj.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/DxrdFxfV.js
rename to static/v1/_app/immutable/chunks/CT2gdhvj.js
index db975002..dd652b70 100644
--- a/static/v1/_app/immutable/chunks/DxrdFxfV.js
+++ b/static/v1/_app/immutable/chunks/CT2gdhvj.js
@@ -6,7 +6,7 @@ import { p as w } from "./Wh68IIk2.js";
 import { s as i } from "./BMbqVy6X.js";
 import { B as O } from "./DMkkW5Nn.js";
 import { T as b } from "./BmpEzKyJ.js";
-import { O as R, S as W } from "./CGniv4pe.js";
+import { O as R, S as W } from "./BHnvQvwL.js";
 import { u as U } from "./D8mHI_K9.js";
 var q = C('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25"></path></svg>');
 function z(l, e) {
diff --git a/static/v1/_app/immutable/chunks/CT2gdhvj.js.br b/static/v1/_app/immutable/chunks/CT2gdhvj.js.br
new file mode 100644
index 00000000..f1916f34
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CT2gdhvj.js.br differ
diff --git a/static/v1/_app/immutable/chunks/CT2gdhvj.js.gz b/static/v1/_app/immutable/chunks/CT2gdhvj.js.gz
new file mode 100644
index 00000000..f2223f03
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CT2gdhvj.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DNdifVes.js b/static/v1/_app/immutable/chunks/CVHA2fPQ.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/DNdifVes.js
rename to static/v1/_app/immutable/chunks/CVHA2fPQ.js
index c8d7d013..93f38dcd 100644
--- a/static/v1/_app/immutable/chunks/DNdifVes.js
+++ b/static/v1/_app/immutable/chunks/CVHA2fPQ.js
@@ -3,7 +3,7 @@ import { p as _, aa as b, t as S, a as I, f as L, c as y, l as m, j as t, k as B
 import { i as C } from "./BUO_AUgz.js";
 import { a as T } from "./BMbqVy6X.js";
 import { p as z } from "./Wh68IIk2.js";
-import { u as A } from "./DOl8_ubJ.js";
+import { u as A } from "./BQ1-pLIs.js";
 import { B as P } from "./DMkkW5Nn.js";
 var V = c(`<div class="icon moon svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75
                         0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75
diff --git a/static/v1/_app/immutable/chunks/CVHA2fPQ.js.br b/static/v1/_app/immutable/chunks/CVHA2fPQ.js.br
new file mode 100644
index 00000000..812db7f4
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CVHA2fPQ.js.br differ
diff --git a/static/v1/_app/immutable/chunks/CVHA2fPQ.js.gz b/static/v1/_app/immutable/chunks/CVHA2fPQ.js.gz
new file mode 100644
index 00000000..682d5436
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CVHA2fPQ.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CY7Th9O-.js.br b/static/v1/_app/immutable/chunks/CY7Th9O-.js.br
deleted file mode 100644
index f5d6f3d8..00000000
Binary files a/static/v1/_app/immutable/chunks/CY7Th9O-.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CY7Th9O-.js.gz b/static/v1/_app/immutable/chunks/CY7Th9O-.js.gz
deleted file mode 100644
index b3547aee..00000000
Binary files a/static/v1/_app/immutable/chunks/CY7Th9O-.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/BlGzyD-C.js b/static/v1/_app/immutable/chunks/CgRaCfAG.js
similarity index 95%
rename from static/v1/_app/immutable/chunks/BlGzyD-C.js
rename to static/v1/_app/immutable/chunks/CgRaCfAG.js
index b4d77fea..14c0d582 100644
--- a/static/v1/_app/immutable/chunks/BlGzyD-C.js
+++ b/static/v1/_app/immutable/chunks/CgRaCfAG.js
@@ -6,8 +6,8 @@ import { s as i } from "./BMbqVy6X.js";
 import { B as R, t as S, s as j } from "./DMkkW5Nn.js";
 import { p as q } from "./C6SR4G2t.js";
 import { I as w } from "./BZaoh_H_.js";
-import { g as x } from "./CGXT-546.js";
-import { u as z } from "./DOl8_ubJ.js";
+import { g as x } from "./BaE7H8ny.js";
+import { u as z } from "./BQ1-pLIs.js";
 var A = c('<div class="chevron svelte-li3f92"><!></div>'), F = c("<div><!></div>"), G = c('<div class="container svelte-li3f92"><div class="header svelte-li3f92"><!> <div class="summary svelte-li3f92"><!></div></div> <div class="details svelte-li3f92"><!></div></div>');
 function Y(y, l) {
   E(l, true);
diff --git a/static/v1/_app/immutable/chunks/CgRaCfAG.js.br b/static/v1/_app/immutable/chunks/CgRaCfAG.js.br
new file mode 100644
index 00000000..ef7ce8ac
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CgRaCfAG.js.br differ
diff --git a/static/v1/_app/immutable/chunks/CgRaCfAG.js.gz b/static/v1/_app/immutable/chunks/CgRaCfAG.js.gz
new file mode 100644
index 00000000..2335c9ae
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CgRaCfAG.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/ClhbEfd1.js.br b/static/v1/_app/immutable/chunks/ClhbEfd1.js.br
deleted file mode 100644
index 9c235c63..00000000
Binary files a/static/v1/_app/immutable/chunks/ClhbEfd1.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/ClhbEfd1.js.gz b/static/v1/_app/immutable/chunks/ClhbEfd1.js.gz
deleted file mode 100644
index 58832d58..00000000
Binary files a/static/v1/_app/immutable/chunks/ClhbEfd1.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DwMn7YWq.js b/static/v1/_app/immutable/chunks/Co1XQfiq.js
similarity index 91%
rename from static/v1/_app/immutable/chunks/DwMn7YWq.js
rename to static/v1/_app/immutable/chunks/Co1XQfiq.js
index 5be04c42..417e2daf 100644
--- a/static/v1/_app/immutable/chunks/DwMn7YWq.js
+++ b/static/v1/_app/immutable/chunks/Co1XQfiq.js
@@ -1,6 +1,6 @@
-import { b as p } from "./bbkAiDd0.js";
-import { b as i, a as s } from "./CY7Th9O-.js";
-import { p as y } from "./CGXT-546.js";
+import { b as p } from "./CBGoQiUs.js";
+import { b as i, a as s } from "./8x1xiTUd.js";
+import { p as y } from "./BaE7H8ny.js";
 async function x(o, n, l, d) {
   var _a, _b;
   let b = { passkey_name: n }, a = await p(`/auth/v1/users/${o}/webauthn/register/start`, b);
diff --git a/static/v1/_app/immutable/chunks/Co1XQfiq.js.br b/static/v1/_app/immutable/chunks/Co1XQfiq.js.br
new file mode 100644
index 00000000..063a87ee
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Co1XQfiq.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Co1XQfiq.js.gz b/static/v1/_app/immutable/chunks/Co1XQfiq.js.gz
new file mode 100644
index 00000000..de390523
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Co1XQfiq.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/Cog9no35.js b/static/v1/_app/immutable/chunks/Cog9no35.js
new file mode 100644
index 00000000..40d18348
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Cog9no35.js
@@ -0,0 +1,82 @@
+import { n as H, a as x, t as A } from "./BH6NCLk-.js";
+import { t as k, p as J, aa as Q, j as l, k as w, l as n, c, r as v, a as R, s as y, f as W } from "./CvlvO1XB.js";
+import { e as X, s as I } from "./CTI4QPiR.js";
+import { i as Y } from "./BUO_AUgz.js";
+import { s as i } from "./BMbqVy6X.js";
+import { a as T, L as Z } from "./DMkkW5Nn.js";
+import { c as $ } from "./BhIBACXG.js";
+import { p as z } from "./Wh68IIk2.js";
+import { p as r } from "./C6SR4G2t.js";
+import { g as ee } from "./BaE7H8ny.js";
+import { u as ae } from "./D8mHI_K9.js";
+import { u as te } from "./CBGoQiUs.js";
+var ie = H('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"></path></svg>');
+function se(j, e) {
+  let U = r(e, "opacity", 3, 0.9), u = r(e, "width", 3, "1.5rem"), b = r(e, "color", 3, "currentColor");
+  var d = ie();
+  i(d, "stroke-width", 2), k(() => {
+    i(d, "stroke", b()), i(d, "width", u()), i(d, "opacity", U());
+  }), x(j, d);
+}
+var le = A('<div class="flex space-between loading svelte-1210bad"><span class="flex gap-05"><span> </span> <span> </span> <span>/</span> <span> </span></span> <!></div>'), re = A('<label class="svelte-1210bad"><!></label> <input type="file" class="svelte-1210bad">', 1), oe = A('<form aria-dropeffect="move" aria-label="Upload" class="flex svelte-1210bad"><!></form>');
+function we(j, e) {
+  J(e, true);
+  let U = r(e, "method", 3, "PUT"), u = r(e, "accept", 19, () => [".image/jpg", "image/jpeg", "image/png", "image/svg"]), b = r(e, "buttonOnly", 3, false), d = r(e, "buttonSize", 3, "1.5rem"), M = r(e, "multiple", 3, false), O = r(e, "width", 3, "17rem"), B = r(e, "height", 3, "2.5rem");
+  const F = ee();
+  let C = ae(), _ = w(false), f = w(void 0), L = w(0), g = w(0);
+  Q(() => {
+    !l(_) && l(f) && l(f).length > 0 && N(l(f));
+  });
+  function K(t) {
+    var _a;
+    n(f, z((_a = t.dataTransfer) == null ? void 0 : _a.files));
+  }
+  async function N(t) {
+    var _a;
+    n(L, z(t.length)), n(g, 0), n(_, true);
+    for (let s of t) {
+      if (u() && !u().includes(s.type)) {
+        n(g, l(g) + 1);
+        continue;
+      }
+      let a = await te(U(), e.url, s, e.fileName || s.name);
+      a.error ? console.error(a.error) : (_a = e.onSuccess) == null ? void 0 : _a.call(e), n(g, l(g) + 1);
+    }
+    n(f, void 0), n(_, false);
+  }
+  var m = oe(), P = c(m);
+  {
+    var V = (t) => {
+      var s = le(), a = c(s), h = c(a), o = c(h);
+      v(h);
+      var p = y(h, 2), D = c(p, true);
+      v(p);
+      var S = y(p, 4), E = c(S, true);
+      v(S), v(a);
+      var G = y(a, 2);
+      Z(G, {}), v(s), k(() => {
+        I(o, `${C.common.loading ?? ""}:`), I(D, l(g)), I(E, l(L));
+      }), x(t, s);
+    }, q = (t) => {
+      var s = re(), a = W(s);
+      i(a, "for", F);
+      var h = c(a);
+      se(h, { get width() {
+        return d();
+      } }), v(a);
+      var o = y(a, 2);
+      i(o, "id", F), k((p) => {
+        i(a, "aria-disabled", e.disabled), i(o, "aria-hidden", b()), i(o, "accept", p), i(o, "aria-disabled", e.disabled), o.disabled = e.disabled, o.multiple = M();
+      }, [() => u() && u().join(", ")]), $(o, () => l(f), (p) => n(f, p)), x(t, s);
+    };
+    Y(P, (t) => {
+      l(_) ? t(V) : t(q, false);
+    });
+  }
+  v(m), k(() => {
+    i(m, "data-nopad", b()), T(m, "width", O()), T(m, "height", B());
+  }), X("drop", m, K), x(j, m), R();
+}
+export {
+  we as I
+};
diff --git a/static/v1/_app/immutable/chunks/Cog9no35.js.br b/static/v1/_app/immutable/chunks/Cog9no35.js.br
new file mode 100644
index 00000000..5193eec9
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Cog9no35.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Cog9no35.js.gz b/static/v1/_app/immutable/chunks/Cog9no35.js.gz
new file mode 100644
index 00000000..1ba57d62
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Cog9no35.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CqS1e6KT.js.br b/static/v1/_app/immutable/chunks/CqS1e6KT.js.br
deleted file mode 100644
index 6cf84ae4..00000000
Binary files a/static/v1/_app/immutable/chunks/CqS1e6KT.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CqS1e6KT.js.gz b/static/v1/_app/immutable/chunks/CqS1e6KT.js.gz
deleted file mode 100644
index be6d5a14..00000000
Binary files a/static/v1/_app/immutable/chunks/CqS1e6KT.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CwWWGNuX.js.br b/static/v1/_app/immutable/chunks/CwWWGNuX.js.br
deleted file mode 100644
index 727ea611..00000000
Binary files a/static/v1/_app/immutable/chunks/CwWWGNuX.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CwWWGNuX.js.gz b/static/v1/_app/immutable/chunks/CwWWGNuX.js.gz
deleted file mode 100644
index b844b4cc..00000000
Binary files a/static/v1/_app/immutable/chunks/CwWWGNuX.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/D3G2nKoD.js.br b/static/v1/_app/immutable/chunks/D3G2nKoD.js.br
deleted file mode 100644
index d5b8a7db..00000000
Binary files a/static/v1/_app/immutable/chunks/D3G2nKoD.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/D3G2nKoD.js.gz b/static/v1/_app/immutable/chunks/D3G2nKoD.js.gz
deleted file mode 100644
index 46b9b73b..00000000
Binary files a/static/v1/_app/immutable/chunks/D3G2nKoD.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/D45liQ4S.js.br b/static/v1/_app/immutable/chunks/D45liQ4S.js.br
deleted file mode 100644
index 627e0ed4..00000000
Binary files a/static/v1/_app/immutable/chunks/D45liQ4S.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/D45liQ4S.js.gz b/static/v1/_app/immutable/chunks/D45liQ4S.js.gz
deleted file mode 100644
index d508641c..00000000
Binary files a/static/v1/_app/immutable/chunks/D45liQ4S.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLUUhKug.js b/static/v1/_app/immutable/chunks/D6E4lNPv.js
similarity index 99%
rename from static/v1/_app/immutable/chunks/CLUUhKug.js
rename to static/v1/_app/immutable/chunks/D6E4lNPv.js
index 0c5d8f2e..78a163d4 100644
--- a/static/v1/_app/immutable/chunks/CLUUhKug.js
+++ b/static/v1/_app/immutable/chunks/D6E4lNPv.js
@@ -7,7 +7,7 @@ import { a as J, B as P, t as me, s as fe } from "./DMkkW5Nn.js";
 import { b as he } from "./BhIBACXG.js";
 import { b as _e } from "./zosqiMUL.js";
 import { p as i } from "./C6SR4G2t.js";
-import { u as we } from "./DOl8_ubJ.js";
+import { u as we } from "./BQ1-pLIs.js";
 var be = q('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5A3.375 3.375 0 006.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0015 2.25h-1.5a2.251 2.251 0 00-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 00-9-9z"></path></svg>');
 function pe(u, e) {
   let l = i(e, "opacity", 3, 0.9), s = i(e, "width", 3, "1.5rem"), _ = i(e, "color", 3, "currentColor");
diff --git a/static/v1/_app/immutable/chunks/D6E4lNPv.js.br b/static/v1/_app/immutable/chunks/D6E4lNPv.js.br
new file mode 100644
index 00000000..133a239c
Binary files /dev/null and b/static/v1/_app/immutable/chunks/D6E4lNPv.js.br differ
diff --git a/static/v1/_app/immutable/chunks/D6E4lNPv.js.gz b/static/v1/_app/immutable/chunks/D6E4lNPv.js.gz
new file mode 100644
index 00000000..c1446b93
Binary files /dev/null and b/static/v1/_app/immutable/chunks/D6E4lNPv.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DM7UbbyI.js.br b/static/v1/_app/immutable/chunks/DM7UbbyI.js.br
deleted file mode 100644
index a843b637..00000000
Binary files a/static/v1/_app/immutable/chunks/DM7UbbyI.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DM7UbbyI.js.gz b/static/v1/_app/immutable/chunks/DM7UbbyI.js.gz
deleted file mode 100644
index 97d804b8..00000000
Binary files a/static/v1/_app/immutable/chunks/DM7UbbyI.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DNdifVes.js.br b/static/v1/_app/immutable/chunks/DNdifVes.js.br
deleted file mode 100644
index 4b2fa351..00000000
Binary files a/static/v1/_app/immutable/chunks/DNdifVes.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DNdifVes.js.gz b/static/v1/_app/immutable/chunks/DNdifVes.js.gz
deleted file mode 100644
index cef4294c..00000000
Binary files a/static/v1/_app/immutable/chunks/DNdifVes.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DOl8_ubJ.js.br b/static/v1/_app/immutable/chunks/DOl8_ubJ.js.br
deleted file mode 100644
index 74d18329..00000000
Binary files a/static/v1/_app/immutable/chunks/DOl8_ubJ.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DOl8_ubJ.js.gz b/static/v1/_app/immutable/chunks/DOl8_ubJ.js.gz
deleted file mode 100644
index 1e5dd006..00000000
Binary files a/static/v1/_app/immutable/chunks/DOl8_ubJ.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DSw3WKCO.js.br b/static/v1/_app/immutable/chunks/DSw3WKCO.js.br
deleted file mode 100644
index f4cf692e..00000000
Binary files a/static/v1/_app/immutable/chunks/DSw3WKCO.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DSw3WKCO.js.gz b/static/v1/_app/immutable/chunks/DSw3WKCO.js.gz
deleted file mode 100644
index a0fbe044..00000000
Binary files a/static/v1/_app/immutable/chunks/DSw3WKCO.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/KFFqpuZ0.js b/static/v1/_app/immutable/chunks/DUtP9z1z.js
similarity index 87%
rename from static/v1/_app/immutable/chunks/KFFqpuZ0.js
rename to static/v1/_app/immutable/chunks/DUtP9z1z.js
index 4ec32c8e..f2cb6891 100644
--- a/static/v1/_app/immutable/chunks/KFFqpuZ0.js
+++ b/static/v1/_app/immutable/chunks/DUtP9z1z.js
@@ -3,11 +3,11 @@ import { p as S, O as p, k as _, aa as d, t as x, a as G, l as T, j as e, a9 as
 import { a as N } from "./BMbqVy6X.js";
 import { p as g } from "./Wh68IIk2.js";
 import { p as O } from "./C6SR4G2t.js";
-import { u as C } from "./DOl8_ubJ.js";
-import { L as E, n as M, o as P } from "./CGXT-546.js";
-import { O as U } from "./CGniv4pe.js";
-import { b as j } from "./bbkAiDd0.js";
-import { p as B } from "./DM7UbbyI.js";
+import { u as C } from "./BQ1-pLIs.js";
+import { L as E, n as M, o as P } from "./BaE7H8ny.js";
+import { O as U } from "./BHnvQvwL.js";
+import { b as j } from "./CBGoQiUs.js";
+import { p as B } from "./BDMwC9Hh.js";
 var D = b("<div><!></div>");
 function X(v, a) {
   S(a, true);
diff --git a/static/v1/_app/immutable/chunks/DUtP9z1z.js.br b/static/v1/_app/immutable/chunks/DUtP9z1z.js.br
new file mode 100644
index 00000000..fa0f74fd
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DUtP9z1z.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DUtP9z1z.js.gz b/static/v1/_app/immutable/chunks/DUtP9z1z.js.gz
new file mode 100644
index 00000000..6b4cc1ba
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DUtP9z1z.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DbOz6XEk.js.br b/static/v1/_app/immutable/chunks/DbOz6XEk.js.br
deleted file mode 100644
index d58b9140..00000000
Binary files a/static/v1/_app/immutable/chunks/DbOz6XEk.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DbOz6XEk.js.gz b/static/v1/_app/immutable/chunks/DbOz6XEk.js.gz
deleted file mode 100644
index 20c33a0a..00000000
Binary files a/static/v1/_app/immutable/chunks/DbOz6XEk.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DSw3WKCO.js b/static/v1/_app/immutable/chunks/DcJo-CQ6.js
similarity index 93%
rename from static/v1/_app/immutable/chunks/DSw3WKCO.js
rename to static/v1/_app/immutable/chunks/DcJo-CQ6.js
index b5266f01..b92b89b4 100644
--- a/static/v1/_app/immutable/chunks/DSw3WKCO.js
+++ b/static/v1/_app/immutable/chunks/DcJo-CQ6.js
@@ -2,7 +2,7 @@ import "./BH6NCLk-.js";
 import { p as a, a5 as i, a as f } from "./CvlvO1XB.js";
 import { p as n } from "./C6SR4G2t.js";
 import { u as s } from "./BMFqJ6Jy.js";
-import { f as l } from "./bbkAiDd0.js";
+import { f as l } from "./CBGoQiUs.js";
 function h(m, o) {
   a(o, true);
   let t = n(o, "value", 15);
diff --git a/static/v1/_app/immutable/chunks/DcJo-CQ6.js.br b/static/v1/_app/immutable/chunks/DcJo-CQ6.js.br
new file mode 100644
index 00000000..8e5c1219
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DcJo-CQ6.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DcJo-CQ6.js.gz b/static/v1/_app/immutable/chunks/DcJo-CQ6.js.gz
new file mode 100644
index 00000000..14a68e52
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DcJo-CQ6.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CRhC1XE8.js b/static/v1/_app/immutable/chunks/DexdtKTq.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/CRhC1XE8.js
rename to static/v1/_app/immutable/chunks/DexdtKTq.js
index cb01f85e..9ee6a1fe 100644
--- a/static/v1/_app/immutable/chunks/CRhC1XE8.js
+++ b/static/v1/_app/immutable/chunks/DexdtKTq.js
@@ -191,7 +191,7 @@ function $e(e, t, n = JSON.stringify) {
   } catch {
   }
 }
-const U = ((_a = globalThis.__sveltekit_uspu0s) == null ? void 0 : _a.base) ?? "/auth/v1", Pt = ((_b = globalThis.__sveltekit_uspu0s) == null ? void 0 : _b.assets) ?? U, Ct = "1740669860963", We = "sveltekit:snapshot", Ye = "sveltekit:scroll", ze = "sveltekit:states", Ot = "sveltekit:pageurl", V = "sveltekit:history", Y = "sveltekit:navigation", ee = { tap: 1, hover: 2, viewport: 3, eager: 4, off: -1, false: -1 }, Z = location.origin;
+const U = ((_a = globalThis.__sveltekit_1kkhlko) == null ? void 0 : _a.base) ?? "/auth/v1", Pt = ((_b = globalThis.__sveltekit_1kkhlko) == null ? void 0 : _b.assets) ?? U, Ct = "1740745386477", We = "sveltekit:snapshot", Ye = "sveltekit:scroll", ze = "sveltekit:states", Ot = "sveltekit:pageurl", V = "sveltekit:history", Y = "sveltekit:navigation", ee = { tap: 1, hover: 2, viewport: 3, eager: 4, off: -1, false: -1 }, Z = location.origin;
 function Je(e) {
   if (e instanceof URL) return e;
   let t = document.baseURI;
diff --git a/static/v1/_app/immutable/chunks/DexdtKTq.js.br b/static/v1/_app/immutable/chunks/DexdtKTq.js.br
new file mode 100644
index 00000000..a7117534
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DexdtKTq.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DexdtKTq.js.gz b/static/v1/_app/immutable/chunks/DexdtKTq.js.gz
new file mode 100644
index 00000000..56d5a4c0
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DexdtKTq.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/ClhbEfd1.js b/static/v1/_app/immutable/chunks/DhdHODqL.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/ClhbEfd1.js
rename to static/v1/_app/immutable/chunks/DhdHODqL.js
index 597bf833..b6d9c173 100644
--- a/static/v1/_app/immutable/chunks/ClhbEfd1.js
+++ b/static/v1/_app/immutable/chunks/DhdHODqL.js
@@ -16,39 +16,39 @@ import { i as Se } from "./BUO_AUgz.js";
 import { e as Ho, i as ov } from "./BpWRzPRQ.js";
 import { a as Xt, B as wt, t as Ch, s as Ph } from "./DMkkW5Nn.js";
 import { p as W } from "./Wh68IIk2.js";
-import { b as qh, d as Rl, f as Nt, c as xl } from "./bbkAiDd0.js";
-import { O as lv } from "./DxrdFxfV.js";
-import { P as Dl } from "./CLPs45Pj.js";
-import { N as uv } from "./D3G2nKoD.js";
-import { B as cv } from "./BIsFWZ5z.js";
-import { u as dv } from "./D45liQ4S.js";
+import { b as qh, d as Rl, f as Nt, c as xl } from "./CBGoQiUs.js";
+import { O as lv } from "./CT2gdhvj.js";
+import { P as Dl } from "./yrKs3w9k.js";
+import { N as uv } from "./DpcgKHU5.js";
+import { B as cv } from "./dWvWuq1E.js";
+import { u as dv } from "./Beqa1JKV.js";
 import { N as pv } from "./D-L0o8jR.js";
 import { C as fv } from "./BnPoFdx3.js";
-import { I as pt } from "./DmeAqnkr.js";
+import { I as pt } from "./BtKnbFDH.js";
 import { b as Uo, k as hv, l as jl, m as mv } from "./BRCxk8by.js";
-import { F as _l } from "./CqS1e6KT.js";
-import { u as Yt } from "./DOl8_ubJ.js";
+import { F as _l } from "./BS0DIDHc.js";
+import { u as Yt } from "./BQ1-pLIs.js";
 import { u as Dt } from "./D8mHI_K9.js";
-import { O as Th } from "./CGniv4pe.js";
-import { n as Sh, l as nl, A as vv } from "./CGXT-546.js";
+import { O as Th } from "./BHnvQvwL.js";
+import { n as Sh, l as nl, A as vv } from "./BaE7H8ny.js";
 import { I as jo } from "./DTR8xafZ.js";
-import { I as hl } from "./C3mvM0t4.js";
+import { I as hl } from "./BrQ3ZRVw.js";
 import { f as zt, a as Bo, b as wh } from "./DswDW5U8.js";
-import { S as Go } from "./CwWWGNuX.js";
+import { S as Go } from "./Bbu1Qkv4.js";
 import { L as Bt } from "./CE2_6siz.js";
 import { T as bv } from "./_OE2Cq0B.js";
 import { p as yv } from "./C6SR4G2t.js";
 import { C as gv } from "./CS_Msctd.js";
 import { I as Yo } from "./Nks81rMs.js";
-import { P as Rv } from "./B6Ygp7Nf.js";
-import { I as Bl } from "./CLUUhKug.js";
+import { P as Rv } from "./h7VULPdI.js";
+import { I as Bl } from "./D6E4lNPv.js";
 import { h as xv } from "./i8Xqpu09.js";
-import { U as _v, D as Cv } from "./CHyRPnih.js";
-import { P as Pv, f as qv, a as Tv } from "./BnmgLJ5E.js";
+import { U as _v, D as Cv } from "./BL7yMFqm.js";
+import { P as Pv, f as qv, a as Tv } from "./BWj5qgFT.js";
 var Sv = Me("<div><!></div>"), wv = Me('<div class="err"> </div>'), Av = Me("<!> <!> <!> <!> <!> <!> <!> <!> <div></div> <!> <!>", 1), Ev = Me('<div class="container svelte-x7a3kj"><!></div>');
 function kv(e, t) {
   It(t, true);
-  let i = Yt(), s = Dt(), l = ie(void 0), p = ie(""), m = ie(""), w = ie(""), _ = ie(""), o = ie("en"), b = ie(W($o(() => t.roles.map((h) => ({ name: h.name, selected: false }))))), L = ie(W($o(() => t.groups.map((h) => ({ name: h.name, selected: false }))))), O = ie(false), B = ie(W(zt())), G = ie(W(Bo()));
+  let i = Yt(), s = Dt(), l = ie(void 0), p = ie(""), m = ie(""), w = ie(""), _ = ie(""), o = ie("en"), b = ie(W($o(() => t.roles.map((h) => ({ name: h.name, selected: false }))))), O = ie(W($o(() => t.groups.map((h) => ({ name: h.name, selected: false }))))), L = ie(false), B = ie(W(zt())), G = ie(W(Bo()));
   At(() => {
     requestAnimationFrame(() => {
       var _a3;
@@ -58,7 +58,7 @@ function kv(e, t) {
   async function F(h, g) {
     var _a3, _b2;
     $(p, "");
-    let S = { email: k(m), given_name: k(w), family_name: k(_) || void 0, language: k(o), groups: k(L).filter((x) => x.selected).map((x) => x.name), roles: k(b).filter((x) => x.selected).map((x) => x.name), user_expires: wh(k(B), k(G)) };
+    let S = { email: k(m), given_name: k(w), family_name: k(_) || void 0, language: k(o), groups: k(O).filter((x) => x.selected).map((x) => x.name), roles: k(b).filter((x) => x.selected).map((x) => x.name), user_expires: wh(k(B), k(G)) };
     ((_a3 = S.groups) == null ? void 0 : _a3.length) === 0 && (S.groups = void 0);
     let C = await qh(h.action, S);
     C.body ? t.onSave(C.body.id) : $(p, W(((_b2 = C.error) == null ? void 0 : _b2.message) || "Error"));
@@ -119,9 +119,9 @@ function kv(e, t) {
     }, $$slots: { default: true } });
     var Z = ne(z, 2);
     Go(Z, { get items() {
-      return k(L);
+      return k(O);
     }, set items(a) {
-      $(L, W(a));
+      $(O, W(a));
     }, children: (a, n) => {
       Ke();
       var u = $e();
@@ -131,9 +131,9 @@ function kv(e, t) {
     jo(A, { get ariaLabel() {
       return i.account.accessExp;
     }, get checked() {
-      return k(O);
+      return k(L);
     }, set checked(a) {
-      $(O, W(a));
+      $(L, W(a));
     }, children: (a, n) => {
       Ke();
       var u = $e();
@@ -159,7 +159,7 @@ function kv(e, t) {
         } }), me(n), Ch(3, n, () => Ph, () => ({ duration: 150 })), ae(a, n);
       };
       Se(N, (a) => {
-        k(O) && a(I);
+        k(L) && a(I);
       });
     }
     var M = ne(N, 2);
@@ -186,11 +186,11 @@ function kv(e, t) {
 var Iv = Me('<div class="svelte-k6dexs"><!></div>'), Mv = Me('<div class="err"> </div>'), Lv = Me('<!> <div class="values svelte-k6dexs"><div class="svelte-k6dexs"><!></div> <div class="svelte-k6dexs"><!></div></div> <div class="values svelte-k6dexs"><div class="svelte-k6dexs"><!> <!> <!> <!> <div><!></div></div> <div class="svelte-k6dexs"><!> <!> <!> <!> <!></div></div> <!> <!> <div class="values svelte-k6dexs"><div class="svelte-k6dexs"><!></div> <!></div> <div class="values svelte-k6dexs"><div class="svelte-k6dexs"><!> <!></div> <div class="svelte-k6dexs"><!> <!></div></div> <div class="flex gap-05"><!> <!></div> <!>', 1);
 function Ov(e, t) {
   It(t, true);
-  let i = yv(t, "user", 15), s = Yt(), l = Dt(), p = ie(""), m = ie(false), w = ie(""), _ = ie(""), o = ie(""), b = ie("en"), L = ie(""), O = ie(""), B = ie(""), G = ie(""), F = ie(""), R = ie(""), v = ie(false), h = ie(false), g = ie(false), S = ie(W(zt())), C = ie(W(Bo())), x = ie(W($o(() => t.roles.map((N) => ({ name: N.name, selected: false }))))), E = ie(W($o(() => t.groups.map((N) => ({ name: N.name, selected: false })))));
+  let i = yv(t, "user", 15), s = Yt(), l = Dt(), p = ie(""), m = ie(false), w = ie(""), _ = ie(""), o = ie(""), b = ie("en"), O = ie(""), L = ie(""), B = ie(""), G = ie(""), F = ie(""), R = ie(""), v = ie(false), h = ie(false), g = ie(false), S = ie(W(zt())), C = ie(W(Bo())), x = ie(W($o(() => t.roles.map((N) => ({ name: N.name, selected: false }))))), E = ie(W($o(() => t.groups.map((N) => ({ name: N.name, selected: false })))));
   At(() => {
     var _a3, _b2, _c2, _d2, _e3, _f2, _g2;
     if (i()) {
-      if ($(w, W(i().email)), $(_, W(i().given_name)), $(o, W(i().family_name || "")), $(b, W(i().language)), $(L, W(((_a3 = i().user_values) == null ? void 0 : _a3.birthdate) || "")), $(O, W(((_b2 = i().user_values) == null ? void 0 : _b2.phone) || "")), $(B, W(((_c2 = i().user_values) == null ? void 0 : _c2.street) || "")), $(G, W(((_e3 = (_d2 = i().user_values) == null ? void 0 : _d2.zip) == null ? void 0 : _e3.toString()) || "")), $(F, W(((_f2 = i().user_values) == null ? void 0 : _f2.city) || "")), $(R, W(((_g2 = i().user_values) == null ? void 0 : _g2.country) || "")), $(v, W(i().enabled)), $(h, W(i().email_verified)), i().user_expires) {
+      if ($(w, W(i().email)), $(_, W(i().given_name)), $(o, W(i().family_name || "")), $(b, W(i().language)), $(O, W(((_a3 = i().user_values) == null ? void 0 : _a3.birthdate) || "")), $(L, W(((_b2 = i().user_values) == null ? void 0 : _b2.phone) || "")), $(B, W(((_c2 = i().user_values) == null ? void 0 : _c2.street) || "")), $(G, W(((_e3 = (_d2 = i().user_values) == null ? void 0 : _d2.zip) == null ? void 0 : _e3.toString()) || "")), $(F, W(((_f2 = i().user_values) == null ? void 0 : _f2.city) || "")), $(R, W(((_g2 = i().user_values) == null ? void 0 : _g2.country) || "")), $(v, W(i().enabled)), $(h, W(i().email_verified)), i().user_expires) {
         let N = new Date(i().user_expires * 1e3);
         $(g, true), $(S, W(zt(N))), $(C, W(Bo(N)));
       } else $(g, false), $(S, W(zt())), $(C, W(Bo()));
@@ -207,7 +207,7 @@ function Ov(e, t) {
     var _a3, _b2;
     $(p, "");
     const M = { email: k(w), given_name: k(_), family_name: k(o) || void 0, language: k(b), roles: k(x).filter((c) => c.selected).map((c) => c.name), groups: k(E).filter((c) => c.selected).map((c) => c.name), enabled: k(v), email_verified: k(h), user_expires: k(g) ? wh(k(S), k(C)) : void 0 };
-    (k(L) || k(O) || k(B) || k(G) || k(F) || k(R)) && (console.log(k(L)), M.user_values = { birthdate: k(L) || void 0, phone: ((_a3 = k(O)) == null ? void 0 : _a3.replaceAll(" ", "")) || void 0, street: k(B) || void 0, zip: k(G) ? Number.parseInt(k(G)) : void 0, city: k(F) || void 0, country: k(R) || void 0 });
+    (k(O) || k(L) || k(B) || k(G) || k(F) || k(R)) && (M.user_values = { birthdate: k(O) || void 0, phone: ((_a3 = k(L)) == null ? void 0 : _a3.replaceAll(" ", "")) || void 0, street: k(B) || void 0, zip: k(G) ? Number.parseInt(k(G)) : void 0, city: k(F) || void 0, country: k(R) || void 0 });
     let V = await Rl(N.action, M);
     V.body ? ($(m, true), i(V.body), setTimeout(() => {
       $(m, false);
@@ -280,9 +280,9 @@ function Ov(e, t) {
         hl(re, { get label() {
           return s.account.birthdate;
         }, withDelete: true, get value() {
-          return k(L);
+          return k(O);
         }, set value(te) {
-          $(L, W(te));
+          $(O, W(te));
         } });
         var Q = ne(re, 2);
         Xt(Q, "padding", ".25rem");
@@ -344,9 +344,9 @@ function Ov(e, t) {
         }, get placeholder() {
           return s.account.phone;
         }, pattern: mv, get value() {
-          return k(O);
+          return k(L);
         }, set value(te) {
-          $(O, W(te));
+          $(L, W(te));
         } }), me(de), me(P);
         var Ue = ne(P, 2);
         Go(Ue, { get items() {
@@ -501,17 +501,17 @@ function Dv(e, t = {}) {
   let l = 0;
   const p = e.split(`
 `).map((_, o) => {
-    const b = l + _.length + 1, L = { start: l, end: b, line: o };
-    return l = b, L;
+    const b = l + _.length + 1, O = { start: l, end: b, line: o };
+    return l = b, O;
   });
   let m = 0;
   function w(_, o) {
     if (typeof _ == "string" && (_ = e.indexOf(_, o ?? 0)), _ === -1) return;
     let b = p[m];
-    const L = _ >= b.end ? 1 : -1;
+    const O = _ >= b.end ? 1 : -1;
     for (; b; ) {
       if (Nv(b, _)) return { line: i + b.line, column: s + _ - b.start, character: _ };
-      m += L, b = p[m];
+      m += O, b = p[m];
     }
   }
   return w;
@@ -527,9 +527,9 @@ function $v(e, t, i) {
   return s.slice(l, p).map((w, _) => {
     const o = l + _ === t, b = String(_ + l + 1).padStart(m, " ");
     if (o) {
-      const L = " ".repeat(m + 2 + ol(w.slice(0, i)).length) + "^";
+      const O = " ".repeat(m + 2 + ol(w.slice(0, i)).length) + "^";
       return `${b}: ${ol(w)}
-${L}`;
+${O}`;
     }
     return `${b}: ${ol(w)}`;
   }).join(`
@@ -1502,8 +1502,8 @@ ye.parseExprOp = function(e, t, i, s, l) {
     w && (p = d.logicalAND.binop);
     var _ = this.value;
     this.next();
-    var o = this.start, b = this.startLoc, L = this.parseExprOp(this.parseMaybeUnary(null, false, false, l), o, b, p, l), O = this.buildBinary(t, i, e, L, _, m || w);
-    return (m && this.type === d.coalesce || w && (this.type === d.logicalOR || this.type === d.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(O, t, i, s, l);
+    var o = this.start, b = this.startLoc, O = this.parseExprOp(this.parseMaybeUnary(null, false, false, l), o, b, p, l), L = this.buildBinary(t, i, e, O, _, m || w);
+    return (m && this.type === d.coalesce || w && (this.type === d.logicalOR || this.type === d.logicalAND)) && this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"), this.parseExprOp(L, t, i, s, l);
   }
   return e;
 };
@@ -1569,11 +1569,11 @@ ye.parseSubscript = function(e, t, i, s, l, p, m) {
     var b = this.startNodeAt(t, i);
     b.object = e, o ? (b.property = this.parseExpression(), this.expect(d.bracketR)) : this.type === d.privateId && e.type !== "Super" ? b.property = this.parsePrivateIdent() : b.property = this.parseIdent(this.options.allowReserved !== "never"), b.computed = !!o, w && (b.optional = _), e = this.finishNode(b, "MemberExpression");
   } else if (!s && this.eat(d.parenL)) {
-    var L = new Zo(), O = this.yieldPos, B = this.awaitPos, G = this.awaitIdentPos;
+    var O = new Zo(), L = this.yieldPos, B = this.awaitPos, G = this.awaitIdentPos;
     this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0;
-    var F = this.parseExprList(d.parenR, this.options.ecmaVersion >= 8, false, L);
-    if (l && !_ && this.shouldParseAsyncArrow()) return this.checkPatternErrors(L, false), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = O, this.awaitPos = B, this.awaitIdentPos = G, this.parseSubscriptAsyncArrow(t, i, F, m);
-    this.checkExpressionErrors(L, true), this.yieldPos = O || this.yieldPos, this.awaitPos = B || this.awaitPos, this.awaitIdentPos = G || this.awaitIdentPos;
+    var F = this.parseExprList(d.parenR, this.options.ecmaVersion >= 8, false, O);
+    if (l && !_ && this.shouldParseAsyncArrow()) return this.checkPatternErrors(O, false), this.checkYieldAwaitInDefaultParams(), this.awaitIdentPos > 0 && this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"), this.yieldPos = L, this.awaitPos = B, this.awaitIdentPos = G, this.parseSubscriptAsyncArrow(t, i, F, m);
+    this.checkExpressionErrors(O, true), this.yieldPos = L || this.yieldPos, this.awaitPos = B || this.awaitPos, this.awaitIdentPos = G || this.awaitIdentPos;
     var R = this.startNodeAt(t, i);
     R.callee = e, R.arguments = F, w && (R.optional = _), e = this.finishNode(R, "CallExpression");
   } else if (this.type === d.backQuote) {
@@ -1610,8 +1610,8 @@ ye.parseExprAtom = function(e, t, i) {
     case d._false:
       return s = this.startNode(), s.value = this.type === d._null ? null : this.type === d._true, s.raw = this.type.keyword, this.next(), this.finishNode(s, "Literal");
     case d.parenL:
-      var b = this.start, L = this.parseParenAndDistinguishExpression(l, t);
-      return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(L) && (e.parenthesizedAssign = b), e.parenthesizedBind < 0 && (e.parenthesizedBind = b)), L;
+      var b = this.start, O = this.parseParenAndDistinguishExpression(l, t);
+      return e && (e.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(O) && (e.parenthesizedAssign = b), e.parenthesizedBind < 0 && (e.parenthesizedBind = b)), O;
     case d.bracketL:
       return s = this.startNode(), this.next(), s.elements = this.parseExprList(d.bracketR, true, true, e), this.finishNode(s, "ArrayExpression");
     case d.braceL:
@@ -1670,17 +1670,17 @@ ye.parseParenAndDistinguishExpression = function(e, t) {
   var i = this.start, s = this.startLoc, l, p = this.options.ecmaVersion >= 8;
   if (this.options.ecmaVersion >= 6) {
     this.next();
-    var m = this.start, w = this.startLoc, _ = [], o = true, b = false, L = new Zo(), O = this.yieldPos, B = this.awaitPos, G;
+    var m = this.start, w = this.startLoc, _ = [], o = true, b = false, O = new Zo(), L = this.yieldPos, B = this.awaitPos, G;
     for (this.yieldPos = 0, this.awaitPos = 0; this.type !== d.parenR; ) if (o ? o = false : this.expect(d.comma), p && this.afterTrailingComma(d.parenR, true)) {
       b = true;
       break;
     } else if (this.type === d.ellipsis) {
       G = this.start, _.push(this.parseParenItem(this.parseRestBinding())), this.type === d.comma && this.raiseRecoverable(this.start, "Comma is not permitted after the rest element");
       break;
-    } else _.push(this.parseMaybeAssign(false, L, this.parseParenItem));
+    } else _.push(this.parseMaybeAssign(false, O, this.parseParenItem));
     var F = this.lastTokEnd, R = this.lastTokEndLoc;
-    if (this.expect(d.parenR), e && this.shouldParseArrow(_) && this.eat(d.arrow)) return this.checkPatternErrors(L, false), this.checkYieldAwaitInDefaultParams(), this.yieldPos = O, this.awaitPos = B, this.parseParenArrowList(i, s, _, t);
-    (!_.length || b) && this.unexpected(this.lastTokStart), G && this.unexpected(G), this.checkExpressionErrors(L, true), this.yieldPos = O || this.yieldPos, this.awaitPos = B || this.awaitPos, _.length > 1 ? (l = this.startNodeAt(m, w), l.expressions = _, this.finishNodeAt(l, "SequenceExpression", F, R)) : l = _[0];
+    if (this.expect(d.parenR), e && this.shouldParseArrow(_) && this.eat(d.arrow)) return this.checkPatternErrors(O, false), this.checkYieldAwaitInDefaultParams(), this.yieldPos = L, this.awaitPos = B, this.parseParenArrowList(i, s, _, t);
+    (!_.length || b) && this.unexpected(this.lastTokStart), G && this.unexpected(G), this.checkExpressionErrors(O, true), this.yieldPos = L || this.yieldPos, this.awaitPos = B || this.awaitPos, _.length > 1 ? (l = this.startNodeAt(m, w), l.expressions = _, this.finishNodeAt(l, "SequenceExpression", F, R)) : l = _[0];
   } else l = this.parseParenExpression();
   if (this.options.preserveParens) {
     var v = this.startNodeAt(i, s);
@@ -2738,13 +2738,13 @@ Pe.readRegexp = function() {
 };
 Pe.readInt = function(e, t, i) {
   for (var s = this.options.ecmaVersion >= 12 && t === void 0, l = i && this.input.charCodeAt(this.pos) === 48, p = this.pos, m = 0, w = 0, _ = 0, o = t ?? 1 / 0; _ < o; ++_, ++this.pos) {
-    var b = this.input.charCodeAt(this.pos), L = void 0;
+    var b = this.input.charCodeAt(this.pos), O = void 0;
     if (s && b === 95) {
       l && this.raiseRecoverable(this.pos, "Numeric separator is not allowed in legacy octal numeric literals"), w === 95 && this.raiseRecoverable(this.pos, "Numeric separator must be exactly one underscore"), _ === 0 && this.raiseRecoverable(this.pos, "Numeric separator is not allowed at the first of digits"), w = b;
       continue;
     }
-    if (b >= 97 ? L = b - 97 + 10 : b >= 65 ? L = b - 65 + 10 : b >= 48 && b <= 57 ? L = b - 48 : L = 1 / 0, L >= e) break;
-    w = b, m = m * e + L;
+    if (b >= 97 ? O = b - 97 + 10 : b >= 65 ? O = b - 65 + 10 : b >= 48 && b <= 57 ? O = b - 48 : O = 1 / 0, O >= e) break;
+    w = b, m = m * e + O;
   }
   return s && w === 95 && this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits"), this.pos === p || t != null && this.pos - p !== t ? null : m;
 };
@@ -3090,7 +3090,7 @@ function Zl(e) {
 function z1(e) {
   var t = e || {}, i = t.dts, s = i !== void 0 && i, l = t.allowSatisfies, p = l !== void 0 && l;
   return function(m) {
-    var w = m.acorn || N1, _ = j1(w), o = w.tokTypes, b = w.keywordTypes, L = w.isIdentifierStart, O = w.lineBreak, B = w.isNewLine, G = w.tokContexts, F = w.isIdentifierChar, R = _.tokTypes, v = _.tokContexts, h = _.keywordsRegExp, g = _.tokenIsLiteralPropertyName, S = _.tokenIsTemplate, C = _.tokenIsTSDeclarationStart, x = _.tokenIsIdentifier, E = _.tokenIsKeywordOrIdentifier, D = _.tokenIsTSTypeOperator;
+    var w = m.acorn || N1, _ = j1(w), o = w.tokTypes, b = w.keywordTypes, O = w.isIdentifierStart, L = w.lineBreak, B = w.isNewLine, G = w.tokContexts, F = w.isIdentifierChar, R = _.tokTypes, v = _.tokContexts, h = _.keywordsRegExp, g = _.tokenIsLiteralPropertyName, S = _.tokenIsTemplate, C = _.tokenIsTSDeclarationStart, x = _.tokenIsIdentifier, E = _.tokenIsKeywordOrIdentifier, D = _.tokenIsTSTypeOperator;
     function z(A, N, I) {
       I === void 0 && (I = A.length);
       for (var M = N; M < I; M++) {
@@ -3318,7 +3318,7 @@ function z1(e) {
           var a = this.curContext();
           if (a === v.tc_expr) return this.jsx_readToken();
           if (a === v.tc_oTag || a === v.tc_cTag) {
-            if (L(r)) return this.jsx_readWord();
+            if (O(r)) return this.jsx_readWord();
             if (r == 62) return ++this.pos, this.finishToken(R.jsxTagEnd);
             if ((r === 34 || r === 39) && a == v.tc_oTag) return this.jsx_readString(r);
           }
@@ -3467,7 +3467,7 @@ function z1(e) {
       }, c.isLiteralPropertyName = function() {
         return g(this.type);
       }, c.hasPrecedingLineBreak = function() {
-        return O.test(this.input.slice(this.lastTokEndLoc.index, this.start));
+        return L.test(this.input.slice(this.lastTokEndLoc.index, this.start));
       }, c.createIdentifier = function(r, a) {
         return r.name = a, this.finishNode(r, "Identifier");
       }, c.resetStartLocationFromNode = function(r, a) {
@@ -4925,39 +4925,39 @@ function r0() {
   function t(b) {
     return b && b.__esModule ? b : { default: b };
   }
-  function i(b, L) {
-    return w(b) || m(b, L) || l(b, L) || s();
+  function i(b, O) {
+    return w(b) || m(b, O) || l(b, O) || s();
   }
   function s() {
     throw new TypeError(`Invalid attempt to destructure non-iterable instance.
 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
   }
-  function l(b, L) {
+  function l(b, O) {
     if (b) {
-      if (typeof b == "string") return p(b, L);
-      var O = {}.toString.call(b).slice(8, -1);
-      return O === "Object" && b.constructor && (O = b.constructor.name), O === "Map" || O === "Set" ? Array.from(b) : O === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(O) ? p(b, L) : void 0;
+      if (typeof b == "string") return p(b, O);
+      var L = {}.toString.call(b).slice(8, -1);
+      return L === "Object" && b.constructor && (L = b.constructor.name), L === "Map" || L === "Set" ? Array.from(b) : L === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(L) ? p(b, O) : void 0;
     }
   }
-  function p(b, L) {
-    (L == null || L > b.length) && (L = b.length);
-    for (var O = 0, B = Array(L); O < L; O++) B[O] = b[O];
+  function p(b, O) {
+    (O == null || O > b.length) && (O = b.length);
+    for (var L = 0, B = Array(O); L < O; L++) B[L] = b[L];
     return B;
   }
-  function m(b, L) {
-    var O = b == null ? null : typeof Symbol < "u" && b[Symbol.iterator] || b["@@iterator"];
-    if (O != null) {
+  function m(b, O) {
+    var L = b == null ? null : typeof Symbol < "u" && b[Symbol.iterator] || b["@@iterator"];
+    if (L != null) {
       var B, G, F, R, v = [], h = true, g = false;
       try {
-        if (F = (O = O.call(b)).next, L === 0) {
-          if (Object(O) !== O) return;
+        if (F = (L = L.call(b)).next, O === 0) {
+          if (Object(L) !== L) return;
           h = false;
-        } else for (; !(h = (B = F.call(O)).done) && (v.push(B.value), v.length !== L); h = true) ;
+        } else for (; !(h = (B = F.call(L)).done) && (v.push(B.value), v.length !== O); h = true) ;
       } catch (S) {
         g = true, G = S;
       } finally {
         try {
-          if (!h && O.return != null && (R = O.return(), Object(R) !== R)) return;
+          if (!h && L.return != null && (R = L.return(), Object(R) !== R)) return;
         } finally {
           if (g) throw G;
         }
@@ -4970,26 +4970,26 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
   }
   var _ = [["aria-activedescendant", { type: "id" }], ["aria-atomic", { type: "boolean" }], ["aria-autocomplete", { type: "token", values: ["inline", "list", "both", "none"] }], ["aria-braillelabel", { type: "string" }], ["aria-brailleroledescription", { type: "string" }], ["aria-busy", { type: "boolean" }], ["aria-checked", { type: "tristate" }], ["aria-colcount", { type: "integer" }], ["aria-colindex", { type: "integer" }], ["aria-colspan", { type: "integer" }], ["aria-controls", { type: "idlist" }], ["aria-current", { type: "token", values: ["page", "step", "location", "date", "time", true, false] }], ["aria-describedby", { type: "idlist" }], ["aria-description", { type: "string" }], ["aria-details", { type: "id" }], ["aria-disabled", { type: "boolean" }], ["aria-dropeffect", { type: "tokenlist", values: ["copy", "execute", "link", "move", "none", "popup"] }], ["aria-errormessage", { type: "id" }], ["aria-expanded", { type: "boolean", allowundefined: true }], ["aria-flowto", { type: "idlist" }], ["aria-grabbed", { type: "boolean", allowundefined: true }], ["aria-haspopup", { type: "token", values: [false, true, "menu", "listbox", "tree", "grid", "dialog"] }], ["aria-hidden", { type: "boolean", allowundefined: true }], ["aria-invalid", { type: "token", values: ["grammar", false, "spelling", true] }], ["aria-keyshortcuts", { type: "string" }], ["aria-label", { type: "string" }], ["aria-labelledby", { type: "idlist" }], ["aria-level", { type: "integer" }], ["aria-live", { type: "token", values: ["assertive", "off", "polite"] }], ["aria-modal", { type: "boolean" }], ["aria-multiline", { type: "boolean" }], ["aria-multiselectable", { type: "boolean" }], ["aria-orientation", { type: "token", values: ["vertical", "undefined", "horizontal"] }], ["aria-owns", { type: "idlist" }], ["aria-placeholder", { type: "string" }], ["aria-posinset", { type: "integer" }], ["aria-pressed", { type: "tristate" }], ["aria-readonly", { type: "boolean" }], ["aria-relevant", { type: "tokenlist", values: ["additions", "all", "removals", "text"] }], ["aria-required", { type: "boolean" }], ["aria-roledescription", { type: "string" }], ["aria-rowcount", { type: "integer" }], ["aria-rowindex", { type: "integer" }], ["aria-rowspan", { type: "integer" }], ["aria-selected", { type: "boolean", allowundefined: true }], ["aria-setsize", { type: "integer" }], ["aria-sort", { type: "token", values: ["ascending", "descending", "none", "other"] }], ["aria-valuemax", { type: "number" }], ["aria-valuemin", { type: "number" }], ["aria-valuenow", { type: "number" }], ["aria-valuetext", { type: "string" }]], o = { entries: function() {
     return _;
-  }, forEach: function(L) {
-    for (var O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, B = 0, G = _; B < G.length; B++) {
+  }, forEach: function(O) {
+    for (var L = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, B = 0, G = _; B < G.length; B++) {
       var F = i(G[B], 2), R = F[0], v = F[1];
-      L.call(O, v, R, _);
+      O.call(L, v, R, _);
     }
-  }, get: function(L) {
-    var O = _.filter(function(B) {
-      return B[0] === L;
+  }, get: function(O) {
+    var L = _.filter(function(B) {
+      return B[0] === O;
     })[0];
-    return O && O[1];
-  }, has: function(L) {
-    return !!o.get(L);
+    return L && L[1];
+  }, has: function(O) {
+    return !!o.get(O);
   }, keys: function() {
-    return _.map(function(L) {
-      var O = i(L, 1), B = O[0];
+    return _.map(function(O) {
+      var L = i(O, 1), B = L[0];
       return B;
     });
   }, values: function() {
-    return _.map(function(L) {
-      var O = i(L, 2), B = O[1];
+    return _.map(function(O) {
+      var L = i(O, 2), B = L[1];
       return B;
     });
   } };
@@ -5003,39 +5003,39 @@ function a0() {
   function t(b) {
     return b && b.__esModule ? b : { default: b };
   }
-  function i(b, L) {
-    return w(b) || m(b, L) || l(b, L) || s();
+  function i(b, O) {
+    return w(b) || m(b, O) || l(b, O) || s();
   }
   function s() {
     throw new TypeError(`Invalid attempt to destructure non-iterable instance.
 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
   }
-  function l(b, L) {
+  function l(b, O) {
     if (b) {
-      if (typeof b == "string") return p(b, L);
-      var O = {}.toString.call(b).slice(8, -1);
-      return O === "Object" && b.constructor && (O = b.constructor.name), O === "Map" || O === "Set" ? Array.from(b) : O === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(O) ? p(b, L) : void 0;
+      if (typeof b == "string") return p(b, O);
+      var L = {}.toString.call(b).slice(8, -1);
+      return L === "Object" && b.constructor && (L = b.constructor.name), L === "Map" || L === "Set" ? Array.from(b) : L === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(L) ? p(b, O) : void 0;
     }
   }
-  function p(b, L) {
-    (L == null || L > b.length) && (L = b.length);
-    for (var O = 0, B = Array(L); O < L; O++) B[O] = b[O];
+  function p(b, O) {
+    (O == null || O > b.length) && (O = b.length);
+    for (var L = 0, B = Array(O); L < O; L++) B[L] = b[L];
     return B;
   }
-  function m(b, L) {
-    var O = b == null ? null : typeof Symbol < "u" && b[Symbol.iterator] || b["@@iterator"];
-    if (O != null) {
+  function m(b, O) {
+    var L = b == null ? null : typeof Symbol < "u" && b[Symbol.iterator] || b["@@iterator"];
+    if (L != null) {
       var B, G, F, R, v = [], h = true, g = false;
       try {
-        if (F = (O = O.call(b)).next, L === 0) {
-          if (Object(O) !== O) return;
+        if (F = (L = L.call(b)).next, O === 0) {
+          if (Object(L) !== L) return;
           h = false;
-        } else for (; !(h = (B = F.call(O)).done) && (v.push(B.value), v.length !== L); h = true) ;
+        } else for (; !(h = (B = F.call(L)).done) && (v.push(B.value), v.length !== O); h = true) ;
       } catch (S) {
         g = true, G = S;
       } finally {
         try {
-          if (!h && O.return != null && (R = O.return(), Object(R) !== R)) return;
+          if (!h && L.return != null && (R = L.return(), Object(R) !== R)) return;
         } finally {
           if (g) throw G;
         }
@@ -5048,26 +5048,26 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
   }
   var _ = [["a", { reserved: false }], ["abbr", { reserved: false }], ["acronym", { reserved: false }], ["address", { reserved: false }], ["applet", { reserved: false }], ["area", { reserved: false }], ["article", { reserved: false }], ["aside", { reserved: false }], ["audio", { reserved: false }], ["b", { reserved: false }], ["base", { reserved: true }], ["bdi", { reserved: false }], ["bdo", { reserved: false }], ["big", { reserved: false }], ["blink", { reserved: false }], ["blockquote", { reserved: false }], ["body", { reserved: false }], ["br", { reserved: false }], ["button", { reserved: false }], ["canvas", { reserved: false }], ["caption", { reserved: false }], ["center", { reserved: false }], ["cite", { reserved: false }], ["code", { reserved: false }], ["col", { reserved: true }], ["colgroup", { reserved: true }], ["content", { reserved: false }], ["data", { reserved: false }], ["datalist", { reserved: false }], ["dd", { reserved: false }], ["del", { reserved: false }], ["details", { reserved: false }], ["dfn", { reserved: false }], ["dialog", { reserved: false }], ["dir", { reserved: false }], ["div", { reserved: false }], ["dl", { reserved: false }], ["dt", { reserved: false }], ["em", { reserved: false }], ["embed", { reserved: false }], ["fieldset", { reserved: false }], ["figcaption", { reserved: false }], ["figure", { reserved: false }], ["font", { reserved: false }], ["footer", { reserved: false }], ["form", { reserved: false }], ["frame", { reserved: false }], ["frameset", { reserved: false }], ["h1", { reserved: false }], ["h2", { reserved: false }], ["h3", { reserved: false }], ["h4", { reserved: false }], ["h5", { reserved: false }], ["h6", { reserved: false }], ["head", { reserved: true }], ["header", { reserved: false }], ["hgroup", { reserved: false }], ["hr", { reserved: false }], ["html", { reserved: true }], ["i", { reserved: false }], ["iframe", { reserved: false }], ["img", { reserved: false }], ["input", { reserved: false }], ["ins", { reserved: false }], ["kbd", { reserved: false }], ["keygen", { reserved: false }], ["label", { reserved: false }], ["legend", { reserved: false }], ["li", { reserved: false }], ["link", { reserved: true }], ["main", { reserved: false }], ["map", { reserved: false }], ["mark", { reserved: false }], ["marquee", { reserved: false }], ["menu", { reserved: false }], ["menuitem", { reserved: false }], ["meta", { reserved: true }], ["meter", { reserved: false }], ["nav", { reserved: false }], ["noembed", { reserved: true }], ["noscript", { reserved: true }], ["object", { reserved: false }], ["ol", { reserved: false }], ["optgroup", { reserved: false }], ["option", { reserved: false }], ["output", { reserved: false }], ["p", { reserved: false }], ["param", { reserved: true }], ["picture", { reserved: true }], ["pre", { reserved: false }], ["progress", { reserved: false }], ["q", { reserved: false }], ["rp", { reserved: false }], ["rt", { reserved: false }], ["rtc", { reserved: false }], ["ruby", { reserved: false }], ["s", { reserved: false }], ["samp", { reserved: false }], ["script", { reserved: true }], ["section", { reserved: false }], ["select", { reserved: false }], ["small", { reserved: false }], ["source", { reserved: true }], ["spacer", { reserved: false }], ["span", { reserved: false }], ["strike", { reserved: false }], ["strong", { reserved: false }], ["style", { reserved: true }], ["sub", { reserved: false }], ["summary", { reserved: false }], ["sup", { reserved: false }], ["table", { reserved: false }], ["tbody", { reserved: false }], ["td", { reserved: false }], ["textarea", { reserved: false }], ["tfoot", { reserved: false }], ["th", { reserved: false }], ["thead", { reserved: false }], ["time", { reserved: false }], ["title", { reserved: true }], ["tr", { reserved: false }], ["track", { reserved: true }], ["tt", { reserved: false }], ["u", { reserved: false }], ["ul", { reserved: false }], ["var", { reserved: false }], ["video", { reserved: false }], ["wbr", { reserved: false }], ["xmp", { reserved: false }]], o = { entries: function() {
     return _;
-  }, forEach: function(L) {
-    for (var O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, B = 0, G = _; B < G.length; B++) {
+  }, forEach: function(O) {
+    for (var L = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, B = 0, G = _; B < G.length; B++) {
       var F = i(G[B], 2), R = F[0], v = F[1];
-      L.call(O, v, R, _);
+      O.call(L, v, R, _);
     }
-  }, get: function(L) {
-    var O = _.filter(function(B) {
-      return B[0] === L;
+  }, get: function(O) {
+    var L = _.filter(function(B) {
+      return B[0] === O;
     })[0];
-    return O && O[1];
-  }, has: function(L) {
-    return !!o.get(L);
+    return L && L[1];
+  }, has: function(O) {
+    return !!o.get(O);
   }, keys: function() {
-    return _.map(function(L) {
-      var O = i(L, 1), B = O[0];
+    return _.map(function(O) {
+      var L = i(O, 1), B = L[0];
       return B;
     });
   }, values: function() {
-    return _.map(function(L) {
-      var O = i(L, 2), B = O[1];
+    return _.map(function(O) {
+      var L = i(O, 2), B = L[1];
       return B;
     });
   } };
@@ -5161,11 +5161,11 @@ var vu;
 function v0() {
   if (vu) return cr;
   vu = 1, Object.defineProperty(cr, "__esModule", { value: true }), cr.default = void 0;
-  var e = O(i0()), t = O(s0()), i = O(n0()), s = O(o0()), l = O(l0()), p = O(u0()), m = O(c0()), w = O(d0()), _ = O(p0()), o = O(f0()), b = O(h0()), L = O(m0());
-  function O(G) {
+  var e = L(i0()), t = L(s0()), i = L(n0()), s = L(o0()), l = L(l0()), p = L(u0()), m = L(c0()), w = L(d0()), _ = L(p0()), o = L(f0()), b = L(h0()), O = L(m0());
+  function L(G) {
     return G && G.__esModule ? G : { default: G };
   }
-  var B = [["command", e.default], ["composite", t.default], ["input", i.default], ["landmark", s.default], ["range", l.default], ["roletype", p.default], ["section", m.default], ["sectionhead", w.default], ["select", _.default], ["structure", o.default], ["widget", b.default], ["window", L.default]];
+  var B = [["command", e.default], ["composite", t.default], ["input", i.default], ["landmark", s.default], ["range", l.default], ["roletype", p.default], ["section", m.default], ["sectionhead", w.default], ["select", _.default], ["structure", o.default], ["widget", b.default], ["window", O.default]];
   return cr.default = B, cr;
 }
 var Cr = {}, Pr = {}, bu;
@@ -5753,11 +5753,11 @@ var Wc;
 function Wb() {
   if (Wc) return Cr;
   Wc = 1, Object.defineProperty(Cr, "__esModule", { value: true }), Cr.default = void 0;
-  var e = Y(b0()), t = Y(y0()), i = Y(g0()), s = Y(R0()), l = Y(x0()), p = Y(_0()), m = Y(C0()), w = Y(P0()), _ = Y(q0()), o = Y(T0()), b = Y(S0()), L = Y(w0()), O = Y(A0()), B = Y(E0()), G = Y(k0()), F = Y(I0()), R = Y(M0()), v = Y(L0()), h = Y(O0()), g = Y(N0()), S = Y(D0()), C = Y(j0()), x = Y(B0()), E = Y(F0()), D = Y(V0()), z = Y($0()), Z = Y(H0()), A = Y(U0()), N = Y(G0()), I = Y(W0()), M = Y(z0()), V = Y(X0()), c = Y(K0()), r = Y(J0()), a = Y(Q0()), n = Y(Y0()), u = Y(Z0()), f = Y(eb()), y = Y(tb()), P = Y(rb()), T = Y(ab()), q = Y(ib()), H = Y(sb()), J = Y(nb()), re = Y(ob()), Q = Y(lb()), pe = Y(ub()), de = Y(cb()), fe = Y(db()), he = Y(pb()), we = Y(fb()), Oe = Y(hb()), Ee = Y(mb()), Ue = Y(vb()), Ne = Y(bb()), Ze = Y(yb()), Je = Y(gb()), vt = Y(Rb()), bt = Y(xb()), j = Y(_b()), X = Y(Cb()), K = Y(Pb()), ee = Y(qb()), ce = Y(Tb()), se = Y(Sb()), Re = Y(wb()), ke = Y(Ab()), ge = Y(Eb()), Ae = Y(kb()), ze = Y(Ib()), je = Y(Mb()), De = Y(Lb()), Ge = Y(Ob()), te = Y(Nb()), Ie = Y(Db()), be = Y(jb()), Qe = Y(Bb()), tt = Y(Fb()), Xe = Y(Vb()), We = Y($b()), Ye = Y(Hb()), St = Y(Ub()), Ht = Y(Gb());
+  var e = Y(b0()), t = Y(y0()), i = Y(g0()), s = Y(R0()), l = Y(x0()), p = Y(_0()), m = Y(C0()), w = Y(P0()), _ = Y(q0()), o = Y(T0()), b = Y(S0()), O = Y(w0()), L = Y(A0()), B = Y(E0()), G = Y(k0()), F = Y(I0()), R = Y(M0()), v = Y(L0()), h = Y(O0()), g = Y(N0()), S = Y(D0()), C = Y(j0()), x = Y(B0()), E = Y(F0()), D = Y(V0()), z = Y($0()), Z = Y(H0()), A = Y(U0()), N = Y(G0()), I = Y(W0()), M = Y(z0()), V = Y(X0()), c = Y(K0()), r = Y(J0()), a = Y(Q0()), n = Y(Y0()), u = Y(Z0()), f = Y(eb()), y = Y(tb()), P = Y(rb()), T = Y(ab()), q = Y(ib()), H = Y(sb()), J = Y(nb()), re = Y(ob()), Q = Y(lb()), pe = Y(ub()), de = Y(cb()), fe = Y(db()), he = Y(pb()), we = Y(fb()), Oe = Y(hb()), Ee = Y(mb()), Ue = Y(vb()), Ne = Y(bb()), Ze = Y(yb()), Je = Y(gb()), vt = Y(Rb()), bt = Y(xb()), j = Y(_b()), X = Y(Cb()), K = Y(Pb()), ee = Y(qb()), ce = Y(Tb()), se = Y(Sb()), Re = Y(wb()), ke = Y(Ab()), ge = Y(Eb()), Ae = Y(kb()), ze = Y(Ib()), je = Y(Mb()), De = Y(Lb()), Ge = Y(Ob()), te = Y(Nb()), Ie = Y(Db()), be = Y(jb()), Qe = Y(Bb()), tt = Y(Fb()), Xe = Y(Vb()), We = Y($b()), Ye = Y(Hb()), St = Y(Ub()), Ht = Y(Gb());
   function Y(gt) {
     return gt && gt.__esModule ? gt : { default: gt };
   }
-  var yt = [["alert", e.default], ["alertdialog", t.default], ["application", i.default], ["article", s.default], ["banner", l.default], ["blockquote", p.default], ["button", m.default], ["caption", w.default], ["cell", _.default], ["checkbox", o.default], ["code", b.default], ["columnheader", L.default], ["combobox", O.default], ["complementary", B.default], ["contentinfo", G.default], ["definition", F.default], ["deletion", R.default], ["dialog", v.default], ["directory", h.default], ["document", g.default], ["emphasis", S.default], ["feed", C.default], ["figure", x.default], ["form", E.default], ["generic", D.default], ["grid", z.default], ["gridcell", Z.default], ["group", A.default], ["heading", N.default], ["img", I.default], ["insertion", M.default], ["link", V.default], ["list", c.default], ["listbox", r.default], ["listitem", a.default], ["log", n.default], ["main", u.default], ["mark", f.default], ["marquee", y.default], ["math", P.default], ["menu", T.default], ["menubar", q.default], ["menuitem", H.default], ["menuitemcheckbox", J.default], ["menuitemradio", re.default], ["meter", Q.default], ["navigation", pe.default], ["none", de.default], ["note", fe.default], ["option", he.default], ["paragraph", we.default], ["presentation", Oe.default], ["progressbar", Ee.default], ["radio", Ue.default], ["radiogroup", Ne.default], ["region", Ze.default], ["row", Je.default], ["rowgroup", vt.default], ["rowheader", bt.default], ["scrollbar", j.default], ["search", X.default], ["searchbox", K.default], ["separator", ee.default], ["slider", ce.default], ["spinbutton", se.default], ["status", Re.default], ["strong", ke.default], ["subscript", ge.default], ["superscript", Ae.default], ["switch", ze.default], ["tab", je.default], ["table", De.default], ["tablist", Ge.default], ["tabpanel", te.default], ["term", Ie.default], ["textbox", be.default], ["time", Qe.default], ["timer", tt.default], ["toolbar", Xe.default], ["tooltip", We.default], ["tree", Ye.default], ["treegrid", St.default], ["treeitem", Ht.default]];
+  var yt = [["alert", e.default], ["alertdialog", t.default], ["application", i.default], ["article", s.default], ["banner", l.default], ["blockquote", p.default], ["button", m.default], ["caption", w.default], ["cell", _.default], ["checkbox", o.default], ["code", b.default], ["columnheader", O.default], ["combobox", L.default], ["complementary", B.default], ["contentinfo", G.default], ["definition", F.default], ["deletion", R.default], ["dialog", v.default], ["directory", h.default], ["document", g.default], ["emphasis", S.default], ["feed", C.default], ["figure", x.default], ["form", E.default], ["generic", D.default], ["grid", z.default], ["gridcell", Z.default], ["group", A.default], ["heading", N.default], ["img", I.default], ["insertion", M.default], ["link", V.default], ["list", c.default], ["listbox", r.default], ["listitem", a.default], ["log", n.default], ["main", u.default], ["mark", f.default], ["marquee", y.default], ["math", P.default], ["menu", T.default], ["menubar", q.default], ["menuitem", H.default], ["menuitemcheckbox", J.default], ["menuitemradio", re.default], ["meter", Q.default], ["navigation", pe.default], ["none", de.default], ["note", fe.default], ["option", he.default], ["paragraph", we.default], ["presentation", Oe.default], ["progressbar", Ee.default], ["radio", Ue.default], ["radiogroup", Ne.default], ["region", Ze.default], ["row", Je.default], ["rowgroup", vt.default], ["rowheader", bt.default], ["scrollbar", j.default], ["search", X.default], ["searchbox", K.default], ["separator", ee.default], ["slider", ce.default], ["spinbutton", se.default], ["status", Re.default], ["strong", ke.default], ["subscript", ge.default], ["superscript", Ae.default], ["switch", ze.default], ["tab", je.default], ["table", De.default], ["tablist", Ge.default], ["tabpanel", te.default], ["term", Ie.default], ["textbox", be.default], ["time", Qe.default], ["timer", tt.default], ["toolbar", Xe.default], ["tooltip", We.default], ["tree", Ye.default], ["treegrid", St.default], ["treeitem", Ht.default]];
   return Cr.default = yt, Cr;
 }
 var Za = {}, ei = {}, zc;
@@ -6051,11 +6051,11 @@ var Ld;
 function Ly() {
   if (Ld) return Za;
   Ld = 1, Object.defineProperty(Za, "__esModule", { value: true }), Za.default = void 0;
-  var e = q(zb()), t = q(Xb()), i = q(Kb()), s = q(Jb()), l = q(Qb()), p = q(Yb()), m = q(Zb()), w = q(ey()), _ = q(ty()), o = q(ry()), b = q(ay()), L = q(iy()), O = q(sy()), B = q(ny()), G = q(oy()), F = q(ly()), R = q(uy()), v = q(cy()), h = q(dy()), g = q(py()), S = q(fy()), C = q(hy()), x = q(my()), E = q(vy()), D = q(by()), z = q(yy()), Z = q(gy()), A = q(Ry()), N = q(xy()), I = q(_y()), M = q(Cy()), V = q(Py()), c = q(qy()), r = q(Ty()), a = q(Sy()), n = q(wy()), u = q(Ay()), f = q(Ey()), y = q(ky()), P = q(Iy()), T = q(My());
+  var e = q(zb()), t = q(Xb()), i = q(Kb()), s = q(Jb()), l = q(Qb()), p = q(Yb()), m = q(Zb()), w = q(ey()), _ = q(ty()), o = q(ry()), b = q(ay()), O = q(iy()), L = q(sy()), B = q(ny()), G = q(oy()), F = q(ly()), R = q(uy()), v = q(cy()), h = q(dy()), g = q(py()), S = q(fy()), C = q(hy()), x = q(my()), E = q(vy()), D = q(by()), z = q(yy()), Z = q(gy()), A = q(Ry()), N = q(xy()), I = q(_y()), M = q(Cy()), V = q(Py()), c = q(qy()), r = q(Ty()), a = q(Sy()), n = q(wy()), u = q(Ay()), f = q(Ey()), y = q(ky()), P = q(Iy()), T = q(My());
   function q(J) {
     return J && J.__esModule ? J : { default: J };
   }
-  var H = [["doc-abstract", e.default], ["doc-acknowledgments", t.default], ["doc-afterword", i.default], ["doc-appendix", s.default], ["doc-backlink", l.default], ["doc-biblioentry", p.default], ["doc-bibliography", m.default], ["doc-biblioref", w.default], ["doc-chapter", _.default], ["doc-colophon", o.default], ["doc-conclusion", b.default], ["doc-cover", L.default], ["doc-credit", O.default], ["doc-credits", B.default], ["doc-dedication", G.default], ["doc-endnote", F.default], ["doc-endnotes", R.default], ["doc-epigraph", v.default], ["doc-epilogue", h.default], ["doc-errata", g.default], ["doc-example", S.default], ["doc-footnote", C.default], ["doc-foreword", x.default], ["doc-glossary", E.default], ["doc-glossref", D.default], ["doc-index", z.default], ["doc-introduction", Z.default], ["doc-noteref", A.default], ["doc-notice", N.default], ["doc-pagebreak", I.default], ["doc-pagefooter", M.default], ["doc-pageheader", V.default], ["doc-pagelist", c.default], ["doc-part", r.default], ["doc-preface", a.default], ["doc-prologue", n.default], ["doc-pullquote", u.default], ["doc-qna", f.default], ["doc-subtitle", y.default], ["doc-tip", P.default], ["doc-toc", T.default]];
+  var H = [["doc-abstract", e.default], ["doc-acknowledgments", t.default], ["doc-afterword", i.default], ["doc-appendix", s.default], ["doc-backlink", l.default], ["doc-biblioentry", p.default], ["doc-bibliography", m.default], ["doc-biblioref", w.default], ["doc-chapter", _.default], ["doc-colophon", o.default], ["doc-conclusion", b.default], ["doc-cover", O.default], ["doc-credit", L.default], ["doc-credits", B.default], ["doc-dedication", G.default], ["doc-endnote", F.default], ["doc-endnotes", R.default], ["doc-epigraph", v.default], ["doc-epilogue", h.default], ["doc-errata", g.default], ["doc-example", S.default], ["doc-footnote", C.default], ["doc-foreword", x.default], ["doc-glossary", E.default], ["doc-glossref", D.default], ["doc-index", z.default], ["doc-introduction", Z.default], ["doc-noteref", A.default], ["doc-notice", N.default], ["doc-pagebreak", I.default], ["doc-pagefooter", M.default], ["doc-pageheader", V.default], ["doc-pagelist", c.default], ["doc-part", r.default], ["doc-preface", a.default], ["doc-prologue", n.default], ["doc-pullquote", u.default], ["doc-qna", f.default], ["doc-subtitle", y.default], ["doc-tip", P.default], ["doc-toc", T.default]];
   return Za.default = H, Za;
 }
 var Vi = {}, $i = {}, Od;
@@ -6131,7 +6131,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
     } };
   }
   function w(F, R) {
-    return O(F) || L(F, R) || o(F, R) || _();
+    return L(F) || O(F, R) || o(F, R) || _();
   }
   function _() {
     throw new TypeError(`Invalid attempt to destructure non-iterable instance.
@@ -6149,7 +6149,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
     for (var v = 0, h = Array(R); v < R; v++) h[v] = F[v];
     return h;
   }
-  function L(F, R) {
+  function O(F, R) {
     var v = F == null ? null : typeof Symbol < "u" && F[Symbol.iterator] || F["@@iterator"];
     if (v != null) {
       var h, g, S, C, x = [], E = true, D = false;
@@ -6170,7 +6170,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
       return x;
     }
   }
-  function O(F) {
+  function L(F) {
     if (Array.isArray(F)) return F;
   }
   var B = [].concat(e.default, t.default, i.default, s.default);
@@ -6288,8 +6288,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
   function _(C) {
     if (Array.isArray(C)) return C;
   }
-  for (var o = [], b = t.default.keys(), L = 0; L < b.length; L++) {
-    var O = b[L], B = t.default.get(O);
+  for (var o = [], b = t.default.keys(), O = 0; O < b.length; O++) {
+    var L = b[O], B = t.default.get(L);
     if (B) for (var G = [].concat(B.baseConcepts, B.relatedConcepts), F = function() {
       var x = G[R];
       if (x.module === "HTML") {
@@ -6299,11 +6299,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
             return h(N[0], E);
           })[0], z;
           D ? z = D[1] : z = [];
-          for (var Z = true, A = 0; A < z.length; A++) if (z[A] === O) {
+          for (var Z = true, A = 0; A < z.length; A++) if (z[A] === L) {
             Z = false;
             break;
           }
-          Z && z.push(O), D || o.push([E, z]);
+          Z && z.push(L), D || o.push([E, z]);
         }
       }
     }, R = 0; R < G.length; R++) F();
@@ -6411,8 +6411,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
   function _(S) {
     if (Array.isArray(S)) return S;
   }
-  for (var o = [], b = t.default.keys(), L = 0; L < b.length; L++) {
-    var O = b[L], B = t.default.get(O), G = [];
+  for (var o = [], b = t.default.keys(), O = 0; O < b.length; O++) {
+    var L = b[O], B = t.default.get(L), G = [];
     if (B) {
       for (var F = [].concat(B.baseConcepts, B.relatedConcepts), R = 0; R < F.length; R++) {
         var v = F[R];
@@ -6421,7 +6421,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
           h != null && G.push(h);
         }
       }
-      G.length > 0 && o.push([O, G]);
+      G.length > 0 && o.push([L, G]);
     }
   }
   var g = { entries: function() {
@@ -7372,7 +7372,7 @@ var lh;
 function al() {
   if (lh) return Ki;
   lh = 1, Object.defineProperty(Ki, "__esModule", { value: true }), Ki.default = void 0;
-  var e = U(rl()), t = U(Hy()), i = U(Uy()), s = U(Gy()), l = U(Wy()), p = U(zy()), m = U(Xy()), w = U(Ky()), _ = U(Jy()), o = U(Qy()), b = U(Yy()), L = U(Zy()), O = U(eg()), B = U(tg()), G = U(rg()), F = U(ag()), R = U(ig()), v = U(sg()), h = U(ng()), g = U(og()), S = U(lg()), C = U(ug()), x = U(cg()), E = U(dg()), D = U(pg()), z = U(fg()), Z = U(hg()), A = U(mg()), N = U(vg()), I = U(bg()), M = U(yg()), V = U(gg()), c = U(Rg()), r = U(xg()), a = U(_g()), n = U(Cg()), u = U(Pg()), f = U(qg()), y = U(Tg()), P = U(Sg()), T = U(wg()), q = U(Ag()), H = U(Eg()), J = U(kg()), re = U(Ig()), Q = U(Mg()), pe = U(Lg()), de = U(Og()), fe = U(Ng()), he = U(Dg()), we = U(jg()), Oe = U(Bg()), Ee = U(Fg()), Ue = U(Vg()), Ne = U($g()), Ze = U(Hg()), Je = U(Ug()), vt = U(Gg()), bt = U(Wg()), j = U(zg()), X = U(Xg()), K = U(Kg()), ee = U(Jg()), ce = U(Qg()), se = U(Yg()), Re = U(Zg()), ke = U(eR()), ge = U(tR()), Ae = U(rR()), ze = U(aR()), je = U(iR()), De = U(sR()), Ge = U(nR()), te = U(oR()), Ie = U(lR()), be = U(uR()), Qe = U(cR()), tt = U(dR()), Xe = U(pR()), We = U(fR()), Ye = U(hR()), St = U(mR()), Ht = U(vR()), Y = U(bR()), yt = U(yR()), gt = U(gR()), Eo = U(RR()), ko = U(xR()), Io = U(_R()), gm = U(CR()), Rm = U(PR()), xm = U(qR()), _m = U(TR()), Cm = U(SR()), Pm = U(wR()), qm = U(AR()), Tm = U(ER()), Sm = U(kR()), wm = U(IR()), Am = U(MR()), Em = U(LR()), km = U(OR()), Im = U(NR()), Mm = U(DR()), Lm = U(jR()), Om = U(BR()), Nm = U(FR()), Dm = U(VR()), jm = U($R()), Bm = U(HR()), Fm = U(UR()), Vm = U(GR()), $m = U(WR()), Hm = U(zR()), Um = U(XR()), Gm = U(KR()), Wm = U(JR()), zm = U(QR()), Xm = U(YR()), Km = U(ZR()), Jm = U(ex()), Qm = U(tx()), Ym = U(rx()), Zm = U(ax()), ev = U(ix());
+  var e = U(rl()), t = U(Hy()), i = U(Uy()), s = U(Gy()), l = U(Wy()), p = U(zy()), m = U(Xy()), w = U(Ky()), _ = U(Jy()), o = U(Qy()), b = U(Yy()), O = U(Zy()), L = U(eg()), B = U(tg()), G = U(rg()), F = U(ag()), R = U(ig()), v = U(sg()), h = U(ng()), g = U(og()), S = U(lg()), C = U(ug()), x = U(cg()), E = U(dg()), D = U(pg()), z = U(fg()), Z = U(hg()), A = U(mg()), N = U(vg()), I = U(bg()), M = U(yg()), V = U(gg()), c = U(Rg()), r = U(xg()), a = U(_g()), n = U(Cg()), u = U(Pg()), f = U(qg()), y = U(Tg()), P = U(Sg()), T = U(wg()), q = U(Ag()), H = U(Eg()), J = U(kg()), re = U(Ig()), Q = U(Mg()), pe = U(Lg()), de = U(Og()), fe = U(Ng()), he = U(Dg()), we = U(jg()), Oe = U(Bg()), Ee = U(Fg()), Ue = U(Vg()), Ne = U($g()), Ze = U(Hg()), Je = U(Ug()), vt = U(Gg()), bt = U(Wg()), j = U(zg()), X = U(Xg()), K = U(Kg()), ee = U(Jg()), ce = U(Qg()), se = U(Yg()), Re = U(Zg()), ke = U(eR()), ge = U(tR()), Ae = U(rR()), ze = U(aR()), je = U(iR()), De = U(sR()), Ge = U(nR()), te = U(oR()), Ie = U(lR()), be = U(uR()), Qe = U(cR()), tt = U(dR()), Xe = U(pR()), We = U(fR()), Ye = U(hR()), St = U(mR()), Ht = U(vR()), Y = U(bR()), yt = U(yR()), gt = U(gR()), Eo = U(RR()), ko = U(xR()), Io = U(_R()), gm = U(CR()), Rm = U(PR()), xm = U(qR()), _m = U(TR()), Cm = U(SR()), Pm = U(wR()), qm = U(AR()), Tm = U(ER()), Sm = U(kR()), wm = U(IR()), Am = U(MR()), Em = U(LR()), km = U(OR()), Im = U(NR()), Mm = U(DR()), Lm = U(jR()), Om = U(BR()), Nm = U(FR()), Dm = U(VR()), jm = U($R()), Bm = U(HR()), Fm = U(UR()), Vm = U(GR()), $m = U(WR()), Hm = U(zR()), Um = U(XR()), Gm = U(KR()), Wm = U(JR()), zm = U(QR()), Xm = U(YR()), Km = U(ZR()), Jm = U(ex()), Qm = U(tx()), Ym = U(rx()), Zm = U(ax()), ev = U(ix());
   function U(qe) {
     return qe && qe.__esModule ? qe : { default: qe };
   }
@@ -7417,7 +7417,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
   function iv(qe) {
     if (Array.isArray(qe)) return qe;
   }
-  var Ut = [["AbbrRole", t.default], ["AlertDialogRole", i.default], ["AlertRole", s.default], ["AnnotationRole", l.default], ["ApplicationRole", p.default], ["ArticleRole", m.default], ["AudioRole", w.default], ["BannerRole", _.default], ["BlockquoteRole", o.default], ["BusyIndicatorRole", b.default], ["ButtonRole", L.default], ["CanvasRole", O.default], ["CaptionRole", B.default], ["CellRole", G.default], ["CheckBoxRole", F.default], ["ColorWellRole", R.default], ["ColumnHeaderRole", v.default], ["ColumnRole", h.default], ["ComboBoxRole", g.default], ["ComplementaryRole", S.default], ["ContentInfoRole", C.default], ["DateRole", x.default], ["DateTimeRole", E.default], ["DefinitionRole", D.default], ["DescriptionListDetailRole", z.default], ["DescriptionListRole", Z.default], ["DescriptionListTermRole", A.default], ["DetailsRole", N.default], ["DialogRole", I.default], ["DirectoryRole", M.default], ["DisclosureTriangleRole", V.default], ["DivRole", c.default], ["DocumentRole", r.default], ["EmbeddedObjectRole", a.default], ["FeedRole", n.default], ["FigcaptionRole", u.default], ["FigureRole", f.default], ["FooterRole", y.default], ["FormRole", P.default], ["GridRole", T.default], ["GroupRole", q.default], ["HeadingRole", H.default], ["IframePresentationalRole", J.default], ["IframeRole", re.default], ["IgnoredRole", Q.default], ["ImageMapLinkRole", pe.default], ["ImageMapRole", de.default], ["ImageRole", fe.default], ["InlineTextBoxRole", he.default], ["InputTimeRole", we.default], ["LabelRole", Oe.default], ["LegendRole", Ee.default], ["LineBreakRole", Ue.default], ["LinkRole", Ne.default], ["ListBoxOptionRole", Ze.default], ["ListBoxRole", Je.default], ["ListItemRole", vt.default], ["ListMarkerRole", bt.default], ["ListRole", j.default], ["LogRole", X.default], ["MainRole", K.default], ["MarkRole", ee.default], ["MarqueeRole", ce.default], ["MathRole", se.default], ["MenuBarRole", Re.default], ["MenuButtonRole", ke.default], ["MenuItemRole", ge.default], ["MenuItemCheckBoxRole", Ae.default], ["MenuItemRadioRole", ze.default], ["MenuListOptionRole", je.default], ["MenuListPopupRole", De.default], ["MenuRole", Ge.default], ["MeterRole", te.default], ["NavigationRole", Ie.default], ["NoneRole", be.default], ["NoteRole", Qe.default], ["OutlineRole", tt.default], ["ParagraphRole", Xe.default], ["PopUpButtonRole", We.default], ["PreRole", Ye.default], ["PresentationalRole", St.default], ["ProgressIndicatorRole", Ht.default], ["RadioButtonRole", Y.default], ["RadioGroupRole", yt.default], ["RegionRole", gt.default], ["RootWebAreaRole", Eo.default], ["RowHeaderRole", ko.default], ["RowRole", Io.default], ["RubyRole", gm.default], ["RulerRole", Rm.default], ["ScrollAreaRole", xm.default], ["ScrollBarRole", _m.default], ["SeamlessWebAreaRole", Cm.default], ["SearchRole", Pm.default], ["SearchBoxRole", qm.default], ["SliderRole", Tm.default], ["SliderThumbRole", Sm.default], ["SpinButtonRole", wm.default], ["SpinButtonPartRole", Am.default], ["SplitterRole", Em.default], ["StaticTextRole", km.default], ["StatusRole", Im.default], ["SVGRootRole", Mm.default], ["SwitchRole", Lm.default], ["TabGroupRole", Om.default], ["TabRole", Nm.default], ["TableHeaderContainerRole", Dm.default], ["TableRole", jm.default], ["TabListRole", Bm.default], ["TabPanelRole", Fm.default], ["TermRole", Vm.default], ["TextAreaRole", $m.default], ["TextFieldRole", Hm.default], ["TimeRole", Um.default], ["TimerRole", Gm.default], ["ToggleButtonRole", Wm.default], ["ToolbarRole", zm.default], ["TreeRole", Xm.default], ["TreeGridRole", Km.default], ["TreeItemRole", Jm.default], ["UserInterfaceTooltipRole", Qm.default], ["VideoRole", Ym.default], ["WebAreaRole", Zm.default], ["WindowRole", ev.default]], sl = { entries: function() {
+  var Ut = [["AbbrRole", t.default], ["AlertDialogRole", i.default], ["AlertRole", s.default], ["AnnotationRole", l.default], ["ApplicationRole", p.default], ["ArticleRole", m.default], ["AudioRole", w.default], ["BannerRole", _.default], ["BlockquoteRole", o.default], ["BusyIndicatorRole", b.default], ["ButtonRole", O.default], ["CanvasRole", L.default], ["CaptionRole", B.default], ["CellRole", G.default], ["CheckBoxRole", F.default], ["ColorWellRole", R.default], ["ColumnHeaderRole", v.default], ["ColumnRole", h.default], ["ComboBoxRole", g.default], ["ComplementaryRole", S.default], ["ContentInfoRole", C.default], ["DateRole", x.default], ["DateTimeRole", E.default], ["DefinitionRole", D.default], ["DescriptionListDetailRole", z.default], ["DescriptionListRole", Z.default], ["DescriptionListTermRole", A.default], ["DetailsRole", N.default], ["DialogRole", I.default], ["DirectoryRole", M.default], ["DisclosureTriangleRole", V.default], ["DivRole", c.default], ["DocumentRole", r.default], ["EmbeddedObjectRole", a.default], ["FeedRole", n.default], ["FigcaptionRole", u.default], ["FigureRole", f.default], ["FooterRole", y.default], ["FormRole", P.default], ["GridRole", T.default], ["GroupRole", q.default], ["HeadingRole", H.default], ["IframePresentationalRole", J.default], ["IframeRole", re.default], ["IgnoredRole", Q.default], ["ImageMapLinkRole", pe.default], ["ImageMapRole", de.default], ["ImageRole", fe.default], ["InlineTextBoxRole", he.default], ["InputTimeRole", we.default], ["LabelRole", Oe.default], ["LegendRole", Ee.default], ["LineBreakRole", Ue.default], ["LinkRole", Ne.default], ["ListBoxOptionRole", Ze.default], ["ListBoxRole", Je.default], ["ListItemRole", vt.default], ["ListMarkerRole", bt.default], ["ListRole", j.default], ["LogRole", X.default], ["MainRole", K.default], ["MarkRole", ee.default], ["MarqueeRole", ce.default], ["MathRole", se.default], ["MenuBarRole", Re.default], ["MenuButtonRole", ke.default], ["MenuItemRole", ge.default], ["MenuItemCheckBoxRole", Ae.default], ["MenuItemRadioRole", ze.default], ["MenuListOptionRole", je.default], ["MenuListPopupRole", De.default], ["MenuRole", Ge.default], ["MeterRole", te.default], ["NavigationRole", Ie.default], ["NoneRole", be.default], ["NoteRole", Qe.default], ["OutlineRole", tt.default], ["ParagraphRole", Xe.default], ["PopUpButtonRole", We.default], ["PreRole", Ye.default], ["PresentationalRole", St.default], ["ProgressIndicatorRole", Ht.default], ["RadioButtonRole", Y.default], ["RadioGroupRole", yt.default], ["RegionRole", gt.default], ["RootWebAreaRole", Eo.default], ["RowHeaderRole", ko.default], ["RowRole", Io.default], ["RubyRole", gm.default], ["RulerRole", Rm.default], ["ScrollAreaRole", xm.default], ["ScrollBarRole", _m.default], ["SeamlessWebAreaRole", Cm.default], ["SearchRole", Pm.default], ["SearchBoxRole", qm.default], ["SliderRole", Tm.default], ["SliderThumbRole", Sm.default], ["SpinButtonRole", wm.default], ["SpinButtonPartRole", Am.default], ["SplitterRole", Em.default], ["StaticTextRole", km.default], ["StatusRole", Im.default], ["SVGRootRole", Mm.default], ["SwitchRole", Lm.default], ["TabGroupRole", Om.default], ["TabRole", Nm.default], ["TableHeaderContainerRole", Dm.default], ["TableRole", jm.default], ["TabListRole", Bm.default], ["TabPanelRole", Fm.default], ["TermRole", Vm.default], ["TextAreaRole", $m.default], ["TextFieldRole", Hm.default], ["TimeRole", Um.default], ["TimerRole", Gm.default], ["ToggleButtonRole", Wm.default], ["ToolbarRole", zm.default], ["TreeRole", Xm.default], ["TreeGridRole", Km.default], ["TreeItemRole", Jm.default], ["UserInterfaceTooltipRole", Qm.default], ["VideoRole", Ym.default], ["WebAreaRole", Zm.default], ["WindowRole", ev.default]], sl = { entries: function() {
     return Ut;
   }, forEach: function(Ve) {
     for (var Be = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, et = 0, Gt = Ut; et < Gt.length; et++) {
@@ -7525,10 +7525,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
     for (var h = 0, g = new Array(v); h < v; h++) g[h] = R[h];
     return g;
   }
-  var b = [], L = w(t.default.entries()), O;
+  var b = [], O = w(t.default.entries()), L;
   try {
     var B = function() {
-      var v = s(O.value, 2), h = v[0], g = v[1], S = g.relatedConcepts;
+      var v = s(L.value, 2), h = v[0], g = v[1], S = g.relatedConcepts;
       Array.isArray(S) && S.forEach(function(C) {
         if (C.module === "HTML") {
           var x = C.concept;
@@ -7542,11 +7542,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
         }
       });
     };
-    for (L.s(); !(O = L.n()).done; ) B();
+    for (O.s(); !(L = O.n()).done; ) B();
   } catch (R) {
-    L.e(R);
+    O.e(R);
   } finally {
-    L.f();
+    O.f();
   }
   var G = { entries: function() {
     return b;
@@ -7656,10 +7656,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
     for (var h = 0, g = new Array(v); h < v; h++) g[h] = R[h];
     return g;
   }
-  var b = [], L = w(t.default.entries()), O;
+  var b = [], O = w(t.default.entries()), L;
   try {
     var B = function() {
-      var v = s(O.value, 2), h = v[0], g = v[1], S = g.relatedConcepts;
+      var v = s(L.value, 2), h = v[0], g = v[1], S = g.relatedConcepts;
       Array.isArray(S) && S.forEach(function(C) {
         if (C.module === "ARIA") {
           var x = C.concept;
@@ -7673,11 +7673,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
         }
       });
     };
-    for (L.s(); !(O = L.n()).done; ) B();
+    for (O.s(); !(L = O.n()).done; ) B();
   } catch (R) {
-    L.e(R);
+    O.e(R);
   } finally {
-    L.f();
+    O.f();
   }
   var G = { entries: function() {
     return b;
@@ -7787,10 +7787,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
     for (var g = 0, S = new Array(h); g < h; g++) S[g] = v[g];
     return S;
   }
-  var b = [], L = w(e.default.entries()), O;
+  var b = [], O = w(e.default.entries()), L;
   try {
     var B = function() {
-      var h = s(O.value, 2), g = h[0], S = h[1], C = S.relatedConcepts;
+      var h = s(L.value, 2), g = h[0], S = h[1], C = S.relatedConcepts;
       Array.isArray(C) && C.forEach(function(x) {
         if (x.module === "HTML") {
           var E = x.concept;
@@ -7811,11 +7811,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
         }
       });
     };
-    for (L.s(); !(O = L.n()).done; ) B();
+    for (O.s(); !(L = O.n()).done; ) B();
   } catch (v) {
-    L.e(v);
+    O.e(v);
   } finally {
-    L.f();
+    O.f();
   }
   function G(v, h) {
     if (v === void 0 && h !== void 0 || v !== void 0 && h === void 0) return false;
@@ -7922,7 +7922,7 @@ function Ml() {
       function b(A, N) {
         return A.pos >= N ? false : A.peek() !== 44;
       }
-      const L = 1024 * 16, O = typeof TextDecoder < "u" ? new TextDecoder() : typeof Buffer < "u" ? { decode(A) {
+      const O = 1024 * 16, L = typeof TextDecoder < "u" ? new TextDecoder() : typeof Buffer < "u" ? { decode(A) {
         return Buffer.from(A.buffer, A.byteOffset, A.byteLength).toString();
       } } : { decode(A) {
         let N = "";
@@ -7931,15 +7931,15 @@ function Ml() {
       } };
       class B {
         constructor() {
-          this.pos = 0, this.out = "", this.buffer = new Uint8Array(L);
+          this.pos = 0, this.out = "", this.buffer = new Uint8Array(O);
         }
         write(N) {
           const { buffer: I } = this;
-          I[this.pos++] = N, this.pos === L && (this.out += O.decode(I), this.pos = 0);
+          I[this.pos++] = N, this.pos === O && (this.out += L.decode(I), this.pos = 0);
         }
         flush() {
           const { buffer: N, out: I, pos: M } = this;
-          return M > 0 ? I + O.decode(N.subarray(0, M)) : I;
+          return M > 0 ? I + L.decode(N.subarray(0, M)) : I;
         }
       }
       class G {
@@ -8151,13 +8151,13 @@ function mx() {
       }
       function b(h) {
         const g = s.exec(h);
-        return O(g[1], g[2] || "", g[3], g[4] || "", g[5] || "/", g[6] || "", g[7] || "");
+        return L(g[1], g[2] || "", g[3], g[4] || "", g[5] || "/", g[6] || "", g[7] || "");
       }
-      function L(h) {
+      function O(h) {
         const g = l.exec(h), S = g[2];
-        return O("file:", "", g[1] || "", "", w(S) ? S : "/" + S, g[3] || "", g[4] || "");
+        return L("file:", "", g[1] || "", "", w(S) ? S : "/" + S, g[3] || "", g[4] || "");
       }
-      function O(h, g, S, C, x, E, D) {
+      function L(h, g, S, C, x, E, D) {
         return { scheme: h, user: g, host: S, port: C, path: x, query: E, hash: D, type: 7 };
       }
       function B(h) {
@@ -8169,7 +8169,7 @@ function mx() {
           const S = b("http://foo.com" + h);
           return S.scheme = "", S.host = "", S.type = 5, S;
         }
-        if (_(h)) return L(h);
+        if (_(h)) return O(h);
         if (p(h)) return b(h);
         const g = b("http://foo.com/" + h);
         return g.scheme = "", g.host = "", g.type = h ? h.startsWith("?") ? 3 : h.startsWith("#") ? 2 : 4 : 1, g;
@@ -8258,7 +8258,7 @@ function bm() {
         const X = j.lastIndexOf("/");
         return j.slice(0, X + 1);
       }
-      const w = 0, _ = 1, o = 2, b = 3, L = 4, O = 1, B = 2;
+      const w = 0, _ = 1, o = 2, b = 3, O = 4, L = 1, B = 2;
       function G(j, X) {
         const K = F(j, 0);
         if (K === j.length) return j;
@@ -8372,7 +8372,7 @@ function bm() {
               continue;
             }
             const Eo = Ge + yt[_], ko = yt[o], Io = yt[b];
-            Ye.push(yt.length === 4 ? [gt, Eo, ko, Io] : [gt, Eo, ko, Io, te + yt[L]]);
+            Ye.push(yt.length === 4 ? [gt, Eo, ko, Io] : [gt, Eo, ko, Io, te + yt[O]]);
           }
         }
       }
@@ -8424,7 +8424,7 @@ function bm() {
         const ge = Re[ke];
         if (ge.length === 1) return Ne(null, null, null, null);
         const { names: Ae, resolvedSources: ze } = j;
-        return Ne(ze[ge[_]], ge[o] + 1, ge[b], ge.length === 5 ? Ae[ge[L]] : null);
+        return Ne(ze[ge[_]], ge[o] + 1, ge[b], ge.length === 5 ? Ae[ge[O]] : null);
       }
       function re(j, X) {
         const { source: K, line: ee, column: ce, bias: se } = X;
@@ -8493,7 +8493,7 @@ function bm() {
         const ke = C(j, Re, se), ge = [];
         for (; se <= ke; se++) {
           const Ae = j[se];
-          ge.push(Ze(Ae[O] + 1, Ae[B]));
+          ge.push(Ze(Ae[L] + 1, Ae[B]));
         }
         return ge;
       }
@@ -8511,7 +8511,7 @@ function bm() {
         const Ge = Je(je, De, K, ee, ce);
         if (Ge === -1) return Ze(null, null);
         const te = je[Ge];
-        return Ze(te[O] + 1, te[B]);
+        return Ze(te[L] + 1, te[B]);
       }
       i.AnyMap = N, i.GREATEST_LOWER_BOUND = f, i.LEAST_UPPER_BOUND = u, i.TraceMap = y, i.allGeneratedPositionsFor = Q, i.decodedMap = Oe, i.decodedMappings = q, i.eachMapping = pe, i.encodedMap = Ee, i.encodedMappings = T, i.generatedPositionFor = re, i.isIgnored = he, i.originalPositionFor = J, i.presortedDecodedMap = we, i.sourceContentFor = fe, i.traceSegment = H;
     });
@@ -8535,26 +8535,26 @@ function yx() {
         return o._indexes[b];
       }
       function m(o, b) {
-        const L = p(o, b);
-        if (L !== void 0) return L;
-        const { array: O, _indexes: B } = o, G = O.push(b);
+        const O = p(o, b);
+        if (O !== void 0) return O;
+        const { array: L, _indexes: B } = o, G = L.push(b);
         return B[b] = G - 1;
       }
       function w(o) {
-        const { array: b, _indexes: L } = o;
+        const { array: b, _indexes: O } = o;
         if (b.length === 0) return;
-        const O = b.pop();
-        L[O] = void 0;
+        const L = b.pop();
+        O[L] = void 0;
       }
       function _(o, b) {
-        const L = p(o, b);
-        if (L === void 0) return;
-        const { array: O, _indexes: B } = o;
-        for (let G = L + 1; G < O.length; G++) {
-          const F = O[G];
-          O[G - 1] = F, B[F]--;
+        const O = p(o, b);
+        if (O === void 0) return;
+        const { array: L, _indexes: B } = o;
+        for (let G = O + 1; G < L.length; G++) {
+          const F = L[G];
+          L[G - 1] = F, B[F]--;
         }
-        B[b] = void 0, O.pop();
+        B[b] = void 0, L.pop();
       }
       i.SetArray = s, i.get = p, i.pop = w, i.put = m, i.remove = _, Object.defineProperty(i, "__esModule", { value: true });
     });
@@ -8566,7 +8566,7 @@ function Rx() {
     (function(i, s) {
       s(t, yx(), Ml(), bm());
     })(gx, function(i, s, l, p) {
-      class O {
+      class L {
         constructor({ file: a, sourceRoot: n } = {}) {
           this._names = new s.SetArray(), this._sources = new s.SetArray(), this._sourcesContent = [], this._mappings = [], this.file = a, this.sourceRoot = n, this._ignoreList = new s.SetArray();
         }
@@ -8598,7 +8598,7 @@ function Rx() {
         return Object.assign(Object.assign({}, a), { mappings: l.encode(a.mappings) });
       }
       function x(r) {
-        const a = new p.TraceMap(r), n = new O({ file: a.file, sourceRoot: a.sourceRoot });
+        const a = new p.TraceMap(r), n = new L({ file: a.file, sourceRoot: a.sourceRoot });
         return I(n._names, a.names), I(n._sources, a.sources), n._sourcesContent = a.sourcesContent || a.sources.map(() => null), n._mappings = p.decodedMappings(a), a.ignoreList && I(n._ignoreList, a.ignoreList), n;
       }
       function E(r) {
@@ -8656,7 +8656,7 @@ function Rx() {
         const { generated: u, source: f, original: y, name: P, content: T } = n;
         return f ? D(r, a, u.line - 1, u.column, f, y.line - 1, y.column, P, T) : D(r, a, u.line - 1, u.column, null, null, null, null, null);
       }
-      i.GenMapping = O, i.addMapping = F, i.addSegment = G, i.allMappings = E, i.fromMap = x, i.maybeAddMapping = v, i.maybeAddSegment = R, i.setIgnore = g, i.setSourceContent = h, i.toDecodedMap = S, i.toEncodedMap = C, Object.defineProperty(i, "__esModule", { value: true });
+      i.GenMapping = L, i.addMapping = F, i.addSegment = G, i.allMappings = E, i.fromMap = x, i.maybeAddMapping = v, i.maybeAddSegment = R, i.setIgnore = g, i.setSourceContent = h, i.toDecodedMap = S, i.toEncodedMap = C, Object.defineProperty(i, "__esModule", { value: true });
     });
   }(yo, yo.exports)), yo.exports;
 }
@@ -8688,7 +8688,7 @@ function _x() {
             let N = l;
             if (Z.length !== 1) {
               const n = g[Z[1]];
-              if (N = L(n, Z[2], Z[3], Z.length === 5 ? C[Z[4]] : ""), N == null) continue;
+              if (N = O(n, Z[2], Z[3], Z.length === 5 ? C[Z[4]] : ""), N == null) continue;
             }
             const { column: I, line: M, name: V, content: c, source: r, ignore: a } = N;
             s.maybeAddSegment(h, E, A, r, M, I, V), r && c != null && s.setSourceContent(h, r, c), a && s.setIgnore(h, r, true);
@@ -8696,16 +8696,16 @@ function _x() {
         }
         return h;
       }
-      function L(v, h, g, S) {
+      function O(v, h, g, S) {
         if (!v.map) return m(v.source, h, g, S, v.content, v.ignore);
         const C = i.traceSegment(v.map, h, g);
-        return C == null ? null : C.length === 1 ? l : L(v.sources[C[1]], C[2], C[3], C.length === 5 ? v.map.names[C[4]] : S);
+        return C == null ? null : C.length === 1 ? l : O(v.sources[C[1]], C[2], C[3], C.length === 5 ? v.map.names[C[4]] : S);
       }
-      function O(v) {
+      function L(v) {
         return Array.isArray(v) ? v : [v];
       }
       function B(v, h) {
-        const g = O(v).map((x) => new i.TraceMap(x, "")), S = g.pop();
+        const g = L(v).map((x) => new i.TraceMap(x, "")), S = g.pop();
         for (let x = 0; x < g.length; x++) if (g[x].sources.length > 1) throw new Error(`Transformation map ${x} must have exactly one source file.
 Did you specify these with the most recent transformation maps first?`);
         let C = G(S, h, "", 0);
@@ -8818,14 +8818,14 @@ function wx(e, t) {
     let g = await Nt(`/auth/v1/users/${t.user.id}/attr`);
     g.body ? $(w, W(g.body.values)) : $(l, W(((_a3 = g.error) == null ? void 0 : _a3.message) || "Error fetching users attrs"));
   }
-  async function L() {
+  async function O() {
     $(l, "");
     let g = k(w).map((x) => x.key), S = { values: k(_).filter((x) => x.value.trim() || g.includes(x.name)).map((x) => ({ key: x.name, value: x.value.trim() })) }, C = await Rl(`/auth/v1/users/${t.user.id}/attr`, S);
     C.error ? $(l, W(C.error.message)) : ($(p, true), setTimeout(() => {
       $(p, false);
     }, 3e3)), t.onSave();
   }
-  var O = Sx(), B = Le(O), G = ve(B);
+  var L = Sx(), B = Le(L), G = ve(B);
   {
     var F = (g) => {
       var S = Px(), C = ve(S, true);
@@ -8847,7 +8847,7 @@ function wx(e, t) {
         } });
       });
       var D = ne(E, 2), z = ve(D);
-      wt(z, { onclick: L, children: (N, I) => {
+      wt(z, { onclick: O, children: (N, I) => {
         Ke();
         var M = $e();
         _e(() => xe(M, i.common.save)), ae(N, M);
@@ -8878,22 +8878,22 @@ function wx(e, t) {
       k(l) && g(h);
     });
   }
-  ae(e, O), Mt();
+  ae(e, L), Mt();
 }
 var Ax = Me("<p><b> </b></p> <p> </p> <!>", 1), Ex = Me('<div class="desc"><p><b> </b></p> <p> </p> <p> </p></div>'), kx = Me('<!> <!> <!> <div></div> <p> </p> <div class="flex gap-05"><!> <!> <!></div>', 1), Ix = Me("<div></div> <!> <!>", 1), Mx = Me('<div class="err"> </div>'), Lx = Me("<!> <!>", 1);
 function Ox(e, t) {
   It(t, true);
   const i = "min(20rem, calc(100dvw - .5rem))";
-  let s = Yt(), l = Dt(), p = ie(false), m = ie(""), w = ie(false), _ = ie(void 0), o = ie(false), b = ie(""), L = ie(""), O = _t(() => {
+  let s = Yt(), l = Dt(), p = ie(false), m = ie(""), w = ie(false), _ = ie(void 0), o = ie(false), b = ie(""), O = ie(""), L = _t(() => {
     var _a3;
-    return k(b).length > (((_a3 = k(_)) == null ? void 0 : _a3.length_min) || 8) && k(b) === k(L);
+    return k(b).length > (((_a3 = k(_)) == null ? void 0 : _a3.length_min) || 8) && k(b) === k(O);
   }), B = ie(void 0), G = ie(void 0);
   gl(async () => {
     var _a3;
     let D = await Nt("/auth/v1/password_policy");
     D.body ? $(_, W(D.body)) : $(m, W(((_a3 = D.error) == null ? void 0 : _a3.message) || "Error"));
   }), At(() => {
-    t.user.id && ($(b, ""), $(L, ""));
+    t.user.id && ($(b, ""), $(O, ""));
   });
   async function F() {
     $(m, ""), $(p, true);
@@ -8907,7 +8907,7 @@ function Ox(e, t) {
       $(m, W(s.account.passwordPolicyFollow));
       return;
     }
-    if (k(b) !== k(L)) {
+    if (k(b) !== k(O)) {
       $(m, W(s.account.passwordNoMatch));
       return;
     }
@@ -8921,7 +8921,7 @@ function Ox(e, t) {
   function v() {
     if ($(m, ""), !k(_)) return;
     let D = vv(k(_));
-    $(b, W(D)), $(L, W(D)), requestAnimationFrame(() => {
+    $(b, W(D)), $(O, W(D)), requestAnimationFrame(() => {
       var _a3, _b2;
       (_a3 = k(B)) == null ? void 0 : _a3(), (_b2 = k(G)) == null ? void 0 : _b2();
     });
@@ -8990,7 +8990,7 @@ function Ox(e, t) {
             }, get placeholder() {
               return s.account.passwordNew;
             }, get showCopy() {
-              return k(O);
+              return k(L);
             }, required: true, get maxLength() {
               return k(T);
             }, width: i, get value() {
@@ -9014,9 +9014,9 @@ function Ox(e, t) {
             }, required: true, get maxLength() {
               return k(H);
             }, width: i, get value() {
-              return k(L);
+              return k(O);
             }, set value(Ee) {
-              $(L, W(Ee));
+              $(O, W(Ee));
             }, get reportValidity() {
               return k(G);
             }, set reportValidity(Ee) {
@@ -9120,14 +9120,14 @@ function Fx(e, t) {
       k(l).length === 0 ? B(o) : B(b, false);
     });
   }
-  var L = ne(_, 2);
+  var O = ne(_, 2);
   {
-    var O = (B) => {
+    var L = (B) => {
       var G = jx(), F = ve(G, true);
       me(G), _e(() => xe(F, k(s))), ae(B, G);
     };
-    Se(L, (B) => {
-      k(s) && B(O);
+    Se(O, (B) => {
+      k(s) && B(L);
     });
   }
   ae(e, w), Mt();
@@ -9151,13 +9151,13 @@ function Hx(e, t) {
     var v = $e("Logout");
     ae(F, v);
   }, $$slots: { default: true } });
-  var L = ne(b, 2);
+  var O = ne(b, 2);
   {
-    var O = (F) => {
+    var L = (F) => {
       Yo(F, {});
     };
-    Se(L, (F) => {
-      k(l) && F(O);
+    Se(O, (F) => {
+      k(l) && F(L);
     });
   }
   me(o);
@@ -9179,25 +9179,25 @@ function Wx(e, t) {
   let i = Yt(), s = Dt(), l = ie("");
   async function p() {
     $(l, "");
-    let O = await xl(`/auth/v1/users/${t.userId}`);
-    O.error ? $(l, W(O.error.message)) : t.onSave();
+    let L = await xl(`/auth/v1/users/${t.userId}`);
+    L.error ? $(l, W(L.error.message)) : t.onSave();
   }
   var m = Gx(), w = Le(m), _ = ve(w, true);
   me(w);
   var o = ne(w, 2);
-  wt(o, { level: -1, onclick: p, children: (O, B) => {
+  wt(o, { level: -1, onclick: p, children: (L, B) => {
     Ke();
     var G = $e();
-    _e(() => xe(G, i.common.delete)), ae(O, G);
+    _e(() => xe(G, i.common.delete)), ae(L, G);
   }, $$slots: { default: true } });
   var b = ne(o, 2);
   {
-    var L = (O) => {
+    var O = (L) => {
       var B = Ux(), G = ve(B, true);
-      me(B), _e(() => xe(G, k(l))), ae(O, B);
+      me(B), _e(() => xe(G, k(l))), ae(L, B);
     };
-    Se(b, (O) => {
-      k(l) && O(L);
+    Se(b, (L) => {
+      k(l) && L(O);
     });
   }
   _e(() => xe(_, s.users.deleteUser)), ae(e, m), Mt();
@@ -9219,17 +9219,17 @@ function Kx(e, t) {
       (_a4 = k(m)) == null ? void 0 : _a4();
     })) : $(w, W(((_a3 = v.error) == null ? void 0 : _a3.message) || "Error fetching user"));
   }
-  var b = Xx(), L = Le(b);
+  var b = Xx(), O = Le(b);
   {
-    var O = (v) => {
+    var L = (v) => {
       var h = zx(), g = ve(h, true);
       me(h), _e(() => xe(g, k(w))), ae(v, h);
     };
-    Se(L, (v) => {
-      k(w) && v(O);
+    Se(O, (v) => {
+      k(w) && v(L);
     });
   }
-  var B = ne(L, 2), G = ve(B);
+  var B = ne(O, 2), G = ve(B);
   bv(G, { tabs: l, get selected() {
     return k(p);
   }, set selected(v) {
@@ -9287,7 +9287,7 @@ function Kx(e, t) {
                       var y = st(), P = Le(y);
                       {
                         var T = (H) => {
-                          Cv(H, { viewMode: "admin", get userId() {
+                          Cv(H, { get userId() {
                             return t.userId;
                           } });
                         }, q = (H) => {
@@ -9368,7 +9368,7 @@ function D_(e, t) {
       _e(() => xe(u, c())), ae(a, u);
     } });
   };
-  let s = ie(void 0), l = ie(""), p = ie(W([])), m = ie(W([])), w = ie(W([])), _ = dv("uid"), o = ie(void 0), b = ie(W([])), L = ie(W([])), O = ie(false), B = ie(void 0), G = ie(W(Pv)), F = ie(false), R = W(["E-Mail", "ID"]), v = ie(W(R[0])), h = ie(""), g = W(["E-Mail", "ID", "Created", "Last Login"]);
+  let s = ie(void 0), l = ie(""), p = ie(W([])), m = ie(W([])), w = ie(W([])), _ = dv("uid"), o = ie(void 0), b = ie(W([])), O = ie(W([])), L = ie(false), B = ie(void 0), G = ie(W(Pv)), F = ie(false), R = W(["E-Mail", "ID"]), v = ie(W(R[0])), h = ie(""), g = W(["E-Mail", "ID", "Created", "Last Login"]);
   gl(() => {
     C("page_size=" + k(G)), x(), E();
   }), At(() => {
@@ -9376,7 +9376,7 @@ function D_(e, t) {
     $(o, W((_a3 = k(p).find((M) => M.id === _.get())) == null ? void 0 : _a3.id));
   }), At(() => {
     let M = k(h).toLowerCase();
-    k(O) ? M.length < 3 ? k(F) && (C("page_size=" + k(G)), $(F, false)) : S(M) : M ? k(v) === R[0] ? $(m, W(k(p).filter((V) => {
+    k(L) ? M.length < 3 ? k(F) && (C("page_size=" + k(G)), $(F, false)) : S(M) : M ? k(v) === R[0] ? $(m, W(k(p).filter((V) => {
       var _a3;
       return (_a3 = V.email) == null ? void 0 : _a3.toLowerCase().includes(M);
     }))) : k(v) === R[1] && $(m, W(k(p).filter((V) => V.id.toLowerCase().includes(M)))) : $(m, W(k(p)));
@@ -9392,12 +9392,12 @@ function D_(e, t) {
     let V = "/auth/v1/users";
     M && (V += `?${M}`);
     let c = await Nt(V);
-    return c.error ? $(l, "Error fetching users: " + c.error.message) : c.body && (c.status === 206 ? ($(O, true), $(B, W(c.headers))) : ($(O, false), $(B, void 0)), $(p, W(c.body))), [c.status, c.headers];
+    return c.error ? $(l, "Error fetching users: " + c.error.message) : c.body && (c.status === 206 ? ($(L, true), $(B, W(c.headers))) : ($(L, false), $(B, void 0)), $(p, W(c.body))), [c.status, c.headers];
   }
   async function x() {
     var _a3;
     let M = await Nt("/auth/v1/roles");
-    M.body ? $(L, W(M.body.toSorted((V, c) => V.name.localeCompare(c.name)))) : $(l, W(((_a3 = M.error) == null ? void 0 : _a3.message) || "Error"));
+    M.body ? $(O, W(M.body.toSorted((V, c) => V.name.localeCompare(c.name)))) : $(l, W(((_a3 = M.error) == null ? void 0 : _a3.message) || "Error"));
   }
   async function E() {
     var _a3;
@@ -9476,7 +9476,7 @@ function D_(e, t) {
             } });
           };
           Se(H, (Q) => {
-            k(O) ? Q(J) : Q(re, false);
+            k(L) ? Q(J) : Q(re, false);
           }, true);
         }
         ae(T, q);
@@ -9488,7 +9488,7 @@ function D_(e, t) {
     ae(V, c);
   }, children: (V, c) => {
     var r = Qx(), a = Le(r);
-    const n = _t(() => k(L).length === 0 ? 1 : 2);
+    const n = _t(() => k(O).length === 0 ? 1 : 2);
     cv(a, { get level() {
       return k(n);
     }, alignRight: true, get closeModal() {
@@ -9497,7 +9497,7 @@ function D_(e, t) {
       $(s, W(f));
     }, children: (f, y) => {
       kv(f, { onSave: z, get roles() {
-        return k(L);
+        return k(O);
       }, get groups() {
         return k(b);
       } });
@@ -9535,7 +9535,7 @@ function D_(e, t) {
         Kx(y, { get userId() {
           return k(o);
         }, get roles() {
-          return k(L);
+          return k(O);
         }, get groups() {
           return k(b);
         }, onSave: Z });
diff --git a/static/v1/_app/immutable/chunks/DhdHODqL.js.br b/static/v1/_app/immutable/chunks/DhdHODqL.js.br
new file mode 100644
index 00000000..db069ef7
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DhdHODqL.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DhdHODqL.js.gz b/static/v1/_app/immutable/chunks/DhdHODqL.js.gz
new file mode 100644
index 00000000..06377303
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DhdHODqL.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DmeAqnkr.js.br b/static/v1/_app/immutable/chunks/DmeAqnkr.js.br
deleted file mode 100644
index f08860ec..00000000
Binary files a/static/v1/_app/immutable/chunks/DmeAqnkr.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DmeAqnkr.js.gz b/static/v1/_app/immutable/chunks/DmeAqnkr.js.gz
deleted file mode 100644
index aeca968c..00000000
Binary files a/static/v1/_app/immutable/chunks/DmeAqnkr.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/D3G2nKoD.js b/static/v1/_app/immutable/chunks/DpcgKHU5.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/D3G2nKoD.js
rename to static/v1/_app/immutable/chunks/DpcgKHU5.js
index a970ea34..3b435fa2 100644
--- a/static/v1/_app/immutable/chunks/D3G2nKoD.js
+++ b/static/v1/_app/immutable/chunks/DpcgKHU5.js
@@ -8,7 +8,7 @@ import { a as j, B as $ } from "./DMkkW5Nn.js";
 import { p as P } from "./Wh68IIk2.js";
 import { b as tt } from "./7lxiEjMQ.js";
 import { p as c } from "./C6SR4G2t.js";
-import { g as et } from "./CGXT-546.js";
+import { g as et } from "./BaE7H8ny.js";
 var it = O('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M7.5 21 3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5"></path></svg>');
 function at(_, e) {
   let u = c(e, "opacity", 3, 0.9), k = c(e, "width", 3, "1.5rem"), T = c(e, "color", 3, "currentColor");
diff --git a/static/v1/_app/immutable/chunks/DpcgKHU5.js.br b/static/v1/_app/immutable/chunks/DpcgKHU5.js.br
new file mode 100644
index 00000000..9351f650
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DpcgKHU5.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DpcgKHU5.js.gz b/static/v1/_app/immutable/chunks/DpcgKHU5.js.gz
new file mode 100644
index 00000000..de6706e9
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DpcgKHU5.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DwMn7YWq.js.br b/static/v1/_app/immutable/chunks/DwMn7YWq.js.br
deleted file mode 100644
index d9fd3951..00000000
Binary files a/static/v1/_app/immutable/chunks/DwMn7YWq.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DwMn7YWq.js.gz b/static/v1/_app/immutable/chunks/DwMn7YWq.js.gz
deleted file mode 100644
index 3dce5bf8..00000000
Binary files a/static/v1/_app/immutable/chunks/DwMn7YWq.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/C-8adDJ4.js b/static/v1/_app/immutable/chunks/DwWkPEtb.js
similarity index 88%
rename from static/v1/_app/immutable/chunks/C-8adDJ4.js
rename to static/v1/_app/immutable/chunks/DwWkPEtb.js
index cf50285f..5e1acd20 100644
--- a/static/v1/_app/immutable/chunks/C-8adDJ4.js
+++ b/static/v1/_app/immutable/chunks/DwWkPEtb.js
@@ -3,12 +3,12 @@ import { p as k, f as M, a as O, l as c, k as T, j as e, s as r, c as m, r as l,
 import { s as h } from "./CTI4QPiR.js";
 import { i as w } from "./BUO_AUgz.js";
 import { p as x } from "./Wh68IIk2.js";
-import { L as y } from "./KFFqpuZ0.js";
+import { L as y } from "./DUtP9z1z.js";
 import { M as A } from "./Ds6bXi0i.js";
 import { C as D } from "./GWgockW8.js";
-import { T as $ } from "./DSw3WKCO.js";
-import { T as U, a as X } from "./CGXT-546.js";
-import { T as q } from "./DNdifVes.js";
+import { T as $ } from "./DcJo-CQ6.js";
+import { T as U, a as X } from "./BaE7H8ny.js";
+import { T as q } from "./CVHA2fPQ.js";
 import "./DMkkW5Nn.js";
 var z = g('<div class="flex-col"><h1> </h1> <br> <p> </p> <!> <!> <!></div>'), B = g("<!> <!> <!>", 1);
 function or(b, C) {
diff --git a/static/v1/_app/immutable/chunks/DwWkPEtb.js.br b/static/v1/_app/immutable/chunks/DwWkPEtb.js.br
new file mode 100644
index 00000000..38103e33
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DwWkPEtb.js.br differ
diff --git a/static/v1/_app/immutable/chunks/DwWkPEtb.js.gz b/static/v1/_app/immutable/chunks/DwWkPEtb.js.gz
new file mode 100644
index 00000000..cc22b6e1
Binary files /dev/null and b/static/v1/_app/immutable/chunks/DwWkPEtb.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/DxrdFxfV.js.br b/static/v1/_app/immutable/chunks/DxrdFxfV.js.br
deleted file mode 100644
index d756518b..00000000
Binary files a/static/v1/_app/immutable/chunks/DxrdFxfV.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DxrdFxfV.js.gz b/static/v1/_app/immutable/chunks/DxrdFxfV.js.gz
deleted file mode 100644
index b3bb8a0a..00000000
Binary files a/static/v1/_app/immutable/chunks/DxrdFxfV.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/GDMtXUL9.js.br b/static/v1/_app/immutable/chunks/GDMtXUL9.js.br
deleted file mode 100644
index 2a27d7ee..00000000
Binary files a/static/v1/_app/immutable/chunks/GDMtXUL9.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/GDMtXUL9.js.gz b/static/v1/_app/immutable/chunks/GDMtXUL9.js.gz
deleted file mode 100644
index 036f924a..00000000
Binary files a/static/v1/_app/immutable/chunks/GDMtXUL9.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/KFFqpuZ0.js.br b/static/v1/_app/immutable/chunks/KFFqpuZ0.js.br
deleted file mode 100644
index adca0c2e..00000000
Binary files a/static/v1/_app/immutable/chunks/KFFqpuZ0.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/KFFqpuZ0.js.gz b/static/v1/_app/immutable/chunks/KFFqpuZ0.js.gz
deleted file mode 100644
index 666c1d01..00000000
Binary files a/static/v1/_app/immutable/chunks/KFFqpuZ0.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/bbkAiDd0.js b/static/v1/_app/immutable/chunks/bbkAiDd0.js
deleted file mode 100644
index 0f469feb..00000000
--- a/static/v1/_app/immutable/chunks/bbkAiDd0.js
+++ /dev/null
@@ -1,61 +0,0 @@
-import { C as f } from "./CGXT-546.js";
-function u(e, n) {
-  let t;
-  return n === "json" ? t = { "Content-Type": "application/json", Accept: "application/json" } : t = { "Content-type": "application/x-www-form-urlencoded", Accept: "application/json" }, e !== "GET" && (t["csrf-token"] = localStorage.getItem(f)), t;
-}
-async function p(e, n = "json", t = "default") {
-  return r("GET", e, n, t);
-}
-async function h(e, n, t = "json") {
-  return n ? c("POST", e, t, n) : r("POST", e, t);
-}
-async function w(e, n) {
-  return await fetch(e.action, { method: e.method, headers: { "content-type": "application/x-www-form-urlencoded" }, body: n });
-}
-async function y(e, n, t = "json") {
-  return n ? c("PUT", e, t, n) : r("PUT", e, t);
-}
-async function m(e, n, t = "json") {
-  return n ? await c("DELETE", e, t, n) : await r("DELETE", e, t);
-}
-async function r(e, n, t, a) {
-  let o = await fetch(n, { method: e, headers: u(e, t), redirect: "manual", cache: a });
-  return await i(o);
-}
-async function c(e, n, t, a) {
-  let o;
-  t === "json" ? o = JSON.stringify(a) : t === "form" && (o = l(a));
-  let s = await fetch(n, { method: e, headers: u(e, t), redirect: "manual", body: o });
-  return i(s);
-}
-function l(e) {
-  let n = new FormData();
-  for (let t of Object.keys(e)) {
-    let a = e[t];
-    typeof a == "object" ? n.append(t, JSON.stringify(a)) : n.append(t, e[t]);
-  }
-  return n;
-}
-async function i(e, n) {
-  e.status === 401 && window.location.reload();
-  let t = { body: void 0, text: void 0, error: void 0, status: e.status, headers: e.headers };
-  return e.ok ? e.headers.get("content-type") === "application/json" ? t.body = await e.json() : t.text = await e.text() : e.status !== 405 && (t.error = await e.json()), t;
-}
-async function j(e, n) {
-  return await e.json();
-}
-async function T(e, n, t, a) {
-  const o = new FormData();
-  o.append(a, t);
-  const s = await fetch(n, { method: e, headers: { "csrf-token": localStorage.getItem(f) || "" }, body: o });
-  return i(s);
-}
-export {
-  w as a,
-  h as b,
-  m as c,
-  y as d,
-  j as e,
-  p as f,
-  T as u
-};
diff --git a/static/v1/_app/immutable/chunks/bbkAiDd0.js.br b/static/v1/_app/immutable/chunks/bbkAiDd0.js.br
deleted file mode 100644
index b4424b4a..00000000
Binary files a/static/v1/_app/immutable/chunks/bbkAiDd0.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/bbkAiDd0.js.gz b/static/v1/_app/immutable/chunks/bbkAiDd0.js.gz
deleted file mode 100644
index e93a35ff..00000000
Binary files a/static/v1/_app/immutable/chunks/bbkAiDd0.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/DbOz6XEk.js b/static/v1/_app/immutable/chunks/cMKAIrmN.js
similarity index 96%
rename from static/v1/_app/immutable/chunks/DbOz6XEk.js
rename to static/v1/_app/immutable/chunks/cMKAIrmN.js
index 656803df..234f94ae 100644
--- a/static/v1/_app/immutable/chunks/DbOz6XEk.js
+++ b/static/v1/_app/immutable/chunks/cMKAIrmN.js
@@ -5,11 +5,11 @@ import { i as x } from "./BUO_AUgz.js";
 import { a as tt } from "./BMbqVy6X.js";
 import { a as et, B as at } from "./DMkkW5Nn.js";
 import { p as A } from "./Wh68IIk2.js";
-import { k as ot, l as M } from "./CGXT-546.js";
+import { k as ot, l as M } from "./BaE7H8ny.js";
 import { u as rt } from "./D8mHI_K9.js";
-import { A as it } from "./B6SEzQuS.js";
+import { A as it } from "./gtHtP0A2.js";
 import { T as nt } from "./BmpEzKyJ.js";
-import { u as vt } from "./DOl8_ubJ.js";
+import { u as vt } from "./BQ1-pLIs.js";
 var st = u('<div class="ip font-mono svelte-1dc3uko"> </div>'), lt = u("<div><!></div>"), mt = u(" <!>", 1), ft = u(" <!>", 1), dt = u(" <!>", 1), ut = u('<div role="contentinfo"><div class="ts svelte-1dc3uko"> </div> <!> <!></div>');
 function Rt(O, t) {
   S(t, true);
diff --git a/static/v1/_app/immutable/chunks/cMKAIrmN.js.br b/static/v1/_app/immutable/chunks/cMKAIrmN.js.br
new file mode 100644
index 00000000..5e94e940
Binary files /dev/null and b/static/v1/_app/immutable/chunks/cMKAIrmN.js.br differ
diff --git a/static/v1/_app/immutable/chunks/cMKAIrmN.js.gz b/static/v1/_app/immutable/chunks/cMKAIrmN.js.gz
new file mode 100644
index 00000000..c06865b5
Binary files /dev/null and b/static/v1/_app/immutable/chunks/cMKAIrmN.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/BIsFWZ5z.js b/static/v1/_app/immutable/chunks/dWvWuq1E.js
similarity index 97%
rename from static/v1/_app/immutable/chunks/BIsFWZ5z.js
rename to static/v1/_app/immutable/chunks/dWvWuq1E.js
index 699ceb16..08fdebc2 100644
--- a/static/v1/_app/immutable/chunks/BIsFWZ5z.js
+++ b/static/v1/_app/immutable/chunks/dWvWuq1E.js
@@ -6,7 +6,7 @@ import { a as D } from "./BMbqVy6X.js";
 import { p as E } from "./Wh68IIk2.js";
 import { p as f } from "./C6SR4G2t.js";
 import { B as F } from "./DMkkW5Nn.js";
-import { M as G } from "./GDMtXUL9.js";
+import { M as G } from "./BHXYRhv2.js";
 import { u as H } from "./D8mHI_K9.js";
 var J = w("<div><!> <!></div>");
 function Y(u, t) {
diff --git a/static/v1/_app/immutable/chunks/dWvWuq1E.js.br b/static/v1/_app/immutable/chunks/dWvWuq1E.js.br
new file mode 100644
index 00000000..b5e3cf73
Binary files /dev/null and b/static/v1/_app/immutable/chunks/dWvWuq1E.js.br differ
diff --git a/static/v1/_app/immutable/chunks/dWvWuq1E.js.gz b/static/v1/_app/immutable/chunks/dWvWuq1E.js.gz
new file mode 100644
index 00000000..f820bc01
Binary files /dev/null and b/static/v1/_app/immutable/chunks/dWvWuq1E.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/B6SEzQuS.js b/static/v1/_app/immutable/chunks/gtHtP0A2.js
similarity index 96%
rename from static/v1/_app/immutable/chunks/B6SEzQuS.js
rename to static/v1/_app/immutable/chunks/gtHtP0A2.js
index 5ec45a6f..cdf5e999 100644
--- a/static/v1/_app/immutable/chunks/B6SEzQuS.js
+++ b/static/v1/_app/immutable/chunks/gtHtP0A2.js
@@ -3,7 +3,7 @@ import { p as P, c as W, r as x, t as U, j as _, a9 as b, a as j } from "./CvlvO
 import { s as k } from "./-T201g_q.js";
 import { a as E, s as r } from "./BMbqVy6X.js";
 import { p as i } from "./C6SR4G2t.js";
-import { p as h } from "./DM7UbbyI.js";
+import { p as h } from "./BDMwC9Hh.js";
 var I = p("<a><!></a>");
 function w(s, e) {
   P(e, true);
diff --git a/static/v1/_app/immutable/chunks/gtHtP0A2.js.br b/static/v1/_app/immutable/chunks/gtHtP0A2.js.br
new file mode 100644
index 00000000..9fc04fe0
Binary files /dev/null and b/static/v1/_app/immutable/chunks/gtHtP0A2.js.br differ
diff --git a/static/v1/_app/immutable/chunks/gtHtP0A2.js.gz b/static/v1/_app/immutable/chunks/gtHtP0A2.js.gz
new file mode 100644
index 00000000..aee06130
Binary files /dev/null and b/static/v1/_app/immutable/chunks/gtHtP0A2.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js b/static/v1/_app/immutable/chunks/h7VULPdI.js
similarity index 99%
rename from static/v1/_app/immutable/chunks/B6Ygp7Nf.js
rename to static/v1/_app/immutable/chunks/h7VULPdI.js
index 38d56205..b50cc6bd 100644
--- a/static/v1/_app/immutable/chunks/B6Ygp7Nf.js
+++ b/static/v1/_app/immutable/chunks/h7VULPdI.js
@@ -5,7 +5,7 @@ import { i as p } from "./BUO_AUgz.js";
 import { a as h } from "./BMbqVy6X.js";
 import { p as R } from "./Wh68IIk2.js";
 import { p as Z } from "./C6SR4G2t.js";
-import { u as $ } from "./DOl8_ubJ.js";
+import { u as $ } from "./BQ1-pLIs.js";
 var ll = x("<li> </li>"), el = x("<li> </li>"), il = x("<li> </li>"), al = x("<li> </li>"), tl = x('<li class="li svelte-u5h3xg"> </li>'), cl = x('<div class="policyContainer svelte-u5h3xg"><b class="svelte-u5h3xg"> </b> <ul class="svelte-u5h3xg"><li> </li> <li> </li> <!> <!> <!> <!> <!></ul></div>');
 function vl(q, l) {
   T(l, true);
diff --git a/static/v1/_app/immutable/chunks/h7VULPdI.js.br b/static/v1/_app/immutable/chunks/h7VULPdI.js.br
new file mode 100644
index 00000000..160d7b3a
Binary files /dev/null and b/static/v1/_app/immutable/chunks/h7VULPdI.js.br differ
diff --git a/static/v1/_app/immutable/chunks/h7VULPdI.js.gz b/static/v1/_app/immutable/chunks/h7VULPdI.js.gz
new file mode 100644
index 00000000..a3b071f8
Binary files /dev/null and b/static/v1/_app/immutable/chunks/h7VULPdI.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/yeyP9_ZL.js b/static/v1/_app/immutable/chunks/yeyP9_ZL.js
deleted file mode 100644
index e2a95885..00000000
--- a/static/v1/_app/immutable/chunks/yeyP9_ZL.js
+++ /dev/null
@@ -1,82 +0,0 @@
-import { n as H, a as x, t as A } from "./BH6NCLk-.js";
-import { t as k, p as J, aa as Q, j as s, k as w, l as n, c, r as v, a as R, s as y, f as W } from "./CvlvO1XB.js";
-import { e as X, s as I } from "./CTI4QPiR.js";
-import { i as Y } from "./BUO_AUgz.js";
-import { s as l } from "./BMbqVy6X.js";
-import { a as T, L as Z } from "./DMkkW5Nn.js";
-import { c as $ } from "./BhIBACXG.js";
-import { p as z } from "./Wh68IIk2.js";
-import { p as o } from "./C6SR4G2t.js";
-import { g as ee } from "./CGXT-546.js";
-import { u as ae } from "./D8mHI_K9.js";
-import { u as te } from "./bbkAiDd0.js";
-var ie = H('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"></path></svg>');
-function le(j, e) {
-  let U = o(e, "opacity", 3, 0.9), u = o(e, "width", 3, "1.5rem"), b = o(e, "color", 3, "currentColor");
-  var d = ie();
-  l(d, "stroke-width", 2), k(() => {
-    l(d, "stroke", b()), l(d, "width", u()), l(d, "opacity", U());
-  }), x(j, d);
-}
-var se = A('<div class="flex space-between loading svelte-1210bad"><span class="flex gap-05"><span> </span> <span> </span> <span>/</span> <span> </span></span> <!></div>'), oe = A('<label class="svelte-1210bad"><!></label> <input type="file" class="svelte-1210bad">', 1), re = A('<form aria-dropeffect="move" aria-label="Upload" class="flex svelte-1210bad"><!></form>');
-function we(j, e) {
-  J(e, true);
-  let U = o(e, "method", 3, "PUT"), u = o(e, "accept", 19, () => [".image/jpg", "image/jpeg", "image/png", "image/svg"]), b = o(e, "buttonOnly", 3, false), d = o(e, "buttonSize", 3, "1.5rem"), M = o(e, "multiple", 3, false), O = o(e, "width", 3, "17rem"), B = o(e, "height", 3, "2.5rem");
-  const F = ee();
-  let C = ae(), _ = w(false), f = w(void 0), L = w(0), g = w(0);
-  Q(() => {
-    !s(_) && s(f) && s(f).length > 0 && N(s(f));
-  });
-  function K(t) {
-    var _a;
-    n(f, z((_a = t.dataTransfer) == null ? void 0 : _a.files));
-  }
-  async function N(t) {
-    var _a;
-    n(L, z(t.length)), n(g, 0), n(_, true);
-    for (let i of t) {
-      if (console.log("uploading file", i), u() && !u().includes(i.type)) {
-        n(g, s(g) + 1);
-        continue;
-      }
-      let a = await te(U(), e.url, i, e.fileName || i.name);
-      a.error ? console.error(a.error) : (_a = e.onSuccess) == null ? void 0 : _a.call(e), n(g, s(g) + 1);
-    }
-    n(f, void 0), n(_, false);
-  }
-  var m = re(), P = c(m);
-  {
-    var V = (t) => {
-      var i = se(), a = c(i), h = c(a), r = c(h);
-      v(h);
-      var p = y(h, 2), D = c(p, true);
-      v(p);
-      var S = y(p, 4), E = c(S, true);
-      v(S), v(a);
-      var G = y(a, 2);
-      Z(G, {}), v(i), k(() => {
-        I(r, `${C.common.loading ?? ""}:`), I(D, s(g)), I(E, s(L));
-      }), x(t, i);
-    }, q = (t) => {
-      var i = oe(), a = W(i);
-      l(a, "for", F);
-      var h = c(a);
-      le(h, { get width() {
-        return d();
-      } }), v(a);
-      var r = y(a, 2);
-      l(r, "id", F), k((p) => {
-        l(a, "aria-disabled", e.disabled), l(r, "aria-hidden", b()), l(r, "accept", p), l(r, "aria-disabled", e.disabled), r.disabled = e.disabled, r.multiple = M();
-      }, [() => u() && u().join(", ")]), $(r, () => s(f), (p) => n(f, p)), x(t, i);
-    };
-    Y(P, (t) => {
-      s(_) ? t(V) : t(q, false);
-    });
-  }
-  v(m), k(() => {
-    l(m, "data-nopad", b()), T(m, "width", O()), T(m, "height", B());
-  }), X("drop", m, K), x(j, m), R();
-}
-export {
-  we as I
-};
diff --git a/static/v1/_app/immutable/chunks/yeyP9_ZL.js.br b/static/v1/_app/immutable/chunks/yeyP9_ZL.js.br
deleted file mode 100644
index c9dfd0f8..00000000
Binary files a/static/v1/_app/immutable/chunks/yeyP9_ZL.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/yeyP9_ZL.js.gz b/static/v1/_app/immutable/chunks/yeyP9_ZL.js.gz
deleted file mode 100644
index 84dc38fc..00000000
Binary files a/static/v1/_app/immutable/chunks/yeyP9_ZL.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CLPs45Pj.js b/static/v1/_app/immutable/chunks/yrKs3w9k.js
similarity index 98%
rename from static/v1/_app/immutable/chunks/CLPs45Pj.js
rename to static/v1/_app/immutable/chunks/yrKs3w9k.js
index f865a763..12e08a42 100644
--- a/static/v1/_app/immutable/chunks/CLPs45Pj.js
+++ b/static/v1/_app/immutable/chunks/yrKs3w9k.js
@@ -7,9 +7,9 @@ import { s as f } from "./BMbqVy6X.js";
 import { p as b } from "./Wh68IIk2.js";
 import { p as P } from "./C6SR4G2t.js";
 import { I as G } from "./BZaoh_H_.js";
-import { u as le } from "./DOl8_ubJ.js";
+import { u as le } from "./BQ1-pLIs.js";
 import { B as I } from "./DMkkW5Nn.js";
-import { O as ne } from "./CGniv4pe.js";
+import { O as ne } from "./BHnvQvwL.js";
 var ve = g('<div class="link noselect svelte-u1kdp4"> </div>'), de = g('<li class="svelte-u1kdp4"><!></li>'), ce = g('<nav class="svelte-u1kdp4"><ul class="svelte-u1kdp4"></ul></nav>'), ue = g('<div class="flex gap-10 svelte-u1kdp4"><div class="flex gap-05 chunkSize noselect svelte-u1kdp4"><div class="svelte-u1kdp4"> </div> <div class="svelte-u1kdp4"><!></div></div> <div class="font-label total svelte-u1kdp4"> </div></div>'), pe = g('<div class="iconLeft svelte-u1kdp4"><!></div>'), fe = g('<div class="iconRight svelte-u1kdp4"><!></div>'), ge = g('<div class="container svelte-u1kdp4"><div class="flex"><!> <!> <!></div> <!></div>');
 function Be(J, d) {
   ae(d, true);
diff --git a/static/v1/_app/immutable/chunks/yrKs3w9k.js.br b/static/v1/_app/immutable/chunks/yrKs3w9k.js.br
new file mode 100644
index 00000000..b7dfcf7b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/yrKs3w9k.js.br differ
diff --git a/static/v1/_app/immutable/chunks/yrKs3w9k.js.gz b/static/v1/_app/immutable/chunks/yrKs3w9k.js.gz
new file mode 100644
index 00000000..540530af
Binary files /dev/null and b/static/v1/_app/immutable/chunks/yrKs3w9k.js.gz differ
diff --git a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.br b/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.br
deleted file mode 100644
index 579be07c..00000000
Binary files a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.gz b/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.gz
deleted file mode 100644
index 8e71917f..00000000
Binary files a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js b/static/v1/_app/immutable/entry/app.pvwjm25P.js
similarity index 76%
rename from static/v1/_app/immutable/entry/app.CHL_O5Ts.js
rename to static/v1/_app/immutable/entry/app.pvwjm25P.js
index 37e8d5cb..3b4db68b 100644
--- a/static/v1/_app/immutable/entry/app.CHL_O5Ts.js
+++ b/static/v1/_app/immutable/entry/app.pvwjm25P.js
@@ -1,4 +1,4 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.YgBVodKw.js","../chunks/BH6NCLk-.js","../chunks/CvlvO1XB.js","../chunks/BUO_AUgz.js","../chunks/-T201g_q.js","../chunks/Wh68IIk2.js","../chunks/DOl8_ubJ.js","../assets/0.BgTF6zX-.css","../nodes/1.DjNR0xst.js","../chunks/CTI4QPiR.js","../chunks/DM7UbbyI.js","../chunks/CRhC1XE8.js","../nodes/2.B-zWphhB.js","../chunks/i8Xqpu09.js","../chunks/7lxiEjMQ.js","../chunks/Ds6bXi0i.js","../assets/Main.Dm-IaPgT.css","../chunks/DMkkW5Nn.js","../chunks/BMbqVy6X.js","../chunks/zosqiMUL.js","../chunks/C6SR4G2t.js","../assets/Button.D8d1DpHB.css","../chunks/DNdifVes.js","../assets/ThemeSwitch.DqWmA1Kg.css","../chunks/KFFqpuZ0.js","../chunks/CGXT-546.js","../chunks/CGniv4pe.js","../chunks/BpWRzPRQ.js","../chunks/BhIBACXG.js","../chunks/D8mHI_K9.js","../assets/Options.DhTNlbAJ.css","../chunks/bbkAiDd0.js","../assets/LangSelector.U7YPPwhi.css","../chunks/B6SEzQuS.js","../assets/A.Dh1ywWRo.css","../chunks/Vi3uK7uO.js","../chunks/BmpEzKyJ.js","../assets/Tooltip.C_ZIhQMX.css","../chunks/CR02HlKk.js","../chunks/DbOz6XEk.js","../assets/Event.jSO7nsEo.css","../assets/2.Cmyyzwvb.css","../nodes/3.BdrLi89M.js","../chunks/D3G2nKoD.js","../assets/NavSub.DoCLemSo.css","../chunks/BnPoFdx3.js","../assets/ContentAdmin.BLfkWbjo.css","../assets/3.CP24NPRE.css","../nodes/4.BKUHHgwc.js","../chunks/GWgockW8.js","../assets/ContentCenter.CgrtcW8D.css","../chunks/DSw3WKCO.js","../chunks/BMFqJ6Jy.js","../assets/4.Co9Ka4UE.css","../nodes/5.CDkCALow.js","../chunks/CS_Msctd.js","../chunks/Nks81rMs.js","../chunks/GDMtXUL9.js","../assets/Modal.BtIM9gKT.css","../chunks/BV-QGn6o.js","../assets/ButtonAuthProvider.D8eJXbhZ.css","../chunks/DmeAqnkr.js","../chunks/CmsKOCeN.js","../assets/pow.CVii6IAo.css","../chunks/CqS1e6KT.js","../chunks/DswDW5U8.js","../chunks/BRCxk8by.js","../chunks/C3mvM0t4.js","../assets/InputDateTimeCombo.DolONx9D.css","../chunks/DwMn7YWq.js","../chunks/CY7Th9O-.js","../assets/WebauthnRequest.CzwDbkf1.css","../chunks/CHyRPnih.js","../chunks/BlGzyD-C.js","../chunks/BZaoh_H_.js","../assets/Expandable.D-p5TY3y.css","../chunks/CE2_6siz.js","../assets/LabeledValue.DgYB9jCX.css","../assets/Devices.CG8oDF9x.css","../chunks/B6Ygp7Nf.js","../assets/PasswordPolicy.CUa-s_dl.css","../chunks/CLUUhKug.js","../assets/InputPassword.C2KOSbcl.css","../chunks/Cv55insy.js","../assets/InputArea.D6mM9kxV.css","../chunks/D45liQ4S.js","../chunks/_OE2Cq0B.js","../assets/Tabs.CEW0mXQK.css","../assets/5.DglvKDFr.css","../nodes/6.BCzHA2GH.js","../chunks/ClhbEfd1.js","../chunks/DxrdFxfV.js","../assets/OrderSearchBar.CA5kVv7H.css","../chunks/CLPs45Pj.js","../assets/Pagination.BdyGauFO.css","../chunks/BIsFWZ5z.js","../assets/ButtonAddModal.seo_jBEw.css","../chunks/D-L0o8jR.js","../assets/NavButtonTile.Cng_QrXH.css","../chunks/DTR8xafZ.js","../assets/InputCheckbox.C8ohHFHX.css","../chunks/CwWWGNuX.js","../assets/SelectList.C3ZG6Sq9.css","../chunks/BnmgLJ5E.js","../assets/search.DUeB7W-1.css","../assets/Users.DW0xzJBk.css","../nodes/7.DV9m5pc_.js","../chunks/CaD2yKt4.js","../assets/7.lb0LMh70.css","../nodes/8.-OzRFGxo.js","../assets/8.F0DnbhkX.css","../nodes/9.Ba0_Tj9Y.js","../assets/9.CRluM3ps.css","../nodes/10.CnduoM83.js","../chunks/yeyP9_ZL.js","../assets/InputFile.zKtyzJAb.css","../assets/10.Y1ldeHJ8.css","../nodes/11.B1vrRScS.js","../assets/11.BE4hE6ce.css","../nodes/12.hK114voq.js","../assets/12.BQkaMFc2.css","../nodes/13.CP36-xiu.js","../assets/13.Czx0QoQT.css","../nodes/14.mBGYP8i2.js","../assets/14.xBcNYlu4.css","../nodes/15.Dfk-tohD.js","../nodes/16.CkY-pDrg.js","../assets/16.wTI7IBaZ.css","../nodes/17.DX2zLMxk.js","../nodes/18.CFV_AKwB.js","../assets/18.o0Jji9Ts.css","../nodes/19.Bl8K80iH.js","../nodes/20.dVDTpriI.js","../assets/20.BNqwWElZ.css","../nodes/21.DiyLgty0.js","../assets/21.DBFGCYxz.css","../nodes/22.BCzHA2GH.js","../nodes/23.1c9kUSuV.js","../assets/23.D7TAm3C0.css","../nodes/24.DRXWbxob.js","../chunks/C-8adDJ4.js","../nodes/25.DRXWbxob.js","../nodes/26.DRXWbxob.js","../nodes/27.DRXWbxob.js","../nodes/28.Di_O8TGf.js","../assets/28.BGsNSr6e.css","../nodes/29.DA67qI89.js","../assets/29.Bz29sjHN.css","../nodes/30.DKxwCpbn.js","../nodes/31.CtOiUn7l.js","../assets/31.BAwvO-Aw.css","../nodes/32.CbsB9tfv.js","../assets/32.BfR9pszH.css","../nodes/33.OtAFFFhr.js","../assets/33.CF2roeGZ.css","../nodes/34.ROMYE5og.js","../assets/34.D1v94sLe.css","../nodes/35.Waqtvgzr.js","../assets/35.zU3i1GBi.css"])))=>i.map(i=>d[i]);
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.UbyZUWMC.js","../chunks/BH6NCLk-.js","../chunks/CvlvO1XB.js","../chunks/BUO_AUgz.js","../chunks/-T201g_q.js","../chunks/Wh68IIk2.js","../chunks/BQ1-pLIs.js","../assets/0.BgTF6zX-.css","../nodes/1.BcABkygl.js","../chunks/CTI4QPiR.js","../chunks/BDMwC9Hh.js","../chunks/DexdtKTq.js","../nodes/2.zaOUn-Cn.js","../chunks/i8Xqpu09.js","../chunks/7lxiEjMQ.js","../chunks/Ds6bXi0i.js","../assets/Main.Dm-IaPgT.css","../chunks/DMkkW5Nn.js","../chunks/BMbqVy6X.js","../chunks/zosqiMUL.js","../chunks/C6SR4G2t.js","../assets/Button.D8d1DpHB.css","../chunks/CVHA2fPQ.js","../assets/ThemeSwitch.DqWmA1Kg.css","../chunks/DUtP9z1z.js","../chunks/BaE7H8ny.js","../chunks/BHnvQvwL.js","../chunks/BpWRzPRQ.js","../chunks/BhIBACXG.js","../chunks/D8mHI_K9.js","../assets/Options.DhTNlbAJ.css","../chunks/CBGoQiUs.js","../assets/LangSelector.U7YPPwhi.css","../chunks/gtHtP0A2.js","../assets/A.Dh1ywWRo.css","../chunks/Vi3uK7uO.js","../chunks/BmpEzKyJ.js","../assets/Tooltip.C_ZIhQMX.css","../chunks/BhccdcsY.js","../chunks/cMKAIrmN.js","../assets/Event.jSO7nsEo.css","../assets/2.Cmyyzwvb.css","../nodes/3.l69RoGkC.js","../chunks/DpcgKHU5.js","../assets/NavSub.DoCLemSo.css","../chunks/BnPoFdx3.js","../assets/ContentAdmin.BLfkWbjo.css","../assets/3.CP24NPRE.css","../nodes/4.Bphz6Qx6.js","../chunks/GWgockW8.js","../assets/ContentCenter.CgrtcW8D.css","../chunks/DcJo-CQ6.js","../chunks/BMFqJ6Jy.js","../assets/4.Co9Ka4UE.css","../nodes/5.AEHeQ3oa.js","../chunks/CS_Msctd.js","../chunks/Nks81rMs.js","../chunks/BHXYRhv2.js","../assets/Modal.BtIM9gKT.css","../chunks/BV-QGn6o.js","../assets/ButtonAuthProvider.D8eJXbhZ.css","../chunks/BtKnbFDH.js","../chunks/CmsKOCeN.js","../assets/pow.CVii6IAo.css","../chunks/BS0DIDHc.js","../chunks/DswDW5U8.js","../chunks/BRCxk8by.js","../chunks/BrQ3ZRVw.js","../assets/InputDateTimeCombo.DolONx9D.css","../chunks/Co1XQfiq.js","../chunks/8x1xiTUd.js","../assets/WebauthnRequest.CzwDbkf1.css","../chunks/BL7yMFqm.js","../chunks/CgRaCfAG.js","../chunks/BZaoh_H_.js","../assets/Expandable.D-p5TY3y.css","../chunks/CE2_6siz.js","../assets/LabeledValue.DgYB9jCX.css","../assets/Devices.CG8oDF9x.css","../chunks/h7VULPdI.js","../assets/PasswordPolicy.CUa-s_dl.css","../chunks/D6E4lNPv.js","../assets/InputPassword.C2KOSbcl.css","../chunks/Cv55insy.js","../assets/InputArea.D6mM9kxV.css","../chunks/Beqa1JKV.js","../chunks/_OE2Cq0B.js","../assets/Tabs.CEW0mXQK.css","../assets/5.DglvKDFr.css","../nodes/6.Bf8PwG-K.js","../chunks/DhdHODqL.js","../chunks/CT2gdhvj.js","../assets/OrderSearchBar.CA5kVv7H.css","../chunks/yrKs3w9k.js","../assets/Pagination.BdyGauFO.css","../chunks/dWvWuq1E.js","../assets/ButtonAddModal.seo_jBEw.css","../chunks/D-L0o8jR.js","../assets/NavButtonTile.Cng_QrXH.css","../chunks/DTR8xafZ.js","../assets/InputCheckbox.C8ohHFHX.css","../chunks/Bbu1Qkv4.js","../assets/SelectList.C3ZG6Sq9.css","../chunks/BWj5qgFT.js","../assets/search.DUeB7W-1.css","../assets/Users.DW0xzJBk.css","../nodes/7.D2-wIoAP.js","../chunks/CaD2yKt4.js","../assets/7.lb0LMh70.css","../nodes/8.DRxfW3X0.js","../assets/8.F0DnbhkX.css","../nodes/9.D9bnTBN1.js","../assets/9.CRluM3ps.css","../nodes/10.C1VGQkoE.js","../chunks/Cog9no35.js","../assets/InputFile.zKtyzJAb.css","../assets/10.D68-buT7.css","../nodes/11.ZzVIsU4Z.js","../assets/11.BE4hE6ce.css","../nodes/12.bvFGcIW1.js","../assets/12.BQkaMFc2.css","../nodes/13.aQ-6-Mwy.js","../assets/13.Czx0QoQT.css","../nodes/14.B7ElQKvZ.js","../assets/14.DOlHIbwb.css","../nodes/15.CiKtnmLi.js","../nodes/16.Bj87qz_1.js","../assets/16.wTI7IBaZ.css","../nodes/17.Do-D-pk1.js","../nodes/18.Dr95mQh2.js","../assets/18.o0Jji9Ts.css","../nodes/19.Cqh14NfW.js","../nodes/20.CedPMXkk.js","../assets/20.BNqwWElZ.css","../nodes/21.ULOkjUD6.js","../assets/21.DBFGCYxz.css","../nodes/22.Bf8PwG-K.js","../nodes/23.YihNSyT5.js","../assets/23.D7TAm3C0.css","../nodes/24.Dq8uKh0Z.js","../chunks/DwWkPEtb.js","../nodes/25.Dq8uKh0Z.js","../nodes/26.Dq8uKh0Z.js","../nodes/27.Dq8uKh0Z.js","../nodes/28.M20QAsrN.js","../assets/28.BGsNSr6e.css","../nodes/29.CLi2ZhO5.js","../assets/29.BG2PTq5v.css","../nodes/30.BD24N91H.js","../nodes/31.DUB-QuMg.js","../assets/31.BAwvO-Aw.css","../nodes/32.C-mQ_uZK.js","../assets/32.BfR9pszH.css","../nodes/33.BXNZmzIf.js","../assets/33.CF2roeGZ.css","../nodes/34.DmjpaHaQ.js","../assets/34.D1v94sLe.css","../nodes/35.waCqpI27.js","../assets/35.zU3i1GBi.css"])))=>i.map(i=>d[i]);
 var __typeError = (msg) => {
   throw TypeError(msg);
 };
@@ -291,42 +291,42 @@ let __tla = (async () => {
   }
   er = Ft(zt);
   or = [
-    () => r(() => import("../nodes/0.YgBVodKw.js"), __vite__mapDeps([0,1,2,3,4,5,6,7]), import.meta.url),
-    () => r(() => import("../nodes/1.DjNR0xst.js"), __vite__mapDeps([8,1,2,9,10,11]), import.meta.url),
-    () => r(() => import("../nodes/2.B-zWphhB.js"), __vite__mapDeps([12,1,2,9,3,13,4,5,14,15,16,17,18,19,20,21,22,6,23,24,25,26,27,28,29,30,31,10,11,32,33,34,35,36,37,38,39,40,41]), import.meta.url),
-    () => r(() => import("../nodes/3.BdrLi89M.js"), __vite__mapDeps([42,1,2,9,4,5,43,3,18,17,19,20,21,14,25,44,10,11,33,34,45,46,29,6,47]), import.meta.url),
-    () => r(() => import("../nodes/4.BKUHHgwc.js"), __vite__mapDeps([48,1,2,9,3,5,17,4,18,19,20,21,15,16,49,50,6,51,52,31,25,22,23,24,26,27,28,29,30,10,11,32,53]), import.meta.url),
-    () => r(() => import("../nodes/5.CDkCALow.js"), __vite__mapDeps([54,1,2,9,3,5,14,20,25,27,13,18,55,56,35,17,4,19,21,57,6,58,31,59,60,61,28,62,63,64,65,66,67,26,29,30,68,38,69,70,71,72,36,37,73,74,75,76,77,78,79,80,81,82,33,10,11,34,83,84,51,52,85,86,87,15,16,49,50,22,23,24,32,88]), import.meta.url),
-    () => r(() => import("../nodes/6.BCzHA2GH.js"), __vite__mapDeps([89,1,2,90,9,3,27,17,4,5,18,19,20,21,31,25,91,36,37,26,28,29,6,30,92,93,74,94,43,14,44,95,57,35,58,96,85,11,97,98,45,46,61,62,63,66,64,65,99,100,67,68,101,102,76,77,86,87,55,56,79,80,81,82,13,72,73,75,78,103,104,105]), import.meta.url),
-    () => r(() => import("../nodes/7.DV9m5pc_.js"), __vite__mapDeps([106,1,2,9,3,27,18,17,4,5,19,20,21,31,25,45,46,97,98,43,14,44,95,57,6,35,58,29,96,85,11,91,36,37,26,28,30,92,56,76,77,99,100,67,65,68,107,13,81,82,86,87,61,62,63,66,64,108]), import.meta.url),
-    () => r(() => import("../nodes/8.-OzRFGxo.js"), __vite__mapDeps([109,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,56,110]), import.meta.url),
-    () => r(() => import("../nodes/9.Ba0_Tj9Y.js"), __vite__mapDeps([111,1,2,9,3,27,17,4,5,18,19,20,21,91,36,37,26,28,25,29,6,30,92,61,62,31,63,67,65,35,68,45,46,95,57,58,96,66,64,93,74,94,112]), import.meta.url),
-    () => r(() => import("../nodes/10.CnduoM83.js"), __vite__mapDeps([113,1,2,9,3,27,17,4,5,18,19,20,21,95,57,6,35,58,29,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,13,61,62,63,66,64,65,99,100,86,87,56,76,77,101,102,81,82,107,22,23,114,115,116]), import.meta.url),
-    () => r(() => import("../nodes/11.B1vrRScS.js"), __vite__mapDeps([117,1,2,9,3,13,5,14,17,4,18,19,20,21,27,29,61,28,6,25,62,31,63,64,65,118]), import.meta.url),
-    () => r(() => import("../nodes/12.hK114voq.js"), __vite__mapDeps([119,1,2,9,3,27,5,17,4,18,19,20,21,56,31,25,29,26,28,6,30,120]), import.meta.url),
-    () => r(() => import("../nodes/13.CP36-xiu.js"), __vite__mapDeps([121,1,2,9,3,27,5,17,4,18,19,20,21,31,25,73,74,6,75,76,77,29,56,122]), import.meta.url),
-    () => r(() => import("../nodes/14.mBGYP8i2.js"), __vite__mapDeps([123,1,2,9,3,5,17,4,18,19,20,21,61,28,6,25,62,31,63,64,65,29,124]), import.meta.url),
-    () => r(() => import("../nodes/15.Dfk-tohD.js"), __vite__mapDeps([125,1,2,9,45,4,5,46,33,18,20,10,11,34,29]), import.meta.url),
-    () => r(() => import("../nodes/16.CkY-pDrg.js"), __vite__mapDeps([126,1,2,3,27,5,25,39,9,18,17,4,19,20,21,29,33,10,11,34,36,37,6,40,31,26,28,30,67,65,35,68,91,92,45,46,127]), import.meta.url),
-    () => r(() => import("../nodes/17.DX2zLMxk.js"), __vite__mapDeps([128,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,56,76,77,110]), import.meta.url),
-    () => r(() => import("../nodes/18.CFV_AKwB.js"), __vite__mapDeps([129,1,2,9,3,27,18,17,4,5,19,20,21,31,25,45,46,43,14,44,85,11,97,98,95,57,6,35,58,29,96,107,13,61,28,62,63,56,83,84,81,82,64,65,76,77,99,100,66,114,115,73,74,75,86,87,55,26,30,130]), import.meta.url),
-    () => r(() => import("../nodes/19.Bl8K80iH.js"), __vite__mapDeps([131,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,13,56,76,77,110]), import.meta.url),
-    () => r(() => import("../nodes/20.dVDTpriI.js"), __vite__mapDeps([132,1,2,9,3,27,17,4,5,18,19,20,21,29,91,36,37,26,28,25,6,30,92,31,45,46,97,98,95,57,35,58,96,43,14,44,85,11,61,62,63,56,64,65,76,77,101,99,100,102,66,86,87,133]), import.meta.url),
-    () => r(() => import("../nodes/21.DiyLgty0.js"), __vite__mapDeps([134,1,2,9,3,27,5,25,17,4,18,19,20,21,93,74,6,26,28,29,30,94,55,56,35,73,75,36,37,76,77,31,45,46,91,92,38,103,104,135]), import.meta.url),
-    () => r(() => import("../nodes/22.BCzHA2GH.js"), __vite__mapDeps([136,1,2,90,9,3,27,17,4,5,18,19,20,21,31,25,91,36,37,26,28,29,6,30,92,93,74,94,43,14,44,95,57,35,58,96,85,11,97,98,45,46,61,62,63,66,64,65,99,100,67,68,101,102,76,77,86,87,55,56,79,80,81,82,13,72,73,75,78,103,104,105]), import.meta.url),
-    () => r(() => import("../nodes/23.1c9kUSuV.js"), __vite__mapDeps([137,1,2,9,3,27,5,25,24,18,20,6,4,26,17,19,21,28,29,30,31,10,11,32,61,62,63,15,16,49,50,51,52,85,22,23,66,138]), import.meta.url),
-    () => r(() => import("../nodes/24.DRXWbxob.js"), __vite__mapDeps([139,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
-    () => r(() => import("../nodes/25.DRXWbxob.js"), __vite__mapDeps([141,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
-    () => r(() => import("../nodes/26.DRXWbxob.js"), __vite__mapDeps([142,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
-    () => r(() => import("../nodes/27.DRXWbxob.js"), __vite__mapDeps([143,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
-    () => r(() => import("../nodes/28.Di_O8TGf.js"), __vite__mapDeps([144,1,2,9,3,5,17,4,18,19,20,21,61,28,6,25,62,31,63,55,56,35,15,16,49,50,66,64,65,145]), import.meta.url),
-    () => r(() => import("../nodes/29.DA67qI89.js"), __vite__mapDeps([146,1,2,9,3,27,18,5,25,17,4,19,20,21,70,31,6,71,61,28,62,63,24,26,29,30,10,11,32,15,16,49,50,51,52,85,22,23,81,82,64,65,59,60,147]), import.meta.url),
-    () => r(() => import("../nodes/30.DKxwCpbn.js"), __vite__mapDeps([148,1,2,9,3,5,25,85,11]), import.meta.url),
-    () => r(() => import("../nodes/31.CtOiUn7l.js"), __vite__mapDeps([149,1,2,9,3,5,25,17,4,18,19,20,21,6,15,16,49,50,24,26,27,28,29,30,31,10,11,32,51,52,85,22,23,150]), import.meta.url),
-    () => r(() => import("../nodes/32.CbsB9tfv.js"), __vite__mapDeps([151,1,2,9,3,5,25,70,17,4,18,19,20,21,31,6,71,24,26,27,28,29,30,10,11,32,85,22,23,52,152]), import.meta.url),
-    () => r(() => import("../nodes/33.OtAFFFhr.js"), __vite__mapDeps([153,1,2,9,3,18,5,17,4,19,20,21,25,61,28,6,62,31,63,24,26,27,29,30,10,11,32,15,16,49,50,51,52,85,22,23,64,65,66,154]), import.meta.url),
-    () => r(() => import("../nodes/34.ROMYE5og.js"), __vite__mapDeps([155,1,2,9,5,24,18,20,6,4,25,26,3,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,156]), import.meta.url),
-    () => r(() => import("../nodes/35.Waqtvgzr.js"), __vite__mapDeps([157,1,2,9,3,17,4,5,18,19,20,21,25,79,6,80,61,28,62,31,63,70,71,24,26,27,29,30,10,11,32,15,16,49,50,51,52,85,22,23,81,82,33,34,69,64,65,66,158]), import.meta.url)
+    () => r(() => import("../nodes/0.UbyZUWMC.js"), __vite__mapDeps([0,1,2,3,4,5,6,7]), import.meta.url),
+    () => r(() => import("../nodes/1.BcABkygl.js"), __vite__mapDeps([8,1,2,9,10,11]), import.meta.url),
+    () => r(() => import("../nodes/2.zaOUn-Cn.js"), __vite__mapDeps([12,1,2,9,3,13,4,5,14,15,16,17,18,19,20,21,22,6,23,24,25,26,27,28,29,30,31,10,11,32,33,34,35,36,37,38,39,40,41]), import.meta.url),
+    () => r(() => import("../nodes/3.l69RoGkC.js"), __vite__mapDeps([42,1,2,9,4,5,43,3,18,17,19,20,21,14,25,44,10,11,33,34,45,46,29,6,47]), import.meta.url),
+    () => r(() => import("../nodes/4.Bphz6Qx6.js"), __vite__mapDeps([48,1,2,9,3,5,17,4,18,19,20,21,15,16,49,50,6,51,52,31,25,22,23,24,26,27,28,29,30,10,11,32,53]), import.meta.url),
+    () => r(() => import("../nodes/5.AEHeQ3oa.js"), __vite__mapDeps([54,1,2,9,3,5,14,20,25,27,13,18,55,56,35,17,4,19,21,57,6,58,31,59,60,61,28,62,63,64,65,66,67,26,29,30,68,38,69,70,71,72,36,37,73,74,75,76,77,78,79,80,81,82,33,10,11,34,83,84,51,52,85,86,87,15,16,49,50,22,23,24,32,88]), import.meta.url),
+    () => r(() => import("../nodes/6.Bf8PwG-K.js"), __vite__mapDeps([89,1,2,90,9,3,27,17,4,5,18,19,20,21,31,25,91,36,37,26,28,29,6,30,92,93,74,94,43,14,44,95,57,35,58,96,85,11,97,98,45,46,61,62,63,66,64,65,99,100,67,68,101,102,76,77,86,87,55,56,79,80,81,82,13,72,73,75,78,103,104,105]), import.meta.url),
+    () => r(() => import("../nodes/7.D2-wIoAP.js"), __vite__mapDeps([106,1,2,9,3,27,18,17,4,5,19,20,21,31,25,45,46,97,98,43,14,44,95,57,6,35,58,29,96,85,11,91,36,37,26,28,30,92,56,76,77,99,100,67,65,68,107,13,81,82,86,87,61,62,63,66,64,108]), import.meta.url),
+    () => r(() => import("../nodes/8.DRxfW3X0.js"), __vite__mapDeps([109,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,56,110]), import.meta.url),
+    () => r(() => import("../nodes/9.D9bnTBN1.js"), __vite__mapDeps([111,1,2,9,3,27,17,4,5,18,19,20,21,91,36,37,26,28,25,29,6,30,92,61,62,31,63,67,65,35,68,45,46,95,57,58,96,66,64,93,74,94,112]), import.meta.url),
+    () => r(() => import("../nodes/10.C1VGQkoE.js"), __vite__mapDeps([113,1,2,9,3,27,17,4,5,18,19,20,21,95,57,6,35,58,29,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,13,61,62,63,66,64,65,99,100,86,87,56,76,77,101,102,81,82,107,22,23,114,115,116]), import.meta.url),
+    () => r(() => import("../nodes/11.ZzVIsU4Z.js"), __vite__mapDeps([117,1,2,9,3,13,5,14,17,4,18,19,20,21,27,29,61,28,6,25,62,31,63,64,65,118]), import.meta.url),
+    () => r(() => import("../nodes/12.bvFGcIW1.js"), __vite__mapDeps([119,1,2,9,3,27,5,17,4,18,19,20,21,56,31,25,29,26,28,6,30,120]), import.meta.url),
+    () => r(() => import("../nodes/13.aQ-6-Mwy.js"), __vite__mapDeps([121,1,2,9,3,27,5,17,4,18,19,20,21,31,25,73,74,6,75,76,77,29,56,122]), import.meta.url),
+    () => r(() => import("../nodes/14.B7ElQKvZ.js"), __vite__mapDeps([123,1,2,9,3,5,17,4,18,19,20,21,61,28,6,25,62,31,63,64,65,29,56,124]), import.meta.url),
+    () => r(() => import("../nodes/15.CiKtnmLi.js"), __vite__mapDeps([125,1,2,9,45,4,5,46,33,18,20,10,11,34,29]), import.meta.url),
+    () => r(() => import("../nodes/16.Bj87qz_1.js"), __vite__mapDeps([126,1,2,3,27,5,25,39,9,18,17,4,19,20,21,29,33,10,11,34,36,37,6,40,31,26,28,30,67,65,35,68,91,92,45,46,127]), import.meta.url),
+    () => r(() => import("../nodes/17.Do-D-pk1.js"), __vite__mapDeps([128,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,56,76,77,110]), import.meta.url),
+    () => r(() => import("../nodes/18.Dr95mQh2.js"), __vite__mapDeps([129,1,2,9,3,27,18,17,4,5,19,20,21,31,25,45,46,43,14,44,85,11,97,98,95,57,6,35,58,29,96,107,13,61,28,62,63,56,83,84,81,82,64,65,76,77,99,100,66,114,115,73,74,75,86,87,55,26,30,130]), import.meta.url),
+    () => r(() => import("../nodes/19.Cqh14NfW.js"), __vite__mapDeps([131,1,2,9,3,27,17,4,5,18,19,20,21,29,95,57,6,35,58,96,45,46,97,98,43,14,25,44,91,36,37,26,28,30,92,31,85,11,61,62,63,66,64,65,86,87,13,56,76,77,110]), import.meta.url),
+    () => r(() => import("../nodes/20.CedPMXkk.js"), __vite__mapDeps([132,1,2,9,3,27,17,4,5,18,19,20,21,29,91,36,37,26,28,25,6,30,92,31,45,46,97,98,95,57,35,58,96,43,14,44,85,11,61,62,63,56,64,65,76,77,101,99,100,102,66,86,87,133]), import.meta.url),
+    () => r(() => import("../nodes/21.ULOkjUD6.js"), __vite__mapDeps([134,1,2,9,3,27,5,25,17,4,18,19,20,21,93,74,6,26,28,29,30,94,55,56,35,73,75,36,37,76,77,31,45,46,91,92,38,103,104,135]), import.meta.url),
+    () => r(() => import("../nodes/22.Bf8PwG-K.js"), __vite__mapDeps([136,1,2,90,9,3,27,17,4,5,18,19,20,21,31,25,91,36,37,26,28,29,6,30,92,93,74,94,43,14,44,95,57,35,58,96,85,11,97,98,45,46,61,62,63,66,64,65,99,100,67,68,101,102,76,77,86,87,55,56,79,80,81,82,13,72,73,75,78,103,104,105]), import.meta.url),
+    () => r(() => import("../nodes/23.YihNSyT5.js"), __vite__mapDeps([137,1,2,9,3,27,5,25,24,18,20,6,4,26,17,19,21,28,29,30,31,10,11,32,61,62,63,15,16,49,50,51,52,85,22,23,66,138]), import.meta.url),
+    () => r(() => import("../nodes/24.Dq8uKh0Z.js"), __vite__mapDeps([139,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
+    () => r(() => import("../nodes/25.Dq8uKh0Z.js"), __vite__mapDeps([141,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
+    () => r(() => import("../nodes/26.Dq8uKh0Z.js"), __vite__mapDeps([142,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
+    () => r(() => import("../nodes/27.Dq8uKh0Z.js"), __vite__mapDeps([143,1,2,140,9,3,5,24,18,20,6,4,25,26,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,75]), import.meta.url),
+    () => r(() => import("../nodes/28.M20QAsrN.js"), __vite__mapDeps([144,1,2,9,3,5,17,4,18,19,20,21,61,28,6,25,62,31,63,55,56,35,15,16,49,50,66,64,65,145]), import.meta.url),
+    () => r(() => import("../nodes/29.CLi2ZhO5.js"), __vite__mapDeps([146,1,2,9,3,27,18,5,25,17,4,19,20,21,70,31,6,71,61,28,62,63,24,26,29,30,10,11,32,15,16,49,50,51,52,85,22,23,81,82,64,65,59,60,147]), import.meta.url),
+    () => r(() => import("../nodes/30.BD24N91H.js"), __vite__mapDeps([148,1,2,9,3,5,25,85,11]), import.meta.url),
+    () => r(() => import("../nodes/31.DUB-QuMg.js"), __vite__mapDeps([149,1,2,9,3,5,25,17,4,18,19,20,21,6,15,16,49,50,24,26,27,28,29,30,31,10,11,32,51,52,85,22,23,150]), import.meta.url),
+    () => r(() => import("../nodes/32.C-mQ_uZK.js"), __vite__mapDeps([151,1,2,9,3,5,25,70,17,4,18,19,20,21,31,6,71,24,26,27,28,29,30,10,11,32,85,22,23,52,152]), import.meta.url),
+    () => r(() => import("../nodes/33.BXNZmzIf.js"), __vite__mapDeps([153,1,2,9,3,18,5,17,4,19,20,21,25,61,28,6,62,31,63,24,26,27,29,30,10,11,32,15,16,49,50,51,52,85,22,23,64,65,66,154]), import.meta.url),
+    () => r(() => import("../nodes/34.DmjpaHaQ.js"), __vite__mapDeps([155,1,2,9,5,24,18,20,6,4,25,26,3,27,17,19,21,28,29,30,31,10,11,32,15,16,49,50,51,52,22,23,156]), import.meta.url),
+    () => r(() => import("../nodes/35.waCqpI27.js"), __vite__mapDeps([157,1,2,9,3,17,4,5,18,19,20,21,25,79,6,80,61,28,62,31,63,70,71,24,26,27,29,30,10,11,32,15,16,49,50,51,52,85,22,23,81,82,33,34,69,64,65,66,158]), import.meta.url)
   ];
   ar = [];
   ir = {
diff --git a/static/v1/_app/immutable/entry/app.pvwjm25P.js.br b/static/v1/_app/immutable/entry/app.pvwjm25P.js.br
new file mode 100644
index 00000000..b034d0ff
Binary files /dev/null and b/static/v1/_app/immutable/entry/app.pvwjm25P.js.br differ
diff --git a/static/v1/_app/immutable/entry/app.pvwjm25P.js.gz b/static/v1/_app/immutable/entry/app.pvwjm25P.js.gz
new file mode 100644
index 00000000..f65130d5
Binary files /dev/null and b/static/v1/_app/immutable/entry/app.pvwjm25P.js.gz differ
diff --git a/static/v1/_app/immutable/entry/start.C2_7tcSW.js b/static/v1/_app/immutable/entry/start.C2_7tcSW.js
new file mode 100644
index 00000000..024b7203
--- /dev/null
+++ b/static/v1/_app/immutable/entry/start.C2_7tcSW.js
@@ -0,0 +1,5 @@
+import { l as o, a as r } from "../chunks/DexdtKTq.js";
+export {
+  o as load_css,
+  r as start
+};
diff --git a/static/v1/_app/immutable/entry/start.C2_7tcSW.js.br b/static/v1/_app/immutable/entry/start.C2_7tcSW.js.br
new file mode 100644
index 00000000..68913317
Binary files /dev/null and b/static/v1/_app/immutable/entry/start.C2_7tcSW.js.br differ
diff --git a/static/v1/_app/immutable/entry/start.C2_7tcSW.js.gz b/static/v1/_app/immutable/entry/start.C2_7tcSW.js.gz
new file mode 100644
index 00000000..e373ed3c
Binary files /dev/null and b/static/v1/_app/immutable/entry/start.C2_7tcSW.js.gz differ
diff --git a/static/v1/_app/immutable/entry/start.CLcsWOS5.js b/static/v1/_app/immutable/entry/start.CLcsWOS5.js
deleted file mode 100644
index 24b7fbed..00000000
--- a/static/v1/_app/immutable/entry/start.CLcsWOS5.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import { l as o, a as r } from "../chunks/CRhC1XE8.js";
-export {
-  o as load_css,
-  r as start
-};
diff --git a/static/v1/_app/immutable/entry/start.CLcsWOS5.js.br b/static/v1/_app/immutable/entry/start.CLcsWOS5.js.br
deleted file mode 100644
index 2f0282a6..00000000
Binary files a/static/v1/_app/immutable/entry/start.CLcsWOS5.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/start.CLcsWOS5.js.gz b/static/v1/_app/immutable/entry/start.CLcsWOS5.js.gz
deleted file mode 100644
index d1bf77bd..00000000
Binary files a/static/v1/_app/immutable/entry/start.CLcsWOS5.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/0.YgBVodKw.js b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js
similarity index 95%
rename from static/v1/_app/immutable/nodes/0.YgBVodKw.js
rename to static/v1/_app/immutable/nodes/0.UbyZUWMC.js
index 4b699e69..e4a0298a 100644
--- a/static/v1/_app/immutable/nodes/0.YgBVodKw.js
+++ b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js
@@ -3,7 +3,7 @@ import { p as v, a5 as u, s as b, f as s, a as _, l as h, k as g, j as k } from
 import { i as y } from "../chunks/BUO_AUgz.js";
 import { i as j, s as S } from "../chunks/-T201g_q.js";
 import { p as x } from "../chunks/Wh68IIk2.js";
-import { i as C } from "../chunks/DOl8_ubJ.js";
+import { i as C } from "../chunks/BQ1-pLIs.js";
 const E = true, M = "never", W = Object.freeze(Object.defineProperty({ __proto__: null, prerender: E, trailingSlash: M }, Symbol.toStringTag, { value: "Module" }));
 var O = n("<div><h1>Cookies disabled</h1> <p>You need to enable Cookies.<br> Without them, a safe interaction with Rauthy is not possible.</p></div>"), w = n("<noscript></noscript> <!>", 1);
 function Y(p, e) {
diff --git a/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.br b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.br
new file mode 100644
index 00000000..260022a7
Binary files /dev/null and b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.br differ
diff --git a/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.gz b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.gz
new file mode 100644
index 00000000..73014ff8
Binary files /dev/null and b/static/v1/_app/immutable/nodes/0.UbyZUWMC.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/0.YgBVodKw.js.br b/static/v1/_app/immutable/nodes/0.YgBVodKw.js.br
deleted file mode 100644
index 6dd30852..00000000
Binary files a/static/v1/_app/immutable/nodes/0.YgBVodKw.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/0.YgBVodKw.js.gz b/static/v1/_app/immutable/nodes/0.YgBVodKw.js.gz
deleted file mode 100644
index dc718c36..00000000
Binary files a/static/v1/_app/immutable/nodes/0.YgBVodKw.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/1.DjNR0xst.js b/static/v1/_app/immutable/nodes/1.BcABkygl.js
similarity index 91%
rename from static/v1/_app/immutable/nodes/1.DjNR0xst.js
rename to static/v1/_app/immutable/nodes/1.BcABkygl.js
index a6069c36..53425373 100644
--- a/static/v1/_app/immutable/nodes/1.DjNR0xst.js
+++ b/static/v1/_app/immutable/nodes/1.BcABkygl.js
@@ -1,7 +1,7 @@
 import { t as c, a as h } from "../chunks/BH6NCLk-.js";
 import { p as u, f as v, t as l, a as g, s as x, c as e, r as s } from "../chunks/CvlvO1XB.js";
 import { s as p } from "../chunks/CTI4QPiR.js";
-import { p as o } from "../chunks/DM7UbbyI.js";
+import { p as o } from "../chunks/BDMwC9Hh.js";
 var _ = c("<h1> </h1> <p> </p>", 1);
 function k(m, f) {
   u(f, true);
diff --git a/static/v1/_app/immutable/nodes/1.BcABkygl.js.br b/static/v1/_app/immutable/nodes/1.BcABkygl.js.br
new file mode 100644
index 00000000..1b033903
Binary files /dev/null and b/static/v1/_app/immutable/nodes/1.BcABkygl.js.br differ
diff --git a/static/v1/_app/immutable/nodes/1.BcABkygl.js.gz b/static/v1/_app/immutable/nodes/1.BcABkygl.js.gz
new file mode 100644
index 00000000..4bb52d56
Binary files /dev/null and b/static/v1/_app/immutable/nodes/1.BcABkygl.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/1.DjNR0xst.js.br b/static/v1/_app/immutable/nodes/1.DjNR0xst.js.br
deleted file mode 100644
index c41d3fb2..00000000
--- a/static/v1/_app/immutable/nodes/1.DjNR0xst.js.br
+++ /dev/null
@@ -1,3 +0,0 @@
-* �¶y�Y�L�r2r�|�ک:"xr)r�APRX�_���$�@���h������n,�m�D�m!44�|���mi���R��O̓�r~@�T���#�V��ey����C	��8�R0
-��J_��DvFUZ�@\�����eߺ����8�:w_5�{/��$CO�ièZ��
-O7�Q�py|��%��+�Y%V<D���v0c�2b���1ޖ�0L���w��75_BPn���JG �-�+l�&�|�q��[�_���弯 j��JQ�kgjr���L2�t(��O����%
\ No newline at end of file
diff --git a/static/v1/_app/immutable/nodes/1.DjNR0xst.js.gz b/static/v1/_app/immutable/nodes/1.DjNR0xst.js.gz
deleted file mode 100644
index df11525f..00000000
Binary files a/static/v1/_app/immutable/nodes/1.DjNR0xst.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/10.CnduoM83.js b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js
similarity index 58%
rename from static/v1/_app/immutable/nodes/10.CnduoM83.js
rename to static/v1/_app/immutable/nodes/10.C1VGQkoE.js
index 74f3401b..f3190d4d 100644
--- a/static/v1/_app/immutable/nodes/10.CnduoM83.js
+++ b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js
@@ -1,44 +1,44 @@
-import { t as D, a as u, d as Pe, e as J } from "../chunks/BH6NCLk-.js";
-import { p as re, c, s as a, k as L, t as j, l as s, j as t, a as ae, r as d, a9 as he, f as te, aa as _e, a7 as z, a5 as Yt } from "../chunks/CvlvO1XB.js";
-import { d as Fe, e as Ct, s as I } from "../chunks/CTI4QPiR.js";
+import { t as j, a as u, d as Pe, e as J } from "../chunks/BH6NCLk-.js";
+import { p as re, c, s as a, k as L, t as D, l as s, j as t, a as ae, r as d, a9 as _e, f as te, aa as he, a7 as H, a5 as Yt } from "../chunks/CvlvO1XB.js";
+import { d as ze, e as Ct, s as I } from "../chunks/CTI4QPiR.js";
 import { i as ee } from "../chunks/BUO_AUgz.js";
-import { e as We, i as Pt } from "../chunks/BpWRzPRQ.js";
-import { a as H, B as se, t as Zt, s as $t } from "../chunks/DMkkW5Nn.js";
+import { e as Fe, i as Pt } from "../chunks/BpWRzPRQ.js";
+import { a as K, B as se, t as Zt, s as $t } from "../chunks/DMkkW5Nn.js";
 import { p as i } from "../chunks/Wh68IIk2.js";
-import { B as er } from "../chunks/BIsFWZ5z.js";
+import { B as er } from "../chunks/dWvWuq1E.js";
 import { C as tr } from "../chunks/BnPoFdx3.js";
 import { N as rr } from "../chunks/D-L0o8jR.js";
-import { N as ar } from "../chunks/D3G2nKoD.js";
-import { O as lr } from "../chunks/DxrdFxfV.js";
-import { b as ze, d as He, c as Rt, f as Lt } from "../chunks/bbkAiDd0.js";
-import { u as ir } from "../chunks/D45liQ4S.js";
+import { N as ar } from "../chunks/DpcgKHU5.js";
+import { O as lr } from "../chunks/CT2gdhvj.js";
+import { b as He, d as Ke, c as Rt, f as Lt } from "../chunks/CBGoQiUs.js";
+import { u as ir } from "../chunks/Beqa1JKV.js";
 import { h as we } from "../chunks/i8Xqpu09.js";
-import { I as fe } from "../chunks/DmeAqnkr.js";
-import { n as nr, g as pt, a as qe, o as sr, p as or, q as Et } from "../chunks/BRCxk8by.js";
-import { F as Ke } from "../chunks/CqS1e6KT.js";
-import { u as xe } from "../chunks/DOl8_ubJ.js";
-import { u as ge } from "../chunks/D8mHI_K9.js";
+import { I as fe } from "../chunks/BtKnbFDH.js";
+import { n as nr, g as pt, a as Be, o as sr, p as or, q as Et } from "../chunks/BRCxk8by.js";
+import { F as Ve } from "../chunks/BS0DIDHc.js";
+import { u as xe } from "../chunks/BQ1-pLIs.js";
+import { u as me } from "../chunks/D8mHI_K9.js";
 import { I as ve } from "../chunks/DTR8xafZ.js";
-import { r as Ve, s as W } from "../chunks/BMbqVy6X.js";
+import { r as We, s as F } from "../chunks/BMbqVy6X.js";
 import { b as Ge } from "../chunks/BhIBACXG.js";
 import { b as Mt } from "../chunks/zosqiMUL.js";
-import { p as $ } from "../chunks/C6SR4G2t.js";
-import { g as ke } from "../chunks/CGXT-546.js";
+import { p as Z } from "../chunks/C6SR4G2t.js";
+import { g as ke } from "../chunks/BaE7H8ny.js";
 import { I as dr } from "../chunks/Vi3uK7uO.js";
 import { T as Ut } from "../chunks/_OE2Cq0B.js";
 import { I as Nt } from "../chunks/Nks81rMs.js";
-import { L as Be } from "../chunks/CE2_6siz.js";
-import { S as St } from "../chunks/CwWWGNuX.js";
-import { O as At } from "../chunks/CGniv4pe.js";
-import { I as cr } from "../chunks/CLUUhKug.js";
+import { L as Oe } from "../chunks/CE2_6siz.js";
+import { S as St } from "../chunks/Bbu1Qkv4.js";
+import { O as At } from "../chunks/BHnvQvwL.js";
+import { I as cr } from "../chunks/D6E4lNPv.js";
 import { k as vr } from "../chunks/CaD2yKt4.js";
-import { T as ur } from "../chunks/DNdifVes.js";
-import { I as fr } from "../chunks/yeyP9_ZL.js";
-function hr(U, e, r, l) {
+import { T as ur } from "../chunks/CVHA2fPQ.js";
+import { I as fr } from "../chunks/Cog9no35.js";
+function _r(U, e, r, l) {
   var _a;
   e(), (_a = r.onInput) == null ? void 0 : _a.call(r, t(l));
 }
-function _r(U, e, r) {
+function hr(U, e, r) {
   var _a;
   switch (U.code) {
     case "Enter":
@@ -46,92 +46,92 @@ function _r(U, e, r) {
       break;
   }
 }
-function gr(U, e) {
+function mr(U, e) {
   var _a, _b;
   (_a = e()) == null ? void 0 : _a.focus(), (_b = e()) == null ? void 0 : _b.scrollIntoView({ behavior: "smooth", block: "center" });
 }
-var mr = D('<li class="value svelte-r5y8pk"><div class="label"> </div> <div class="btnClose svelte-r5y8pk"><!></div></li>'), br = D("<option></option>"), kr = D('<datalist class="absolute svelte-r5y8pk"></datalist>'), xr = D('<span class="err"> </span>'), wr = D('<div role="none" class="container svelte-r5y8pk"><ul class="svelte-r5y8pk"><!> <li class="svelte-r5y8pk"><input autocomplete="off" class="svelte-r5y8pk"> <!></li></ul> <label class="font-label noselect svelte-r5y8pk"> <!></label></div>');
+var gr = j('<li class="value svelte-r5y8pk"><div class="label"> </div> <div class="btnClose svelte-r5y8pk"><!></div></li>'), br = j("<option></option>"), kr = j('<datalist class="absolute svelte-r5y8pk"></datalist>'), xr = j('<span class="err"> </span>'), wr = j('<div role="none" class="container svelte-r5y8pk"><ul class="svelte-r5y8pk"><!> <li class="svelte-r5y8pk"><input autocomplete="off" class="svelte-r5y8pk"> <!></li></ul> <label class="font-label noselect svelte-r5y8pk"> <!></label></div>');
 function be(U, e) {
   re(e, true);
-  let r = $(e, "ref", 15), l = $(e, "typ", 3, "text"), v = $(e, "id", 19, ke), f = $(e, "values", 31, () => i([])), g = $(e, "label", 3, ""), _ = $(e, "placeholder", 3, ""), b = $(e, "disabled", 3, false), m = $(e, "required", 3, false), h = $(e, "isError", 15, false), k = $(e, "width", 3, "inherit"), R = $(e, "maxHeightList", 3, "inherit"), x = xe();
+  let r = Z(e, "ref", 15), l = Z(e, "typ", 3, "text"), v = Z(e, "id", 19, ke), f = Z(e, "values", 31, () => i([])), m = Z(e, "label", 3, ""), h = Z(e, "placeholder", 3, ""), b = Z(e, "disabled", 3, false), g = Z(e, "required", 3, false), _ = Z(e, "isError", 15, false), k = Z(e, "width", 3, "inherit"), R = Z(e, "maxHeightList", 3, "inherit"), x = xe();
   const w = ke();
-  let y = L(""), S = he(() => e.datalist && e.datalist.length > 0 ? w : void 0);
-  function B(q) {
-    f(f().filter((X) => X !== q));
+  let y = L(""), S = _e(() => e.datalist && e.datalist.length > 0 ? w : void 0);
+  function O(B) {
+    f(f().filter((X) => X !== B));
   }
-  function N(q) {
+  function N(B) {
     var _a;
     C(), (_a = e.onBlur) == null ? void 0 : _a.call(e), E();
   }
-  function F(q) {
-    q.preventDefault(), h(true);
+  function z(B) {
+    B.preventDefault(), _(true);
   }
   function E() {
     t(y) && C() && (f().push(t(y)), s(y, ""));
   }
   function C() {
     var _a;
-    let q = (_a = r()) == null ? void 0 : _a.validity;
-    return q ? (h(!q.valid), q.valid) : (h(false), true);
+    let B = (_a = r()) == null ? void 0 : _a.validity;
+    return B ? (_(!B.valid), B.valid) : (_(false), true);
   }
   var P = wr();
-  P.__click = [gr, r];
+  P.__click = [mr, r];
   var o = c(P), p = c(o);
-  We(p, 17, f, Pt, (q, X, ue, oe) => {
-    var de = mr(), ie = c(de), O = c(ie, true);
+  Fe(p, 17, f, Pt, (B, X, ue, oe) => {
+    var de = gr(), ie = c(de), q = c(ie, true);
     d(ie);
     var ne = a(ie, 2), ce = c(ne);
-    se(ce, { invisible: true, onclick: () => B(t(X)), children: (ye, Le) => {
+    se(ce, { invisible: true, onclick: () => O(t(X)), children: (ye, Le) => {
       dr(ye, { width: "1.2rem" });
-    }, $$slots: { default: true } }), d(ne), d(de), j(() => I(O, t(X))), u(q, de);
+    }, $$slots: { default: true } }), d(ne), d(de), D(() => I(q, t(X))), u(B, de);
   });
   var Q = a(p, 2), A = c(Q);
-  Ve(A), A.__keydown = [_r, E, e], A.__input = [hr, C, e, y], Mt(A, (q) => r(q), () => r());
+  We(A), A.__keydown = [hr, E, e], A.__input = [_r, C, e, y], Mt(A, (B) => r(B), () => r());
   var M = a(A, 2);
   {
-    var K = (q) => {
+    var V = (B) => {
       var X = kr();
-      W(X, "id", w), We(X, 21, () => e.datalist, Pt, (ue, oe, de, ie) => {
-        var O = br(), ne = {};
-        j(() => {
-          ne !== (ne = t(oe)) && (O.value = (O.__value = t(oe)) == null ? "" : t(oe));
-        }), u(ue, O);
-      }), d(X), u(q, X);
+      F(X, "id", w), Fe(X, 21, () => e.datalist, Pt, (ue, oe, de, ie) => {
+        var q = br(), ne = {};
+        D(() => {
+          ne !== (ne = t(oe)) && (q.value = (q.__value = t(oe)) == null ? "" : t(oe));
+        }), u(ue, q);
+      }), d(X), u(B, X);
     };
-    ee(M, (q) => {
-      e.datalist && e.datalist.length > 1 && q(K);
+    ee(M, (B) => {
+      e.datalist && e.datalist.length > 1 && B(V);
     });
   }
   d(Q), d(o);
-  var V = a(o, 2), G = c(V), le = a(G);
+  var W = a(o, 2), G = c(W), le = a(G);
   {
-    var Z = (q) => {
+    var $ = (B) => {
       var X = Pe(), ue = te(X);
       {
         var oe = (de) => {
-          var ie = xr(), O = c(ie, true);
-          d(ie), j(() => I(O, e.errMsg || x.common.invalidInput)), u(de, ie);
+          var ie = xr(), q = c(ie, true);
+          d(ie), D(() => I(q, e.errMsg || x.common.invalidInput)), u(de, ie);
         };
         ee(ue, (de) => {
-          h() && de(oe);
+          _() && de(oe);
         });
       }
-      u(q, X);
+      u(B, X);
     };
-    ee(le, (q) => {
-      h() && q(Z);
+    ee(le, (B) => {
+      _() && B($);
     });
   }
-  d(V), d(P), j(() => {
-    H(P, "width", k()), H(o, "max-height", R()), W(A, "type", l()), W(A, "id", v()), W(A, "name", e.name), W(A, "list", t(S)), W(A, "title", e.errMsg), W(A, "aria-label", g() || _()), W(A, "placeholder", _()), W(A, "aria-placeholder", _()), A.disabled = b(), W(A, "aria-disabled", b()), A.required = m() && f().length < 1, W(A, "aria-required", m() && f().length < 1), W(A, "maxlength", e.maxLength || void 0), W(A, "min", e.min || void 0), W(A, "max", e.max || void 0), W(A, "pattern", e.pattern), W(V, "for", v()), W(V, "data-required", m()), I(G, `${g() ?? ""} `);
-  }), Ct("invalid", A, F), Ct("blur", A, N), Ge(A, () => t(y), (q) => s(y, q)), u(U, P), ae();
+  d(W), d(P), D(() => {
+    K(P, "width", k()), K(o, "max-height", R()), F(A, "type", l()), F(A, "id", v()), F(A, "name", e.name), F(A, "list", t(S)), F(A, "title", e.errMsg), F(A, "aria-label", m() || h()), F(A, "placeholder", h()), F(A, "aria-placeholder", h()), A.disabled = b(), F(A, "aria-disabled", b()), A.required = g() && f().length < 1, F(A, "aria-required", g() && f().length < 1), F(A, "maxlength", e.maxLength || void 0), F(A, "min", e.min || void 0), F(A, "max", e.max || void 0), F(A, "pattern", e.pattern), F(W, "for", v()), F(W, "data-required", g()), I(G, `${m() ?? ""} `);
+  }), Ct("invalid", A, z), Ct("blur", A, N), Ge(A, () => t(y), (B) => s(y, B)), u(U, P), ae();
 }
-Fe(["click", "keydown", "input"]);
-var yr = D('<div class="err"> </div>'), Cr = D('<!> <!> <!> <p class="svelte-15tp6i6"><!></p> <!> <!> <!> <!>', 1), Pr = D('<div class="container svelte-15tp6i6"><!></div>');
+ze(["click", "keydown", "input"]);
+var yr = j('<div class="err"> </div>'), Cr = j('<!> <!> <!> <p class="svelte-15tp6i6"><!></p> <!> <!> <!> <!>', 1), Pr = j('<div class="container svelte-15tp6i6"><!></div>');
 function Lr(U, e) {
   re(e, true);
-  let r = xe(), l = ge(), v = L(void 0), f = L(""), g = L(""), _ = L(""), b = L(true), m = L(i([])), h = L(i([]));
-  _e(() => {
+  let r = xe(), l = me(), v = L(void 0), f = L(""), m = L(""), h = L(""), b = L(true), g = L(i([])), _ = L(i([]));
+  he(() => {
     requestAnimationFrame(() => {
       var _a;
       (_a = t(v)) == null ? void 0 : _a.focus();
@@ -139,77 +139,77 @@ function Lr(U, e) {
   });
   async function k(w, y) {
     var _a;
-    if (e.clients.find((N) => N.id === t(g))) {
+    if (e.clients.find((N) => N.id === t(m))) {
       s(f, i(l.common.nameExistsAlready));
       return;
     }
     s(f, "");
-    let S = { id: t(g), name: t(_) || void 0, confidential: t(b), redirect_uris: t(m), post_logout_redirect_uris: t(h).length > 0 ? t(h) : void 0 }, B = await ze(w.action, S);
-    B.body ? e.onSave(B.body.id) : s(f, i(((_a = B.error) == null ? void 0 : _a.message) || "Error"));
+    let S = { id: t(m), name: t(h) || void 0, confidential: t(b), redirect_uris: t(g), post_logout_redirect_uris: t(_).length > 0 ? t(_) : void 0 }, O = await He(w.action, S);
+    O.body ? e.onSave(O.body.id) : s(f, i(((_a = O.error) == null ? void 0 : _a.message) || "Error"));
   }
   var R = Pr(), x = c(R);
-  Ke(x, { action: "/auth/v1/clients", onSubmit: k, children: (w, y) => {
-    var S = Cr(), B = te(S);
-    fe(B, { autocomplete: "off", label: "Client ID", placeholder: "Client ID", required: true, pattern: nr, get ref() {
+  Ve(x, { action: "/auth/v1/clients", onSubmit: k, children: (w, y) => {
+    var S = Cr(), O = te(S);
+    fe(O, { autocomplete: "off", label: "Client ID", placeholder: "Client ID", required: true, pattern: nr, get ref() {
       return t(v);
     }, set ref(M) {
       s(v, i(M));
     }, get value() {
-      return t(g);
+      return t(m);
     }, set value(M) {
-      s(g, i(M));
+      s(m, i(M));
     } });
-    var N = a(B, 2);
+    var N = a(O, 2);
     fe(N, { autocomplete: "off", get label() {
       return l.clients.name;
     }, get placeholder() {
       return l.clients.name;
     }, pattern: pt, get value() {
-      return t(_);
+      return t(h);
     }, set value(M) {
-      s(_, i(M));
+      s(h, i(M));
     } });
-    var F = a(N, 2);
-    ve(F, { get ariaLabel() {
+    var z = a(N, 2);
+    ve(z, { get ariaLabel() {
       return l.clients.confidential;
     }, get checked() {
       return t(b);
     }, set checked(M) {
       s(b, i(M));
-    }, children: (M, K) => {
-      z();
-      var V = J();
-      j(() => I(V, l.clients.confidential)), u(M, V);
+    }, children: (M, V) => {
+      H();
+      var W = J();
+      D(() => I(W, l.clients.confidential)), u(M, W);
     }, $$slots: { default: true } });
-    var E = a(F, 2), C = c(E);
+    var E = a(z, 2), C = c(E);
     we(C, () => l.clients.descUri), d(E);
     var P = a(E, 2);
     be(P, { typ: "url", label: "Redirect URIs", get errMsg() {
       return l.validation.uri;
     }, get values() {
-      return t(m);
+      return t(g);
     }, set values(M) {
-      s(m, i(M));
+      s(g, i(M));
     } });
     var o = a(P, 2);
     be(o, { typ: "url", label: "Post Logout Redirect URIs", get errMsg() {
       return l.validation.uri;
     }, get values() {
-      return t(h);
+      return t(_);
     }, set values(M) {
-      s(h, i(M));
+      s(_, i(M));
     } });
     var p = a(o, 2);
-    se(p, { type: "submit", children: (M, K) => {
-      z();
-      var V = J();
-      j(() => I(V, r.common.save)), u(M, V);
+    se(p, { type: "submit", children: (M, V) => {
+      H();
+      var W = J();
+      D(() => I(W, r.common.save)), u(M, W);
     }, $$slots: { default: true } });
     var Q = a(p, 2);
     {
       var A = (M) => {
-        var K = yr(), V = c(K, true);
-        d(K), j(() => I(V, t(f))), u(M, K);
+        var V = yr(), W = c(V, true);
+        d(V), D(() => I(W, t(f))), u(M, V);
       };
       ee(Q, (M) => {
         t(f) && M(A);
@@ -218,41 +218,41 @@ function Lr(U, e) {
     u(w, S);
   }, $$slots: { default: true } }), d(R), u(U, R), ae();
 }
-const je = "urn:ietf:params:oauth:grant-type:device_code";
-var Sr = D('<div class="err"> </div>'), Ar = D('<div class="err"> </div>'), Tr = D('<h5> </h5> <!> <p class="desc svelte-5tvvvt"> </p> <!> <p class="desc svelte-5tvvvt"> </p> <!> <!> <div></div> <h5> </h5> <!> <!> <!> <p class="mb-0 svelte-5tvvvt">Authentication Flows</p> <!> <!> <!> <!> <!> <div></div> <p class="desc svelte-5tvvvt"> </p> <p class="desc svelte-5tvvvt"><strong> </strong></p> <!> <!> <!> <div></div> <p class="desc svelte-5tvvvt"> </p> <!> <p class="desc svelte-5tvvvt"><!></p> <!> <!> <div></div> <p class="desc svelte-5tvvvt"><!></p> <!> <!> <div></div> <p> </p> <!> <div></div> <p> </p> <p> </p> <!> <!> <div></div> <p> </p> <!> <div class="flex gap-05"><!> <!></div> <!> <div></div>', 1), Ir = D('<div class="container svelte-5tvvvt"><!></div>');
+const De = "urn:ietf:params:oauth:grant-type:device_code";
+var Sr = j('<div class="err"> </div>'), Ar = j('<div class="err"> </div>'), Tr = j('<h5> </h5> <!> <p class="desc svelte-5tvvvt"> </p> <!> <p class="desc svelte-5tvvvt"> </p> <!> <!> <div></div> <h5> </h5> <!> <!> <!> <p class="mb-0 svelte-5tvvvt">Authentication Flows</p> <!> <!> <!> <!> <!> <div></div> <p class="desc svelte-5tvvvt"> </p> <p class="desc svelte-5tvvvt"><strong> </strong></p> <!> <!> <!> <div></div> <p class="desc svelte-5tvvvt"> </p> <!> <p class="desc svelte-5tvvvt"><!></p> <!> <!> <div></div> <p class="desc svelte-5tvvvt"><!></p> <!> <!> <div></div> <p> </p> <!> <div></div> <p> </p> <p> </p> <!> <!> <div></div> <p> </p> <!> <div class="flex gap-05"><!> <!></div> <!> <div></div>', 1), Ir = j('<div class="container svelte-5tvvvt"><!></div>');
 function Rr(U, e) {
   var _a, _b;
   re(e, true);
-  let r = xe(), l = ge();
+  let r = xe(), l = me();
   const v = "min(20rem, calc(100dvw - .5rem))";
-  let f = L(""), g = L(false), _ = L(i(e.client.id)), b = L(i(e.client.name || "")), m = L(i(e.client.enabled)), h = L(i(e.client.confidential)), k = L(i(e.client.client_uri || "")), R = L(i(e.client.contacts ? Array.from(e.client.contacts) : [])), x = L(i(e.client.allowed_origins ? Array.from(e.client.allowed_origins) : [])), w = L(i(Array.from(e.client.redirect_uris))), y = L(i(e.client.post_logout_redirect_uris ? Array.from(e.client.post_logout_redirect_uris) : [])), S = i({ authorizationCode: e.client.flows_enabled.includes("authorization_code"), clientCredentials: e.client.flows_enabled.includes("client_credentials"), password: e.client.flows_enabled.includes("password"), refreshToken: e.client.flows_enabled.includes("refresh_token"), deviceCode: e.client.flows_enabled.includes(je) });
-  const B = ["RS256", "RS384", "RS512", "EdDSA"];
-  let N = L(i(e.client.access_token_alg)), F = L(i(e.client.id_token_alg)), E = L(i(e.client.access_token_lifetime.toString())), C = L(i(e.client.auth_code_lifetime.toString())), P = L(i(e.scopesAll.map((G) => ({ name: G, selected: e.client.scopes.includes(G) || false })))), o = L(i(e.scopesAll.map((G) => ({ name: G, selected: e.client.default_scopes.includes(G) || false })))), p = i({ plain: ((_a = e.client.challenges) == null ? void 0 : _a.includes("plain")) || false, s256: ((_b = e.client.challenges) == null ? void 0 : _b.includes("S256")) || false }), Q = L(i(e.client.force_mfa));
-  _e(() => {
+  let f = L(""), m = L(false), h = L(i(e.client.id)), b = L(i(e.client.name || "")), g = L(i(e.client.enabled)), _ = L(i(e.client.confidential)), k = L(i(e.client.client_uri || "")), R = L(i(e.client.contacts ? Array.from(e.client.contacts) : [])), x = L(i(e.client.allowed_origins ? Array.from(e.client.allowed_origins) : [])), w = L(i(Array.from(e.client.redirect_uris))), y = L(i(e.client.post_logout_redirect_uris ? Array.from(e.client.post_logout_redirect_uris) : [])), S = i({ authorizationCode: e.client.flows_enabled.includes("authorization_code"), clientCredentials: e.client.flows_enabled.includes("client_credentials"), password: e.client.flows_enabled.includes("password"), refreshToken: e.client.flows_enabled.includes("refresh_token"), deviceCode: e.client.flows_enabled.includes(De) });
+  const O = ["RS256", "RS384", "RS512", "EdDSA"];
+  let N = L(i(e.client.access_token_alg)), z = L(i(e.client.id_token_alg)), E = L(i(e.client.access_token_lifetime.toString())), C = L(i(e.client.auth_code_lifetime.toString())), P = L(i(e.scopesAll.map((G) => ({ name: G, selected: e.client.scopes.includes(G) || false })))), o = L(i(e.scopesAll.map((G) => ({ name: G, selected: e.client.default_scopes.includes(G) || false })))), p = i({ plain: ((_a = e.client.challenges) == null ? void 0 : _a.includes("plain")) || false, s256: ((_b = e.client.challenges) == null ? void 0 : _b.includes("S256")) || false }), Q = L(i(e.client.force_mfa));
+  he(() => {
     var _a2, _b2;
-    e.client.id && (s(_, i(e.client.id)), s(b, i(e.client.name || "")), s(m, i(e.client.enabled)), s(h, i(e.client.confidential)), s(k, i(e.client.client_uri || "")), s(R, i(e.client.contacts ? Array.from(e.client.contacts) : [])), s(x, i(e.client.allowed_origins ? Array.from(e.client.allowed_origins) : [])), s(w, i(Array.from(e.client.redirect_uris))), s(y, i(e.client.post_logout_redirect_uris ? Array.from(e.client.post_logout_redirect_uris) : [])), S.authorizationCode = e.client.flows_enabled.includes("authorization_code"), S.clientCredentials = e.client.flows_enabled.includes("client_credentials"), S.password = e.client.flows_enabled.includes("password"), S.refreshToken = e.client.flows_enabled.includes("refresh_token"), S.deviceCode = e.client.flows_enabled.includes(je), s(N, i(e.client.access_token_alg)), s(F, i(e.client.id_token_alg)), s(E, i(e.client.access_token_lifetime.toString())), s(C, i(e.client.auth_code_lifetime.toString())), s(P, i(e.scopesAll.map((G) => ({ name: G, selected: e.client.scopes.includes(G) || false })))), s(o, i(e.scopesAll.map((G) => ({ name: G, selected: e.client.default_scopes.includes(G) || false })))), p.plain = ((_a2 = e.client.challenges) == null ? void 0 : _a2.includes("plain")) || false, p.s256 = ((_b2 = e.client.challenges) == null ? void 0 : _b2.includes("S256")) || false);
+    e.client.id && (s(h, i(e.client.id)), s(b, i(e.client.name || "")), s(g, i(e.client.enabled)), s(_, i(e.client.confidential)), s(k, i(e.client.client_uri || "")), s(R, i(e.client.contacts ? Array.from(e.client.contacts) : [])), s(x, i(e.client.allowed_origins ? Array.from(e.client.allowed_origins) : [])), s(w, i(Array.from(e.client.redirect_uris))), s(y, i(e.client.post_logout_redirect_uris ? Array.from(e.client.post_logout_redirect_uris) : [])), S.authorizationCode = e.client.flows_enabled.includes("authorization_code"), S.clientCredentials = e.client.flows_enabled.includes("client_credentials"), S.password = e.client.flows_enabled.includes("password"), S.refreshToken = e.client.flows_enabled.includes("refresh_token"), S.deviceCode = e.client.flows_enabled.includes(De), s(N, i(e.client.access_token_alg)), s(z, i(e.client.id_token_alg)), s(E, i(e.client.access_token_lifetime.toString())), s(C, i(e.client.auth_code_lifetime.toString())), s(P, i(e.scopesAll.map((G) => ({ name: G, selected: e.client.scopes.includes(G) || false })))), s(o, i(e.scopesAll.map((G) => ({ name: G, selected: e.client.default_scopes.includes(G) || false })))), p.plain = ((_a2 = e.client.challenges) == null ? void 0 : _a2.includes("plain")) || false, p.s256 = ((_b2 = e.client.challenges) == null ? void 0 : _b2.includes("S256")) || false);
   });
   async function A(G, le) {
     s(f, "");
-    let Z = { id: t(_), name: t(b) || void 0, enabled: t(m), confidential: t(h), allowed_origins: t(x).length > 0 ? t(x) : void 0, redirect_uris: t(w), post_logout_redirect_uris: t(y).length > 0 ? t(y) : void 0, flows_enabled: [], access_token_alg: t(N), id_token_alg: t(F), access_token_lifetime: Number.parseInt(t(E)), auth_code_lifetime: Number.parseInt(t(C)), scopes: t(P).filter((X) => X.selected).map((X) => X.name), default_scopes: t(o).filter((X) => X.selected).map((X) => X.name), challenges: void 0, force_mfa: t(Q), client_uri: t(k) || void 0, contacts: t(R).length > 0 ? t(R) : void 0 };
-    S.authorizationCode && Z.flows_enabled.push("authorization_code"), S.clientCredentials && Z.flows_enabled.push("client_credentials"), S.password && Z.flows_enabled.push("password"), S.refreshToken && Z.flows_enabled.push("refresh_token"), S.deviceCode && Z.flows_enabled.push(je), p.plain && (Z.challenges = ["plain"]), p.s256 && (Z.challenges ? Z.challenges.push("S256") : Z.challenges = ["S256"]), console.log("payload", Z);
-    let q = await He(G.action, Z);
-    q.error ? s(f, i(q.error.message)) : (s(g, true), e.onSave(), setTimeout(() => {
-      s(g, false);
+    let $ = { id: t(h), name: t(b) || void 0, enabled: t(g), confidential: t(_), allowed_origins: t(x).length > 0 ? t(x) : void 0, redirect_uris: t(w), post_logout_redirect_uris: t(y).length > 0 ? t(y) : void 0, flows_enabled: [], access_token_alg: t(N), id_token_alg: t(z), access_token_lifetime: Number.parseInt(t(E)), auth_code_lifetime: Number.parseInt(t(C)), scopes: t(P).filter((X) => X.selected).map((X) => X.name), default_scopes: t(o).filter((X) => X.selected).map((X) => X.name), challenges: void 0, force_mfa: t(Q), client_uri: t(k) || void 0, contacts: t(R).length > 0 ? t(R) : void 0 };
+    S.authorizationCode && $.flows_enabled.push("authorization_code"), S.clientCredentials && $.flows_enabled.push("client_credentials"), S.password && $.flows_enabled.push("password"), S.refreshToken && $.flows_enabled.push("refresh_token"), S.deviceCode && $.flows_enabled.push(De), p.plain && ($.challenges = ["plain"]), p.s256 && ($.challenges ? $.challenges.push("S256") : $.challenges = ["S256"]);
+    let B = await Ke(G.action, $);
+    B.error ? s(f, i(B.error.message)) : (s(m, true), e.onSave(), setTimeout(() => {
+      s(m, false);
     }, 2e3));
   }
-  var M = Ir(), K = c(M);
-  const V = he(() => `/auth/v1/clients/${e.client.id}`);
-  Ke(K, { get action() {
-    return t(V);
+  var M = Ir(), V = c(M);
+  const W = _e(() => `/auth/v1/clients/${e.client.id}`);
+  Ve(V, { get action() {
+    return t(W);
   }, onSubmit: A, children: (G, le) => {
-    var Z = Tr(), q = te(Z), X = c(q, true);
-    d(q);
-    var ue = a(q, 2);
-    Be(ue, { label: "ID", mono: true, children: (n, Y) => {
-      z();
+    var $ = Tr(), B = te($), X = c(B, true);
+    d(B);
+    var ue = a(B, 2);
+    Oe(ue, { label: "ID", mono: true, children: (n, Y) => {
+      H();
       var T = J();
-      j(() => I(T, e.client.id)), u(n, T);
+      D(() => I(T, e.client.id)), u(n, T);
     } });
     var oe = a(ue, 2), de = c(oe, true);
     d(oe);
@@ -266,10 +266,10 @@ function Rr(U, e) {
     }, set value(n) {
       s(b, i(n));
     } });
-    var O = a(ie, 2), ne = c(O, true);
-    d(O);
-    var ce = a(O, 2);
-    fe(ce, { typ: "url", autocomplete: "off", label: "URI", placeholder: "URI", width: v, pattern: qe, get value() {
+    var q = a(ie, 2), ne = c(q, true);
+    d(q);
+    var ce = a(q, 2);
+    fe(ce, { typ: "url", autocomplete: "off", label: "URI", placeholder: "URI", width: v, pattern: Be, get value() {
       return t(k);
     }, set value(n) {
       s(k, i(n));
@@ -283,32 +283,32 @@ function Rr(U, e) {
       s(R, i(n));
     } });
     var Le = a(ye, 2);
-    H(Le, "height", ".5rem");
-    var Se = a(Le, 2), qt = c(Se, true);
+    K(Le, "height", ".5rem");
+    var Se = a(Le, 2), Bt = c(Se, true);
     d(Se);
     var Je = a(Se, 2);
     ve(Je, { get ariaLabel() {
       return l.common.enabled;
     }, get checked() {
-      return t(m);
+      return t(g);
     }, set checked(n) {
-      s(m, i(n));
+      s(g, i(n));
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, l.common.enabled)), u(n, T);
+      D(() => I(T, l.common.enabled)), u(n, T);
     }, $$slots: { default: true } });
     var Qe = a(Je, 2);
     ve(Qe, { get ariaLabel() {
       return l.clients.confidential;
     }, get checked() {
-      return t(h);
+      return t(_);
     }, set checked(n) {
-      s(h, i(n));
+      s(_, i(n));
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, l.clients.confidential)), u(n, T);
+      D(() => I(T, l.clients.confidential)), u(n, T);
     }, $$slots: { default: true } });
     var Xe = a(Qe, 2);
     ve(Xe, { get ariaLabel() {
@@ -318,9 +318,9 @@ function Rr(U, e) {
     }, set checked(n) {
       s(Q, i(n));
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, l.clients.forceMfa)), u(n, T);
+      D(() => I(T, l.clients.forceMfa)), u(n, T);
     }, $$slots: { default: true } });
     var Ye = a(Xe, 4);
     ve(Ye, { ariaLabel: "authorization_code", get checked() {
@@ -328,7 +328,7 @@ function Rr(U, e) {
     }, set checked(n) {
       S.authorizationCode = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("authorization_code");
       u(n, T);
     }, $$slots: { default: true } });
@@ -338,7 +338,7 @@ function Rr(U, e) {
     }, set checked(n) {
       S.deviceCode = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("device_code");
       u(n, T);
     }, $$slots: { default: true } });
@@ -348,7 +348,7 @@ function Rr(U, e) {
     }, set checked(n) {
       S.clientCredentials = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("client_credentials");
       u(n, T);
     }, $$slots: { default: true } });
@@ -358,7 +358,7 @@ function Rr(U, e) {
     }, set checked(n) {
       S.password = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("password");
       u(n, T);
     }, $$slots: { default: true } });
@@ -368,15 +368,15 @@ function Rr(U, e) {
     }, set checked(n) {
       S.refreshToken = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("refresh_token");
       u(n, T);
     }, $$slots: { default: true } });
     var rt = a(tt, 2);
-    H(rt, "height", ".5rem");
-    var Ae = a(rt, 2), Bt = c(Ae, true);
+    K(rt, "height", ".5rem");
+    var Ae = a(rt, 2), Ot = c(Ae, true);
     d(Ae);
-    var Te = a(Ae, 2), at = c(Te), jt = c(at, true);
+    var Te = a(Ae, 2), at = c(Te), Dt = c(at, true);
     d(at), d(Te);
     var lt = a(Te, 2);
     ve(lt, { ariaLabel: "PKCE plain", get checked() {
@@ -384,7 +384,7 @@ function Rr(U, e) {
     }, set checked(n) {
       p.plain = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("plain");
       u(n, T);
     }, $$slots: { default: true } });
@@ -394,23 +394,23 @@ function Rr(U, e) {
     }, set checked(n) {
       p.s256 = n;
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J("S256");
       u(n, T);
     }, $$slots: { default: true } });
     var nt = a(it, 2);
     {
-      var Ot = (n) => {
+      var qt = (n) => {
         var Y = Sr(), T = c(Y, true);
-        d(Y), j(() => I(T, l.clients.errConfidentialPKCE)), Zt(3, Y, () => $t, () => ({ duration: 150 })), u(n, Y);
+        d(Y), D(() => I(T, l.clients.errConfidentialPKCE)), Zt(3, Y, () => $t, () => ({ duration: 150 })), u(n, Y);
       };
       ee(nt, (n) => {
-        !t(h) && !p.plain && !p.s256 && n(Ot);
+        !t(_) && !p.plain && !p.s256 && n(qt);
       });
     }
     var st = a(nt, 2);
-    H(st, "height", ".5rem");
-    var Ie = a(st, 2), Dt = c(Ie, true);
+    K(st, "height", ".5rem");
+    var Ie = a(st, 2), jt = c(Ie, true);
     d(Ie);
     var ot = a(Ie, 2);
     be(ot, { typ: "url", label: "Allowed Origins", get errMsg() {
@@ -420,14 +420,14 @@ function Rr(U, e) {
     }, set values(n) {
       s(x, i(n));
     } });
-    var Re = a(ot, 2), Wt = c(Re);
-    we(Wt, () => l.clients.descUri), d(Re);
+    var Re = a(ot, 2), Ft = c(Re);
+    we(Ft, () => l.clients.descUri), d(Re);
     var dt = a(Re, 2);
     be(dt, { typ: "url", label: "Redirect URIs", get errMsg() {
       return l.validation.uri;
     }, get required() {
       return S.authorizationCode;
-    }, pattern: qe, get values() {
+    }, pattern: Be, get values() {
       return t(w);
     }, set values(n) {
       s(w, i(n));
@@ -435,24 +435,24 @@ function Rr(U, e) {
     var ct = a(dt, 2);
     be(ct, { typ: "url", label: "Post Logout Redirect URIs", get errMsg() {
       return l.validation.uri;
-    }, pattern: qe, get values() {
+    }, pattern: Be, get values() {
       return t(y);
     }, set values(n) {
       s(y, i(n));
     } });
     var vt = a(ct, 2);
-    H(vt, "height", ".5rem");
-    var pe = a(vt, 2), Ft = c(pe);
-    we(Ft, () => l.clients.scopes.desc), d(pe);
+    K(vt, "height", ".5rem");
+    var pe = a(vt, 2), zt = c(pe);
+    we(zt, () => l.clients.scopes.desc), d(pe);
     var ut = a(pe, 2);
     St(ut, { get items() {
       return t(P);
     }, set items(n) {
       s(P, i(n));
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, l.clients.scopes.allowed)), u(n, T);
+      D(() => I(T, l.clients.scopes.allowed)), u(n, T);
     }, $$slots: { default: true } });
     var ft = a(ut, 2);
     St(ft, { get items() {
@@ -460,45 +460,45 @@ function Rr(U, e) {
     }, set items(n) {
       s(o, i(n));
     }, children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, l.clients.scopes.default)), u(n, T);
+      D(() => I(T, l.clients.scopes.default)), u(n, T);
     }, $$slots: { default: true } });
-    var ht = a(ft, 2);
-    H(ht, "height", ".75rem");
-    var Ee = a(ht, 2), zt = c(Ee, true);
+    var _t = a(ft, 2);
+    K(_t, "height", ".75rem");
+    var Ee = a(_t, 2), Ht = c(Ee, true);
     d(Ee);
-    var _t = a(Ee, 2);
-    fe(_t, { typ: "number", autocomplete: "off", label: "Token Lifetime", placeholder: "Token Lifetime", width: v, min: "10", max: "86400", errMsg: "10 <= Token Lifetime <= 86400", get value() {
+    var ht = a(Ee, 2);
+    fe(ht, { typ: "number", autocomplete: "off", label: "Token Lifetime", placeholder: "Token Lifetime", width: v, min: "10", max: "86400", errMsg: "10 <= Token Lifetime <= 86400", get value() {
       return t(E);
     }, set value(n) {
       s(E, i(n));
     } });
-    var gt = a(_t, 2);
-    H(gt, "height", ".5rem");
-    var Me = a(gt, 2), Ht = c(Me, true);
+    var mt = a(ht, 2);
+    K(mt, "height", ".5rem");
+    var Me = a(mt, 2), Kt = c(Me, true);
     d(Me);
-    var Ue = a(Me, 2), Kt = c(Ue, true);
+    var Ue = a(Me, 2), Vt = c(Ue, true);
     d(Ue);
-    var mt = a(Ue, 2);
-    Be(mt, { label: "Access Token Algorithm", children: (n, Y) => {
-      At(n, { ariaLabel: "Access Token Algorithm", options: B, borderless: true, get value() {
+    var gt = a(Ue, 2);
+    Oe(gt, { label: "Access Token Algorithm", children: (n, Y) => {
+      At(n, { ariaLabel: "Access Token Algorithm", options: O, borderless: true, get value() {
         return t(N);
       }, set value(T) {
         s(N, i(T));
       } });
     } });
-    var bt = a(mt, 2);
-    Be(bt, { label: "ID Token Algorithm", children: (n, Y) => {
-      At(n, { ariaLabel: "ID Token Algorithm", options: B, borderless: true, get value() {
-        return t(F);
+    var bt = a(gt, 2);
+    Oe(bt, { label: "ID Token Algorithm", children: (n, Y) => {
+      At(n, { ariaLabel: "ID Token Algorithm", options: O, borderless: true, get value() {
+        return t(z);
       }, set value(T) {
-        s(F, i(T));
+        s(z, i(T));
       } });
     } });
     var kt = a(bt, 2);
-    H(kt, "height", ".5rem");
-    var Ne = a(kt, 2), Vt = c(Ne, true);
+    K(kt, "height", ".5rem");
+    var Ne = a(kt, 2), Wt = c(Ne, true);
     d(Ne);
     var xt = a(Ne, 2);
     fe(xt, { typ: "number", autocomplete: "off", label: "Auth Code Lifetime", placeholder: "Auth Code Lifetime", width: v, min: "10", max: "300", errMsg: "10 <= Auth Code Lifetime <= 300", get value() {
@@ -507,12 +507,12 @@ function Rr(U, e) {
       s(C, i(n));
     } });
     var Ce = a(xt, 2);
-    H(Ce, "margin-top", "1rem");
+    K(Ce, "margin-top", "1rem");
     var wt = c(Ce);
     se(wt, { type: "submit", children: (n, Y) => {
-      z();
+      H();
       var T = J();
-      j(() => I(T, r.common.save)), u(n, T);
+      D(() => I(T, r.common.save)), u(n, T);
     }, $$slots: { default: true } });
     var Gt = a(wt, 2);
     {
@@ -520,7 +520,7 @@ function Rr(U, e) {
         Nt(n, {});
       };
       ee(Gt, (n) => {
-        t(g) && n(Jt);
+        t(m) && n(Jt);
       });
     }
     d(Ce);
@@ -528,96 +528,96 @@ function Rr(U, e) {
     {
       var Qt = (n) => {
         var Y = Ar(), T = c(Y, true);
-        d(Y), j(() => I(T, t(f))), u(n, Y);
+        d(Y), D(() => I(T, t(f))), u(n, Y);
       };
       ee(yt, (n) => {
         t(f) && n(Qt);
       });
     }
     var Xt = a(yt, 2);
-    H(Xt, "height", "1rem"), j(() => {
-      I(X, l.common.information), I(de, l.clients.descName), I(ne, l.clients.descClientUri), I(qt, l.clients.config), I(Bt, l.clients.descPKCE), I(jt, l.clients.descPKCEEnforce), I(Dt, l.clients.descOrigin), I(zt, l.clients.tokenLifetime.p1), I(Ht, l.clients.tokenLifetime.p2), I(Kt, l.clients.tokenLifetime.p3), I(Vt, l.clients.descAuthCode);
-    }), u(G, Z);
+    K(Xt, "height", "1rem"), D(() => {
+      I(X, l.common.information), I(de, l.clients.descName), I(ne, l.clients.descClientUri), I(Bt, l.clients.config), I(Ot, l.clients.descPKCE), I(Dt, l.clients.descPKCEEnforce), I(jt, l.clients.descOrigin), I(Ht, l.clients.tokenLifetime.p1), I(Kt, l.clients.tokenLifetime.p2), I(Vt, l.clients.tokenLifetime.p3), I(Wt, l.clients.descAuthCode);
+    }), u(G, $);
   }, $$slots: { default: true } }), d(M), u(U, M), ae();
 }
-var pr = D("<!> <!>", 1), Er = D('<div class="container svelte-19xcrje"><div class="err"> </div> <!></div>');
+var pr = j("<!> <!>", 1), Er = j('<div class="container svelte-19xcrje"><div class="err"> </div> <!></div>');
 function Mr(U, e) {
   re(e, true);
-  let r = ge(), l = L(""), v = L(void 0);
-  _e(() => {
+  let r = me(), l = L(""), v = L(void 0);
+  he(() => {
     s(l, ""), s(v, ""), e.client.confidential ? f() : s(l, i(r.clients.confidentialNoSecret));
   });
   async function f() {
-    let x = await ze(`/auth/v1/clients/${e.client.id}/secret`);
-    _(x);
-  }
-  async function g() {
     let x = await He(`/auth/v1/clients/${e.client.id}/secret`);
-    _(x);
+    h(x);
+  }
+  async function m() {
+    let x = await Ke(`/auth/v1/clients/${e.client.id}/secret`);
+    h(x);
   }
-  function _(x) {
+  function h(x) {
     var _a;
     x.body ? x.body.secret && s(v, i(x.body.secret)) : s(l, i(((_a = x.error) == null ? void 0 : _a.message) || "Error"));
   }
-  var b = Er(), m = c(b), h = c(m, true);
-  d(m);
-  var k = a(m, 2);
+  var b = Er(), g = c(b), _ = c(g, true);
+  d(g);
+  var k = a(g, 2);
   {
     var R = (x) => {
       var w = pr(), y = te(w);
       cr(y, { autocomplete: "off", label: "Client Secret", placeholder: "Client Secret", disabled: true, showCopy: true, get value() {
         return t(v);
-      }, set value(B) {
-        s(v, i(B));
+      }, set value(O) {
+        s(v, i(O));
       } });
       var S = a(y, 2);
-      se(S, { onclick: g, children: (B, N) => {
-        z();
-        var F = J();
-        j(() => I(F, r.clients.generateSecret)), u(B, F);
+      se(S, { onclick: m, children: (O, N) => {
+        H();
+        var z = J();
+        D(() => I(z, r.clients.generateSecret)), u(O, z);
       }, $$slots: { default: true } }), u(x, w);
     };
     ee(k, (x) => {
       t(v) && x(R);
     });
   }
-  d(b), j(() => I(h, t(l))), u(U, b), ae();
+  d(b), D(() => I(_, t(l))), u(U, b), ae();
 }
-var Ur = D('<div class="err"> </div>'), Nr = D("<p> </p> <!> <!>", 1);
-function qr(U, e) {
+var Ur = j('<div class="err"> </div>'), Nr = j("<p> </p> <!> <!>", 1);
+function Br(U, e) {
   re(e, true);
-  let r = xe(), l = ge(), v = L("");
+  let r = xe(), l = me(), v = L("");
   async function f() {
     s(v, "");
     let R = await Rt(`/auth/v1/clients/${e.client.id}`);
     R.error ? s(v, i(R.error.message)) : e.onSave();
   }
-  var g = Nr(), _ = te(g), b = c(_, true);
-  d(_);
-  var m = a(_, 2);
-  se(m, { level: -1, onclick: f, children: (R, x) => {
-    z();
+  var m = Nr(), h = te(m), b = c(h, true);
+  d(h);
+  var g = a(h, 2);
+  se(g, { level: -1, onclick: f, children: (R, x) => {
+    H();
     var w = J();
-    j(() => I(w, r.common.delete)), u(R, w);
+    D(() => I(w, r.common.delete)), u(R, w);
   }, $$slots: { default: true } });
-  var h = a(m, 2);
+  var _ = a(g, 2);
   {
     var k = (R) => {
       var x = Ur(), w = c(x, true);
-      d(x), j(() => I(w, t(v))), u(R, x);
+      d(x), D(() => I(w, t(v))), u(R, x);
     };
-    ee(h, (R) => {
+    ee(_, (R) => {
       t(v) && R(k);
     });
   }
-  j(() => I(b, l.clients.delete1)), u(U, g), ae();
+  D(() => I(b, l.clients.delete1)), u(U, m), ae();
 }
-var Br = D('<div><div class="flex"><input type="range" class="svelte-12j8dit"> <div class="value font-mono svelte-12j8dit"> </div></div> <div class="label svelte-12j8dit"><label class="font-label noselect svelte-12j8dit"> </label></div></div>');
-function Oe(U, e) {
+var Or = j('<div><div class="flex"><input type="range" class="svelte-12j8dit"> <div class="value font-mono svelte-12j8dit"> </div></div> <div class="label svelte-12j8dit"><label class="font-label noselect svelte-12j8dit"> </label></div></div>');
+function qe(U, e) {
   re(e, true);
-  let r = $(e, "value", 15), l = $(e, "label", 3, ""), v = $(e, "disabled", 3, false), f = $(e, "step", 3, 1), g = $(e, "widthRange", 3, "15rem");
-  const _ = ke();
-  let b = he(() => {
+  let r = Z(e, "value", 15), l = Z(e, "label", 3, ""), v = Z(e, "disabled", 3, false), f = Z(e, "step", 3, 1), m = Z(e, "widthRange", 3, "15rem");
+  const h = ke();
+  let b = _e(() => {
     if (e.hue !== void 0 && e.sat !== void 0 && e.lum !== void 0) {
       if (e.bgMode === "hue") return `linear-gradient(
                     to right,
@@ -634,31 +634,31 @@ function Oe(U, e) {
     }
     return "hsl(var(--text) / .5)";
   });
-  var m = Br(), h = c(m), k = c(h);
-  Ve(k), W(k, "id", _);
+  var g = Or(), _ = c(g), k = c(_);
+  We(k), F(k, "id", h);
   var R = a(k, 2), x = c(R, true);
-  d(R), d(h);
-  var w = a(h, 2), y = c(w);
-  W(y, "for", _);
+  d(R), d(_);
+  var w = a(_, 2), y = c(w);
+  F(y, "for", h);
   var S = c(y, true);
-  d(y), d(w), d(m), j(() => {
-    W(k, "name", e.name), W(k, "title", l()), W(k, "aria-label", l()), k.disabled = v(), W(k, "aria-disabled", v()), W(k, "min", e.min), W(k, "max", e.max), W(k, "step", f()), H(k, "width", g()), H(k, "--bg-slider", t(b)), I(x, r()), I(S, l());
-  }), Ge(k, r), u(U, m), ae();
+  d(y), d(w), d(g), D(() => {
+    F(k, "name", e.name), F(k, "title", l()), F(k, "aria-label", l()), k.disabled = v(), F(k, "aria-disabled", v()), F(k, "min", e.min), F(k, "max", e.max), F(k, "step", f()), K(k, "width", m()), K(k, "--bg-slider", t(b)), I(x, r()), I(S, l());
+  }), Ge(k, r), u(U, g), ae();
 }
-var jr = D('<div class="outer svelte-1evkwuy"><div class="container svelte-1evkwuy"><div><label class="font-label svelte-1evkwuy"> </label> <div class="values svelte-1evkwuy"><!> <!> <!></div></div> <div class="color svelte-1evkwuy"></div></div></div>');
-function me(U, e) {
+var Dr = j('<div class="outer svelte-1evkwuy"><div class="container svelte-1evkwuy"><div><label class="font-label svelte-1evkwuy"> </label> <div class="values svelte-1evkwuy"><!> <!> <!></div></div> <div class="color svelte-1evkwuy"></div></div></div>');
+function ge(U, e) {
   re(e, true);
-  let r = $(e, "h", 15), l = $(e, "s", 15), v = $(e, "l", 15);
-  const f = ke(), g = "15rem";
-  let _ = he(() => `hsl(${r()} ${l()} ${v()})`);
-  var b = jr(), m = c(b), h = c(m), k = c(h);
-  W(k, "for", f);
+  let r = Z(e, "h", 15), l = Z(e, "s", 15), v = Z(e, "l", 15);
+  const f = ke(), m = "15rem";
+  let h = _e(() => `hsl(${r()} ${l()} ${v()})`);
+  var b = Dr(), g = c(b), _ = c(g), k = c(_);
+  F(k, "for", f);
   var R = c(k, true);
   d(k);
   var x = a(k, 2);
-  W(x, "id", f);
+  F(x, "id", f);
   var w = c(x);
-  Oe(w, { label: "Hue", min: 0, max: 359, widthRange: g, bgMode: "hue", get hue() {
+  qe(w, { label: "Hue", min: 0, max: 359, widthRange: m, bgMode: "hue", get hue() {
     return r();
   }, get sat() {
     return l();
@@ -670,7 +670,7 @@ function me(U, e) {
     r(N);
   } });
   var y = a(w, 2);
-  Oe(y, { label: "Sat", min: 0, max: 100, widthRange: g, bgMode: "sat", get hue() {
+  qe(y, { label: "Sat", min: 0, max: 100, widthRange: m, bgMode: "sat", get hue() {
     return r();
   }, get sat() {
     return l();
@@ -682,7 +682,7 @@ function me(U, e) {
     l(N);
   } });
   var S = a(y, 2);
-  Oe(S, { label: "Lum", min: 0, max: 100, widthRange: g, bgMode: "lum", get hue() {
+  qe(S, { label: "Lum", min: 0, max: 100, widthRange: m, bgMode: "lum", get hue() {
     return r();
   }, get sat() {
     return l();
@@ -692,47 +692,45 @@ function me(U, e) {
     return v();
   }, set value(N) {
     v(N);
-  } }), d(x), d(h);
-  var B = a(h, 2);
-  d(m), d(b), j(() => {
-    H(m, "border-color", t(_)), I(R, e.label), H(B, "background", t(_));
+  } }), d(x), d(_);
+  var O = a(_, 2);
+  d(g), d(b), D(() => {
+    K(g, "border-color", t(h)), I(R, e.label), K(O, "background", t(h));
   }), u(U, b), ae();
 }
-var Or = (U, e) => {
+var qr = (U, e) => {
   var _a;
   return (_a = t(e)) == null ? void 0 : _a.click();
-}, Dr = D('<div class="container svelte-lcwq3j"><!> <div role="none" class="mask svelte-lcwq3j"><div class="colorWrapper svelte-lcwq3j"><div class="color svelte-lcwq3j"></div></div> <input type="color" class="svelte-lcwq3j"></div></div>');
-function De(U, e) {
+}, jr = j('<div class="container svelte-2nx18n"><!> <div role="none" class="mask svelte-2nx18n"><div class="colorWrapper svelte-2nx18n"><div class="color svelte-2nx18n"></div></div> <input type="color" class="svelte-2nx18n"></div></div>');
+function je(U, e) {
   re(e, true);
-  let r = $(e, "value", 15), l = ge(), v = L(void 0);
-  var f = Dr(), g = c(f);
-  fe(g, { get label() {
+  let r = Z(e, "value", 15), l = me(), v = L(void 0);
+  var f = jr(), m = c(f);
+  fe(m, { get label() {
     return e.label;
   }, get placeholder() {
     return e.label;
   }, get errMsg() {
     return l.validation.css;
-  }, get width() {
-    return e.inputWidth;
-  }, required: true, pattern: Et, get value() {
+  }, width: "17.5rem", required: true, pattern: Et, get value() {
     return r();
-  }, set value(m) {
-    r(m);
+  }, set value(g) {
+    r(g);
   } });
-  var _ = a(g, 2);
-  _.__click = [Or, v];
-  var b = a(c(_), 2);
-  Ve(b), Mt(b, (m) => s(v, m), () => t(v)), d(_), d(f), j(() => H(f, "--color", r())), Ge(b, r), u(U, f), ae();
+  var h = a(m, 2);
+  h.__click = [qr, v];
+  var b = a(c(h), 2);
+  We(b), Mt(b, (g) => s(v, g), () => t(v)), d(h), d(f), D(() => K(f, "--color", r())), Ge(b, r), u(U, f), ae();
 }
-Fe(["click"]);
-var Wr = D('<div><p> </p> <div class="hsl svelte-10udpph"><div><!> <!> <!> <!></div> <div><!> <!> <!></div></div> <div><p><!></p> <!> <!> <!></div></div>');
+ze(["click"]);
+var Fr = j('<div><p> </p> <div class="hsl svelte-10udpph"><div><!> <!> <!> <!></div> <div><!> <!> <!></div></div> <div><p><!></p> <!> <!> <!></div></div>');
 function Tt(U, e) {
   re(e, true);
-  let r = $(e, "values", 15), l = ge();
-  var v = Wr(), f = c(v), g = c(f, true);
+  let r = Z(e, "values", 15), l = me();
+  var v = Fr(), f = c(v), m = c(f, true);
   d(f);
-  var _ = a(f, 2), b = c(_), m = c(b);
-  me(m, { label: "--text", get h() {
+  var h = a(f, 2), b = c(h), g = c(b);
+  ge(g, { label: "--text", get h() {
     return r().text[0];
   }, set h(o) {
     r(r().text[0] = o, true);
@@ -745,8 +743,8 @@ function Tt(U, e) {
   }, set l(o) {
     r(r().text[2] = o, true);
   } });
-  var h = a(m, 2);
-  me(h, { label: "--text-high", get h() {
+  var _ = a(g, 2);
+  ge(_, { label: "--text-high", get h() {
     return r().text_high[0];
   }, set h(o) {
     r(r().text_high[0] = o, true);
@@ -759,8 +757,8 @@ function Tt(U, e) {
   }, set l(o) {
     r(r().text_high[2] = o, true);
   } });
-  var k = a(h, 2);
-  me(k, { label: "--bg", get h() {
+  var k = a(_, 2);
+  ge(k, { label: "--bg", get h() {
     return r().bg[0];
   }, set h(o) {
     r(r().bg[0] = o, true);
@@ -774,7 +772,7 @@ function Tt(U, e) {
     r(r().bg[2] = o, true);
   } });
   var R = a(k, 2);
-  me(R, { label: "--bg-high", get h() {
+  ge(R, { label: "--bg-high", get h() {
     return r().bg_high[0];
   }, set h(o) {
     r(r().bg_high[0] = o, true);
@@ -788,7 +786,7 @@ function Tt(U, e) {
     r(r().bg_high[2] = o, true);
   } }), d(b);
   var x = a(b, 2), w = c(x);
-  me(w, { label: "--action", get h() {
+  ge(w, { label: "--action", get h() {
     return r().action[0];
   }, set h(o) {
     r(r().action[0] = o, true);
@@ -802,7 +800,7 @@ function Tt(U, e) {
     r(r().action[2] = o, true);
   } });
   var y = a(w, 2);
-  me(y, { label: "--accent", get h() {
+  ge(y, { label: "--accent", get h() {
     return r().accent[0];
   }, set h(o) {
     r(r().accent[0] = o, true);
@@ -816,7 +814,7 @@ function Tt(U, e) {
     r(r().accent[2] = o, true);
   } });
   var S = a(y, 2);
-  me(S, { label: "--error", get h() {
+  ge(S, { label: "--error", get h() {
     return r().error[0];
   }, set h(o) {
     r(r().error[0] = o, true);
@@ -828,52 +826,46 @@ function Tt(U, e) {
     return r().error[2];
   }, set l(o) {
     r(r().error[2] = o, true);
-  } }), d(x), d(_);
-  var B = a(_, 2), N = c(B), F = c(N);
-  we(F, () => l.clients.branding.descFullCss), d(N);
+  } }), d(x), d(h);
+  var O = a(h, 2), N = c(O), z = c(N);
+  we(z, () => l.clients.branding.descFullCss), d(N);
   var E = a(N, 2);
-  De(E, { label: "--btn-text", get inputWidth() {
-    return e.inputWidth;
-  }, get value() {
+  je(E, { label: "--btn-text", get value() {
     return r().btn_text;
   }, set value(o) {
     r(r().btn_text = o, true);
   } });
   var C = a(E, 2);
-  De(C, { label: "--theme-sun", get inputWidth() {
-    return e.inputWidth;
-  }, get value() {
+  je(C, { label: "--theme-sun", get value() {
     return r().theme_sun;
   }, set value(o) {
     r(r().theme_sun = o, true);
   } });
   var P = a(C, 2);
-  De(P, { label: "--theme-moon", get inputWidth() {
-    return e.inputWidth;
-  }, get value() {
+  je(P, { label: "--theme-moon", get value() {
     return r().theme_moon;
   }, set value(o) {
     r(r().theme_moon = o, true);
-  } }), d(B), d(v), j(() => I(g, l.clients.branding.descHsl)), u(U, v), ae();
+  } }), d(O), d(v), D(() => I(m, l.clients.branding.descHsl)), u(U, v), ae();
 }
-var Fr = (U) => U.preventDefault(), zr = D('<div aria-label="Preview: All components inside are only for theme and colors preview and have no effect or interaction"><div class="inner svelte-fkmn75"><div class="container svelte-fkmn75"><div class="logo svelte-fkmn75"><img alt="Client Logo"></div> <h3 class="svelte-fkmn75">Header</h3> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam</p> <p><span class="svelte-fkmn75">--accent-color</span></p> <!> <div class="btn svelte-fkmn75"><div class="svelte-fkmn75"><!> <br> <!> <br> <!> <br></div> <div class="svelte-fkmn75"><!> <br> <!> <br> <!></div></div> <a>Link</a> <br> <!></div></div></div>');
+var zr = (U) => U.preventDefault(), Hr = j('<div aria-label="Preview: All components inside are only for theme and colors preview and have no effect or interaction"><div class="inner svelte-fkmn75"><div class="container svelte-fkmn75"><div class="logo svelte-fkmn75"><img alt="Client Logo"></div> <h3 class="svelte-fkmn75">Header</h3> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam</p> <p><span class="svelte-fkmn75">--accent-color</span></p> <!> <div class="btn svelte-fkmn75"><div class="svelte-fkmn75"><!> <br> <!> <br> <!> <br></div> <div class="svelte-fkmn75"><!> <br> <!> <br> <!></div></div> <a>Link</a> <br> <!></div></div></div>');
 function It(U, e) {
   re(e, true);
   let r = L(false);
-  _e(() => {
+  he(() => {
     t(r) && setTimeout(() => {
       s(r, false);
     }, 2e3);
   });
-  var l = zr(), v = c(l), f = c(v), g = c(f), _ = c(g);
-  d(g);
-  var b = a(g, 8);
+  var l = Hr(), v = c(l), f = c(v), m = c(f), h = c(m);
+  d(m);
+  var b = a(m, 8);
   fe(b, { label: "Preview", placeholder: "Preview", width: "12.5rem" });
-  var m = a(b, 2), h = c(m), k = c(h);
+  var g = a(b, 2), _ = c(g), k = c(_);
   se(k, { level: 1, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
   }, $$slots: { default: true } });
@@ -881,7 +873,7 @@ function It(U, e) {
   se(R, { level: 2, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
   }, $$slots: { default: true } });
@@ -889,15 +881,15 @@ function It(U, e) {
   se(x, { level: 3, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
-  }, $$slots: { default: true } }), z(2), d(h);
-  var w = a(h, 2), y = c(w);
+  }, $$slots: { default: true } }), H(2), d(_);
+  var w = a(_, 2), y = c(w);
   se(y, { level: -1, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
   }, $$slots: { default: true } });
@@ -905,48 +897,48 @@ function It(U, e) {
   se(S, { level: -2, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
   }, $$slots: { default: true } });
-  var B = a(S, 4);
-  se(B, { level: -3, get isLoading() {
+  var O = a(S, 4);
+  se(O, { level: -3, get isLoading() {
     return t(r);
   }, onclick: () => s(r, true), children: (E, C) => {
-    z();
+    H();
     var P = J("Button");
     u(E, P);
-  }, $$slots: { default: true } }), d(w), d(m);
-  var N = a(m, 2);
-  W(N, "href", window.location.href), N.__click = [Fr];
-  var F = a(N, 4);
-  ur(F, {}), d(f), d(v), d(l), j((E, C, P, o, p, Q, A) => {
-    H(l, "--border-radius", e.borderRadius), H(l, "--text", E), H(l, "--text-high", C), H(l, "--bg", P), H(l, "--bg-high", o), H(l, "--action", p), H(l, "--accent", Q), H(l, "--error", A), H(l, "--btn-text", e.theme.btn_text), H(l, "--theme-sun", e.theme.theme_sun), H(l, "--theme-moon", e.theme.theme_moon), W(_, "src", e.logoUrl);
+  }, $$slots: { default: true } }), d(w), d(g);
+  var N = a(g, 2);
+  F(N, "href", window.location.href), N.__click = [zr];
+  var z = a(N, 4);
+  ur(z, {}), d(f), d(v), d(l), D((E, C, P, o, p, Q, A) => {
+    K(l, "--border-radius", e.borderRadius), K(l, "--text", E), K(l, "--text-high", C), K(l, "--bg", P), K(l, "--bg-high", o), K(l, "--action", p), K(l, "--accent", Q), K(l, "--error", A), K(l, "--btn-text", e.theme.btn_text), K(l, "--theme-sun", e.theme.theme_sun), K(l, "--theme-moon", e.theme.theme_moon), F(h, "src", e.logoUrl);
   }, [() => e.theme.text.join(" "), () => e.theme.text_high.join(" "), () => e.theme.bg.join(" "), () => e.theme.bg_high.join(" "), () => e.theme.action.join(" "), () => e.theme.accent.join(" "), () => e.theme.error.join(" ")]), u(U, l), ae();
 }
-Fe(["click"]);
-var Hr = D('<div><h2>Preview</h2> <!> <div class="preview svelte-1nlq99j"><!></div></div>');
-function Kr(U, e) {
+ze(["click"]);
+var Kr = j('<div><h2>Preview</h2> <!> <div class="preview svelte-1nlq99j"><!></div></div>');
+function Vr(U, e) {
   re(e, true);
   let r = ["Light Theme", "Dark Theme"], l = L(i(r[0]));
-  var v = Hr(), f = a(c(v), 2);
+  var v = Kr(), f = a(c(v), 2);
   Ut(f, { tabs: r, center: true, get selected() {
     return t(l);
-  }, set selected(h) {
-    s(l, i(h));
+  }, set selected(_) {
+    s(l, i(_));
   } });
-  var g = a(f, 2), _ = c(g);
+  var m = a(f, 2), h = c(m);
   {
-    var b = (h) => {
-      It(h, { get logoUrl() {
+    var b = (_) => {
+      It(_, { get logoUrl() {
         return e.logoUrl;
       }, get borderRadius() {
         return e.theme.border_radius;
       }, get theme() {
         return e.theme.light;
       } });
-    }, m = (h) => {
-      It(h, { get logoUrl() {
+    }, g = (_) => {
+      It(_, { get logoUrl() {
         return e.logoUrl;
       }, get borderRadius() {
         return e.theme.border_radius;
@@ -954,151 +946,151 @@ function Kr(U, e) {
         return e.theme.dark;
       } });
     };
-    ee(_, (h) => {
-      t(l) === r[0] ? h(b) : h(m, false);
+    ee(h, (_) => {
+      t(l) === r[0] ? _(b) : _(g, false);
     });
   }
-  d(g), d(v), u(U, v), ae();
+  d(m), d(v), u(U, v), ae();
 }
-var Vr = D('<div class="err"> </div>'), Gr = D('<div class="values svelte-1pkqupw"><p><!></p> <!> <h1>Light Theme</h1> <!> <br> <h1>Dark Theme</h1> <!></div> <div class="preview"><!> <hr> <p>Logo Upload</p> <!> <div class="buttons svelte-1pkqupw"><!> <!> <!></div> <!></div>', 1), Jr = D('<div class="container svelte-1pkqupw"><!></div>');
+var Wr = j('<div class="err"> </div>'), Gr = j('<div class="values svelte-1pkqupw"><p><!></p> <!> <h1>Light Theme</h1> <!> <br> <h1>Dark Theme</h1> <!></div> <div class="preview"><!> <hr> <p>Logo Upload</p> <!> <div class="buttons svelte-1pkqupw"><!> <!> <!></div> <!></div>', 1), Jr = j('<div class="container svelte-1pkqupw"><!></div>');
 function Qr(U, e) {
   re(e, true);
   const r = "13rem";
-  let l = xe(), v = ge(), f = L(false), g = L(""), _ = L(void 0), b = L(i(ke())), m = he(() => `/auth/v1/clients/${e.client.id}/logo?${t(b)}`), h = he(() => `/auth/v1/theme/${e.client.id}`);
-  _e(() => {
+  let l = xe(), v = me(), f = L(false), m = L(""), h = L(void 0), b = L(i(ke())), g = _e(() => `/auth/v1/clients/${e.client.id}/logo?${t(b)}`), _ = _e(() => `/auth/v1/theme/${e.client.id}`);
+  he(() => {
     k();
   });
   async function k() {
     var _a;
-    let y = await ze(t(h));
-    y.body ? (y.body.client_id === "rauthy" && console.log("using Rauthy default scheme"), s(_, i(y.body))) : s(g, i(((_a = y.error) == null ? void 0 : _a.message) || "Error"));
+    let y = await He(t(_));
+    y.body ? (y.body.client_id === "rauthy" && console.log("using Rauthy default scheme"), s(h, i(y.body))) : s(m, i(((_a = y.error) == null ? void 0 : _a.message) || "Error"));
   }
   async function R(y, S) {
-    if (!t(_)) {
+    if (!t(h)) {
       console.error("theme is undefined");
       return;
     }
-    let B = t(_);
-    B.client_id = e.client.id;
-    let N = await He(t(h), B);
-    N.error ? s(g, i(N.error.message)) : (s(f, true), setTimeout(() => {
+    let O = t(h);
+    O.client_id = e.client.id;
+    let N = await Ke(t(_), O);
+    N.error ? s(m, i(N.error.message)) : (s(f, true), setTimeout(() => {
       s(f, false);
     }, 2e3));
   }
   async function x() {
-    let y = await Rt(t(h));
-    y.error ? s(g, i(y.error.message)) : (await k(), s(f, true), setTimeout(() => {
+    let y = await Rt(t(_));
+    y.error ? s(m, i(y.error.message)) : (await k(), s(f, true), setTimeout(() => {
       s(f, false);
     }, 2e3));
   }
   async function w() {
     s(b, i(ke()));
   }
-  Ke(U, { get action() {
-    return t(h);
+  Ve(U, { get action() {
+    return t(_);
   }, onSubmit: R, children: (y, S) => {
-    var B = Jr(), N = c(B);
+    var O = Jr(), N = c(O);
     {
-      var F = (E) => {
+      var z = (E) => {
         var C = Gr(), P = te(C), o = c(P), p = c(o);
         we(p, () => v.clients.branding.descVariables), d(o);
         var Q = a(o, 2);
         fe(Q, { label: "--border-radius", placeholder: "--border-radius", get errMsg() {
           return v.validation.css;
         }, width: r, required: true, pattern: Et, get value() {
-          return t(_).border_radius;
-        }, set value(O) {
-          t(_).border_radius = O;
+          return t(h).border_radius;
+        }, set value(q) {
+          t(h).border_radius = q;
         } });
         var A = a(Q, 4);
-        Tt(A, { inputWidth: r, get values() {
-          return t(_).light;
-        }, set values(O) {
-          t(_).light = O;
+        Tt(A, { get values() {
+          return t(h).light;
+        }, set values(q) {
+          t(h).light = q;
         } });
         var M = a(A, 6);
-        Tt(M, { inputWidth: r, get values() {
-          return t(_).dark;
-        }, set values(O) {
-          t(_).dark = O;
+        Tt(M, { get values() {
+          return t(h).dark;
+        }, set values(q) {
+          t(h).dark = q;
         } }), d(P);
-        var K = a(P, 2), V = c(K);
-        vr(V, () => t(b), (O) => {
-          Kr(O, { get logoUrl() {
-            return t(m);
+        var V = a(P, 2), W = c(V);
+        vr(W, () => t(b), (q) => {
+          Vr(q, { get logoUrl() {
+            return t(g);
           }, get theme() {
-            return t(_);
+            return t(h);
           } });
         });
-        var G = a(V, 6);
-        const le = he(() => `/auth/v1/clients/${e.client.id}/logo`);
+        var G = a(W, 6);
+        const le = _e(() => `/auth/v1/clients/${e.client.id}/logo`);
         fr(G, { method: "PUT", get url() {
           return t(le);
         }, fileName: "logo", onSuccess: w });
-        var Z = a(G, 2), q = c(Z);
-        se(q, { type: "submit", children: (O, ne) => {
-          z();
+        var $ = a(G, 2), B = c($);
+        se(B, { type: "submit", children: (q, ne) => {
+          H();
           var ce = J();
-          j(() => I(ce, l.common.save)), u(O, ce);
+          D(() => I(ce, l.common.save)), u(q, ce);
         }, $$slots: { default: true } });
-        var X = a(q, 2);
-        se(X, { level: -2, onclick: x, children: (O, ne) => {
-          z();
+        var X = a(B, 2);
+        se(X, { level: -2, onclick: x, children: (q, ne) => {
+          H();
           var ce = J();
-          j(() => I(ce, v.common.reset)), u(O, ce);
+          D(() => I(ce, v.common.reset)), u(q, ce);
         }, $$slots: { default: true } });
         var ue = a(X, 2);
         {
-          var oe = (O) => {
-            Nt(O, {});
+          var oe = (q) => {
+            Nt(q, {});
           };
-          ee(ue, (O) => {
-            t(f) && O(oe);
+          ee(ue, (q) => {
+            t(f) && q(oe);
           });
         }
-        d(Z);
-        var de = a(Z, 2);
+        d($);
+        var de = a($, 2);
         {
-          var ie = (O) => {
-            var ne = Vr(), ce = c(ne, true);
-            d(ne), j(() => I(ce, t(g))), u(O, ne);
+          var ie = (q) => {
+            var ne = Wr(), ce = c(ne, true);
+            d(ne), D(() => I(ce, t(m))), u(q, ne);
           };
-          ee(de, (O) => {
-            t(g) && O(ie);
+          ee(de, (q) => {
+            t(m) && q(ie);
           });
         }
-        d(K), u(E, C);
+        d(V), u(E, C);
       };
       ee(N, (E) => {
-        t(_) && E(F);
+        t(h) && E(z);
       });
     }
-    d(B), u(y, B);
+    d(O), u(y, O);
   }, $$slots: { default: true } }), ae();
 }
-var Xr = D('<div class="flex"><!></div> <div class="details"><!></div>', 1);
+var Xr = j('<div class="flex"><!></div> <div class="details"><!></div>', 1);
 function Yr(U, e) {
   re(e, true);
-  let r = xe(), l = ge();
+  let r = xe(), l = me();
   const v = [l.nav.config, "Secret", "Branding", r.common.delete];
-  let f = L(i(v[0])), g = L(void 0);
-  _e(() => {
+  let f = L(i(v[0])), m = L(void 0);
+  he(() => {
     e.client.id && requestAnimationFrame(() => {
       var _a;
-      (_a = t(g)) == null ? void 0 : _a();
+      (_a = t(m)) == null ? void 0 : _a();
     });
   });
-  var _ = Xr(), b = te(_), m = c(b);
-  Ut(m, { tabs: v, get selected() {
+  var h = Xr(), b = te(h), g = c(b);
+  Ut(g, { tabs: v, get selected() {
     return t(f);
   }, set selected(w) {
     s(f, i(w));
   }, get focusFirst() {
-    return t(g);
+    return t(m);
   }, set focusFirst(w) {
-    s(g, i(w));
+    s(m, i(w));
   } }), d(b);
-  var h = a(b, 2), k = c(h);
+  var _ = a(b, 2), k = c(_);
   {
     var R = (w) => {
       Rr(w, { get client() {
@@ -1113,11 +1105,11 @@ function Yr(U, e) {
     }, x = (w) => {
       var y = Pe(), S = te(y);
       {
-        var B = (F) => {
-          Mr(F, { get client() {
+        var O = (z) => {
+          Mr(z, { get client() {
             return e.client;
           } });
-        }, N = (F) => {
+        }, N = (z) => {
           var E = Pe(), C = te(E);
           {
             var P = (p) => {
@@ -1127,15 +1119,15 @@ function Yr(U, e) {
             }, o = (p) => {
               var Q = Pe(), A = te(Q);
               {
-                var M = (K) => {
-                  qr(K, { get client() {
+                var M = (V) => {
+                  Br(V, { get client() {
                     return e.client;
                   }, get onSave() {
                     return e.onSave;
                   } });
                 };
-                ee(A, (K) => {
-                  t(f) === r.common.delete && K(M);
+                ee(A, (V) => {
+                  t(f) === r.common.delete && V(M);
                 }, true);
               }
               u(p, Q);
@@ -1144,10 +1136,10 @@ function Yr(U, e) {
               t(f) === "Branding" ? p(P) : p(o, false);
             }, true);
           }
-          u(F, E);
+          u(z, E);
         };
-        ee(S, (F) => {
-          t(f) === "Secret" ? F(B) : F(N, false);
+        ee(S, (z) => {
+          t(f) === "Secret" ? z(O) : z(N, false);
         }, true);
       }
       u(w, y);
@@ -1156,22 +1148,22 @@ function Yr(U, e) {
       t(f) === l.nav.config ? w(R) : w(x, false);
     });
   }
-  d(h), u(U, _), ae();
+  d(_), u(U, h), ae();
 }
-var Zr = D("<div></div> <!>", 1), $r = D("<!> <!>", 1), ea = D('<div class="err"> </div>'), ta = D('<!> <div id="groups"><!></div>', 1), ra = D("<!> <!>", 1);
+var Zr = j("<div></div> <!>", 1), $r = j("<!> <!>", 1), ea = j('<div class="err"> </div>'), ta = j('<!> <div id="groups"><!></div>', 1), ra = j("<!> <!>", 1);
 function aa(U, e) {
   re(e, true);
-  let r = L(void 0), l = L(""), v = L(i([])), f = L(i([])), g = L(void 0), _ = ir("cid"), b = L(i([]));
-  const m = ["ID"];
-  let h = L(i(m[0])), k = L("");
+  let r = L(void 0), l = L(""), v = L(i([])), f = L(i([])), m = L(void 0), h = ir("cid"), b = L(i([]));
+  const g = ["ID"];
+  let _ = L(i(g[0])), k = L("");
   const R = ["ID"];
   Yt(() => {
     x(), w();
-  }), _e(() => {
-    s(g, i(t(v).find((C) => C.id === _.get())));
-  }), _e(() => {
+  }), he(() => {
+    s(m, i(t(v).find((C) => C.id === h.get())));
+  }), he(() => {
     let C = t(k).toLowerCase();
-    C ? t(h) === m[0] && s(f, i(t(v).filter((P) => P.id.toLowerCase().includes(C)))) : s(f, i(t(v)));
+    C ? t(_) === g[0] && s(f, i(t(v).filter((P) => P.id.toLowerCase().includes(C)))) : s(f, i(t(v)));
   });
   async function x() {
     var _a;
@@ -1190,83 +1182,83 @@ function aa(U, e) {
   function S() {
     x();
   }
-  async function B(C) {
+  async function O(C) {
     var _a;
-    (_a = t(r)) == null ? void 0 : _a(), await x(), _.set(C);
+    (_a = t(r)) == null ? void 0 : _a(), await x(), h.set(C);
   }
-  var N = ra(), F = te(N);
-  ar(F, { paddingTop: "2.1rem", buttonTilesAriaControls: "groups", width: "min(20rem, 100dvw)", thresholdNavSub: 700, buttonTiles: (P) => {
+  var N = ra(), z = te(N);
+  ar(z, { paddingTop: "2.1rem", buttonTilesAriaControls: "groups", width: "min(20rem, 100dvw)", thresholdNavSub: 700, buttonTiles: (P) => {
     var o = Zr(), p = te(o);
-    H(p, "height", ".5rem");
+    K(p, "height", ".5rem");
     var Q = a(p, 2);
-    We(Q, 17, () => t(f), (A) => A.id, (A, M, K, V) => {
-      const G = he(() => _.get() === t(M).id);
-      rr(A, { onclick: () => _.set(t(M).id), get selected() {
+    Fe(Q, 17, () => t(f), (A) => A.id, (A, M, V, W) => {
+      const G = _e(() => h.get() === t(M).id);
+      rr(A, { onclick: () => h.set(t(M).id), get selected() {
         return t(G);
-      }, children: (le, Z) => {
-        z();
-        var q = J();
-        j(() => I(q, t(M).id)), u(le, q);
+      }, children: (le, $) => {
+        H();
+        var B = J();
+        D(() => I(B, t(M).id)), u(le, B);
       } });
     }), u(P, o);
   }, children: (P, o) => {
     var p = $r(), Q = te(p);
-    const A = he(() => t(v).length === 0 ? 1 : 2);
+    const A = _e(() => t(v).length === 0 ? 1 : 2);
     er(Q, { get level() {
       return t(A);
     }, alignRight: true, get closeModal() {
       return t(r);
-    }, set closeModal(K) {
-      s(r, i(K));
-    }, children: (K, V) => {
-      Lr(K, { onSave: B, get clients() {
+    }, set closeModal(V) {
+      s(r, i(V));
+    }, children: (V, W) => {
+      Lr(V, { onSave: O, get clients() {
         return t(v);
       } });
     }, $$slots: { default: true } });
     var M = a(Q, 2);
-    lr(M, { searchOptions: m, orderOptions: R, onChangeOrder: y, searchWidth: "min(19.5rem, 100dvw - .5rem)", get searchOption() {
-      return t(h);
-    }, set searchOption(K) {
-      s(h, i(K));
+    lr(M, { searchOptions: g, orderOptions: R, onChangeOrder: y, searchWidth: "min(19.5rem, 100dvw - .5rem)", get searchOption() {
+      return t(_);
+    }, set searchOption(V) {
+      s(_, i(V));
     }, get value() {
       return t(k);
-    }, set value(K) {
-      s(k, i(K));
+    }, set value(V) {
+      s(k, i(V));
     } }), u(P, p);
   }, $$slots: { buttonTiles: true, default: true } });
-  var E = a(F, 2);
+  var E = a(z, 2);
   tr(E, { children: (C, P) => {
     var o = ta(), p = te(o);
     {
-      var Q = (V) => {
+      var Q = (W) => {
         var G = ea(), le = c(G, true);
-        d(G), j(() => I(le, t(l))), u(V, G);
+        d(G), D(() => I(le, t(l))), u(W, G);
       };
-      ee(p, (V) => {
-        t(l) && V(Q);
+      ee(p, (W) => {
+        t(l) && W(Q);
       });
     }
     var A = a(p, 2), M = c(A);
     {
-      var K = (V) => {
-        Yr(V, { get client() {
-          return t(g);
+      var V = (W) => {
+        Yr(W, { get client() {
+          return t(m);
         }, get clients() {
           return t(v);
         }, get scopesAll() {
           return t(b);
         }, onSave: S });
       };
-      ee(M, (V) => {
-        t(g) && V(K);
+      ee(M, (W) => {
+        t(m) && W(V);
       });
     }
     d(A), u(C, o);
   } }), u(U, N), ae();
 }
-function Da(U) {
+function ja(U) {
   aa(U, {});
 }
 export {
-  Da as component
+  ja as component
 };
diff --git a/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.br b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.br
new file mode 100644
index 00000000..d86c98fe
Binary files /dev/null and b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.br differ
diff --git a/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.gz b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.gz
new file mode 100644
index 00000000..25f2e9b1
Binary files /dev/null and b/static/v1/_app/immutable/nodes/10.C1VGQkoE.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/10.CnduoM83.js.br b/static/v1/_app/immutable/nodes/10.CnduoM83.js.br
deleted file mode 100644
index 107a0dad..00000000
Binary files a/static/v1/_app/immutable/nodes/10.CnduoM83.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/10.CnduoM83.js.gz b/static/v1/_app/immutable/nodes/10.CnduoM83.js.gz
deleted file mode 100644
index c49c17f4..00000000
Binary files a/static/v1/_app/immutable/nodes/10.CnduoM83.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/11.B1vrRScS.js.br b/static/v1/_app/immutable/nodes/11.B1vrRScS.js.br
deleted file mode 100644
index d8fbbc5c..00000000
Binary files a/static/v1/_app/immutable/nodes/11.B1vrRScS.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/11.B1vrRScS.js.gz b/static/v1/_app/immutable/nodes/11.B1vrRScS.js.gz
deleted file mode 100644
index 09607eaf..00000000
Binary files a/static/v1/_app/immutable/nodes/11.B1vrRScS.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/11.B1vrRScS.js b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js
similarity index 98%
rename from static/v1/_app/immutable/nodes/11.B1vrRScS.js
rename to static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js
index 93b09723..793319bd 100644
--- a/static/v1/_app/immutable/nodes/11.B1vrRScS.js
+++ b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js
@@ -8,9 +8,9 @@ import { a as zt } from "../chunks/7lxiEjMQ.js";
 import { B as Lt } from "../chunks/DMkkW5Nn.js";
 import { e as St, i as Dt } from "../chunks/BpWRzPRQ.js";
 import { u as dt } from "../chunks/D8mHI_K9.js";
-import { I as st } from "../chunks/DmeAqnkr.js";
-import { F as Ft } from "../chunks/CqS1e6KT.js";
-import { b as Ut, f as jt } from "../chunks/bbkAiDd0.js";
+import { I as st } from "../chunks/BtKnbFDH.js";
+import { F as Ft } from "../chunks/BS0DIDHc.js";
+import { b as Ut, f as jt } from "../chunks/CBGoQiUs.js";
 var qt = P('<div class="row svelte-1v63e3g"><div class="svelte-1v63e3g"> </div> <div class="svelte-1v63e3g"> </div> <div class="svelte-1v63e3g"> </div> <div class="svelte-1v63e3g"> </div></div>'), Et = P('<div><div class="row header font-label svelte-1v63e3g"><div class="svelte-1v63e3g"> </div> <div class="svelte-1v63e3g">t_cost</div> <div class="svelte-1v63e3g">m_cost</div> <div class="svelte-1v63e3g">p_cost</div></div> <!> <div style="height: 1.5rem"></div></div>');
 function Gt(A, $) {
   ot($, true);
diff --git a/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.br b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.br
new file mode 100644
index 00000000..c55d59d6
Binary files /dev/null and b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.br differ
diff --git a/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.gz b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.gz
new file mode 100644
index 00000000..2e319d62
Binary files /dev/null and b/static/v1/_app/immutable/nodes/11.ZzVIsU4Z.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/12.hK114voq.js b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js
similarity index 61%
rename from static/v1/_app/immutable/nodes/12.hK114voq.js
rename to static/v1/_app/immutable/nodes/12.bvFGcIW1.js
index ffb4b4da..eecc8ffc 100644
--- a/static/v1/_app/immutable/nodes/12.hK114voq.js
+++ b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js
@@ -1,31 +1,31 @@
 import { t as B, a as u, e as Y } from "../chunks/BH6NCLk-.js";
-import { p as Z, k as l, a5 as ee, f as te, t as y, a as ae, s as a, c as r, l as s, r as t, j as i, a7 as re } from "../chunks/CvlvO1XB.js";
+import { p as Z, k as v, a5 as ee, f as te, t as y, a as ae, s as a, c as r, l as s, r as t, j as i, a7 as re } from "../chunks/CvlvO1XB.js";
 import { s as o } from "../chunks/CTI4QPiR.js";
 import { i as G } from "../chunks/BUO_AUgz.js";
 import { e as se, i as oe } from "../chunks/BpWRzPRQ.js";
-import { p as v } from "../chunks/Wh68IIk2.js";
+import { p as l } from "../chunks/Wh68IIk2.js";
 import { B as ie } from "../chunks/DMkkW5Nn.js";
 import { I as ne } from "../chunks/Nks81rMs.js";
-import { f as pe, b as ce } from "../chunks/bbkAiDd0.js";
-import { u as ve } from "../chunks/D8mHI_K9.js";
-import { O as le } from "../chunks/CGniv4pe.js";
-var me = B('<li class="font-mono"> </li>'), de = B('<div class="err"> </div>'), fe = B('<h3> </h3> <p> </p> <p> </p> <p><span class="font-label"> </span> <span class="active font-mono svelte-lxghyr"> </span></p> <p> </p> <ul></ul> <p> </p> <p> </p> <!> <div class="btn svelte-lxghyr"><!></div> <!> <!>', 1);
+import { f as pe, b as ce } from "../chunks/CBGoQiUs.js";
+import { u as le } from "../chunks/D8mHI_K9.js";
+import { O as ve } from "../chunks/BHnvQvwL.js";
+var me = B('<li class="font-mono"> </li>'), fe = B('<div class="err"> </div>'), de = B('<h3> </h3> <p> </p> <p> </p> <p><span class="font-label"> </span> <span class="active font-mono svelte-lxghyr"> </span></p> <p> </p> <ul></ul> <p> </p> <p> </p> <!> <div class="btn flex gap-05 svelte-lxghyr"><!> <!></div> <!>', 1);
 function ue(_, M) {
   Z(M, true);
-  let n = ve(), m = l(""), d = l(true), E = l(""), f = l(""), g = l(v([])), x = l(false);
+  let n = le(), m = v(""), f = v(true), E = v(""), d = v(""), g = v(l([])), x = v(false);
   ee(async () => {
     var _a;
     let e = await pe("/auth/v1/encryption/keys");
-    e.body ? (s(g, v(e.body.keys)), s(E, v(e.body.active)), s(f, v(e.body.active))) : s(m, v(((_a = e.error) == null ? void 0 : _a.message) || "Error")), s(d, false);
+    e.body ? (s(g, l(e.body.keys)), s(E, l(e.body.active)), s(d, l(e.body.active))) : s(m, l(((_a = e.error) == null ? void 0 : _a.message) || "Error")), s(f, false);
   });
   async function q() {
-    s(d, true);
-    let e = { key_id: i(f) }, p = await ce("/auth/v1/encryption/migrate", e);
-    p.error ? s(m, v(p.error.message)) : (s(x, true), setTimeout(() => {
+    s(f, true);
+    let e = { key_id: i(d) }, p = await ce("/auth/v1/encryption/migrate", e);
+    p.error ? s(m, l(p.error.message)) : (s(x, true), setTimeout(() => {
       s(x, false);
-    }, 4e3)), s(d, false);
+    }, 4e3)), s(f, false);
   }
-  var O = fe(), h = te(O), z = r(h, true);
+  var O = de(), h = te(O), z = r(h, true);
   t(h);
   var K = a(h, 2), D = r(K, true);
   t(K);
@@ -47,40 +47,41 @@ function ue(_, M) {
   var T = a(L, 2), R = r(T);
   t(T);
   var j = a(T, 2);
-  le(j, { get ariaLabel() {
+  ve(j, { get ariaLabel() {
     return n.docs.encKeys.migrateToKey;
   }, get options() {
     return i(g);
   }, get value() {
-    return i(f);
+    return i(d);
   }, set value(e) {
-    s(f, v(e));
+    s(d, l(e));
   } });
-  var w = a(j, 2), S = r(w);
-  ie(S, { onclick: q, get isLoading() {
-    return i(d);
+  var w = a(j, 2), C = r(w);
+  ie(C, { onclick: q, get isLoading() {
+    return i(f);
   }, children: (e, p) => {
     re();
     var c = Y();
     y(() => o(c, n.docs.encKeys.migrate)), u(e, c);
-  }, $$slots: { default: true } }), t(w);
-  var C = a(w, 2);
+  }, $$slots: { default: true } });
+  var S = a(C, 2);
   {
     var U = (e) => {
-      var p = de(), c = r(p, true);
-      t(p), y(() => o(c, i(m))), u(e, p);
+      ne(e, {});
     };
-    G(C, (e) => {
-      i(m) && e(U);
+    G(S, (e) => {
+      i(x) && e(U);
     });
   }
-  var V = a(C, 2);
+  t(w);
+  var V = a(w, 2);
   {
     var W = (e) => {
-      ne(e, {});
+      var p = fe(), c = r(p, true);
+      t(p), y(() => o(c, i(m))), u(e, p);
     };
     G(V, (e) => {
-      i(x) && e(W);
+      i(m) && e(W);
     });
   }
   y(() => {
diff --git a/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.br b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.br
new file mode 100644
index 00000000..bb4529e9
Binary files /dev/null and b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.br differ
diff --git a/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.gz b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.gz
new file mode 100644
index 00000000..92b76f6b
Binary files /dev/null and b/static/v1/_app/immutable/nodes/12.bvFGcIW1.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/12.hK114voq.js.br b/static/v1/_app/immutable/nodes/12.hK114voq.js.br
deleted file mode 100644
index ea80b4bb..00000000
Binary files a/static/v1/_app/immutable/nodes/12.hK114voq.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/12.hK114voq.js.gz b/static/v1/_app/immutable/nodes/12.hK114voq.js.gz
deleted file mode 100644
index 39898b6a..00000000
Binary files a/static/v1/_app/immutable/nodes/12.hK114voq.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/13.CP36-xiu.js.br b/static/v1/_app/immutable/nodes/13.CP36-xiu.js.br
deleted file mode 100644
index 4ddaef74..00000000
Binary files a/static/v1/_app/immutable/nodes/13.CP36-xiu.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/13.CP36-xiu.js.gz b/static/v1/_app/immutable/nodes/13.CP36-xiu.js.gz
deleted file mode 100644
index 5e766db9..00000000
Binary files a/static/v1/_app/immutable/nodes/13.CP36-xiu.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/13.CP36-xiu.js b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js
similarity index 79%
rename from static/v1/_app/immutable/nodes/13.CP36-xiu.js
rename to static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js
index 56d2eb64..a5974d6b 100644
--- a/static/v1/_app/immutable/nodes/13.CP36-xiu.js
+++ b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js
@@ -5,15 +5,15 @@ import { i as h } from "../chunks/BUO_AUgz.js";
 import { e as ve } from "../chunks/BpWRzPRQ.js";
 import { p as I } from "../chunks/Wh68IIk2.js";
 import { B as de } from "../chunks/DMkkW5Nn.js";
-import { b as me, f as pe } from "../chunks/bbkAiDd0.js";
-import { E as ue } from "../chunks/BlGzyD-C.js";
+import { b as me, f as pe } from "../chunks/CBGoQiUs.js";
+import { E as ue } from "../chunks/CgRaCfAG.js";
 import { L as _ } from "../chunks/CE2_6siz.js";
 import { u as ce } from "../chunks/D8mHI_K9.js";
 import { I as fe } from "../chunks/Nks81rMs.js";
-var _e = y('<div class="font-mono"> </div>'), $e = y('<div class="n svelte-8tua2b"> </div>'), xe = y("<!> <!> <!> <!> <!> <!> <!>", 1), he = y('<div class="err"> </div>'), be = y('<h2>Json Web Keys</h2> <p> </p> <p> </p> <p> </p> <!> <div class="btn svelte-8tua2b"><!></div> <!> <!>', 1);
+var _e = y('<div class="font-mono"> </div>'), xe = y('<div class="n svelte-8tua2b"> </div>'), $e = y("<!> <!> <!> <!> <!> <!> <!>", 1), he = y('<div class="err"> </div>'), be = y('<h2>Json Web Keys</h2> <p> </p> <p> </p> <p> </p> <!> <div class="btn flex gap-05 svelte-8tua2b"><!> <!></div> <!>', 1);
 function ge(K, O) {
   ie(O, true);
-  let $ = ce(), D = k(I([])), L = k(false), b = k(""), C = k(false);
+  let x = ce(), D = k(I([])), L = k(false), b = k(""), C = k(false);
   le(() => {
     G();
   });
@@ -38,12 +38,12 @@ function ge(K, O) {
   var S = o(J, 2);
   ve(S, 17, () => a(D), (r) => r.kid, (r, t) => {
     ue(r, { summary: (A) => {
-      var x = _e(), P = u(x);
-      c(x), v(() => s(P, `${a(t).alg ?? ""}
+      var $ = _e(), P = u($);
+      c($), v(() => s(P, `${a(t).alg ?? ""}
                 /
-                ${a(t).kid ?? ""}`)), n(A, x);
+                ${a(t).kid ?? ""}`)), n(A, $);
     }, details: (A) => {
-      var x = xe(), P = N(x);
+      var $ = $e(), P = N($);
       _(P, { label: "Key ID", mono: true, children: (e, d) => {
         f();
         var i = p();
@@ -51,7 +51,7 @@ function ge(K, O) {
       } });
       var V = o(P, 2);
       _(V, { get label() {
-        return $.jwks.type;
+        return x.jwks.type;
       }, mono: true, children: (e, d) => {
         f();
         var i = p();
@@ -59,7 +59,7 @@ function ge(K, O) {
       } });
       var q = o(V, 2);
       _(q, { get label() {
-        return $.jwks.alg;
+        return x.jwks.alg;
       }, mono: true, children: (e, d) => {
         f();
         var i = p();
@@ -82,7 +82,7 @@ function ge(K, O) {
       {
         var re = (e) => {
           _(e, { label: "n", mono: true, children: (d, i) => {
-            var l = $e(), se = u(l, true);
+            var l = xe(), se = u(l, true);
             c(l), v(() => s(se, a(t).n)), n(d, l);
           } });
         };
@@ -116,27 +116,28 @@ function ge(K, O) {
           a(t).x && e(oe);
         });
       }
-      n(A, x);
+      n(A, $);
     }, $$slots: { summary: true, details: true } });
   });
-  var W = o(S, 2), Y = u(W);
-  de(Y, { onclick: Q, get isLoading() {
+  var W = o(S, 2), T = u(W);
+  de(T, { onclick: Q, get isLoading() {
     return a(L);
   }, children: (r, t) => {
     f();
     var g = p();
-    v(() => s(g, $.jwks.rotateKeys)), n(r, g);
-  }, $$slots: { default: true } }), c(W);
-  var T = o(W, 2);
+    v(() => s(g, x.jwks.rotateKeys)), n(r, g);
+  }, $$slots: { default: true } });
+  var Y = o(T, 2);
   {
     var Z = (r) => {
       fe(r, {});
     };
-    h(T, (r) => {
+    h(Y, (r) => {
       a(C) && r(Z);
     });
   }
-  var w = o(T, 2);
+  c(W);
+  var w = o(W, 2);
   {
     var j = (r) => {
       var t = he(), g = u(t, true);
@@ -147,7 +148,7 @@ function ge(K, O) {
     });
   }
   v(() => {
-    s(R, $.jwks.p1), s(U, $.jwks.p2), s(X, $.jwks.p3);
+    s(R, x.jwks.p1), s(U, x.jwks.p2), s(X, x.jwks.p3);
   }), n(K, M), ne();
 }
 function Ge(K) {
diff --git a/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.br b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.br
new file mode 100644
index 00000000..c5a1bd56
Binary files /dev/null and b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.br differ
diff --git a/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.gz b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.gz
new file mode 100644
index 00000000..1cb3a9f4
Binary files /dev/null and b/static/v1/_app/immutable/nodes/13.aQ-6-Mwy.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js
similarity index 52%
rename from static/v1/_app/immutable/nodes/14.mBGYP8i2.js
rename to static/v1/_app/immutable/nodes/14.B7ElQKvZ.js
index 0969f9ea..7c290995 100644
--- a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js
+++ b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js
@@ -1,21 +1,22 @@
-import { t as h, a as m, d as se, e as ie } from "../chunks/BH6NCLk-.js";
-import { p as ne, a5 as oe, f as q, t as w, a as de, s, l as c, k as B, c as n, r as o, j as e, a7 as ue } from "../chunks/CvlvO1XB.js";
-import { s as v } from "../chunks/CTI4QPiR.js";
-import { i as R } from "../chunks/BUO_AUgz.js";
+import { t as j, a as m, d as se, e as ne } from "../chunks/BH6NCLk-.js";
+import { p as oe, a5 as de, f as R, t as h, a as ue, s as i, l as c, k as S, c as s, r as n, j as e, a7 as ce } from "../chunks/CvlvO1XB.js";
+import { s as _ } from "../chunks/CTI4QPiR.js";
+import { i as T } from "../chunks/BUO_AUgz.js";
 import { p as J } from "../chunks/Wh68IIk2.js";
-import { B as ce } from "../chunks/DMkkW5Nn.js";
-import { I as d } from "../chunks/DmeAqnkr.js";
-import { f as pe, d as _e } from "../chunks/bbkAiDd0.js";
-import { F as me } from "../chunks/CqS1e6KT.js";
-import { u as ve } from "../chunks/D8mHI_K9.js";
-import { u as fe } from "../chunks/DOl8_ubJ.js";
-var ge = h('<div class="success svelte-maj8s4">Success</div>'), ye = h('<div class="err"> </div>'), we = h('<div class="row svelte-maj8s4"><!> <!></div> <div class="row svelte-maj8s4"><!> <!></div> <div class="row svelte-maj8s4"><!> <!></div> <p> <br> </p> <div class="row svelte-maj8s4"><!> <!></div> <!> <!> <!>', 1), he = h("<h2> </h2> <p> </p> <!>", 1);
-function xe(x, K) {
-  ne(K, true);
-  const i = "160px";
-  let r = fe(), f = ve(), p = B(""), P = B(false), t = B(void 0);
-  oe(async () => {
-    let u = await pe("/auth/v1/password_policy");
+import { B as pe } from "../chunks/DMkkW5Nn.js";
+import { I as d } from "../chunks/BtKnbFDH.js";
+import { f as _e, d as ve } from "../chunks/CBGoQiUs.js";
+import { F as me } from "../chunks/BS0DIDHc.js";
+import { u as fe } from "../chunks/D8mHI_K9.js";
+import { u as ge } from "../chunks/BQ1-pLIs.js";
+import { I as ye } from "../chunks/Nks81rMs.js";
+var he = j('<div class="err"> </div>'), we = j('<div class="row svelte-11d4h1"><!> <!></div> <div class="row svelte-11d4h1"><!> <!></div> <div class="row svelte-11d4h1"><!> <!></div> <p> <br> </p> <div class="row svelte-11d4h1"><!> <!></div> <div class="flex gap-05"><!> <!></div> <!>', 1), xe = j("<h2> </h2> <p> </p> <!>", 1);
+function Pe(w, K) {
+  oe(K, true);
+  const o = "160px";
+  let r = ge(), v = fe(), p = S(""), x = S(false), t = S(void 0);
+  de(async () => {
+    let u = await _e("/auth/v1/password_policy");
     if (u.body) {
       let l = u.body;
       l.include_lower_case || (l.include_lower_case = 0), l.include_upper_case || (l.include_upper_case = 0), l.include_digits || (l.include_digits = 0), l.include_special || (l.include_special = 0), l.not_recently_used || (l.not_recently_used = 0), l.valid_days || (l.valid_days = 0), c(t, J(l));
@@ -25,144 +26,144 @@ function xe(x, K) {
     if (c(p, ""), !e(t)) return;
     if (e(t).length_max < e(t).length_min) return c(p, "Max Length cannot be lower than Min Length"), false;
     if ((e(t).include_digits || 0) + (e(t).include_lower_case || 0) + (e(t).include_upper_case || 0) + (e(t).include_special || 0) > e(t).length_max) return c(p, "The sum of all includes does not fit into Max Length"), false;
-    let j = { length_min: e(t).length_min, length_max: e(t).length_max, not_recently_used: e(t).not_recently_used ? e(t).not_recently_used : void 0, valid_days: e(t).valid_days ? e(t).valid_days : void 0, include_digits: e(t).include_digits ? e(t).include_digits : void 0, include_lower_case: e(t).include_lower_case ? e(t).include_lower_case : void 0, include_upper_case: e(t).include_upper_case ? e(t).include_upper_case : void 0, include_special: e(t).include_special ? e(t).include_special : void 0 }, g = await _e(u.action, j);
-    g.error ? c(p, J(g.error.message)) : (c(P, true), setTimeout(() => {
-      c(P, false);
+    let $ = { length_min: e(t).length_min, length_max: e(t).length_max, not_recently_used: e(t).not_recently_used ? e(t).not_recently_used : void 0, valid_days: e(t).valid_days ? e(t).valid_days : void 0, include_digits: e(t).include_digits ? e(t).include_digits : void 0, include_lower_case: e(t).include_lower_case ? e(t).include_lower_case : void 0, include_upper_case: e(t).include_upper_case ? e(t).include_upper_case : void 0, include_special: e(t).include_special ? e(t).include_special : void 0 }, f = await ve(u.action, $);
+    f.error ? c(p, J(f.error.message)) : (c(x, true), setTimeout(() => {
+      c(x, false);
     }, 3e3));
   }
-  var T = he(), b = q(T), Q = n(b, true);
-  o(b);
-  var M = s(b, 2), U = n(M, true);
-  o(M);
-  var V = s(M, 2);
+  var A = xe(), P = R(A), Q = s(P, true);
+  n(P);
+  var b = i(P, 2), U = s(b, true);
+  n(b);
+  var V = i(b, 2);
   me(V, { action: "/auth/v1/password_policy", onSubmit: O, children: (u, l) => {
-    var $ = se(), j = q($);
+    var M = se(), $ = R(M);
     {
-      var g = (F) => {
-        var A = we(), I = q(A), G = n(I);
+      var f = (I) => {
+        var C = we(), F = R(C), G = s(F);
         d(G, { typ: "number", get label() {
           return r.passwordPolicy.lengthMin;
         }, get placeholder() {
           return r.passwordPolicy.lengthMin;
-        }, autocomplete: "off", min: "8", max: "128", required: true, width: i, get value() {
+        }, autocomplete: "off", min: "8", max: "128", required: true, width: o, get value() {
           return e(t).length_min;
         }, set value(a) {
           e(t).length_min = a;
         } });
-        var X = s(G, 2);
+        var X = i(G, 2);
         d(X, { typ: "number", get label() {
           return r.passwordPolicy.lengthMax;
         }, get placeholder() {
           return r.passwordPolicy.lengthMax;
-        }, autocomplete: "off", min: "8", max: "128", required: true, width: i, get value() {
+        }, autocomplete: "off", min: "8", max: "128", required: true, width: o, get value() {
           return e(t).length_max;
         }, set value(a) {
           e(t).length_max = a;
-        } }), o(I);
-        var D = s(I, 2), N = n(D);
+        } }), n(F);
+        var k = i(F, 2), N = s(k);
         d(N, { typ: "number", get label() {
           return r.passwordPolicy.lowercaseMin;
         }, get placeholder() {
           return r.passwordPolicy.lowercaseMin;
-        }, autocomplete: "off", min: "0", max: "32", width: i, get value() {
+        }, autocomplete: "off", min: "0", max: "32", width: o, get value() {
           return e(t).include_lower_case;
         }, set value(a) {
           e(t).include_lower_case = a;
         } });
-        var Y = s(N, 2);
+        var Y = i(N, 2);
         d(Y, { typ: "number", get label() {
           return r.passwordPolicy.uppercaseMin;
         }, get placeholder() {
           return r.passwordPolicy.uppercaseMin;
-        }, autocomplete: "off", min: "0", max: "32", width: i, get value() {
+        }, autocomplete: "off", min: "0", max: "32", width: o, get value() {
           return e(t).include_upper_case;
         }, set value(a) {
           e(t).include_upper_case = a;
-        } }), o(D);
-        var L = s(D, 2), W = n(L);
+        } }), n(k);
+        var D = i(k, 2), W = s(D);
         d(W, { typ: "number", get label() {
           return r.passwordPolicy.digitsMin;
         }, get placeholder() {
           return r.passwordPolicy.digitsMin;
-        }, autocomplete: "off", min: "0", max: "32", width: i, get value() {
+        }, autocomplete: "off", min: "0", max: "32", width: o, get value() {
           return e(t).include_digits;
         }, set value(a) {
           e(t).include_digits = a;
         } });
-        var Z = s(W, 2);
+        var Z = i(W, 2);
         d(Z, { typ: "number", get label() {
           return r.passwordPolicy.specialMin;
         }, get placeholder() {
           return r.passwordPolicy.specialMin;
-        }, autocomplete: "off", min: "0", max: "32", width: i, get value() {
+        }, autocomplete: "off", min: "0", max: "32", width: o, get value() {
           return e(t).include_special;
         }, set value(a) {
           e(t).include_special = a;
-        } }), o(L);
-        var S = s(L, 2), z = n(S, true), ee = s(z, 2);
-        o(S);
-        var k = s(S, 2), C = n(k);
-        d(C, { typ: "number", get label() {
+        } }), n(D);
+        var L = i(D, 2), z = s(L, true), ee = i(z, 2);
+        n(L);
+        var q = i(L, 2), E = s(q);
+        d(E, { typ: "number", get label() {
           return r.passwordPolicy.notRecent;
         }, get placeholder() {
           return r.passwordPolicy.notRecent;
-        }, autocomplete: "off", min: "0", max: "32", width: i, get value() {
+        }, autocomplete: "off", min: "0", max: "32", width: o, get value() {
           return e(t).not_recently_used;
         }, set value(a) {
           e(t).not_recently_used = a;
         } });
-        var te = s(C, 2);
+        var te = i(E, 2);
         d(te, { typ: "number", get label() {
-          return f.passwordPolicy.validForDays;
+          return v.passwordPolicy.validForDays;
         }, get placeholder() {
-          return f.passwordPolicy.validForDays;
-        }, autocomplete: "off", min: "0", max: "3650", width: i, get value() {
+          return v.passwordPolicy.validForDays;
+        }, autocomplete: "off", min: "0", max: "3650", width: o, get value() {
           return e(t).valid_days;
         }, set value(a) {
           e(t).valid_days = a;
-        } }), o(k);
-        var E = s(k, 2);
-        ce(E, { type: "submit", children: (a, _) => {
-          ue();
-          var y = ie();
-          w(() => v(y, r.common.save)), m(a, y);
+        } }), n(q);
+        var B = i(q, 2), H = s(B);
+        pe(H, { type: "submit", children: (a, g) => {
+          ce();
+          var y = ne();
+          h(() => _(y, r.common.save)), m(a, y);
         }, $$slots: { default: true } });
-        var H = s(E, 2);
+        var ae = i(H, 2);
         {
-          var ae = (a) => {
-            var _ = ge();
-            m(a, _);
+          var re = (a) => {
+            ye(a, {});
           };
-          R(H, (a) => {
-            e(P) && a(ae);
+          T(ae, (a) => {
+            e(x) && a(re);
           });
         }
-        var re = s(H, 2);
+        n(B);
+        var le = i(B, 2);
         {
-          var le = (a) => {
-            var _ = ye(), y = n(_, true);
-            o(_), w(() => v(y, e(p))), m(a, _);
+          var ie = (a) => {
+            var g = he(), y = s(g, true);
+            n(g), h(() => _(y, e(p))), m(a, g);
           };
-          R(re, (a) => {
-            e(p) && a(le);
+          T(le, (a) => {
+            e(p) && a(ie);
           });
         }
-        w(() => {
-          v(z, f.passwordPolicy.validityNew), v(ee, ` ${f.passwordPolicy.resetSet0 ?? ""}`);
-        }), m(F, A);
+        h(() => {
+          _(z, v.passwordPolicy.validityNew), _(ee, ` ${v.passwordPolicy.resetSet0 ?? ""}`);
+        }), m(I, C);
       };
-      R(j, (F) => {
-        e(t) && F(g);
+      T($, (I) => {
+        e(t) && I(f);
       });
     }
-    m(u, $);
-  }, $$slots: { default: true } }), w(() => {
-    v(Q, r.passwordPolicy.passwordPolicy), v(U, f.passwordPolicy.configDesc);
-  }), m(x, T), de();
+    m(u, M);
+  }, $$slots: { default: true } }), h(() => {
+    _(Q, r.passwordPolicy.passwordPolicy), _(U, v.passwordPolicy.configDesc);
+  }), m(w, A), ue();
 }
-function qe(x) {
-  xe(x, {});
+function Te(w) {
+  Pe(w, {});
 }
 export {
-  qe as component
+  Te as component
 };
diff --git a/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.br b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.br
new file mode 100644
index 00000000..2a18988e
Binary files /dev/null and b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.br differ
diff --git a/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.gz b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.gz
new file mode 100644
index 00000000..3e4498a3
Binary files /dev/null and b/static/v1/_app/immutable/nodes/14.B7ElQKvZ.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.br b/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.br
deleted file mode 100644
index 19053818..00000000
Binary files a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.gz b/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.gz
deleted file mode 100644
index 803e9e6b..00000000
Binary files a/static/v1/_app/immutable/nodes/14.mBGYP8i2.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js
similarity index 97%
rename from static/v1/_app/immutable/nodes/15.Dfk-tohD.js
rename to static/v1/_app/immutable/nodes/15.CiKtnmLi.js
index fafed270..ab9d329b 100644
--- a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js
+++ b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js
@@ -2,7 +2,7 @@ import { t as D, e as c, a as n } from "../chunks/BH6NCLk-.js";
 import { p as G, a as N, f as R, c as s, r as p, s as t, a7 as h, t as S } from "../chunks/CvlvO1XB.js";
 import { s as r } from "../chunks/CTI4QPiR.js";
 import { C as U } from "../chunks/BnPoFdx3.js";
-import { A as v } from "../chunks/B6SEzQuS.js";
+import { A as v } from "../chunks/gtHtP0A2.js";
 import { u as j } from "../chunks/D8mHI_K9.js";
 var q = D("<h1> </h1> <p> <!></p> <p> <!> <br> <b> </b> </p> <p> <!></p>", 1);
 function z(i, P) {
diff --git a/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.br b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.br
new file mode 100644
index 00000000..3ff049dc
Binary files /dev/null and b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.br differ
diff --git a/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.gz b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.gz
new file mode 100644
index 00000000..1e480292
Binary files /dev/null and b/static/v1/_app/immutable/nodes/15.CiKtnmLi.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.br b/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.br
deleted file mode 100644
index 89c980d5..00000000
Binary files a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.gz b/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.gz
deleted file mode 100644
index ca0d3262..00000000
Binary files a/static/v1/_app/immutable/nodes/15.Dfk-tohD.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js
similarity index 93%
rename from static/v1/_app/immutable/nodes/16.CkY-pDrg.js
rename to static/v1/_app/immutable/nodes/16.Bj87qz_1.js
index 62d54aca..839aa621 100644
--- a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js
+++ b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js
@@ -3,14 +3,14 @@ import { p as $, k as n, aa as S, a as ee, j as e, l, f as k, s as p, c as C, r
 import { i as te } from "../chunks/BUO_AUgz.js";
 import { e as re } from "../chunks/BpWRzPRQ.js";
 import { p as r } from "../chunks/Wh68IIk2.js";
-import { E as P, D as ae } from "../chunks/CGXT-546.js";
-import { E as se } from "../chunks/DbOz6XEk.js";
-import { b as ie } from "../chunks/bbkAiDd0.js";
-import { O as F } from "../chunks/CGniv4pe.js";
+import { E as P, D as ae } from "../chunks/BaE7H8ny.js";
+import { E as se } from "../chunks/cMKAIrmN.js";
+import { b as ie } from "../chunks/CBGoQiUs.js";
+import { O as F } from "../chunks/BHnvQvwL.js";
 import { u as le } from "../chunks/D8mHI_K9.js";
-import { I as j } from "../chunks/C3mvM0t4.js";
+import { I as j } from "../chunks/BrQ3ZRVw.js";
 import { f as oe, a as ne, b as B } from "../chunks/DswDW5U8.js";
-import { O as me } from "../chunks/DxrdFxfV.js";
+import { O as me } from "../chunks/CT2gdhvj.js";
 import { C as ve } from "../chunks/BnPoFdx3.js";
 var ue = R('<div class="row svelte-itq81i">No events found</div>'), pe = R('<!> <div class="row svelte-itq81i"><!> <!></div> <div class="filters svelte-itq81i"><div class="level svelte-itq81i"><!></div> <div class="typ svelte-itq81i"><!></div></div> <!>', 1);
 function fe(b, Y) {
diff --git a/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.br b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.br
new file mode 100644
index 00000000..a055d66e
Binary files /dev/null and b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.br differ
diff --git a/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.gz b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.gz
new file mode 100644
index 00000000..7c1113b7
Binary files /dev/null and b/static/v1/_app/immutable/nodes/16.Bj87qz_1.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.br b/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.br
deleted file mode 100644
index b6d54da6..00000000
Binary files a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.gz b/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.gz
deleted file mode 100644
index 9956c30b..00000000
Binary files a/static/v1/_app/immutable/nodes/16.CkY-pDrg.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.br b/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.br
deleted file mode 100644
index 6871d46c..00000000
Binary files a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.gz b/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.gz
deleted file mode 100644
index 9054027e..00000000
Binary files a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js
similarity index 95%
rename from static/v1/_app/immutable/nodes/17.DX2zLMxk.js
rename to static/v1/_app/immutable/nodes/17.Do-D-pk1.js
index d02da560..ba07163f 100644
--- a/static/v1/_app/immutable/nodes/17.DX2zLMxk.js
+++ b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js
@@ -6,17 +6,17 @@ import { e as se } from "../chunks/BpWRzPRQ.js";
 import { B as Y, a as ne } from "../chunks/DMkkW5Nn.js";
 import { p as n } from "../chunks/Wh68IIk2.js";
 import { u as J } from "../chunks/D8mHI_K9.js";
-import { B as ie } from "../chunks/BIsFWZ5z.js";
+import { B as ie } from "../chunks/dWvWuq1E.js";
 import { C as le } from "../chunks/BnPoFdx3.js";
 import { N as ue } from "../chunks/D-L0o8jR.js";
-import { N as de } from "../chunks/D3G2nKoD.js";
-import { O as me } from "../chunks/DxrdFxfV.js";
-import { b as ve, d as fe, c as ce, f as ge } from "../chunks/bbkAiDd0.js";
-import { u as pe } from "../chunks/D45liQ4S.js";
-import { I as ee } from "../chunks/DmeAqnkr.js";
+import { N as de } from "../chunks/DpcgKHU5.js";
+import { O as me } from "../chunks/CT2gdhvj.js";
+import { b as ve, d as fe, c as ce, f as ge } from "../chunks/CBGoQiUs.js";
+import { u as pe } from "../chunks/Beqa1JKV.js";
+import { I as ee } from "../chunks/BtKnbFDH.js";
 import { f as re } from "../chunks/BRCxk8by.js";
-import { F as te } from "../chunks/CqS1e6KT.js";
-import { u as K } from "../chunks/DOl8_ubJ.js";
+import { F as te } from "../chunks/BS0DIDHc.js";
+import { u as K } from "../chunks/BQ1-pLIs.js";
 import { T as _e } from "../chunks/_OE2Cq0B.js";
 import { I as he } from "../chunks/Nks81rMs.js";
 import { L as xe } from "../chunks/CE2_6siz.js";
diff --git a/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.br b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.br
new file mode 100644
index 00000000..5bf27d31
Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.br differ
diff --git a/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.gz b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.gz
new file mode 100644
index 00000000..cd6048ee
Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.Do-D-pk1.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.br b/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.br
deleted file mode 100644
index 3b934d18..00000000
Binary files a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.gz b/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.gz
deleted file mode 100644
index 202b4450..00000000
Binary files a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js
similarity index 98%
rename from static/v1/_app/immutable/nodes/18.CFV_AKwB.js
rename to static/v1/_app/immutable/nodes/18.Dr95mQh2.js
index 77afc225..53bb6585 100644
--- a/static/v1/_app/immutable/nodes/18.CFV_AKwB.js
+++ b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js
@@ -6,31 +6,31 @@ import { e as Et } from "../chunks/BpWRzPRQ.js";
 import { s as Je } from "../chunks/BMbqVy6X.js";
 import { a as ft, B as Be, t as Qe, s as Xe } from "../chunks/DMkkW5Nn.js";
 import { p as h } from "../chunks/Wh68IIk2.js";
-import { d as Ot, f as Vt, c as Wt, b as ct } from "../chunks/bbkAiDd0.js";
+import { d as Ot, f as Vt, c as Wt, b as ct } from "../chunks/CBGoQiUs.js";
 import { C as Yt } from "../chunks/BnPoFdx3.js";
-import { N as Jt } from "../chunks/D3G2nKoD.js";
-import { u as Ht } from "../chunks/D45liQ4S.js";
+import { N as Jt } from "../chunks/DpcgKHU5.js";
+import { u as Ht } from "../chunks/Beqa1JKV.js";
 import { N as Qt } from "../chunks/D-L0o8jR.js";
-import { B as Xt } from "../chunks/BIsFWZ5z.js";
+import { B as Xt } from "../chunks/dWvWuq1E.js";
 import { p as ut } from "../chunks/C6SR4G2t.js";
 import { k as Zt } from "../chunks/CaD2yKt4.js";
 import { h as $e } from "../chunks/i8Xqpu09.js";
-import { I as T } from "../chunks/DmeAqnkr.js";
+import { I as T } from "../chunks/BtKnbFDH.js";
 import { u as Ae } from "../chunks/D8mHI_K9.js";
-import { g as vt } from "../chunks/CGXT-546.js";
+import { g as vt } from "../chunks/BaE7H8ny.js";
 import { I as yt } from "../chunks/Nks81rMs.js";
 import { I as _t } from "../chunks/Cv55insy.js";
-import { I as Tt } from "../chunks/CLUUhKug.js";
-import { F as At } from "../chunks/CqS1e6KT.js";
-import { u as ht } from "../chunks/DOl8_ubJ.js";
+import { I as Tt } from "../chunks/D6E4lNPv.js";
+import { F as At } from "../chunks/BS0DIDHc.js";
+import { u as ht } from "../chunks/BQ1-pLIs.js";
 import { L as pt } from "../chunks/CE2_6siz.js";
 import { I as te } from "../chunks/DTR8xafZ.js";
 import { a as q, h as Lt, g as St, i as mt } from "../chunks/BRCxk8by.js";
-import { I as er } from "../chunks/yeyP9_ZL.js";
-import { E as tr } from "../chunks/BlGzyD-C.js";
+import { I as er } from "../chunks/Cog9no35.js";
+import { E as tr } from "../chunks/CgRaCfAG.js";
 import { T as rr } from "../chunks/_OE2Cq0B.js";
 import { C as It } from "../chunks/CS_Msctd.js";
-import { O as ar } from "../chunks/CGniv4pe.js";
+import { O as ar } from "../chunks/BHnvQvwL.js";
 var or = I('<div class="desc svelte-6fcb3i"><h4 class="svelte-6fcb3i">ID token claim mappings</h4> <p class="svelte-6fcb3i"> </p> <p class="svelte-6fcb3i"><!></p> <p class="svelte-6fcb3i"><!></p> <p class="svelte-6fcb3i"><!></p> <p class="svelte-6fcb3i"><!></p> <p class="svelte-6fcb3i"><!></p></div>');
 function Nt(O, N) {
   we(N, true);
diff --git a/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.br b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.br
new file mode 100644
index 00000000..b340bb52
Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.br differ
diff --git a/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.gz b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.gz
new file mode 100644
index 00000000..fb8e56fb
Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.Dr95mQh2.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.br b/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.br
deleted file mode 100644
index 45f2564d..00000000
Binary files a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.gz b/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.gz
deleted file mode 100644
index 77227d20..00000000
Binary files a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js
similarity index 96%
rename from static/v1/_app/immutable/nodes/19.Bl8K80iH.js
rename to static/v1/_app/immutable/nodes/19.Cqh14NfW.js
index 3f258215..e596369d 100644
--- a/static/v1/_app/immutable/nodes/19.Bl8K80iH.js
+++ b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js
@@ -6,17 +6,17 @@ import { e as se } from "../chunks/BpWRzPRQ.js";
 import { B as Y, a as le } from "../chunks/DMkkW5Nn.js";
 import { p as n } from "../chunks/Wh68IIk2.js";
 import { u as K } from "../chunks/D8mHI_K9.js";
-import { B as ie } from "../chunks/BIsFWZ5z.js";
+import { B as ie } from "../chunks/dWvWuq1E.js";
 import { C as de } from "../chunks/BnPoFdx3.js";
 import { N as ve } from "../chunks/D-L0o8jR.js";
-import { N as me } from "../chunks/D3G2nKoD.js";
-import { O as ue } from "../chunks/DxrdFxfV.js";
-import { b as fe, d as ce, c as _e, f as ge } from "../chunks/bbkAiDd0.js";
-import { u as he } from "../chunks/D45liQ4S.js";
-import { I as re } from "../chunks/DmeAqnkr.js";
+import { N as me } from "../chunks/DpcgKHU5.js";
+import { O as ue } from "../chunks/CT2gdhvj.js";
+import { b as fe, d as ce, c as _e, f as ge } from "../chunks/CBGoQiUs.js";
+import { u as he } from "../chunks/Beqa1JKV.js";
+import { I as re } from "../chunks/BtKnbFDH.js";
 import { f as te } from "../chunks/BRCxk8by.js";
-import { F as ae } from "../chunks/CqS1e6KT.js";
-import { u as Q } from "../chunks/DOl8_ubJ.js";
+import { F as ae } from "../chunks/BS0DIDHc.js";
+import { u as Q } from "../chunks/BQ1-pLIs.js";
 import { T as pe } from "../chunks/_OE2Cq0B.js";
 import { h as oe } from "../chunks/i8Xqpu09.js";
 import { I as be } from "../chunks/Nks81rMs.js";
diff --git a/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.br b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.br
new file mode 100644
index 00000000..4cb9620f
Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.br differ
diff --git a/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.gz b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.gz
new file mode 100644
index 00000000..a8712b74
Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.Cqh14NfW.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/2.B-zWphhB.js.br b/static/v1/_app/immutable/nodes/2.B-zWphhB.js.br
deleted file mode 100644
index 85171e20..00000000
Binary files a/static/v1/_app/immutable/nodes/2.B-zWphhB.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/2.B-zWphhB.js.gz b/static/v1/_app/immutable/nodes/2.B-zWphhB.js.gz
deleted file mode 100644
index 2c96893e..00000000
Binary files a/static/v1/_app/immutable/nodes/2.B-zWphhB.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/2.B-zWphhB.js b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js
similarity index 97%
rename from static/v1/_app/immutable/nodes/2.B-zWphhB.js
rename to static/v1/_app/immutable/nodes/2.zaOUn-Cn.js
index 2e38149d..b828c87c 100644
--- a/static/v1/_app/immutable/nodes/2.B-zWphhB.js
+++ b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js
@@ -9,21 +9,21 @@ import { b as gt } from "../chunks/7lxiEjMQ.js";
 import { M as Et } from "../chunks/Ds6bXi0i.js";
 import { a as ut, B as ct } from "../chunks/DMkkW5Nn.js";
 import { s as o, a as jt } from "../chunks/BMbqVy6X.js";
-import { T as Mt } from "../chunks/DNdifVes.js";
-import { L as At } from "../chunks/KFFqpuZ0.js";
-import { p as Ct } from "../chunks/DM7UbbyI.js";
-import { f as Bt, b as Ht } from "../chunks/bbkAiDd0.js";
-import { A as Vt } from "../chunks/B6SEzQuS.js";
+import { T as Mt } from "../chunks/CVHA2fPQ.js";
+import { L as At } from "../chunks/DUtP9z1z.js";
+import { p as Ct } from "../chunks/BDMwC9Hh.js";
+import { f as Bt, b as Ht } from "../chunks/CBGoQiUs.js";
+import { A as Vt } from "../chunks/gtHtP0A2.js";
 import { p as v } from "../chunks/C6SR4G2t.js";
 import { I as qt } from "../chunks/Vi3uK7uO.js";
 import { u as _t, i as Ot } from "../chunks/D8mHI_K9.js";
-import { U as Wt, k as pt, i as Ut, D as Zt } from "../chunks/CGXT-546.js";
+import { U as Wt, k as pt, i as Ut, D as Zt } from "../chunks/BaE7H8ny.js";
 import { T as Nt } from "../chunks/BmpEzKyJ.js";
-import { u as Gt } from "../chunks/CR02HlKk.js";
+import { u as Gt } from "../chunks/BhccdcsY.js";
 import { e as $t } from "../chunks/BpWRzPRQ.js";
-import { E as Rt } from "../chunks/DbOz6XEk.js";
-import { u as Dt } from "../chunks/DOl8_ubJ.js";
-import { O as Kt } from "../chunks/CGniv4pe.js";
+import { E as Rt } from "../chunks/cMKAIrmN.js";
+import { u as Dt } from "../chunks/BQ1-pLIs.js";
+import { O as Kt } from "../chunks/BHnvQvwL.js";
 var Ft = M('<div class="ver upd svelte-4tal6i"><a target="_blank" class="svelte-4tal6i"> </a></div>'), Jt = M('<div class="ver svelte-4tal6i"> </div>');
 function Qt(c, e) {
   ht(e, true);
@@ -567,7 +567,7 @@ function $e(c, e) {
   }
   function y() {
     var _a, _b;
-    localStorage.setItem("eventLevel", r(A)), ((_a = r(x)) == null ? void 0 : _a.readyState) !== 2 && ((_b = r(x)) == null ? void 0 : _b.close()), console.log("opening SSE stream"), b(x, B(new EventSource(`/auth/v1/events/stream?latest=${a}&level=${r(A).toLowerCase()}`))), r(x).onopen = () => {
+    localStorage.setItem("eventLevel", r(A)), ((_a = r(x)) == null ? void 0 : _a.readyState) !== 2 && ((_b = r(x)) == null ? void 0 : _b.close()), b(x, B(new EventSource(`/auth/v1/events/stream?latest=${a}&level=${r(A).toLowerCase()}`))), r(x).onopen = () => {
       b(_, B([]));
     }, r(x).onerror = () => {
       console.error("SSE Events Stream closed");
diff --git a/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.br b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.br
new file mode 100644
index 00000000..98ef0ea9
Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.br differ
diff --git a/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.gz b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.gz
new file mode 100644
index 00000000..0d161add
Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.zaOUn-Cn.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/20.dVDTpriI.js b/static/v1/_app/immutable/nodes/20.CedPMXkk.js
similarity index 79%
rename from static/v1/_app/immutable/nodes/20.dVDTpriI.js
rename to static/v1/_app/immutable/nodes/20.CedPMXkk.js
index 914c6748..1ffb31fd 100644
--- a/static/v1/_app/immutable/nodes/20.dVDTpriI.js
+++ b/static/v1/_app/immutable/nodes/20.CedPMXkk.js
@@ -1,31 +1,31 @@
 import { t as S, e as W, a as l, d as le } from "../chunks/BH6NCLk-.js";
-import { p as K, k as b, aa as H, l as a, f as E, a7 as Q, t as L, s as C, j as e, a9 as te, c as q, r as $, a as X, a5 as pe } from "../chunks/CvlvO1XB.js";
+import { p as K, k as b, aa as H, l as a, f as E, a7 as Q, t as L, s as C, j as e, a9 as te, c as q, r as j, a as X, a5 as pe } from "../chunks/CvlvO1XB.js";
 import { s as F } from "../chunks/CTI4QPiR.js";
 import { i as M } from "../chunks/BUO_AUgz.js";
 import { e as _e } from "../chunks/BpWRzPRQ.js";
 import { B as se, a as ge } from "../chunks/DMkkW5Nn.js";
 import { p as s } from "../chunks/Wh68IIk2.js";
 import { u as Y } from "../chunks/D8mHI_K9.js";
-import { O as he } from "../chunks/DxrdFxfV.js";
-import { d as xe, c as be, b as Se, f as ne } from "../chunks/bbkAiDd0.js";
+import { O as he } from "../chunks/CT2gdhvj.js";
+import { d as xe, c as be, b as Se, f as ne } from "../chunks/CBGoQiUs.js";
 import { C as ye } from "../chunks/BnPoFdx3.js";
 import { N as Pe } from "../chunks/D-L0o8jR.js";
-import { B as we } from "../chunks/BIsFWZ5z.js";
-import { N as Ce } from "../chunks/D3G2nKoD.js";
-import { u as Ae } from "../chunks/D45liQ4S.js";
-import { Q as J } from "../chunks/CGXT-546.js";
-import { I as de } from "../chunks/DmeAqnkr.js";
+import { B as we } from "../chunks/dWvWuq1E.js";
+import { N as Ce } from "../chunks/DpcgKHU5.js";
+import { u as Ae } from "../chunks/Beqa1JKV.js";
+import { Q as J } from "../chunks/BaE7H8ny.js";
+import { I as de } from "../chunks/BtKnbFDH.js";
 import { I as Te } from "../chunks/Nks81rMs.js";
-import { u as re } from "../chunks/DOl8_ubJ.js";
-import { F as ce } from "../chunks/CqS1e6KT.js";
+import { u as re } from "../chunks/BQ1-pLIs.js";
+import { F as ce } from "../chunks/BS0DIDHc.js";
 import { L as Ie } from "../chunks/CE2_6siz.js";
-import { S as ie } from "../chunks/CwWWGNuX.js";
+import { S as ie } from "../chunks/Bbu1Qkv4.js";
 import { f as me } from "../chunks/BRCxk8by.js";
 import { T as De } from "../chunks/_OE2Cq0B.js";
 var Ne = S("<p> </p>"), Oe = S("<p> </p> <p> </p> <!> <!>", 1), Fe = S('<div class="err"> </div>'), Me = S('<div class="flex gap-05"><!> <!></div> <!>', 1), ke = S("<!> <!> <!> <!>", 1);
-function Be(G, r) {
+function Be(V, r) {
   K(r, true);
-  let V = re(), g = Y(), c = b(""), f = b(false), y = te(() => J(r.scope.name)), d = b(s(r.scope.name)), m = b(void 0), A = b(void 0);
+  let $ = re(), g = Y(), c = b(""), f = b(false), y = te(() => J(r.scope.name)), d = b(s(r.scope.name)), m = b(void 0), A = b(void 0);
   H(() => {
     r.scope.id && a(d, s(r.scope.name));
   }), H(() => {
@@ -38,7 +38,7 @@ function Be(G, r) {
     }).toSorted((i, n) => i.name.localeCompare(n.name)))));
   });
   async function v(i, n) {
-    if (a(c, ""), J(e(d)) || r.scopes.find((P) => P.name === e(d))) {
+    if (a(c, ""), J(e(d)) || r.scope.name !== e(d) && r.scopes.find((P) => P.name === e(d))) {
       a(c, s(g.common.nameExistsAlready));
       return;
     }
@@ -57,7 +57,7 @@ function Be(G, r) {
     }, 2e3));
   }
   const T = te(() => `/auth/v1/scopes/${r.scope.id}`);
-  ce(G, { get action() {
+  ce(V, { get action() {
     return e(T);
   }, onSubmit: v, children: (i, n) => {
     var h = ke(), D = E(h);
@@ -82,12 +82,12 @@ function Be(G, r) {
     {
       var k = (t) => {
         var p = Ne(), u = q(p, true);
-        $(p), L(() => F(u, g.scopes.defaultNoMod)), l(t, p);
+        j(p), L(() => F(u, g.scopes.defaultNoMod)), l(t, p);
       }, N = (t) => {
         var p = Oe(), u = E(p), x = q(u, true);
-        $(u);
-        var w = C(u, 2), j = q(w, true);
-        $(w);
+        j(u);
+        var w = C(u, 2), R = q(w, true);
+        j(w);
         var B = C(w, 2);
         {
           var O = (I) => {
@@ -107,7 +107,7 @@ function Be(G, r) {
         }
         var _ = C(B, 2);
         {
-          var R = (I) => {
+          var G = (I) => {
             ie(I, { get items() {
               return e(A);
             }, set items(z) {
@@ -119,11 +119,11 @@ function Be(G, r) {
             }, $$slots: { default: true } });
           };
           M(_, (I) => {
-            e(A) && I(R);
+            e(A) && I(G);
           });
         }
         L(() => {
-          F(x, g.scopes.mapping1), F(j, g.scopes.mapping2);
+          F(x, g.scopes.mapping1), F(R, g.scopes.mapping2);
         }), l(t, p);
       };
       M(o, (t) => {
@@ -134,26 +134,26 @@ function Be(G, r) {
     {
       var ae = (t) => {
         var p = Me(), u = E(p), x = q(u);
-        se(x, { type: "submit", children: (_, R) => {
+        se(x, { type: "submit", children: (_, G) => {
           Q();
           var I = W();
-          L(() => F(I, V.common.save)), l(_, I);
+          L(() => F(I, $.common.save)), l(_, I);
         }, $$slots: { default: true } });
         var w = C(x, 2);
         {
-          var j = (_) => {
+          var R = (_) => {
             Te(_, {});
           };
           M(w, (_) => {
-            e(f) && _(j);
+            e(f) && _(R);
           });
         }
-        $(u);
+        j(u);
         var B = C(u, 2);
         {
           var O = (_) => {
-            var R = Fe(), I = q(R, true);
-            $(R), L(() => F(I, e(c))), l(_, R);
+            var G = Fe(), I = q(G, true);
+            j(G), L(() => F(I, e(c))), l(_, G);
           };
           M(B, (_) => {
             e(c) && _(O);
@@ -169,9 +169,9 @@ function Be(G, r) {
   }, $$slots: { default: true } }), X();
 }
 var Ee = S("<p> </p>"), Le = S('<div class="err"> </div>'), qe = S("<p> </p> <!> <!>", 1);
-function $e(G, r) {
+function je(V, r) {
   K(r, true);
-  let V = re(), g = Y(), c = b("");
+  let $ = re(), g = Y(), c = b("");
   async function f() {
     a(c, "");
     let v = await be(`/auth/v1/scopes/${r.scope.id}`);
@@ -181,21 +181,21 @@ function $e(G, r) {
   {
     var m = (v) => {
       var T = Ee(), i = q(T, true);
-      $(T), L(() => F(i, g.scopes.deleteDefault)), l(v, T);
+      j(T), L(() => F(i, g.scopes.deleteDefault)), l(v, T);
     }, A = (v) => {
       var T = qe(), i = E(T), n = q(i, true);
-      $(i);
+      j(i);
       var h = C(i, 2);
       se(h, { level: -1, onclick: f, children: (o, k) => {
         Q();
         var N = W();
-        L(() => F(N, V.common.delete)), l(o, N);
+        L(() => F(N, $.common.delete)), l(o, N);
       }, $$slots: { default: true } });
       var D = C(h, 2);
       {
         var P = (o) => {
           var k = Le(), N = q(k, true);
-          $(k), L(() => F(N, e(c))), l(o, k);
+          j(k), L(() => F(N, e(c))), l(o, k);
         };
         M(D, (o) => {
           e(c) && o(P);
@@ -207,13 +207,13 @@ function $e(G, r) {
       J(r.scope.name) ? v(m) : v(A, false);
     });
   }
-  l(G, y), X();
+  l(V, y), X();
 }
-var je = S('<div class="flex"><!></div> <!>', 1);
-function Re(G, r) {
+var Re = S('<div class="flex"><!></div> <!>', 1);
+function Ge(V, r) {
   K(r, true);
-  let V = re(), g = Y();
-  const c = [g.nav.config, V.common.delete];
+  let $ = re(), g = Y();
+  const c = [g.nav.config, $.common.delete];
   let f = b(s(c[0])), y = b(void 0);
   H(() => {
     r.scope.id && requestAnimationFrame(() => {
@@ -221,7 +221,7 @@ function Re(G, r) {
       (_a = e(y)) == null ? void 0 : _a();
     });
   });
-  var d = je(), m = E(d), A = q(m);
+  var d = Re(), m = E(d), A = q(m);
   De(A, { tabs: c, get selected() {
     return e(f);
   }, set selected(n) {
@@ -230,7 +230,7 @@ function Re(G, r) {
     return e(y);
   }, set focusFirst(n) {
     a(y, s(n));
-  } }), $(m);
+  } }), j(m);
   var v = C(m, 2);
   {
     var T = (n) => {
@@ -247,14 +247,14 @@ function Re(G, r) {
       var h = le(), D = E(h);
       {
         var P = (o) => {
-          $e(o, { get scope() {
+          je(o, { get scope() {
             return r.scope;
           }, get onSave() {
             return r.onSave;
           } });
         };
         M(D, (o) => {
-          e(f) === V.common.delete && o(P);
+          e(f) === $.common.delete && o(P);
         }, true);
       }
       l(n, h);
@@ -263,12 +263,12 @@ function Re(G, r) {
       e(f) === g.nav.config ? n(T) : n(i, false);
     });
   }
-  l(G, d), X();
+  l(V, d), X();
 }
-var Ge = S('<div class="err"> </div>'), Ve = S("<!> <!> <!>", 1), ze = S('<div class="container svelte-s1196z"><!></div>');
-function Qe(G, r) {
+var Ve = S('<div class="err"> </div>'), $e = S("<!> <!> <!>", 1), ze = S('<div class="container svelte-s1196z"><!></div>');
+function Qe(V, r) {
   K(r, true);
-  let V = re(), g = Y(), c = b(void 0), f = b(""), y = b("");
+  let $ = re(), g = Y(), c = b(void 0), f = b(""), y = b("");
   H(() => {
     requestAnimationFrame(() => {
       var _a;
@@ -287,7 +287,7 @@ function Qe(G, r) {
   }
   var m = ze(), A = q(m);
   ce(A, { action: "/auth/v1/scopes", onSubmit: d, children: (v, T) => {
-    var i = Ve(), n = E(i);
+    var i = $e(), n = E(i);
     de(n, { autocomplete: "off", get label() {
       return g.scopes.name;
     }, get placeholder() {
@@ -305,28 +305,28 @@ function Qe(G, r) {
     se(h, { type: "submit", children: (o, k) => {
       Q();
       var N = W();
-      L(() => F(N, V.common.save)), l(o, N);
+      L(() => F(N, $.common.save)), l(o, N);
     }, $$slots: { default: true } });
     var D = C(h, 2);
     {
       var P = (o) => {
-        var k = Ge(), N = q(k, true);
-        $(k), L(() => F(N, e(f))), l(o, k);
+        var k = Ve(), N = q(k, true);
+        j(k), L(() => F(N, e(f))), l(o, k);
       };
       M(D, (o) => {
         e(f) && o(P);
       });
     }
     l(v, i);
-  }, $$slots: { default: true } }), $(m), l(G, m), X();
+  }, $$slots: { default: true } }), j(m), l(V, m), X();
 }
 var Ue = S('<span class="default svelte-1bjjcss"><i>default</i></span>'), We = S(" <!>", 1), He = S("<div></div> <!>", 1), Je = S("<!> <!>", 1), Ke = S('<div class="err"> </div>'), Xe = S('<!> <div id="scopes"><!></div>', 1), Ye = S("<!> <!>", 1);
-function Ze(G, r) {
+function Ze(V, r) {
   K(r, true);
-  let V = Y(), g = b(void 0), c = b(""), f = Ae("sid"), y = b(s([])), d = b(s([])), m = b(s([])), A = b(void 0);
-  const v = [V.common.name, "ID"];
+  let $ = Y(), g = b(void 0), c = b(""), f = Ae("sid"), y = b(s([])), d = b(s([])), m = b(s([])), A = b(void 0);
+  const v = [$.common.name, "ID"];
   let T = b(s(v[0])), i = b("");
-  const n = [V.common.name, "ID"];
+  const n = [$.common.name, "ID"];
   pe(() => {
     D(), h();
   }), H(() => {
@@ -364,10 +364,10 @@ function Ze(G, r) {
     var u = He(), x = E(u);
     ge(x, "height", ".5rem");
     var w = C(x, 2);
-    _e(w, 17, () => e(m), (j) => j.id, (j, B, O, _) => {
-      const R = te(() => f.get() === e(B).id);
-      Pe(j, { onclick: () => f.set(e(B).id), get selected() {
-        return e(R);
+    _e(w, 17, () => e(m), (R) => R.id, (R, B, O, _) => {
+      const G = te(() => f.get() === e(B).id);
+      Pe(R, { onclick: () => f.set(e(B).id), get selected() {
+        return e(G);
       }, children: (I, z) => {
         Q();
         var ee = We(), U = E(ee), ve = C(U);
@@ -385,9 +385,9 @@ function Ze(G, r) {
     }), l(p, u);
   }, children: (p, u) => {
     var x = Je(), w = E(x);
-    const j = te(() => e(d).length === 0 ? 1 : 2);
+    const R = te(() => e(d).length === 0 ? 1 : 2);
     we(w, { get level() {
-      return e(j);
+      return e(R);
     }, alignRight: true, get closeModal() {
       return e(g);
     }, set closeModal(O) {
@@ -413,17 +413,17 @@ function Ze(G, r) {
     var u = Xe(), x = E(u);
     {
       var w = (_) => {
-        var R = Ke(), I = q(R, true);
-        $(R), L(() => F(I, e(c))), l(_, R);
+        var G = Ke(), I = q(G, true);
+        j(G), L(() => F(I, e(c))), l(_, G);
       };
       M(x, (_) => {
         e(c) && _(w);
       });
     }
-    var j = C(x, 2), B = q(j);
+    var R = C(x, 2), B = q(R);
     {
       var O = (_) => {
-        Re(_, { get attrs() {
+        Ge(_, { get attrs() {
           return e(y);
         }, get scope() {
           return e(A);
@@ -435,11 +435,11 @@ function Ze(G, r) {
         e(A) && _(O);
       });
     }
-    $(j), l(t, u);
-  } }), l(G, N), X();
+    j(R), l(t, u);
+  } }), l(V, N), X();
 }
-function wt(G) {
-  Ze(G, {});
+function wt(V) {
+  Ze(V, {});
 }
 export {
   wt as component
diff --git a/static/v1/_app/immutable/nodes/20.CedPMXkk.js.br b/static/v1/_app/immutable/nodes/20.CedPMXkk.js.br
new file mode 100644
index 00000000..99f0bc6d
Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.CedPMXkk.js.br differ
diff --git a/static/v1/_app/immutable/nodes/20.CedPMXkk.js.gz b/static/v1/_app/immutable/nodes/20.CedPMXkk.js.gz
new file mode 100644
index 00000000..8d41d639
Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.CedPMXkk.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/20.dVDTpriI.js.br b/static/v1/_app/immutable/nodes/20.dVDTpriI.js.br
deleted file mode 100644
index 05a51ffa..00000000
Binary files a/static/v1/_app/immutable/nodes/20.dVDTpriI.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/20.dVDTpriI.js.gz b/static/v1/_app/immutable/nodes/20.dVDTpriI.js.gz
deleted file mode 100644
index a7f31f40..00000000
Binary files a/static/v1/_app/immutable/nodes/20.dVDTpriI.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/21.DiyLgty0.js.br b/static/v1/_app/immutable/nodes/21.DiyLgty0.js.br
deleted file mode 100644
index 746bafa4..00000000
Binary files a/static/v1/_app/immutable/nodes/21.DiyLgty0.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/21.DiyLgty0.js.gz b/static/v1/_app/immutable/nodes/21.DiyLgty0.js.gz
deleted file mode 100644
index 5912b257..00000000
Binary files a/static/v1/_app/immutable/nodes/21.DiyLgty0.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/21.DiyLgty0.js b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js
similarity index 96%
rename from static/v1/_app/immutable/nodes/21.DiyLgty0.js
rename to static/v1/_app/immutable/nodes/21.ULOkjUD6.js
index 7d87e30b..e6903a75 100644
--- a/static/v1/_app/immutable/nodes/21.DiyLgty0.js
+++ b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js
@@ -4,22 +4,22 @@ import { s as P } from "../chunks/CTI4QPiR.js";
 import { i as J } from "../chunks/BUO_AUgz.js";
 import { e as oe } from "../chunks/BpWRzPRQ.js";
 import { p as d } from "../chunks/Wh68IIk2.js";
-import { l as ee, r as ye } from "../chunks/CGXT-546.js";
+import { l as ee, r as ye } from "../chunks/BaE7H8ny.js";
 import { a as Ce, B as Q } from "../chunks/DMkkW5Nn.js";
-import { P as ie } from "../chunks/CLPs45Pj.js";
+import { P as ie } from "../chunks/yrKs3w9k.js";
 import { s as K, a as Ie } from "../chunks/BMbqVy6X.js";
 import { C as De } from "../chunks/CS_Msctd.js";
-import { E as Te } from "../chunks/BlGzyD-C.js";
+import { E as Te } from "../chunks/CgRaCfAG.js";
 import { T as N } from "../chunks/BmpEzKyJ.js";
-import { u as $e } from "../chunks/DOl8_ubJ.js";
+import { u as $e } from "../chunks/BQ1-pLIs.js";
 import { u as de } from "../chunks/D8mHI_K9.js";
 import { L as G } from "../chunks/CE2_6siz.js";
 import { p as te } from "../chunks/C6SR4G2t.js";
-import { c as ve, f as be } from "../chunks/bbkAiDd0.js";
+import { c as ve, f as be } from "../chunks/CBGoQiUs.js";
 import { C as Le } from "../chunks/BnPoFdx3.js";
-import { O as ke } from "../chunks/DxrdFxfV.js";
-import { u as Oe } from "../chunks/CR02HlKk.js";
-import { P as Fe, f as Ae, a as Ee } from "../chunks/BnmgLJ5E.js";
+import { O as ke } from "../chunks/CT2gdhvj.js";
+import { u as Oe } from "../chunks/BhccdcsY.js";
+import { P as Fe, f as Ae, a as Ee } from "../chunks/BWj5qgFT.js";
 var ze = xe(`<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25
             2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0
             0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5
diff --git a/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.br b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.br
new file mode 100644
index 00000000..7103f41a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.br differ
diff --git a/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.gz b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.gz
new file mode 100644
index 00000000..625c6703
Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.ULOkjUD6.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.br b/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.br
deleted file mode 100644
index e667dbfd..00000000
Binary files a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.gz b/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.gz
deleted file mode 100644
index ac84c73d..00000000
Binary files a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/6.BCzHA2GH.js
rename to static/v1/_app/immutable/nodes/22.Bf8PwG-K.js
index 17e54f9e..33193b5a 100644
--- a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js
+++ b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { U as p } from "../chunks/ClhbEfd1.js";
+import { U as p } from "../chunks/DhdHODqL.js";
 function e(o) {
   p(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.br b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.br
new file mode 100644
index 00000000..784d50e3
Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.br differ
diff --git a/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.gz b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.gz
new file mode 100644
index 00000000..4daac294
Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.Bf8PwG-K.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.br b/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.br
deleted file mode 100644
index 1182fb14..00000000
Binary files a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.gz b/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.gz
deleted file mode 100644
index 26069bf8..00000000
Binary files a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js b/static/v1/_app/immutable/nodes/23.YihNSyT5.js
similarity index 94%
rename from static/v1/_app/immutable/nodes/23.1c9kUSuV.js
rename to static/v1/_app/immutable/nodes/23.YihNSyT5.js
index 6e76ca17..d82d9559 100644
--- a/static/v1/_app/immutable/nodes/23.1c9kUSuV.js
+++ b/static/v1/_app/immutable/nodes/23.YihNSyT5.js
@@ -4,17 +4,17 @@ import { h as we, s as v } from "../chunks/CTI4QPiR.js";
 import { i as B } from "../chunks/BUO_AUgz.js";
 import { e as Ce, i as Ee } from "../chunks/BpWRzPRQ.js";
 import { p as n } from "../chunks/Wh68IIk2.js";
-import { m as Se, r as ne } from "../chunks/CGXT-546.js";
-import { L as ye } from "../chunks/KFFqpuZ0.js";
-import { I as Ae, f as ke } from "../chunks/DmeAqnkr.js";
+import { m as Se, r as ne } from "../chunks/BaE7H8ny.js";
+import { L as ye } from "../chunks/DUtP9z1z.js";
+import { I as Ae, f as ke } from "../chunks/BtKnbFDH.js";
 import { B as K } from "../chunks/DMkkW5Nn.js";
 import { M as De } from "../chunks/Ds6bXi0i.js";
 import { C as Ie } from "../chunks/GWgockW8.js";
-import { u as Me } from "../chunks/DOl8_ubJ.js";
-import { T as Ne } from "../chunks/DSw3WKCO.js";
-import { u as Re } from "../chunks/D45liQ4S.js";
-import { T as Be } from "../chunks/DNdifVes.js";
-import { f as Ge, b as Oe } from "../chunks/bbkAiDd0.js";
+import { u as Me } from "../chunks/BQ1-pLIs.js";
+import { T as Ne } from "../chunks/DcJo-CQ6.js";
+import { u as Re } from "../chunks/Beqa1JKV.js";
+import { T as Be } from "../chunks/CVHA2fPQ.js";
+import { f as Ge, b as Oe } from "../chunks/CBGoQiUs.js";
 import { P as Ue } from "../chunks/BRCxk8by.js";
 var We = x('<div class="desc svelte-hzde4x"> </div> <!> <div><!></div>', 1), je = x('<div class="desc svelte-hzde4x"><p> </p> <p> </p></div>'), qe = x('<div class="desc svelte-hzde4x"><p class="declined svelte-hzde4x"> </p> <p> </p></div>'), He = x('<li class="svelte-hzde4x"> </li>'), Ve = x('<div class="desc svelte-hzde4x"> <ul class="svelte-hzde4x"></ul></div> <div class="inline svelte-hzde4x"><!> <!></div>', 1), Fe = x('<div class="container svelte-hzde4x"><div class="name svelte-hzde4x"><h2> </h2></div> <!> <div class="err svelte-hzde4x"> </div></div>'), Je = x("<!> <!> <!>", 1), Ke = x("<!> <!>", 1);
 function ft(ce, ue) {
diff --git a/static/v1/_app/immutable/nodes/23.YihNSyT5.js.br b/static/v1/_app/immutable/nodes/23.YihNSyT5.js.br
new file mode 100644
index 00000000..9d65cf55
Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.YihNSyT5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/23.YihNSyT5.js.gz b/static/v1/_app/immutable/nodes/23.YihNSyT5.js.gz
new file mode 100644
index 00000000..a5877897
Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.YihNSyT5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/24.DRXWbxob.js.br b/static/v1/_app/immutable/nodes/24.DRXWbxob.js.br
deleted file mode 100644
index 3714ddc3..00000000
Binary files a/static/v1/_app/immutable/nodes/24.DRXWbxob.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/24.DRXWbxob.js.gz b/static/v1/_app/immutable/nodes/24.DRXWbxob.js.gz
deleted file mode 100644
index 2b80bea9..00000000
Binary files a/static/v1/_app/immutable/nodes/24.DRXWbxob.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/25.DRXWbxob.js b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/25.DRXWbxob.js
rename to static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js
index 4c473936..39e49c53 100644
--- a/static/v1/_app/immutable/nodes/25.DRXWbxob.js
+++ b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { E as r } from "../chunks/C-8adDJ4.js";
+import { E as r } from "../chunks/DwWkPEtb.js";
 function m(o) {
   r(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.br b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.br
new file mode 100644
index 00000000..9faf4d64
Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.br differ
diff --git a/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.gz b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.gz
new file mode 100644
index 00000000..90db881a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.Dq8uKh0Z.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/25.DRXWbxob.js.br b/static/v1/_app/immutable/nodes/25.DRXWbxob.js.br
deleted file mode 100644
index 3714ddc3..00000000
Binary files a/static/v1/_app/immutable/nodes/25.DRXWbxob.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/25.DRXWbxob.js.gz b/static/v1/_app/immutable/nodes/25.DRXWbxob.js.gz
deleted file mode 100644
index 2b80bea9..00000000
Binary files a/static/v1/_app/immutable/nodes/25.DRXWbxob.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/26.DRXWbxob.js b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/26.DRXWbxob.js
rename to static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js
index 4c473936..39e49c53 100644
--- a/static/v1/_app/immutable/nodes/26.DRXWbxob.js
+++ b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { E as r } from "../chunks/C-8adDJ4.js";
+import { E as r } from "../chunks/DwWkPEtb.js";
 function m(o) {
   r(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.br b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.br
new file mode 100644
index 00000000..9faf4d64
Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.br differ
diff --git a/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.gz b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.gz
new file mode 100644
index 00000000..90db881a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.Dq8uKh0Z.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/26.DRXWbxob.js.br b/static/v1/_app/immutable/nodes/26.DRXWbxob.js.br
deleted file mode 100644
index 3714ddc3..00000000
Binary files a/static/v1/_app/immutable/nodes/26.DRXWbxob.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/26.DRXWbxob.js.gz b/static/v1/_app/immutable/nodes/26.DRXWbxob.js.gz
deleted file mode 100644
index 2b80bea9..00000000
Binary files a/static/v1/_app/immutable/nodes/26.DRXWbxob.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/27.DRXWbxob.js b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/27.DRXWbxob.js
rename to static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js
index 4c473936..39e49c53 100644
--- a/static/v1/_app/immutable/nodes/27.DRXWbxob.js
+++ b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { E as r } from "../chunks/C-8adDJ4.js";
+import { E as r } from "../chunks/DwWkPEtb.js";
 function m(o) {
   r(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.br b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.br
new file mode 100644
index 00000000..9faf4d64
Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.br differ
diff --git a/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.gz b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.gz
new file mode 100644
index 00000000..90db881a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.Dq8uKh0Z.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/27.DRXWbxob.js.br b/static/v1/_app/immutable/nodes/27.DRXWbxob.js.br
deleted file mode 100644
index 3714ddc3..00000000
Binary files a/static/v1/_app/immutable/nodes/27.DRXWbxob.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/27.DRXWbxob.js.gz b/static/v1/_app/immutable/nodes/27.DRXWbxob.js.gz
deleted file mode 100644
index 2b80bea9..00000000
Binary files a/static/v1/_app/immutable/nodes/27.DRXWbxob.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/24.DRXWbxob.js b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/24.DRXWbxob.js
rename to static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js
index 4c473936..39e49c53 100644
--- a/static/v1/_app/immutable/nodes/24.DRXWbxob.js
+++ b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { E as r } from "../chunks/C-8adDJ4.js";
+import { E as r } from "../chunks/DwWkPEtb.js";
 function m(o) {
   r(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.br b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.br
new file mode 100644
index 00000000..9faf4d64
Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.br differ
diff --git a/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.gz b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.gz
new file mode 100644
index 00000000..90db881a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.Dq8uKh0Z.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.br b/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.br
deleted file mode 100644
index ae813d5b..00000000
Binary files a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.gz b/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.gz
deleted file mode 100644
index f638e921..00000000
Binary files a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js b/static/v1/_app/immutable/nodes/28.M20QAsrN.js
similarity index 96%
rename from static/v1/_app/immutable/nodes/28.Di_O8TGf.js
rename to static/v1/_app/immutable/nodes/28.M20QAsrN.js
index 5292bb5d..f2179188 100644
--- a/static/v1/_app/immutable/nodes/28.Di_O8TGf.js
+++ b/static/v1/_app/immutable/nodes/28.M20QAsrN.js
@@ -4,13 +4,13 @@ import { s as E } from "../chunks/CTI4QPiR.js";
 import { i as F } from "../chunks/BUO_AUgz.js";
 import { p as h } from "../chunks/Wh68IIk2.js";
 import { B as K } from "../chunks/DMkkW5Nn.js";
-import { I as N } from "../chunks/DmeAqnkr.js";
+import { I as N } from "../chunks/BtKnbFDH.js";
 import { C as z } from "../chunks/CS_Msctd.js";
 import { M as ve } from "../chunks/Ds6bXi0i.js";
 import { C as ce } from "../chunks/GWgockW8.js";
 import { a as G } from "../chunks/BRCxk8by.js";
-import { F as pe } from "../chunks/CqS1e6KT.js";
-import { g as fe } from "../chunks/CGXT-546.js";
+import { F as pe } from "../chunks/BS0DIDHc.js";
+import { g as fe } from "../chunks/BaE7H8ny.js";
 var ue = c("<br>-> enable idp registration:<br> <code>chrome://flags/#fedcm-idp-registration</code>", 1), ge = c("<p><!> <!> <!></p>"), me = c('<p><!></p> <!> <div class="row svelte-wuqbvo"><b>Logged In:</b> <div class="check svelte-wuqbvo"><!></div></div>', 1), _e = c('<div class="flex-col"><h1>FedCM Testing</h1> <div class="row svelte-wuqbvo"><div><b>FedCM supported:</b></div> <div class="check svelte-wuqbvo"><!></div></div> <!> <!></div>'), be = c('<div class="row svelte-wuqbvo"><b>Credential Type:</b> <span> </span></div> <div class="token svelte-wuqbvo"> </div>', 1), he = c("<!> <!>", 1);
 function Te(H, J) {
   ie(J, true);
diff --git a/static/v1/_app/immutable/nodes/28.M20QAsrN.js.br b/static/v1/_app/immutable/nodes/28.M20QAsrN.js.br
new file mode 100644
index 00000000..7e1c4f5c
Binary files /dev/null and b/static/v1/_app/immutable/nodes/28.M20QAsrN.js.br differ
diff --git a/static/v1/_app/immutable/nodes/28.M20QAsrN.js.gz b/static/v1/_app/immutable/nodes/28.M20QAsrN.js.gz
new file mode 100644
index 00000000..df31d470
Binary files /dev/null and b/static/v1/_app/immutable/nodes/28.M20QAsrN.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js
new file mode 100644
index 00000000..8f32cb7b
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js
@@ -0,0 +1,456 @@
+import { n as Tr, a as s, t as f, d as er, e as me } from "../chunks/BH6NCLk-.js";
+import { t as w, c as u, r as c, p as yr, k as l, a5 as Rr, aa as se, f as B, a as kr, l as r, j as e, s as v, a6 as Mr, a9 as ge, a7 as pe } from "../chunks/CvlvO1XB.js";
+import { h as Sr, s as T } from "../chunks/CTI4QPiR.js";
+import { i as g } from "../chunks/BUO_AUgz.js";
+import { e as Er } from "../chunks/BpWRzPRQ.js";
+import { s as j } from "../chunks/BMbqVy6X.js";
+import { p as o } from "../chunks/Wh68IIk2.js";
+import { I as Ur, J as Cr, K as Nr, q as Ar, M as Wr, j as Fr, e as rr, l as Dr, N as Or, P as Br, O as jr } from "../chunks/BaE7H8ny.js";
+import { B as we } from "../chunks/DMkkW5Nn.js";
+import { W as Hr } from "../chunks/8x1xiTUd.js";
+import { I as Vr } from "../chunks/BtKnbFDH.js";
+import { L as Kr } from "../chunks/DUtP9z1z.js";
+import { p as Ee } from "../chunks/C6SR4G2t.js";
+import { M as Gr } from "../chunks/Ds6bXi0i.js";
+import { C as Jr } from "../chunks/GWgockW8.js";
+import { u as Qr } from "../chunks/BQ1-pLIs.js";
+import { T as J } from "../chunks/DcJo-CQ6.js";
+import { u as N } from "../chunks/Beqa1JKV.js";
+import { T as Xr } from "../chunks/CVHA2fPQ.js";
+import { I as Yr } from "../chunks/D6E4lNPv.js";
+import { b as ne } from "../chunks/CBGoQiUs.js";
+import { u as tr } from "../chunks/BMFqJ6Jy.js";
+import { F as Zr } from "../chunks/BS0DIDHc.js";
+import { B as et } from "../chunks/BV-QGn6o.js";
+var rt = Tr(`<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125
+            1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504
+            1.125-1.125V9.75M8.25 21h8.25"></path></svg>`);
+function tt(Q, A) {
+  let y = Ee(A, "opacity", 3, 0.9), d = Ee(A, "width", 3, "1.5rem"), X = Ee(A, "color", 3, "currentColor");
+  var W = rt();
+  j(W, "stroke-width", 2), w(() => {
+    j(W, "stroke", X()), j(W, "width", d()), j(W, "opacity", y());
+  }), s(Q, W);
+}
+var at = f('<div class="logo svelte-1gwy16z"><img alt="No Logo Available"></div>');
+function ot(Q, A) {
+  var y = at(), d = u(y);
+  c(y), w(() => j(d, "src", `/auth/v1/clients/${A.clientId}/logo`)), s(Q, y);
+}
+var it = f('<a class="home svelte-5hzq8v"><!></a>'), st = f('<div class="forgotten svelte-5hzq8v"><!></div>'), nt = f("<!> <!>", 1), lt = f('<div class="btn flex-col svelte-5hzq8v"><!></div>'), vt = f('<div class="btn flex-col svelte-5hzq8v"><!></div>'), dt = f('<div class="email svelte-5hzq8v"><!></div> <!> <!>', 1), ut = f('<a class="reg svelte-5hzq8v" target="_blank"> </a>'), ct = f('<a class="reg svelte-5hzq8v" href="/auth/v1/users/register" target="_blank"> </a>'), ft = f("<!> <!>", 1), ht = f('<div class="errMsg svelte-5hzq8v"> </div>'), _t = f('<div class="success svelte-5hzq8v"> </div>'), mt = f('<div class="btn flex-col svelte-5hzq8v"><!></div>'), gt = f('<div class="providers flex-col svelte-5hzq8v"><div class="providersSeparator svelte-5hzq8v"><div class="separator svelte-5hzq8v"></div> <div class="loginWith svelte-5hzq8v"><div class="svelte-5hzq8v"> </div></div></div> <!></div>'), pt = f('<div class="container svelte-5hzq8v"><div class="head svelte-5hzq8v"><!> <!></div> <div class="name svelte-5hzq8v"><h2> </h2></div> <!> <!> <!> <!> <!> <!></div> <!> <!>', 1), wt = f("<!> <!> <!> <!> <!> <!> <!>", 1);
+function jt(Q, A) {
+  var _a;
+  yr(A, true);
+  const y = "18rem";
+  let d = Qr(), X = tr().get(), W = ge(() => X ? "/auth/v1/dev/authorize" : "/auth/v1/oidc/authorize"), b = N("client_id").get(), le = l(""), R = l(o(X ? "/auth/v1" : "")), H = N("redirect_uri").get(), ze = N("nonce").get(), be = ((_a = N("scope").get()) == null ? void 0 : _a.split(" ")) || [], xe = l(void 0), Pe = l(void 0), qe = N("state").get(), Y = N("code_challenge").get(), I = N("code_challenge_method").get(), Ue = false, Ie = l(void 0), ve = l(o([])), de = l(void 0), V = l(false), h = l(""), Z = l(""), ue = l(""), k = l(false), F = l(false), ce = l(false), fe = l(false), he = l(false), D = l(false), Ce = l(""), Le = l(false), x = l(o(N("login_hint").get() || "")), M = l(""), $e = l("");
+  Rr(() => {
+    var _a2;
+    e(k) || ((_a2 = e(xe)) == null ? void 0 : _a2.focus());
+  }), se(() => {
+    Ue && (b == null ? void 0 : b.length) && ir();
+  }), se(() => {
+    e(he) && setTimeout(() => {
+      r(he, false), r(ce, false), r(fe, false);
+    }, 3e3);
+  }), se(() => {
+    var _a2;
+    (_a2 = e(Pe)) == null ? void 0 : _a2.focus();
+  }), se(() => {
+    var _a2;
+    if (e(Z) === "Refresh") Ue = true;
+    else if ((_a2 = e(Z)) == null ? void 0 : _a2.startsWith("MfaLogin ")) {
+      let t = e(Z).replace("MfaLogin ", "");
+      r(x, o(t)), r(Ie, o(t));
+    }
+  }), se(() => {
+    X ? ar() : e(ue) && rr(e(ue));
+  });
+  async function ar() {
+    var _a2;
+    let t = await ne("/auth/v1/oidc/session");
+    ((_a2 = t.body) == null ? void 0 : _a2.csrf_token) ? rr(t.body.csrf_token) : console.error(t.error);
+  }
+  function or() {
+    r(h, ""), r(ce, true), r(M, "");
+  }
+  async function ir() {
+    if (!b) {
+      console.error("clientId is undefined");
+      return;
+    }
+    if (!H) {
+      console.error("redirectUri is undefined");
+      return;
+    }
+    r(V, true);
+    const t = { client_id: b, redirect_uri: H, state: qe, nonce: ze, scopes: be };
+    Y && I && (I === "plain" || I === "S256") && (t.code_challenge = Y, t.code_challenge_method = I);
+    let n = await ne("/auth/v1/oidc/authorize/refresh", t);
+    await Ne(n);
+  }
+  async function sr(t, n) {
+    if (r(h, ""), !b) {
+      console.error("clientId is undefined");
+      return;
+    }
+    if (!H) {
+      console.error("redirectUri is undefined");
+      return;
+    }
+    const p = { email: e(x), client_id: b, redirect_uri: H, state: qe, nonce: ze, scopes: be };
+    if (Y && I && (I === "plain" || I === "S256") && (p.code_challenge = Y, p.code_challenge_method = I), e(k) && e(x) !== e(Ie)) {
+      if (!e(M)) {
+        r(h, o(d.authorize.passwordRequired));
+        return;
+      }
+      if (e(M).length > 256) {
+        r(h, "max 256");
+        return;
+      }
+      p.password = e(M);
+    }
+    r(V, true);
+    let z = "/auth/v1/oidc/authorize";
+    tr().get() && (z = "/auth/v1/dev/authorize");
+    let L = await ne(z, p, "json", "noRedirect");
+    await Ne(L);
+  }
+  async function Ne(t) {
+    if (t.status === 202) {
+      let n = t.headers.get("location");
+      if (!n) {
+        console.error("location header missing");
+        return;
+      }
+      window.location.replace(n);
+    } else if (t.status === 200) {
+      r(h, "");
+      let n = t.body;
+      n && "user_id" in n && "code" in n ? (r($e, o(n.user_id)), r(de, o({ Login: n.code }))) : console.error("did not receive a proper WebauthnLoginResponse after HTTP200");
+    } else if (t.status === 406) r(h, o(d.authorize.clientForceMfa)), r(F, true);
+    else if (t.status === 429) {
+      let n = t.headers.get("x-retry-not-before");
+      if (!n) {
+        console.error("x-retry-not-before header missing");
+        return;
+      }
+      let p = Number.parseInt(n), z = Dr(p), L = p * 1e3 - (/* @__PURE__ */ new Date()).getTime();
+      r(D, true), r(h, `${d.authorize.http429} ${z}`), r(x, ""), r(M, ""), r(k, false), setTimeout(() => {
+        r(D, false), r(h, "");
+      }, L);
+    } else e(k) ? (r(h, o(d.authorize.invalidCredentials)), r(fe, true)) : (r(k, true), r(Ce, o(e(x))));
+    r(V, false);
+  }
+  function nr() {
+    e(k) && e(Ce) !== e(x) && (r(k, false), r(M, ""), r(h, ""));
+  }
+  function lr(t) {
+    Or(64, (n, { challenge: p, verifier: z }) => {
+      n || (localStorage.setItem(Br, z), vr(t, p));
+    });
+  }
+  async function vr(t, n) {
+    var _a2;
+    if (!b) {
+      console.error("clientId is undefined");
+      return;
+    }
+    if (!H) {
+      console.error("redirectUri is undefined");
+      return;
+    }
+    let p = { email: e(x) || void 0, client_id: b, redirect_uri: H, scopes: be, state: qe, nonce: ze, code_challenge: Y, code_challenge_method: I, provider_id: t, pkce_challenge: n }, z = await ne("/auth/v1/providers/login", p);
+    if (z.text) {
+      jr(z.text);
+      let L = z.headers.get("location");
+      if (!L) {
+        console.error("no location header set for provider login");
+        return;
+      }
+      window.location.href = L;
+    } else r(h, o(((_a2 = z.error) == null ? void 0 : _a2.message) || "Error"));
+  }
+  function dr(t) {
+    r(de, void 0), r(h, o(t));
+  }
+  function ur(t) {
+    t && "loc" in t && window.location.replace(t.loc);
+  }
+  async function cr() {
+    let t = { email: e(x) };
+    e(R) && (t.redirect_uri = encodeURI(e(R))), r(V, true);
+    let n = await ne("/auth/v1/users/request_reset", t);
+    n.error ? r(h, o(n.error.message)) : r(he, true), r(V, false);
+  }
+  var Ae = wt();
+  Sr((t) => {
+    w(() => Mr.title = `Login ${(e(le) || b) ?? ""}`);
+  });
+  var We = B(Ae);
+  J(We, { id: Ur, get value() {
+    return e(ve);
+  }, set value(t) {
+    r(ve, o(t));
+  } });
+  var Fe = v(We, 2);
+  J(Fe, { id: Cr, get value() {
+    return e(le);
+  }, set value(t) {
+    r(le, o(t));
+  } });
+  var De = v(Fe, 2);
+  J(De, { id: Nr, get value() {
+    return e(R);
+  }, set value(t) {
+    r(R, o(t));
+  } });
+  var Oe = v(De, 2);
+  J(Oe, { id: Ar, get value() {
+    return e(ue);
+  }, set value(t) {
+    r(ue, o(t));
+  } });
+  var Be = v(Oe, 2);
+  J(Be, { id: Wr, get value() {
+    return e(Z);
+  }, set value(t) {
+    r(Z, o(t));
+  } });
+  var je = v(Be, 2);
+  J(je, { id: Fr, get value() {
+    return e(Le);
+  }, set value(t) {
+    r(Le, o(t));
+  } });
+  var fr = v(je, 2);
+  Gr(fr, { children: (t, n) => {
+    Jr(t, { children: (p, z) => {
+      var L = pt(), Te = B(L), ye = u(Te), He = u(ye);
+      {
+        var hr = (a) => {
+          ot(a, { clientId: b });
+        };
+        g(He, (a) => {
+          b && a(hr);
+        });
+      }
+      var _r = v(He, 2);
+      {
+        var mr = (a) => {
+          var i = it(), m = u(i);
+          tt(m, { color: "hsla(var(--text) / .4)" }), c(i), w(() => j(i, "href", e(R))), s(a, i);
+        };
+        g(_r, (a) => {
+          e(R) && a(mr);
+        });
+      }
+      c(ye);
+      var Re = v(ye, 2), Ve = u(Re), gr = u(Ve, true);
+      c(Ve), c(Re);
+      var Ke = v(Re, 2);
+      {
+        var pr = (a) => {
+          Hr(a, { get userId() {
+            return e($e);
+          }, get purpose() {
+            return e(de);
+          }, onSuccess: ur, onError: dr });
+        };
+        g(Ke, (a) => {
+          e(de) && e($e) && a(pr);
+        });
+      }
+      var Ge = v(Ke, 2);
+      {
+        var wr = (a) => {
+          var i = ft(), m = B(i);
+          Zr(m, { get action() {
+            return e(W);
+          }, onSubmit: sr, children: ($, re) => {
+            var S = dt(), E = B(S), te = u(E);
+            const U = ge(() => e(D) || e(F));
+            Vr(te, { typ: "email", name: "email", autocomplete: "email", get label() {
+              return d.common.email;
+            }, get placeholder() {
+              return d.common.email;
+            }, get errMsg() {
+              return d.authorize.validEmail;
+            }, get disabled() {
+              return e(U);
+            }, onInput: nr, width: y, required: true, get ref() {
+              return e(xe);
+            }, set ref(q) {
+              r(xe, o(q));
+            }, get value() {
+              return e(x);
+            }, set value(q) {
+              r(x, o(q));
+            } }), c(E);
+            var P = v(E, 2);
+            {
+              var ae = (q) => {
+                var oe = nt(), _e = B(oe);
+                const ke = ge(() => e(D) || e(F));
+                Yr(_e, { name: "password", autocomplete: "current-password", get label() {
+                  return d.common.password;
+                }, get placeholder() {
+                  return d.common.password;
+                }, maxLength: 256, get disabled() {
+                  return e(ke);
+                }, width: y, required: true, get ref() {
+                  return e(Pe);
+                }, set ref(_) {
+                  r(Pe, o(_));
+                }, get value() {
+                  return e(M);
+                }, set value(_) {
+                  r(M, o(_));
+                } });
+                var Me = v(_e, 2);
+                {
+                  var C = (_) => {
+                    var O = st(), ie = u(O);
+                    we(ie, { invisible: true, onclick: or, children: (Se, G) => {
+                      pe();
+                      var Ze = me();
+                      w(() => T(Ze, d.authorize.passwordForgotten)), s(Se, Ze);
+                    }, $$slots: { default: true } }), c(O), s(_, O);
+                  };
+                  g(Me, (_) => {
+                    e(fe) && !e(D) && _(C);
+                  });
+                }
+                s(q, oe);
+              };
+              g(P, (q) => {
+                e(k) && e(Ie) !== e(x) && !e(ce) && q(ae);
+              });
+            }
+            var Lr = v(P, 2);
+            {
+              var $r = (q) => {
+                var oe = er(), _e = B(oe);
+                {
+                  var ke = (C) => {
+                    var _ = lt(), O = u(_);
+                    we(O, { onclick: cr, children: (ie, Se) => {
+                      pe();
+                      var G = me();
+                      w(() => T(G, d.authorize.passwordRequest)), s(ie, G);
+                    }, $$slots: { default: true } }), c(_), s(C, _);
+                  }, Me = (C) => {
+                    var _ = vt(), O = u(_);
+                    we(O, { type: "submit", get isLoading() {
+                      return e(V);
+                    }, children: (ie, Se) => {
+                      pe();
+                      var G = me();
+                      w(() => T(G, d.authorize.login)), s(ie, G);
+                    }, $$slots: { default: true } }), c(_), s(C, _);
+                  };
+                  g(_e, (C) => {
+                    e(ce) ? C(ke) : C(Me, false);
+                  });
+                }
+                s(q, oe);
+              };
+              g(Lr, (q) => {
+                !e(D) && !e(F) && q($r);
+              });
+            }
+            s($, S);
+          }, $$slots: { default: true } });
+          var K = v(m, 2);
+          {
+            var ee = ($) => {
+              var re = er(), S = B(re);
+              {
+                var E = (U) => {
+                  var P = ut(), ae = u(P, true);
+                  c(P), w(() => {
+                    j(P, "href", `/auth/v1/users/register?redirect_uri=${e(R) ?? ""}`), T(ae, d.authorize.signUp);
+                  }), s(U, P);
+                }, te = (U) => {
+                  var P = ct(), ae = u(P, true);
+                  c(P), w(() => T(ae, d.authorize.signUp)), s(U, P);
+                };
+                g(S, (U) => {
+                  e(R) ? U(E) : U(te, false);
+                });
+              }
+              s($, re);
+            };
+            g(K, ($) => {
+              e(Le) && !e(fe) && !e(D) && $(ee);
+            });
+          }
+          s(a, i);
+        };
+        g(Ge, (a) => {
+          e(F) || a(wr);
+        });
+      }
+      var Je = v(Ge, 2);
+      {
+        var zr = (a) => {
+          var i = ht(), m = u(i, true);
+          c(i), w(() => T(m, e(h))), s(a, i);
+        };
+        g(Je, (a) => {
+          e(h) && a(zr);
+        });
+      }
+      var Qe = v(Je, 2);
+      {
+        var br = (a) => {
+          var i = _t(), m = u(i, true);
+          c(i), w(() => T(m, d.authorize.emailSentMsg)), s(a, i);
+        };
+        g(Qe, (a) => {
+          e(he) && a(br);
+        });
+      }
+      var Xe = v(Qe, 2);
+      {
+        var xr = (a) => {
+          var i = mt(), m = u(i);
+          we(m, { onclick: () => window.location.href = "/auth/v1/account", children: (K, ee) => {
+            pe();
+            var $ = me("Account");
+            s(K, $);
+          }, $$slots: { default: true } }), c(i), s(a, i);
+        };
+        g(Xe, (a) => {
+          e(F) && a(xr);
+        });
+      }
+      var Pr = v(Xe, 2);
+      {
+        var qr = (a) => {
+          var i = gt(), m = u(i), K = v(u(m), 2), ee = u(K), $ = u(ee, true);
+          c(ee), c(K), c(m);
+          var re = v(m, 2);
+          Er(re, 17, () => e(ve), (S) => S.id, (S, E) => {
+            const te = ge(() => `Login: ${e(E).name}`);
+            et(S, { get ariaLabel() {
+              return e(te);
+            }, get provider() {
+              return e(E);
+            }, onclick: lr });
+          }), c(i), w(() => T($, d.authorize.orLoginWith)), s(a, i);
+        };
+        g(Pr, (a) => {
+          !e(F) && e(ve).length > 0 && a(qr);
+        });
+      }
+      c(Te);
+      var Ye = v(Te, 2);
+      Xr(Ye, { absolute: true });
+      var Ir = v(Ye, 2);
+      Kr(Ir, { absolute: true }), w(() => T(gr, e(le) || b)), s(p, L);
+    } });
+  } }), s(Q, Ae), kr();
+}
+export {
+  jt as component
+};
diff --git a/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.br b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.br
new file mode 100644
index 00000000..075ee612
Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.gz b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.gz
new file mode 100644
index 00000000..7601dca3
Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.CLi2ZhO5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/29.DA67qI89.js b/static/v1/_app/immutable/nodes/29.DA67qI89.js
deleted file mode 100644
index 0d3916b0..00000000
--- a/static/v1/_app/immutable/nodes/29.DA67qI89.js
+++ /dev/null
@@ -1,455 +0,0 @@
-import { n as yr, a as i, t as f, d as er, e as me } from "../chunks/BH6NCLk-.js";
-import { t as w, c as u, r as c, p as Tr, k as l, a5 as Rr, aa as ie, f as B, a as kr, l as r, j as e, s as d, a6 as Sr, a9 as ge, a7 as pe } from "../chunks/CvlvO1XB.js";
-import { h as zr, s as R } from "../chunks/CTI4QPiR.js";
-import { i as g } from "../chunks/BUO_AUgz.js";
-import { e as Mr } from "../chunks/BpWRzPRQ.js";
-import { s as H } from "../chunks/BMbqVy6X.js";
-import { p as o } from "../chunks/Wh68IIk2.js";
-import { I as Er, J as Ur, K as Cr, q as Nr, M as Ar, j as Wr, e as rr, l as Fr, N as Dr, P as Or, O as Br } from "../chunks/CGXT-546.js";
-import { B as we } from "../chunks/DMkkW5Nn.js";
-import { W as Hr } from "../chunks/CY7Th9O-.js";
-import { I as Vr } from "../chunks/DmeAqnkr.js";
-import { L as jr } from "../chunks/KFFqpuZ0.js";
-import { p as Ee } from "../chunks/C6SR4G2t.js";
-import { M as Kr } from "../chunks/Ds6bXi0i.js";
-import { C as Gr } from "../chunks/GWgockW8.js";
-import { u as Jr } from "../chunks/DOl8_ubJ.js";
-import { T as J } from "../chunks/DSw3WKCO.js";
-import { u as C } from "../chunks/D45liQ4S.js";
-import { T as Qr } from "../chunks/DNdifVes.js";
-import { I as Xr } from "../chunks/CLUUhKug.js";
-import { b as ne } from "../chunks/bbkAiDd0.js";
-import { u as tr } from "../chunks/BMFqJ6Jy.js";
-import { F as Yr } from "../chunks/CqS1e6KT.js";
-import { B as Zr } from "../chunks/BV-QGn6o.js";
-var et = yr(`<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125
-            1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504
-            1.125-1.125V9.75M8.25 21h8.25"></path></svg>`);
-function rt(Q, N) {
-  let k = Ee(N, "opacity", 3, 0.9), v = Ee(N, "width", 3, "1.5rem"), X = Ee(N, "color", 3, "currentColor");
-  var A = et();
-  H(A, "stroke-width", 2), w(() => {
-    H(A, "stroke", X()), H(A, "width", v()), H(A, "opacity", k());
-  }), i(Q, A);
-}
-var tt = f('<div class="logo svelte-1gwy16z"><img alt="No Logo Available"></div>');
-function at(Q, N) {
-  console.log("rendering clientLogo");
-  var k = tt(), v = u(k);
-  c(k), w(() => H(v, "src", `/auth/v1/clients/${N.clientId}/logo`)), i(Q, k);
-}
-var ot = f('<a class="home svelte-1hqs85f"><!></a>'), st = f('<div class="forgotten svelte-1hqs85f"><!></div>'), it = f("<!> <!>", 1), nt = f('<div class="btn flex-col svelte-1hqs85f"><!></div>'), lt = f('<div class="btn flex-col svelte-1hqs85f"><!></div>'), dt = f("<!> <!> <!>", 1), vt = f('<a class="reg svelte-1hqs85f" target="_blank"> </a>'), ut = f('<a class="reg svelte-1hqs85f" href="/auth/v1/users/register" target="_blank"> </a>'), ct = f("<!> <!>", 1), ft = f('<div class="errMsg svelte-1hqs85f"> </div>'), ht = f('<div class="success svelte-1hqs85f"> </div>'), _t = f('<div class="btn flex-col svelte-1hqs85f"><!></div>'), mt = f('<div class="providers flex-col svelte-1hqs85f"><div class="providersSeparator svelte-1hqs85f"><div class="separator svelte-1hqs85f"></div> <div class="loginWith svelte-1hqs85f"><div class="svelte-1hqs85f"> </div></div></div> <!></div>'), gt = f('<div class="container svelte-1hqs85f"><div class="head svelte-1hqs85f"><!> <!></div> <div class="name svelte-1hqs85f"><h2> </h2></div> <!> <!> <!> <!> <!> <!></div> <!> <!>', 1), pt = f("<!> <!> <!> <!> <!> <!> <!>", 1);
-function Bt(Q, N) {
-  var _a;
-  Tr(N, true);
-  const k = "18rem";
-  let v = Jr(), X = tr().get(), A = ge(() => X ? "/auth/v1/dev/authorize" : "/auth/v1/oidc/authorize"), x = C("client_id").get(), le = l(""), S = l(o(X ? "/auth/v1" : "")), V = C("redirect_uri").get(), be = C("nonce").get(), xe = ((_a = C("scope").get()) == null ? void 0 : _a.split(" ")) || [], Pe = l(void 0), Le = l(void 0), Ie = C("state").get(), Y = C("code_challenge").get(), $ = C("code_challenge_method").get(), Ue = false, $e = l(void 0), de = l(o([])), ve = l(void 0), j = l(false), h = l(""), Z = l(""), ue = l(""), z = l(false), W = l(false), ce = l(false), fe = l(false), he = l(false), F = l(false), Ce = l(""), qe = l(false), P = l(o(C("login_hint").get() || "")), M = l(""), ye = l("");
-  Rr(() => {
-    var _a2;
-    e(z) || ((_a2 = e(Pe)) == null ? void 0 : _a2.focus());
-  }), ie(() => {
-    Ue && (x == null ? void 0 : x.length) && sr();
-  }), ie(() => {
-    e(he) && setTimeout(() => {
-      r(he, false), r(ce, false), r(fe, false);
-    }, 3e3);
-  }), ie(() => {
-    var _a2;
-    (_a2 = e(Le)) == null ? void 0 : _a2.focus();
-  }), ie(() => {
-    var _a2;
-    if (e(Z) === "Refresh") Ue = true;
-    else if ((_a2 = e(Z)) == null ? void 0 : _a2.startsWith("MfaLogin ")) {
-      let t = e(Z).replace("MfaLogin ", "");
-      r(P, o(t)), r($e, o(t));
-    }
-  }), ie(() => {
-    X ? ar() : e(ue) && rr(e(ue));
-  });
-  async function ar() {
-    var _a2;
-    let t = await ne("/auth/v1/oidc/session");
-    console.log("manual session", t.body), ((_a2 = t.body) == null ? void 0 : _a2.csrf_token) ? rr(t.body.csrf_token) : console.error(t.error);
-  }
-  function or() {
-    r(h, ""), r(ce, true), r(M, "");
-  }
-  async function sr() {
-    if (!x) {
-      console.error("clientId is undefined");
-      return;
-    }
-    if (!V) {
-      console.error("redirectUri is undefined");
-      return;
-    }
-    r(j, true);
-    const t = { client_id: x, redirect_uri: V, state: Ie, nonce: be, scopes: xe };
-    Y && $ && ($ === "plain" || $ === "S256") && (t.code_challenge = Y, t.code_challenge_method = $);
-    let n = await ne("/auth/v1/oidc/authorize/refresh", t);
-    await Ne(n);
-  }
-  async function ir(t, n) {
-    if (r(h, ""), !x) {
-      console.error("clientId is undefined");
-      return;
-    }
-    if (!V) {
-      console.error("redirectUri is undefined");
-      return;
-    }
-    const p = { email: e(P), client_id: x, redirect_uri: V, state: Ie, nonce: be, scopes: xe };
-    if (Y && $ && ($ === "plain" || $ === "S256") && (p.code_challenge = Y, p.code_challenge_method = $), e(z) && e(P) !== e($e)) {
-      if (!e(M)) {
-        r(h, o(v.authorize.passwordRequired));
-        return;
-      }
-      if (e(M).length > 256) {
-        r(h, "max 256");
-        return;
-      }
-      p.password = e(M);
-    }
-    r(j, true);
-    let b = "/auth/v1/oidc/authorize";
-    tr().get() && (b = "/auth/v1/dev/authorize");
-    let q = await ne(b, p);
-    await Ne(q);
-  }
-  async function Ne(t) {
-    if (t.status === 202) {
-      let n = t.headers.get("location");
-      if (!n) {
-        console.error("location header missing");
-        return;
-      }
-      window.location.replace(n);
-    } else if (t.status === 200) {
-      r(h, "");
-      let n = t.body;
-      n && "user_id" in n && "code" in n ? (r(ye, o(n.user_id)), r(ve, o({ Login: n.code }))) : console.error("did not receive a proper WebauthnLoginResponse after HTTP200");
-    } else if (t.status === 406) r(h, o(v.authorize.clientForceMfa)), r(W, true);
-    else if (t.status === 429) {
-      let n = t.headers.get("x-retry-not-before");
-      if (!n) {
-        console.error("x-retry-not-before header missing");
-        return;
-      }
-      let p = Number.parseInt(n), b = Fr(p), q = p * 1e3 - (/* @__PURE__ */ new Date()).getTime();
-      r(F, true), r(h, `${v.authorize.http429} ${b}`), r(P, ""), r(M, ""), r(z, false), setTimeout(() => {
-        r(F, false), r(h, "");
-      }, q);
-    } else e(z) ? (r(h, o(v.authorize.invalidCredentials)), r(fe, true)) : (r(z, true), r(Ce, o(e(P))));
-    r(j, false);
-  }
-  function nr() {
-    e(z) && e(Ce) !== e(P) && (r(z, false), r(M, ""), r(h, ""));
-  }
-  function lr(t) {
-    Dr(64, (n, { challenge: p, verifier: b }) => {
-      n || (localStorage.setItem(Or, b), dr(t, p));
-    });
-  }
-  async function dr(t, n) {
-    var _a2;
-    if (!x) {
-      console.error("clientId is undefined");
-      return;
-    }
-    if (!V) {
-      console.error("redirectUri is undefined");
-      return;
-    }
-    let p = { email: e(P) || void 0, client_id: x, redirect_uri: V, scopes: xe, state: Ie, nonce: be, code_challenge: Y, code_challenge_method: $, provider_id: t, pkce_challenge: n }, b = await ne("/auth/v1/providers/login", p);
-    if (b.text) {
-      Br(b.text);
-      let q = b.headers.get("location");
-      if (!q) {
-        console.error("no location header set for provider login");
-        return;
-      }
-      window.location.href = q;
-    } else r(h, o(((_a2 = b.error) == null ? void 0 : _a2.message) || "Error"));
-  }
-  function vr(t) {
-    r(ve, void 0), r(h, o(t));
-  }
-  function ur(t) {
-    console.log("onWebauthnSuccess", t), t && "loc" in t && window.location.replace(t.loc);
-  }
-  async function cr() {
-    let t = { email: e(P) };
-    e(S) && (t.redirect_uri = encodeURI(e(S))), r(j, true);
-    let n = await ne("/auth/v1/users/request_reset", t);
-    n.error ? r(h, o(n.error.message)) : r(he, true), r(j, false);
-  }
-  var Ae = pt();
-  zr((t) => {
-    w(() => Sr.title = `Login ${(e(le) || x) ?? ""}`);
-  });
-  var We = B(Ae);
-  J(We, { id: Er, get value() {
-    return e(de);
-  }, set value(t) {
-    r(de, o(t));
-  } });
-  var Fe = d(We, 2);
-  J(Fe, { id: Ur, get value() {
-    return e(le);
-  }, set value(t) {
-    r(le, o(t));
-  } });
-  var De = d(Fe, 2);
-  J(De, { id: Cr, get value() {
-    return e(S);
-  }, set value(t) {
-    r(S, o(t));
-  } });
-  var Oe = d(De, 2);
-  J(Oe, { id: Nr, get value() {
-    return e(ue);
-  }, set value(t) {
-    r(ue, o(t));
-  } });
-  var Be = d(Oe, 2);
-  J(Be, { id: Ar, get value() {
-    return e(Z);
-  }, set value(t) {
-    r(Z, o(t));
-  } });
-  var He = d(Be, 2);
-  J(He, { id: Wr, get value() {
-    return e(qe);
-  }, set value(t) {
-    r(qe, o(t));
-  } });
-  var fr = d(He, 2);
-  Kr(fr, { children: (t, n) => {
-    Gr(t, { children: (p, b) => {
-      var q = gt(), Te = B(q), Re = u(Te), Ve = u(Re);
-      {
-        var hr = (a) => {
-          at(a, { clientId: x });
-        };
-        g(Ve, (a) => {
-          x && a(hr);
-        });
-      }
-      var _r = d(Ve, 2);
-      {
-        var mr = (a) => {
-          var s = ot(), m = u(s);
-          rt(m, { color: "hsla(var(--text) / .4)" }), c(s), w(() => H(s, "href", e(S))), i(a, s);
-        };
-        g(_r, (a) => {
-          e(S) && a(mr);
-        });
-      }
-      c(Re);
-      var ke = d(Re, 2), je = u(ke), gr = u(je, true);
-      c(je), c(ke);
-      var Ke = d(ke, 2);
-      {
-        var pr = (a) => {
-          Hr(a, { get userId() {
-            return e(ye);
-          }, get purpose() {
-            return e(ve);
-          }, onSuccess: ur, onError: vr });
-        };
-        g(Ke, (a) => {
-          e(ve) && e(ye) && a(pr);
-        });
-      }
-      var Ge = d(Ke, 2);
-      {
-        var wr = (a) => {
-          var s = ct(), m = B(s);
-          Yr(m, { get action() {
-            return e(A);
-          }, onSubmit: ir, children: (y, re) => {
-            var E = dt(), D = B(E);
-            const te = ge(() => e(F) || e(W));
-            Vr(D, { typ: "email", name: "email", autocomplete: "email", get label() {
-              return v.common.email;
-            }, get placeholder() {
-              return v.common.email;
-            }, get disabled() {
-              return e(te);
-            }, onInput: nr, width: k, required: true, get ref() {
-              return e(Pe);
-            }, set ref(L) {
-              r(Pe, o(L));
-            }, get value() {
-              return e(P);
-            }, set value(L) {
-              r(P, o(L));
-            } });
-            var T = d(D, 2);
-            {
-              var I = (L) => {
-                var oe = it(), _e = B(oe);
-                const Se = ge(() => e(F) || e(W));
-                Xr(_e, { name: "password", autocomplete: "current-password", get label() {
-                  return v.common.password;
-                }, get placeholder() {
-                  return v.common.password;
-                }, maxLength: 256, get disabled() {
-                  return e(Se);
-                }, width: k, required: true, get ref() {
-                  return e(Le);
-                }, set ref(_) {
-                  r(Le, o(_));
-                }, get value() {
-                  return e(M);
-                }, set value(_) {
-                  r(M, o(_));
-                } });
-                var ze = d(_e, 2);
-                {
-                  var U = (_) => {
-                    var O = st(), se = u(O);
-                    we(se, { invisible: true, onclick: or, children: (Me, G) => {
-                      pe();
-                      var Ze = me();
-                      w(() => R(Ze, v.authorize.passwordForgotten)), i(Me, Ze);
-                    }, $$slots: { default: true } }), c(O), i(_, O);
-                  };
-                  g(ze, (_) => {
-                    e(fe) && !e(F) && _(U);
-                  });
-                }
-                i(L, oe);
-              };
-              g(T, (L) => {
-                e(z) && e($e) !== e(P) && !e(ce) && L(I);
-              });
-            }
-            var ae = d(T, 2);
-            {
-              var qr = (L) => {
-                var oe = er(), _e = B(oe);
-                {
-                  var Se = (U) => {
-                    var _ = nt(), O = u(_);
-                    we(O, { onclick: cr, children: (se, Me) => {
-                      pe();
-                      var G = me();
-                      w(() => R(G, v.authorize.passwordRequest)), i(se, G);
-                    }, $$slots: { default: true } }), c(_), i(U, _);
-                  }, ze = (U) => {
-                    var _ = lt(), O = u(_);
-                    we(O, { type: "submit", get isLoading() {
-                      return e(j);
-                    }, children: (se, Me) => {
-                      pe();
-                      var G = me();
-                      w(() => R(G, v.authorize.login)), i(se, G);
-                    }, $$slots: { default: true } }), c(_), i(U, _);
-                  };
-                  g(_e, (U) => {
-                    e(ce) ? U(Se) : U(ze, false);
-                  });
-                }
-                i(L, oe);
-              };
-              g(ae, (L) => {
-                !e(F) && !e(W) && L(qr);
-              });
-            }
-            i(y, E);
-          }, $$slots: { default: true } });
-          var K = d(m, 2);
-          {
-            var ee = (y) => {
-              var re = er(), E = B(re);
-              {
-                var D = (T) => {
-                  var I = vt(), ae = u(I, true);
-                  c(I), w(() => {
-                    H(I, "href", `/auth/v1/users/register?redirect_uri=${e(S) ?? ""}`), R(ae, v.authorize.signUp);
-                  }), i(T, I);
-                }, te = (T) => {
-                  var I = ut(), ae = u(I, true);
-                  c(I), w(() => R(ae, v.authorize.signUp)), i(T, I);
-                };
-                g(E, (T) => {
-                  e(S) ? T(D) : T(te, false);
-                });
-              }
-              i(y, re);
-            };
-            g(K, (y) => {
-              e(qe) && !e(fe) && !e(F) && y(ee);
-            });
-          }
-          i(a, s);
-        };
-        g(Ge, (a) => {
-          e(W) || a(wr);
-        });
-      }
-      var Je = d(Ge, 2);
-      {
-        var br = (a) => {
-          var s = ft(), m = u(s, true);
-          c(s), w(() => R(m, e(h))), i(a, s);
-        };
-        g(Je, (a) => {
-          e(h) && a(br);
-        });
-      }
-      var Qe = d(Je, 2);
-      {
-        var xr = (a) => {
-          var s = ht(), m = u(s, true);
-          c(s), w(() => R(m, v.authorize.emailSentMsg)), i(a, s);
-        };
-        g(Qe, (a) => {
-          e(he) && a(xr);
-        });
-      }
-      var Xe = d(Qe, 2);
-      {
-        var Pr = (a) => {
-          var s = _t(), m = u(s);
-          we(m, { onclick: () => window.location.href = "/auth/v1/account", children: (K, ee) => {
-            pe();
-            var y = me("Account");
-            i(K, y);
-          }, $$slots: { default: true } }), c(s), i(a, s);
-        };
-        g(Xe, (a) => {
-          e(W) && a(Pr);
-        });
-      }
-      var Lr = d(Xe, 2);
-      {
-        var Ir = (a) => {
-          var s = mt(), m = u(s), K = d(u(m), 2), ee = u(K), y = u(ee, true);
-          c(ee), c(K), c(m);
-          var re = d(m, 2);
-          Mr(re, 17, () => e(de), (E) => E.id, (E, D) => {
-            const te = ge(() => `Login: ${e(D).name}`);
-            Zr(E, { get ariaLabel() {
-              return e(te);
-            }, get provider() {
-              return e(D);
-            }, onclick: lr });
-          }), c(s), w(() => R(y, v.authorize.orLoginWith)), i(a, s);
-        };
-        g(Lr, (a) => {
-          !e(W) && e(de) && a(Ir);
-        });
-      }
-      c(Te);
-      var Ye = d(Te, 2);
-      Qr(Ye, { absolute: true });
-      var $r = d(Ye, 2);
-      jr($r, { absolute: true }), w(() => R(gr, e(le) || x)), i(p, q);
-    } });
-  } }), i(Q, Ae), kr();
-}
-export {
-  Bt as component
-};
diff --git a/static/v1/_app/immutable/nodes/29.DA67qI89.js.br b/static/v1/_app/immutable/nodes/29.DA67qI89.js.br
deleted file mode 100644
index dbee04d1..00000000
Binary files a/static/v1/_app/immutable/nodes/29.DA67qI89.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/29.DA67qI89.js.gz b/static/v1/_app/immutable/nodes/29.DA67qI89.js.gz
deleted file mode 100644
index b7fce8ef..00000000
Binary files a/static/v1/_app/immutable/nodes/29.DA67qI89.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.BdrLi89M.js.br b/static/v1/_app/immutable/nodes/3.BdrLi89M.js.br
deleted file mode 100644
index 9aee3fee..00000000
Binary files a/static/v1/_app/immutable/nodes/3.BdrLi89M.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.BdrLi89M.js.gz b/static/v1/_app/immutable/nodes/3.BdrLi89M.js.gz
deleted file mode 100644
index ad6350ef..00000000
Binary files a/static/v1/_app/immutable/nodes/3.BdrLi89M.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.BdrLi89M.js b/static/v1/_app/immutable/nodes/3.l69RoGkC.js
similarity index 92%
rename from static/v1/_app/immutable/nodes/3.BdrLi89M.js
rename to static/v1/_app/immutable/nodes/3.l69RoGkC.js
index 3ecce432..30d91be3 100644
--- a/static/v1/_app/immutable/nodes/3.BdrLi89M.js
+++ b/static/v1/_app/immutable/nodes/3.l69RoGkC.js
@@ -2,14 +2,14 @@ import { t as y, d as A, a as e, e as f } from "../chunks/BH6NCLk-.js";
 import { p as N, c as C, f as c, r as I, t as x, j as H, a9 as J, a as S, s as h, a7 as u } from "../chunks/CvlvO1XB.js";
 import { s as b } from "../chunks/CTI4QPiR.js";
 import { s as j } from "../chunks/-T201g_q.js";
-import { N as K } from "../chunks/D3G2nKoD.js";
+import { N as K } from "../chunks/DpcgKHU5.js";
 import { s as L } from "../chunks/BMbqVy6X.js";
 import { p as U } from "../chunks/C6SR4G2t.js";
-import { p as P } from "../chunks/DM7UbbyI.js";
-import { A as q } from "../chunks/B6SEzQuS.js";
+import { p as P } from "../chunks/BDMwC9Hh.js";
+import { A as q } from "../chunks/gtHtP0A2.js";
 import { C as z } from "../chunks/BnPoFdx3.js";
 import { u as B } from "../chunks/D8mHI_K9.js";
-import { u as D } from "../chunks/DOl8_ubJ.js";
+import { u as D } from "../chunks/BQ1-pLIs.js";
 var E = y('<div class="a svelte-o3vxt1"><!></div>');
 function v(p, t) {
   N(t, true);
diff --git a/static/v1/_app/immutable/nodes/3.l69RoGkC.js.br b/static/v1/_app/immutable/nodes/3.l69RoGkC.js.br
new file mode 100644
index 00000000..3b378531
Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.l69RoGkC.js.br differ
diff --git a/static/v1/_app/immutable/nodes/3.l69RoGkC.js.gz b/static/v1/_app/immutable/nodes/3.l69RoGkC.js.gz
new file mode 100644
index 00000000..1ecb4eab
Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.l69RoGkC.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js b/static/v1/_app/immutable/nodes/30.BD24N91H.js
similarity index 95%
rename from static/v1/_app/immutable/nodes/30.DKxwCpbn.js
rename to static/v1/_app/immutable/nodes/30.BD24N91H.js
index a9f7a775..adef9b45 100644
--- a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js
+++ b/static/v1/_app/immutable/nodes/30.BD24N91H.js
@@ -3,8 +3,8 @@ import { p as g, a5 as T, f as w, a as E, a6 as R, l as n, k as y, j as d, c as
 import { h as U, s as b } from "../chunks/CTI4QPiR.js";
 import { i as A } from "../chunks/BUO_AUgz.js";
 import { p as f } from "../chunks/Wh68IIk2.js";
-import { R as $, b as D, c as P, s as z, d as F, e as L, f as V, h as X } from "../chunks/CGXT-546.js";
-import { u as l } from "../chunks/D45liQ4S.js";
+import { R as $, b as D, c as P, s as z, d as F, e as L, f as V, h as X } from "../chunks/BaE7H8ny.js";
+import { u as l } from "../chunks/Beqa1JKV.js";
 var B = S('<div class="err"> </div>');
 function Q(m, _) {
   g(_, true);
diff --git a/static/v1/_app/immutable/nodes/30.BD24N91H.js.br b/static/v1/_app/immutable/nodes/30.BD24N91H.js.br
new file mode 100644
index 00000000..3bf8bdfc
Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.BD24N91H.js.br differ
diff --git a/static/v1/_app/immutable/nodes/30.BD24N91H.js.gz b/static/v1/_app/immutable/nodes/30.BD24N91H.js.gz
new file mode 100644
index 00000000..4123d396
Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.BD24N91H.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.br b/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.br
deleted file mode 100644
index 50e0ce5a..00000000
Binary files a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.gz b/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.gz
deleted file mode 100644
index 6f602442..00000000
Binary files a/static/v1/_app/immutable/nodes/30.DKxwCpbn.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.br b/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.br
deleted file mode 100644
index 3b910cab..00000000
Binary files a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.gz b/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.gz
deleted file mode 100644
index 0f710f3d..00000000
Binary files a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js
similarity index 50%
rename from static/v1/_app/immutable/nodes/31.CtOiUn7l.js
rename to static/v1/_app/immutable/nodes/31.DUB-QuMg.js
index ea958be6..92822dcf 100644
--- a/static/v1/_app/immutable/nodes/31.CtOiUn7l.js
+++ b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js
@@ -1,25 +1,25 @@
 import { t as E, a as l, e as S } from "../chunks/BH6NCLk-.js";
-import { p as J, aa as j, f as q, a as Q, t as n, l as y, k as M, j as u, s as o, a6 as U, c, r as m, a7 as B } from "../chunks/CvlvO1XB.js";
+import { p as J, aa as j, f as q, a as Q, t as n, l as y, k as M, j as u, s as e, a6 as U, c as m, r as c, a7 as B } from "../chunks/CvlvO1XB.js";
 import { h as V, s as p } from "../chunks/CTI4QPiR.js";
 import { i as W } from "../chunks/BUO_AUgz.js";
 import { p as D } from "../chunks/Wh68IIk2.js";
-import { q as X, e as Y, t as Z } from "../chunks/CGXT-546.js";
+import { q as X, e as Y, t as Z } from "../chunks/BaE7H8ny.js";
 import { B as I } from "../chunks/DMkkW5Nn.js";
-import { u as tt } from "../chunks/DOl8_ubJ.js";
-import { M as ot } from "../chunks/Ds6bXi0i.js";
-import { C as et } from "../chunks/GWgockW8.js";
-import { L as at } from "../chunks/KFFqpuZ0.js";
-import { T as rt } from "../chunks/DSw3WKCO.js";
-import { u as _ } from "../chunks/D45liQ4S.js";
-import { T as st } from "../chunks/DNdifVes.js";
-import { b as it } from "../chunks/bbkAiDd0.js";
+import { u as tt } from "../chunks/BQ1-pLIs.js";
+import { M as et } from "../chunks/Ds6bXi0i.js";
+import { C as ot } from "../chunks/GWgockW8.js";
+import { L as at } from "../chunks/DUtP9z1z.js";
+import { T as rt } from "../chunks/DcJo-CQ6.js";
+import { u as _ } from "../chunks/Beqa1JKV.js";
+import { T as st } from "../chunks/CVHA2fPQ.js";
+import { b as it } from "../chunks/CBGoQiUs.js";
 import { u as lt } from "../chunks/BMFqJ6Jy.js";
 var nt = E('<div class="container svelte-7qsjv3"><h1> </h1> <p> </p> <div class="btn svelte-7qsjv3"><!> <!></div> <!></div> <!> <!>', 1), ut = E("<!> <!>", 1);
 function Ct(F, K) {
   J(K, true);
-  let e = tt(), h = M(false), s = M(""), $ = D({ post_logout_redirect_uri: _("post_logout_redirect_uri").get(), id_token_hint: _("id_token_hint").get(), state: _("state").get() });
+  let o = tt(), h = M(false), r = M(""), $ = D({ post_logout_redirect_uri: _("post_logout_redirect_uri").get(), id_token_hint: _("id_token_hint").get(), state: _("state").get() });
   j(() => {
-    u(s) && Y(u(s));
+    u(r) && Y(u(r));
   }), j(() => {
     $.id_token_hint && x();
   });
@@ -32,49 +32,49 @@ function Ct(F, K) {
     lt().get() && (t = "/auth/v1/dev/logout");
     let L = await it(t, $, "form");
     Z();
-    let a = L.headers.get("location");
-    console.log("loc", a), a ? window.location.replace(a) : await k();
+    let s = L.headers.get("location");
+    s ? window.location.replace(s) : await k();
   }
   var T = ut();
   V((t) => {
-    n(() => U.title = (e == null ? void 0 : e.logout.logout) || "Logout");
+    n(() => U.title = (o == null ? void 0 : o.logout.logout) || "Logout");
   });
   var w = q(T);
   rt(w, { id: X, get value() {
-    return u(s);
+    return u(r);
   }, set value(t) {
-    y(s, D(t));
+    y(r, D(t));
   } });
-  var N = o(w, 2);
-  ot(N, { children: (t, L) => {
-    et(t, { children: (a, ct) => {
-      var P = nt(), d = q(P), f = c(d), O = c(f, true);
-      m(f);
-      var v = o(f, 2), R = c(v, true);
-      m(v);
-      var g = o(v, 2), b = c(g);
+  var N = e(w, 2);
+  et(N, { children: (t, L) => {
+    ot(t, { children: (s, mt) => {
+      var P = nt(), d = q(P), f = m(d), O = m(f, true);
+      c(f);
+      var v = e(f, 2), R = m(v, true);
+      c(v);
+      var g = e(v, 2), b = m(g);
       I(b, { onclick: x, get isLoading() {
         return u(h);
       }, children: (i, H) => {
         B();
-        var r = S();
-        n(() => p(r, e.logout.logout)), l(i, r);
+        var a = S();
+        n(() => p(a, o.logout.logout)), l(i, a);
       }, $$slots: { default: true } });
-      var z = o(b, 2);
+      var z = e(b, 2);
       I(z, { level: 3, onclick: k, children: (i, H) => {
         B();
-        var r = S();
-        n(() => p(r, e.common.cancel)), l(i, r);
-      }, $$slots: { default: true } }), m(g);
-      var A = o(g, 2);
+        var a = S();
+        n(() => p(a, o.common.cancel)), l(i, a);
+      }, $$slots: { default: true } }), c(g);
+      var A = e(g, 2);
       W(A, (i) => {
-      }), m(d);
-      var C = o(d, 2);
+      }), c(d);
+      var C = e(d, 2);
       st(C, { absolute: true });
-      var G = o(C, 2);
+      var G = e(C, 2);
       at(G, { absolute: true }), n(() => {
-        p(O, e.logout.logout), p(R, e.logout.confirmMsg);
-      }), l(a, P);
+        p(O, o.logout.logout), p(R, o.logout.confirmMsg);
+      }), l(s, P);
     } });
   } }), l(F, T), Q();
 }
diff --git a/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.br b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.br
new file mode 100644
index 00000000..d1f7876b
Binary files /dev/null and b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.br differ
diff --git a/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.gz b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.gz
new file mode 100644
index 00000000..11132886
Binary files /dev/null and b/static/v1/_app/immutable/nodes/31.DUB-QuMg.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js
new file mode 100644
index 00000000..0d841851
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js
@@ -0,0 +1,105 @@
+import { t as k, a as i, d as L, e as z } from "../chunks/BH6NCLk-.js";
+import { p as A, a5 as C, f as w, a as D, a6 as V, s as S, l as a, k as p, j as s, c as W, a7 as G, r as F, t as J } from "../chunks/CvlvO1XB.js";
+import { h as K, s as N } from "../chunks/CTI4QPiR.js";
+import { i as x } from "../chunks/BUO_AUgz.js";
+import { p as c } from "../chunks/Wh68IIk2.js";
+import { u as O, v as Q } from "../chunks/BaE7H8ny.js";
+import { W as X } from "../chunks/8x1xiTUd.js";
+import { L as Y } from "../chunks/DUtP9z1z.js";
+import { B as Z } from "../chunks/DMkkW5Nn.js";
+import { u as ee } from "../chunks/BQ1-pLIs.js";
+import { u as v } from "../chunks/Beqa1JKV.js";
+import { T as te } from "../chunks/CVHA2fPQ.js";
+import { b as re } from "../chunks/CBGoQiUs.js";
+import { u as ae } from "../chunks/BMFqJ6Jy.js";
+var oe = k('<div class="btn flex-col svelte-17xvymb"><!></div>'), se = k('<div class="err"> </div>'), ie = k("<!> <!> <!>", 1);
+function xe(I, R) {
+  A(R, true);
+  let E = ee(), T = p(false), o = p(""), g = p(void 0), u = p(void 0);
+  C(async () => {
+    var _a, _b;
+    let t = v("error").get();
+    if (t) {
+      let r = v("error_description").get();
+      a(o, `${t}: ${r}`);
+      return;
+    }
+    let n = v("state").get();
+    if (!n) {
+      a(o, "'state' is missing in URL");
+      return;
+    }
+    let f = v("code").get();
+    if (!f) {
+      a(o, "'code' is missing in URL");
+      return;
+    }
+    let h = { state: n, code: f, pkce_verifier: Q(), xsrf_token: O() }, d = "/auth/v1/providers/callback";
+    ae().get() && (d = "/auth/v1/dev/providers_callback");
+    let e = await re(d, h);
+    if (e.status === 202) window.location.replace(e.headers.get("location") || "/auth/v1/account");
+    else if (e.status === 200) {
+      a(o, "");
+      let r = e.body;
+      r && "user_id" in r && "code" in r ? (a(g, c(r.user_id)), a(u, c({ Login: r.code }))) : console.error("did not receive a proper WebauthnLoginResponse after HTTP200");
+    } else e.status === 204 ? window.location.replace("/auth/v1/account") : e.status === 403 ? a(o, c(((_a = e.error) == null ? void 0 : _a.message) || "HTTP 403 Forbidden")) : e.status === 406 ? (a(o, c(E.authorize.clientForceMfa)), a(T, true)) : a(o, `HTTP ${e.status}: ${(_b = e.error) == null ? void 0 : _b.message}`);
+  });
+  function H(t) {
+    a(o, c(t)), a(u, void 0);
+  }
+  function M(t) {
+    t && "loc" in t && window.location.replace(t.loc);
+  }
+  var P = ie();
+  K((t) => {
+    V.title = "Callback";
+  });
+  var $ = w(P);
+  {
+    var U = (t) => {
+      X(t, { get userId() {
+        return s(g);
+      }, get purpose() {
+        return s(u);
+      }, onSuccess: M, onError: H });
+    }, B = (t) => {
+      var n = L(), f = w(n);
+      {
+        var h = (e) => {
+          var r = oe(), _ = W(r);
+          Z(_, { onclick: () => window.location.href = "/auth/v1/account", children: (b, m) => {
+            G();
+            var l = z("Account");
+            i(b, l);
+          }, $$slots: { default: true } }), F(r), i(e, r);
+        }, d = (e) => {
+          var r = L(), _ = w(r);
+          {
+            var b = (m) => {
+              var l = se(), q = W(l, true);
+              F(l), J(() => N(q, s(o))), i(m, l);
+            };
+            x(_, (m) => {
+              s(o) && m(b);
+            }, true);
+          }
+          i(e, r);
+        };
+        x(f, (e) => {
+          s(T) ? e(h) : e(d, false);
+        }, true);
+      }
+      i(t, n);
+    };
+    x($, (t) => {
+      s(u) && s(g) ? t(U) : t(B, false);
+    });
+  }
+  var y = S($, 2);
+  te(y, { absolute: true });
+  var j = S(y, 2);
+  Y(j, { absolute: true }), i(I, P), D();
+}
+export {
+  xe as component
+};
diff --git a/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.br b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.br
new file mode 100644
index 00000000..970ec14b
Binary files /dev/null and b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.br differ
diff --git a/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.gz b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.gz
new file mode 100644
index 00000000..5c236bca
Binary files /dev/null and b/static/v1/_app/immutable/nodes/32.C-mQ_uZK.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js b/static/v1/_app/immutable/nodes/32.CbsB9tfv.js
deleted file mode 100644
index 93660a48..00000000
--- a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js
+++ /dev/null
@@ -1,105 +0,0 @@
-import { t as k, a as i, d as L, e as z } from "../chunks/BH6NCLk-.js";
-import { p as A, a5 as C, f as w, a as D, a6 as V, s as S, l as o, k as p, j as s, c as W, a7 as G, r as F, t as J } from "../chunks/CvlvO1XB.js";
-import { h as K, s as N } from "../chunks/CTI4QPiR.js";
-import { i as x } from "../chunks/BUO_AUgz.js";
-import { p as c } from "../chunks/Wh68IIk2.js";
-import { u as O, v as Q } from "../chunks/CGXT-546.js";
-import { W as X } from "../chunks/CY7Th9O-.js";
-import { L as Y } from "../chunks/KFFqpuZ0.js";
-import { B as Z } from "../chunks/DMkkW5Nn.js";
-import { u as ee } from "../chunks/DOl8_ubJ.js";
-import { u as v } from "../chunks/D45liQ4S.js";
-import { T as te } from "../chunks/DNdifVes.js";
-import { b as re } from "../chunks/bbkAiDd0.js";
-import { u as oe } from "../chunks/BMFqJ6Jy.js";
-var ae = k('<div class="btn flex-col svelte-17xvymb"><!></div>'), se = k('<div class="err"> </div>'), ie = k("<!> <!> <!>", 1);
-function xe(I, R) {
-  A(R, true);
-  let E = ee(), T = p(false), a = p(""), g = p(void 0), u = p(void 0);
-  C(async () => {
-    var _a, _b;
-    let e = v("error").get();
-    if (e) {
-      let r = v("error_description").get();
-      o(a, `${e}: ${r}`);
-      return;
-    }
-    let n = v("state").get();
-    if (!n) {
-      o(a, "'state' is missing in URL");
-      return;
-    }
-    let f = v("code").get();
-    if (!f) {
-      o(a, "'code' is missing in URL");
-      return;
-    }
-    let h = { state: n, code: f, pkce_verifier: Q(), xsrf_token: O() }, d = "/auth/v1/providers/callback";
-    oe().get() && (d = "/auth/v1/dev/providers_callback");
-    let t = await re(d, h);
-    if (t.status === 202) window.location.replace(t.headers.get("location") || "/auth/v1/account");
-    else if (t.status === 200) {
-      o(a, "");
-      let r = t.body;
-      r && "user_id" in r && "code" in r ? (o(g, c(r.user_id)), o(u, c({ Login: r.code }))) : console.error("did not receive a proper WebauthnLoginResponse after HTTP200");
-    } else t.status === 204 ? window.location.replace("/auth/v1/account") : t.status === 403 ? o(a, c(((_a = t.error) == null ? void 0 : _a.message) || "HTTP 403 Forbidden")) : t.status === 406 ? (o(a, c(E.authorize.clientForceMfa)), o(T, true)) : o(a, `HTTP ${t.status}: ${(_b = t.error) == null ? void 0 : _b.message}`);
-  });
-  function H(e) {
-    o(a, c(e)), o(u, void 0);
-  }
-  function M(e) {
-    console.log("onWebauthnSuccess", e), e && "loc" in e && window.location.replace(e.loc);
-  }
-  var P = ie();
-  K((e) => {
-    V.title = "Callback";
-  });
-  var $ = w(P);
-  {
-    var U = (e) => {
-      X(e, { get userId() {
-        return s(g);
-      }, get purpose() {
-        return s(u);
-      }, onSuccess: M, onError: H });
-    }, B = (e) => {
-      var n = L(), f = w(n);
-      {
-        var h = (t) => {
-          var r = ae(), _ = W(r);
-          Z(_, { onclick: () => window.location.href = "/auth/v1/account", children: (b, m) => {
-            G();
-            var l = z("Account");
-            i(b, l);
-          }, $$slots: { default: true } }), F(r), i(t, r);
-        }, d = (t) => {
-          var r = L(), _ = w(r);
-          {
-            var b = (m) => {
-              var l = se(), q = W(l, true);
-              F(l), J(() => N(q, s(a))), i(m, l);
-            };
-            x(_, (m) => {
-              s(a) && m(b);
-            }, true);
-          }
-          i(t, r);
-        };
-        x(f, (t) => {
-          s(T) ? t(h) : t(d, false);
-        }, true);
-      }
-      i(e, n);
-    };
-    x($, (e) => {
-      s(u) && s(g) ? e(U) : e(B, false);
-    });
-  }
-  var y = S($, 2);
-  te(y, { absolute: true });
-  var j = S(y, 2);
-  Y(j, { absolute: true }), i(I, P), D();
-}
-export {
-  xe as component
-};
diff --git a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.br b/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.br
deleted file mode 100644
index 2af136f4..00000000
Binary files a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.gz b/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.gz
deleted file mode 100644
index 6f74f29b..00000000
Binary files a/static/v1/_app/immutable/nodes/32.CbsB9tfv.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js
similarity index 92%
rename from static/v1/_app/immutable/nodes/33.OtAFFFhr.js
rename to static/v1/_app/immutable/nodes/33.BXNZmzIf.js
index 8724c0d3..ce10db71 100644
--- a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js
+++ b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js
@@ -5,19 +5,19 @@ import { i as R } from "../chunks/BUO_AUgz.js";
 import { r as ge, b as he } from "../chunks/BMbqVy6X.js";
 import { p as B } from "../chunks/Wh68IIk2.js";
 import { B as $e } from "../chunks/DMkkW5Nn.js";
-import { w as be } from "../chunks/CGXT-546.js";
-import { I as F } from "../chunks/DmeAqnkr.js";
-import { L as xe } from "../chunks/KFFqpuZ0.js";
+import { w as be } from "../chunks/BaE7H8ny.js";
+import { I as F } from "../chunks/BtKnbFDH.js";
+import { L as xe } from "../chunks/DUtP9z1z.js";
 import { M as ye } from "../chunks/Ds6bXi0i.js";
 import { C as we } from "../chunks/GWgockW8.js";
-import { u as Te } from "../chunks/DOl8_ubJ.js";
-import { T as Ee } from "../chunks/DSw3WKCO.js";
-import { u as Pe } from "../chunks/D45liQ4S.js";
-import { T as Ie } from "../chunks/DNdifVes.js";
-import { F as Ne } from "../chunks/CqS1e6KT.js";
+import { u as Te } from "../chunks/BQ1-pLIs.js";
+import { T as Ee } from "../chunks/DcJo-CQ6.js";
+import { u as Pe } from "../chunks/Beqa1JKV.js";
+import { T as Ie } from "../chunks/CVHA2fPQ.js";
+import { F as Ne } from "../chunks/BS0DIDHc.js";
 import { u as Re } from "../chunks/BMFqJ6Jy.js";
 import { b as G } from "../chunks/BRCxk8by.js";
-import { b as Ae } from "../chunks/bbkAiDd0.js";
+import { b as Ae } from "../chunks/CBGoQiUs.js";
 var Le = c(" <br> <code> </code>", 1), Me = c('<input type="hidden" name="redirect_uri">'), Ce = c('<div class="success svelte-cul8ah"> <br> </div>'), De = c('<div class="err svelte-cul8ah"> </div>'), Se = c('<!> <!> <!> <!> <div class="submit svelte-cul8ah"><!></div> <!>', 1), Ue = c('<div class="container svelte-cul8ah"><div class="domainTxt svelte-cul8ah"><h1> </h1> <!></div> <!></div> <!> <!>', 1), ke = c("<!> <!>", 1);
 function or(H, J) {
   ue(J, true);
diff --git a/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.br b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.br
new file mode 100644
index 00000000..0a7d3050
Binary files /dev/null and b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.br differ
diff --git a/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.gz b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.gz
new file mode 100644
index 00000000..d5b85be7
Binary files /dev/null and b/static/v1/_app/immutable/nodes/33.BXNZmzIf.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.br b/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.br
deleted file mode 100644
index 6db932fc..00000000
Binary files a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.gz b/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.gz
deleted file mode 100644
index 08dd1b2f..00000000
Binary files a/static/v1/_app/immutable/nodes/33.OtAFFFhr.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/34.ROMYE5og.js b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js
similarity index 89%
rename from static/v1/_app/immutable/nodes/34.ROMYE5og.js
rename to static/v1/_app/immutable/nodes/34.DmjpaHaQ.js
index d882c85c..413ceb1c 100644
--- a/static/v1/_app/immutable/nodes/34.ROMYE5og.js
+++ b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js
@@ -2,14 +2,14 @@ import { t as y, a as c, e as G } from "../chunks/BH6NCLk-.js";
 import { p as H, f as M, a as J, t as _, l as P, k as E, j as i, s as e, a6 as K, c as t, r as a, a7 as Q } from "../chunks/CvlvO1XB.js";
 import { h as R, s as r } from "../chunks/CTI4QPiR.js";
 import { p as I } from "../chunks/Wh68IIk2.js";
-import { L as U } from "../chunks/KFFqpuZ0.js";
+import { L as U } from "../chunks/DUtP9z1z.js";
 import { B as V } from "../chunks/DMkkW5Nn.js";
 import { M as X } from "../chunks/Ds6bXi0i.js";
 import { C as Y } from "../chunks/GWgockW8.js";
-import { u as Z } from "../chunks/DOl8_ubJ.js";
-import { T as k } from "../chunks/DSw3WKCO.js";
-import { x as ee, y as te } from "../chunks/CGXT-546.js";
-import { T as ae } from "../chunks/DNdifVes.js";
+import { u as Z } from "../chunks/BQ1-pLIs.js";
+import { T as k } from "../chunks/DcJo-CQ6.js";
+import { x as ee, y as te } from "../chunks/BaE7H8ny.js";
+import { T as ae } from "../chunks/CVHA2fPQ.js";
 var re = y('<div class="container svelte-1g19pwu"><h1> </h1> <p class="svelte-1g19pwu"> <br> <b> </b> <b> </b></p> <p class="svelte-1g19pwu"> </p> <div class="btn svelte-1g19pwu"><!></div></div> <!> <!>', 1), oe = y("<!> <!> <!>", 1);
 function $e(A, B) {
   H(B, true);
diff --git a/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.br b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.br
new file mode 100644
index 00000000..fc170977
Binary files /dev/null and b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.br differ
diff --git a/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.gz b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.gz
new file mode 100644
index 00000000..18d9f0ac
Binary files /dev/null and b/static/v1/_app/immutable/nodes/34.DmjpaHaQ.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/34.ROMYE5og.js.br b/static/v1/_app/immutable/nodes/34.ROMYE5og.js.br
deleted file mode 100644
index 660a4bb0..00000000
Binary files a/static/v1/_app/immutable/nodes/34.ROMYE5og.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/34.ROMYE5og.js.gz b/static/v1/_app/immutable/nodes/34.ROMYE5og.js.gz
deleted file mode 100644
index 37ca7b7c..00000000
Binary files a/static/v1/_app/immutable/nodes/34.ROMYE5og.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.br b/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.br
deleted file mode 100644
index cdf72a94..00000000
Binary files a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.gz b/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.gz
deleted file mode 100644
index f39527c0..00000000
Binary files a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js b/static/v1/_app/immutable/nodes/35.waCqpI27.js
similarity index 95%
rename from static/v1/_app/immutable/nodes/35.Waqtvgzr.js
rename to static/v1/_app/immutable/nodes/35.waCqpI27.js
index ecc62ea8..18669065 100644
--- a/static/v1/_app/immutable/nodes/35.Waqtvgzr.js
+++ b/static/v1/_app/immutable/nodes/35.waCqpI27.js
@@ -4,22 +4,22 @@ import { h as cr, s as p } from "../chunks/CTI4QPiR.js";
 import { i as f } from "../chunks/BUO_AUgz.js";
 import { B as D, t as Ve, s as Fe } from "../chunks/DMkkW5Nn.js";
 import { p as l } from "../chunks/Wh68IIk2.js";
-import { z as fr, A as _r } from "../chunks/CGXT-546.js";
-import { P as mr } from "../chunks/B6Ygp7Nf.js";
-import { I as wr } from "../chunks/DmeAqnkr.js";
-import { W as gr } from "../chunks/CY7Th9O-.js";
-import { L as hr } from "../chunks/KFFqpuZ0.js";
-import { u as $r } from "../chunks/DOl8_ubJ.js";
+import { z as fr, A as _r } from "../chunks/BaE7H8ny.js";
+import { P as mr } from "../chunks/h7VULPdI.js";
+import { I as wr } from "../chunks/BtKnbFDH.js";
+import { W as gr } from "../chunks/8x1xiTUd.js";
+import { L as hr } from "../chunks/DUtP9z1z.js";
+import { u as $r } from "../chunks/BQ1-pLIs.js";
 import { M as yr } from "../chunks/Ds6bXi0i.js";
 import { C as xr } from "../chunks/GWgockW8.js";
-import { T as br } from "../chunks/DSw3WKCO.js";
-import { u as Pr } from "../chunks/D45liQ4S.js";
-import { T as Rr } from "../chunks/DNdifVes.js";
-import { I as Me } from "../chunks/CLUUhKug.js";
-import { A as Ue } from "../chunks/B6SEzQuS.js";
+import { T as br } from "../chunks/DcJo-CQ6.js";
+import { u as Pr } from "../chunks/Beqa1JKV.js";
+import { T as Rr } from "../chunks/CVHA2fPQ.js";
+import { I as Me } from "../chunks/D6E4lNPv.js";
+import { A as Ue } from "../chunks/gtHtP0A2.js";
 import { u as kr } from "../chunks/BMFqJ6Jy.js";
-import { w as Tr } from "../chunks/DwMn7YWq.js";
-import { F as ze } from "../chunks/CqS1e6KT.js";
+import { w as Tr } from "../chunks/Co1XQfiq.js";
+import { F as ze } from "../chunks/BS0DIDHc.js";
 import { b as Ar } from "../chunks/BRCxk8by.js";
 var Lr = m('<!> <!> <!> <div class="generate svelte-1w50bpj"><!></div> <!>', 1), Nr = m('<div class="dev svelte-1w50bpj"><p>This window shows up during local dev,<br> only to be able to switch modes easily.<br></p> <!> <!></div>'), Sr = m("<p> <br> <br> <br> <!></p>"), Cr = m("<div><!></div>"), Er = m("<!> <!>", 1), Ir = m('<div class="success"><p> </p> <p> </p> <!></div>'), Wr = m("<div><!> <!></div>"), jr = m('<h1> </h1> <p> </p> <p> <!></p> <div class="typeChoice svelte-1w50bpj"><!> <!></div> <!>', 1), qr = m("<h1>Password Reset</h1> <!>", 1), Dr = m('<div class="err svelte-1w50bpj"> </div>'), Vr = m('<div class="container"><!> <!></div>'), Fr = m("<!> <!> <!>", 1), Mr = m("<!> <!> <!> <!>", 1);
 function pt(Oe, Be) {
diff --git a/static/v1/_app/immutable/nodes/35.waCqpI27.js.br b/static/v1/_app/immutable/nodes/35.waCqpI27.js.br
new file mode 100644
index 00000000..ef429f3d
Binary files /dev/null and b/static/v1/_app/immutable/nodes/35.waCqpI27.js.br differ
diff --git a/static/v1/_app/immutable/nodes/35.waCqpI27.js.gz b/static/v1/_app/immutable/nodes/35.waCqpI27.js.gz
new file mode 100644
index 00000000..f32e9533
Binary files /dev/null and b/static/v1/_app/immutable/nodes/35.waCqpI27.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.br b/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.br
deleted file mode 100644
index 1e610278..00000000
Binary files a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.gz b/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.gz
deleted file mode 100644
index 69fb4e24..00000000
Binary files a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js
similarity index 89%
rename from static/v1/_app/immutable/nodes/4.BKUHHgwc.js
rename to static/v1/_app/immutable/nodes/4.Bphz6Qx6.js
index 880f7ce4..19954776 100644
--- a/static/v1/_app/immutable/nodes/4.BKUHHgwc.js
+++ b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js
@@ -6,11 +6,11 @@ import { p as H } from "../chunks/Wh68IIk2.js";
 import { B as u } from "../chunks/DMkkW5Nn.js";
 import { M as J } from "../chunks/Ds6bXi0i.js";
 import { C as K } from "../chunks/GWgockW8.js";
-import { u as Q } from "../chunks/DOl8_ubJ.js";
-import { T as U } from "../chunks/DSw3WKCO.js";
-import { j as V } from "../chunks/CGXT-546.js";
-import { T as X } from "../chunks/DNdifVes.js";
-import { L as Y } from "../chunks/KFFqpuZ0.js";
+import { u as Q } from "../chunks/BQ1-pLIs.js";
+import { T as U } from "../chunks/DcJo-CQ6.js";
+import { j as V } from "../chunks/BaE7H8ny.js";
+import { T as X } from "../chunks/CVHA2fPQ.js";
+import { L as Y } from "../chunks/DUtP9z1z.js";
 var Z = v('<div class="btn svelte-10gbrvf"><!> <!> <!></div>'), tt = v("<!> <!> <!>", 1), et = v("<!> <!>", 1);
 function _t(L, R) {
   M(R, true);
diff --git a/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.br b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.br
new file mode 100644
index 00000000..831d892d
Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.br differ
diff --git a/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.gz b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.gz
new file mode 100644
index 00000000..7e8631b4
Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.Bphz6Qx6.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/5.CDkCALow.js b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js
similarity index 89%
rename from static/v1/_app/immutable/nodes/5.CDkCALow.js
rename to static/v1/_app/immutable/nodes/5.AEHeQ3oa.js
index a236ece7..ca11aa54 100644
--- a/static/v1/_app/immutable/nodes/5.CDkCALow.js
+++ b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js
@@ -5,47 +5,47 @@ import { i as x } from "../chunks/BUO_AUgz.js";
 import { p as h } from "../chunks/Wh68IIk2.js";
 import { b as Jt } from "../chunks/7lxiEjMQ.js";
 import { p as Te } from "../chunks/C6SR4G2t.js";
-import { l as Ye, S as st, N as Qt, P as Xt, O as Zt, A as er, U as tr, I as rr, r as ar } from "../chunks/CGXT-546.js";
+import { l as Ye, S as st, N as Qt, P as Xt, O as Zt, A as er, U as tr, I as rr, r as ar } from "../chunks/BaE7H8ny.js";
 import { e as It } from "../chunks/BpWRzPRQ.js";
 import { h as Tt } from "../chunks/i8Xqpu09.js";
 import { a as F, c as K, s as je, r as sr } from "../chunks/BMbqVy6X.js";
 import { C as Ge } from "../chunks/CS_Msctd.js";
 import { B as xe, t as Ae, f as We, a as Et, s as vr } from "../chunks/DMkkW5Nn.js";
-import { M as nr } from "../chunks/GDMtXUL9.js";
-import { u as Ne } from "../chunks/DOl8_ubJ.js";
-import { c as $t, b as vt, d as ot, f as Ve } from "../chunks/bbkAiDd0.js";
+import { M as nr } from "../chunks/BHXYRhv2.js";
+import { u as Me } from "../chunks/BQ1-pLIs.js";
+import { c as $t, b as vt, d as ot, f as Ve } from "../chunks/CBGoQiUs.js";
 import { B as or } from "../chunks/BV-QGn6o.js";
-import { I as $e } from "../chunks/DmeAqnkr.js";
-import { F as ir } from "../chunks/CqS1e6KT.js";
+import { I as $e } from "../chunks/BtKnbFDH.js";
+import { F as ir } from "../chunks/BS0DIDHc.js";
 import { b as nt, k as lr, l as gt, m as dr } from "../chunks/BRCxk8by.js";
 import { I as it } from "../chunks/Nks81rMs.js";
-import { I as ur } from "../chunks/C3mvM0t4.js";
-import { u as lt } from "../chunks/CR02HlKk.js";
-import { w as cr } from "../chunks/DwMn7YWq.js";
-import { W as Dt } from "../chunks/CY7Th9O-.js";
-import { U as fr, D as Ct } from "../chunks/CHyRPnih.js";
-import { P as _r } from "../chunks/B6Ygp7Nf.js";
-import { I as at } from "../chunks/CLUUhKug.js";
+import { I as ur } from "../chunks/BrQ3ZRVw.js";
+import { u as lt } from "../chunks/BhccdcsY.js";
+import { w as cr } from "../chunks/Co1XQfiq.js";
+import { W as Dt } from "../chunks/8x1xiTUd.js";
+import { U as fr, D as Ct } from "../chunks/BL7yMFqm.js";
+import { P as _r } from "../chunks/h7VULPdI.js";
+import { I as at } from "../chunks/D6E4lNPv.js";
 import { s as mr } from "../chunks/-T201g_q.js";
 import { a as pr } from "../chunks/BhIBACXG.js";
-import { A as gr } from "../chunks/B6SEzQuS.js";
+import { A as gr } from "../chunks/gtHtP0A2.js";
 import { I as hr } from "../chunks/Cv55insy.js";
-import { T as wr } from "../chunks/DSw3WKCO.js";
-import { u as br } from "../chunks/D45liQ4S.js";
+import { T as wr } from "../chunks/DcJo-CQ6.js";
+import { u as br } from "../chunks/Beqa1JKV.js";
 import { T as ht } from "../chunks/_OE2Cq0B.js";
 import { M as yr } from "../chunks/Ds6bXi0i.js";
 import { C as xr } from "../chunks/GWgockW8.js";
-import { T as kr } from "../chunks/DNdifVes.js";
-import { L as Pr } from "../chunks/KFFqpuZ0.js";
-var Ir = k('<div class="link-err value svelte-1tea8v4"> </div>'), Tr = k('<div class="fed-btn svelte-1tea8v4"><!> <!></div>'), Er = k('<h3> </h3> <p> </p> <div class="providers svelte-1tea8v4"></div>', 1), $r = k("<!> <!>", 1), Dr = k('<div><div> </div> <span class="value svelte-1tea8v4"> </span></div>'), Cr = k('<div><div> </div> <span class="value svelte-1tea8v4"> </span></div>'), Mr = k('<div><div>WebID:</div> <span class="value svelte-1tea8v4"><a target="_blank"><!></a></span></div>'), Nr = k('<div><div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <div><div class="value svelte-1tea8v4"> </div> <!></div></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <!></div> <div><div> </div> <!></div> <div><div> </div> <!></div> <!> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <!> <!></div>');
+import { T as kr } from "../chunks/CVHA2fPQ.js";
+import { L as Pr } from "../chunks/DUtP9z1z.js";
+var Ir = k('<div class="link-err value svelte-1tea8v4"> </div>'), Tr = k('<div class="fed-btn svelte-1tea8v4"><!> <!></div>'), Er = k('<h3> </h3> <p> </p> <div class="providers svelte-1tea8v4"></div>', 1), $r = k("<!> <!>", 1), Dr = k('<div><div> </div> <span class="value svelte-1tea8v4"> </span></div>'), Cr = k('<div><div> </div> <span class="value svelte-1tea8v4"> </span></div>'), Nr = k('<div><div>WebID:</div> <span class="value svelte-1tea8v4"><a target="_blank"><!></a></span></div>'), Mr = k('<div><div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <div><div class="value svelte-1tea8v4"> </div> <!></div></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <!></div> <div><div> </div> <!></div> <div><div> </div> <!></div> <!> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <div><div> </div> <span class="value svelte-1tea8v4"> </span></div> <!> <!></div>');
 function wt(se, f) {
   De(f, true);
-  let s = Te(f, "user", 15), r = Ne(), M = T(false), i = T(false), N = he(() => {
+  let s = Te(f, "user", 15), r = Me(), N = T(false), i = T(false), M = he(() => {
     var _a;
     return (_a = s().account_type) == null ? void 0 : _a.startsWith("federated");
   }), w = he(() => {
     var _a;
-    return e(N) ? `${s().account_type}: ${((_a = f.authProvider) == null ? void 0 : _a.name) || ""}` : s().account_type;
+    return e(M) ? `${s().account_type}: ${((_a = f.authProvider) == null ? void 0 : _a.name) || ""}` : s().account_type;
   }), d = he(() => f.viewModePhone ? "rowPhone" : "row"), y = he(() => f.viewModePhone ? "labelPhone" : "label");
   function c(Y) {
     Qt(64, (J, { challenge: oe, verifier: me }) => {
@@ -62,9 +62,9 @@ function wt(se, f) {
   }
   async function P() {
     let Y = await $t("/auth/v1/providers/link");
-    Y.body ? s(Y.body) : (console.error(Y.error), n(M, true));
+    Y.body ? s(Y.body) : (console.error(Y.error), n(N, true));
   }
-  var q = Nr(), B = a(q), Z = a(B), ve = a(Z, true);
+  var q = Mr(), B = a(q), Z = a(B), ve = a(Z, true);
   t(Z);
   var L = v(Z, 2), E = a(L, true);
   t(L), t(B);
@@ -102,7 +102,7 @@ function wt(se, f) {
           t(Pe), C(() => l(ze, r.account.providerUnlinkDesc)), o(ye, Pe);
         };
         x(me, (ye) => {
-          e(M) && ye(ce);
+          e(N) && ye(ce);
         });
       }
       t(J), o(Y, J);
@@ -146,7 +146,7 @@ function wt(se, f) {
       o(Y, J);
     };
     x(le, (Y) => {
-      e(N) ? Y(be) : Y(ke, false);
+      e(M) ? Y(be) : Y(ke, false);
     });
   }
   t(ie), t(g);
@@ -158,17 +158,17 @@ function wt(se, f) {
   t(D);
   var ue = v(D, 2), Ie = a(ue, true);
   t(ue), t(R);
-  var Ee = v(R, 2), Me = a(Ee), Xe = a(Me, true);
-  t(Me);
-  var Ze = v(Me, 2);
+  var Ee = v(R, 2), Ne = a(Ee), Xe = a(Ne, true);
+  t(Ne);
+  var Ze = v(Ne, 2);
   const dt = he(() => !!s().webauthn_user_id);
   Ge(Ze, { get checked() {
     return e(dt);
   } }), t(Ee);
-  var Le = v(Ee, 2), Ue = a(Le), Mt = a(Ue, true);
+  var Le = v(Ee, 2), Ue = a(Le), Nt = a(Ue, true);
   t(Ue);
-  var Nt = v(Ue, 2);
-  Ge(Nt, { get checked() {
+  var Mt = v(Ue, 2);
+  Ge(Mt, { get checked() {
     return s().enabled;
   } }), t(Le);
   var Fe = v(Le, 2), qe = a(Fe), Lt = a(qe, true);
@@ -216,7 +216,7 @@ function wt(se, f) {
   var Ft = v(_t, 2);
   {
     var qt = (Y) => {
-      var J = Mr(), oe = a(J), me = v(oe, 2), ce = a(me), ye = a(ce);
+      var J = Nr(), oe = a(J), me = v(oe, 2), ce = a(me), ye = a(ce);
       Tt(ye, () => st(s().id).replace("/auth/", "/auth/<wbr/>")), t(ce), t(me), t(J), C((Pe) => {
         F(J, 1, K(e(d)), "svelte-1tea8v4"), F(oe, 1, K(e(y)), "svelte-1tea8v4"), je(ce, "href", Pe);
       }, [() => st(s().id)]), o(Y, J);
@@ -226,7 +226,7 @@ function wt(se, f) {
     });
   }
   t(q), C((Y, J) => {
-    F(B, 1, K(e(d)), "svelte-1tea8v4"), F(Z, 1, K(e(y)), "svelte-1tea8v4"), l(ve, r.common.email), l(E, s().email), F(O, 1, K(e(d)), "svelte-1tea8v4"), F(H, 1, K(e(y)), "svelte-1tea8v4"), l(ae, r.account.givenName), l(te, s().given_name), F(S, 1, K(e(d)), "svelte-1tea8v4"), F(I, 1, K(e(y)), "svelte-1tea8v4"), l(_, r.account.familyName), l(u, s().family_name), F(V, 1, K(e(d)), "svelte-1tea8v4"), F(re, 1, K(e(y)), "svelte-1tea8v4"), l(de, `${r.account.user ?? ""} ID`), l($, s().id), F(g, 1, K(e(d)), "svelte-1tea8v4"), F(U, 1, K(e(y)), "svelte-1tea8v4"), l(Q, r.account.accType), l(ne, e(w) || ""), F(b, 1, K(e(d)), "svelte-1tea8v4"), F(p, 1, K(e(y)), "svelte-1tea8v4"), l(z, r.account.roles), l(ge, s().roles || "None"), F(R, 1, K(e(d)), "svelte-1tea8v4"), F(D, 1, K(e(y)), "svelte-1tea8v4"), l(_e, r.account.groups), l(Ie, s().groups || "None"), F(Ee, 1, K(e(d)), "svelte-1tea8v4"), F(Me, 1, K(e(y)), "svelte-1tea8v4"), l(Xe, r.account.mfaActivated), F(Le, 1, K(e(d)), "svelte-1tea8v4"), F(Ue, 1, K(e(y)), "svelte-1tea8v4"), l(Mt, r.account.userEnabled), F(Fe, 1, K(e(d)), "svelte-1tea8v4"), F(qe, 1, K(e(y)), "svelte-1tea8v4"), l(Lt, r.account.emailVerified), F(Be, 1, K(e(d)), "svelte-1tea8v4"), F(Oe, 1, K(e(y)), "svelte-1tea8v4"), l(Wt, r.account.passwordExpiry), l(Rt, Y), F(Ke, 1, K(e(d)), "svelte-1tea8v4"), F(He, 1, K(e(y)), "svelte-1tea8v4"), l(St, r.account.userCreated), l(Vt, J);
+    F(B, 1, K(e(d)), "svelte-1tea8v4"), F(Z, 1, K(e(y)), "svelte-1tea8v4"), l(ve, r.common.email), l(E, s().email), F(O, 1, K(e(d)), "svelte-1tea8v4"), F(H, 1, K(e(y)), "svelte-1tea8v4"), l(ae, r.account.givenName), l(te, s().given_name), F(S, 1, K(e(d)), "svelte-1tea8v4"), F(I, 1, K(e(y)), "svelte-1tea8v4"), l(_, r.account.familyName), l(u, s().family_name), F(V, 1, K(e(d)), "svelte-1tea8v4"), F(re, 1, K(e(y)), "svelte-1tea8v4"), l(de, `${r.account.user ?? ""} ID`), l($, s().id), F(g, 1, K(e(d)), "svelte-1tea8v4"), F(U, 1, K(e(y)), "svelte-1tea8v4"), l(Q, r.account.accType), l(ne, e(w) || ""), F(b, 1, K(e(d)), "svelte-1tea8v4"), F(p, 1, K(e(y)), "svelte-1tea8v4"), l(z, r.account.roles), l(ge, s().roles || "None"), F(R, 1, K(e(d)), "svelte-1tea8v4"), F(D, 1, K(e(y)), "svelte-1tea8v4"), l(_e, r.account.groups), l(Ie, s().groups || "None"), F(Ee, 1, K(e(d)), "svelte-1tea8v4"), F(Ne, 1, K(e(y)), "svelte-1tea8v4"), l(Xe, r.account.mfaActivated), F(Le, 1, K(e(d)), "svelte-1tea8v4"), F(Ue, 1, K(e(y)), "svelte-1tea8v4"), l(Nt, r.account.userEnabled), F(Fe, 1, K(e(d)), "svelte-1tea8v4"), F(qe, 1, K(e(y)), "svelte-1tea8v4"), l(Lt, r.account.emailVerified), F(Be, 1, K(e(d)), "svelte-1tea8v4"), F(Oe, 1, K(e(y)), "svelte-1tea8v4"), l(Wt, r.account.passwordExpiry), l(Rt, Y), F(Ke, 1, K(e(d)), "svelte-1tea8v4"), F(He, 1, K(e(y)), "svelte-1tea8v4"), l(St, r.account.userCreated), l(Vt, J);
   }, [() => s().password_expires && Ye(s().password_expires) || r.common.never, () => Ye(s().created_at)]), o(se, q), Ce();
 }
 var Lr = k('<div class="success svelte-4ogr3z"><!></div>'), Ar = k("<p> </p>"), zr = k('<div class="err svelte-4ogr3z"> </div>'), Wr = k('<div class="formInner svelte-4ogr3z"><div><!> <!> <!> <!></div> <div><!> <!> <!> <!> <!></div></div> <div class="bottom svelte-4ogr3z"><div><!></div> <!></div> <!>', 1), Rr = k('<div class="container svelte-4ogr3z"><!></div>');
@@ -235,7 +235,7 @@ function bt(se, f) {
   De(f, true);
   let s = Te(f, "user", 15);
   ((_a = s().user_values) == null ? void 0 : _a.birthdate) || s(s().user_values.birthdate = "", true);
-  let r = Ne(), M = T(""), i = T(false), N = T(false);
+  let r = Me(), N = T(""), i = T(false), M = T(false);
   async function w(G, P) {
     var _a2;
     const q = P.get("email"), B = P.get("family_name") || void 0, Z = P.get("given_name") || void 0, ve = P.get("birthdate") || void 0, L = ((_a2 = P.get("phone")) == null ? void 0 : _a2.replaceAll(" ", "")) || void 0, E = P.get("street") || void 0, O = P.get("zip") || void 0, H = O ? Number.parseInt(O) : void 0, ae = P.get("city") || void 0, ee = P.get("country") || void 0;
@@ -245,10 +245,10 @@ function bt(se, f) {
     if (S.body) {
       n(i, true), s(S.body);
       let I = 3e3;
-      S.status === 202 && (n(N, true), I = 3e4), setTimeout(() => {
+      S.status === 202 && (n(M, true), I = 3e4), setTimeout(() => {
         n(i, false);
       }, I);
-    } else S.error && (console.error(S.error), n(M, h(S.error.message)));
+    } else S.error && (console.error(S.error), n(N, h(S.error.message)));
   }
   var d = Rr(), y = a(d);
   const c = he(() => `/auth/v1/users/${s().id}/self`);
@@ -354,16 +354,16 @@ function bt(se, f) {
         {
           var ie = (W) => {
             var ne = zr(), le = a(ne, true);
-            t(ne), C(() => l(le, e(M))), Ae(3, ne, () => We), o(W, ne);
+            t(ne), C(() => l(le, e(N))), Ae(3, ne, () => We), o(W, ne);
           };
           x(Q, (W) => {
-            e(M) && W(ie);
+            e(N) && W(ie);
           }, true);
         }
         o(g, U);
       };
       x(de, (g) => {
-        e(N) ? g(m) : g($, false);
+        e(M) ? g(m) : g($, false);
       });
     }
     o(G, q);
@@ -373,24 +373,24 @@ var Sr = k('<div class="err svelte-16mlupu"><b>Your browser does not support Web
 function yt(se, f) {
   De(f, true);
   const s = "credentials" in navigator;
-  let r = Ne(), M = lt("account"), i = he(() => {
+  let r = Me(), N = lt("account"), i = he(() => {
     var _a;
-    return (_a = M.get()) == null ? void 0 : _a.user_id;
-  }), N = T(void 0), w = T(false), d = T(""), y = T(false), c = T(f.user.account_type === "password"), G = T(void 0), P = T(""), q = T(false), B = T(h([]));
+    return (_a = N.get()) == null ? void 0 : _a.user_id;
+  }), M = T(void 0), w = T(false), d = T(""), y = T(false), c = T(f.user.account_type === "password"), G = T(void 0), P = T(""), q = T(false), B = T(h([]));
   Qe(() => {
     ve();
   }), Je(() => {
     e(B).length > 0 && f.user.account_type === "passkey" && n(c, e(B).length > 1);
   }), Je(() => {
     var _a;
-    (_a = e(N)) == null ? void 0 : _a.focus();
+    (_a = e(M)) == null ? void 0 : _a.focus();
   });
   function Z() {
     n(w, false), n(d, "");
   }
   async function ve() {
     var _a;
-    let I = await Ve(`/auth/v1/users/${(_a = M.get()) == null ? void 0 : _a.user_id}/webauthn`);
+    let I = await Ve(`/auth/v1/users/${(_a = N.get()) == null ? void 0 : _a.user_id}/webauthn`);
     I.body ? n(B, h(I.body)) : console.error(I.error);
   }
   async function L() {
@@ -447,9 +447,9 @@ function yt(se, f) {
           }, get placeholder() {
             return r.mfa.passkeyName;
           }, maxLength: 32, pattern: nt, onEnter: L, get ref() {
-            return e(N);
+            return e(M);
           }, set ref(D) {
-            n(N, h(D));
+            n(M, h(D));
           }, get value() {
             return e(P);
           }, set value(D) {
@@ -534,9 +534,9 @@ function yt(se, f) {
 var Kr = k('<div class="container svelte-ue7bk2"><!> <!> <!> <!> <div class="btn svelte-ue7bk2"><!></div> <div class="err svelte-ue7bk2"> </div></div>');
 function Hr(se, f) {
   De(f, true);
-  let s = Te(f, "passwords", 15), r = Te(f, "hideCurrentPassword", 3, false), M = Te(f, "isValid", 15), i = Ne();
-  M(P);
-  let N = T(false), w = T(""), d = T(void 0), y = he(() => {
+  let s = Te(f, "passwords", 15), r = Te(f, "hideCurrentPassword", 3, false), N = Te(f, "isValid", 15), i = Me();
+  N(P);
+  let M = T(false), w = T(""), d = T(void 0), y = he(() => {
     var _a;
     return ((_a = s().new) == null ? void 0 : _a.length) > 6 && s().new === s().newConfirm;
   }), c = T(void 0), G = T(void 0);
@@ -545,7 +545,7 @@ function Hr(se, f) {
     L.body ? n(d, h(L.body)) : console.error(L.error);
   });
   function P() {
-    return n(w, ""), !r() && !s().current ? (n(w, h(i.account.passwordCurrReq)), false) : s().new ? s().newConfirm ? e(N) ? s().new.length > 256 ? (n(w, "max 256"), false) : s().new !== s().newConfirm ? (n(w, h(i.account.passwordNoMatch)), false) : true : (n(w, h(i.account.passwordPolicyFollow)), false) : (n(w, h(i.account.passwordNewReq)), false) : (n(w, h(i.account.passwordNewReq)), false);
+    return n(w, ""), !r() && !s().current ? (n(w, h(i.account.passwordCurrReq)), false) : s().new ? s().newConfirm ? e(M) ? s().new.length > 256 ? (n(w, "max 256"), false) : s().new !== s().newConfirm ? (n(w, h(i.account.passwordNoMatch)), false) : true : (n(w, h(i.account.passwordPolicyFollow)), false) : (n(w, h(i.account.passwordNewReq)), false) : (n(w, h(i.account.passwordNewReq)), false);
   }
   function q() {
     if (n(w, ""), e(d)) {
@@ -566,9 +566,9 @@ function Hr(se, f) {
       }, get password() {
         return s().new;
       }, get accepted() {
-        return e(N);
+        return e(M);
       }, set accepted(u) {
-        n(N, h(u));
+        n(M, h(u));
       } });
       var H = v(O, 2);
       {
@@ -643,20 +643,20 @@ function Hr(se, f) {
 var Yr = k('<div class="m-05 svelte-1h4zvzu"><p> </p> <p><b> </b></p> <div></div> <p> </p> <!></div>'), jr = k("<p> </p> <p> </p> <p> </p> <div><!></div>", 1), Gr = k('<div class="success svelte-1h4zvzu"><!></div>'), Jr = k('<div class="err"> </div>'), Qr = k('<div class="cancel"><!></div>'), Xr = k('<div class="convertPasskey svelte-1h4zvzu"><h3> </h3> <p> </p> <!></div>'), Zr = k('<div><!> <div class="save svelte-1h4zvzu"><!> <!></div></div> <!>', 1), ea = k('<div class="container svelte-1h4zvzu"><!> <!> <!> <!></div>');
 function xt(se, f) {
   De(f, true);
-  let s = Te(f, "user", 15), r = Ne(), M = he(() => f.viewModePhone ? "calc(100vw - 1.5rem)" : "300px"), i = T(h(s().account_type)), N = T(h([])), w = T(void 0), d = T(false), y = T(false), c = T(""), G = T(false), P = T(void 0), q = T(h({ current: "", new: "", newConfirm: "" })), B = he(() => e(N).filter((m) => m.user_verified).length > 0);
+  let s = Te(f, "user", 15), r = Me(), N = he(() => f.viewModePhone ? "calc(100vw - 1.5rem)" : "300px"), i = T(h(s().account_type)), M = T(h([])), w = T(void 0), d = T(false), y = T(false), c = T(""), G = T(false), P = T(void 0), q = T(h({ current: "", new: "", newConfirm: "" })), B = he(() => e(M).filter((m) => m.user_verified).length > 0);
   Qe(() => {
     Z();
   });
   async function Z() {
     let m = await Ve(`/auth/v1/users/${s().id}/webauthn`);
-    m.body ? n(N, h(m.body)) : console.error("error fetching passkeys: " + m.error);
+    m.body ? n(M, h(m.body)) : console.error("error fetching passkeys: " + m.error);
   }
   async function ve() {
     let m = await vt(`/auth/v1/users/${s().id}/self/convert_passkey`);
     m.error ? console.error("error fetching passkeys: " + m.error) : window.location.reload();
   }
   async function L() {
-    n(c, ""), e(N).length > 0 ? await E() : await O();
+    n(c, ""), e(M).length > 0 ? await E() : await O();
   }
   async function E() {
     var _a;
@@ -766,9 +766,9 @@ function xt(se, f) {
   {
     var de = (m) => {
       var $ = Zr(), g = j($), U = a(g);
-      const Q = he(() => !(e(i) === "password" && e(N).length < 1));
+      const Q = he(() => !(e(i) === "password" && e(M).length < 1));
       Hr(U, { get inputWidth() {
-        return e(M);
+        return e(N);
       }, get hideCurrentPassword() {
         return e(Q);
       }, get passwords() {
@@ -803,12 +803,12 @@ function xt(se, f) {
               var _e = fe(), ue = j(_e);
               {
                 var Ie = (Ee) => {
-                  var Me = Qr(), Xe = a(Me);
+                  var Ne = Qr(), Xe = a(Ne);
                   xe(Xe, { level: 3, onclick: () => n(d, false), children: (Ze, dt) => {
                     pe();
                     var Le = we();
                     C(() => l(Le, r.common.cancel)), o(Ze, Le);
-                  }, $$slots: { default: true } }), t(Me), o(Ee, Me);
+                  }, $$slots: { default: true } }), t(Ne), o(Ee, Ne);
                 };
                 x(ue, (Ee) => {
                   e(d) && !e(y) && Ee(Ie);
@@ -860,29 +860,29 @@ function ta(se, f) {
 }
 var ra = k('<div class="flex"><div class="label font-label noselect svelte-1xf5lr3"><!></div> <label class="switch svelte-1xf5lr3"><input type="checkbox" class="svelte-1xf5lr3"> <span class="slider slider-round svelte-1xf5lr3"></span></label></div>');
 function kt(se, f) {
-  let s = Te(f, "checked", 15, false), r = Te(f, "ariaLabel", 3, ""), M = Te(f, "name", 3, "");
+  let s = Te(f, "checked", 15, false), r = Te(f, "ariaLabel", 3, ""), N = Te(f, "name", 3, "");
   function i() {
     s(!s());
   }
-  var N = ra(), w = a(N), d = a(w);
+  var M = ra(), w = a(M), d = a(w);
   mr(d, () => f.children), t(w);
   var y = v(w, 2), c = a(y);
-  sr(c), c.__click = i, c.__keydown = [ta, i], pe(2), t(y), t(N), C(() => {
-    Et(w, "width", f.labelWidth), je(c, "name", M()), c.disabled = f.disabled, je(c, "aria-checked", s()), je(c, "aria-label", r());
-  }), pr(c, s), o(se, N);
+  sr(c), c.__click = i, c.__keydown = [ta, i], pe(2), t(y), t(M), C(() => {
+    Et(w, "width", f.labelWidth), je(c, "name", N()), c.disabled = f.disabled, je(c, "aria-checked", s()), je(c, "aria-label", r());
+  }), pr(c, s), o(se, M);
 }
 jt(["click", "keydown"]);
 var aa = k("<div><p> </p> <!></div>"), sa = k('<div class="success svelte-5kivuv"><!></div>'), va = k('<div class="err svelte-5kivuv"> </div>'), na = k('<div class="container svelte-5kivuv"><p> </p> <p><!></p> <div class="switch svelte-5kivuv"><!></div> <div class="switch svelte-5kivuv"><!></div> <!> <div class="bottom svelte-5kivuv"><!> <!></div></div>');
 function Pt(se, f) {
   De(f, true);
-  let s = Te(f, "webIdData", 15), r = Ne();
-  const M = "14rem";
-  let i = T(""), N = T(false), w = T(!!s().custom_triples), d = st(s().user_id);
+  let s = Te(f, "webIdData", 15), r = Me();
+  const N = "14rem";
+  let i = T(""), M = T(false), w = T(!!s().custom_triples), d = st(s().user_id);
   async function y() {
     n(i, "");
     let _ = await ot(`/auth/v1/users/${s().user_id}/webid/data`, s());
-    _.error ? n(i, h(_.error.message)) : (n(N, true), setTimeout(() => {
-      n(N, false);
+    _.error ? n(i, h(_.error.message)) : (n(M, true), setTimeout(() => {
+      n(M, false);
     }, 3e3));
   }
   var c = na(), G = a(c), P = a(G, true);
@@ -893,7 +893,7 @@ function Pt(se, f) {
     Tt(V, () => d.replace("/auth/", "/auth/<wbr/>")), o(_, u);
   }, $$slots: { default: true } }), t(q);
   var Z = v(q, 2), ve = a(Z);
-  kt(ve, { ariaLabel: "E-Mail", labelWidth: M, get checked() {
+  kt(ve, { ariaLabel: "E-Mail", labelWidth: N, get checked() {
     return s().expose_email;
   }, set checked(_) {
     s(s().expose_email = _, true);
@@ -905,7 +905,7 @@ function Pt(se, f) {
   var L = v(Z, 2), E = a(L);
   kt(E, { get ariaLabel() {
     return r.account.webIdExpertMode;
-  }, labelWidth: M, get checked() {
+  }, labelWidth: N, get checked() {
     return e(w);
   }, set checked(_) {
     n(w, h(_));
@@ -955,7 +955,7 @@ function Pt(se, f) {
       o(_, A);
     };
     x(te, (_) => {
-      e(N) ? _(S) : _(I, false);
+      e(M) ? _(S) : _(I, false);
     });
   }
   t(ae), t(c), C(() => l(P, r.account.webIdDesc)), o(se, c), Ce();
@@ -966,18 +966,18 @@ function oa(se, f) {
     var _a;
     return (_a = s.get()) == null ? void 0 : _a.user_id;
   });
-  var M = fe(), i = j(M);
+  var N = fe(), i = j(N);
   {
-    var N = (w) => {
+    var M = (w) => {
       Ct(w, { viewMode: "account", get userId() {
         return e(r);
       } });
     };
     x(i, (w) => {
-      e(r) && w(N);
+      e(r) && w(M);
     });
   }
-  o(se, M), Ce();
+  o(se, N), Ce();
 }
 var ia = k("<h3> </h3>"), la = k('<div class="headerPhone svelte-k6hxbm"><!></div> <div class="container svelte-k6hxbm"><!> <div class="innerPhone svelte-k6hxbm"><!></div></div>', 1), da = k('<div class="header svelte-k6hxbm"><!></div> <div class="container svelte-k6hxbm"><!> <div class="inner svelte-k6hxbm"><!></div></div>', 1), ua = k('<!> <div class="wrapper svelte-k6hxbm"><!></div>', 1);
 function ca(se, f) {
@@ -986,10 +986,10 @@ function ca(se, f) {
     var O = ia(), H = a(O, true);
     t(O), C(() => l(H, `${r().given_name} ${r().family_name || ""}`)), o(E, O);
   };
-  let r = Te(f, "user", 15), M = Te(f, "webIdData", 15), i = Ne(), N = T(void 0), w = T(h([])), d = he(() => {
+  let r = Te(f, "user", 15), N = Te(f, "webIdData", 15), i = Me(), M = T(void 0), w = T(h([])), d = he(() => {
     var _a;
     if ((_a = r().account_type) == null ? void 0 : _a.startsWith("federated")) return e(w).filter((E) => E.id === r().auth_provider_id)[0];
-  }), y = he(() => e(N) && e(N) < 500), c = T(h(i.account.navInfo)), G = h(M() ? [i.account.navInfo, i.account.navEdit, i.common.password, i.account.navMfa, "WebID", i.account.devices, i.account.navLogout] : [i.account.navInfo, i.account.navEdit, i.common.password, i.account.navMfa, i.account.devices, i.account.navLogout]);
+  }), y = he(() => e(M) && e(M) < 500), c = T(h(i.account.navInfo)), G = h(N() ? [i.account.navInfo, i.account.navEdit, i.common.password, i.account.navMfa, "WebID", i.account.devices, i.account.navLogout] : [i.account.navInfo, i.account.navEdit, i.common.password, i.account.navMfa, i.account.devices, i.account.navLogout]);
   Qe(() => {
     br("v").get() === "devices" && n(c, h(i.account.devices));
   }), Je(() => {
@@ -1022,7 +1022,7 @@ function ca(se, f) {
           }, get authProvider() {
             return e(d);
           }, viewModePhone: true, get webIdData() {
-            return M();
+            return N();
           }, get user() {
             return r();
           }, set user(V) {
@@ -1058,15 +1058,17 @@ function ca(se, f) {
                       {
                         var X = (R) => {
                           Pt(R, { get webIdData() {
-                            return M();
+                            return N();
                           }, set webIdData(D) {
-                            M(D);
+                            N(D);
                           } });
                         }, ge = (R) => {
                           var D = fe(), _e = j(D);
                           {
                             var ue = (Ie) => {
-                              Ct(Ie, { viewMode: "account" });
+                              Ct(Ie, { get userId() {
+                                return r().id;
+                              } });
                             };
                             x(_e, (Ie) => {
                               e(c) === i.account.devices && Ie(ue);
@@ -1118,7 +1120,7 @@ function ca(se, f) {
       {
         var _ = (u) => {
           wt(u, { get webIdData() {
-            return M();
+            return N();
           }, get providers() {
             return e(w);
           }, get authProvider() {
@@ -1158,9 +1160,9 @@ function ca(se, f) {
                       {
                         var X = (R) => {
                           Pt(R, { get webIdData() {
-                            return M();
+                            return N();
                           }, set webIdData(D) {
-                            M(D);
+                            N(D);
                           } });
                         }, ge = (R) => {
                           var D = fe(), _e = j(D);
@@ -1208,12 +1210,12 @@ function ca(se, f) {
       e(y) ? E(ve) : E(L, false);
     });
   }
-  t(B), Jt("innerWidth", (E) => n(N, h(E))), o(se, P), Ce();
+  t(B), Jt("innerWidth", (E) => n(M, h(E))), o(se, P), Ce();
 }
 var fa = k("<!> <!> <!>", 1);
 function Za(se, f) {
   De(f, true);
-  let s = Ne(), r = lt("account"), M = T(void 0), i = T(void 0), N = T(false);
+  let s = Me(), r = lt("account"), N = T(void 0), i = T(void 0), M = T(false);
   Je(() => {
     let d = r.get();
     d && w(d);
@@ -1222,13 +1224,13 @@ function Za(se, f) {
     const y = d.user_id;
     if (y) {
       let c = await Promise.all([Ve(`/auth/v1/users/${y}`), Ve(`/auth/v1/users/${y}/webid/data`)]);
-      c[0].body ? n(M, h(c[0].body)) : ar("account"), c[1].body ? n(i, h(c[1].body)) : c[1].status === 404 && n(i, h({ user_id: y, expose_email: false })), n(N, true);
+      c[0].body ? n(N, h(c[0].body)) : ar("account"), c[1].body ? n(i, h(c[1].body)) : c[1].status === 404 && n(i, h({ user_id: y, expose_email: false })), n(M, true);
     } else console.error("no user_id in session");
   }
   Gt((d) => {
     C(() => {
       var _a;
-      return Yt.title = `${(s == null ? void 0 : s.account.account) || "Account"} ${((_a = e(M)) == null ? void 0 : _a.email) ?? ""}`;
+      return Yt.title = `${(s == null ? void 0 : s.account.account) || "Account"} ${((_a = e(N)) == null ? void 0 : _a.email) ?? ""}`;
     });
   }), yr(se, { children: (d, y) => {
     xr(d, { children: (c, G) => {
@@ -1236,9 +1238,9 @@ function Za(se, f) {
       {
         var B = (L) => {
           ca(L, { get user() {
-            return e(M);
+            return e(N);
           }, set user(E) {
-            n(M, h(E));
+            n(N, h(E));
           }, get webIdData() {
             return e(i);
           }, set webIdData(E) {
@@ -1246,7 +1248,7 @@ function Za(se, f) {
           } });
         };
         x(q, (L) => {
-          e(N) && r && e(M) && L(B);
+          e(M) && r && e(N) && L(B);
         });
       }
       var Z = v(q, 2);
diff --git a/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.br b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.br
new file mode 100644
index 00000000..1ddbac9d
Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.br differ
diff --git a/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.gz b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.gz
new file mode 100644
index 00000000..0f389919
Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.AEHeQ3oa.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/5.CDkCALow.js.br b/static/v1/_app/immutable/nodes/5.CDkCALow.js.br
deleted file mode 100644
index aaa967cf..00000000
Binary files a/static/v1/_app/immutable/nodes/5.CDkCALow.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/5.CDkCALow.js.gz b/static/v1/_app/immutable/nodes/5.CDkCALow.js.gz
deleted file mode 100644
index e7df030c..00000000
Binary files a/static/v1/_app/immutable/nodes/5.CDkCALow.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.br b/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.br
deleted file mode 100644
index e667dbfd..00000000
Binary files a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.gz b/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.gz
deleted file mode 100644
index ac84c73d..00000000
Binary files a/static/v1/_app/immutable/nodes/6.BCzHA2GH.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js
similarity index 65%
rename from static/v1/_app/immutable/nodes/22.BCzHA2GH.js
rename to static/v1/_app/immutable/nodes/6.Bf8PwG-K.js
index 17e54f9e..33193b5a 100644
--- a/static/v1/_app/immutable/nodes/22.BCzHA2GH.js
+++ b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js
@@ -1,5 +1,5 @@
 import "../chunks/BH6NCLk-.js";
-import { U as p } from "../chunks/ClhbEfd1.js";
+import { U as p } from "../chunks/DhdHODqL.js";
 function e(o) {
   p(o, {});
 }
diff --git a/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.br b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.br
new file mode 100644
index 00000000..784d50e3
Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.br differ
diff --git a/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.gz b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.gz
new file mode 100644
index 00000000..4daac294
Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.Bf8PwG-K.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js
similarity index 97%
rename from static/v1/_app/immutable/nodes/7.DV9m5pc_.js
rename to static/v1/_app/immutable/nodes/7.D2-wIoAP.js
index 77bf017e..7f8e391c 100644
--- a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js
+++ b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js
@@ -6,30 +6,30 @@ import { e as ye, i as Te } from "../chunks/BpWRzPRQ.js";
 import { s as ne, d as ze } from "../chunks/BMbqVy6X.js";
 import { B as Q, t as ee, s as te, a as de } from "../chunks/DMkkW5Nn.js";
 import { p as m } from "../chunks/Wh68IIk2.js";
-import { d as be, c as Ce, b as Le, f as Ke } from "../chunks/bbkAiDd0.js";
+import { d as be, c as Ce, b as Le, f as Ke } from "../chunks/CBGoQiUs.js";
 import { C as De } from "../chunks/BnPoFdx3.js";
 import { N as Ne } from "../chunks/D-L0o8jR.js";
-import { N as Ee } from "../chunks/D3G2nKoD.js";
-import { B as Ve } from "../chunks/BIsFWZ5z.js";
-import { u as Me } from "../chunks/D45liQ4S.js";
+import { N as Ee } from "../chunks/DpcgKHU5.js";
+import { B as Ve } from "../chunks/dWvWuq1E.js";
+import { u as Me } from "../chunks/Beqa1JKV.js";
 import { u as re } from "../chunks/D8mHI_K9.js";
-import { O as Be } from "../chunks/DxrdFxfV.js";
+import { O as Be } from "../chunks/CT2gdhvj.js";
 import { p as Y, r as Ge } from "../chunks/C6SR4G2t.js";
-import { B as xe } from "../chunks/CGXT-546.js";
+import { B as xe } from "../chunks/BaE7H8ny.js";
 import { I as Oe } from "../chunks/Nks81rMs.js";
 import { L as Re } from "../chunks/CE2_6siz.js";
 import { I as ae } from "../chunks/DTR8xafZ.js";
-import { I as we } from "../chunks/C3mvM0t4.js";
-import { u as le } from "../chunks/DOl8_ubJ.js";
+import { I as we } from "../chunks/BrQ3ZRVw.js";
+import { u as le } from "../chunks/BQ1-pLIs.js";
 import { f as oe, a as pe } from "../chunks/DswDW5U8.js";
 import { k as ge } from "../chunks/CaD2yKt4.js";
 import { h as fe } from "../chunks/i8Xqpu09.js";
 import { b as Fe } from "../chunks/BhIBACXG.js";
-import { a as Ue, b as je, c as qe, I as He } from "../chunks/CLUUhKug.js";
+import { a as Ue, b as je, c as qe, I as He } from "../chunks/D6E4lNPv.js";
 import { T as We } from "../chunks/_OE2Cq0B.js";
-import { I as Ye } from "../chunks/DmeAqnkr.js";
+import { I as Ye } from "../chunks/BtKnbFDH.js";
 import { j as Je } from "../chunks/BRCxk8by.js";
-import { F as Qe } from "../chunks/CqS1e6KT.js";
+import { F as Qe } from "../chunks/BS0DIDHc.js";
 var Xe = K('<div class="center svelte-opxw4z"><!></div>'), Ze = K("<div><!></div>"), et = K('<div class="row svelte-opxw4z"><!> <div class="center svelte-opxw4z"><!></div> <div class="center svelte-opxw4z"><!></div> <div class="center svelte-opxw4z"><!></div> <div class="center svelte-opxw4z"><!></div></div>'), tt = K('<div class="matrix svelte-opxw4z"><div class="row svelte-opxw4z"><div></div> <!> <!> <!> <!></div> <!></div>');
 function $e(B, i) {
   X(i, true), Y(i, "finalize", 15)(L);
diff --git a/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.br b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.br
new file mode 100644
index 00000000..9fd8cef0
Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.br differ
diff --git a/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.gz b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.gz
new file mode 100644
index 00000000..c5ddcca3
Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.D2-wIoAP.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.br b/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.br
deleted file mode 100644
index 297401a3..00000000
Binary files a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.gz b/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.gz
deleted file mode 100644
index 00a800a7..00000000
Binary files a/static/v1/_app/immutable/nodes/7.DV9m5pc_.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.br b/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.br
deleted file mode 100644
index 653e99ce..00000000
Binary files a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.gz b/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.gz
deleted file mode 100644
index cf2509e4..00000000
Binary files a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js
similarity index 95%
rename from static/v1/_app/immutable/nodes/8.-OzRFGxo.js
rename to static/v1/_app/immutable/nodes/8.DRxfW3X0.js
index 1e96038b..8b9c666d 100644
--- a/static/v1/_app/immutable/nodes/8.-OzRFGxo.js
+++ b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js
@@ -6,17 +6,17 @@ import { e as se } from "../chunks/BpWRzPRQ.js";
 import { B as Z, a as ie } from "../chunks/DMkkW5Nn.js";
 import { p as a } from "../chunks/Wh68IIk2.js";
 import { u as H } from "../chunks/D8mHI_K9.js";
-import { B as le } from "../chunks/BIsFWZ5z.js";
+import { B as le } from "../chunks/dWvWuq1E.js";
 import { C as de } from "../chunks/BnPoFdx3.js";
 import { N as ue } from "../chunks/D-L0o8jR.js";
-import { N as me } from "../chunks/D3G2nKoD.js";
-import { O as ve } from "../chunks/DxrdFxfV.js";
-import { b as ce, d as fe, c as ge, f as _e } from "../chunks/bbkAiDd0.js";
-import { u as he } from "../chunks/D45liQ4S.js";
-import { I as J } from "../chunks/DmeAqnkr.js";
+import { N as me } from "../chunks/DpcgKHU5.js";
+import { O as ve } from "../chunks/CT2gdhvj.js";
+import { b as ce, d as fe, c as ge, f as _e } from "../chunks/CBGoQiUs.js";
+import { u as he } from "../chunks/Beqa1JKV.js";
+import { I as J } from "../chunks/BtKnbFDH.js";
 import { d as te, e as re } from "../chunks/BRCxk8by.js";
-import { F as ae } from "../chunks/CqS1e6KT.js";
-import { u as U } from "../chunks/DOl8_ubJ.js";
+import { F as ae } from "../chunks/BS0DIDHc.js";
+import { u as U } from "../chunks/BQ1-pLIs.js";
 import { T as pe } from "../chunks/_OE2Cq0B.js";
 import { I as be } from "../chunks/Nks81rMs.js";
 var xe = S('<div class="err"> </div>'), Ae = S("<!> <!> <!> <!>", 1), ye = S('<div class="container svelte-s1196z"><!></div>');
diff --git a/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.br b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.br
new file mode 100644
index 00000000..17a11bf4
Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.br differ
diff --git a/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.gz b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.gz
new file mode 100644
index 00000000..6bc7c3ee
Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.DRxfW3X0.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.br b/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.br
deleted file mode 100644
index 9e5a57c5..00000000
Binary files a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.gz b/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.gz
deleted file mode 100644
index e7c847a2..00000000
Binary files a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js
similarity index 93%
rename from static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js
rename to static/v1/_app/immutable/nodes/9.D9bnTBN1.js
index 9b6fb2ff..44953c43 100644
--- a/static/v1/_app/immutable/nodes/9.Ba0_Tj9Y.js
+++ b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js
@@ -5,21 +5,21 @@ import { i as X } from "../chunks/BUO_AUgz.js";
 import { e as ne } from "../chunks/BpWRzPRQ.js";
 import { a as Be, B as Y } from "../chunks/DMkkW5Nn.js";
 import { p as t } from "../chunks/Wh68IIk2.js";
-import { O as Ce } from "../chunks/DxrdFxfV.js";
-import { I as De } from "../chunks/DmeAqnkr.js";
-import { B as Me, l as Ee } from "../chunks/CGXT-546.js";
-import { u as Fe } from "../chunks/DOl8_ubJ.js";
+import { O as Ce } from "../chunks/CT2gdhvj.js";
+import { I as De } from "../chunks/BtKnbFDH.js";
+import { B as Me, l as Ee } from "../chunks/BaE7H8ny.js";
+import { u as Fe } from "../chunks/BQ1-pLIs.js";
 import { u as Se } from "../chunks/D8mHI_K9.js";
-import { I as Ae } from "../chunks/C3mvM0t4.js";
+import { I as Ae } from "../chunks/BrQ3ZRVw.js";
 import { f as ve, a as Oe } from "../chunks/DswDW5U8.js";
 import { I as Ve } from "../chunks/Vi3uK7uO.js";
-import { f as Le, b as Ne, c as Ue } from "../chunks/bbkAiDd0.js";
+import { f as Le, b as Ne, c as Ue } from "../chunks/CBGoQiUs.js";
 import { C as je } from "../chunks/BnPoFdx3.js";
-import { B as qe } from "../chunks/BIsFWZ5z.js";
+import { B as qe } from "../chunks/dWvWuq1E.js";
 import { c as ze } from "../chunks/BRCxk8by.js";
-import { F as Ge } from "../chunks/CqS1e6KT.js";
+import { F as Ge } from "../chunks/BS0DIDHc.js";
 import { T as de } from "../chunks/BmpEzKyJ.js";
-import { P as Re } from "../chunks/CLPs45Pj.js";
+import { P as Re } from "../chunks/yrKs3w9k.js";
 var We = b('<!> <!> <div></div> <!> <div class="err"> </div>', 1), He = b('<div class="addNew svelte-1v7phw9"><!></div>'), Je = b("<div> </div>"), Ke = b('<div class="ip svelte-1v7phw9"><!></div>'), Qe = b('<div class="delete svelte-1v7phw9"><!></div>'), Xe = b('<div class="blacklisted svelte-1v7phw9"><!> <div class="date svelte-1v7phw9"> </div> <!></div>'), Ye = b('<div class="top svelte-1v7phw9"><!> <!></div> <div id="blacklist"><!></div> <!>', 1), Ze = b(" <!>", 1);
 function et(O, me) {
   Pe(me, true);
diff --git a/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.br b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.br
new file mode 100644
index 00000000..af82940e
Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.br differ
diff --git a/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.gz b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.gz
new file mode 100644
index 00000000..bb01677c
Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.D9bnTBN1.js.gz differ
diff --git a/static/v1/_app/version.json b/static/v1/_app/version.json
index f0ffb491..4d2ecf06 100644
--- a/static/v1/_app/version.json
+++ b/static/v1/_app/version.json
@@ -1,1 +1,1 @@
-{"version":"1740669860963"}
\ No newline at end of file
+{"version":"1740745386477"}
\ No newline at end of file
diff --git a/static/v1/_app/version.json.br b/static/v1/_app/version.json.br
index 5aa71cc0..592b9b2b 100644
Binary files a/static/v1/_app/version.json.br and b/static/v1/_app/version.json.br differ
diff --git a/static/v1/_app/version.json.gz b/static/v1/_app/version.json.gz
index b0a80aff..6d55c6c4 100644
Binary files a/static/v1/_app/version.json.gz and b/static/v1/_app/version.json.gz differ
diff --git a/templates/html/account.html b/templates/html/account.html
index 0af95063..524dd23f 100644
--- a/templates/html/account.html
+++ b/templates/html/account.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-AGV6iW7J2/IxQ8iCpat9k1WwGq5dZWTr24Sju7BDNk8='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-lwq9vl6H+jXjok2jI7ON4Z5qUkdYOn47L1j907Z1TuU='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/5.DglvKDFr.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
@@ -30,10 +30,10 @@
 		<link href="./_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -41,12 +41,12 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/5.CDkCALow.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/5.AEHeQ3oa.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/7lxiEjMQ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
@@ -54,38 +54,38 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Nks81rMs.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/GDMtXUL9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHXYRhv2.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BV-QGn6o.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/C3mvM0t4.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BrQ3ZRVw.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DwMn7YWq.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CY7Th9O-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CHyRPnih.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Co1XQfiq.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/8x1xiTUd.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BL7yMFqm.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/BlGzyD-C.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CgRaCfAG.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BZaoh_H_.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CE2_6siz.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/B6Ygp7Nf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/B6SEzQuS.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/h7VULPdI.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/gtHtP0A2.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Cv55insy.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/D45liQ4S.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Beqa1JKV.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/KFFqpuZ0.js"><!--[--><!--]--><title>User Account </title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DUtP9z1z.js"><!--[--><!--]--><title>User Account </title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -95,11 +95,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="lGfaSsws" aria-controls="TaswekJL" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="TaswekJL" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="TaswekJL" aria-label="Select Language" aria-labelledby="lGfaSsws" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="sxjioPTy" aria-controls="ZAxwbNfE" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="ZAxwbNfE" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="ZAxwbNfE" aria-label="Select Language" aria-labelledby="sxjioPTy" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +107,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 5],
diff --git a/templates/html/account.html.br b/templates/html/account.html.br
index d7ea967d..70ddcf15 100644
Binary files a/templates/html/account.html.br and b/templates/html/account.html.br differ
diff --git a/templates/html/account.html.gz b/templates/html/account.html.gz
index 0a81cc9c..e644b07c 100644
Binary files a/templates/html/account.html.gz and b/templates/html/account.html.gz differ
diff --git a/templates/html/admin.html b/templates/html/admin.html
index cc554809..d9de5505 100644
--- a/templates/html/admin.html
+++ b/templates/html/admin.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-h3mlAUTSf/JhuLj9Xz0oGON96ugX1KFiNf6a66SXzCg='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-zmtfsVwuw8JEWsUOrdIzG0Xew3BEvGJdqxvi84+qAHw='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -37,10 +37,10 @@
 		<link href="./_app/immutable/assets/Devices.CG8oDF9x.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/search.DUeB7W-1.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -48,56 +48,56 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/6.BCzHA2GH.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ClhbEfd1.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CLPs45Pj.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/6.Bf8PwG-K.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DhdHODqL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/yrKs3w9k.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BZaoh_H_.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/GDMtXUL9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/D45liQ4S.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHXYRhv2.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Beqa1JKV.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D-L0o8jR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DTR8xafZ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/C3mvM0t4.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CwWWGNuX.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BrQ3ZRVw.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Bbu1Qkv4.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CS_Msctd.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Nks81rMs.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/B6Ygp7Nf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CHyRPnih.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/BlGzyD-C.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/BnmgLJ5E.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/h7VULPdI.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BL7yMFqm.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CgRaCfAG.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BWj5qgFT.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -109,7 +109,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -117,8 +117,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 6],
diff --git a/templates/html/admin.html.br b/templates/html/admin.html.br
index 3ef5f1ce..569630a5 100644
Binary files a/templates/html/admin.html.br and b/templates/html/admin.html.br differ
diff --git a/templates/html/admin.html.gz b/templates/html/admin.html.gz
index 9a9ca73e..0d45a902 100644
Binary files a/templates/html/admin.html.gz and b/templates/html/admin.html.gz differ
diff --git a/templates/html/admin/api_keys.html b/templates/html/admin/api_keys.html
index 1c611a3d..951ca0d0 100644
--- a/templates/html/admin/api_keys.html
+++ b/templates/html/admin/api_keys.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-6D88rbmifef5RteTjBx5sJPe5hIEwQwPQjxiXGuxEes='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-ABtZmErZdt10gMN819NMMMx1td4YJS1WC5x1S2TPIKM='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -31,10 +31,10 @@
 		<link href="../_app/immutable/assets/InputPassword.C2KOSbcl.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -42,48 +42,48 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/7.DV9m5pc_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/7.D2-wIoAP.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DTR8xafZ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/C3mvM0t4.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BrQ3ZRVw.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CaD2yKt4.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLUUhKug.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/D6E4lNPv.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -95,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -103,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 7],
diff --git a/templates/html/admin/api_keys.html.br b/templates/html/admin/api_keys.html.br
index a6b5a8c2..189f99b5 100644
Binary files a/templates/html/admin/api_keys.html.br and b/templates/html/admin/api_keys.html.br differ
diff --git a/templates/html/admin/api_keys.html.gz b/templates/html/admin/api_keys.html.gz
index 349f06d5..87f03c97 100644
Binary files a/templates/html/admin/api_keys.html.gz and b/templates/html/admin/api_keys.html.gz differ
diff --git a/templates/html/admin/attributes.html b/templates/html/admin/attributes.html
index 99ee42f8..a46f0ba8 100644
--- a/templates/html/admin/attributes.html
+++ b/templates/html/admin/attributes.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-EL3UKUbAWuDcO7QbvMC1lbENkbj91xAhvZtTqvtDa0I='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-JqSrkTt+bP8bpwc4qTd2aCuRqkgyrrB39qJDSFNMYR4='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -27,10 +27,10 @@
 		<link href="../_app/immutable/assets/OrderSearchBar.CA5kVv7H.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -38,40 +38,40 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/8.-OzRFGxo.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/8.DRxfW3X0.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js"><!--[--><!--]--><title>Rauthy Admin</title>
@@ -86,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -94,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 8],
diff --git a/templates/html/admin/attributes.html.br b/templates/html/admin/attributes.html.br
index 4ebe92d5..1c1021c6 100644
Binary files a/templates/html/admin/attributes.html.br and b/templates/html/admin/attributes.html.br differ
diff --git a/templates/html/admin/attributes.html.gz b/templates/html/admin/attributes.html.gz
index 95d6ab91..a27254d1 100644
Binary files a/templates/html/admin/attributes.html.gz and b/templates/html/admin/attributes.html.gz differ
diff --git a/templates/html/admin/blacklist.html b/templates/html/admin/blacklist.html
index 515b6c52..26481116 100644
--- a/templates/html/admin/blacklist.html
+++ b/templates/html/admin/blacklist.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-417wVdEXGNrNY1AS4iq8i2AgwLRii0CUAO3oQTkfS6g='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-EGtl1T7datHOtOUIpgGdKRGbV7gHVz47L5KazLZfKZk='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -26,10 +26,10 @@
 		<link href="../_app/immutable/assets/ButtonAddModal.seo_jBEw.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Modal.BtIM9gKT.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Pagination.BdyGauFO.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -37,40 +37,40 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/9.Ba0_Tj9Y.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/C3mvM0t4.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/9.D9bnTBN1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BrQ3ZRVw.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLPs45Pj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/yrKs3w9k.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BZaoh_H_.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
@@ -83,7 +83,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -91,8 +91,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 9],
diff --git a/templates/html/admin/blacklist.html.br b/templates/html/admin/blacklist.html.br
index bfdc041e..7309cd8b 100644
Binary files a/templates/html/admin/blacklist.html.br and b/templates/html/admin/blacklist.html.br differ
diff --git a/templates/html/admin/blacklist.html.gz b/templates/html/admin/blacklist.html.gz
index 0af95de1..722e1904 100644
Binary files a/templates/html/admin/blacklist.html.gz and b/templates/html/admin/blacklist.html.gz differ
diff --git a/templates/html/admin/clients.html b/templates/html/admin/clients.html
index 23cf506d..ce2db7ed 100644
--- a/templates/html/admin/clients.html
+++ b/templates/html/admin/clients.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-5dAuodF5wH9eVJn1rAdWShLTB7Yh7cT+NTp0bY5wrtY='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-FJgqOUhVFwLG3gYXUOY1hhD0JSfkBfL4r4WPytaieqs='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -18,7 +18,7 @@
 		<link href="../_app/immutable/assets/A.Dh1ywWRo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tooltip.C_ZIhQMX.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Event.jSO7nsEo.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/10.Y1ldeHJ8.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/10.D68-buT7.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ButtonAddModal.seo_jBEw.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Modal.BtIM9gKT.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
@@ -32,10 +32,10 @@
 		<link href="../_app/immutable/assets/SelectList.C3ZG6Sq9.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/InputPassword.C2KOSbcl.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/InputFile.zKtyzJAb.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -43,49 +43,49 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/10.CnduoM83.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/10.C1VGQkoE.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DTR8xafZ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CwWWGNuX.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLUUhKug.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Bbu1Qkv4.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/D6E4lNPv.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CaD2yKt4.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/yeyP9_ZL.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/Cog9no35.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -97,7 +97,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -105,8 +105,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 10],
diff --git a/templates/html/admin/clients.html.br b/templates/html/admin/clients.html.br
index c481932e..43b529d6 100644
Binary files a/templates/html/admin/clients.html.br and b/templates/html/admin/clients.html.br differ
diff --git a/templates/html/admin/clients.html.gz b/templates/html/admin/clients.html.gz
index ae4c84c6..bbf04308 100644
Binary files a/templates/html/admin/clients.html.gz and b/templates/html/admin/clients.html.gz differ
diff --git a/templates/html/admin/config/argon2.html b/templates/html/admin/config/argon2.html
index f9fe946d..692d014b 100644
--- a/templates/html/admin/config/argon2.html
+++ b/templates/html/admin/config/argon2.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-/bmD4gZMIIGW1d/k17NWtrcjPckxitWk/m7EFrwmAiQ='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-kpmQENpgTPbOhZ24Xac+k+BVGRu/8O9eaaEJKL+3thU='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -23,10 +23,10 @@
 		<link href="../../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/11.BE4hE6ce.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BH6NCLk-.js">
@@ -34,35 +34,35 @@
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/3.BdrLi89M.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/D3G2nKoD.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/3.l69RoGkC.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DpcgKHU5.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/11.B1vrRScS.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DmeAqnkr.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/11.ZzVIsU4Z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BtKnbFDH.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DswDW5U8.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
@@ -75,7 +75,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -83,8 +83,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 3, 11],
diff --git a/templates/html/admin/config/argon2.html.br b/templates/html/admin/config/argon2.html.br
index dd1ff009..082dce75 100644
Binary files a/templates/html/admin/config/argon2.html.br and b/templates/html/admin/config/argon2.html.br differ
diff --git a/templates/html/admin/config/argon2.html.gz b/templates/html/admin/config/argon2.html.gz
index 9f36e288..2d2f2b42 100644
Binary files a/templates/html/admin/config/argon2.html.gz and b/templates/html/admin/config/argon2.html.gz differ
diff --git a/templates/html/admin/config/encryption.html b/templates/html/admin/config/encryption.html
index 4bd8fd38..dc59f597 100644
--- a/templates/html/admin/config/encryption.html
+++ b/templates/html/admin/config/encryption.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-D0OKPw9eYhVC8P7pugZjSJMPaJmBAs7jyTPdl0wuw0M='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-OzCf31UvsMyc6zRX9i1n2LY0iswIByvmb9Ua8NASxpA='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -22,10 +22,10 @@
 		<link href="../../_app/immutable/assets/NavSub.DoCLemSo.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/12.BQkaMFc2.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BH6NCLk-.js">
@@ -33,33 +33,33 @@
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/3.BdrLi89M.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/D3G2nKoD.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/3.l69RoGkC.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DpcgKHU5.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/12.hK114voq.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/12.bvFGcIW1.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Nks81rMs.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
@@ -72,7 +72,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -80,8 +80,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 3, 12],
diff --git a/templates/html/admin/config/encryption.html.br b/templates/html/admin/config/encryption.html.br
index 400e982a..05b63390 100644
Binary files a/templates/html/admin/config/encryption.html.br and b/templates/html/admin/config/encryption.html.br differ
diff --git a/templates/html/admin/config/encryption.html.gz b/templates/html/admin/config/encryption.html.gz
index c17e3e44..fd51854e 100644
Binary files a/templates/html/admin/config/encryption.html.gz and b/templates/html/admin/config/encryption.html.gz differ
diff --git a/templates/html/admin/config/jwks.html b/templates/html/admin/config/jwks.html
index b8d961b1..ed6587ef 100644
--- a/templates/html/admin/config/jwks.html
+++ b/templates/html/admin/config/jwks.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-cl1ywTURCv2eFx6ZJE4UYzaAcE0+qqNH5GRkDjl0TRI='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-5kyA20mG4Z3fkACvjvofk2vtlaOzfvDXj3kRN2DU35E='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -24,10 +24,10 @@
 		<link href="../../_app/immutable/assets/13.Czx0QoQT.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/LabeledValue.DgYB9jCX.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BH6NCLk-.js">
@@ -35,34 +35,34 @@
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/3.BdrLi89M.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/D3G2nKoD.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/3.l69RoGkC.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DpcgKHU5.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/13.CP36-xiu.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/BlGzyD-C.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/13.aQ-6-Mwy.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CgRaCfAG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BZaoh_H_.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Nks81rMs.js"><!--[--><!--]--><title>Rauthy Admin</title>
@@ -77,7 +77,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -85,8 +85,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 3, 13],
diff --git a/templates/html/admin/config/jwks.html.br b/templates/html/admin/config/jwks.html.br
index 9f44b292..bbb441a4 100644
Binary files a/templates/html/admin/config/jwks.html.br and b/templates/html/admin/config/jwks.html.br differ
diff --git a/templates/html/admin/config/jwks.html.gz b/templates/html/admin/config/jwks.html.gz
index 7da48c52..1973472d 100644
Binary files a/templates/html/admin/config/jwks.html.gz and b/templates/html/admin/config/jwks.html.gz differ
diff --git a/templates/html/admin/config/policy.html b/templates/html/admin/config/policy.html
index d13fb94f..c855e662 100644
--- a/templates/html/admin/config/policy.html
+++ b/templates/html/admin/config/policy.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-ZD9l7TMGJy32fw/EhEiKeWnos9QuJod94iObQXtzUlE='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-TmjOOqr+r2A03SrTiXY0kpewJzg10tgCfF5jvnb3j8s='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -21,12 +21,12 @@
 		<link href="../../_app/immutable/assets/3.CP24NPRE.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/NavSub.DoCLemSo.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
-		<link href="../../_app/immutable/assets/14.xBcNYlu4.css" rel="stylesheet">
+		<link href="../../_app/immutable/assets/14.DOlHIbwb.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BH6NCLk-.js">
@@ -34,36 +34,37 @@
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/3.BdrLi89M.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/D3G2nKoD.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/3.l69RoGkC.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DpcgKHU5.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/14.mBGYP8i2.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DmeAqnkr.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CqS1e6KT.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DswDW5U8.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="../../_app/immutable/nodes/14.B7ElQKvZ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BtKnbFDH.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BS0DIDHc.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DswDW5U8.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/Nks81rMs.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -75,7 +76,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -83,8 +84,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 3, 14],
diff --git a/templates/html/admin/config/policy.html.br b/templates/html/admin/config/policy.html.br
index 98fa0bc1..20b87521 100644
Binary files a/templates/html/admin/config/policy.html.br and b/templates/html/admin/config/policy.html.br differ
diff --git a/templates/html/admin/config/policy.html.gz b/templates/html/admin/config/policy.html.gz
index a18b80e7..e1692189 100644
Binary files a/templates/html/admin/config/policy.html.gz and b/templates/html/admin/config/policy.html.gz differ
diff --git a/templates/html/admin/docs.html b/templates/html/admin/docs.html
index da63d20c..18006e21 100644
--- a/templates/html/admin/docs.html
+++ b/templates/html/admin/docs.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-HfafTHQscygYWeuR95aXOl7CrdH+v4o9BDV99fxBRlI='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-UeiJid+Qk8xPNNjwTPt/FIT8u0MaOpvDU96IvbeoJzI='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -19,10 +19,10 @@
 		<link href="../_app/immutable/assets/Tooltip.C_ZIhQMX.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Event.jSO7nsEo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -30,30 +30,30 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/15.Dfk-tohD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/15.CiKtnmLi.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
@@ -66,7 +66,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -74,8 +74,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 15],
diff --git a/templates/html/admin/docs.html.br b/templates/html/admin/docs.html.br
index 9983b446..5eab3abf 100644
Binary files a/templates/html/admin/docs.html.br and b/templates/html/admin/docs.html.br differ
diff --git a/templates/html/admin/docs.html.gz b/templates/html/admin/docs.html.gz
index 3c61a8a2..45d3f733 100644
Binary files a/templates/html/admin/docs.html.gz and b/templates/html/admin/docs.html.gz differ
diff --git a/templates/html/admin/events.html b/templates/html/admin/events.html
index 53273a1e..38230b1f 100644
--- a/templates/html/admin/events.html
+++ b/templates/html/admin/events.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-xedFe3P7a+BHObiVcAfp5xXLI2X+u3SQ5sUTxc9pjzA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-n6PwY+Dm0l7B6rl2bHQzzhtOZOWnXF2ebD1Rr47lq/Q='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -22,10 +22,10 @@
 		<link href="../_app/immutable/assets/InputDateTimeCombo.DolONx9D.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OrderSearchBar.CA5kVv7H.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -33,33 +33,33 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/16.CkY-pDrg.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/C3mvM0t4.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/16.Bj87qz_1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BrQ3ZRVw.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
@@ -72,7 +72,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -80,8 +80,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 16],
diff --git a/templates/html/admin/events.html.br b/templates/html/admin/events.html.br
index 04662dbd..7a2bb169 100644
Binary files a/templates/html/admin/events.html.br and b/templates/html/admin/events.html.br differ
diff --git a/templates/html/admin/events.html.gz b/templates/html/admin/events.html.gz
index b2c4fd93..44075d60 100644
Binary files a/templates/html/admin/events.html.gz and b/templates/html/admin/events.html.gz differ
diff --git a/templates/html/admin/groups.html b/templates/html/admin/groups.html
index 1ed88556..c094275c 100644
--- a/templates/html/admin/groups.html
+++ b/templates/html/admin/groups.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-HX7ZiUJBP8OdkbnsMy16uyOmHGPUQVnnHkz1OzKbLT8='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-dnqEx/JoYOcXNbCOg5PKOJbsT/JL8xZKVkbH96GmHpk='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -28,10 +28,10 @@
 		<link href="../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LabeledValue.DgYB9jCX.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -39,40 +39,40 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/17.DX2zLMxk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/17.Do-D-pk1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
@@ -88,7 +88,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -96,8 +96,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 17],
diff --git a/templates/html/admin/groups.html.br b/templates/html/admin/groups.html.br
index c48d1f39..6ceeaf3a 100644
Binary files a/templates/html/admin/groups.html.br and b/templates/html/admin/groups.html.br differ
diff --git a/templates/html/admin/groups.html.gz b/templates/html/admin/groups.html.gz
index 86c4a47e..27e95cf7 100644
Binary files a/templates/html/admin/groups.html.gz and b/templates/html/admin/groups.html.gz differ
diff --git a/templates/html/admin/providers.html b/templates/html/admin/providers.html
index 95d3cb2d..cc53beb2 100644
--- a/templates/html/admin/providers.html
+++ b/templates/html/admin/providers.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-xIDPkfPUXW3JbToVWDebZg7//BEHDawf1DytvkfStvQ='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-7tAUJspMNgKVoqH5m8dtR92e8jmBZkriQtXzhUwvNxM='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -32,10 +32,10 @@
 		<link href="../_app/immutable/assets/InputFile.zKtyzJAb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -43,48 +43,48 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/18.CFV_AKwB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/18.Dr95mQh2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CaD2yKt4.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Cv55insy.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DTR8xafZ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/yeyP9_ZL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BlGzyD-C.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Cog9no35.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CgRaCfAG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BZaoh_H_.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CS_Msctd.js"><!--[--><!--]--><title>Rauthy Admin</title>
@@ -99,7 +99,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +107,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 18],
diff --git a/templates/html/admin/providers.html.br b/templates/html/admin/providers.html.br
index 9fcce9d9..186b2187 100644
Binary files a/templates/html/admin/providers.html.br and b/templates/html/admin/providers.html.br differ
diff --git a/templates/html/admin/providers.html.gz b/templates/html/admin/providers.html.gz
index 588d6791..d23dd107 100644
Binary files a/templates/html/admin/providers.html.gz and b/templates/html/admin/providers.html.gz differ
diff --git a/templates/html/admin/roles.html b/templates/html/admin/roles.html
index b93a123d..e993fe0a 100644
--- a/templates/html/admin/roles.html
+++ b/templates/html/admin/roles.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-WiCkTAMad/2ZLmCzyHqut++bDODOzCjoIZ4niML05Ok='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-882SMNmHJZuAA2gTycOKiIjyNiEQpvNn4INuaGaspKU='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -28,10 +28,10 @@
 		<link href="../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LabeledValue.DgYB9jCX.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -39,40 +39,40 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/19.Bl8K80iH.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/19.Cqh14NfW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
@@ -88,7 +88,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -96,8 +96,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 19],
diff --git a/templates/html/admin/roles.html.br b/templates/html/admin/roles.html.br
index 51361a25..f9970c1b 100644
Binary files a/templates/html/admin/roles.html.br and b/templates/html/admin/roles.html.br differ
diff --git a/templates/html/admin/roles.html.gz b/templates/html/admin/roles.html.gz
index 0772c7f4..9bb4a89b 100644
Binary files a/templates/html/admin/roles.html.gz and b/templates/html/admin/roles.html.gz differ
diff --git a/templates/html/admin/scopes.html b/templates/html/admin/scopes.html
index 68a6cf54..acf3f176 100644
--- a/templates/html/admin/scopes.html
+++ b/templates/html/admin/scopes.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-CTx2GwuuQSTSu+oxFkrVanOdLTCsk6+bVdolG8E44x0='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-GE7MTaQ9T8iZS9iTDLxd5JULAjiGXZZPjBoivUj6NW8='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -30,10 +30,10 @@
 		<link href="../_app/immutable/assets/SelectList.C3ZG6Sq9.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/InputCheckbox.C8ohHFHX.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Tabs.CEW0mXQK.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -41,43 +41,43 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/20.dVDTpriI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/20.CedPMXkk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CwWWGNuX.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Bbu1Qkv4.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DTR8xafZ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js"><!--[--><!--]--><title>Rauthy Admin</title>
@@ -92,7 +92,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -100,8 +100,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 20],
diff --git a/templates/html/admin/scopes.html.br b/templates/html/admin/scopes.html.br
index c14eaf0b..7bd752a2 100644
Binary files a/templates/html/admin/scopes.html.br and b/templates/html/admin/scopes.html.br differ
diff --git a/templates/html/admin/scopes.html.gz b/templates/html/admin/scopes.html.gz
index 4a827dfa..5e056b5c 100644
Binary files a/templates/html/admin/scopes.html.gz and b/templates/html/admin/scopes.html.gz differ
diff --git a/templates/html/admin/sessions.html b/templates/html/admin/sessions.html
index 72285b12..19e4cac1 100644
--- a/templates/html/admin/sessions.html
+++ b/templates/html/admin/sessions.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-cHJbxAfalWyjO5FrKVWgorHfbtzwjEbPmmskrr8pUr8='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-W+Ey6OWTfqgxvIshMSk/UWcKVEwwvYteHvQhXREx6xA='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -25,10 +25,10 @@
 		<link href="../_app/immutable/assets/ContentAdmin.BLfkWbjo.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OrderSearchBar.CA5kVv7H.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/search.DUeB7W-1.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -36,39 +36,39 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/21.DiyLgty0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLPs45Pj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/21.ULOkjUD6.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/yrKs3w9k.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BZaoh_H_.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CS_Msctd.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BlGzyD-C.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CgRaCfAG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BnmgLJ5E.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BWj5qgFT.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -80,7 +80,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -88,8 +88,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 21],
diff --git a/templates/html/admin/sessions.html.br b/templates/html/admin/sessions.html.br
index 0c34407b..84781f2d 100644
Binary files a/templates/html/admin/sessions.html.br and b/templates/html/admin/sessions.html.br differ
diff --git a/templates/html/admin/sessions.html.gz b/templates/html/admin/sessions.html.gz
index a58d0e84..d6f3b234 100644
Binary files a/templates/html/admin/sessions.html.gz and b/templates/html/admin/sessions.html.gz differ
diff --git a/templates/html/admin/users.html b/templates/html/admin/users.html
index e99055dc..76b434a1 100644
--- a/templates/html/admin/users.html
+++ b/templates/html/admin/users.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-3v0dfUDVWmtsDkV2nWqx+qMJnZPxbBoLm3wzLI5F9hU='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-T1zUCtxfx+x3fpfWi9XkJ9DY+Mn/AadCf7ZF165MAao='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/2.Cmyyzwvb.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
@@ -37,10 +37,10 @@
 		<link href="../_app/immutable/assets/Devices.CG8oDF9x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/search.DUeB7W-1.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -48,56 +48,56 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/2.B-zWphhB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/2.zaOUn-Cn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/i8Xqpu09.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/7lxiEjMQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6SEzQuS.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/gtHtP0A2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BmpEzKyJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CR02HlKk.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DbOz6XEk.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/22.BCzHA2GH.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/ClhbEfd1.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DxrdFxfV.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLPs45Pj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BhccdcsY.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/cMKAIrmN.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/22.Bf8PwG-K.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DhdHODqL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CT2gdhvj.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/yrKs3w9k.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BZaoh_H_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D3G2nKoD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BIsFWZ5z.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/GDMtXUL9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DpcgKHU5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dWvWuq1E.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHXYRhv2.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D-L0o8jR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BnPoFdx3.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DTR8xafZ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/C3mvM0t4.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CwWWGNuX.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BrQ3ZRVw.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Bbu1Qkv4.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CE2_6siz.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/_OE2Cq0B.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CS_Msctd.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Nks81rMs.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/B6Ygp7Nf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CHyRPnih.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BlGzyD-C.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/BnmgLJ5E.js"><!--[--><!--]--><title>Rauthy Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/h7VULPdI.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BL7yMFqm.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CgRaCfAG.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BWj5qgFT.js"><!--[--><!--]--><title>Rauthy Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -109,7 +109,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -117,8 +117,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2, 22],
diff --git a/templates/html/admin/users.html.br b/templates/html/admin/users.html.br
index 555270e6..3e7eafda 100644
Binary files a/templates/html/admin/users.html.br and b/templates/html/admin/users.html.br differ
diff --git a/templates/html/admin/users.html.gz b/templates/html/admin/users.html.gz
index 5570d000..f7f74d7f 100644
Binary files a/templates/html/admin/users.html.gz and b/templates/html/admin/users.html.gz differ
diff --git a/templates/html/device.html b/templates/html/device.html
index 94f49caa..4448423f 100644
--- a/templates/html/device.html
+++ b/templates/html/device.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-CDvnQJti1NgEW8FHtkrwzzPTKMnSoBaTj3RKYnrAh0s='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-avFPvfxlgnTam0BN8WvvtYBh+586gSs5Dc0uz8dtxwY='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/23.D7TAm3C0.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -17,10 +17,10 @@
 		<link href="./_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -28,27 +28,27 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/23.1c9kUSuV.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/23.YihNSyT5.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BpWRzPRQ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CVHA2fPQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BRCxk8by.js"><!--[--><!--]--><title>Device Authorization</title>
 </head>
 <body>
@@ -59,11 +59,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="GRkgnKsi" aria-controls="QhmuCRUi" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="QhmuCRUi" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="QhmuCRUi" aria-label="Select Language" aria-labelledby="GRkgnKsi" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="uRrqnctQ" aria-controls="VpEECRqk" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="VpEECRqk" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="VpEECRqk" aria-label="Select Language" aria-labelledby="uRrqnctQ" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -71,8 +71,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 23],
diff --git a/templates/html/device.html.br b/templates/html/device.html.br
index 433c45e6..15d27d41 100644
Binary files a/templates/html/device.html.br and b/templates/html/device.html.br differ
diff --git a/templates/html/device.html.gz b/templates/html/device.html.gz
index 971ebc3d..62831c4a 100644
Binary files a/templates/html/device.html.gz and b/templates/html/device.html.gz differ
diff --git a/templates/html/error.html b/templates/html/error.html
index 74b331f7..09284301 100644
--- a/templates/html/error.html
+++ b/templates/html/error.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-hkKA4GE04PfPKmwOZkUgkORCyCbhjg1BW4h3RVXCQ1s='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-gL/K15FamObM5qPDQ7WkXUtele2Az8ivft1hTgYK5zg='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="./_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -27,26 +27,26 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/24.DRXWbxob.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/C-8adDJ4.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/24.Dq8uKh0Z.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DwWkPEtb.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CVHA2fPQ.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -56,11 +56,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="flex-col"><h1></h1> <br> <p></p> <!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="enbtQcyr" aria-controls="NOUncPBQ" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="NOUncPBQ" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="NOUncPBQ" aria-label="Select Language" aria-labelledby="enbtQcyr" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="xCYetVlF" aria-controls="ARYRxAnP" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="ARYRxAnP" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="ARYRxAnP" aria-label="Select Language" aria-labelledby="xCYetVlF" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -68,8 +68,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 24],
diff --git a/templates/html/error.html.br b/templates/html/error.html.br
index 60d65853..af1597fe 100644
Binary files a/templates/html/error.html.br and b/templates/html/error.html.br differ
diff --git a/templates/html/error.html.gz b/templates/html/error.html.gz
index 1a6239d8..c342ba57 100644
Binary files a/templates/html/error.html.gz and b/templates/html/error.html.gz differ
diff --git a/templates/html/error/error.html b/templates/html/error/error.html
index 086cd298..572b7746 100644
--- a/templates/html/error/error.html
+++ b/templates/html/error/error.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-3HEDkiUtt9fmw/5v6UyHUrjKmwnJOquy+L5ytru3ruw='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-sr1hVa/6ucvFdkTD3xWEZ+WecFt+7hmvJBjBGKhkLGc='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -27,26 +27,26 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/25.DRXWbxob.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/C-8adDJ4.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/25.Dq8uKh0Z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DwWkPEtb.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -56,11 +56,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="flex-col"><h1></h1> <br> <p></p> <!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="cLotrdVN" aria-controls="TIrBelIv" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="TIrBelIv" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="TIrBelIv" aria-label="Select Language" aria-labelledby="cLotrdVN" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="OgsbXFSZ" aria-controls="KVuxgiNq" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="KVuxgiNq" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="KVuxgiNq" aria-label="Select Language" aria-labelledby="OgsbXFSZ" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -68,8 +68,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 25],
diff --git a/templates/html/error/error.html.br b/templates/html/error/error.html.br
index c4fd6368..b3fe3cac 100644
Binary files a/templates/html/error/error.html.br and b/templates/html/error/error.html.br differ
diff --git a/templates/html/error/error.html.gz b/templates/html/error/error.html.gz
index aa7393e1..0abb7391 100644
Binary files a/templates/html/error/error.html.gz and b/templates/html/error/error.html.gz differ
diff --git a/templates/html/error/error/error.html b/templates/html/error/error/error.html
index d37bd282..748a6bb1 100644
--- a/templates/html/error/error/error.html
+++ b/templates/html/error/error/error.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-TWq0QcmpVSpYBa6cOVZACwLx29Qy1rum6wGLA8afSoM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-Q3rH7hMLpw/52PkeO+y2R6TynQ3CpaJWtdKhJfHhowU='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BH6NCLk-.js">
@@ -27,26 +27,26 @@
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/26.DRXWbxob.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/C-8adDJ4.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/26.Dq8uKh0Z.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DwWkPEtb.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/CVHA2fPQ.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -56,11 +56,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="flex-col"><h1></h1> <br> <p></p> <!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="IGoVCpli" aria-controls="cFFgRMma" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="cFFgRMma" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="cFFgRMma" aria-label="Select Language" aria-labelledby="IGoVCpli" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="VmxRGJch" aria-controls="HULNMppu" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="HULNMppu" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="HULNMppu" aria-label="Select Language" aria-labelledby="VmxRGJch" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -68,8 +68,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 26],
diff --git a/templates/html/error/error/error.html.br b/templates/html/error/error/error.html.br
index dd4dc5db..ea947ade 100644
Binary files a/templates/html/error/error/error.html.br and b/templates/html/error/error/error.html.br differ
diff --git a/templates/html/error/error/error.html.gz b/templates/html/error/error/error.html.gz
index dc76ee6e..c8dc8b04 100644
Binary files a/templates/html/error/error/error.html.gz and b/templates/html/error/error/error.html.gz differ
diff --git a/templates/html/error/error/error/error.html b/templates/html/error/error/error/error.html
index 61657733..6c05a2ae 100644
--- a/templates/html/error/error/error/error.html
+++ b/templates/html/error/error/error/error.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-HqTxqP1cfEp97j7uMWp6Fi/SsZRDahoCR1S0LWSalVc='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-0TbfMoV1xV2Uu/nFBMV39oQWaEElLjE4KUQbHQ2IxyY='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/Expandable.D-p5TY3y.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="../../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BH6NCLk-.js">
@@ -27,26 +27,26 @@
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/27.DRXWbxob.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/C-8adDJ4.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/27.Dq8uKh0Z.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DwWkPEtb.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CVHA2fPQ.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -56,11 +56,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="flex-col"><h1></h1> <br> <p></p> <!--[!--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="ulhPQijn" aria-controls="MLFANfGw" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="MLFANfGw" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="MLFANfGw" aria-label="Select Language" aria-labelledby="ulhPQijn" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="kwrVBFQF" aria-controls="riJYtwdj" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="riJYtwdj" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="riJYtwdj" aria-label="Select Language" aria-labelledby="kwrVBFQF" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----></div><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -68,8 +68,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 27],
diff --git a/templates/html/error/error/error/error.html.br b/templates/html/error/error/error/error.html.br
index cca4f307..e4868cde 100644
Binary files a/templates/html/error/error/error/error.html.br and b/templates/html/error/error/error/error.html.br differ
diff --git a/templates/html/error/error/error/error.html.gz b/templates/html/error/error/error/error.html.gz
index bac888e2..4bb3241c 100644
Binary files a/templates/html/error/error/error/error.html.gz and b/templates/html/error/error/error/error.html.gz differ
diff --git a/templates/html/fedcm.html b/templates/html/fedcm.html
index 4c9532cd..17827aa2 100644
--- a/templates/html/fedcm.html
+++ b/templates/html/fedcm.html
@@ -7,17 +7,17 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-DS0uWTzre/r4zjULd4rj5GHX+oZ3iL9W6ZN2IdJdcM4='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-bUPMba2g55P7wRtjR+Ah8bagZBhHXVC9FuhT1JohSWg='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/28.BGsNSr6e.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -25,23 +25,23 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/28.Di_O8TGf.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/28.M20QAsrN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CS_Msctd.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Nks81rMs.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Vi3uK7uO.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/GWgockW8.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BRCxk8by.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DswDW5U8.js">
 </head>
 <body>
@@ -54,7 +54,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -62,8 +62,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 28],
diff --git a/templates/html/fedcm.html.br b/templates/html/fedcm.html.br
index 2d65df44..ac697849 100644
Binary files a/templates/html/fedcm.html.br and b/templates/html/fedcm.html.br differ
diff --git a/templates/html/fedcm.html.gz b/templates/html/fedcm.html.gz
index 3bc40dac..8956f3e6 100644
Binary files a/templates/html/fedcm.html.gz and b/templates/html/fedcm.html.gz differ
diff --git a/templates/html/index.html b/templates/html/index.html
index 11323e66..eefbc0f3 100644
--- a/templates/html/index.html
+++ b/templates/html/index.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="./assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-ucDQFWyxaIfru9ZXp6+JZh8wFrml7oPKJO6KMg81XFs='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-oOO+oMOE8T4kxh9pE+oCJqthQVoGyDi7fP91uGctfIA='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/4.Co9Ka4UE.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="./_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Options.DhTNlbAJ.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BH6NCLk-.js">
@@ -27,25 +27,25 @@
 		<link rel="modulepreload" href="./_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/4.BKUHHgwc.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/4.Bphz6Qx6.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMbqVy6X.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/DM7UbbyI.js"><!--[--><!--]--><title>Rauthy</title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/BDMwC9Hh.js"><!--[--><!--]--><title>Rauthy</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -55,11 +55,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="btn svelte-10gbrvf"><button role="button" type="button" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style="width: 9rem;"><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Account<!----></div><!--]--><!--]--></button><!----> <!--[!--><!--]--> <button role="button" type="button" class="l3 svelte-148xxdi" data-isloading="false" aria-disabled="false" style="width: 9rem;"><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Admin<!----></div><!--]--><!--]--></button><!----></div><!----></div><!----> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="tOOvLatr" aria-controls="yGIcDKLp" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="yGIcDKLp" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="yGIcDKLp" aria-label="Select Language" aria-labelledby="tOOvLatr" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="dMPZyhKG" aria-controls="ESjZoNyS" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="ESjZoNyS" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="ESjZoNyS" aria-label="Select Language" aria-labelledby="dMPZyhKG" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -67,8 +67,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.CLcsWOS5.js"),
-						import("./_app/immutable/entry/app.CHL_O5Ts.js")
+						import("./_app/immutable/entry/start.C2_7tcSW.js"),
+						import("./_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 4],
diff --git a/templates/html/index.html.br b/templates/html/index.html.br
index 3f674ef3..c050530e 100644
Binary files a/templates/html/index.html.br and b/templates/html/index.html.br differ
diff --git a/templates/html/index.html.gz b/templates/html/index.html.gz
index 7311fc6b..09f4c06c 100644
Binary files a/templates/html/index.html.gz and b/templates/html/index.html.gz differ
diff --git a/templates/html/oidc/authorize.html b/templates/html/oidc/authorize.html
index 19bc6d4e..9bcd6b05 100644
--- a/templates/html/oidc/authorize.html
+++ b/templates/html/oidc/authorize.html
@@ -7,9 +7,9 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-UqxJkWEYeUkxJy1VQRvrrqDERUu9Sdy8UFOi8Wghoq4='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-Ucpj2VGqS8L8J2z8UFT4zlLxEtH6GJZi+Olo5ZlzQk8='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/29.Bz29sjHN.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/29.BG2PTq5v.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/WebauthnRequest.CzwDbkf1.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/pow.CVii6IAo.css" rel="stylesheet">
@@ -20,10 +20,10 @@
 		<link href="../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/InputPassword.C2KOSbcl.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ButtonAuthProvider.D8eJXbhZ.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -31,30 +31,30 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/29.DA67qI89.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/29.CLi2ZhO5.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CY7Th9O-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/8x1xiTUd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BV-QGn6o.js"><!--[--><!--]--><title>Login </title>
 </head>
@@ -64,13 +64,13 @@
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <!----> <!----> <!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1hqs85f"><div class="head svelte-1hqs85f"><!--[!--><!--]--> <!--[!--><!--]--></div> <div class="name svelte-1hqs85f"><h2></h2></div> <!--[!--><!--]--> <!--[--><form action="/auth/v1/oidc/authorize" method="POST"><div style="width: 18rem;"><input type="email" id="uLqjkJwd" name="email" aria-label="E-Mail" value="" autocomplete="email" placeholder="E-Mail" aria-placeholder="E-Mail" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false"> <div class="label svelte-1q8j01x"><label for="uLqjkJwd" class="font-label noselect svelte-1q8j01x" data-required="true">E-Mail</label> <!--[!--><!--]--></div></div><!----> <!--[!--><!--]--> <!--[--><!--[!--><div class="btn flex-col svelte-1hqs85f"><button role="button" type="submit" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Login<!----></div><!--]--><!--]--></button><!----></div><!--]--><!--]--><!----></form><!----> <!--[!--><!--]--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[--><div class="providers flex-col svelte-1hqs85f"><div class="providersSeparator svelte-1hqs85f"><div class="separator svelte-1hqs85f"></div> <div class="loginWith svelte-1hqs85f"><div class="svelte-1hqs85f">or login with</div></div></div> <!--[--><!--]--></div><!--]--></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <!----> <!----> <!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-5hzq8v"><div class="head svelte-5hzq8v"><!--[!--><!--]--> <!--[!--><!--]--></div> <div class="name svelte-5hzq8v"><h2></h2></div> <!--[!--><!--]--> <!--[--><form action="/auth/v1/oidc/authorize" method="POST"><div class="email svelte-5hzq8v"><div style="width: 18rem;"><input type="email" id="PXdqdIde" name="email" title="Valid E-Mail Address" aria-label="E-Mail" value="" autocomplete="email" placeholder="E-Mail" aria-placeholder="E-Mail" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false"> <div class="label svelte-1q8j01x"><label for="PXdqdIde" class="font-label noselect svelte-1q8j01x" data-required="true">E-Mail</label> <!--[!--><!--]--></div></div><!----></div> <!--[!--><!--]--> <!--[--><!--[!--><div class="btn flex-col svelte-5hzq8v"><button role="button" type="submit" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Login<!----></div><!--]--><!--]--></button><!----></div><!--]--><!--]--><!----></form><!----> <!--[!--><!--]--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="rmFHmhDP" aria-controls="HZKhMQdI" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="HZKhMQdI" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="HZKhMQdI" aria-label="Select Language" aria-labelledby="rmFHmhDP" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="WlNjkoWB" aria-controls="cJPTHDXi" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="cJPTHDXi" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="cJPTHDXi" aria-label="Select Language" aria-labelledby="WlNjkoWB" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -78,8 +78,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 29],
diff --git a/templates/html/oidc/authorize.html.br b/templates/html/oidc/authorize.html.br
index 25cd3462..d4719488 100644
Binary files a/templates/html/oidc/authorize.html.br and b/templates/html/oidc/authorize.html.br differ
diff --git a/templates/html/oidc/authorize.html.gz b/templates/html/oidc/authorize.html.gz
index 32092e66..4ac5fb90 100644
Binary files a/templates/html/oidc/authorize.html.gz and b/templates/html/oidc/authorize.html.gz differ
diff --git a/templates/html/oidc/callback.html b/templates/html/oidc/callback.html
index 3b4b96cd..b658123f 100644
--- a/templates/html/oidc/callback.html
+++ b/templates/html/oidc/callback.html
@@ -7,12 +7,12 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-1w5eH9sioVny5GOxO7jXTfApuM3zSmVpwd9Ej1Ln6LQ='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-CO4L+UlzpZii2SlMizMLGjhBRnOTXdgc/9MjN06WBFo='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -20,12 +20,12 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/30.DKxwCpbn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js"><!--[--><!--]--><title>Callback</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/30.BD24N91H.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js"><!--[--><!--]--><title>Callback</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -37,7 +37,7 @@
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -45,8 +45,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 30],
diff --git a/templates/html/oidc/callback.html.br b/templates/html/oidc/callback.html.br
index 0cddba07..d006762d 100644
Binary files a/templates/html/oidc/callback.html.br and b/templates/html/oidc/callback.html.br differ
diff --git a/templates/html/oidc/callback.html.gz b/templates/html/oidc/callback.html.gz
index c8118015..638e7fc0 100644
Binary files a/templates/html/oidc/callback.html.gz and b/templates/html/oidc/callback.html.gz differ
diff --git a/templates/html/oidc/logout.html b/templates/html/oidc/logout.html
index 24098e7c..8b26576b 100644
--- a/templates/html/oidc/logout.html
+++ b/templates/html/oidc/logout.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-TU7+3U5moh2F+gnXL0PvuLwibjzgA5jEahL66NfWXy8='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-WiDJAbgowxowRFSIpJkB82+aYhUlXpEU9qO5mug2a2I='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/31.BAwvO-Aw.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Options.DhTNlbAJ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -27,26 +27,26 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/31.CtOiUn7l.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/31.DUB-QuMg.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js"><!--[--><!--]--><title>Logout</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js"><!--[--><!--]--><title>Logout</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -56,11 +56,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-7qsjv3"><h1>Logout</h1> <p>Do you really want to logout and end your session?</p> <div class="btn svelte-7qsjv3"><button role="button" type="button" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Logout<!----></div><!--]--><!--]--></button><!----> <button role="button" type="button" class="l3 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Cancel<!----></div><!--]--><!--]--></button><!----></div> <!--[!--><!--]--></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="DZIMWrVv" aria-controls="qcSlbNGC" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="qcSlbNGC" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="qcSlbNGC" aria-label="Select Language" aria-labelledby="DZIMWrVv" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="ymIPFnUE" aria-controls="FSiJLZiS" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="FSiJLZiS" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="FSiJLZiS" aria-label="Select Language" aria-labelledby="ymIPFnUE" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -68,8 +68,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 31],
diff --git a/templates/html/oidc/logout.html.br b/templates/html/oidc/logout.html.br
index b23fea2d..542e2209 100644
Binary files a/templates/html/oidc/logout.html.br and b/templates/html/oidc/logout.html.br differ
diff --git a/templates/html/oidc/logout.html.gz b/templates/html/oidc/logout.html.gz
index 4235de40..ddb7497c 100644
Binary files a/templates/html/oidc/logout.html.gz and b/templates/html/oidc/logout.html.gz differ
diff --git a/templates/html/providers/callback.html b/templates/html/providers/callback.html
index 8982cb3f..02c86631 100644
--- a/templates/html/providers/callback.html
+++ b/templates/html/providers/callback.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-TGtmg36wv2xGFOvGDqX3nz7UOpz3+aHj3NsmgiNQP0g='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-FkUYYkqivOBeT3gaNZFY/xfAKu5PshSfxsmtZM6Rp6E='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/32.BfR9pszH.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/WebauthnRequest.CzwDbkf1.css" rel="stylesheet">
@@ -15,10 +15,10 @@
 		<link href="../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Options.DhTNlbAJ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -26,23 +26,23 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/32.CbsB9tfv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CY7Th9O-.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/32.C-mQ_uZK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/8x1xiTUd.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMFqJ6Jy.js"><!--[--><!--]--><title>Callback</title>
 </head>
 <body>
@@ -53,11 +53,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!--[!--><!--[!--><!--[!--><!--]--><!--]--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="niBjifIc" aria-controls="NVZCVSKo" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="NVZCVSKo" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="NVZCVSKo" aria-label="Select Language" aria-labelledby="niBjifIc" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="ehAUENDU" aria-controls="VXEXEdpq" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="VXEXEdpq" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="VXEXEdpq" aria-label="Select Language" aria-labelledby="ehAUENDU" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -65,8 +65,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 32],
diff --git a/templates/html/providers/callback.html.br b/templates/html/providers/callback.html.br
index 3d7ec091..393382e3 100644
Binary files a/templates/html/providers/callback.html.br and b/templates/html/providers/callback.html.br differ
diff --git a/templates/html/providers/callback.html.gz b/templates/html/providers/callback.html.gz
index c36aac11..c0445ad4 100644
Binary files a/templates/html/providers/callback.html.gz and b/templates/html/providers/callback.html.gz differ
diff --git a/templates/html/users/register.html b/templates/html/users/register.html
index 9499f5fb..133f6d6e 100644
--- a/templates/html/users/register.html
+++ b/templates/html/users/register.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-/KdIj/9gQ4JesX8wlucUz++Na+mUm6B505hi5gZ38w0='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-eDVt32TVAWx7Bs1DwSzXlCwe2bIsWhlMNCyvW/EzRwE='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/33.CF2roeGZ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
@@ -17,10 +17,10 @@
 		<link href="../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BH6NCLk-.js">
@@ -28,28 +28,28 @@
 		<link rel="modulepreload" href="../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/33.OtAFFFhr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/33.BXNZmzIf.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMbqVy6X.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DMkkW5Nn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BhIBACXG.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/BRCxk8by.js"><!--[--><!--]--><title>[object Object]</title>
 </head>
@@ -59,13 +59,13 @@
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-cul8ah"><div class="domainTxt svelte-cul8ah"><h1>User Registration</h1> <!--[!--><!--]--></div> <form action="/auth/v1/users/register" method="POST"><!--[!--><!--]--> <div style="width: inherit;"><input type="email" id="YrxjpDmX" name="email" aria-label="E-Mail" autocomplete="email" placeholder="E-Mail" aria-placeholder="E-Mail" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false"> <div class="label svelte-1q8j01x"><label for="YrxjpDmX" class="font-label noselect svelte-1q8j01x" data-required="true">E-Mail</label> <!--[!--><!--]--></div></div><!----> <div style="width: inherit;"><input type="text" id="siWuWoiH" name="given_name" aria-label="Given Name" autocomplete="given-name" placeholder="Given Name" aria-placeholder="Given Name" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false" pattern="^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$"> <div class="label svelte-1q8j01x"><label for="siWuWoiH" class="font-label noselect svelte-1q8j01x" data-required="true">Given Name</label> <!--[!--><!--]--></div></div><!----> <div style="width: inherit;"><input type="text" id="rNRmiNIr" name="family_name" aria-label="Family Name" autocomplete="family-name" placeholder="Family Name" aria-placeholder="Family Name" aria-disabled="false" step="1" aria-required="false" aria-invalid="false" pattern="^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$"> <div class="label svelte-1q8j01x"><label for="rNRmiNIr" class="font-label noselect svelte-1q8j01x" data-required="false">Family Name</label> <!--[!--><!--]--></div></div><!----> <div class="submit svelte-cul8ah"><button role="button" type="submit" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Register<!----></div><!--]--><!--]--></button><!----></div> <!--[!--><!--[!--><!--]--><!--]--><!----></form><!----></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-cul8ah"><div class="domainTxt svelte-cul8ah"><h1>User Registration</h1> <!--[!--><!--]--></div> <form action="/auth/v1/users/register" method="POST"><!--[!--><!--]--> <div style="width: inherit;"><input type="email" id="gKvtcpDe" name="email" aria-label="E-Mail" autocomplete="email" placeholder="E-Mail" aria-placeholder="E-Mail" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false"> <div class="label svelte-1q8j01x"><label for="gKvtcpDe" class="font-label noselect svelte-1q8j01x" data-required="true">E-Mail</label> <!--[!--><!--]--></div></div><!----> <div style="width: inherit;"><input type="text" id="LauDsesd" name="given_name" aria-label="Given Name" autocomplete="given-name" placeholder="Given Name" aria-placeholder="Given Name" aria-disabled="false" step="1" required aria-required="true" aria-invalid="false" pattern="^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$"> <div class="label svelte-1q8j01x"><label for="LauDsesd" class="font-label noselect svelte-1q8j01x" data-required="true">Given Name</label> <!--[!--><!--]--></div></div><!----> <div style="width: inherit;"><input type="text" id="umZguDdb" name="family_name" aria-label="Family Name" autocomplete="family-name" placeholder="Family Name" aria-placeholder="Family Name" aria-disabled="false" step="1" aria-required="false" aria-invalid="false" pattern="^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$"> <div class="label svelte-1q8j01x"><label for="umZguDdb" class="font-label noselect svelte-1q8j01x" data-required="false">Family Name</label> <!--[!--><!--]--></div></div><!----> <div class="submit svelte-cul8ah"><button role="button" type="submit" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Register<!----></div><!--]--><!--]--></button><!----></div> <!--[!--><!--[!--><!--]--><!--]--><!----></form><!----></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="JLScwmeU" aria-controls="yaYCIqbh" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="yaYCIqbh" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="yaYCIqbh" aria-label="Select Language" aria-labelledby="JLScwmeU" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="IdlbpqPW" aria-controls="iOODapAr" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="iOODapAr" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="iOODapAr" aria-label="Select Language" aria-labelledby="IdlbpqPW" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -73,8 +73,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 33],
diff --git a/templates/html/users/register.html.br b/templates/html/users/register.html.br
index cb8b3f1c..ff3f1fd8 100644
Binary files a/templates/html/users/register.html.br and b/templates/html/users/register.html.br differ
diff --git a/templates/html/users/register.html.gz b/templates/html/users/register.html.gz
index 6878b0af..94a4fb71 100644
Binary files a/templates/html/users/register.html.gz and b/templates/html/users/register.html.gz differ
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html b/templates/html/users/{id}/email_confirm/email_confirm.html
index c1c6d768..93b9a6d8 100644
--- a/templates/html/users/{id}/email_confirm/email_confirm.html
+++ b/templates/html/users/{id}/email_confirm/email_confirm.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-AIQho1bcZeXWKmncJ8QOUhlLepcRP/YQxZkkyytPyig='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-FwVyT6d26+S68RT/HoSYDgisACwGMuarZKbZcar7nrs='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/34.D1v94sLe.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/LangSelector.U7YPPwhi.css" rel="stylesheet">
@@ -16,10 +16,10 @@
 		<link href="../../../_app/immutable/assets/Main.Dm-IaPgT.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ContentCenter.CgrtcW8D.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BH6NCLk-.js">
@@ -27,25 +27,25 @@
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/34.ROMYE5og.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/KFFqpuZ0.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/34.DmjpaHaQ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DUtP9z1z.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BhIBACXG.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DNdifVes.js"><!--[--><!--]--><title>E-Mail Change confirmed</title>
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CVHA2fPQ.js"><!--[--><!--]--><title>E-Mail Change confirmed</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
@@ -55,11 +55,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1g19pwu"><h1>E-Mail Change confirmed</h1> <p class="svelte-1g19pwu">Your E-Mail address has been changed from:<br> <b>old@mail.org</b> to <b>new@mail.org</b></p> <p class="svelte-1g19pwu">You can now log in using your new address.</p> <div class="btn svelte-1g19pwu"><button role="button" type="button" class="l1 svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!---->Login<!----></div><!--]--><!--]--></button><!----></div></div> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="MYidhkhg" aria-controls="vPrCIxfD" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="vPrCIxfD" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="vPrCIxfD" aria-label="Select Language" aria-labelledby="MYidhkhg" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="akaLxQem" aria-controls="ZiYaAAXL" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="ZiYaAAXL" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="ZiYaAAXL" aria-label="Select Language" aria-labelledby="akaLxQem" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -67,8 +67,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 34],
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html.br b/templates/html/users/{id}/email_confirm/email_confirm.html.br
index 158ac160..14cdfb3a 100644
Binary files a/templates/html/users/{id}/email_confirm/email_confirm.html.br and b/templates/html/users/{id}/email_confirm/email_confirm.html.br differ
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html.gz b/templates/html/users/{id}/email_confirm/email_confirm.html.gz
index 3ee8e088..d1800720 100644
Binary files a/templates/html/users/{id}/email_confirm/email_confirm.html.gz and b/templates/html/users/{id}/email_confirm/email_confirm.html.gz differ
diff --git a/templates/html/users/{id}/reset/reset.html b/templates/html/users/{id}/reset/reset.html
index 6190b439..d6a7945c 100644
--- a/templates/html/users/{id}/reset/reset.html
+++ b/templates/html/users/{id}/reset/reset.html
@@ -7,7 +7,7 @@
     <title>Rauthy</title>
     <link rel="icon" href="../../../assets/favicon.svg"/>
     <link rel="stylesheet" href="/auth/v1/theme/{{client_id}}/{{theme_ts}}"/>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-1HyitSGIkYscU75jVFNttntWu1BfaU9zLpIJtUC7KQU='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-Ykuf0DPaHJuaXXpJKW183RCl2JH1UfNrrgGC8dRo5Bc='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BgTF6zX-.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/35.zU3i1GBi.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/Button.D8d1DpHB.css" rel="stylesheet">
@@ -21,10 +21,10 @@
 		<link href="../../../_app/immutable/assets/ThemeSwitch.DqWmA1Kg.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/InputPassword.C2KOSbcl.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/A.Dh1ywWRo.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CLcsWOS5.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CRhC1XE8.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.C2_7tcSW.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DexdtKTq.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CvlvO1XB.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.CHL_O5Ts.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.pvwjm25P.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CmsKOCeN.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/CTI4QPiR.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BH6NCLk-.js">
@@ -32,33 +32,33 @@
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Wh68IIk2.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/zosqiMUL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/C6SR4G2t.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.YgBVodKw.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.UbyZUWMC.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/-T201g_q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DOl8_ubJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/35.Waqtvgzr.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BQ1-pLIs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/35.waCqpI27.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/DMkkW5Nn.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMbqVy6X.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGXT-546.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/B6Ygp7Nf.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DmeAqnkr.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BaE7H8ny.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/h7VULPdI.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BtKnbFDH.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BhIBACXG.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/bbkAiDd0.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CY7Th9O-.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/KFFqpuZ0.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CGniv4pe.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CBGoQiUs.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/8x1xiTUd.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DUtP9z1z.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BHnvQvwL.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BpWRzPRQ.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/D8mHI_K9.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DM7UbbyI.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BDMwC9Hh.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/Ds6bXi0i.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/GWgockW8.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DSw3WKCO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/DcJo-CQ6.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BMFqJ6Jy.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/D45liQ4S.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DNdifVes.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CLUUhKug.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/B6SEzQuS.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/DwMn7YWq.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/CqS1e6KT.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Beqa1JKV.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/CVHA2fPQ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/D6E4lNPv.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/gtHtP0A2.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Co1XQfiq.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/BS0DIDHc.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/DswDW5U8.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/BRCxk8by.js"><!--[--><!--[--><!--[!--><!--[--><!--]--><!--]--><!--]--><!--]--><title>Password Reset</title>
 </head>
@@ -70,11 +70,11 @@
 </div>
 <div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!--[!--><!----><!----> <!--[!--><!--]--> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[!--><!--]--> <!--[!--><!--[!--><!--]--><!--]--> <div class="container svelte-m6xenu absolute"><button role="button" type="button" aria-label="Change Theme" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><!--[!--><div class="icon sun svelte-m6xenu"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12
                         18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75
-                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----><!----></div><!----></main><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="NCjWRXIB" aria-controls="CkiCqIOb" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="CkiCqIOb" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="CkiCqIOb" aria-label="Select Language" aria-labelledby="NCjWRXIB" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+                        3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z"></path></svg></div><!--]--><!----></div><!--]--><!--]--></button><!----></div><!----><!----></div><!----></main><!----> <div class="svelte-10y6iii absolute"><div><button role="combobox" type="button" id="gcveYoDm" aria-controls="ghXixDng" class="invisible svelte-148xxdi" data-isloading="false" aria-disabled="false" popovertarget="ghXixDng" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="btn svelte-5ktp6l" data-border="false"><div class="btnText svelte-5ktp6l" title="Select Language">en</div> <svg fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" width=".8rem" color="currentColor" opacity="0.9"><path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5"></path></svg><!----></div><!----><!----></div><!--]--><!--]--></button><!----> <div id="ghXixDng" aria-label="Select Language" aria-labelledby="gcveYoDm" class="popover svelte-15eoy2j" popover="auto"><div class="inner fade-in svelte-15eoy2j"><!--[!--><div role="listbox" tabindex="0" class="popover svelte-5ktp6l"><!--[!--><!--]--> <div class="popoverOptions svelte-5ktp6l"><!--[--><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="true">de</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="true" data-focus="false">en</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">zh</div><!----></div><!--]--><!--]--></button><button role="button" type="button" class="invisible svelte-148xxdi invisibleOutline" data-isloading="false" aria-disabled="false" style=""><!--[!--><!--[--><div class="font-label svelte-148xxdi"><div class="optPopover svelte-5ktp6l" aria-selected="false" data-focus="false">ko</div><!----></div><!--]--><!--]--></button><!--]--></div></div> <input type="hidden" aria-hidden="true" value="en"><!----><!--]--></div></div></div><!----></div><!----><!----><!--]--><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_uspu0s = {
+					__sveltekit_1kkhlko = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -82,8 +82,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.CLcsWOS5.js"),
-						import("../../../_app/immutable/entry/app.CHL_O5Ts.js")
+						import("../../../_app/immutable/entry/start.C2_7tcSW.js"),
+						import("../../../_app/immutable/entry/app.pvwjm25P.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 35],
diff --git a/templates/html/users/{id}/reset/reset.html.br b/templates/html/users/{id}/reset/reset.html.br
index ad25ffb1..51ad10f1 100644
Binary files a/templates/html/users/{id}/reset/reset.html.br and b/templates/html/users/{id}/reset/reset.html.br differ
diff --git a/templates/html/users/{id}/reset/reset.html.gz b/templates/html/users/{id}/reset/reset.html.gz
index d0b47691..b15ddb9d 100644
Binary files a/templates/html/users/{id}/reset/reset.html.gz and b/templates/html/users/{id}/reset/reset.html.gz differ


Test patch: