@claude-sessions/web 0.3.4 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -0
- package/build/client/_app/immutable/assets/0.DYXbBCWs.css +1 -0
- package/build/client/_app/immutable/assets/0.DYXbBCWs.css.br +0 -0
- package/build/client/_app/immutable/assets/0.DYXbBCWs.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{CXOnRY8x.js → BdX-57is.js} +1 -1
- package/build/client/_app/immutable/chunks/BdX-57is.js.br +0 -0
- package/build/client/_app/immutable/chunks/BdX-57is.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BsiXkKmR.js +1 -0
- package/build/client/_app/immutable/chunks/BsiXkKmR.js.br +0 -0
- package/build/client/_app/immutable/chunks/BsiXkKmR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C68Ru4Jq.js +90 -0
- package/build/client/_app/immutable/chunks/C68Ru4Jq.js.br +0 -0
- package/build/client/_app/immutable/chunks/C68Ru4Jq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B8FrDj8m.js → HaThayHP.js} +1 -1
- package/build/client/_app/immutable/chunks/HaThayHP.js.br +0 -0
- package/build/client/_app/immutable/chunks/HaThayHP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/fuY-CvTV.js +1 -0
- package/build/client/_app/immutable/chunks/fuY-CvTV.js.br +0 -0
- package/build/client/_app/immutable/chunks/fuY-CvTV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/nUq5tIUU.js +2 -0
- package/build/client/_app/immutable/chunks/nUq5tIUU.js.br +0 -0
- package/build/client/_app/immutable/chunks/nUq5tIUU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pOdkXMWy.js +1 -0
- package/build/client/_app/immutable/chunks/pOdkXMWy.js.br +0 -0
- package/build/client/_app/immutable/chunks/pOdkXMWy.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.qHc_uqht.js +2 -0
- package/build/client/_app/immutable/entry/app.qHc_uqht.js.br +0 -0
- package/build/client/_app/immutable/entry/app.qHc_uqht.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CMr0TC12.js +1 -0
- package/build/client/_app/immutable/entry/start.CMr0TC12.js.br +2 -0
- package/build/client/_app/immutable/entry/start.CMr0TC12.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BJ_w-1Nt.js +1 -0
- package/build/client/_app/immutable/nodes/0.BJ_w-1Nt.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BJ_w-1Nt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1._FRxD68P.js +1 -0
- package/build/client/_app/immutable/nodes/1._FRxD68P.js.br +0 -0
- package/build/client/_app/immutable/nodes/1._FRxD68P.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.MZuWFdHT.js +4 -0
- package/build/client/_app/immutable/nodes/2.MZuWFdHT.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.MZuWFdHT.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B_st5yrl.js +4 -0
- package/build/client/_app/immutable/nodes/3.B_st5yrl.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B_st5yrl.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-48UfwAoW.js +17 -0
- package/build/server/chunks/{0-Bz7vAUYh.js.map → 0-48UfwAoW.js.map} +1 -1
- package/build/server/chunks/1-iKu9xlG-.js +9 -0
- package/build/server/chunks/{1-Dpd0kp2f.js.map → 1-iKu9xlG-.js.map} +1 -1
- package/build/server/chunks/2-BnOskmnU.js +9 -0
- package/build/server/chunks/{2-CH9DzrUp.js.map → 2-BnOskmnU.js.map} +1 -1
- package/build/server/chunks/3-CxYJayeh.js +9 -0
- package/build/server/chunks/{3-p3bGcXaZ.js.map → 3-CxYJayeh.js.map} +1 -1
- package/build/server/chunks/{InputModal-CzUvurky.js → InputModal-XaplAR5y.js} +3 -3
- package/build/server/chunks/{InputModal-CzUvurky.js.map → InputModal-XaplAR5y.js.map} +1 -1
- package/build/server/chunks/{Toast-BzlMSW2A.js → Toast-DctHqvip.js} +3 -3
- package/build/server/chunks/{Toast-BzlMSW2A.js.map → Toast-DctHqvip.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-Dr7pTiAq.js → _layout.svelte-gA6iNIQM.js} +6 -6
- package/build/server/chunks/{_layout.svelte-Dr7pTiAq.js.map → _layout.svelte-gA6iNIQM.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-D8oP1bKp.js → _page.svelte-CTdF2hwa.js} +7 -7
- package/build/server/chunks/{_page.svelte-D8oP1bKp.js.map → _page.svelte-CTdF2hwa.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-OvxQOUCZ.js → _page.svelte-g3nbsvo6.js} +123 -33
- package/build/server/chunks/_page.svelte-g3nbsvo6.js.map +1 -0
- package/build/server/chunks/{_server.ts-BGkiZqyw.js → _server.ts-CDkvpI_I.js} +2 -2
- package/build/server/chunks/{_server.ts-BGkiZqyw.js.map → _server.ts-CDkvpI_I.js.map} +1 -1
- package/build/server/chunks/{error.svelte-DNhMU_b6.js → error.svelte-C43AeaaJ.js} +4 -4
- package/build/server/chunks/{error.svelte-DNhMU_b6.js.map → error.svelte-C43AeaaJ.js.map} +1 -1
- package/build/server/chunks/{exports-CgQJUv15.js → exports-BXvEiaiv.js} +6 -6
- package/build/server/chunks/exports-BXvEiaiv.js.map +1 -0
- package/build/server/chunks/index-CoD1IJuy.js.map +1 -1
- package/build/server/chunks/{index-CMS8WiSi.js → index-DzYX9r1_.js} +4 -4
- package/build/server/chunks/index-DzYX9r1_.js.map +1 -0
- package/build/server/chunks/{index2-gtN4acH3.js → index2-Da0doXJY.js} +2 -2
- package/build/server/chunks/{index2-gtN4acH3.js.map → index2-Da0doXJY.js.map} +1 -1
- package/build/server/chunks/{index4-Cm9gf6zG.js → index4-BUZEWk-I.js} +3 -3
- package/build/server/chunks/{index4-Cm9gf6zG.js.map → index4-BUZEWk-I.js.map} +1 -1
- package/build/server/index.js +5 -11
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +6 -6
- package/build/server/manifest.js.map +1 -1
- package/package.json +24 -11
- package/build/client/_app/immutable/assets/0.012AOslr.css +0 -1
- package/build/client/_app/immutable/assets/0.012AOslr.css.br +0 -0
- package/build/client/_app/immutable/assets/0.012AOslr.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B8FrDj8m.js.br +0 -0
- package/build/client/_app/immutable/chunks/B8FrDj8m.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXOnRY8x.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXOnRY8x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C_89ThaI.js +0 -90
- package/build/client/_app/immutable/chunks/C_89ThaI.js.br +0 -0
- package/build/client/_app/immutable/chunks/C_89ThaI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CbJths_J.js +0 -1
- package/build/client/_app/immutable/chunks/CbJths_J.js.br +0 -0
- package/build/client/_app/immutable/chunks/CbJths_J.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cyo3OVYg.js +0 -2
- package/build/client/_app/immutable/chunks/Cyo3OVYg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cyo3OVYg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dfkti507.js +0 -1
- package/build/client/_app/immutable/chunks/Dfkti507.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dfkti507.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dz2P4HIo.js +0 -1
- package/build/client/_app/immutable/chunks/Dz2P4HIo.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dz2P4HIo.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DQ0sG0qQ.js +0 -2
- package/build/client/_app/immutable/entry/app.DQ0sG0qQ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DQ0sG0qQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BF7HJ4fZ.js +0 -1
- package/build/client/_app/immutable/entry/start.BF7HJ4fZ.js.br +0 -2
- package/build/client/_app/immutable/entry/start.BF7HJ4fZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.B2tjwvIL.js +0 -1
- package/build/client/_app/immutable/nodes/0.B2tjwvIL.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.B2tjwvIL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BcsF7AIE.js +0 -1
- package/build/client/_app/immutable/nodes/1.BcsF7AIE.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BcsF7AIE.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BOGTlhJ8.js +0 -4
- package/build/client/_app/immutable/nodes/2.BOGTlhJ8.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BOGTlhJ8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.B6_hPOud.js +0 -4
- package/build/client/_app/immutable/nodes/3.B6_hPOud.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.B6_hPOud.js.gz +0 -0
- package/build/server/chunks/0-Bz7vAUYh.js +0 -17
- package/build/server/chunks/1-Dpd0kp2f.js +0 -9
- package/build/server/chunks/2-CH9DzrUp.js +0 -9
- package/build/server/chunks/3-p3bGcXaZ.js +0 -9
- package/build/server/chunks/_page.svelte-OvxQOUCZ.js.map +0 -1
- package/build/server/chunks/exports-CgQJUv15.js.map +0 -1
- package/build/server/chunks/index-CMS8WiSi.js.map +0 -1
- package/readme.md +0 -47
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# @claude-sessions/web
|
|
2
|
+
|
|
3
|
+
Web UI for managing Claude Code sessions.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Start web server (default port 5173)
|
|
9
|
+
npx @claude-sessions/web
|
|
10
|
+
|
|
11
|
+
# Custom port
|
|
12
|
+
npx @claude-sessions/web --port 8080
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Open http://localhost:5173 in your browser.
|
|
16
|
+
|
|
17
|
+
## Screenshot
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- **Project Browser**: View all Claude Code projects with session counts
|
|
24
|
+
- **Session Management**: Rename, delete, and split sessions
|
|
25
|
+
- **Message Viewer**: Browse messages with syntax highlighting
|
|
26
|
+
- **Cleanup**: Remove empty sessions and invalid API key messages
|
|
27
|
+
- **File Tracking**: View files changed during a session
|
|
28
|
+
|
|
29
|
+
## API Endpoints
|
|
30
|
+
|
|
31
|
+
| Endpoint | Method | Description |
|
|
32
|
+
| --------------------------- | -------- | ------------------------------- |
|
|
33
|
+
| `/api/projects` | GET | List all projects |
|
|
34
|
+
| `/api/sessions?project=` | GET | List sessions in project |
|
|
35
|
+
| `/api/session?project=&id=` | GET | Get session details |
|
|
36
|
+
| `/api/session/rename` | POST | Rename a session |
|
|
37
|
+
| `/api/session/move` | POST | Move session to another project |
|
|
38
|
+
| `/api/session/split` | POST | Split session at message |
|
|
39
|
+
| `/api/session/files` | GET | Get files changed in session |
|
|
40
|
+
| `/api/message` | DELETE | Delete a message |
|
|
41
|
+
| `/api/cleanup` | GET/POST | Preview/execute cleanup |
|
|
42
|
+
|
|
43
|
+
## Tech Stack
|
|
44
|
+
|
|
45
|
+
- SvelteKit + Svelte 5
|
|
46
|
+
- TailwindCSS
|
|
47
|
+
- @claude-sessions/core
|
|
48
|
+
|
|
49
|
+
## License
|
|
50
|
+
|
|
51
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-900:oklch(42.1% .095 57.708);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-900:oklch(38.1% .176 304.987);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gh-bg:#0d1117;--color-gh-bg-secondary:#161b22;--color-gh-border:#30363d;--color-gh-border-subtle:#21262d;--color-gh-text:#c9d1d9;--color-gh-text-secondary:#8b949e;--color-gh-accent:#1f6feb;--color-gh-green:#238636;--color-gh-red:#f85149}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-8{margin-inline:calc(var(--spacing)*8)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-6{margin-left:calc(var(--spacing)*6)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-\[calc\(100vh-32px\)\]{height:calc(100vh - 32px)}.h-\[calc\(100vh-120px\)\]{height:calc(100vh - 120px)}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:calc(var(--spacing)*80)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-\[380px\]{width:380px}.w-\[400px\]{width:400px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[120px\]{max-width:120px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[200px\]{min-width:200px}.min-w-\[340px\]{min-width:340px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.grid-cols-\[350px_1fr\]{grid-template-columns:350px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-3{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-gh-accent{border-color:var(--color-gh-accent)}.border-gh-border{border-color:var(--color-gh-border)}.border-gh-border-subtle{border-color:var(--color-gh-border-subtle)}.border-gh-red{border-color:var(--color-gh-red)}.border-neutral-600{border-color:var(--color-neutral-600)}.border-l-amber-500{border-left-color:var(--color-amber-500)}.border-l-cyan-500{border-left-color:var(--color-cyan-500)}.border-l-gh-accent{border-left-color:var(--color-gh-accent)}.border-l-gh-green{border-left-color:var(--color-gh-green)}.border-l-purple-500{border-left-color:var(--color-purple-500)}.border-l-violet-500{border-left-color:var(--color-violet-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-gh-accent{background-color:var(--color-gh-accent)}.bg-gh-accent\/10{background-color:#1f6feb1a}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/10{background-color:color-mix(in oklab,var(--color-gh-accent)10%,transparent)}}.bg-gh-accent\/15{background-color:#1f6feb26}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/15{background-color:color-mix(in oklab,var(--color-gh-accent)15%,transparent)}}.bg-gh-accent\/20{background-color:#1f6feb33}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/20{background-color:color-mix(in oklab,var(--color-gh-accent)20%,transparent)}}.bg-gh-accent\/90{background-color:#1f6febe6}@supports (color:color-mix(in lab,red,red)){.bg-gh-accent\/90{background-color:color-mix(in oklab,var(--color-gh-accent)90%,transparent)}}.bg-gh-bg{background-color:var(--color-gh-bg)}.bg-gh-bg-secondary{background-color:var(--color-gh-bg-secondary)}.bg-gh-bg-secondary\/50{background-color:#161b2280}@supports (color:color-mix(in lab,red,red)){.bg-gh-bg-secondary\/50{background-color:color-mix(in oklab,var(--color-gh-bg-secondary)50%,transparent)}}.bg-gh-border{background-color:var(--color-gh-border)}.bg-gh-border-subtle{background-color:var(--color-gh-border-subtle)}.bg-gh-green{background-color:var(--color-gh-green)}.bg-gh-green\/15{background-color:#23863626}@supports (color:color-mix(in lab,red,red)){.bg-gh-green\/15{background-color:color-mix(in oklab,var(--color-gh-green)15%,transparent)}}.bg-gh-green\/20{background-color:#23863633}@supports (color:color-mix(in lab,red,red)){.bg-gh-green\/20{background-color:color-mix(in oklab,var(--color-gh-green)20%,transparent)}}.bg-gh-green\/90{background-color:#238636e6}@supports (color:color-mix(in lab,red,red)){.bg-gh-green\/90{background-color:color-mix(in oklab,var(--color-gh-green)90%,transparent)}}.bg-gh-red{background-color:var(--color-gh-red)}.bg-gh-red\/90{background-color:#f85149e6}@supports (color:color-mix(in lab,red,red)){.bg-gh-red\/90{background-color:color-mix(in oklab,var(--color-gh-red)90%,transparent)}}.bg-neutral-500\/20{background-color:#73737333}@supports (color:color-mix(in lab,red,red)){.bg-neutral-500\/20{background-color:color-mix(in oklab,var(--color-neutral-500)20%,transparent)}}.bg-purple-500\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/15{background-color:color-mix(in oklab,var(--color-purple-500)15%,transparent)}}.bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab,red,red)){.bg-violet-500\/10{background-color:color-mix(in oklab,var(--color-violet-500)10%,transparent)}}.bg-yellow-600\/90{background-color:#cd8900e6}@supports (color:color-mix(in lab,red,red)){.bg-yellow-600\/90{background-color:color-mix(in oklab,var(--color-yellow-600)90%,transparent)}}.bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-from:#112441}@supports (color:color-mix(in lab,red,red)){.from-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-from:color-mix(in srgb,var(--color-gh-accent)20%,var(--color-gh-bg))}}.from-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gh-bg{--tw-gradient-from:var(--color-gh-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-via:#112441}@supports (color:color-mix(in lab,red,red)){.via-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-via:color-mix(in srgb,var(--color-gh-accent)20%,var(--color-gh-bg))}}.via-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-gh-bg{--tw-gradient-via:var(--color-gh-bg);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-to:#112441}@supports (color:color-mix(in lab,red,red)){.to-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-to:color-mix(in srgb,var(--color-gh-accent)20%,var(--color-gh-bg))}}.to-\[color-mix\(in_srgb\,var\(--color-gh-accent\)_20\%\,var\(--color-gh-bg\)\)\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gh-bg{--tw-gradient-to:var(--color-gh-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-7{padding-left:calc(var(--spacing)*7)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-cyan-400{color:var(--color-cyan-400)}.text-gh-accent{color:var(--color-gh-accent)}.text-gh-green{color:var(--color-gh-green)}.text-gh-red{color:var(--color-gh-red)}.text-gh-text{color:var(--color-gh-text)}.text-gh-text-secondary{color:var(--color-gh-text-secondary)}.text-gh-text-secondary\/70{color:#8b949eb3}@supports (color:color-mix(in lab,red,red)){.text-gh-text-secondary\/70{color:color-mix(in oklab,var(--color-gh-text-secondary)70%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-violet-400{color:var(--color-violet-400)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gh-green{--tw-ring-color:var(--color-gh-green)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:hidden:is(:where(.group):hover *){display:none}.group-hover\:inline:is(:where(.group):hover *){display:inline}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-gh-text-secondary:hover{border-color:var(--color-gh-text-secondary)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gh-accent\/20:hover{background-color:#1f6feb33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-accent\/20:hover{background-color:color-mix(in oklab,var(--color-gh-accent)20%,transparent)}}.hover\:bg-gh-border:hover{background-color:var(--color-gh-border)}.hover\:bg-gh-border-subtle:hover{background-color:var(--color-gh-border-subtle)}.hover\:bg-gh-border-subtle\/50:hover{background-color:#21262d80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-border-subtle\/50:hover{background-color:color-mix(in oklab,var(--color-gh-border-subtle)50%,transparent)}}.hover\:bg-gh-green\/20:hover{background-color:#23863633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-green\/20:hover{background-color:color-mix(in oklab,var(--color-gh-green)20%,transparent)}}.hover\:bg-gh-red\/20:hover{background-color:#f8514933}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gh-red\/20:hover{background-color:color-mix(in oklab,var(--color-gh-red)20%,transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:text-gh-accent:hover{color:var(--color-gh-accent)}.hover\:text-gh-text:hover{color:var(--color-gh-text)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-gh-accent:focus{border-color:var(--color-gh-accent)}.focus\:ring-gh-green:focus{--tw-ring-color:var(--color-gh-green)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:inline{display:inline}}@media(min-width:48rem){.md\:hidden{display:none}.md\:inline{display:inline}}}.message-content{word-break:break-word}.message-content p{margin:.5em 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content code{background:var(--color-gh-border-subtle);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.message-content pre{background:var(--color-gh-bg);border:1px solid var(--color-gh-border);border-radius:6px;margin:.75em 0;padding:1em;overflow-x:auto}.message-content pre code{background:0 0;border-radius:0;padding:0}.message-content ul,.message-content ol{margin:.5em 0;padding-left:1.5em}.message-content li{margin:.25em 0}.message-content blockquote{border-left:3px solid var(--color-gh-border);color:var(--color-gh-text-secondary);margin:.5em 0;padding-left:1em}.message-content a{color:var(--color-gh-accent);text-decoration:none}.message-content a:hover{text-decoration:underline}.message-content strong{font-weight:600}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:.75em 0 .5em;font-weight:600}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content hr{border:none;border-top:1px solid var(--color-gh-border);margin:1em 0}.message-content table{border-collapse:collapse;width:100%;margin:.5em 0}.message-content th,.message-content td{border:1px solid var(--color-gh-border);padding:.5em}.message-content th{background:var(--color-gh-bg-secondary);font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e,p as r}from"./
|
|
1
|
+
import{s as e,p as r}from"./BsiXkKmR.js";const t={get error(){return r.error},get params(){return r.params},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bd as ke,o as Ne,s as A,g as T,e as I,ag as Z,bg as ht}from"./fuY-CvTV.js";class Ee{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Se{constructor(t,n){this.status=t,this.location=n}}class Re extends Error{constructor(t,n,a){super(a),this.status=t,this.text=n}}new URL("sveltekit-internal://");function pt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function gt(e){return e.split("%25").map(decodeURI).join("%25")}function _t(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function he({href:e}){return e.split("#")[0]}function mt(...e){let t=5381;for(const n of e)if(typeof n=="string"){let a=n.length;for(;a;)t=t*33^n.charCodeAt(--a)}else if(ArrayBuffer.isView(n)){const a=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let r=a.length;for(;r;)t=t*33^a[--r]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;new TextDecoder;function wt(e){const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}const vt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&F.delete(xe(e)),vt(e,t));const F=new Map;function yt(e,t){const n=xe(e,t),a=document.querySelector(n);if(a?.textContent){a.remove();let{body:r,...s}=JSON.parse(a.textContent);const o=a.getAttribute("data-ttl");return o&&F.set(n,{body:r,init:s,ttl:1e3*Number(o)}),a.getAttribute("data-b64")!==null&&(r=wt(r)),Promise.resolve(new Response(r,s))}return window.fetch(e,t)}function bt(e,t,n){if(F.size>0){const a=xe(e,n),r=F.get(a);if(r){if(performance.now()<r.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(r.body,r.init);F.delete(a)}}return window.fetch(t,n)}function xe(e,t){let a=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const r=[];t.headers&&r.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&r.push(t.body),a+=`[data-hash="${mt(...r)}"]`}return a}const kt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Et(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Rt(e).map(a=>{const r=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(r)return t.push({name:r[1],matcher:r[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const o=a.split(/\[(.+?)\](?!\])/);return"/"+o.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return pe(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return pe(String.fromCharCode(...c.slice(2).split("-").map(m=>parseInt(m,16))));const f=kt.exec(c),[,h,w,u,g]=f;return t.push({name:u,matcher:g,optional:!!h,rest:!!w,chained:w?l===1&&o[0]==="":!1}),w?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return pe(c)}).join("")}).join("")}/?$`),params:t}}function St(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Rt(e){return e.slice(1).split("/").filter(St)}function xt(e,t,n){const a={},r=e.slice(1),s=r.filter(i=>i!==void 0);let o=0;for(let i=0;i<t.length;i+=1){const c=t[i];let l=r[i-o];if(c.chained&&c.rest&&o&&(l=r.slice(i-o,i+1).filter(f=>f).join("/"),o=0),l===void 0){c.rest&&(a[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){a[c.name]=l;const f=t[i+1],h=r[i+1];f&&!f.rest&&f.optional&&h&&c.chained&&(o=0),!f&&!h&&Object.keys(a).length===s.length&&(o=0);continue}if(c.optional&&c.chained){o++;continue}return}if(!o)return a}function pe(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Lt({nodes:e,server_loads:t,dictionary:n,matchers:a}){const r=new Set(t);return Object.entries(n).map(([i,[c,l,f]])=>{const{pattern:h,params:w}=Et(i),u={id:i,exec:g=>{const m=h.exec(g);if(m)return xt(m,w,a)},errors:[1,...f||[]].map(g=>e[g]),layouts:[0,...l||[]].map(o),leaf:s(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function s(i){const c=i<0;return c&&(i=~i),[c,e[i]]}function o(i){return i===void 0?i:[r.has(i),e[i]]}}function Ge(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function De(e,t,n=JSON.stringify){const a=n(t);try{sessionStorage[e]=a}catch{}}const x=globalThis.__sveltekit_1buh1bk?.base??"",Ut=globalThis.__sveltekit_1buh1bk?.assets??x??"",At="1768137898450",We="sveltekit:snapshot",Ye="sveltekit:scroll",ze="sveltekit:states",Tt="sveltekit:pageurl",B="sveltekit:history",W="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ce=location.origin;function Le(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function le(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const qe={...j,"":j.hover};function He(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Je(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=He(e)}}function me(e,t,n){let a;try{if(a=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&a.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";a.hash=`#${i}${a.hash}`}}catch{}const r=e instanceof SVGAElement?e.target.baseVal:e.target,s=!a||!!r||ue(a,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=a?.origin===ce&&e.hasAttribute("download");return{url:a,external:s,target:r,download:o}}function ee(e){let t=null,n=null,a=null,r=null,s=null,o=null,i=e;for(;i&&i!==document.documentElement;)a===null&&(a=V(i,"preload-code")),r===null&&(r=V(i,"preload-data")),t===null&&(t=V(i,"keepfocus")),n===null&&(n=V(i,"noscroll")),s===null&&(s=V(i,"reload")),o===null&&(o=V(i,"replacestate")),i=He(i);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:qe[a??"off"],preload_data:qe[r??"off"],keepfocus:c(t),noscroll:c(n),reload:c(s),replace_state:c(o)}}function Ve(e){const t=ke(e);let n=!0;function a(){n=!0,t.update(o=>o)}function r(o){n=!1,t.set(o)}function s(o){let i;return t.subscribe(c=>{(i===void 0||n&&c!==i)&&o(i=c)})}return{notify:a,set:r,subscribe:s}}const Xe={v:()=>{}};function It(){const{set:e,subscribe:t}=ke(!1);let n;async function a(){clearTimeout(n);try{const r=await fetch(`${Ut}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const o=(await r.json()).version!==At;return o&&(e(!0),Xe.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:a}}function ue(e,t,n){return e.origin!==ce||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function an(e){}const Qe=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Qe];const Ot=new Set([...Qe]);[...Ot];function Pt(e){return e.filter(t=>t!=null)}function Ue(e){return e instanceof Ee||e instanceof Re?e.status:500}function Ct(e){return e instanceof Re?e.text:"Internal Error"}let k,Y,ge;const $t=Ne.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ne.toString());$t?(k={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Y={current:null},ge={current:!1}):(k=new class{#e=A({});get data(){return T(this.#e)}set data(t){I(this.#e,t)}#t=A(null);get form(){return T(this.#t)}set form(t){I(this.#t,t)}#n=A(null);get error(){return T(this.#n)}set error(t){I(this.#n,t)}#a=A({});get params(){return T(this.#a)}set params(t){I(this.#a,t)}#r=A({id:null});get route(){return T(this.#r)}set route(t){I(this.#r,t)}#o=A({});get state(){return T(this.#o)}set state(t){I(this.#o,t)}#s=A(-1);get status(){return T(this.#s)}set status(t){I(this.#s,t)}#i=A(new URL("https://example.com"));get url(){return T(this.#i)}set url(t){I(this.#i,t)}},Y=new class{#e=A(null);get current(){return T(this.#e)}set current(t){I(this.#e,t)}},ge=new class{#e=A(!1);get current(){return T(this.#e)}set current(t){I(this.#e,t)}},Xe.v=()=>ge.current=!0);function jt(e){Object.assign(k,e)}const Nt=new Set(["icon","shortcut icon","apple-touch-icon"]),D=Ge(Ye)??{},z=Ge(We)??{},$={url:Ve({}),page:Ve({}),navigating:ke(null),updated:It()};function Ae(e){D[e]=le()}function Dt(e,t){let n=e+1;for(;D[n];)delete D[n],n+=1;for(n=t+1;z[n];)delete z[n],n+=1}function H(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function Ze(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(x||"/");e&&await e.update()}}function Be(){}let Te,we,te,O,ve,v;const ne=[],ae=[];let L=null;function ye(){L?.fork?.then(e=>e?.discard()),L=null}const Q=new Map,et=new Set,qt=new Set,G=new Set;let _={branch:[],error:null,url:null},tt=!1,re=!1,Ke=!0,J=!1,M=!1,nt=!1,Ie=!1,at,y,R,N;const oe=new Set,Me=new Map;async function cn(e,t,n){globalThis.__sveltekit_1buh1bk?.data&&globalThis.__sveltekit_1buh1bk.data,document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Te=Lt(e),O=document.documentElement,ve=t,we=e.nodes[0],te=e.nodes[1],we(),te(),y=history.state?.[B],R=history.state?.[W],y||(y=R=Date.now(),history.replaceState({...history.state,[B]:y,[W]:R},""));const a=D[y];function r(){a&&(history.scrollRestoration="manual",scrollTo(a.x,a.y))}n?(r(),await Qt(ve,n)):(await K({type:"enter",url:Le(v.hash?tn(new URL(location.href)):location.href),replace_state:!0}),r()),Xt()}function Vt(){ne.length=0,Ie=!1}function rt(e){ae.some(t=>t?.snapshot)&&(z[e]=ae.map(t=>t?.snapshot?.capture()))}function ot(e){z[e]?.forEach((t,n)=>{ae[n]?.snapshot?.restore(t)})}function Fe(){Ae(y),De(Ye,D),rt(R),De(We,z)}async function st(e,t,n,a){let r;t.invalidateAll&&ye(),await K({type:"goto",url:Le(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:a,accept:()=>{t.invalidateAll&&(Ie=!0,r=[...Me.keys()]),t.invalidate&&t.invalidate.forEach(Jt)}}),t.invalidateAll&&Z().then(Z).then(()=>{Me.forEach(({resource:s},o)=>{r?.includes(o)&&s.refresh?.()})})}async function Bt(e){if(e.id!==L?.id){ye();const t={};oe.add(t),L={id:e.id,token:t,promise:ct({...e,preload:t}).then(n=>(oe.delete(t),n.type==="loaded"&&n.state.error&&ye(),n)),fork:null}}return L.promise}async function _e(e){const t=(await fe(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function it(e,t,n){_=e.state;const a=document.querySelector("style[data-sveltekit]");if(a&&a.remove(),Object.assign(k,e.props.page),at=new v.root({target:t,props:{...e.props,stores:$,components:ae},hydrate:n,sync:!1}),await Promise.resolve(),ot(R),n){const r={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(s=>s(r))}re=!0}function se({url:e,params:t,branch:n,status:a,error:r,route:s,form:o}){let i="never";if(x&&(e.pathname===x||e.pathname===x+"/"))i="always";else for(const u of n)u?.slash!==void 0&&(i=u.slash);e.pathname=pt(e.pathname,i),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:r,route:s},props:{constructors:Pt(n).map(u=>u.node.component),page:je(k)}};o!==void 0&&(c.props.form=o);let l={},f=!k,h=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const g=n[u],m=_.branch[u];g?.data!==m?.data&&(f=!0),g&&(l={...l,...g.data},f&&(c.props[`data_${h}`]=l),h+=1)}return(!_.url||e.href!==_.url.href||_.error!==r||o!==void 0&&o!==k.form||f)&&(c.props.page={error:r,params:t,route:{id:s?.id??null},state:{},status:a,url:new URL(e),form:o??null,data:f?l:k.data}),c}async function Oe({loader:e,parent:t,url:n,params:a,route:r,server_data_node:s}){let o=null;const i={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await e();return{node:c,loader:e,server:s,universal:c.universal?.load?{type:"data",data:o,uses:i}:null,data:o??s?.data??null,slash:c.universal?.trailingSlash??s?.slash}}function Kt(e,t,n){let a=e instanceof Request?e.url:e;const r=new URL(a,n);r.origin===n.origin&&(a=r.href.slice(n.origin.length));const s=re?bt(a,r.href,t):yt(a,t);return{resolved:r,promise:s}}function Mt(e,t,n,a,r,s){if(Ie)return!0;if(!r)return!1;if(r.parent&&e||r.route&&t||r.url&&n)return!0;for(const o of r.search_params)if(a.has(o))return!0;for(const o of r.params)if(s[o]!==_.params[o])return!0;for(const o of r.dependencies)if(ne.some(i=>i(new URL(o))))return!0;return!1}function Pe(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Ft(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const a of n){const r=e.searchParams.getAll(a),s=t.searchParams.getAll(a);r.every(o=>s.includes(o))&&s.every(o=>r.includes(o))&&n.delete(a)}return n}function Gt({error:e,url:t,route:n,params:a}){return{type:"loaded",state:{error:e,url:t,route:n,params:a,branch:[]},props:{page:je(k),constructors:[]}}}async function ct({id:e,invalidating:t,url:n,params:a,route:r,preload:s}){if(L?.id===e)return oe.delete(L.token),L.promise;const{errors:o,layouts:i,leaf:c}=r,l=[...i,c];o.forEach(p=>p?.().catch(()=>{})),l.forEach(p=>p?.[1]().catch(()=>{}));const f=_.url?e!==ie(_.url):!1,h=_.route?r.id!==_.route.id:!1,w=Ft(_.url,n);let u=!1;const g=l.map(async(p,d)=>{if(!p)return;const E=_.branch[d];return p[1]===E?.loader&&!Mt(u,h,f,w,E.universal?.uses,a)?E:(u=!0,Oe({loader:p[1],url:n,params:a,route:r,parent:async()=>{const P={};for(let U=0;U<d;U+=1)Object.assign(P,(await g[U])?.data);return P},server_data_node:Pe(p[0]?{type:"skip"}:null,p[0]?E?.server:void 0)}))});for(const p of g)p.catch(()=>{});const m=[];for(let p=0;p<l.length;p+=1)if(l[p])try{m.push(await g[p])}catch(d){if(d instanceof Se)return{type:"redirect",location:d.location};if(oe.has(s))return Gt({error:await X(d,{params:a,url:n,route:{id:r.id}}),url:n,params:a,route:r});let E=Ue(d),S;if(d instanceof Ee)S=d.body;else{if(await $.updated.check())return await Ze(),await H(n);S=await X(d,{params:a,url:n,route:{id:r.id}})}const P=await Wt(p,m,o);return P?se({url:n,params:a,branch:m.slice(0,P.idx).concat(P.node),status:E,error:S,route:r}):await ut(n,{id:r.id},S,E)}else m.push(void 0);return se({url:n,params:a,branch:m,status:200,error:null,route:r,form:t?void 0:null})}async function Wt(e,t,n){for(;e--;)if(n[e]){let a=e;for(;!t[a];)a-=1;try{return{idx:a+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function Ce({status:e,error:t,url:n,route:a}){const r={};let s=null;try{const o=await Oe({loader:we,url:n,params:r,route:a,parent:()=>Promise.resolve({}),server_data_node:Pe(s)}),i={node:await te(),loader:te,universal:null,server:null,data:null};return se({url:n,params:r,branch:[o,i],status:e,error:t,route:null})}catch(o){if(o instanceof Se)return st(new URL(o.location,location.href),{},0);throw o}}async function Yt(e){const t=e.href;if(Q.has(t))return Q.get(t);let n;try{const a=(async()=>{let r=await v.hooks.reroute({url:new URL(e),fetch:async(s,o)=>Kt(s,o,e).promise})??e;if(typeof r=="string"){const s=new URL(e);v.hash?s.hash=r:s.pathname=r,r=s}return r})();Q.set(t,a),n=await a}catch{Q.delete(t);return}return n}async function fe(e,t){if(e&&!ue(e,x,v.hash)){const n=await Yt(e);if(!n)return;const a=zt(n);for(const r of Te){const s=r.exec(a);if(s)return{id:ie(e),invalidating:t,route:r,params:_t(s),url:e}}}}function zt(e){return gt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(x.length))||"/"}function ie(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function lt({url:e,type:t,intent:n,delta:a,event:r}){let s=!1;const o=$e(_,n,e,t);a!==void 0&&(o.navigation.delta=a),r!==void 0&&(o.navigation.event=r);const i={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return J||et.forEach(c=>c(i)),s?null:o}async function K({type:e,url:t,popped:n,keepfocus:a,noscroll:r,replace_state:s,state:o={},redirect_count:i=0,nav_token:c={},accept:l=Be,block:f=Be,event:h}){const w=N;N=c;const u=await fe(t,!1),g=e==="enter"?$e(_,u,t,e):lt({url:t,type:e,delta:n?.delta,intent:u,event:h});if(!g){f(),N===c&&(N=w);return}const m=y,p=R;l(),J=!0,re&&g.navigation.type!=="enter"&&$.navigating.set(Y.current=g.navigation);let d=u&&await ct(u);if(!d){if(ue(t,x,v.hash))return await H(t,s);d=await ut(t,{id:null},await X(new Re(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=u?.url||t,N!==c)return g.reject(new Error("navigation aborted")),!1;if(d.type==="redirect"){if(i<20){await K({type:e,url:new URL(d.location,t),popped:n,keepfocus:a,noscroll:r,replace_state:s,state:o,redirect_count:i+1,nav_token:c}),g.fulfil(void 0);return}d=await Ce({status:500,error:await X(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else d.props.page.status>=400&&await $.updated.check()&&(await Ze(),await H(t,s));if(Vt(),Ae(m),rt(p),d.props.page.url.pathname!==t.pathname&&(t.pathname=d.props.page.url.pathname),o=n?n.state:o,!n){const b=s?0:1,q={[B]:y+=b,[W]:R+=b,[ze]:o};(s?history.replaceState:history.pushState).call(history,q,"",t),s||Dt(y,R)}const E=u&&L?.id===u.id?L.fork:null;L=null,d.props.page.state=o;let S;if(re){const b=(await Promise.all(Array.from(qt,C=>C(g.navigation)))).filter(C=>typeof C=="function");if(b.length>0){let C=function(){b.forEach(de=>{G.delete(de)})};b.push(C),b.forEach(de=>{G.add(de)})}_=d.state,d.props.page&&(d.props.page.url=t);const q=E&&await E;q?S=q.commit():(at.$set(d.props),jt(d.props.page),S=ht?.()),nt=!0}else await it(d,ve,!1);const{activeElement:P}=document;await S,await Z(),await Z();let U=n?n.scroll:r?le():null;if(Ke){const b=t.hash&&document.getElementById(ft(t));if(U)scrollTo(U.x,U.y);else if(b){b.scrollIntoView();const{top:q,left:C}=b.getBoundingClientRect();U={x:pageXOffset+C,y:pageYOffset+q}}else scrollTo(0,0)}const dt=document.activeElement!==P&&document.activeElement!==document.body;!a&&!dt&&en(t,U),Ke=!0,d.props.page&&Object.assign(k,d.props.page),J=!1,e==="popstate"&&ot(R),g.fulfil(void 0),G.forEach(b=>b(g.navigation)),$.navigating.set(Y.current=null)}async function ut(e,t,n,a,r){return e.origin===ce&&e.pathname===location.pathname&&!tt?await Ce({status:a,error:n,url:e,route:t}):await H(e,r)}function Ht(){let e,t,n;O.addEventListener("mousemove",i=>{const c=i.target;clearTimeout(e),e=setTimeout(()=>{s(c,j.hover)},20)});function a(i){i.defaultPrevented||s(i.composedPath()[0],j.tap)}O.addEventListener("mousedown",a),O.addEventListener("touchstart",a,{passive:!0});const r=new IntersectionObserver(i=>{for(const c of i)c.isIntersecting&&(_e(new URL(c.target.href)),r.unobserve(c.target))},{threshold:0});async function s(i,c){const l=Je(i,O),f=l===t&&c>=n;if(!l||f)return;const{url:h,external:w,download:u}=me(l,x,v.hash);if(w||u)return;const g=ee(l),m=h&&ie(_.url)===ie(h);if(!(g.reload||m))if(c<=g.preload_data){t=l,n=j.tap;const p=await fe(h,!1);if(!p)return;Bt(p)}else c<=g.preload_code&&(t=l,n=c,_e(h))}function o(){r.disconnect();for(const i of O.querySelectorAll("a")){const{url:c,external:l,download:f}=me(i,x,v.hash);if(l||f)continue;const h=ee(i);h.reload||(h.preload_code===j.viewport&&r.observe(i),h.preload_code===j.eager&&_e(c))}}G.add(o),o()}function X(e,t){if(e instanceof Ee)return e.body;const n=Ue(e),a=Ct(e);return v.hooks.handleError({error:e,event:t,status:n,message:a})??{message:a}}function ln(e,t={}){return e=new URL(Le(e)),e.origin!==ce?Promise.reject(new Error("goto: invalid URL")):st(e,t,0)}function Jt(e){if(typeof e=="function")ne.push(e);else{const{href:t}=new URL(e,location.href);ne.push(n=>n.href===t)}}function Xt(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Fe(),!J){const a=$e(_,void 0,null,"leave"),r={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};et.forEach(s=>s(r))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Fe()}),navigator.connection?.saveData||Ht(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Je(t.composedPath()[0],O);if(!n)return;const{url:a,external:r,target:s,download:o}=me(n,x,v.hash);if(!a)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const i=ee(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||o)return;const[l,f]=(v.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=l===he(location);if(r||i.reload&&(!h||!f)){lt({url:a,type:"link",event:t})?J=!0:t.preventDefault();return}if(f!==void 0&&h){const[,w]=_.url.href.split("#");if(w===f){if(t.preventDefault(),f===""||f==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(f));u&&(u.scrollIntoView(),u.focus())}return}if(M=!0,Ae(y),e(a),!i.replace_state)return;M=!1}t.preventDefault(),await new Promise(w=>{requestAnimationFrame(()=>{setTimeout(w,0)}),setTimeout(w,100)}),await K({type:"link",url:a,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??a.href===location.href,event:t})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if((a?.formTarget||n.target)==="_blank"||(a?.formMethod||n.method)!=="get")return;const o=new URL(a?.hasAttribute("formaction")&&a?.formAction||n.action);if(ue(o,x,!1))return;const i=t.target,c=ee(i);if(c.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(i,a);o.search=new URLSearchParams(l).toString(),K({type:"form",url:o,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??o.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!be){if(t.state?.[B]){const n=t.state[B];if(N={},n===y)return;const a=D[n],r=t.state[ze]??{},s=new URL(t.state[Tt]??location.href),o=t.state[W],i=_.url?he(location)===he(_.url):!1;if(o===R&&(nt||i)){r!==k.state&&(k.state=r),e(s),D[y]=le(),a&&scrollTo(a.x,a.y),y=n;return}const l=n-y;await K({type:"popstate",url:s,popped:{state:r,scroll:a,delta:l},accept:()=>{y=n,R=o},block:()=>{history.go(-l)},nav_token:N,event:t})}else if(!M){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{M&&(M=!1,history.replaceState({...history.state,[B]:++y,[W]:R},"",location.href))});for(const t of document.querySelectorAll("link"))Nt.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(Y.current=null)});function e(t){_.url=k.url=t,$.page.set(je(k)),$.page.notify()}}async function Qt(e,{status:t=200,error:n,node_ids:a,params:r,route:s,server_route:o,data:i,form:c}){tt=!0;const l=new URL(location.href);let f;({params:r={},route:s={id:null}}=await fe(l,!1)||{}),f=Te.find(({id:u})=>u===s.id);let h,w=!0;try{const u=a.map(async(m,p)=>{const d=i[p];return d?.uses&&(d.uses=Zt(d.uses)),Oe({loader:v.nodes[m],url:l,params:r,route:s,parent:async()=>{const E={};for(let S=0;S<p;S+=1)Object.assign(E,(await u[S]).data);return E},server_data_node:Pe(d)})}),g=await Promise.all(u);if(f){const m=f.layouts;for(let p=0;p<m.length;p++)m[p]||g.splice(p,0,void 0)}h=se({url:l,params:r,branch:g,status:t,error:n,form:c,route:f??null})}catch(u){if(u instanceof Se){await H(new URL(u.location,location.href));return}h=await Ce({status:Ue(u),error:await X(u,{url:l,params:r,route:s}),url:l,route:s}),e.textContent="",w=!1}h.props.page&&(h.props.page.state={}),await it(h,e,w)}function Zt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let be=!1;function en(e,t=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const a=ft(e);if(a&&document.getElementById(a)){const{x:s,y:o}=t??le();setTimeout(()=>{const i=history.state;be=!0,location.replace(`#${a}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(s,o),be=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const s=[];for(let o=0;o<r.rangeCount;o+=1)s.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===s.length){for(let o=0;o<r.rangeCount;o+=1){const i=s[o],c=r.getRangeAt(o);if(i.commonAncestorContainer!==c.commonAncestorContainer||i.startContainer!==c.startContainer||i.endContainer!==c.endContainer||i.startOffset!==c.startOffset||i.endOffset!==c.endOffset)return}r.removeAllRanges()}})}}}function $e(e,t,n,a){let r,s;const o=new Promise((c,l)=>{r=c,s=l});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:a,complete:o},fulfil:r,reject:s}}function je(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function tn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function ft(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{cn as a,ln as g,an as l,k as p,$ as s};
|
|
Binary file
|
|
Binary file
|