diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 9146dd6..f3b1a83 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -23,7 +23,8 @@ "WebFetch(domain:www.convex.dev)", "WebFetch(domain:www.npmjs.com)", "WebFetch(domain:stack.convex.dev)", - "WebFetch(domain:raw.githubusercontent.com)" + "WebFetch(domain:raw.githubusercontent.com)", + "Bash(find:*)" ] } } diff --git a/.gitignore b/.gitignore index 121cc75..849df5c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ node_modules .env.local .vscode ./backend/uploads/ -./discord-html-copy \ No newline at end of file + +discord-html-copy \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 2b9545c..e645cee 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ See also: [CONVEX_RULES.md](./CONVEX_RULES.md) | [CONVEX_EXAMPLES.md](./CONVEX_E ## Key Convex Files (convex/) -- `schema.ts` - Full schema: userProfiles (with avatarStorageId, aboutMe, customStatus), channels (with category, topic, position), messages, messageReactions, channelKeys, roles, userRoles, invites, dmParticipants, typingIndicators, voiceStates +- `schema.ts` - Full schema: userProfiles (with avatarStorageId, aboutMe, customStatus), channels (with category, topic, position), messages, messageReactions, channelKeys, roles, userRoles, invites, dmParticipants, typingIndicators, voiceStates, channelReadState - `auth.ts` - getSalt, verifyUser, createUserWithProfile, getPublicKeys (includes avatarUrl, aboutMe, customStatus), updateProfile, updateStatus - `channels.ts` - list, get, create (with category/topic/position), rename, remove (cascade), updateTopic - `members.ts` - getChannelMembers (includes isHoist on roles, avatarUrl, aboutMe, customStatus) @@ -29,6 +29,7 @@ See also: [CONVEX_RULES.md](./CONVEX_RULES.md) | [CONVEX_EXAMPLES.md](./CONVEX_E - `voice.ts` - getToken (Node action, livekit-server-sdk) - `files.ts` - generateUploadUrl, getFileUrl - `gifs.ts` - search, categories (Node actions, Tenor API) +- `readState.ts` - getReadState, markRead, getAllReadStates, getLatestMessageTimestamps (unread tracking) ## Frontend Structure (Frontend/Electron/src/) @@ -41,6 +42,7 @@ See also: [CONVEX_RULES.md](./CONVEX_RULES.md) | [CONVEX_EXAMPLES.md](./CONVEX_E - `contexts/VoiceContext.jsx` - Voice state via Convex + LiveKit room management - `components/ChannelSettingsModal.jsx` - Channel rename/delete via Convex mutations - `components/ServerSettingsModal.jsx` - Role management via Convex queries/mutations +- `components/MessageItem.jsx` - Individual message rendering with unread divider support - `components/Avatar.jsx` - Reusable avatar component (image or colored-initial fallback) - `components/FriendsView.jsx` - User list via Convex query - `components/DMList.jsx` - DM user picker via Convex query @@ -67,6 +69,7 @@ See also: [CONVEX_RULES.md](./CONVEX_RULES.md) | [CONVEX_EXAMPLES.md](./CONVEX_E - Chat header includes thread, pin, members, notification icons + channel topic - Voice connected panel includes elapsed time timer - Keyboard shortcuts: Ctrl+K (quick switcher), Ctrl+Shift+M (mute toggle) +- Unread tracking: `channelReadState` table stores last-read timestamp per user/channel. ChatArea shows red "NEW" divider, Sidebar shows white dot on unread channels ## Environment Variables diff --git a/Frontend/Electron/dist-react/assets/accordion-BPueGNgN.svg b/Frontend/Electron/dist-react/assets/accordion-BPueGNgN.svg new file mode 100644 index 0000000..c9c21ca --- /dev/null +++ b/Frontend/Electron/dist-react/assets/accordion-BPueGNgN.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/anatomical_heart-DbQDqK_8.svg b/Frontend/Electron/dist-react/assets/anatomical_heart-DbQDqK_8.svg new file mode 100644 index 0000000..e6916d2 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/anatomical_heart-DbQDqK_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/brain-Czvux5Q4.svg b/Frontend/Electron/dist-react/assets/brain-Czvux5Q4.svg new file mode 100644 index 0000000..653427d --- /dev/null +++ b/Frontend/Electron/dist-react/assets/brain-Czvux5Q4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/bubble_tea-Cy1d5egt.svg b/Frontend/Electron/dist-react/assets/bubble_tea-Cy1d5egt.svg new file mode 100644 index 0000000..8cb6178 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/bubble_tea-Cy1d5egt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/burrito-B4L0kbwK.svg b/Frontend/Electron/dist-react/assets/burrito-B4L0kbwK.svg new file mode 100644 index 0000000..c76d82c --- /dev/null +++ b/Frontend/Electron/dist-react/assets/burrito-B4L0kbwK.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/butterfly-AxzpD-Pg.svg b/Frontend/Electron/dist-react/assets/butterfly-AxzpD-Pg.svg new file mode 100644 index 0000000..22c6ead --- /dev/null +++ b/Frontend/Electron/dist-react/assets/butterfly-AxzpD-Pg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/coat-Cbu3wnI6.svg b/Frontend/Electron/dist-react/assets/coat-Cbu3wnI6.svg new file mode 100644 index 0000000..392af56 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/coat-Cbu3wnI6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/couple-KSrP6fk0.svg b/Frontend/Electron/dist-react/assets/couple-KSrP6fk0.svg new file mode 100644 index 0000000..59ca8c0 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/couple-KSrP6fk0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/crab-D6qU1zIW.svg b/Frontend/Electron/dist-react/assets/crab-D6qU1zIW.svg new file mode 100644 index 0000000..8f45b53 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/crab-D6qU1zIW.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/cucumber-oVkPYVB9.svg b/Frontend/Electron/dist-react/assets/cucumber-oVkPYVB9.svg new file mode 100644 index 0000000..83cba03 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/cucumber-oVkPYVB9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/deafen-BWE6ozKl.mp3 b/Frontend/Electron/dist-react/assets/deafen-BWE6ozKl.mp3 new file mode 100644 index 0000000..8e732e1 Binary files /dev/null and b/Frontend/Electron/dist-react/assets/deafen-BWE6ozKl.mp3 differ diff --git a/Frontend/Electron/dist-react/assets/dodo-CoZFlciJ.svg b/Frontend/Electron/dist-react/assets/dodo-CoZFlciJ.svg new file mode 100644 index 0000000..1dbac1e --- /dev/null +++ b/Frontend/Electron/dist-react/assets/dodo-CoZFlciJ.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/emojies_colored-Cxo2u_zo.png b/Frontend/Electron/dist-react/assets/emojies_colored-Cxo2u_zo.png new file mode 100644 index 0000000..fd8472a Binary files /dev/null and b/Frontend/Electron/dist-react/assets/emojies_colored-Cxo2u_zo.png differ diff --git a/Frontend/Electron/dist-react/assets/emojies_greyscale-CtRIvx0g.png b/Frontend/Electron/dist-react/assets/emojies_greyscale-CtRIvx0g.png new file mode 100644 index 0000000..7e304af Binary files /dev/null and b/Frontend/Electron/dist-react/assets/emojies_greyscale-CtRIvx0g.png differ diff --git a/Frontend/Electron/dist-react/assets/empty_nest-DGy7reBo.svg b/Frontend/Electron/dist-react/assets/empty_nest-DGy7reBo.svg new file mode 100644 index 0000000..d27cf19 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/empty_nest-DGy7reBo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/face_in_clouds-DBzCKo8S.svg b/Frontend/Electron/dist-react/assets/face_in_clouds-DBzCKo8S.svg new file mode 100644 index 0000000..dc0a474 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/face_in_clouds-DBzCKo8S.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/ferris_wheel-DvW0t9g3.svg b/Frontend/Electron/dist-react/assets/ferris_wheel-DvW0t9g3.svg new file mode 100644 index 0000000..c35744a --- /dev/null +++ b/Frontend/Electron/dist-react/assets/ferris_wheel-DvW0t9g3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ac-Dr8n8VBW.svg b/Frontend/Electron/dist-react/assets/flag_ac-Dr8n8VBW.svg new file mode 100644 index 0000000..53f90dc --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ac-Dr8n8VBW.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ad-CYOJPtjR.svg b/Frontend/Electron/dist-react/assets/flag_ad-CYOJPtjR.svg new file mode 100644 index 0000000..be10594 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ad-CYOJPtjR.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_af-CN78RMpg.svg b/Frontend/Electron/dist-react/assets/flag_af-CN78RMpg.svg new file mode 100644 index 0000000..769efca --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_af-CN78RMpg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_al-D439po3l.svg b/Frontend/Electron/dist-react/assets/flag_al-D439po3l.svg new file mode 100644 index 0000000..2c8655d --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_al-D439po3l.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_as-B43i20pO.svg b/Frontend/Electron/dist-react/assets/flag_as-B43i20pO.svg new file mode 100644 index 0000000..8b27532 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_as-B43i20pO.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_bl-BoaeaHPp.svg b/Frontend/Electron/dist-react/assets/flag_bl-BoaeaHPp.svg new file mode 100644 index 0000000..9d4904d --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_bl-BoaeaHPp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_bm-CzSakp_Z.svg b/Frontend/Electron/dist-react/assets/flag_bm-CzSakp_Z.svg new file mode 100644 index 0000000..5e7b7f6 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_bm-CzSakp_Z.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_bo-B7hNQ755.svg b/Frontend/Electron/dist-react/assets/flag_bo-B7hNQ755.svg new file mode 100644 index 0000000..ad0a8c9 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_bo-B7hNQ755.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_bt-COHVTZ6I.svg b/Frontend/Electron/dist-react/assets/flag_bt-COHVTZ6I.svg new file mode 100644 index 0000000..e822f94 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_bt-COHVTZ6I.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_bz-B34xZjVJ.svg b/Frontend/Electron/dist-react/assets/flag_bz-B34xZjVJ.svg new file mode 100644 index 0000000..6f43e4a --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_bz-B34xZjVJ.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_cy-JKjUtxO9.svg b/Frontend/Electron/dist-react/assets/flag_cy-JKjUtxO9.svg new file mode 100644 index 0000000..19bead4 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_cy-JKjUtxO9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_dg-DwJEN7pv.svg b/Frontend/Electron/dist-react/assets/flag_dg-DwJEN7pv.svg new file mode 100644 index 0000000..565a7aa --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_dg-DwJEN7pv.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_do-sBcfT32z.svg b/Frontend/Electron/dist-react/assets/flag_do-sBcfT32z.svg new file mode 100644 index 0000000..c627c34 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_do-sBcfT32z.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_fj-B2-D6gPQ.svg b/Frontend/Electron/dist-react/assets/flag_fj-B2-D6gPQ.svg new file mode 100644 index 0000000..190134b --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_fj-B2-D6gPQ.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_fk-1KKBtSFw.svg b/Frontend/Electron/dist-react/assets/flag_fk-1KKBtSFw.svg new file mode 100644 index 0000000..0091bc7 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_fk-1KKBtSFw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_gp-DW1UVBGw.svg b/Frontend/Electron/dist-react/assets/flag_gp-DW1UVBGw.svg new file mode 100644 index 0000000..ca9e4c6 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_gp-DW1UVBGw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_gq-B3TFx5qI.svg b/Frontend/Electron/dist-react/assets/flag_gq-B3TFx5qI.svg new file mode 100644 index 0000000..d4e7119 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_gq-B3TFx5qI.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_gs-DhFNtBGF.svg b/Frontend/Electron/dist-react/assets/flag_gs-DhFNtBGF.svg new file mode 100644 index 0000000..d8b1e5f --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_gs-DhFNtBGF.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_gt-CietPgvg.svg b/Frontend/Electron/dist-react/assets/flag_gt-CietPgvg.svg new file mode 100644 index 0000000..fea623c --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_gt-CietPgvg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_gu-CyZZwWUz.svg b/Frontend/Electron/dist-react/assets/flag_gu-CyZZwWUz.svg new file mode 100644 index 0000000..2098ecc --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_gu-CyZZwWUz.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_hk-CzNuCBPg.svg b/Frontend/Electron/dist-react/assets/flag_hk-CzNuCBPg.svg new file mode 100644 index 0000000..ef5ca3b --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_hk-CzNuCBPg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ht-nORDdDQL.svg b/Frontend/Electron/dist-react/assets/flag_ht-nORDdDQL.svg new file mode 100644 index 0000000..8ccca42 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ht-nORDdDQL.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ic-BrB5Xakj.svg b/Frontend/Electron/dist-react/assets/flag_ic-BrB5Xakj.svg new file mode 100644 index 0000000..46b0949 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ic-BrB5Xakj.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_je-CGBxZBdT.svg b/Frontend/Electron/dist-react/assets/flag_je-CGBxZBdT.svg new file mode 100644 index 0000000..a17c379 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_je-CGBxZBdT.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_kg-D_P2G_Do.svg b/Frontend/Electron/dist-react/assets/flag_kg-D_P2G_Do.svg new file mode 100644 index 0000000..2616d9e --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_kg-D_P2G_Do.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ki-Ccc3Xi24.svg b/Frontend/Electron/dist-react/assets/flag_ki-Ccc3Xi24.svg new file mode 100644 index 0000000..233cce8 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ki-Ccc3Xi24.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ky-E8sT-Yzf.svg b/Frontend/Electron/dist-react/assets/flag_ky-E8sT-Yzf.svg new file mode 100644 index 0000000..57323f8 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ky-E8sT-Yzf.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_kz-D77IkgDL.svg b/Frontend/Electron/dist-react/assets/flag_kz-D77IkgDL.svg new file mode 100644 index 0000000..d2101ab --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_kz-D77IkgDL.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_lb-DHr4ylgr.svg b/Frontend/Electron/dist-react/assets/flag_lb-DHr4ylgr.svg new file mode 100644 index 0000000..4271b73 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_lb-DHr4ylgr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_mo-PAf1BQIO.svg b/Frontend/Electron/dist-react/assets/flag_mo-PAf1BQIO.svg new file mode 100644 index 0000000..790900e --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_mo-PAf1BQIO.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_mp-Bs0Xr_ND.svg b/Frontend/Electron/dist-react/assets/flag_mp-Bs0Xr_ND.svg new file mode 100644 index 0000000..f0a5fb4 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_mp-Bs0Xr_ND.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ms-BKjfidu-.svg b/Frontend/Electron/dist-react/assets/flag_ms-BKjfidu-.svg new file mode 100644 index 0000000..04a1cc1 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ms-BKjfidu-.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_mx-g-aNhK9D.svg b/Frontend/Electron/dist-react/assets/flag_mx-g-aNhK9D.svg new file mode 100644 index 0000000..93d54c4 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_mx-g-aNhK9D.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_nf-BjOIhoMF.svg b/Frontend/Electron/dist-react/assets/flag_nf-BjOIhoMF.svg new file mode 100644 index 0000000..990687f --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_nf-BjOIhoMF.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_pf-OA_PTTaZ.svg b/Frontend/Electron/dist-react/assets/flag_pf-OA_PTTaZ.svg new file mode 100644 index 0000000..333c6d0 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_pf-OA_PTTaZ.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_pm-C-C2d-w4.svg b/Frontend/Electron/dist-react/assets/flag_pm-C-C2d-w4.svg new file mode 100644 index 0000000..dc55c02 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_pm-C-C2d-w4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_pn-Bde7vecB.svg b/Frontend/Electron/dist-react/assets/flag_pn-Bde7vecB.svg new file mode 100644 index 0000000..234f53f --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_pn-Bde7vecB.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_rs-CmpxaRIS.svg b/Frontend/Electron/dist-react/assets/flag_rs-CmpxaRIS.svg new file mode 100644 index 0000000..5c6c69e --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_rs-CmpxaRIS.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_sa-B3EC8eCD.svg b/Frontend/Electron/dist-react/assets/flag_sa-B3EC8eCD.svg new file mode 100644 index 0000000..d0d9580 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_sa-B3EC8eCD.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_sh-CT89bJZi.svg b/Frontend/Electron/dist-react/assets/flag_sh-CT89bJZi.svg new file mode 100644 index 0000000..57d004d --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_sh-CT89bJZi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_sm-BYO1ASeM.svg b/Frontend/Electron/dist-react/assets/flag_sm-BYO1ASeM.svg new file mode 100644 index 0000000..b53d00d --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_sm-BYO1ASeM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_sz-CsAySmAn.svg b/Frontend/Electron/dist-react/assets/flag_sz-CsAySmAn.svg new file mode 100644 index 0000000..cb7f84a --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_sz-CsAySmAn.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_ta-Q6DTxsoW.svg b/Frontend/Electron/dist-react/assets/flag_ta-Q6DTxsoW.svg new file mode 100644 index 0000000..547fa05 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_ta-Q6DTxsoW.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_tc-Dn_lC0KY.svg b/Frontend/Electron/dist-react/assets/flag_tc-Dn_lC0KY.svg new file mode 100644 index 0000000..3c61bc7 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_tc-Dn_lC0KY.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_tm-_4vioey7.svg b/Frontend/Electron/dist-react/assets/flag_tm-_4vioey7.svg new file mode 100644 index 0000000..a57c35c --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_tm-_4vioey7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_va-BB2uDrB0.svg b/Frontend/Electron/dist-react/assets/flag_va-BB2uDrB0.svg new file mode 100644 index 0000000..7b2bffa --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_va-BB2uDrB0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_vg-DWuAWiyw.svg b/Frontend/Electron/dist-react/assets/flag_vg-DWuAWiyw.svg new file mode 100644 index 0000000..d8194cd --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_vg-DWuAWiyw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_vi-vzZjsoBi.svg b/Frontend/Electron/dist-react/assets/flag_vi-vzZjsoBi.svg new file mode 100644 index 0000000..d0602d2 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_vi-vzZjsoBi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_xk-D1vfCqOd.svg b/Frontend/Electron/dist-react/assets/flag_xk-D1vfCqOd.svg new file mode 100644 index 0000000..39890a9 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_xk-D1vfCqOd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/flag_yt-BfOxXbO5.svg b/Frontend/Electron/dist-react/assets/flag_yt-BfOxXbO5.svg new file mode 100644 index 0000000..76765b9 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/flag_yt-BfOxXbO5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/gg sans Bold-BGlwbW8t.woff b/Frontend/Electron/dist-react/assets/gg sans Bold-BGlwbW8t.woff new file mode 100644 index 0000000..ced66ca Binary files /dev/null and b/Frontend/Electron/dist-react/assets/gg sans Bold-BGlwbW8t.woff differ diff --git a/Frontend/Electron/dist-react/assets/gg sans Medium-BMWm4JFW.woff b/Frontend/Electron/dist-react/assets/gg sans Medium-BMWm4JFW.woff new file mode 100644 index 0000000..68000a2 Binary files /dev/null and b/Frontend/Electron/dist-react/assets/gg sans Medium-BMWm4JFW.woff differ diff --git a/Frontend/Electron/dist-react/assets/gg sans Regular-Bd8GJPVd.woff b/Frontend/Electron/dist-react/assets/gg sans Regular-Bd8GJPVd.woff new file mode 100644 index 0000000..17cb83f Binary files /dev/null and b/Frontend/Electron/dist-react/assets/gg sans Regular-Bd8GJPVd.woff differ diff --git a/Frontend/Electron/dist-react/assets/gg sans Semibold-xAGa8zYH.woff b/Frontend/Electron/dist-react/assets/gg sans Semibold-xAGa8zYH.woff new file mode 100644 index 0000000..44a64cd Binary files /dev/null and b/Frontend/Electron/dist-react/assets/gg sans Semibold-xAGa8zYH.woff differ diff --git a/Frontend/Electron/dist-react/assets/gloves-BcY_RgAR.svg b/Frontend/Electron/dist-react/assets/gloves-BcY_RgAR.svg new file mode 100644 index 0000000..1b028b2 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/gloves-BcY_RgAR.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/hedgehog-CMNxZzfp.svg b/Frontend/Electron/dist-react/assets/hedgehog-CMNxZzfp.svg new file mode 100644 index 0000000..ebbfc2a --- /dev/null +++ b/Frontend/Electron/dist-react/assets/hedgehog-CMNxZzfp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/hiking_boot-CPXD60gE.svg b/Frontend/Electron/dist-react/assets/hiking_boot-CPXD60gE.svg new file mode 100644 index 0000000..6715028 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/hiking_boot-CPXD60gE.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing-Cd5KXigQ.svg b/Frontend/Electron/dist-react/assets/horse_racing-Cd5KXigQ.svg new file mode 100644 index 0000000..e4cf152 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing-Cd5KXigQ.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing_tone1-BPFu29EM.svg b/Frontend/Electron/dist-react/assets/horse_racing_tone1-BPFu29EM.svg new file mode 100644 index 0000000..a48a00b --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing_tone1-BPFu29EM.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing_tone2-kHM6lt0G.svg b/Frontend/Electron/dist-react/assets/horse_racing_tone2-kHM6lt0G.svg new file mode 100644 index 0000000..f80fc32 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing_tone2-kHM6lt0G.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing_tone3-1prjoMK9.svg b/Frontend/Electron/dist-react/assets/horse_racing_tone3-1prjoMK9.svg new file mode 100644 index 0000000..0baedbc --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing_tone3-1prjoMK9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing_tone4-DZVx5-VD.svg b/Frontend/Electron/dist-react/assets/horse_racing_tone4-DZVx5-VD.svg new file mode 100644 index 0000000..ef50b0b --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing_tone4-DZVx5-VD.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/horse_racing_tone5-DoKtvypB.svg b/Frontend/Electron/dist-react/assets/horse_racing_tone5-DoKtvypB.svg new file mode 100644 index 0000000..ba0de65 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/horse_racing_tone5-DoKtvypB.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Frontend/Electron/dist-react/assets/index-Ckz_sV-I.css b/Frontend/Electron/dist-react/assets/index-Ckz_sV-I.css new file mode 100644 index 0000000..ca75358 --- /dev/null +++ b/Frontend/Electron/dist-react/assets/index-Ckz_sV-I.css @@ -0,0 +1 @@ +[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;inset:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.theme-dark{--background-base-low: #313338;--background-base-lower: #2b2d31;--background-base-lowest: #1e1f22;--background-surface-high: #3c3e44;--background-surface-higher: #3f4147;--background-surface-highest: #43454b;--chat-background: #313338;--channeltextarea-background: #383a40;--modal-background: #313338;--panel-bg: #2b2d31;--embed-background: #2f3136;--text-default: #f2f3f5;--text-strong: #f2f3f5;--text-muted: #949ba4;--text-subtle: #b5bac1;--text-link: #00a8fc;--channels-default: #949ba4;--text-feedback-critical: #ed4245;--interactive-background-hover: rgba(78, 80, 88, .3);--interactive-background-active: rgba(78, 80, 88, .48);--interactive-background-selected: rgba(78, 80, 88, .6);--interactive-icon-default: #b5bac1;--interactive-icon-hover: #dbdee1;--interactive-icon-active: #ffffff;--interactive-text-default: #b5bac1;--interactive-text-hover: #dbdee1;--interactive-text-active: #ffffff;--border-subtle: #1e1f22;--border-muted: rgba(255, 255, 255, .04);--border-normal: rgba(255, 255, 255, .2);--border-strong: rgba(255, 255, 255, .44);--app-frame-border: color-mix(in oklab,hsl(240 4% 60.784% /.12156862745098039) 100%,hsl(0 0% 0% /.12156862745098039) 0%);--icon-default: #dbdee1;--icon-strong: #ffffff;--icon-muted: #949ba4;--icon-subtle: #b5bac1;--control-primary-background-default: #5865f2;--control-primary-background-hover: #4752c4;--control-primary-background-active: #3b43a8;--control-critical-primary-background-default: #ed4245;--input-background-default: #383a40;--input-border-default: rgba(255, 255, 255, .2);--input-text-default: #dbdee1;--scrollbar-auto-thumb: #1a1b1e;--scrollbar-thin-thumb: #1a1b1e;--message-background-hover: rgba(0, 0, 0, .06);--bg-primary: #313338;--bg-secondary: #2b2d31;--bg-tertiary: #1e1f22;--text-normal: #dbdee1;--header-primary: #f2f3f5;--header-secondary: #b5bac1;--interactive-normal: #b5bac1;--interactive-hover: #dbdee1;--interactive-active: #ffffff;--brand-experiment: #5865f2;--brand-experiment-hover: #4752c4;--input-background: #383a40;--danger: #ed4245;--background-modifier-hover: rgba(78, 80, 88, .3);--background-modifier-active: rgba(78, 80, 88, .48);--background-modifier-selected: rgba(78, 80, 88, .6);--div-border: #1e1f22;--text-feedback-warning: color-mix(in oklab, hsl(38.455 100% 43.137% /1) 100%, #000 0%)}.theme-light{--background-base-low: #ffffff;--background-base-lower: #f2f3f5;--background-base-lowest: #e3e5e8;--background-surface-high: #ffffff;--background-surface-higher: #ffffff;--background-surface-highest: #ffffff;--chat-background: #ffffff;--channeltextarea-background: #ebedef;--modal-background: #ffffff;--panel-bg: #f2f3f5;--embed-background: #f2f3f5;--text-default: #313338;--text-strong: #060607;--text-muted: #5c6470;--text-subtle: #4e5058;--text-link: #006ce7;--channels-default: #5c6470;--text-feedback-critical: #da373c;--interactive-background-hover: rgba(116, 124, 138, .14);--interactive-background-active: rgba(116, 124, 138, .22);--interactive-background-selected: rgba(116, 124, 138, .3);--interactive-icon-default: #4e5058;--interactive-icon-hover: #313338;--interactive-icon-active: #060607;--interactive-text-default: #4e5058;--interactive-text-hover: #313338;--interactive-text-active: #060607;--border-subtle: rgba(0, 0, 0, .28);--border-muted: rgba(0, 0, 0, .2);--border-normal: rgba(0, 0, 0, .36);--border-strong: rgba(0, 0, 0, .48);--app-frame-border: color-mix(in oklab,hsl(240 4% 60.784% /.12156862745098039) 100%,hsl(0 0% 0% /.12156862745098039) 0%);--icon-default: #313338;--icon-strong: #060607;--icon-muted: #5c6470;--icon-subtle: #4e5058;--control-primary-background-default: #5865f2;--control-primary-background-hover: #4752c4;--control-primary-background-active: #3b43a8;--control-critical-primary-background-default: #da373c;--input-background-default: #e3e5e8;--input-border-default: rgba(0, 0, 0, .36);--input-text-default: #313338;--scrollbar-auto-thumb: #c1c3c7;--scrollbar-thin-thumb: #c1c3c7;--message-background-hover: rgba(0, 0, 0, .06);--bg-primary: #ffffff;--bg-secondary: #f2f3f5;--bg-tertiary: #e3e5e8;--text-normal: #313338;--header-primary: #060607;--header-secondary: #4e5058;--interactive-normal: #4e5058;--interactive-hover: #313338;--interactive-active: #060607;--brand-experiment: #5865f2;--brand-experiment-hover: #4752c4;--input-background: #e3e5e8;--danger: #da373c;--background-modifier-hover: rgba(116, 124, 138, .14);--background-modifier-active: rgba(116, 124, 138, .22);--background-modifier-selected: rgba(116, 124, 138, .3);--div-border: #e1e2e4;--text-feedback-warning: color-mix(in oklab, hsl(38.455 100% 43.137% /1) 100%, #000 0%)}.theme-darker{--background-base-low: #202225;--background-base-lower: #1a1b1e;--background-base-lowest: #111214;--background-surface-high: #292b2f;--background-surface-higher: #2e3035;--background-surface-highest: #33363c;--chat-background: #202225;--channeltextarea-background: #252529;--modal-background: #292b2f;--panel-bg: color-mix(in oklab, hsl(240 5.882% 13.333% /1) 100%, #000 0%);--embed-background: #242529;--text-default: #f0f1f3;--text-strong: #f5f5f7;--text-muted: #858993;--text-subtle: #a0a4ad;--text-link: #00a8fc;--channels-default: #858993;--text-feedback-critical: #ed4245;--interactive-background-hover: rgba(78, 80, 88, .15);--interactive-background-active: rgba(78, 80, 88, .3);--interactive-background-selected: rgba(78, 80, 88, .4);--interactive-icon-default: #a0a4ad;--interactive-icon-hover: #dddfe4;--interactive-icon-active: #f5f5f7;--interactive-text-default: #a0a4ad;--interactive-text-hover: #dddfe4;--interactive-text-active: #f5f5f7;--border-subtle: rgba(255, 255, 255, .12);--border-muted: rgba(255, 255, 255, .04);--border-normal: rgba(255, 255, 255, .2);--border-strong: rgba(255, 255, 255, .44);--app-frame-border: color-mix(in oklab,hsl(240 4% 60.784% /.12156862745098039) 100%,hsl(0 0% 0% /.12156862745098039) 0%);--icon-default: #dddfe4;--icon-strong: #f5f5f7;--icon-muted: #858993;--icon-subtle: #a0a4ad;--control-primary-background-default: #5865f2;--control-primary-background-hover: #4752c4;--control-primary-background-active: #3b43a8;--control-critical-primary-background-default: #ed4245;--input-background-default: #252529;--input-border-default: rgba(255, 255, 255, .2);--input-text-default: #dddfe4;--scrollbar-auto-thumb: #15161a;--scrollbar-thin-thumb: #15161a;--message-background-hover: rgba(0, 0, 0, .08);--bg-primary: #202225;--bg-secondary: #1a1b1e;--bg-tertiary: #121214;--text-normal: #dddfe4;--header-primary: #f5f5f7;--header-secondary: #a0a4ad;--interactive-normal: #a0a4ad;--interactive-hover: #dddfe4;--interactive-active: #f5f5f7;--brand-experiment: #5865f2;--brand-experiment-hover: #4752c4;--input-background: #252529;--danger: #ed4245;--background-modifier-hover: rgba(78, 80, 88, .15);--background-modifier-active: rgba(78, 80, 88, .3);--background-modifier-selected: rgba(78, 80, 88, .4);--div-border: #111214;--text-feedback-warning: color-mix(in oklab, hsl(38.455 100% 43.137% /1) 100%, #000 0%)}.theme-midnight{--background-base-low: #0c0c14;--background-base-lower: #080810;--background-base-lowest: #000000;--background-surface-high: #141422;--background-surface-higher: #1a1a2e;--background-surface-highest: #202038;--chat-background: #000000;--channeltextarea-background: #1a1a2e;--modal-background: #141422;--panel-bg: #0c0c14;--embed-background: #161626;--text-default: #e0def0;--text-strong: #f8f8fc;--text-muted: #7a7687;--text-subtle: #a8a5b5;--text-link: #00a8fc;--channels-default: #7a7687;--text-feedback-critical: #ed4245;--interactive-background-hover: rgba(78, 73, 106, .2);--interactive-background-active: rgba(78, 73, 106, .36);--interactive-background-selected: rgba(78, 73, 106, .48);--interactive-icon-default: #a8a5b5;--interactive-icon-hover: #e0def0;--interactive-icon-active: #f8f8fc;--interactive-text-default: #a8a5b5;--interactive-text-hover: #e0def0;--interactive-text-active: #f8f8fc;--border-subtle: rgba(255, 255, 255, .2);--border-muted: rgba(255, 255, 255, .16);--border-normal: rgba(255, 255, 255, .24);--border-strong: rgba(255, 255, 255, .44);--app-frame-border: color-mix(in oklab,hsl(240 4% 60.784% /.12156862745098039) 100%,hsl(0 0% 0% /.12156862745098039) 0%);--icon-default: #e0def0;--icon-strong: #f8f8fc;--icon-muted: #7a7687;--icon-subtle: #a8a5b5;--control-primary-background-default: #5865f2;--control-primary-background-hover: #4752c4;--control-primary-background-active: #3b43a8;--control-critical-primary-background-default: #ed4245;--input-background-default: #1a1a2e;--input-border-default: rgba(255, 255, 255, .24);--input-text-default: #e0def0;--scrollbar-auto-thumb: #1a1a2e;--scrollbar-thin-thumb: #1a1a2e;--message-background-hover: rgba(0, 0, 0, .12);--bg-primary: #0c0c14;--bg-secondary: #080810;--bg-tertiary: #000000;--text-normal: #e0def0;--header-primary: #f8f8fc;--header-secondary: #a8a5b5;--interactive-normal: #a8a5b5;--interactive-hover: #e0def0;--interactive-active: #f8f8fc;--brand-experiment: #5865f2;--brand-experiment-hover: #4752c4;--input-background: #1a1a2e;--danger: #ed4245;--background-modifier-hover: rgba(78, 73, 106, .2);--background-modifier-active: rgba(78, 73, 106, .36);--background-modifier-selected: rgba(78, 73, 106, .48);--div-border: #080810;--text-feedback-warning: color-mix(in oklab, hsl(38.455 100% 43.137% /1) 100%, #000 0%)}@font-face{font-family:gg sans;src:local("gg sans"),url(./gg%20sans%20Regular-Bd8GJPVd.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:gg sans;src:local("gg sans Medium"),url(./gg%20sans%20Medium-BMWm4JFW.woff) format("woff");font-weight:500;font-style:normal}@font-face{font-family:gg sans;src:local("gg sans Semibold"),url(./gg%20sans%20Semibold-xAGa8zYH.woff) format("woff");font-weight:600;font-style:normal}@font-face{font-family:gg sans;src:local("gg sans Bold"),url(./gg%20sans%20Bold-BGlwbW8t.woff) format("woff");font-weight:700;font-style:normal}body{margin:0;padding:0;font-family:gg sans,Noto Sans,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-normal);-webkit-font-smoothing:antialiased;overflow:hidden}.auth-container{display:flex;align-items:center;justify-content:center;height:100vh;background-image:url(https://discord.com/assets/f9e794909795f472.svg);background-size:cover;background-position:center}.auth-box{background-color:var(--bg-secondary);padding:32px;border-radius:5px;width:480px;box-shadow:0 2px 10px #0003}.auth-header{text-align:center;margin-bottom:20px}.auth-header h2{color:var(--header-primary);font-size:24px;font-weight:600;margin-bottom:8px}.auth-header p{color:var(--header-secondary);font-size:16px}.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--header-secondary);font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:8px}.form-group input{width:100%;padding:10px;background-color:var(--input-background);border:1px solid rgba(0,0,0,.3);border-radius:3px;color:var(--text-normal);font-size:16px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{border-color:var(--brand-experiment);outline:none}.auth-button{width:100%;padding:12px;background-color:var(--brand-experiment);color:#fff;border:none;border-radius:3px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.auth-button:hover{background-color:var(--brand-experiment-hover)}.auth-footer{margin-top:16px;font-size:14px;color:var(--text-muted)}.auth-footer a{color:var(--brand-experiment);text-decoration:none}.sidebar{width:312px;min-width:312px;background-color:var(--bg-tertiary);display:flex;flex-direction:row;flex-shrink:0}.server-list{width:72px;border-right:1px solid var(--div-border);background-color:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;padding-top:12px;flex-shrink:0}.ownerIcon{color:var(--text-feedback-warning);margin-inline-start:4px}.server-icon{width:48px;height:48px;background-color:var(--bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-normal);cursor:pointer;transition:border-radius .15s ease,background-color .15s ease;overflow:hidden;font-weight:600;font-size:18px}.server-icon:hover,.server-icon.active{border-radius:16px;background-color:var(--brand-experiment);color:#fff}.channel-list{flex:1;background-color:var(--bg-secondary);padding:10px}.channel-header{padding:0 8px;margin-bottom:16px;font-weight:700;color:var(--header-primary);text-transform:uppercase;font-size:12px}.channel-item{padding:8px;margin-bottom:2px;border-radius:4px;color:var(--interactive-normal);font-weight:500;cursor:pointer}.channel-item:hover{background-color:var(--background-modifier-hover);color:var(--interactive-hover)}.channel-item.active{background-color:var(--background-modifier-selected);color:var(--interactive-active)}.app-container{display:flex;height:calc(100vh - 32px);width:100vw;overflow:hidden}.chat-container{display:flex;flex-direction:column;flex:1;min-width:0}.chat-content{display:flex;flex:1;min-height:0}.chat-area{flex:1;background-color:var(--bg-primary);display:flex;flex-direction:column;position:relative;min-width:0}.messages-list{flex:1;overflow-x:hidden;overflow-y:auto;padding:0 0 20px;display:flex;flex-direction:column}.messages-list::-webkit-scrollbar{width:8px;background-color:var(--bg-primary)}.messages-list::-webkit-scrollbar-thumb{background-color:#666770;border-radius:4px}.message-item{display:flex;flex-wrap:wrap;padding:2px 16px;margin-top:17px}.message-item:hover{background-color:#0000000f}.message-grouped{margin-top:2px}.grouped-timestamp-wrapper{display:flex;align-items:center;justify-content:center;margin-top:0;width:40px;margin-right:16px}.grouped-timestamp{display:none;font-size:.6875rem;color:var(--text-muted);white-space:nowrap;line-height:1.375rem}.message-grouped:hover .grouped-timestamp{display:block}.message-avatar-wrapper{width:40px;margin-right:16px;margin-top:2px}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500;color:#fff;font-size:18px;-webkit-user-select:none;user-select:none}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:center;margin-bottom:2px}.username{font-size:1rem;font-weight:500;margin-right:.25rem;cursor:pointer}.username:hover{text-decoration:underline}.timestamp{color:var(--text-muted);font-size:.75rem;margin-left:.25rem;font-weight:400}.message-content{color:var(--text-normal);font-size:1rem;line-height:1.375rem;white-space:pre-wrap;word-wrap:break-word}.message-content strong{font-weight:700}.message-content h1,.message-content h2,.message-content h3{border-bottom:none;font-weight:700;color:var(--header-primary)}.message-content ul,.message-content ol{list-style-type:disc}.message-content a{color:var(--text-link);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content blockquote{border-left:4px solid var(--text-muted);margin:4px 0;padding:0 8px 0 12px;color:var(--header-secondary);background-color:transparent}.message-content code{background-color:var(--embed-background);padding:2px 4px;border-radius:3px;font-family:Consolas,Courier New,monospace;font-size:.875rem}.message-content pre{background-color:var(--embed-background)!important;border-radius:4px;border:1px solid var(--bg-tertiary);padding:8px!important;margin:8px 0!important;max-width:100%;overflow-x:auto}.chat-input-form{padding:0 8px 8px;margin-top:8px;background-color:var(--bg-primary)}.chat-input-wrapper{background-color:var(--channeltextarea-background);border-radius:8px;display:flex;align-items:center;padding:0 16px;min-height:56px}.chat-input-file-btn{background:none;border:none;color:var(--header-secondary);cursor:pointer;padding:0 16px 0 0;display:flex;align-items:center;height:24px;align-self:center}.chat-input-file-btn:hover{color:var(--text-normal)}.chat-input-form textarea{flex:1;padding:11px 0;background-color:transparent;border:none;color:var(--text-default);font-size:16px;font-family:inherit;height:44px;resize:none;overflow:hidden;line-height:1.375rem;box-sizing:border-box}.chat-input-form textarea:focus{outline:none}.chat-input-form textarea::placeholder{color:var(--text-muted)}.chat-input-icons{display:flex;align-items:center;padding:0 0 0 10px;align-self:center;height:100%}.chat-input-icon-btn{background:none;border:none;color:var(--header-secondary);cursor:pointer;padding:4px;margin-left:4px;display:flex;align-items:center}.chat-input-icon-btn:hover{color:var(--text-normal)}.link-preview{display:flex;background-color:var(--embed-background);border-left:4px solid var(--bg-tertiary);border-radius:4px;padding:10px;margin-top:8px;max-width:520px;width:100%;gap:16px;overflow:hidden;box-sizing:border-box}.preview-content{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.preview-site-name{font-size:12px;color:var(--header-secondary);margin-bottom:4px}.preview-title{font-size:16px;font-weight:600;color:var(--text-link);text-decoration:none;margin-bottom:4px;display:block;word-wrap:break-word}.preview-title:hover{text-decoration:underline}.messages-content-wrapper{margin-top:auto;display:flex;flex-direction:column}.preview-description{font-size:14px;color:var(--text-normal);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.preview-image-container{flex-shrink:0;position:relative}.preview-image{max-width:150px;max-height:150px;border-radius:4px;object-fit:cover}.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;background:#0009;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px}.preview-author{font-size:13px;color:var(--header-primary);font-weight:500;margin-bottom:2px}.twitter-preview{border-left-color:#1da1f2!important}.twitter-preview .preview-description{-webkit-line-clamp:6;line-clamp:6}.spotify-preview{border-left-color:#1db954!important}.reddit-preview{border-left-color:#ff4500!important}.large-image-layout{flex-direction:column;gap:8px}.large-image-layout .preview-image-container.large-image{width:100%;max-width:400px}.large-image-layout .preview-image-container.large-image .preview-image{width:100%;max-width:100%;max-height:300px;object-fit:cover}.youtube-preview{flex-direction:column;align-items:flex-start;gap:8px}.youtube-preview .preview-image-container{width:100%;max-width:400px;position:relative}.youtube-preview .preview-image{width:100%;max-width:100%;max-height:none;aspect-ratio:16 / 9}.youtube-video-wrapper{margin-top:8px;position:relative;width:100%;max-width:560px;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:4px;background-color:#000}.youtube-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.date-divider{display:flex;align-items:center;justify-content:center;margin:24px 16px 8px;position:relative}.date-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:var(--border-subtle);z-index:1}.date-divider span{background-color:var(--bg-primary);padding:0 8px;color:var(--text-muted);font-size:12px;font-weight:600;position:relative;z-index:2}.verification-failed{display:flex;align-items:center;margin-right:.25rem;cursor:help}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:32px;height:32px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--brand-experiment);animation:spin .8s linear infinite}.channel-beginning{padding:16px 16px 8px;margin-bottom:8px}.channel-beginning-icon{width:68px;height:68px;border-radius:50%;background-color:var(--background-surface-highest);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:600;color:var(--header-primary);margin-bottom:8px}.channel-beginning-title{font-size:32px;font-weight:700;color:var(--header-primary);margin:8px 0 4px}.channel-beginning-subtitle{font-size:15px;color:var(--text-muted);margin:0}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.titlebar{height:32px;background-color:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;position:relative;-webkit-app-region:drag;z-index:10000;flex-shrink:0}.titlebar-drag-region{position:absolute;inset:0}.titlebar-title{font-size:12px;font-weight:600;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.titlebar-buttons{position:absolute;right:0;top:0;height:100%;display:flex;-webkit-app-region:no-drag}.titlebar-btn{width:46px;height:100%;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--header-secondary);cursor:pointer;transition:background-color .1s}.titlebar-btn:hover{background-color:#ffffff0f}.titlebar-close:hover{background-color:var(--danger);color:var(--header-primary)}.chat-header{height:48px;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background-color:var(--bg-primary)}.chat-header-left{display:flex;align-items:center;gap:8px}.chat-header-icon{color:var(--text-muted);font-size:20px;font-weight:700}.chat-header-name{color:var(--header-primary);font-weight:700;font-size:16px}.chat-header-status-text{color:var(--text-muted);font-size:13px;margin-left:8px}.chat-header-right{display:flex;align-items:center;gap:4px}.chat-header-btn{background:none;border:none;color:var(--header-secondary);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;transition:color .1s}.chat-header-btn:hover{color:var(--text-normal)}.chat-header-btn.active{color:var(--header-primary)}.chat-header-search-wrapper{margin-left:4px}.chat-header-search{width:160px;height:28px;background-color:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);padding:0 8px;font-size:13px;outline:none;transition:width .25s ease}.chat-header-search.focused{width:240px}.members-list{width:240px;min-width:240px;background-color:var(--bg-primary);border-left:1px solid var(--border-subtle);overflow-y:auto;padding:16px 8px;flex-shrink:0}.members-list::-webkit-scrollbar{width:6px}.members-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-auto-thumb);border-radius:3px}.members-role-header{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;padding:16px 8px 4px}.member-item{display:flex;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background-color .1s}.member-item:hover{background-color:#ffffff0a}.member-avatar-wrapper{position:relative;margin-right:10px;flex-shrink:0}.member-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.member-status-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-secondary)}.member-info{min-width:0}.member-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview-bar{display:flex;align-items:center;justify-content:space-between;background-color:var(--channeltextarea-background);border-left:4px solid var(--brand-experiment);padding:8px 12px;margin:0 8px;border-radius:4px 4px 0 0}.reply-preview-content{font-size:14px;color:var(--header-secondary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reply-preview-content strong{color:var(--header-primary)}.reply-preview-text{margin-left:8px;color:var(--text-muted);font-size:13px}.reply-preview-close{background:none;border:none;color:var(--header-secondary);cursor:pointer;font-size:20px;padding:0 4px;line-height:1}.reply-preview-close:hover{color:var(--header-primary)}.message-reply-context{width:100%;display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted);cursor:pointer;margin-left:32px;padding:2px 0;position:relative}.reply-spine{position:absolute;top:50%;left:-16px;width:33px;height:13px;border-left:2px solid var(--text-muted);border-top:2px solid var(--text-muted);border-top-left-radius:6px;box-sizing:border-box}.reply-avatar{flex-shrink:0;border-radius:50%;margin-left:20px}.message-reply-context .reply-author{font-weight:600;font-size:.75rem;flex-shrink:0;cursor:pointer}.message-reply-context .reply-author:hover{text-decoration:underline}.message-reply-context .reply-text{color:var(--text-muted);font-size:.75rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.message-reply-context:hover .reply-text{color:var(--text-normal)}.message-editing{margin:4px 0}.message-edit-textarea{width:100%;background-color:var(--channeltextarea-background);border:none;border-radius:8px;color:var(--text-normal);font-family:inherit;font-size:1rem;line-height:1.375rem;padding:11px 16px;resize:none;outline:none;min-height:44px;box-sizing:border-box}.message-edit-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.message-edit-hint span{color:var(--text-link);cursor:pointer}.message-edit-hint span:hover{text-decoration:underline}.edited-indicator{color:var(--text-muted);font-size:.625rem;margin-left:4px;-webkit-user-select:none;user-select:none}.message-toolbar{position:absolute;top:-40px;right:16px;background-color:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:8px;box-shadow:0 1px 5px #00000047;display:flex;align-items:center;z-index:10;padding:2px}.icon-button:hover{background-color:var(--background-modifier-hover);border-radius:4px}.context-menu{position:fixed;background-color:var(--background-base-lowest);border-radius:4px;box-shadow:0 8px 16px #0000003d;z-index:9999;min-width:188px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;animation:contextMenuFadeIn .1s ease}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text-normal);justify-content:space-between;white-space:nowrap;border-radius:2px;transition:background-color .1s}.context-menu-item:hover{background-color:#97979f14}.context-menu-item-danger{color:color-mix(in oklab,hsl(1.353 82.609% 68.431% /1) 100%,#000 0%)}.context-menu-item-danger:hover{background-color:color-mix(in oklab,hsl(355.636 64.706% 50% /.0784313725490196) 100%,hsl(0 0% 0% /.0784313725490196) 0%)}.context-menu-separator{height:1px;background-color:var(--bg-primary);margin:4px 0}.mention-menu{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background-color:var(--background-surface-high, var(--embed-background));border-radius:5px;box-shadow:0 8px 16px #0000003d;z-index:100}.mention-menu-header{padding:12px 12px 4px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--header-secondary)}.mention-menu-scroller{max-height:490px;overflow-y:auto;padding-bottom:8px}.mention-menu-scroller::-webkit-scrollbar{width:6px}.mention-menu-scroller::-webkit-scrollbar-thumb{background-color:var(--scrollbar-auto-thumb, var(--bg-tertiary));border-radius:3px}.mention-menu-row{display:flex;align-items:center;padding:8px 12px;gap:10px;cursor:pointer}.mention-menu-row:hover,.mention-menu-row.selected{background-color:var(--interactive-background-hover, rgba(255,255,255,.06))}.mention-menu-row-primary{font-size:14px;font-weight:500;color:var(--text-normal)}.mention-menu-row-secondary{font-size:12px;margin-left:auto;color:var(--interactive-text-default, var(--text-muted))}.tooltip{background-color:var(--background-base-lowest);color:var(--text-normal);padding:6px 10px;border-radius:4px;font-size:14px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 2px 10px #0003}.tooltip-arrow{position:absolute;width:8px;height:8px;background-color:var(--background-base-lowest);transform:rotate(45deg)}.tooltip-arrow-top{bottom:-4px;left:calc(50% - 4px)}.tooltip-arrow-bottom{top:-4px;left:calc(50% - 4px)}.tooltip-arrow-left{right:-4px;top:calc(50% - 4px)}.tooltip-arrow-right{left:-4px;top:calc(50% - 4px)}.server-separator{width:32px;height:2px;background-color:var(--bg-primary);border-radius:1px;margin:4px 0 8px}.server-item-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:8px}.server-pill{position:absolute;left:0;width:4px;border-radius:0 4px 4px 0;background-color:var(--header-primary);height:0;transition:height .2s ease}.server-item-wrapper:hover .server-pill{height:20px}.server-pill.active{height:40px}.status-menu{position:absolute;bottom:100%;left:0;right:0;background-color:var(--background-base-lowest);border-radius:4px;box-shadow:0 2px 10px #0000004d;padding:6px 8px;z-index:100;margin-bottom:4px}.status-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;color:var(--text-normal);font-size:14px;border-radius:2px;transition:background-color .1s}.status-menu-item:hover{background-color:#ffffff0f}.status-menu-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.user-control-info{display:flex;align-items:center;margin-right:auto;padding:4px;border-radius:4px;cursor:pointer;transition:background-color .1s;overflow:hidden}.user-control-info:hover{background-color:#ffffff0d}.pinned-panel{position:absolute;top:48px;right:0;width:420px;max-height:calc(100% - 48px);background-color:var(--embed-background);box-shadow:0 2px 10px #0000004d;z-index:100;display:flex;flex-direction:column;border-radius:0 0 0 8px}.pinned-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-subtle)}.pinned-panel-header h3{margin:0;color:var(--header-primary);font-size:16px}.pinned-panel-close{background:none;border:none;color:var(--header-secondary);font-size:24px;cursor:pointer;line-height:1}.pinned-panel-close:hover{color:var(--header-primary)}.pinned-panel-content{overflow-y:auto;padding:8px;flex:1}.pinned-panel-empty{text-align:center;color:var(--text-muted);padding:32px 16px}.pinned-message-item{background-color:var(--bg-primary);border-radius:4px;padding:12px;margin-bottom:8px}.pinned-message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.pinned-message-author{color:var(--header-primary);font-weight:600;font-size:14px}.pinned-message-date{color:var(--text-muted);font-size:12px}.pinned-message-content{color:var(--text-normal);font-size:14px;line-height:1.4;margin-bottom:8px;word-break:break-word}.pinned-message-actions{display:flex;gap:8px}.pinned-action-btn{background:none;border:1px solid var(--text-muted);color:var(--header-secondary);cursor:pointer;padding:4px 12px;border-radius:3px;font-size:13px;transition:all .1s}.pinned-action-btn:hover{background-color:#ffffff0f;color:var(--header-primary)}.pinned-action-danger{color:var(--danger);border-color:var(--danger)}.pinned-action-danger:hover{background-color:#ed42451a}.user-profile-popup{width:300px;background-color:var(--background-base-lowest);border-radius:8px;box-shadow:0 4px 20px #0006;overflow:hidden}.user-profile-banner{height:60px}.user-profile-body{padding:0 16px 16px}.user-profile-avatar-wrapper{position:relative;margin-top:-32px;margin-bottom:8px;width:fit-content}.user-profile-avatar{width:64px;height:64px;border-radius:50%;border:4px solid var(--background-base-lowest);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px}.user-profile-status-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;border:3px solid var(--background-base-lowest)}.user-profile-name{color:var(--header-primary);font-size:20px;font-weight:700;margin-bottom:2px}.user-profile-status-text{color:var(--header-secondary);font-size:14px;margin-bottom:12px}.user-profile-divider{height:1px;background-color:var(--bg-primary);margin:8px 0}.user-profile-section-header{font-size:12px;font-weight:700;color:var(--header-primary);text-transform:uppercase;margin-bottom:4px}.user-profile-about{color:var(--header-secondary);font-size:14px;margin-bottom:12px}.user-profile-message-btn{width:100%;background-color:var(--brand-experiment);color:var(--header-primary);border:none;border-radius:3px;padding:8px;font-size:14px;cursor:pointer;transition:background-color .1s}.user-profile-message-btn:hover{background-color:var(--brand-experiment-hover)}.toast-container{position:fixed;bottom:24px;right:24px;z-index:10002;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;background-color:var(--embed-background);border-radius:8px;padding:12px 16px;min-width:300px;box-shadow:0 4px 12px #0000004d;gap:12px}.toast-enter{animation:toastSlideIn .3s ease}.toast-exit{animation:toastSlideOut .3s ease forwards}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.toast-body{flex:1;min-width:0}.toast-title{color:var(--text-normal);font-size:14px}.toast-preview{color:var(--text-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:0 4px}.toast-close:hover{color:var(--text-normal)}@keyframes messageHighlight{0%{background-color:#5865f233}to{background-color:transparent}}.message-highlight{animation:messageHighlight 2s ease}.system-message{display:flex;align-items:center;padding:2px 0}.friend-item{display:flex;align-items:center;justify-content:space-between;padding:10px 8px;border-top:1px solid var(--border-subtle);cursor:pointer;border-radius:4px;transition:background-color .1s}.friend-item:hover{background-color:#ffffff0a}.friend-action-btn{padding:8px;background-color:var(--embed-background);border-radius:50%;cursor:pointer;color:var(--header-secondary);display:flex;align-items:center;justify-content:center;transition:background-color .1s,color .1s}.friend-action-btn:hover{background-color:var(--bg-primary);color:var(--text-normal)}.friends-tab{transition:background-color .1s}.friends-tab:hover{background-color:#ffffff0a!important}.dm-search-wrapper{position:relative;margin-bottom:8px}.dm-search-input{width:100%;height:28px;background-color:var(--bg-tertiary);border:none;border-radius:4px;color:var(--text-normal);padding:0 8px;font-size:13px;outline:none;box-sizing:border-box}.dm-search-input::placeholder{color:var(--text-muted)}.dm-search-dropdown{position:absolute;top:100%;left:0;right:0;background-color:var(--embed-background);border-radius:0 0 4px 4px;box-shadow:0 4px 12px #0000004d;z-index:10;max-height:240px;overflow-y:auto;padding:4px}.dm-search-result{display:flex;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer;color:var(--text-normal);font-size:14px}.dm-search-result:hover{background-color:#ffffff0f}.dm-picker-user{display:flex;align-items:center;padding:8px;border-radius:4px;cursor:pointer;color:var(--text-normal);transition:background-color .1s}.dm-picker-user:hover{background-color:#ffffff0f}.dm-friends-btn{display:flex;align-items:center;padding:10px 8px;border-radius:4px;color:var(--text-muted);cursor:pointer;margin-bottom:16px;transition:background-color .1s}.dm-friends-btn:hover{background-color:#ffffff05}.dm-friends-btn.active{background-color:#ffffff0a;color:var(--header-primary)}.dm-item{display:flex;align-items:center;padding:8px;border-radius:4px;cursor:pointer;color:var(--text-muted);transition:background-color .1s;position:relative}.dm-item:hover{background-color:#ffffff0a}.dm-item-active{background-color:#ffffff0f;color:var(--header-primary)}.dm-item-status{font-size:12px;color:var(--header-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dm-close-btn{opacity:0;color:var(--header-secondary);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .1s}.dm-item:hover .dm-close-btn{opacity:1}.dm-close-btn:hover{color:var(--text-normal)}.auth-box,.pinned-panel,.context-menu,.user-profile-popup,.message-toolbar{box-shadow:0 2px 10px #0003}.channel-item{transition:background-color .1s ease}.channel-settings-icon{transition:opacity .2s;opacity:0}.channel-item:hover .channel-settings-icon{opacity:1}.server-header{height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--bg-tertiary);flex-shrink:0;font-weight:600;font-size:15px;color:var(--header-primary);gap:8px}.server-header-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:4px;padding:4px;transition:background-color .1s}.server-header-name:hover{background-color:var(--background-modifier-hover)}.server-header-invite{flex-shrink:0;background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--interactive-normal);transition:color .15s,background-color .15s}.server-header-invite:hover{color:var(--interactive-hover);background-color:var(--background-modifier-hover)}.server-header-invite img{width:20px;height:20px;filter:brightness(0) invert(.7)}.server-header-invite:hover img{filter:brightness(0) invert(.9)}.channel-category-header{display:flex;align-items:center;padding:16px 8px 4px;cursor:pointer;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none}.channel-category-header:hover{color:var(--interactive-hover)}.category-chevron{margin-right:2px;font-size:10px;transition:transform .2s;flex-shrink:0}.category-chevron.collapsed{transform:rotate(-90deg)}.category-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-add-btn{background:none;border:none;color:var(--interactive-normal);cursor:pointer;font-size:16px;padding:0 4px;opacity:0;transition:opacity .1s;display:flex;align-items:center}.channel-category-header:hover .category-add-btn{opacity:1}.category-add-btn:hover{color:var(--interactive-hover)}.chat-header-divider{width:1px;height:24px;background-color:var(--border-subtle);margin:0 8px;flex-shrink:0}.chat-header-topic{color:var(--text-muted);font-size:12px;font-weight:400;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.chat-header-topic:hover{color:var(--interactive-hover)}.titlebar-nav{position:absolute;left:80px;top:0;height:100%;display:flex;align-items:center;gap:4px;-webkit-app-region:no-drag}.titlebar-nav-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--interactive-normal);cursor:pointer;border-radius:4px;padding:0}.titlebar-nav-btn:hover{color:var(--interactive-hover)}.user-profile-roles{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.user-profile-role-badge{display:flex;align-items:center;gap:4px;background-color:var(--panel-bg);border-radius:4px;padding:4px 8px;font-size:12px;color:var(--text-normal);font-weight:500}.user-profile-role-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.user-profile-note-input{width:100%;background-color:transparent;border:none;color:var(--text-muted);font-size:12px;padding:4px 0;outline:none;font-family:inherit;resize:none}.user-profile-note-input:focus{color:var(--text-normal)}.user-badge{display:inline-flex;align-items:center;background-color:var(--brand-experiment);color:var(--header-primary);font-size:10px;font-weight:600;padding:1px 4px;border-radius:3px;margin-left:4px;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.voice-timer{color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums}.new-messages-divider{display:flex;align-items:center;margin:8px 16px;position:relative}.new-messages-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:var(--danger);z-index:1}.new-messages-divider span{background-color:var(--bg-primary);padding:0 8px;color:var(--danger);font-size:12px;font-weight:600;position:relative;z-index:2;margin-left:auto}.theme-selector-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.theme-selector-modal{background-color:var(--modal-background);border-radius:8px;width:440px;max-width:90vw;box-shadow:0 4px 20px #0006;overflow:hidden}.theme-selector-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.theme-selector-header h2{margin:0;color:var(--text-strong);font-size:20px;font-weight:700}.theme-selector-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px;line-height:1}.theme-selector-close:hover{color:var(--text-default)}.theme-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 20px 20px}.theme-card{cursor:pointer;border-radius:8px;border:2px solid transparent;transition:border-color .15s;overflow:hidden}.theme-card:hover{border-color:var(--border-normal)}.theme-card.active{border-color:var(--control-primary-background-default)}.theme-preview{height:80px;display:flex;border-radius:6px 6px 0 0;overflow:hidden}.theme-preview-sidebar{width:35%;padding:8px 6px;display:flex;flex-direction:column;gap:4px;justify-content:center}.theme-preview-channel{height:6px;border-radius:3px;width:80%}.theme-preview-chat{flex:1;padding:10px 8px;display:flex;flex-direction:column;gap:6px;justify-content:center}.theme-preview-message{height:8px;border-radius:4px;width:85%}.theme-card-label{display:flex;align-items:center;gap:8px;padding:10px 12px;color:var(--text-default);font-size:14px;font-weight:500}.theme-radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s}.theme-radio.active{border-color:var(--control-primary-background-default)}.theme-radio-dot{width:10px;height:10px;border-radius:50%;background-color:var(--control-primary-background-default)}.user-settings-avatar-wrapper{position:relative;border-radius:50%;overflow:hidden}.user-settings-avatar-overlay{position:absolute;top:0;left:0;width:80px;height:80px;border-radius:50%;background-color:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;text-align:center;line-height:1.3;opacity:0;transition:opacity .15s;pointer-events:none}.user-settings-avatar-wrapper:hover .user-settings-avatar-overlay{opacity:1}.avatar-crop-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.avatar-crop-dialog{width:440px;background-color:var(--bg-tertiary);border-radius:8px;box-shadow:0 4px 20px #0006;overflow:hidden}.avatar-crop-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.avatar-crop-area{position:relative;height:300px;background-color:#000}.avatar-crop-slider-row{display:flex;align-items:center;gap:12px;padding:16px 20px}.avatar-crop-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg-secondary);border-radius:3px;outline:none;cursor:pointer}.avatar-crop-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--header-primary);cursor:pointer;border:none}.avatar-crop-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--header-primary);cursor:pointer;border:none}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 20px 20px}.mic-level-bar{flex:1;height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden}.mic-level-fill{height:100%;background-color:#3ba55c;border-radius:4px;transition:width .05s ease}.voice-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.voice-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--header-primary);cursor:pointer;border:none}.voice-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--header-primary);cursor:pointer;border:none} diff --git a/Frontend/Electron/dist-react/assets/index-DIG5pjLm.js b/Frontend/Electron/dist-react/assets/index-DIG5pjLm.js new file mode 100644 index 0000000..375f19f --- /dev/null +++ b/Frontend/Electron/dist-react/assets/index-DIG5pjLm.js @@ -0,0 +1,179 @@ +(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))l(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&l(r)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function l(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();function O7(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ia={exports:{}},j8={};var am;function uy(){if(am)return j8;am=1;var e=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function t(l,i,s){var r=null;if(s!==void 0&&(r=""+s),i.key!==void 0&&(r=""+i.key),"key"in i){s={};for(var o in i)o!=="key"&&(s[o]=i[o])}else s=i;return i=s.ref,{$$typeof:e,type:l,key:r,ref:i!==void 0?i:null,props:s}}return j8.Fragment=c,j8.jsx=t,j8.jsxs=t,j8}var sm;function my(){return sm||(sm=1,ia.exports=uy()),ia.exports}var M=my(),aa={exports:{}},O2={};var nm;function _y(){if(nm)return O2;nm=1;var e=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),r=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),m=Symbol.iterator;function z(U){return U===null||typeof U!="object"?null:(U=m&&U[m]||U["@@iterator"],typeof U=="function"?U:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function x(U,X,H){this.props=U,this.context=X,this.refs=D,this.updater=H||w}x.prototype.isReactComponent={},x.prototype.setState=function(U,X){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,X,"setState")},x.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function B(){}B.prototype=x.prototype;function S(U,X,H){this.props=U,this.context=X,this.refs=D,this.updater=H||w}var b=S.prototype=new B;b.constructor=S,C(b,x.prototype),b.isPureReactComponent=!0;var y=Array.isArray;function E(){}var T={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function j(U,X,H){var g2=H.ref;return{$$typeof:e,type:U,key:X,ref:g2!==void 0?g2:null,props:H}}function L(U,X){return j(U.type,X,U.props)}function V(U){return typeof U=="object"&&U!==null&&U.$$typeof===e}function $(U){var X={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(H){return X[H]})}var Y=/\/+/g;function K(U,X){return typeof U=="object"&&U!==null&&U.key!=null?$(""+U.key):X.toString(36)}function a2(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(E,E):(U.status="pending",U.then(function(X){U.status==="pending"&&(U.status="fulfilled",U.value=X)},function(X){U.status==="pending"&&(U.status="rejected",U.reason=X)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function G(U,X,H,g2,b2){var x2=typeof U;(x2==="undefined"||x2==="boolean")&&(U=null);var F2=!1;if(U===null)F2=!0;else switch(x2){case"bigint":case"string":case"number":F2=!0;break;case"object":switch(U.$$typeof){case e:case c:F2=!0;break;case f:return F2=U._init,G(F2(U._payload),X,H,g2,b2)}}if(F2)return b2=b2(U),F2=g2===""?"."+K(U,0):g2,y(b2)?(H="",F2!=null&&(H=F2.replace(Y,"$&/")+"/"),G(b2,X,H,"",function(B0){return B0})):b2!=null&&(V(b2)&&(b2=L(b2,H+(b2.key==null||U&&U.key===b2.key?"":(""+b2.key).replace(Y,"$&/")+"/")+F2)),X.push(b2)),1;F2=0;var N2=g2===""?".":g2+":";if(y(U))for(var V2=0;V2>>1,I=G[_2];if(0>>1;_2i(H,v2))g2i(b2,H)?(G[_2]=b2,G[g2]=v2,_2=g2):(G[_2]=H,G[X]=v2,_2=X);else if(g2i(b2,v2))G[_2]=b2,G[g2]=v2,_2=g2;else break e}}return c2}function i(G,c2){var v2=G.sortIndex-c2.sortIndex;return v2!==0?v2:G.id-c2.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var r=Date,o=r.now();e.unstable_now=function(){return r.now()-o}}var d=[],p=[],f=1,g=null,m=3,z=!1,w=!1,C=!1,D=!1,x=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function b(G){for(var c2=t(p);c2!==null;){if(c2.callback===null)l(p);else if(c2.startTime<=G)l(p),c2.sortIndex=c2.expirationTime,c(d,c2);else break;c2=t(p)}}function y(G){if(C=!1,b(G),!w)if(t(d)!==null)w=!0,E||(E=!0,$());else{var c2=t(p);c2!==null&&a2(y,c2.startTime-G)}}var E=!1,T=-1,N=5,j=-1;function L(){return D?!0:!(e.unstable_now()-jG&&L());){var _2=g.callback;if(typeof _2=="function"){g.callback=null,m=g.priorityLevel;var I=_2(g.expirationTime<=G);if(G=e.unstable_now(),typeof I=="function"){g.callback=I,b(G),c2=!0;break c}g===t(d)&&l(d),b(G)}else l(d);g=t(d)}if(g!==null)c2=!0;else{var U=t(p);U!==null&&a2(y,U.startTime-G),c2=!1}}break e}finally{g=null,m=v2,z=!1}c2=void 0}}finally{c2?$():E=!1}}}var $;if(typeof S=="function")$=function(){S(V)};else if(typeof MessageChannel<"u"){var Y=new MessageChannel,K=Y.port2;Y.port1.onmessage=V,$=function(){K.postMessage(null)}}else $=function(){x(V,0)};function a2(G,c2){T=x(function(){G(e.unstable_now())},c2)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(G){G.callback=null},e.unstable_forceFrameRate=function(G){0>G||125_2?(G.sortIndex=v2,c(p,G),t(d)===null&&G===t(p)&&(C?(B(T),T=-1):C=!0,a2(y,v2-_2))):(G.sortIndex=I,c(d,G),w||z||(w=!0,E||(E=!0,$()))),G},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(G){var c2=m;return function(){var v2=m;m=c2;try{return G.apply(this,arguments)}finally{m=v2}}}})(ra)),ra}var hm;function My(){return hm||(hm=1,na.exports=zy()),na.exports}var oa={exports:{}},F1={};var dm;function wy(){if(dm)return F1;dm=1;var e=fn();function c(d){var p="https://react.dev/errors/"+d;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(c){console.error(c)}}return e(),oa.exports=wy(),oa.exports}var vm;function Cy(){if(vm)return G8;vm=1;var e=My(),c=fn(),t=EM();function l(a){var n="https://react.dev/errors/"+a;if(1I||(a.current=_2[I],_2[I]=null,I--)}function H(a,n){I++,_2[I]=a.current,a.current=n}var g2=U(null),b2=U(null),x2=U(null),F2=U(null);function N2(a,n){switch(H(x2,n),H(b2,a),H(g2,null),n.nodeType){case 9:case 11:a=(a=n.documentElement)&&(a=a.namespaceURI)?Du(a):0;break;default:if(a=n.tagName,n=n.namespaceURI)n=Du(n),a=Au(n,a);else switch(a){case"svg":a=1;break;case"math":a=2;break;default:a=0}}X(g2),H(g2,a)}function V2(){X(g2),X(b2),X(x2)}function B0(a){a.memoizedState!==null&&H(F2,a);var n=g2.current,h=Au(n,a.type);n!==h&&(H(b2,a),H(g2,h))}function i0(a){b2.current===a&&(X(g2),X(b2)),F2.current===a&&(X(F2),V8._currentValue=v2)}var m3,R2;function W2(a){if(m3===void 0)try{throw Error()}catch(h){var n=h.stack.trim().match(/\n( *(at )?)/);m3=n&&n[1]||"",R2=-1)":-1u||P[v]!==J[u]){var s2=` +`+P[v].replace(" at new "," at ");return a.displayName&&s2.includes("")&&(s2=s2.replace("",a.displayName)),s2}while(1<=v&&0<=u);break}}}finally{I2=!1,Error.prepareStackTrace=h}return(h=a?a.displayName||a.name:"")?W2(h):""}function E1(a,n){switch(a.tag){case 26:case 27:case 5:return W2(a.type);case 16:return W2("Lazy");case 13:return a.child!==n&&n!==null?W2("Suspense Fallback"):W2("Suspense");case 19:return W2("SuspenseList");case 0:case 15:return $0(a.type,!1);case 11:return $0(a.type.render,!1);case 1:return $0(a.type,!0);case 31:return W2("Activity");default:return""}}function t3(a){try{var n="",h=null;do n+=E1(a,h),h=a,a=a.return;while(a);return n}catch(v){return` +Error generating stack: `+v.message+` +`+v.stack}}var _3=Object.prototype.hasOwnProperty,l3=e.unstable_scheduleCallback,U1=e.unstable_cancelCallback,m4=e.unstable_shouldYield,K7=e.unstable_requestPaint,x0=e.unstable_now,_4=e.unstable_getCurrentPriorityLevel,r2=e.unstable_ImmediatePriority,z2=e.unstable_UserBlockingPriority,T2=e.unstable_NormalPriority,q2=e.unstable_LowPriority,n0=e.unstable_IdlePriority,T1=e.log,i3=e.unstable_setDisableYieldValue,g1=null,U0=null;function u1(a){if(typeof T1=="function"&&i3(a),U0&&typeof U0.setStrictMode=="function")try{U0.setStrictMode(g1,a)}catch{}}var h0=Math.clz32?Math.clz32:z4,L1=Math.log,P1=Math.LN2;function z4(a){return a>>>=0,a===0?32:31-(L1(a)/P1|0)|0}var b6=256,e5=262144,E6=4194304;function M4(a){var n=a&42;if(n!==0)return n;switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return a&261888;case 262144:case 524288:case 1048576:case 2097152:return a&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return a&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return a}}function F6(a,n,h){var v=a.pendingLanes;if(v===0)return 0;var u=0,_=a.suspendedLanes,F=a.pingedLanes;a=a.warmLanes;var k=v&134217727;return k!==0?(v=k&~_,v!==0?u=M4(v):(F&=k,F!==0?u=M4(F):h||(h=k&~a,h!==0&&(u=M4(h))))):(k=v&~_,k!==0?u=M4(k):F!==0?u=M4(F):h||(h=v&~a,h!==0&&(u=M4(h)))),u===0?0:n!==0&&n!==u&&(n&_)===0&&(_=u&-u,h=n&-n,_>=h||_===32&&(h&4194048)!==0)?n:u}function c5(a,n){return(a.pendingLanes&~(a.suspendedLanes&~a.pingedLanes)&n)===0}function Q9(a,n){switch(a){case 1:case 2:case 4:case 8:case 64:return n+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function J9(){var a=E6;return E6<<=1,(E6&62914560)===0&&(E6=4194304),a}function X7(a){for(var n=[],h=0;31>h;h++)n.push(a);return n}function P5(a,n){a.pendingLanes|=n,n!==268435456&&(a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0)}function Yt(a,n,h,v,u,_){var F=a.pendingLanes;a.pendingLanes=h,a.suspendedLanes=0,a.pingedLanes=0,a.warmLanes=0,a.expiredLanes&=h,a.entangledLanes&=h,a.errorRecoveryDisabledLanes&=h,a.shellSuspendCounter=0;var k=a.entanglements,P=a.expirationTimes,J=a.hiddenUpdates;for(h=F&~h;0"u")return null;try{return a.activeElement||a.body}catch{return a.body}}var hE=/[\n"\\]/g;function M3(a){return a.replace(hE,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Qt(a,n,h,v,u,_,F,k){a.name="",F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"?a.type=F:a.removeAttribute("type"),n!=null?F==="number"?(n===0&&a.value===""||a.value!=n)&&(a.value=""+k0(n)):a.value!==""+k0(n)&&(a.value=""+k0(n)):F!=="submit"&&F!=="reset"||a.removeAttribute("value"),n!=null?Jt(a,F,k0(n)):h!=null?Jt(a,F,k0(h)):v!=null&&a.removeAttribute("value"),u==null&&_!=null&&(a.defaultChecked=!!_),u!=null&&(a.checked=u&&typeof u!="function"&&typeof u!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?a.name=""+k0(k):a.removeAttribute("name")}function wv(a,n,h,v,u,_,F,k){if(_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(a.type=_),n!=null||h!=null){if(!(_!=="submit"&&_!=="reset"||n!=null)){Xt(a);return}h=h!=null?""+k0(h):"",n=n!=null?""+k0(n):h,k||n===a.value||(a.value=n),a.defaultValue=n}v=v??u,v=typeof v!="function"&&typeof v!="symbol"&&!!v,a.checked=k?a.checked:!!v,a.defaultChecked=!!v,F!=null&&typeof F!="function"&&typeof F!="symbol"&&typeof F!="boolean"&&(a.name=F),Xt(a)}function Jt(a,n,h){n==="number"&&le(a.ownerDocument)===a||a.defaultValue===""+h||(a.defaultValue=""+h)}function k6(a,n,h,v){if(a=a.options,n){n={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),il=!1;if(C4)try{var l8={};Object.defineProperty(l8,"passive",{get:function(){il=!0}}),window.addEventListener("test",l8,l8),window.removeEventListener("test",l8,l8)}catch{il=!1}var l5=null,al=null,ae=null;function Dv(){if(ae)return ae;var a,n=al,h=n.length,v,u="value"in l5?l5.value:l5.textContent,_=u.length;for(a=0;a=s8),Lv=" ",Rv=!1;function Hv(a,n){switch(a){case"keyup":return NE.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Iv(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var H6=!1;function OE(a,n){switch(a){case"compositionend":return Iv(n);case"keypress":return n.which!==32?null:(Rv=!0,Lv);case"textInput":return a=n.data,a===Lv&&Rv?null:a;default:return null}}function UE(a,n){if(H6)return a==="compositionend"||!hl&&Hv(a,n)?(a=Dv(),ae=al=l5=null,H6=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:h,offset:n-a};a=v}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=qv(h)}}function Wv(a,n){return a&&n?a===n?!0:a&&a.nodeType===3?!1:n&&n.nodeType===3?Wv(a,n.parentNode):"contains"in a?a.contains(n):a.compareDocumentPosition?!!(a.compareDocumentPosition(n)&16):!1:!1}function Zv(a){a=a!=null&&a.ownerDocument!=null&&a.ownerDocument.defaultView!=null?a.ownerDocument.defaultView:window;for(var n=le(a.document);n instanceof a.HTMLIFrameElement;){try{var h=typeof n.contentWindow.location.href=="string"}catch{h=!1}if(h)a=n.contentWindow;else break;n=le(a.document)}return n}function vl(a){var n=a&&a.nodeName&&a.nodeName.toLowerCase();return n&&(n==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||n==="textarea"||a.contentEditable==="true")}var YE=C4&&"documentMode"in document&&11>=document.documentMode,I6=null,fl=null,h8=null,gl=!1;function Yv(a,n,h){var v=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;gl||I6==null||I6!==le(v)||(v=I6,"selectionStart"in v&&vl(v)?v={start:v.selectionStart,end:v.selectionEnd}:(v=(v.ownerDocument&&v.ownerDocument.defaultView||window).getSelection(),v={anchorNode:v.anchorNode,anchorOffset:v.anchorOffset,focusNode:v.focusNode,focusOffset:v.focusOffset}),h8&&o8(h8,v)||(h8=v,v=Qe(fl,"onSelect"),0>=F,u-=F,e4=1<<32-h0(n)+u|h<P2?(c0=y2,y2=null):c0=y2.sibling;var o0=t2(W,y2,Q[P2],o2);if(o0===null){y2===null&&(y2=c0);break}a&&y2&&o0.alternate===null&&n(W,y2),q=_(o0,q,P2),r0===null?S2=o0:r0.sibling=o0,r0=o0,y2=c0}if(P2===Q.length)return h(W,y2),l0&&b4(W,P2),S2;if(y2===null){for(;P2P2?(c0=y2,y2=null):c0=y2.sibling;var E5=t2(W,y2,o0.value,o2);if(E5===null){y2===null&&(y2=c0);break}a&&y2&&E5.alternate===null&&n(W,y2),q=_(E5,q,P2),r0===null?S2=E5:r0.sibling=E5,r0=E5,y2=c0}if(o0.done)return h(W,y2),l0&&b4(W,P2),S2;if(y2===null){for(;!o0.done;P2++,o0=Q.next())o0=h2(W,o0.value,o2),o0!==null&&(q=_(o0,q,P2),r0===null?S2=o0:r0.sibling=o0,r0=o0);return l0&&b4(W,P2),S2}for(y2=v(y2);!o0.done;P2++,o0=Q.next())o0=i2(y2,W,P2,o0.value,o2),o0!==null&&(a&&o0.alternate!==null&&y2.delete(o0.key===null?P2:o0.key),q=_(o0,q,P2),r0===null?S2=o0:r0.sibling=o0,r0=o0);return a&&y2.forEach(function(gy){return n(W,gy)}),l0&&b4(W,P2),S2}function w0(W,q,Q,o2){if(typeof Q=="object"&&Q!==null&&Q.type===C&&Q.key===null&&(Q=Q.props.children),typeof Q=="object"&&Q!==null){switch(Q.$$typeof){case z:e:{for(var S2=Q.key;q!==null;){if(q.key===S2){if(S2=Q.type,S2===C){if(q.tag===7){h(W,q.sibling),o2=u(q,Q.props.children),o2.return=W,W=o2;break e}}else if(q.elementType===S2||typeof S2=="object"&&S2!==null&&S2.$$typeof===N&&J5(S2)===q.type){h(W,q.sibling),o2=u(q,Q.props),u8(o2,Q),o2.return=W,W=o2;break e}h(W,q);break}else n(W,q);q=q.sibling}Q.type===C?(o2=Z5(Q.props.children,W.mode,o2,Q.key),o2.return=W,W=o2):(o2=ge(Q.type,Q.key,Q.props,null,W.mode,o2),u8(o2,Q),o2.return=W,W=o2)}return F(W);case w:e:{for(S2=Q.key;q!==null;){if(q.key===S2)if(q.tag===4&&q.stateNode.containerInfo===Q.containerInfo&&q.stateNode.implementation===Q.implementation){h(W,q.sibling),o2=u(q,Q.children||[]),o2.return=W,W=o2;break e}else{h(W,q);break}else n(W,q);q=q.sibling}o2=Cl(Q,W.mode,o2),o2.return=W,W=o2}return F(W);case N:return Q=J5(Q),w0(W,q,Q,o2)}if(a2(Q))return E2(W,q,Q,o2);if($(Q)){if(S2=$(Q),typeof S2!="function")throw Error(l(150));return Q=S2.call(Q),k2(W,q,Q,o2)}if(typeof Q.then=="function")return w0(W,q,Ce(Q),o2);if(Q.$$typeof===S)return w0(W,q,_e(W,Q),o2);xe(W,Q)}return typeof Q=="string"&&Q!==""||typeof Q=="number"||typeof Q=="bigint"?(Q=""+Q,q!==null&&q.tag===6?(h(W,q.sibling),o2=u(q,Q),o2.return=W,W=o2):(h(W,q),o2=wl(Q,W.mode,o2),o2.return=W,W=o2),F(W)):h(W,q)}return function(W,q,Q,o2){try{g8=0;var S2=w0(W,q,Q,o2);return Z6=null,S2}catch(y2){if(y2===W6||y2===Me)throw y2;var r0=s3(29,y2,null,W.mode);return r0.lanes=o2,r0.return=W,r0}}}var c6=zf(!0),Mf=zf(!1),r5=!1;function Ll(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Rl(a,n){a=a.updateQueue,n.updateQueue===a&&(n.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,callbacks:null})}function o5(a){return{lane:a,tag:0,payload:null,callback:null,next:null}}function h5(a,n,h){var v=a.updateQueue;if(v===null)return null;if(v=v.shared,(d0&2)!==0){var u=v.pending;return u===null?n.next=n:(n.next=u.next,u.next=n),v.pending=n,n=fe(a),tf(a,null,h),n}return ve(a,v,n,h),fe(a)}function m8(a,n,h){if(n=n.updateQueue,n!==null&&(n=n.shared,(h&4194048)!==0)){var v=n.lanes;v&=a.pendingLanes,h|=v,n.lanes=h,y6(a,h)}}function Hl(a,n){var h=a.updateQueue,v=a.alternate;if(v!==null&&(v=v.updateQueue,h===v)){var u=null,_=null;if(h=h.firstBaseUpdate,h!==null){do{var F={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};_===null?u=_=F:_=_.next=F,h=h.next}while(h!==null);_===null?u=_=n:_=_.next=n}else u=_=n;h={baseState:v.baseState,firstBaseUpdate:u,lastBaseUpdate:_,shared:v.shared,callbacks:v.callbacks},a.updateQueue=h;return}a=h.lastBaseUpdate,a===null?h.firstBaseUpdate=n:a.next=n,h.lastBaseUpdate=n}var Il=!1;function _8(){if(Il){var a=$6;if(a!==null)throw a}}function z8(a,n,h,v){Il=!1;var u=a.updateQueue;r5=!1;var _=u.firstBaseUpdate,F=u.lastBaseUpdate,k=u.shared.pending;if(k!==null){u.shared.pending=null;var P=k,J=P.next;P.next=null,F===null?_=J:F.next=J,F=P;var s2=a.alternate;s2!==null&&(s2=s2.updateQueue,k=s2.lastBaseUpdate,k!==F&&(k===null?s2.firstBaseUpdate=J:k.next=J,s2.lastBaseUpdate=P))}if(_!==null){var h2=u.baseState;F=0,s2=J=P=null,k=_;do{var t2=k.lane&-536870913,i2=t2!==k.lane;if(i2?(e0&t2)===t2:(v&t2)===t2){t2!==0&&t2===q6&&(Il=!0),s2!==null&&(s2=s2.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});e:{var E2=a,k2=k;t2=n;var w0=h;switch(k2.tag){case 1:if(E2=k2.payload,typeof E2=="function"){h2=E2.call(w0,h2,t2);break e}h2=E2;break e;case 3:E2.flags=E2.flags&-65537|128;case 0:if(E2=k2.payload,t2=typeof E2=="function"?E2.call(w0,h2,t2):E2,t2==null)break e;h2=g({},h2,t2);break e;case 2:r5=!0}}t2=k.callback,t2!==null&&(a.flags|=64,i2&&(a.flags|=8192),i2=u.callbacks,i2===null?u.callbacks=[t2]:i2.push(t2))}else i2={lane:t2,tag:k.tag,payload:k.payload,callback:k.callback,next:null},s2===null?(J=s2=i2,P=h2):s2=s2.next=i2,F|=t2;if(k=k.next,k===null){if(k=u.shared.pending,k===null)break;i2=k,k=i2.next,i2.next=null,u.lastBaseUpdate=i2,u.shared.pending=null}}while(!0);s2===null&&(P=h2),u.baseState=P,u.firstBaseUpdate=J,u.lastBaseUpdate=s2,_===null&&(u.shared.lanes=0),g5|=F,a.lanes=F,a.memoizedState=h2}}function wf(a,n){if(typeof a!="function")throw Error(l(191,a));a.call(n)}function Cf(a,n){var h=a.callbacks;if(h!==null)for(a.callbacks=null,a=0;a_?_:8;var F=G.T,k={};G.T=k,ti(a,!1,n,h);try{var P=u(),J=G.S;if(J!==null&&J(k,P),P!==null&&typeof P=="object"&&typeof P.then=="function"){var s2=iF(P,v);C8(a,n,s2,d3(a))}else C8(a,n,v,d3(a))}catch(h2){C8(a,n,{then:function(){},status:"rejected",reason:h2},d3())}finally{c2.p=_,F!==null&&k.types!==null&&(F.types=k.types),G.T=F}}function hF(){}function ei(a,n,h,v){if(a.tag!==5)throw Error(l(476));var u=eg(a).queue;Jf(a,u,n,v2,h===null?hF:function(){return cg(a),h(v)})}function eg(a){var n=a.memoizedState;if(n!==null)return n;n={memoizedState:v2,baseState:v2,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:D4,lastRenderedState:v2},next:null};var h={};return n.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:D4,lastRenderedState:h},next:null},a.memoizedState=n,a=a.alternate,a!==null&&(a.memoizedState=n),n}function cg(a){var n=eg(a);n.next===null&&(n=a.alternate.memoizedState),C8(a,n.next.queue,{},d3())}function ci(){return _1(V8)}function tg(){return j0().memoizedState}function lg(){return j0().memoizedState}function dF(a){for(var n=a.return;n!==null;){switch(n.tag){case 24:case 3:var h=d3();a=o5(h);var v=h5(n,a,h);v!==null&&(Z1(v,n,h),m8(v,n,h)),n={cache:Sl()},a.payload=n;return}n=n.return}}function pF(a,n,h){var v=d3();h={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},Te(a)?ag(n,h):(h=zl(a,n,h,v),h!==null&&(Z1(h,a,v),sg(h,n,v)))}function ig(a,n,h){var v=d3();C8(a,n,h,v)}function C8(a,n,h,v){var u={lane:v,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(Te(a))ag(n,u);else{var _=a.alternate;if(a.lanes===0&&(_===null||_.lanes===0)&&(_=n.lastRenderedReducer,_!==null))try{var F=n.lastRenderedState,k=_(F,h);if(u.hasEagerState=!0,u.eagerState=k,a3(k,F))return ve(a,n,u,0),b0===null&&pe(),!1}catch{}if(h=zl(a,n,u,v),h!==null)return Z1(h,a,v),sg(h,n,v),!0}return!1}function ti(a,n,h,v){if(v={lane:2,revertLane:Li(),gesture:null,action:v,hasEagerState:!1,eagerState:null,next:null},Te(a)){if(n)throw Error(l(479))}else n=zl(a,h,v,2),n!==null&&Z1(n,a,2)}function Te(a){var n=a.alternate;return a===U2||n!==null&&n===U2}function ag(a,n){K6=Fe=!0;var h=a.pending;h===null?n.next=n:(n.next=h.next,h.next=n),a.pending=n}function sg(a,n,h){if((h&4194048)!==0){var v=n.lanes;v&=a.pendingLanes,h|=v,n.lanes=h,y6(a,h)}}var x8={readContext:_1,use:Ae,useCallback:H0,useContext:H0,useEffect:H0,useImperativeHandle:H0,useLayoutEffect:H0,useInsertionEffect:H0,useMemo:H0,useReducer:H0,useRef:H0,useState:H0,useDebugValue:H0,useDeferredValue:H0,useTransition:H0,useSyncExternalStore:H0,useId:H0,useHostTransitionStatus:H0,useFormState:H0,useActionState:H0,useOptimistic:H0,useMemoCache:H0,useCacheRefresh:H0};x8.useEffectEvent=H0;var ng={readContext:_1,use:Ae,useCallback:function(a,n){return R1().memoizedState=[a,n===void 0?null:n],a},useContext:_1,useEffect:Gf,useImperativeHandle:function(a,n,h){h=h!=null?h.concat([a]):null,Be(4194308,4,Zf.bind(null,n,a),h)},useLayoutEffect:function(a,n){return Be(4194308,4,a,n)},useInsertionEffect:function(a,n){Be(4,2,a,n)},useMemo:function(a,n){var h=R1();n=n===void 0?null:n;var v=a();if(t6){u1(!0);try{a()}finally{u1(!1)}}return h.memoizedState=[v,n],v},useReducer:function(a,n,h){var v=R1();if(h!==void 0){var u=h(n);if(t6){u1(!0);try{h(n)}finally{u1(!1)}}}else u=n;return v.memoizedState=v.baseState=u,a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:u},v.queue=a,a=a.dispatch=pF.bind(null,U2,a),[v.memoizedState,a]},useRef:function(a){var n=R1();return a={current:a},n.memoizedState=a},useState:function(a){a=Yl(a);var n=a.queue,h=ig.bind(null,U2,n);return n.dispatch=h,[a.memoizedState,h]},useDebugValue:Ql,useDeferredValue:function(a,n){var h=R1();return Jl(h,a,n)},useTransition:function(){var a=Yl(!1);return a=Jf.bind(null,U2,a.queue,!0,!1),R1().memoizedState=a,[!1,a]},useSyncExternalStore:function(a,n,h){var v=U2,u=R1();if(l0){if(h===void 0)throw Error(l(407));h=h()}else{if(h=n(),b0===null)throw Error(l(349));(e0&127)!==0||Df(v,n,h)}u.memoizedState=h;var _={value:h,getSnapshot:n};return u.queue=_,Gf(Sf.bind(null,v,_,a),[a]),v.flags|=2048,Q6(9,{destroy:void 0},Af.bind(null,v,_,h,n),null),h},useId:function(){var a=R1(),n=b0.identifierPrefix;if(l0){var h=c4,v=e4;h=(v&~(1<<32-h0(v)-1)).toString(32)+h,n="_"+n+"R_"+h,h=ye++,0<\/script>",_=_.removeChild(_.firstChild);break;case"select":_=typeof v.is=="string"?F.createElement("select",{is:v.is}):F.createElement("select"),v.multiple?_.multiple=!0:v.size&&(_.size=v.size);break;default:_=typeof v.is=="string"?F.createElement(u,{is:v.is}):F.createElement(u)}}_[t1]=n,_[n1]=v;e:for(F=n.child;F!==null;){if(F.tag===5||F.tag===6)_.appendChild(F.stateNode);else if(F.tag!==4&&F.tag!==27&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===n)break e;for(;F.sibling===null;){if(F.return===null||F.return===n)break e;F=F.return}F.sibling.return=F.return,F=F.sibling}n.stateNode=_;e:switch(M1(_,u,v),u){case"button":case"input":case"select":case"textarea":v=!!v.autoFocus;break e;case"img":v=!0;break e;default:v=!1}v&&S4(n)}}return A0(n),ui(n,n.type,a===null?null:a.memoizedProps,n.pendingProps,h),null;case 6:if(a&&n.stateNode!=null)a.memoizedProps!==v&&S4(n);else{if(typeof v!="string"&&n.stateNode===null)throw Error(l(166));if(a=x2.current,j6(n)){if(a=n.stateNode,h=n.memoizedProps,v=null,u=m1,u!==null)switch(u.tag){case 27:case 5:v=u.memoizedProps}a[t1]=n,a=!!(a.nodeValue===h||v!==null&&v.suppressHydrationWarning===!0||Fu(a.nodeValue,h)),a||s5(n,!0)}else a=Je(a).createTextNode(v),a[t1]=n,n.stateNode=a}return A0(n),null;case 31:if(h=n.memoizedState,a===null||a.memoizedState!==null){if(v=j6(n),h!==null){if(a===null){if(!v)throw Error(l(318));if(a=n.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(l(557));a[t1]=n}else Y5(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;A0(n),a=!1}else h=Fl(),a!==null&&a.memoizedState!==null&&(a.memoizedState.hydrationErrors=h),a=!0;if(!a)return n.flags&256?(r3(n),n):(r3(n),null);if((n.flags&128)!==0)throw Error(l(558))}return A0(n),null;case 13:if(v=n.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(u=j6(n),v!==null&&v.dehydrated!==null){if(a===null){if(!u)throw Error(l(318));if(u=n.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(l(317));u[t1]=n}else Y5(),(n.flags&128)===0&&(n.memoizedState=null),n.flags|=4;A0(n),u=!1}else u=Fl(),a!==null&&a.memoizedState!==null&&(a.memoizedState.hydrationErrors=u),u=!0;if(!u)return n.flags&256?(r3(n),n):(r3(n),null)}return r3(n),(n.flags&128)!==0?(n.lanes=h,n):(h=v!==null,a=a!==null&&a.memoizedState!==null,h&&(v=n.child,u=null,v.alternate!==null&&v.alternate.memoizedState!==null&&v.alternate.memoizedState.cachePool!==null&&(u=v.alternate.memoizedState.cachePool.pool),_=null,v.memoizedState!==null&&v.memoizedState.cachePool!==null&&(_=v.memoizedState.cachePool.pool),_!==u&&(v.flags|=2048)),h!==a&&h&&(n.child.flags|=8192),Ne(n,n.updateQueue),A0(n),null);case 4:return V2(),a===null&&Ni(n.stateNode.containerInfo),A0(n),null;case 10:return F4(n.type),A0(n),null;case 19:if(X(P0),v=n.memoizedState,v===null)return A0(n),null;if(u=(n.flags&128)!==0,_=v.rendering,_===null)if(u)E8(v,!1);else{if(I0!==0||a!==null&&(a.flags&128)!==0)for(a=n.child;a!==null;){if(_=Ee(a),_!==null){for(n.flags|=128,E8(v,!1),a=_.updateQueue,n.updateQueue=a,Ne(n,a),n.subtreeFlags=0,a=h,h=n.child;h!==null;)lf(h,a),h=h.sibling;return H(P0,P0.current&1|2),l0&&b4(n,v.treeForkCount),n.child}a=a.sibling}v.tail!==null&&x0()>je&&(n.flags|=128,u=!0,E8(v,!1),n.lanes=4194304)}else{if(!u)if(a=Ee(_),a!==null){if(n.flags|=128,u=!0,a=a.updateQueue,n.updateQueue=a,Ne(n,a),E8(v,!0),v.tail===null&&v.tailMode==="hidden"&&!_.alternate&&!l0)return A0(n),null}else 2*x0()-v.renderingStartTime>je&&h!==536870912&&(n.flags|=128,u=!0,E8(v,!1),n.lanes=4194304);v.isBackwards?(_.sibling=n.child,n.child=_):(a=v.last,a!==null?a.sibling=_:n.child=_,v.last=_)}return v.tail!==null?(a=v.tail,v.rendering=a,v.tail=a.sibling,v.renderingStartTime=x0(),a.sibling=null,h=P0.current,H(P0,u?h&1|2:h&1),l0&&b4(n,v.treeForkCount),a):(A0(n),null);case 22:case 23:return r3(n),Vl(),v=n.memoizedState!==null,a!==null?a.memoizedState!==null!==v&&(n.flags|=8192):v&&(n.flags|=8192),v?(h&536870912)!==0&&(n.flags&128)===0&&(A0(n),n.subtreeFlags&6&&(n.flags|=8192)):A0(n),h=n.updateQueue,h!==null&&Ne(n,h.retryQueue),h=null,a!==null&&a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(h=a.memoizedState.cachePool.pool),v=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(v=n.memoizedState.cachePool.pool),v!==h&&(n.flags|=2048),a!==null&&X(Q5),null;case 24:return h=null,a!==null&&(h=a.memoizedState.cache),n.memoizedState.cache!==h&&(n.flags|=2048),F4(W0),A0(n),null;case 25:return null;case 30:return null}throw Error(l(156,n.tag))}function mF(a,n){switch(bl(n),n.tag){case 1:return a=n.flags,a&65536?(n.flags=a&-65537|128,n):null;case 3:return F4(W0),V2(),a=n.flags,(a&65536)!==0&&(a&128)===0?(n.flags=a&-65537|128,n):null;case 26:case 27:case 5:return i0(n),null;case 31:if(n.memoizedState!==null){if(r3(n),n.alternate===null)throw Error(l(340));Y5()}return a=n.flags,a&65536?(n.flags=a&-65537|128,n):null;case 13:if(r3(n),a=n.memoizedState,a!==null&&a.dehydrated!==null){if(n.alternate===null)throw Error(l(340));Y5()}return a=n.flags,a&65536?(n.flags=a&-65537|128,n):null;case 19:return X(P0),null;case 4:return V2(),null;case 10:return F4(n.type),null;case 22:case 23:return r3(n),Vl(),a!==null&&X(Q5),a=n.flags,a&65536?(n.flags=a&-65537|128,n):null;case 24:return F4(W0),null;case 25:return null;default:return null}}function Bg(a,n){switch(bl(n),n.tag){case 3:F4(W0),V2();break;case 26:case 27:case 5:i0(n);break;case 4:V2();break;case 31:n.memoizedState!==null&&r3(n);break;case 13:r3(n);break;case 19:X(P0);break;case 10:F4(n.type);break;case 22:case 23:r3(n),Vl(),a!==null&&X(Q5);break;case 24:F4(W0)}}function F8(a,n){try{var h=n.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var u=v.next;h=u;do{if((h.tag&a)===a){v=void 0;var _=h.create,F=h.inst;v=_(),F.destroy=v}h=h.next}while(h!==u)}}catch(k){g0(n,n.return,k)}}function v5(a,n,h){try{var v=n.updateQueue,u=v!==null?v.lastEffect:null;if(u!==null){var _=u.next;v=_;do{if((v.tag&a)===a){var F=v.inst,k=F.destroy;if(k!==void 0){F.destroy=void 0,u=n;var P=h,J=k;try{J()}catch(s2){g0(u,P,s2)}}}v=v.next}while(v!==_)}}catch(s2){g0(n,n.return,s2)}}function kg(a){var n=a.updateQueue;if(n!==null){var h=a.stateNode;try{Cf(n,h)}catch(v){g0(a,a.return,v)}}}function Tg(a,n,h){h.props=l6(a.type,a.memoizedProps),h.state=a.memoizedState;try{h.componentWillUnmount()}catch(v){g0(a,n,v)}}function y8(a,n){try{var h=a.ref;if(h!==null){switch(a.tag){case 26:case 27:case 5:var v=a.stateNode;break;case 30:v=a.stateNode;break;default:v=a.stateNode}typeof h=="function"?a.refCleanup=h(v):h.current=v}}catch(u){g0(a,n,u)}}function t4(a,n){var h=a.ref,v=a.refCleanup;if(h!==null)if(typeof v=="function")try{v()}catch(u){g0(a,n,u)}finally{a.refCleanup=null,a=a.alternate,a!=null&&(a.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(u){g0(a,n,u)}else h.current=null}function Lg(a){var n=a.type,h=a.memoizedProps,v=a.stateNode;try{e:switch(n){case"button":case"input":case"select":case"textarea":h.autoFocus&&v.focus();break e;case"img":h.src?v.src=h.src:h.srcSet&&(v.srcset=h.srcSet)}}catch(u){g0(a,a.return,u)}}function mi(a,n,h){try{var v=a.stateNode;VF(v,a.type,h,n),v[n1]=n}catch(u){g0(a,a.return,u)}}function Rg(a){return a.tag===5||a.tag===3||a.tag===26||a.tag===27&&M5(a.type)||a.tag===4}function _i(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||Rg(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.tag===27&&M5(a.type)||a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function zi(a,n,h){var v=a.tag;if(v===5||v===6)a=a.stateNode,n?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(a,n):(n=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,n.appendChild(a),h=h._reactRootContainer,h!=null||n.onclick!==null||(n.onclick=w4));else if(v!==4&&(v===27&&M5(a.type)&&(h=a.stateNode,n=null),a=a.child,a!==null))for(zi(a,n,h),a=a.sibling;a!==null;)zi(a,n,h),a=a.sibling}function Ve(a,n,h){var v=a.tag;if(v===5||v===6)a=a.stateNode,n?h.insertBefore(a,n):h.appendChild(a);else if(v!==4&&(v===27&&M5(a.type)&&(h=a.stateNode),a=a.child,a!==null))for(Ve(a,n,h),a=a.sibling;a!==null;)Ve(a,n,h),a=a.sibling}function Hg(a){var n=a.stateNode,h=a.memoizedProps;try{for(var v=a.type,u=n.attributes;u.length;)n.removeAttributeNode(u[0]);M1(n,v,h),n[t1]=a,n[n1]=h}catch(_){g0(a,a.return,_)}}var B4=!1,K0=!1,Mi=!1,Ig=typeof WeakSet=="function"?WeakSet:Set,h1=null;function _F(a,n){if(a=a.containerInfo,Ui=sc,a=Zv(a),vl(a)){if("selectionStart"in a)var h={start:a.selectionStart,end:a.selectionEnd};else e:{h=(h=a.ownerDocument)&&h.defaultView||window;var v=h.getSelection&&h.getSelection();if(v&&v.rangeCount!==0){h=v.anchorNode;var u=v.anchorOffset,_=v.focusNode;v=v.focusOffset;try{h.nodeType,_.nodeType}catch{h=null;break e}var F=0,k=-1,P=-1,J=0,s2=0,h2=a,t2=null;c:for(;;){for(var i2;h2!==h||u!==0&&h2.nodeType!==3||(k=F+u),h2!==_||v!==0&&h2.nodeType!==3||(P=F+v),h2.nodeType===3&&(F+=h2.nodeValue.length),(i2=h2.firstChild)!==null;)t2=h2,h2=i2;for(;;){if(h2===a)break c;if(t2===h&&++J===u&&(k=F),t2===_&&++s2===v&&(P=F),(i2=h2.nextSibling)!==null)break;h2=t2,t2=h2.parentNode}h2=i2}h=k===-1||P===-1?null:{start:k,end:P}}else h=null}h=h||{start:0,end:0}}else h=null;for(Pi={focusedElem:a,selectionRange:h},sc=!1,h1=n;h1!==null;)if(n=h1,a=n.child,(n.subtreeFlags&1028)!==0&&a!==null)a.return=n,h1=a;else for(;h1!==null;){switch(n=h1,_=n.alternate,a=n.flags,n.tag){case 0:if((a&4)!==0&&(a=n.updateQueue,a=a!==null?a.events:null,a!==null))for(h=0;h title"))),M1(_,v,h),_[t1]=a,J2(_),v=_;break e;case"link":var F=ju("link","href",u).get(v+(h.href||""));if(F){for(var k=0;kw0&&(F=w0,w0=k2,k2=F);var W=$v(k,k2),q=$v(k,w0);if(W&&q&&(i2.rangeCount!==1||i2.anchorNode!==W.node||i2.anchorOffset!==W.offset||i2.focusNode!==q.node||i2.focusOffset!==q.offset)){var Q=h2.createRange();Q.setStart(W.node,W.offset),i2.removeAllRanges(),k2>w0?(i2.addRange(Q),i2.extend(q.node,q.offset)):(Q.setEnd(q.node,q.offset),i2.addRange(Q))}}}}for(h2=[],i2=k;i2=i2.parentNode;)i2.nodeType===1&&h2.push({element:i2,left:i2.scrollLeft,top:i2.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;kh?32:h,G.T=null,h=yi,yi=null;var _=m5,F=H4;if(l1=0,l7=m5=null,H4=0,(d0&6)!==0)throw Error(l(331));var k=d0;if(d0|=4,Zg(_.current),qg(_,_.current,F,h),d0=k,T8(0,!1),U0&&typeof U0.onPostCommitFiberRoot=="function")try{U0.onPostCommitFiberRoot(g1,_)}catch{}return!0}finally{c2.p=u,G.T=v,pu(a,n)}}function fu(a,n,h){n=C3(h,n),n=si(a.stateNode,n,2),a=h5(a,n,2),a!==null&&(P5(a,2),l4(a))}function g0(a,n,h){if(a.tag===3)fu(a,a,h);else for(;n!==null;){if(n.tag===3){fu(n,a,h);break}else if(n.tag===1){var v=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof v.componentDidCatch=="function"&&(u5===null||!u5.has(v))){a=C3(h,a),h=gg(2),v=h5(n,h,2),v!==null&&(ug(h,v,n,a),P5(v,2),l4(v));break}}n=n.return}}function Bi(a,n,h){var v=a.pingCache;if(v===null){v=a.pingCache=new wF;var u=new Set;v.set(n,u)}else u=v.get(n),u===void 0&&(u=new Set,v.set(n,u));u.has(h)||(xi=!0,u.add(h),a=FF.bind(null,a,n,h),n.then(a,a))}function FF(a,n,h){var v=a.pingCache;v!==null&&v.delete(n),a.pingedLanes|=a.suspendedLanes&h,a.warmLanes&=~h,b0===a&&(e0&h)===h&&(I0===4||I0===3&&(e0&62914560)===e0&&300>x0()-Pe?(d0&2)===0&&i7(a,0):bi|=h,t7===e0&&(t7=0)),l4(a)}function gu(a,n){n===0&&(n=J9()),a=W5(a,n),a!==null&&(P5(a,n),l4(a))}function yF(a){var n=a.memoizedState,h=0;n!==null&&(h=n.retryLane),gu(a,h)}function DF(a,n){var h=0;switch(a.tag){case 31:case 13:var v=a.stateNode,u=a.memoizedState;u!==null&&(h=u.retryLane);break;case 19:v=a.stateNode;break;case 22:v=a.stateNode._retryCache;break;default:throw Error(l(314))}v!==null&&v.delete(n),gu(a,h)}function AF(a,n){return l3(a,n)}var Ye=null,s7=null,ki=!1,Ke=!1,Ti=!1,z5=0;function l4(a){a!==s7&&a.next===null&&(s7===null?Ye=s7=a:s7=s7.next=a),Ke=!0,ki||(ki=!0,BF())}function T8(a,n){if(!Ti&&Ke){Ti=!0;do for(var h=!1,v=Ye;v!==null;){if(a!==0){var u=v.pendingLanes;if(u===0)var _=0;else{var F=v.suspendedLanes,k=v.pingedLanes;_=(1<<31-h0(42|a)+1)-1,_&=u&~(F&~k),_=_&201326741?_&201326741|1:_?_|2:0}_!==0&&(h=!0,zu(v,_))}else _=e0,_=F6(v,v===b0?_:0,v.cancelPendingCommit!==null||v.timeoutHandle!==-1),(_&3)===0||c5(v,_)||(h=!0,zu(v,_));v=v.next}while(h);Ti=!1}}function SF(){uu()}function uu(){Ke=ki=!1;var a=0;z5!==0&&UF()&&(a=z5);for(var n=x0(),h=null,v=Ye;v!==null;){var u=v.next,_=mu(v,n);_===0?(v.next=null,h===null?Ye=u:h.next=u,u===null&&(s7=h)):(h=v,(a!==0||(_&3)!==0)&&(Ke=!0)),v=u}l1!==0&&l1!==5||T8(a),z5!==0&&(z5=0)}function mu(a,n){for(var h=a.suspendedLanes,v=a.pingedLanes,u=a.expirationTimes,_=a.pendingLanes&-62914561;0<_;){var F=31-h0(_),k=1<k)break;var s2=P.transferSize,h2=P.initiatorType;s2&&yu(h2)&&(P=P.responseEnd,F+=s2*(P"u"?null:document;function Vu(a,n,h){var v=n7;if(v&&typeof n=="string"&&n){var u=M3(n);u='link[rel="'+a+'"][href="'+u+'"]',typeof h=="string"&&(u+='[crossorigin="'+h+'"]'),Nu.has(u)||(Nu.add(u),a={rel:a,crossOrigin:h,href:n},v.querySelector(u)===null&&(n=v.createElement("link"),M1(n,"link",a),J2(n),v.head.appendChild(n)))}}function KF(a){I4.D(a),Vu("dns-prefetch",a,null)}function XF(a,n){I4.C(a,n),Vu("preconnect",a,n)}function QF(a,n,h){I4.L(a,n,h);var v=n7;if(v&&a&&n){var u='link[rel="preload"][as="'+M3(n)+'"]';n==="image"&&h&&h.imageSrcSet?(u+='[imagesrcset="'+M3(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(u+='[imagesizes="'+M3(h.imageSizes)+'"]')):u+='[href="'+M3(a)+'"]';var _=u;switch(n){case"style":_=r7(a);break;case"script":_=o7(a)}D3.has(_)||(a=g({rel:"preload",href:n==="image"&&h&&h.imageSrcSet?void 0:a,as:n},h),D3.set(_,a),v.querySelector(u)!==null||n==="style"&&v.querySelector(I8(_))||n==="script"&&v.querySelector(N8(_))||(n=v.createElement("link"),M1(n,"link",a),J2(n),v.head.appendChild(n)))}}function JF(a,n){I4.m(a,n);var h=n7;if(h&&a){var v=n&&typeof n.as=="string"?n.as:"script",u='link[rel="modulepreload"][as="'+M3(v)+'"][href="'+M3(a)+'"]',_=u;switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":_=o7(a)}if(!D3.has(_)&&(a=g({rel:"modulepreload",href:a},n),D3.set(_,a),h.querySelector(u)===null)){switch(v){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(N8(_)))return}v=h.createElement("link"),M1(v,"link",a),J2(v),h.head.appendChild(v)}}}function ey(a,n,h){I4.S(a,n,h);var v=n7;if(v&&a){var u=u0(v).hoistableStyles,_=r7(a);n=n||"default";var F=u.get(_);if(!F){var k={loading:0,preload:null};if(F=v.querySelector(I8(_)))k.loading=5;else{a=g({rel:"stylesheet",href:a,"data-precedence":n},h),(h=D3.get(_))&&Yi(a,h);var P=F=v.createElement("link");J2(P),M1(P,"link",a),P._p=new Promise(function(J,s2){P.onload=J,P.onerror=s2}),P.addEventListener("load",function(){k.loading|=1}),P.addEventListener("error",function(){k.loading|=2}),k.loading|=4,cc(F,n,v)}F={type:"stylesheet",instance:F,count:1,state:k},u.set(_,F)}}}function cy(a,n){I4.X(a,n);var h=n7;if(h&&a){var v=u0(h).hoistableScripts,u=o7(a),_=v.get(u);_||(_=h.querySelector(N8(u)),_||(a=g({src:a,async:!0},n),(n=D3.get(u))&&Ki(a,n),_=h.createElement("script"),J2(_),M1(_,"link",a),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(u,_))}}function ty(a,n){I4.M(a,n);var h=n7;if(h&&a){var v=u0(h).hoistableScripts,u=o7(a),_=v.get(u);_||(_=h.querySelector(N8(u)),_||(a=g({src:a,async:!0,type:"module"},n),(n=D3.get(u))&&Ki(a,n),_=h.createElement("script"),J2(_),M1(_,"link",a),h.head.appendChild(_)),_={type:"script",instance:_,count:1,state:null},v.set(u,_))}}function Ou(a,n,h,v){var u=(u=x2.current)?ec(u):null;if(!u)throw Error(l(446));switch(a){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(n=r7(h.href),h=u0(u).hoistableStyles,v=h.get(n),v||(v={type:"style",instance:null,count:0,state:null},h.set(n,v)),v):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){a=r7(h.href);var _=u0(u).hoistableStyles,F=_.get(a);if(F||(u=u.ownerDocument||u,F={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},_.set(a,F),(_=u.querySelector(I8(a)))&&!_._p&&(F.instance=_,F.state.loading=5),D3.has(a)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},D3.set(a,h),_||ly(u,a,h,F.state))),n&&v===null)throw Error(l(528,""));return F}if(n&&v!==null)throw Error(l(529,""));return null;case"script":return n=h.async,h=h.src,typeof h=="string"&&n&&typeof n!="function"&&typeof n!="symbol"?(n=o7(h),h=u0(u).hoistableScripts,v=h.get(n),v||(v={type:"script",instance:null,count:0,state:null},h.set(n,v)),v):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,a))}}function r7(a){return'href="'+M3(a)+'"'}function I8(a){return'link[rel="stylesheet"]['+a+"]"}function Uu(a){return g({},a,{"data-precedence":a.precedence,precedence:null})}function ly(a,n,h,v){a.querySelector('link[rel="preload"][as="style"]['+n+"]")?v.loading=1:(n=a.createElement("link"),v.preload=n,n.addEventListener("load",function(){return v.loading|=1}),n.addEventListener("error",function(){return v.loading|=2}),M1(n,"link",h),J2(n),a.head.appendChild(n))}function o7(a){return'[src="'+M3(a)+'"]'}function N8(a){return"script[async]"+a}function Pu(a,n,h){if(n.count++,n.instance===null)switch(n.type){case"style":var v=a.querySelector('style[data-href~="'+M3(h.href)+'"]');if(v)return n.instance=v,J2(v),v;var u=g({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return v=(a.ownerDocument||a).createElement("style"),J2(v),M1(v,"style",u),cc(v,h.precedence,a),n.instance=v;case"stylesheet":u=r7(h.href);var _=a.querySelector(I8(u));if(_)return n.state.loading|=4,n.instance=_,J2(_),_;v=Uu(h),(u=D3.get(u))&&Yi(v,u),_=(a.ownerDocument||a).createElement("link"),J2(_);var F=_;return F._p=new Promise(function(k,P){F.onload=k,F.onerror=P}),M1(_,"link",v),n.state.loading|=4,cc(_,h.precedence,a),n.instance=_;case"script":return _=o7(h.src),(u=a.querySelector(N8(_)))?(n.instance=u,J2(u),u):(v=h,(u=D3.get(_))&&(v=g({},h),Ki(v,u)),a=a.ownerDocument||a,u=a.createElement("script"),J2(u),M1(u,"link",v),a.head.appendChild(u),n.instance=u);case"void":return null;default:throw Error(l(443,n.type))}else n.type==="stylesheet"&&(n.state.loading&4)===0&&(v=n.instance,n.state.loading|=4,cc(v,h.precedence,a));return n.instance}function cc(a,n,h){for(var v=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=v.length?v[v.length-1]:null,_=u,F=0;F title"):null)}function iy(a,n,h){if(h===1||n.itemProp!=null)return!1;switch(a){case"meta":case"title":return!0;case"style":if(typeof n.precedence!="string"||typeof n.href!="string"||n.href==="")break;return!0;case"link":if(typeof n.rel!="string"||typeof n.href!="string"||n.href===""||n.onLoad||n.onError)break;return n.rel==="stylesheet"?(a=n.disabled,typeof n.precedence=="string"&&a==null):!0;case"script":if(n.async&&typeof n.async!="function"&&typeof n.async!="symbol"&&!n.onLoad&&!n.onError&&n.src&&typeof n.src=="string")return!0}return!1}function qu(a){return!(a.type==="stylesheet"&&(a.state.loading&3)===0)}function ay(a,n,h,v){if(h.type==="stylesheet"&&(typeof v.media!="string"||matchMedia(v.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var u=r7(v.href),_=n.querySelector(I8(u));if(_){n=_._p,n!==null&&typeof n=="object"&&typeof n.then=="function"&&(a.count++,a=lc.bind(a),n.then(a,a)),h.state.loading|=4,h.instance=_,J2(_);return}_=n.ownerDocument||n,v=Uu(v),(u=D3.get(u))&&Yi(v,u),_=_.createElement("link"),J2(_);var F=_;F._p=new Promise(function(k,P){F.onload=k,F.onerror=P}),M1(_,"link",v),h.instance=_}a.stylesheets===null&&(a.stylesheets=new Map),a.stylesheets.set(h,n),(n=h.state.preload)&&(h.state.loading&3)===0&&(a.count++,h=lc.bind(a),n.addEventListener("load",h),n.addEventListener("error",h))}}var Xi=0;function sy(a,n){return a.stylesheets&&a.count===0&&ac(a,a.stylesheets),0Xi?50:800)+n);return a.unsuspend=h,function(){a.unsuspend=null,clearTimeout(v),clearTimeout(u)}}:null}function lc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ac(this,this.stylesheets);else if(this.unsuspend){var a=this.unsuspend;this.unsuspend=null,a()}}}var ic=null;function ac(a,n){a.stylesheets=null,a.unsuspend!==null&&(a.count++,ic=new Map,n.forEach(ny,a),ic=null,lc.call(a))}function ny(a,n){if(!(n.state.loading&4)){var h=ic.get(a);if(h)var v=h.get(null);else{h=new Map,ic.set(a,h);for(var u=a.querySelectorAll("link[data-precedence],style[data-precedence]"),_=0;_"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(c){console.error(c)}}return e(),sa.exports=Cy(),sa.exports}var by=xy();const Ey=O7(by);var gm="popstate";function Fy(e={}){function c(i,s){let{pathname:r="/",search:o="",hash:d=""}=M6(i.location.hash.substring(1));return!r.startsWith("/")&&!r.startsWith(".")&&(r="/"+r),gs("",{pathname:r,search:o,hash:d},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function t(i,s){let r=i.document.querySelector("base"),o="";if(r&&r.getAttribute("href")){let d=i.location.href,p=d.indexOf("#");o=p===-1?d:d.slice(0,p)}return o+"#"+(typeof s=="string"?s:_9(s))}function l(i,s){I3(i.pathname.charAt(0)==="/",`relative pathnames are not supported in hash history.push(${JSON.stringify(s)})`)}return Dy(c,t,l,e)}function R0(e,c){if(e===!1||e===null||typeof e>"u")throw new Error(c)}function I3(e,c){if(!e){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function yy(){return Math.random().toString(36).substring(2,10)}function um(e,c){return{usr:e.state,key:e.key,idx:c}}function gs(e,c,t=null,l){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof c=="string"?M6(c):c,state:t,key:c&&c.key||l||yy()}}function _9({pathname:e="/",search:c="",hash:t=""}){return c&&c!=="?"&&(e+=c.charAt(0)==="?"?c:"?"+c),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function M6(e){let c={};if(e){let t=e.indexOf("#");t>=0&&(c.hash=e.substring(t),e=e.substring(0,t));let l=e.indexOf("?");l>=0&&(c.search=e.substring(l),e=e.substring(0,l)),e&&(c.pathname=e)}return c}function Dy(e,c,t,l={}){let{window:i=document.defaultView,v5Compat:s=!1}=l,r=i.history,o="POP",d=null,p=f();p==null&&(p=0,r.replaceState({...r.state,idx:p},""));function f(){return(r.state||{idx:null}).idx}function g(){o="POP";let D=f(),x=D==null?null:D-p;p=D,d&&d({action:o,location:C.location,delta:x})}function m(D,x){o="PUSH";let B=gs(C.location,D,x);t&&t(B,D),p=f()+1;let S=um(B,p),b=C.createHref(B);try{r.pushState(S,"",b)}catch(y){if(y instanceof DOMException&&y.name==="DataCloneError")throw y;i.location.assign(b)}s&&d&&d({action:o,location:C.location,delta:1})}function z(D,x){o="REPLACE";let B=gs(C.location,D,x);t&&t(B,D),p=f();let S=um(B,p),b=C.createHref(B);r.replaceState(S,"",b),s&&d&&d({action:o,location:C.location,delta:0})}function w(D){return Ay(D)}let C={get action(){return o},get location(){return e(i,r)},listen(D){if(d)throw new Error("A history only accepts one active listener");return i.addEventListener(gm,g),d=D,()=>{i.removeEventListener(gm,g),d=null}},createHref(D){return c(i,D)},createURL:w,encodeLocation(D){let x=w(D);return{pathname:x.pathname,search:x.search,hash:x.hash}},push:m,replace:z,go(D){return r.go(D)}};return C}function Ay(e,c=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),R0(t,"No window.location.(origin|href) available to create URL");let l=typeof e=="string"?e:_9(e);return l=l.replace(/ $/,"%20"),!c&&l.startsWith("//")&&(l=t+l),new URL(l,t)}function FM(e,c,t="/"){return Sy(e,c,t,!1)}function Sy(e,c,t,l){let i=typeof c=="string"?M6(c):c,s=Z4(i.pathname||"/",t);if(s==null)return null;let r=yM(e);By(r);let o=null;for(let d=0;o==null&&d{let f={relativePath:p===void 0?r.path||"":p,caseSensitive:r.caseSensitive===!0,childrenIndex:o,route:r};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(l)&&d)return;R0(f.relativePath.startsWith(l),`Absolute route path "${f.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(l.length)}let g=W4([l,f.relativePath]),m=t.concat(f);r.children&&r.children.length>0&&(R0(r.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),yM(r.children,c,m,g,d)),!(r.path==null&&!r.index)&&c.push({path:g,score:Ny(g,r.index),routesMeta:m})};return e.forEach((r,o)=>{if(r.path===""||!r.path?.includes("?"))s(r,o);else for(let d of DM(r.path))s(r,o,!0,d)}),c}function DM(e){let c=e.split("/");if(c.length===0)return[];let[t,...l]=c,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(l.length===0)return i?[s,""]:[s];let r=DM(l.join("/")),o=[];return o.push(...r.map(d=>d===""?s:[s,d].join("/"))),i&&o.push(...r),o.map(d=>e.startsWith("/")&&d===""?"/":d)}function By(e){e.sort((c,t)=>c.score!==t.score?t.score-c.score:Vy(c.routesMeta.map(l=>l.childrenIndex),t.routesMeta.map(l=>l.childrenIndex)))}var ky=/^:[\w-]+$/,Ty=3,Ly=2,Ry=1,Hy=10,Iy=-2,mm=e=>e==="*";function Ny(e,c){let t=e.split("/"),l=t.length;return t.some(mm)&&(l+=Iy),c&&(l+=Ly),t.filter(i=>!mm(i)).reduce((i,s)=>i+(ky.test(s)?Ty:s===""?Ry:Hy),l)}function Vy(e,c){return e.length===c.length&&e.slice(0,-1).every((l,i)=>l===c[i])?e[e.length-1]-c[c.length-1]:0}function Oy(e,c,t=!1){let{routesMeta:l}=e,i={},s="/",r=[];for(let o=0;o{if(f==="*"){let w=o[m]||"";r=s.slice(0,s.length-w.length).replace(/(.)\/+$/,"$1")}const z=o[m];return g&&!z?p[f]=void 0:p[f]=(z||"").replace(/%2F/g,"/"),p},{}),pathname:s,pathnameBase:r,pattern:e}}function Uy(e,c=!1,t=!0){I3(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let l=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(r,o,d)=>(l.push({paramName:o,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(l.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,c?void 0:"i"),l]}function Py(e){try{return e.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return I3(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),e}}function Z4(e,c){if(c==="/")return e;if(!e.toLowerCase().startsWith(c.toLowerCase()))return null;let t=c.endsWith("/")?c.length-1:c.length,l=e.charAt(t);return l&&l!=="/"?null:e.slice(t)||"/"}var AM=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,jy=e=>AM.test(e);function Gy(e,c="/"){let{pathname:t,search:l="",hash:i=""}=typeof e=="string"?M6(e):e,s;if(t)if(jy(t))s=t;else{if(t.includes("//")){let r=t;t=t.replace(/\/\/+/g,"/"),I3(!1,`Pathnames cannot have embedded double slashes - normalizing ${r} -> ${t}`)}t.startsWith("/")?s=_m(t.substring(1),"/"):s=_m(t,c)}else s=c;return{pathname:s,search:Wy(l),hash:Zy(i)}}function _m(e,c){let t=c.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function ha(e,c,t,l){return`Cannot include a '${e}' character in a manually specified \`to.${c}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function qy(e){return e.filter((c,t)=>t===0||c.route.path&&c.route.path.length>0)}function SM(e){let c=qy(e);return c.map((t,l)=>l===c.length-1?t.pathname:t.pathnameBase)}function BM(e,c,t,l=!1){let i;typeof e=="string"?i=M6(e):(i={...e},R0(!i.pathname||!i.pathname.includes("?"),ha("?","pathname","search",i)),R0(!i.pathname||!i.pathname.includes("#"),ha("#","pathname","hash",i)),R0(!i.search||!i.search.includes("#"),ha("#","search","hash",i)));let s=e===""||i.pathname==="",r=s?"/":i.pathname,o;if(r==null)o=t;else{let g=c.length-1;if(!l&&r.startsWith("..")){let m=r.split("/");for(;m[0]==="..";)m.shift(),g-=1;i.pathname=m.join("/")}o=g>=0?c[g]:"/"}let d=Gy(i,o),p=r&&r!=="/"&&r.endsWith("/"),f=(s||r===".")&&t.endsWith("/");return!d.pathname.endsWith("/")&&(p||f)&&(d.pathname+="/"),d}var W4=e=>e.join("/").replace(/\/\/+/g,"/"),$y=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Wy=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Zy=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Yy=class{constructor(e,c,t,l=!1){this.status=e,this.statusText=c||"",this.internal=l,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function Ky(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Xy(e){return e.map(c=>c.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var kM=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function TM(e,c){let t=e;if(typeof t!="string"||!AM.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let l=t,i=!1;if(kM)try{let s=new URL(window.location.href),r=t.startsWith("//")?new URL(s.protocol+t):new URL(t),o=Z4(r.pathname,c);r.origin===s.origin&&o!=null?t=o+r.search+r.hash:i=!0}catch{I3(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:l,isExternal:i,to:t}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var LM=["POST","PUT","PATCH","DELETE"];new Set(LM);var Qy=["GET",...LM];new Set(Qy);var U7=A.createContext(null);U7.displayName="DataRouter";var zt=A.createContext(null);zt.displayName="DataRouterState";var Jy=A.createContext(!1),RM=A.createContext({isTransitioning:!1});RM.displayName="ViewTransition";var eD=A.createContext(new Map);eD.displayName="Fetchers";var cD=A.createContext(null);cD.displayName="Await";var N3=A.createContext(null);N3.displayName="Navigation";var H9=A.createContext(null);H9.displayName="Location";var K4=A.createContext({outlet:null,matches:[],isDataRoute:!1});K4.displayName="Route";var gn=A.createContext(null);gn.displayName="RouteError";var HM="REACT_ROUTER_ERROR",tD="REDIRECT",lD="ROUTE_ERROR_RESPONSE";function iD(e){if(e.startsWith(`${HM}:${tD}:{`))try{let c=JSON.parse(e.slice(28));if(typeof c=="object"&&c&&typeof c.status=="number"&&typeof c.statusText=="string"&&typeof c.location=="string"&&typeof c.reloadDocument=="boolean"&&typeof c.replace=="boolean")return c}catch{}}function aD(e){if(e.startsWith(`${HM}:${lD}:{`))try{let c=JSON.parse(e.slice(40));if(typeof c=="object"&&c&&typeof c.status=="number"&&typeof c.statusText=="string")return new Yy(c.status,c.statusText,c.data)}catch{}}function sD(e,{relative:c}={}){R0(I9(),"useHref() may be used only in the context of a component.");let{basename:t,navigator:l}=A.useContext(N3),{hash:i,pathname:s,search:r}=V9(e,{relative:c}),o=s;return t!=="/"&&(o=s==="/"?t:W4([t,s])),l.createHref({pathname:o,search:r,hash:i})}function I9(){return A.useContext(H9)!=null}function X4(){return R0(I9(),"useLocation() may be used only in the context of a component."),A.useContext(H9).location}var IM="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function NM(e){A.useContext(N3).static||A.useLayoutEffect(e)}function N9(){let{isDataRoute:e}=A.useContext(K4);return e?zD():nD()}function nD(){R0(I9(),"useNavigate() may be used only in the context of a component.");let e=A.useContext(U7),{basename:c,navigator:t}=A.useContext(N3),{matches:l}=A.useContext(K4),{pathname:i}=X4(),s=JSON.stringify(SM(l)),r=A.useRef(!1);return NM(()=>{r.current=!0}),A.useCallback((d,p={})=>{if(I3(r.current,IM),!r.current)return;if(typeof d=="number"){t.go(d);return}let f=BM(d,JSON.parse(s),i,p.relative==="path");e==null&&c!=="/"&&(f.pathname=f.pathname==="/"?c:W4([c,f.pathname])),(p.replace?t.replace:t.push)(f,p.state,p)},[c,t,s,i,e])}A.createContext(null);function V9(e,{relative:c}={}){let{matches:t}=A.useContext(K4),{pathname:l}=X4(),i=JSON.stringify(SM(t));return A.useMemo(()=>BM(e,JSON.parse(i),l,c==="path"),[e,i,l,c])}function rD(e,c){return VM(e,c)}function VM(e,c,t,l,i){R0(I9(),"useRoutes() may be used only in the context of a component.");let{navigator:s}=A.useContext(N3),{matches:r}=A.useContext(K4),o=r[r.length-1],d=o?o.params:{},p=o?o.pathname:"/",f=o?o.pathnameBase:"/",g=o&&o.route;{let B=g&&g.path||"";UM(p,!g||B.endsWith("*")||B.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${p}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let m=X4(),z;if(c){let B=typeof c=="string"?M6(c):c;R0(f==="/"||B.pathname?.startsWith(f),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${B.pathname}" was given in the \`location\` prop.`),z=B}else z=m;let w=z.pathname||"/",C=w;if(f!=="/"){let B=f.replace(/^\//,"").split("/");C="/"+w.replace(/^\//,"").split("/").slice(B.length).join("/")}let D=FM(e,{pathname:C});I3(g||D!=null,`No routes matched location "${z.pathname}${z.search}${z.hash}" `),I3(D==null||D[D.length-1].route.element!==void 0||D[D.length-1].route.Component!==void 0||D[D.length-1].route.lazy!==void 0,`Matched leaf route at location "${z.pathname}${z.search}${z.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let x=vD(D&&D.map(B=>Object.assign({},B,{params:Object.assign({},d,B.params),pathname:W4([f,s.encodeLocation?s.encodeLocation(B.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:B.pathname]),pathnameBase:B.pathnameBase==="/"?f:W4([f,s.encodeLocation?s.encodeLocation(B.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:B.pathnameBase])})),r,t,l,i);return c&&x?A.createElement(H9.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...z},navigationType:"POP"}},x):x}function oD(){let e=_D(),c=Ky(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,l="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:l},s={padding:"2px 4px",backgroundColor:l},r=null;return console.error("Error handled by React Router default ErrorBoundary:",e),r=A.createElement(A.Fragment,null,A.createElement("p",null,"💿 Hey developer 👋"),A.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",A.createElement("code",{style:s},"ErrorBoundary")," or"," ",A.createElement("code",{style:s},"errorElement")," prop on your route.")),A.createElement(A.Fragment,null,A.createElement("h2",null,"Unexpected Application Error!"),A.createElement("h3",{style:{fontStyle:"italic"}},c),t?A.createElement("pre",{style:i},t):null,r)}var hD=A.createElement(oD,null),OM=class extends A.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,c){return c.location!==e.location||c.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:c.error,location:c.location,revalidation:e.revalidation||c.revalidation}}componentDidCatch(e,c){this.props.onError?this.props.onError(e,c):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const t=aD(e.digest);t&&(e=t)}let c=e!==void 0?A.createElement(K4.Provider,{value:this.props.routeContext},A.createElement(gn.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?A.createElement(dD,{error:e},c):c}};OM.contextType=Jy;var da=new WeakMap;function dD({children:e,error:c}){let{basename:t}=A.useContext(N3);if(typeof c=="object"&&c&&"digest"in c&&typeof c.digest=="string"){let l=iD(c.digest);if(l){let i=da.get(c);if(i)throw i;let s=TM(l.location,t);if(kM&&!da.get(c))if(s.isExternal||l.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const r=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:l.replace}));throw da.set(c,r),r}return A.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return e}function pD({routeContext:e,match:c,children:t}){let l=A.useContext(U7);return l&&l.static&&l.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=c.route.id),A.createElement(K4.Provider,{value:e},t)}function vD(e,c=[],t=null,l=null,i=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(c.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let s=e,r=t?.errors;if(r!=null){let f=s.findIndex(g=>g.route.id&&r?.[g.route.id]!==void 0);R0(f>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(r).join(",")}`),s=s.slice(0,Math.min(s.length,f+1))}let o=!1,d=-1;if(t)for(let f=0;f=0?s=s.slice(0,d+1):s=[s[0]];break}}}let p=t&&l?(f,g)=>{l(f,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:Xy(t.matches),errorInfo:g})}:void 0;return s.reduceRight((f,g,m)=>{let z,w=!1,C=null,D=null;t&&(z=r&&g.route.id?r[g.route.id]:void 0,C=g.route.errorElement||hD,o&&(d<0&&m===0?(UM("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),w=!0,D=null):d===m&&(w=!0,D=g.route.hydrateFallbackElement||null)));let x=c.concat(s.slice(0,m+1)),B=()=>{let S;return z?S=C:w?S=D:g.route.Component?S=A.createElement(g.route.Component,null):g.route.element?S=g.route.element:S=f,A.createElement(pD,{match:g,routeContext:{outlet:f,matches:x,isDataRoute:t!=null},children:S})};return t&&(g.route.ErrorBoundary||g.route.errorElement||m===0)?A.createElement(OM,{location:t.location,revalidation:t.revalidation,component:C,error:z,children:B(),routeContext:{outlet:null,matches:x,isDataRoute:!0},onError:p}):B()},null)}function un(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function fD(e){let c=A.useContext(U7);return R0(c,un(e)),c}function gD(e){let c=A.useContext(zt);return R0(c,un(e)),c}function uD(e){let c=A.useContext(K4);return R0(c,un(e)),c}function mn(e){let c=uD(e),t=c.matches[c.matches.length-1];return R0(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function mD(){return mn("useRouteId")}function _D(){let e=A.useContext(gn),c=gD("useRouteError"),t=mn("useRouteError");return e!==void 0?e:c.errors?.[t]}function zD(){let{router:e}=fD("useNavigate"),c=mn("useNavigate"),t=A.useRef(!1);return NM(()=>{t.current=!0}),A.useCallback(async(i,s={})=>{I3(t.current,IM),t.current&&(typeof i=="number"?await e.navigate(i):await e.navigate(i,{fromRouteId:c,...s}))},[e,c])}var zm={};function UM(e,c,t){!c&&!zm[e]&&(zm[e]=!0,I3(!1,t))}A.memo(MD);function MD({routes:e,future:c,state:t,onError:l}){return VM(e,void 0,t,l,c)}function Sc(e){R0(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function wD({basename:e="/",children:c=null,location:t,navigationType:l="POP",navigator:i,static:s=!1,unstable_useTransitions:r}){R0(!I9(),"You cannot render a inside another . You should never have more than one in your app.");let o=e.replace(/^\/*/,"/"),d=A.useMemo(()=>({basename:o,navigator:i,static:s,unstable_useTransitions:r,future:{}}),[o,i,s,r]);typeof t=="string"&&(t=M6(t));let{pathname:p="/",search:f="",hash:g="",state:m=null,key:z="default"}=t,w=A.useMemo(()=>{let C=Z4(p,o);return C==null?null:{location:{pathname:C,search:f,hash:g,state:m,key:z},navigationType:l}},[o,p,f,g,m,z,l]);return I3(w!=null,` is not able to match the URL "${p}${f}${g}" because it does not start with the basename, so the won't render anything.`),w==null?null:A.createElement(N3.Provider,{value:d},A.createElement(H9.Provider,{children:c,value:w}))}function CD({children:e,location:c}){return rD(us(e),c)}function us(e,c=[]){let t=[];return A.Children.forEach(e,(l,i)=>{if(!A.isValidElement(l))return;let s=[...c,i];if(l.type===A.Fragment){t.push.apply(t,us(l.props.children,s));return}R0(l.type===Sc,`[${typeof l.type=="string"?l.type:l.type.name}] is not a component. All component children of must be a or `),R0(!l.props.index||!l.props.children,"An index route cannot have child routes.");let r={id:l.props.id||s.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(r.children=us(l.props.children,s)),t.push(r)}),t}var Bc="get",kc="application/x-www-form-urlencoded";function Mt(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function xD(e){return Mt(e)&&e.tagName.toLowerCase()==="button"}function bD(e){return Mt(e)&&e.tagName.toLowerCase()==="form"}function ED(e){return Mt(e)&&e.tagName.toLowerCase()==="input"}function FD(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function yD(e,c){return e.button===0&&(!c||c==="_self")&&!FD(e)}var vc=null;function DD(){if(vc===null)try{new FormData(document.createElement("form"),0),vc=!1}catch{vc=!0}return vc}var AD=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function pa(e){return e!=null&&!AD.has(e)?(I3(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${kc}"`),null):e}function SD(e,c){let t,l,i,s,r;if(bD(e)){let o=e.getAttribute("action");l=o?Z4(o,c):null,t=e.getAttribute("method")||Bc,i=pa(e.getAttribute("enctype"))||kc,s=new FormData(e)}else if(xD(e)||ED(e)&&(e.type==="submit"||e.type==="image")){let o=e.form;if(o==null)throw new Error('Cannot submit a