nsarrazin HF staff commited on
Commit
2bcd13d
1 Parent(s): 829c760

poc with dockerfile & server-side

Browse files
Dockerfile ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+ FROM node:19 as builder-production
4
+
5
+ WORKDIR /app
6
+
7
+ COPY --link --chown=1000 package-lock.json package.json ./
8
+ RUN --mount=type=cache,target=/app/.npm \
9
+ npm set cache /app/.npm && \
10
+ npm ci --omit=dev
11
+
12
+ FROM builder-production as builder
13
+
14
+ RUN --mount=type=cache,target=/app/.npm \
15
+ npm set cache /app/.npm && \
16
+ npm ci
17
+
18
+ COPY --link --chown=1000 . .
19
+
20
+ RUN --mount=type=secret,id=DOTENV_LOCAL,dst=.env.local \
21
+ npm run build
22
+
23
+ FROM node:19-slim
24
+
25
+ RUN npm install -g pm2
26
+
27
+ COPY --from=builder-production /app/node_modules /app/node_modules
28
+ COPY --link --chown=1000 package.json /app/package.json
29
+ COPY --from=builder /app/build /app/build
30
+
31
+ CMD pm2 start /app/build/index.js -i $CPU_CORES --no-daemon
README.md CHANGED
@@ -1,8 +1,8 @@
1
  ---
2
- title: Agents.js PoC
3
  emoji: 🤖
4
  colorFrom: yellow
5
  colorTo: orange
6
- sdk: static
7
- app_file: index.html
8
  ---
 
1
  ---
2
+ title: Agents.js PoC - Llama 2
3
  emoji: 🤖
4
  colorFrom: yellow
5
  colorTo: orange
6
+ sdk: docker
7
+ app_port: 3000
8
  ---
_app/immutable/assets/0.c3899f22.css DELETED
@@ -1 +0,0 @@
1
- *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root,[data-theme]{background-color:hsl(var(--b1) / var(--tw-bg-opacity, 1));color:hsl(var(--bc) / var(--tw-text-opacity, 1))}html{-webkit-tap-highlight-color:transparent}:root{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}}[data-theme=light]{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}[data-theme=dark]{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.alert{display:grid;width:100%;grid-auto-flow:row;align-content:flex-start;align-items:center;justify-items:center;gap:1rem;text-align:center;border-width:1px;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));padding:1rem;--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));border-radius:var(--rounded-box, 1rem);--alert-bg: hsl(var(--b2));--alert-bg-mix: hsl(var(--b1));background-color:var(--alert-bg)}@media (min-width: 640px){.alert{grid-auto-flow:column;grid-template-columns:auto minmax(auto,1fr);justify-items:start;text-align:left}}.avatar.placeholder>div{display:flex;align-items:center;justify-content:center}@media (hover:hover){.label a:hover{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.table tr.hover:hover,.table tr.hover:nth-child(even):hover{--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.table-zebra tr.hover:hover,.table-zebra tr.hover:nth-child(even):hover{--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}}.btn{display:inline-flex;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;border-color:transparent;border-color:hsl(var(--b2) / var(--tw-border-opacity));text-align:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-radius:var(--rounded-btn, .5rem);height:3rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;line-height:1em;min-height:3rem;gap:.5rem;font-weight:600;text-decoration-line:none;border-width:var(--border-btn, 1px);animation:button-pop var(--animation-btn, .25s) ease-out;text-transform:var(--btn-text-case, uppercase);--tw-border-opacity: 1;--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline-color:hsl(var(--bc) / 1)}.btn-disabled,.btn[disabled],.btn:disabled{pointer-events:none}.btn-group>input[type=radio].btn{-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn-group>input[type=radio].btn:before{content:attr(data-title)}.btn:is(input[type="checkbox"]),.btn:is(input[type="radio"]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type="checkbox"]):after,.btn:is(input[type="radio"]):after{--tw-content: attr(aria-label);content:var(--tw-content)}.checkbox{flex-shrink:0;--chkbg: var(--bc);--chkfg: var(--b1);height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2;border-radius:var(--rounded-btn, .5rem)}.collapse:not(td):not(tr):not(colgroup){visibility:visible}.collapse{position:relative;display:grid;overflow:hidden;grid-template-rows:auto 0fr;transition:grid-template-rows .2s;width:100%;border-radius:var(--rounded-box, 1rem)}.collapse-title,.collapse>input[type=checkbox],.collapse>input[type=radio],.collapse-content{grid-column-start:1;grid-row-start:1}.collapse>input[type=checkbox],.collapse>input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}.collapse-content{visibility:hidden;grid-column-start:1;grid-row-start:2;min-height:0px;transition:visibility .2s;transition:padding .2s ease-in-out,background-color .2s ease-in-out;padding-left:1rem;padding-right:1rem;cursor:unset}.collapse[open],.collapse-open,.collapse:focus:not(.collapse-close){grid-template-rows:auto 1fr}.collapse:not(.collapse-close):has(> input[type="checkbox"]:checked),.collapse:not(.collapse-close):has(> input[type="radio"]:checked){grid-template-rows:auto 1fr}.collapse[open] .collapse-content,.collapse-open .collapse-content,.collapse:focus:not(.collapse-close) .collapse-content,.collapse:not(.collapse-close) input[type=checkbox]:checked~.collapse-content,.collapse:not(.collapse-close) input[type=radio]:checked~.collapse-content{visibility:visible;min-height:-moz-fit-content;min-height:fit-content}.divider{display:flex;flex-direction:row;align-items:center;align-self:stretch;margin-top:1rem;margin-bottom:1rem;height:1rem;white-space:nowrap}.divider:before,.divider:after{content:"";flex-grow:1;height:.125rem;width:100%}@media (hover: hover){.btm-nav>*.disabled:hover,.btm-nav>*[disabled]:hover{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn:hover{--tw-border-opacity: 1;border-color:hsl(var(--b3) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}.btn-primary:hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}.btn-neutral:hover{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--nf) / var(--tw-bg-opacity))}.btn.glass:hover{--glass-opacity: 25%;--glass-border-opacity: 15%}.btn-ghost:hover{--tw-border-opacity: 0;background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .2}.btn-outline.btn-primary:hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn-disabled:hover,.btn[disabled]:hover,.btn:disabled:hover{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn:is(input[type="checkbox"]:checked):hover,.btn:is(input[type="radio"]:checked):hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(.active):hover,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(.active):hover{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}}.file-input{height:3rem;flex-shrink:1;padding-right:1rem;font-size:1rem;line-height:2;line-height:1.5rem;overflow:hidden;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.file-input::file-selector-button{margin-right:1rem;display:inline-flex;height:2.875rem;min-height:2.875rem;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;line-height:1em;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-style:solid;--tw-border-opacity: 1;border-color:hsl(var(--n) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));font-weight:600;text-transform:uppercase;text-transform:var(--btn-text-case, uppercase);--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));text-decoration-line:none;border-width:var(--border-btn, 1px);animation:button-pop var(--animation-btn, .25s) ease-out}.form-control{display:flex;flex-direction:column}.label{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding:.5rem .25rem}.input{flex-shrink:1;height:3rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:2;line-height:1.5rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.input-group>.input{isolation:isolate}.input-group>*,.input-group>.input,.input-group>.textarea,.input-group>.select{border-radius:0}.join{display:inline-flex;align-items:stretch;border-radius:var(--rounded-btn, .5rem)}.join :where(.join-item){border-radius:0}.join .join-item:not(:first-child):not(:last-child),.join *:not(:first-child):not(:last-child) .join-item{border-radius:0}.join .join-item:first-child:not(:last-child),.join *:first-child:not(:last-child) .join-item{border-top-right-radius:0;border-bottom-right-radius:0}.join :where(.join-item:first-child:not(:last-child)),.join :where(*:first-child:not(:last-child) .join-item){border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join .join-item:last-child:not(:first-child),.join *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0}.join :where(.join-item:last-child:not(:first-child)),.join :where(*:last-child:not(:first-child) .join-item){border-top-right-radius:inherit;border-bottom-right-radius:inherit}:where(.join *){border-radius:inherit}.link{cursor:pointer;text-decoration-line:underline}.mask{-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.menu li.disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:hsl(var(--bc) / .3)}.mockup-code{position:relative;overflow:hidden;overflow-x:auto;min-width:18rem;--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));padding-top:1.25rem;padding-bottom:1.25rem;--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));border-radius:var(--rounded-box, 1rem)}.mockup-code pre[data-prefix]:before{content:attr(data-prefix);display:inline-block;text-align:right;width:2rem;opacity:.5}.modal{pointer-events:none;position:fixed;inset:0px;margin:0;display:grid;height:100%;max-height:none;width:100%;max-width:none;justify-items:center;padding:0;opacity:0;overscroll-behavior:contain;z-index:999;background-color:transparent;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform,opacity,visibility;overflow-y:hidden}:where(.modal){align-items:center}.modal-box{max-height:calc(100vh - 5em);grid-column-start:1;grid-row-start:1;width:91.666667%;max-width:32rem;--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));padding:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem);border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem);box-shadow:#00000040 0 25px 50px -12px;overflow-y:auto;overscroll-behavior:contain}.modal-open,.modal:target,.modal-toggle:checked+.modal,.modal[open]{pointer-events:auto;visibility:visible;opacity:1}.modal-action{display:flex;margin-top:1.5rem;justify-content:flex-end}:root:has(:is(.modal-open,.modal:target,.modal-toggle:checked + .modal,.modal[open])){overflow:hidden}.radio{flex-shrink:0;--chkbg: var(--bc);height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2}.select{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3rem;padding-left:1rem;padding-right:2.5rem;font-size:.875rem;line-height:1.25rem;line-height:2;min-height:3rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));font-weight:600;border-radius:var(--rounded-btn, .5rem);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16px) calc(1px + 50%);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.select[multiple]{height:auto}.textarea{flex-shrink:1;min-height:3rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;line-height:2;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.alert-error{border-color:hsl(var(--er) / .2);--tw-text-opacity: 1;color:hsl(var(--erc) / var(--tw-text-opacity));--alert-bg: hsl(var(--er));--alert-bg-mix: hsl(var(--b1))}.btm-nav>*.disabled,.btm-nav>*[disabled]{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btm-nav>* .label{font-size:1rem;line-height:1.5rem}.btn:active:hover,.btn:active:focus{animation:button-pop 0s ease-out;transform:scale(var(--btn-focus-scale, .97))}.btn:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px}.btn-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity));outline-color:hsl(var(--p) / 1)}.btn-primary.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}.btn-neutral{--tw-border-opacity: 1;border-color:hsl(var(--n) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));outline-color:hsl(var(--n) / 1)}.btn-neutral.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--nf) / var(--tw-bg-opacity))}.btn.glass{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline-color:currentColor}.btn.glass.btn-active{--glass-opacity: 25%;--glass-border-opacity: 15%}.btn-ghost{border-width:1px;border-color:transparent;background-color:transparent;color:currentColor;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline-color:currentColor}.btn-ghost.btn-active{--tw-border-opacity: 0;background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .2}.btn-outline.btn-primary{--tw-text-opacity: 1;color:hsl(var(--p) / var(--tw-text-opacity))}.btn-outline.btn-primary.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn.btn-disabled,.btn[disabled],.btn:disabled{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn-group>input[type=radio]:checked.btn,.btn-group>.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn-group>input[type=radio]:checked.btn:focus-visible,.btn-group>.btn-active:focus-visible{outline-style:solid;outline-width:2px;outline-color:hsl(var(--p) / 1)}.btn:is(input[type="checkbox"]:checked),.btn:is(input[type="radio"]:checked){--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn:is(input[type="checkbox"]:checked):focus-visible,.btn:is(input[type="radio"]:checked):focus-visible{outline-color:hsl(var(--p) / 1)}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale, .98))}40%{transform:scale(1.02)}to{transform:scale(1)}}.checkbox:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.checkbox:checked,.checkbox[checked=true],.checkbox[aria-checked=true]{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-in-out;background-image:linear-gradient(-45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}.checkbox:indeterminate{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-in-out;background-image:linear-gradient(90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(-90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(0deg,hsl(var(--chkbg)) 43%,hsl(var(--chkfg)) 43%,hsl(var(--chkfg)) 57%,hsl(var(--chkbg)) 57%)}.checkbox:disabled{cursor:not-allowed;border-color:transparent;--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));opacity:.2}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}[dir=rtl] .checkbox:checked,[dir=rtl] .checkbox[checked=true],[dir=rtl] .checkbox[aria-checked=true]{background-image:linear-gradient(45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(-45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}details.collapse{width:100%}details.collapse summary{position:relative;display:block;outline:2px solid transparent;outline-offset:2px}details.collapse summary::-webkit-details-marker{display:none}.collapse:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.collapse:has(.collapse-title:focus-visible),.collapse:has(> input[type="checkbox"]:focus-visible),.collapse:has(> input[type="radio"]:focus-visible){outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.collapse-arrow .collapse-title:after{position:absolute;display:block;height:.5rem;width:.5rem;--tw-translate-y: -100%;--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-duration:.15s;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);top:50%;right:1.4rem;content:"";transform-origin:75% 75%;box-shadow:2px 2px;pointer-events:none}[dir=rtl] .collapse-arrow .collapse-title:after{--tw-rotate: -45deg}.collapse-plus .collapse-title:after{position:absolute;display:block;height:.5rem;width:.5rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);top:.9rem;right:1.4rem;content:"+";pointer-events:none}.collapse:not(.collapse-open):not(.collapse-close) input[type=checkbox],.collapse:not(.collapse-open):not(.collapse-close) input[type=radio]:not(:checked),.collapse:not(.collapse-open):not(.collapse-close) .collapse-title{cursor:pointer}.collapse:focus:not(.collapse-open):not(.collapse-close):not(.collapse[open]) .collapse-title{cursor:unset}.collapse-title{position:relative}:where(.collapse > input[type="checkbox"]),:where(.collapse > input[type="radio"]){z-index:1}.collapse-title,:where(.collapse > input[type="checkbox"]),:where(.collapse > input[type="radio"]){width:100%;padding:1rem 3rem 1rem 1rem;min-height:3.75rem;transition:background-color .2s ease-in-out}.collapse[open] :where(.collapse-content),.collapse-open :where(.collapse-content),.collapse:focus:not(.collapse-close) :where(.collapse-content),.collapse:not(.collapse-close) :where(input[type="checkbox"]:checked ~ .collapse-content),.collapse:not(.collapse-close) :where(input[type="radio"]:checked ~ .collapse-content){padding-bottom:1rem;transition:padding .2s ease-in-out,background-color .2s ease-in-out}.collapse[open].collapse-arrow .collapse-title:after,.collapse-open.collapse-arrow .collapse-title:after,.collapse-arrow:focus:not(.collapse-close) .collapse-title:after,.collapse-arrow:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after,.collapse-arrow:not(.collapse-close) input[type=radio]:checked~.collapse-title:after{--tw-translate-y: -50%;--tw-rotate: 225deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .collapse[open].collapse-arrow .collapse-title:after,[dir=rtl] .collapse-open.collapse-arrow .collapse-title:after,[dir=rtl] .collapse-arrow:focus:not(.collapse-close) .collapse-title:after,[dir=rtl] .collapse-arrow:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after{--tw-rotate: 135deg}.collapse[open].collapse-plus .collapse-title:after,.collapse-open.collapse-plus .collapse-title:after,.collapse-plus:focus:not(.collapse-close) .collapse-title:after,.collapse-plus:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after,.collapse-plus:not(.collapse-close) input[type=radio]:checked~.collapse-title:after{content:"−"}.divider:before{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:after{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:not(:empty){gap:1rem}.file-input-bordered{--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity))}.file-input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.file-input-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.file-input-primary:focus{outline-color:hsl(var(--p) / 1)}.file-input-primary::file-selector-button{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.file-input-disabled,.file-input[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.file-input-disabled::-moz-placeholder,.file-input[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.file-input-disabled::placeholder,.file-input[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.file-input-disabled::file-selector-button,.file-input[disabled]::file-selector-button{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.label-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.input[list]::-webkit-calendar-picker-indicator{line-height:1em}.input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.input-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.input-primary:focus{outline-color:hsl(var(--p) / 1)}.input-disabled,.input:disabled,.input[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.input-disabled::-moz-placeholder,.input:disabled::-moz-placeholder,.input[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.input-disabled::placeholder,.input:disabled::placeholder,.input[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.join>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.link:focus{outline:2px solid transparent;outline-offset:2px}.link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.loading{pointer-events:none;display:inline-block;aspect-ratio:1 / 1;width:1.5rem;background-color:currentColor;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-in-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-in-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.loading-lg{width:2.5rem}:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):is(summary):not(.active):focus-visible,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):is(summary):not(.active):focus-visible{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.mockup-code:before{content:"";margin-bottom:1rem;display:block;height:.75rem;width:.75rem;border-radius:9999px;opacity:.3;box-shadow:1.4em 0,2.8em 0,4.2em 0}.mockup-code pre{padding-right:1.25rem}.mockup-code pre:before{content:"";margin-right:2ch}.mockup-phone .display{overflow:hidden;border-radius:40px;margin-top:-25px}.modal:not(dialog:not(.modal-open)),.modal::backdrop{background-color:#0000004d;animation:modal-pop .2s ease-out}.modal-open .modal-box,.modal-toggle:checked+.modal .modal-box,.modal:target .modal-box,.modal[open] .modal-box{--tw-translate-y: 0px;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.modal-action>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}.radio:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.radio:checked,.radio[aria-checked=true]{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));animation:radiomark var(--animation-input, .2s) ease-in-out;box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}.radio:disabled{cursor:not-allowed;opacity:.2}@keyframes radiomark{0%{box-shadow:0 0 0 12px hsl(var(--b1)) inset,0 0 0 12px hsl(var(--b1)) inset}50%{box-shadow:0 0 0 3px hsl(var(--b1)) inset,0 0 0 3px hsl(var(--b1)) inset}to{box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.select:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.select-disabled,.select:disabled,.select[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.select-disabled::-moz-placeholder,.select:disabled::-moz-placeholder,.select[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-disabled::placeholder,.select:disabled::placeholder,.select[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-multiple,.select[multiple],.select[size].select:not([size="1"]){background-image:none;padding-right:1rem}[dir=rtl] .select{background-position:calc(0% + 12px) calc(1px + 50%),calc(0% + 16px) calc(1px + 50%)}.textarea:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.textarea-disabled,.textarea:disabled,.textarea[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.textarea-disabled::-moz-placeholder,.textarea:disabled::-moz-placeholder,.textarea[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.textarea-disabled::placeholder,.textarea:disabled::placeholder,.textarea[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}@keyframes toast-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.btn-sm{height:2rem;padding-left:.75rem;padding-right:.75rem;min-height:2rem;font-size:.875rem}.btn-square:where(.btn-sm){height:2rem;width:2rem;padding:0}.btn-circle:where(.btn-sm){height:2rem;width:2rem;border-radius:9999px;padding:0}.join.join-vertical{flex-direction:column}.join.join-vertical .join-item:first-child:not(:last-child),.join.join-vertical *:first-child:not(:last-child) .join-item{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.join.join-vertical .join-item:last-child:not(:first-child),.join.join-vertical *:last-child:not(:first-child) .join-item{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.join.join-horizontal{flex-direction:row}.join.join-horizontal .join-item:first-child:not(:last-child),.join.join-horizontal *:first-child:not(:last-child) .join-item{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join.join-horizontal .join-item:last-child:not(:first-child),.join.join-horizontal *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:inherit;border-top-right-radius:inherit}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group .btn:first-child:not(:last-child){margin-top:-0px;margin-left:-1px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:0}.btn-group .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn, .5rem)}.btn-group-horizontal .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-horizontal .btn:first-child:not(:last-child){margin-top:-0px;margin-left:-1px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:0}.btn-group-horizontal .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn, .5rem)}.btn-group-vertical .btn:first-child:not(:last-child){margin-top:-1px;margin-left:-0px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:var(--rounded-btn, .5rem)}.join.join-vertical>:where(*:not(:first-child)){margin-left:0;margin-right:0;margin-top:-1px}.join.join-horizontal>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.modal-top :where(.modal-box){width:100%;max-width:none;--tw-translate-y: -2.5rem;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem)}.modal-middle :where(.modal-box){width:91.666667%;max-width:32rem;--tw-translate-y: 0px;--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem);border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem)}.modal-bottom :where(.modal-box){width:100%;max-width:none;--tw-translate-y: 2.5rem;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem)}.collapse{visibility:collapse}.mx-auto{margin-left:auto;margin-right:auto}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.border-2{border-width:2px}.border-base-300{--tw-border-opacity: 1;border-color:hsl(var(--b3) / var(--tw-border-opacity))}.border-base-content{--tw-border-opacity: 1;border-color:hsl(var(--bc) / var(--tw-border-opacity))}.border-neutral-focus{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity))}.bg-base-200{--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.bg-base-300{--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-4{padding:1rem}.pb-2{padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.pr-2{padding-right:.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-base-content{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
 
 
_app/immutable/assets/_layout.6b451270.css DELETED
@@ -1 +0,0 @@
1
- *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root,[data-theme]{background-color:hsl(var(--b1) / var(--tw-bg-opacity, 1));color:hsl(var(--bc) / var(--tw-text-opacity, 1))}html{-webkit-tap-highlight-color:transparent}:root{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}}[data-theme=light]{color-scheme:light;--pf: 259 94% 44%;--sf: 314 100% 40%;--af: 174 75% 39%;--nf: 214 20% 14%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 259 94% 51%;--pc: 259 96% 91%;--s: 314 100% 47%;--sc: 314 100% 91%;--a: 174 75% 46%;--ac: 174 75% 11%;--n: 214 20% 21%;--nc: 212 19% 87%;--b1: 0 0% 100%;--b2: 0 0% 95%;--b3: 180 2% 90%;--bc: 215 28% 17%}[data-theme=dark]{color-scheme:dark;--pf: 262 80% 43%;--sf: 316 70% 43%;--af: 175 70% 34%;--in: 198 93% 60%;--su: 158 64% 52%;--wa: 43 96% 56%;--er: 0 91% 71%;--inc: 198 100% 12%;--suc: 158 100% 10%;--wac: 43 100% 11%;--erc: 0 100% 14%;--rounded-box: 1rem;--rounded-btn: .5rem;--rounded-badge: 1.9rem;--animation-btn: .25s;--animation-input: .2s;--btn-text-case: uppercase;--btn-focus-scale: .95;--border-btn: 1px;--tab-border: 1px;--tab-radius: .5rem;--p: 262 80% 50%;--pc: 0 0% 100%;--s: 316 70% 50%;--sc: 0 0% 100%;--a: 175 70% 41%;--ac: 0 0% 100%;--n: 213 18% 20%;--nf: 212 17% 17%;--nc: 220 13% 69%;--b1: 212 18% 14%;--b2: 213 18% 12%;--b3: 213 18% 10%;--bc: 220 13% 69%}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.alert{display:grid;width:100%;grid-auto-flow:row;align-content:flex-start;align-items:center;justify-items:center;gap:1rem;text-align:center;border-width:1px;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));padding:1rem;--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));border-radius:var(--rounded-box, 1rem);--alert-bg: hsl(var(--b2));--alert-bg-mix: hsl(var(--b1));background-color:var(--alert-bg)}@media (min-width: 640px){.alert{grid-auto-flow:column;grid-template-columns:auto minmax(auto,1fr);justify-items:start;text-align:left}}.avatar.placeholder>div{display:flex;align-items:center;justify-content:center}@media (hover:hover){.label a:hover{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.table tr.hover:hover,.table tr.hover:nth-child(even):hover{--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.table-zebra tr.hover:hover,.table-zebra tr.hover:nth-child(even):hover{--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}}.btn{display:inline-flex;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;border-color:transparent;border-color:hsl(var(--b2) / var(--tw-border-opacity));text-align:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-radius:var(--rounded-btn, .5rem);height:3rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;line-height:1.25rem;line-height:1em;min-height:3rem;gap:.5rem;font-weight:600;text-decoration-line:none;border-width:var(--border-btn, 1px);animation:button-pop var(--animation-btn, .25s) ease-out;text-transform:var(--btn-text-case, uppercase);--tw-border-opacity: 1;--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline-color:hsl(var(--bc) / 1)}.btn-disabled,.btn[disabled],.btn:disabled{pointer-events:none}.btn-group>input[type=radio].btn{-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn-group>input[type=radio].btn:before{content:attr(data-title)}.btn:is(input[type="checkbox"]),.btn:is(input[type="radio"]){-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:is(input[type="checkbox"]):after,.btn:is(input[type="radio"]):after{--tw-content: attr(aria-label);content:var(--tw-content)}.checkbox{flex-shrink:0;--chkbg: var(--bc);--chkfg: var(--b1);height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2;border-radius:var(--rounded-btn, .5rem)}.collapse:not(td):not(tr):not(colgroup){visibility:visible}.collapse{position:relative;display:grid;overflow:hidden;grid-template-rows:auto 0fr;transition:grid-template-rows .2s;width:100%;border-radius:var(--rounded-box, 1rem)}.collapse-title,.collapse>input[type=checkbox],.collapse>input[type=radio],.collapse-content{grid-column-start:1;grid-row-start:1}.collapse>input[type=checkbox],.collapse>input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;opacity:0}.collapse-content{visibility:hidden;grid-column-start:1;grid-row-start:2;min-height:0px;transition:visibility .2s;transition:padding .2s ease-in-out,background-color .2s ease-in-out;padding-left:1rem;padding-right:1rem;cursor:unset}.collapse[open],.collapse-open,.collapse:focus:not(.collapse-close){grid-template-rows:auto 1fr}.collapse:not(.collapse-close):has(> input[type="checkbox"]:checked),.collapse:not(.collapse-close):has(> input[type="radio"]:checked){grid-template-rows:auto 1fr}.collapse[open] .collapse-content,.collapse-open .collapse-content,.collapse:focus:not(.collapse-close) .collapse-content,.collapse:not(.collapse-close) input[type=checkbox]:checked~.collapse-content,.collapse:not(.collapse-close) input[type=radio]:checked~.collapse-content{visibility:visible;min-height:-moz-fit-content;min-height:fit-content}.divider{display:flex;flex-direction:row;align-items:center;align-self:stretch;margin-top:1rem;margin-bottom:1rem;height:1rem;white-space:nowrap}.divider:before,.divider:after{content:"";flex-grow:1;height:.125rem;width:100%}@media (hover: hover){.btm-nav>*.disabled:hover,.btm-nav>*[disabled]:hover{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn:hover{--tw-border-opacity: 1;border-color:hsl(var(--b3) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}.btn-primary:hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}.btn-neutral:hover{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--nf) / var(--tw-bg-opacity))}.btn.glass:hover{--glass-opacity: 25%;--glass-border-opacity: 15%}.btn-ghost:hover{--tw-border-opacity: 0;background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .2}.btn-outline.btn-primary:hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn-disabled:hover,.btn[disabled]:hover,.btn:disabled:hover{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn:is(input[type="checkbox"]:checked):hover,.btn:is(input[type="radio"]:checked):hover{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(.active):hover,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(.active):hover{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}}.file-input{height:3rem;flex-shrink:1;padding-right:1rem;font-size:1rem;line-height:2;line-height:1.5rem;overflow:hidden;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.file-input::file-selector-button{margin-right:1rem;display:inline-flex;height:2.875rem;min-height:2.875rem;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;justify-content:center;padding-left:1rem;padding-right:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;line-height:1em;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-style:solid;--tw-border-opacity: 1;border-color:hsl(var(--n) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));font-weight:600;text-transform:uppercase;text-transform:var(--btn-text-case, uppercase);--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));text-decoration-line:none;border-width:var(--border-btn, 1px);animation:button-pop var(--animation-btn, .25s) ease-out}.form-control{display:flex;flex-direction:column}.label{display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:space-between;padding:.5rem .25rem}.input{flex-shrink:1;height:3rem;padding-left:1rem;padding-right:1rem;font-size:1rem;line-height:2;line-height:1.5rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.input-group>.input{isolation:isolate}.input-group>*,.input-group>.input,.input-group>.textarea,.input-group>.select{border-radius:0}.join{display:inline-flex;align-items:stretch;border-radius:var(--rounded-btn, .5rem)}.join :where(.join-item){border-radius:0}.join .join-item:not(:first-child):not(:last-child),.join *:not(:first-child):not(:last-child) .join-item{border-radius:0}.join .join-item:first-child:not(:last-child),.join *:first-child:not(:last-child) .join-item{border-top-right-radius:0;border-bottom-right-radius:0}.join :where(.join-item:first-child:not(:last-child)),.join :where(*:first-child:not(:last-child) .join-item){border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join .join-item:last-child:not(:first-child),.join *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0}.join :where(.join-item:last-child:not(:first-child)),.join :where(*:last-child:not(:first-child) .join-item){border-top-right-radius:inherit;border-bottom-right-radius:inherit}:where(.join *){border-radius:inherit}.link{cursor:pointer;text-decoration-line:underline}.mask{-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.menu li.disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:hsl(var(--bc) / .3)}.mockup-code{position:relative;overflow:hidden;overflow-x:auto;min-width:18rem;--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));padding-top:1.25rem;padding-bottom:1.25rem;--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));border-radius:var(--rounded-box, 1rem)}.mockup-code pre[data-prefix]:before{content:attr(data-prefix);display:inline-block;text-align:right;width:2rem;opacity:.5}.modal{pointer-events:none;position:fixed;inset:0;margin:0;display:grid;height:100%;max-height:none;width:100%;max-width:none;justify-items:center;padding:0;opacity:0;overscroll-behavior:contain;z-index:999;background-color:transparent;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform,opacity,visibility;overflow-y:hidden}:where(.modal){align-items:center}.modal-box{max-height:calc(100vh - 5em);grid-column-start:1;grid-row-start:1;width:91.666667%;max-width:32rem;--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));padding:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem);border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem);box-shadow:#00000040 0 25px 50px -12px;overflow-y:auto;overscroll-behavior:contain}.modal-open,.modal:target,.modal-toggle:checked+.modal,.modal[open]{pointer-events:auto;visibility:visible;opacity:1}.modal-action{display:flex;margin-top:1.5rem;justify-content:flex-end}:root:has(:is(.modal-open,.modal:target,.modal-toggle:checked + .modal,.modal[open])){overflow:hidden}.radio{flex-shrink:0;--chkbg: var(--bc);height:1.5rem;width:1.5rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: .2}.select{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3rem;padding-left:1rem;padding-right:2.5rem;font-size:.875rem;line-height:1.25rem;line-height:2;min-height:3rem;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));font-weight:600;border-radius:var(--rounded-btn, .5rem);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16px) calc(1px + 50%);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.select[multiple]{height:auto}.textarea{flex-shrink:1;min-height:3rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;line-height:2;border-width:1px;border-color:hsl(var(--bc) / var(--tw-border-opacity));--tw-border-opacity: 0;--tw-bg-opacity: 1;background-color:hsl(var(--b1) / var(--tw-bg-opacity));border-radius:var(--rounded-btn, .5rem)}.alert-error{border-color:hsl(var(--er) / .2);--tw-text-opacity: 1;color:hsl(var(--erc) / var(--tw-text-opacity));--alert-bg: hsl(var(--er));--alert-bg-mix: hsl(var(--b1))}.btm-nav>*.disabled,.btm-nav>*[disabled]{pointer-events:none;--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .1;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btm-nav>* .label{font-size:1rem;line-height:1.5rem}.btn:active:hover,.btn:active:focus{animation:button-pop 0s ease-out;transform:scale(var(--btn-focus-scale, .97))}.btn:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px}.btn-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity));outline-color:hsl(var(--p) / 1)}.btn-primary.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity))}.btn-neutral{--tw-border-opacity: 1;border-color:hsl(var(--n) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--nc) / var(--tw-text-opacity));outline-color:hsl(var(--n) / 1)}.btn-neutral.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--nf) / var(--tw-bg-opacity))}.btn.glass{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline-color:currentColor}.btn.glass.btn-active{--glass-opacity: 25%;--glass-border-opacity: 15%}.btn-ghost{border-width:1px;border-color:transparent;background-color:transparent;color:currentColor;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline-color:currentColor}.btn-ghost.btn-active{--tw-border-opacity: 0;background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .2}.btn-outline.btn-primary{--tw-text-opacity: 1;color:hsl(var(--p) / var(--tw-text-opacity))}.btn-outline.btn-primary.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--pf) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--pf) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn.btn-disabled,.btn[disabled],.btn:disabled{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.btn-group>input[type=radio]:checked.btn,.btn-group>.btn-active{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn-group>input[type=radio]:checked.btn:focus-visible,.btn-group>.btn-active:focus-visible{outline-style:solid;outline-width:2px;outline-color:hsl(var(--p) / 1)}.btn:is(input[type="checkbox"]:checked),.btn:is(input[type="radio"]:checked){--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.btn:is(input[type="checkbox"]:checked):focus-visible,.btn:is(input[type="radio"]:checked):focus-visible{outline-color:hsl(var(--p) / 1)}@keyframes button-pop{0%{transform:scale(var(--btn-focus-scale, .98))}40%{transform:scale(1.02)}to{transform:scale(1)}}.checkbox:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.checkbox:checked,.checkbox[checked=true],.checkbox[aria-checked=true]{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-in-out;background-image:linear-gradient(-45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}.checkbox:indeterminate{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));background-repeat:no-repeat;animation:checkmark var(--animation-input, .2s) ease-in-out;background-image:linear-gradient(90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(-90deg,transparent 80%,hsl(var(--chkbg)) 80%),linear-gradient(0deg,hsl(var(--chkbg)) 43%,hsl(var(--chkfg)) 43%,hsl(var(--chkfg)) 57%,hsl(var(--chkbg)) 57%)}.checkbox:disabled{cursor:not-allowed;border-color:transparent;--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));opacity:.2}@keyframes checkmark{0%{background-position-y:5px}50%{background-position-y:-2px}to{background-position-y:0}}[dir=rtl] .checkbox:checked,[dir=rtl] .checkbox[checked=true],[dir=rtl] .checkbox[aria-checked=true]{background-image:linear-gradient(45deg,transparent 65%,hsl(var(--chkbg)) 65.99%),linear-gradient(-45deg,transparent 75%,hsl(var(--chkbg)) 75.99%),linear-gradient(45deg,hsl(var(--chkbg)) 40%,transparent 40.99%),linear-gradient(-45deg,hsl(var(--chkbg)) 30%,hsl(var(--chkfg)) 30.99%,hsl(var(--chkfg)) 40%,transparent 40.99%),linear-gradient(45deg,hsl(var(--chkfg)) 50%,hsl(var(--chkbg)) 50.99%)}details.collapse{width:100%}details.collapse summary{position:relative;display:block;outline:2px solid transparent;outline-offset:2px}details.collapse summary::-webkit-details-marker{display:none}.collapse:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.collapse:has(.collapse-title:focus-visible),.collapse:has(> input[type="checkbox"]:focus-visible),.collapse:has(> input[type="radio"]:focus-visible){outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.collapse-arrow .collapse-title:after{position:absolute;display:block;height:.5rem;width:.5rem;--tw-translate-y: -100%;--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-duration:.15s;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);top:50%;right:1.4rem;content:"";transform-origin:75% 75%;box-shadow:2px 2px;pointer-events:none}[dir=rtl] .collapse-arrow .collapse-title:after{--tw-rotate: -45deg}.collapse-plus .collapse-title:after{position:absolute;display:block;height:.5rem;width:.5rem;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);top:.9rem;right:1.4rem;content:"+";pointer-events:none}.collapse:not(.collapse-open):not(.collapse-close) input[type=checkbox],.collapse:not(.collapse-open):not(.collapse-close) input[type=radio]:not(:checked),.collapse:not(.collapse-open):not(.collapse-close) .collapse-title{cursor:pointer}.collapse:focus:not(.collapse-open):not(.collapse-close):not(.collapse[open]) .collapse-title{cursor:unset}.collapse-title{position:relative}:where(.collapse > input[type="checkbox"]),:where(.collapse > input[type="radio"]){z-index:1}.collapse-title,:where(.collapse > input[type="checkbox"]),:where(.collapse > input[type="radio"]){width:100%;padding:1rem 3rem 1rem 1rem;min-height:3.75rem;transition:background-color .2s ease-in-out}.collapse[open] :where(.collapse-content),.collapse-open :where(.collapse-content),.collapse:focus:not(.collapse-close) :where(.collapse-content),.collapse:not(.collapse-close) :where(input[type="checkbox"]:checked ~ .collapse-content),.collapse:not(.collapse-close) :where(input[type="radio"]:checked ~ .collapse-content){padding-bottom:1rem;transition:padding .2s ease-in-out,background-color .2s ease-in-out}.collapse[open].collapse-arrow .collapse-title:after,.collapse-open.collapse-arrow .collapse-title:after,.collapse-arrow:focus:not(.collapse-close) .collapse-title:after,.collapse-arrow:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after,.collapse-arrow:not(.collapse-close) input[type=radio]:checked~.collapse-title:after{--tw-translate-y: -50%;--tw-rotate: 225deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}[dir=rtl] .collapse[open].collapse-arrow .collapse-title:after,[dir=rtl] .collapse-open.collapse-arrow .collapse-title:after,[dir=rtl] .collapse-arrow:focus:not(.collapse-close) .collapse-title:after,[dir=rtl] .collapse-arrow:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after{--tw-rotate: 135deg}.collapse[open].collapse-plus .collapse-title:after,.collapse-open.collapse-plus .collapse-title:after,.collapse-plus:focus:not(.collapse-close) .collapse-title:after,.collapse-plus:not(.collapse-close) input[type=checkbox]:checked~.collapse-title:after,.collapse-plus:not(.collapse-close) input[type=radio]:checked~.collapse-title:after{content:"−"}.divider:before{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:after{background-color:hsl(var(--bc) / var(--tw-bg-opacity));--tw-bg-opacity: .1}.divider:not(:empty){gap:1rem}.file-input-bordered{--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity))}.file-input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.file-input-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.file-input-primary:focus{outline-color:hsl(var(--p) / 1)}.file-input-primary::file-selector-button{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--p) / var(--tw-bg-opacity));--tw-text-opacity: 1;color:hsl(var(--pc) / var(--tw-text-opacity))}.file-input-disabled,.file-input[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.file-input-disabled::-moz-placeholder,.file-input[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.file-input-disabled::placeholder,.file-input[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.file-input-disabled::file-selector-button,.file-input[disabled]::file-selector-button{--tw-border-opacity: 0;background-color:hsl(var(--n) / var(--tw-bg-opacity));--tw-bg-opacity: .2;color:hsl(var(--bc) / var(--tw-text-opacity));--tw-text-opacity: .2}.label-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.input[list]::-webkit-calendar-picker-indicator{line-height:1em}.input:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.input-primary{--tw-border-opacity: 1;border-color:hsl(var(--p) / var(--tw-border-opacity))}.input-primary:focus{outline-color:hsl(var(--p) / 1)}.input-disabled,.input:disabled,.input[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.input-disabled::-moz-placeholder,.input:disabled::-moz-placeholder,.input[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.input-disabled::placeholder,.input:disabled::placeholder,.input[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.join>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.link:focus{outline:2px solid transparent;outline-offset:2px}.link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.loading{pointer-events:none;display:inline-block;aspect-ratio:1 / 1;width:1.5rem;background-color:currentColor;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-in-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle%3E.spinner_V8m1%7Btransform-origin:center;animation:spinner_zKoa 2s linear infinite%7D.spinner_V8m1 circle%7Bstroke-linecap:round;animation:spinner_YpZS 1.5s ease-in-out infinite%7D%40keyframes spinner_zKoa%7B100%25%7Btransform:rotate(360deg)%7D%7D%40keyframes spinner_YpZS%7B0%25%7Bstroke-dasharray:0 150;stroke-dashoffset:0%7D47.5%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-16%7D95%25%2C100%25%7Bstroke-dasharray:42 150;stroke-dashoffset:-59%7D%7D%3C%2Fstyle%3E%3Cg class='spinner_V8m1'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3E%3C%2Fcircle%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.loading-lg{width:2.5rem}:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled) > *:not(ul):not(details):not(.menu-title)):is(summary):not(.active):focus-visible,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(summary):not(.active).focus,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):not(summary):not(.active):focus,:where(.menu li:not(.menu-title):not(.disabled) > details > summary:not(.menu-title)):is(summary):not(.active):focus-visible{cursor:pointer;background-color:hsl(var(--bc) / .1);--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity));outline:2px solid transparent;outline-offset:2px}.mockup-code:before{content:"";margin-bottom:1rem;display:block;height:.75rem;width:.75rem;border-radius:9999px;opacity:.3;box-shadow:1.4em 0,2.8em 0,4.2em 0}.mockup-code pre{padding-right:1.25rem}.mockup-code pre:before{content:"";margin-right:2ch}.mockup-phone .display{overflow:hidden;border-radius:40px;margin-top:-25px}.modal:not(dialog:not(.modal-open)),.modal::backdrop{background-color:#0000004d;animation:modal-pop .2s ease-out}.modal-open .modal-box,.modal-toggle:checked+.modal .modal-box,.modal:target .modal-box,.modal[open] .modal-box{--tw-translate-y: 0px;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.modal-action>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}@keyframes modal-pop{0%{opacity:0}}@keyframes progress-loading{50%{background-position-x:-115%}}.radio:focus-visible{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / 1)}.radio:checked,.radio[aria-checked=true]{--tw-bg-opacity: 1;background-color:hsl(var(--bc) / var(--tw-bg-opacity));animation:radiomark var(--animation-input, .2s) ease-in-out;box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}.radio:disabled{cursor:not-allowed;opacity:.2}@keyframes radiomark{0%{box-shadow:0 0 0 12px hsl(var(--b1)) inset,0 0 0 12px hsl(var(--b1)) inset}50%{box-shadow:0 0 0 3px hsl(var(--b1)) inset,0 0 0 3px hsl(var(--b1)) inset}to{box-shadow:0 0 0 4px hsl(var(--b1)) inset,0 0 0 4px hsl(var(--b1)) inset}}@keyframes rating-pop{0%{transform:translateY(-.125em)}40%{transform:translateY(-.125em)}to{transform:translateY(0)}}.select:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.select-disabled,.select:disabled,.select[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.select-disabled::-moz-placeholder,.select:disabled::-moz-placeholder,.select[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-disabled::placeholder,.select:disabled::placeholder,.select[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.select-multiple,.select[multiple],.select[size].select:not([size="1"]){background-image:none;padding-right:1rem}[dir=rtl] .select{background-position:calc(0% + 12px) calc(1px + 50%),calc(0% + 16px) calc(1px + 50%)}.textarea:focus{outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:hsl(var(--bc) / .2)}.textarea-disabled,.textarea:disabled,.textarea[disabled]{cursor:not-allowed;--tw-border-opacity: 1;border-color:hsl(var(--b2) / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity));--tw-text-opacity: .2}.textarea-disabled::-moz-placeholder,.textarea:disabled::-moz-placeholder,.textarea[disabled]::-moz-placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}.textarea-disabled::placeholder,.textarea:disabled::placeholder,.textarea[disabled]::placeholder{color:hsl(var(--bc) / var(--tw-placeholder-opacity));--tw-placeholder-opacity: .2}@keyframes toast-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.btn-sm{height:2rem;padding-left:.75rem;padding-right:.75rem;min-height:2rem;font-size:.875rem}.btn-square:where(.btn-sm){height:2rem;width:2rem;padding:0}.btn-circle:where(.btn-sm){height:2rem;width:2rem;border-radius:9999px;padding:0}.join.join-vertical{flex-direction:column}.join.join-vertical .join-item:first-child:not(:last-child),.join.join-vertical *:first-child:not(:last-child) .join-item{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-top-right-radius:inherit}.join.join-vertical .join-item:last-child:not(:first-child),.join.join-vertical *:last-child:not(:first-child) .join-item{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.join.join-horizontal{flex-direction:row}.join.join-horizontal .join-item:first-child:not(:last-child),.join.join-horizontal *:first-child:not(:last-child) .join-item{border-bottom-right-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-top-left-radius:inherit}.join.join-horizontal .join-item:last-child:not(:first-child),.join.join-horizontal *:last-child:not(:first-child) .join-item{border-bottom-left-radius:0;border-top-left-radius:0;border-bottom-right-radius:inherit;border-top-right-radius:inherit}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group .btn:first-child:not(:last-child){margin-top:-0px;margin-left:-1px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:0}.btn-group .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn, .5rem)}.btn-group-horizontal .btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-horizontal .btn:first-child:not(:last-child){margin-top:-0px;margin-left:-1px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:0}.btn-group-horizontal .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:var(--rounded-btn, .5rem)}.btn-group-vertical .btn:first-child:not(:last-child){margin-top:-1px;margin-left:-0px;border-top-left-radius:var(--rounded-btn, .5rem);border-top-right-radius:var(--rounded-btn, .5rem);border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical .btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--rounded-btn, .5rem);border-bottom-right-radius:var(--rounded-btn, .5rem)}.join.join-vertical>:where(*:not(:first-child)){margin-left:0;margin-right:0;margin-top:-1px}.join.join-horizontal>:where(*:not(:first-child)){margin-top:0;margin-bottom:0;margin-left:-1px}.modal-top :where(.modal-box){width:100%;max-width:none;--tw-translate-y: -2.5rem;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem)}.modal-middle :where(.modal-box){width:91.666667%;max-width:32rem;--tw-translate-y: 0px;--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem);border-bottom-left-radius:var(--rounded-box, 1rem);border-bottom-right-radius:var(--rounded-box, 1rem)}.modal-bottom :where(.modal-box){width:100%;max-width:none;--tw-translate-y: 2.5rem;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--rounded-box, 1rem);border-top-right-radius:var(--rounded-box, 1rem)}.collapse{visibility:collapse}.mx-auto{margin-left:auto;margin-right:auto}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-min{width:-moz-min-content;width:min-content}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.border-2{border-width:2px}.border-base-300{--tw-border-opacity: 1;border-color:hsl(var(--b3) / var(--tw-border-opacity))}.border-base-content{--tw-border-opacity: 1;border-color:hsl(var(--bc) / var(--tw-border-opacity))}.border-neutral-focus{--tw-border-opacity: 1;border-color:hsl(var(--nf) / var(--tw-border-opacity))}.bg-base-200{--tw-bg-opacity: 1;background-color:hsl(var(--b2) / var(--tw-bg-opacity))}.bg-base-300{--tw-bg-opacity: 1;background-color:hsl(var(--b3) / var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-4{padding:1rem}.pb-2{padding-bottom:.5rem}.pb-5{padding-bottom:1.25rem}.pr-2{padding-right:.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-base-content{--tw-text-opacity: 1;color:hsl(var(--bc) / var(--tw-text-opacity))}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
 
 
_app/immutable/chunks/index.972f6cff.js DELETED
@@ -1 +0,0 @@
1
- function v(){}function W(t,e){for(const n in e)t[n]=e[n];return t}function G(t){return!!t&&(typeof t=="object"||typeof t=="function")&&typeof t.then=="function"}function B(t){return t()}function L(){return Object.create(null)}function b(t){t.forEach(B)}function P(t){return typeof t=="function"}function dt(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let x;function _t(t,e){return x||(x=document.createElement("a")),x.href=e,t===x.href}function J(t){return Object.keys(t).length===0}function K(t,...e){if(t==null)return v;const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function ht(t,e,n){t.$$.on_destroy.push(K(e,n))}function mt(t,e,n,r){if(t){const i=T(t,e,n,r);return t[0](i)}}function T(t,e,n,r){return t[1]&&r?W(n.ctx.slice(),t[1](r(e))):n.ctx}function pt(t,e,n,r){if(t[2]&&r){const i=t[2](r(n));if(e.dirty===void 0)return i;if(typeof i=="object"){const s=[],c=Math.max(e.dirty.length,i.length);for(let a=0;a<c;a+=1)s[a]=e.dirty[a]|i[a];return s}return e.dirty|i}return e.dirty}function yt(t,e,n,r,i,s){if(i){const c=T(e,n,r,s);t.p(c,i)}}function gt(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let r=0;r<n;r++)e[r]=-1;return e}return-1}let w=!1;function Q(){w=!0}function R(){w=!1}function U(t,e,n,r){for(;t<e;){const i=t+(e-t>>1);n(i)<=r?t=i+1:e=i}return t}function V(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){const u=[];for(let l=0;l<e.length;l++){const f=e[l];f.claim_order!==void 0&&u.push(f)}e=u}const n=new Int32Array(e.length+1),r=new Int32Array(e.length);n[0]=-1;let i=0;for(let u=0;u<e.length;u++){const l=e[u].claim_order,f=(i>0&&e[n[i]].claim_order<=l?i+1:U(1,i,_=>e[n[_]].claim_order,l))-1;r[u]=n[f]+1;const o=f+1;n[o]=u,i=Math.max(o,i)}const s=[],c=[];let a=e.length-1;for(let u=n[i]+1;u!=0;u=r[u-1]){for(s.push(e[u-1]);a>=u;a--)c.push(e[a]);a--}for(;a>=0;a--)c.push(e[a]);s.reverse(),c.sort((u,l)=>u.claim_order-l.claim_order);for(let u=0,l=0;u<c.length;u++){for(;l<s.length&&c[u].claim_order>=s[l].claim_order;)l++;const f=l<s.length?s[l]:null;t.insertBefore(c[u],f)}}function X(t,e){if(w){for(V(t),(t.actual_end_child===void 0||t.actual_end_child!==null&&t.actual_end_child.parentNode!==t)&&(t.actual_end_child=t.firstChild);t.actual_end_child!==null&&t.actual_end_child.claim_order===void 0;)t.actual_end_child=t.actual_end_child.nextSibling;e!==t.actual_end_child?(e.claim_order!==void 0||e.parentNode!==t)&&t.insertBefore(e,t.actual_end_child):t.actual_end_child=e.nextSibling}else(e.parentNode!==t||e.nextSibling!==null)&&t.appendChild(e)}function bt(t,e,n){w&&!n?X(t,e):(e.parentNode!==t||e.nextSibling!=n)&&t.insertBefore(e,n||null)}function Y(t){t.parentNode&&t.parentNode.removeChild(t)}function xt(t,e){for(let n=0;n<t.length;n+=1)t[n]&&t[n].d(e)}function Z(t){return document.createElement(t)}function tt(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function A(t){return document.createTextNode(t)}function $t(){return A(" ")}function vt(){return A("")}function wt(t,e,n,r){return t.addEventListener(e,n,r),()=>t.removeEventListener(e,n,r)}function Et(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function kt(t,e,n){const r=new Set;for(let i=0;i<t.length;i+=1)t[i].checked&&r.add(t[i].__value);return n||r.delete(e),Array.from(r)}function Nt(t){let e;return{p(...n){e=n,e.forEach(r=>t.push(r))},r(){e.forEach(n=>t.splice(t.indexOf(n),1))}}}function et(t){return Array.from(t.childNodes)}function nt(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function z(t,e,n,r,i=!1){nt(t);const s=(()=>{for(let c=t.claim_info.last_index;c<t.length;c++){const a=t[c];if(e(a)){const u=n(a);return u===void 0?t.splice(c,1):t[c]=u,i||(t.claim_info.last_index=c),a}}for(let c=t.claim_info.last_index-1;c>=0;c--){const a=t[c];if(e(a)){const u=n(a);return u===void 0?t.splice(c,1):t[c]=u,i?u===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,a}}return r()})();return s.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,s}function D(t,e,n,r){return z(t,i=>i.nodeName===e,i=>{const s=[];for(let c=0;c<i.attributes.length;c++){const a=i.attributes[c];n[a.name]||s.push(a.name)}s.forEach(c=>i.removeAttribute(c))},()=>r(e))}function St(t,e,n){return D(t,e,n,Z)}function At(t,e,n){return D(t,e,n,tt)}function rt(t,e){return z(t,n=>n.nodeType===3,n=>{const r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>A(e),!0)}function jt(t){return rt(t," ")}function Ct(t,e){e=""+e,t.data!==e&&(t.data=e)}function Mt(t,e){t.value=e??""}function Ot(t,e,n,r){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,r?"important":"")}function Lt(t,e,n){t.classList[n?"add":"remove"](e)}function qt(t,e){return new t(e)}let g;function d(t){g=t}function j(){if(!g)throw new Error("Function called outside component initialization");return g}function Bt(t){j().$$.on_mount.push(t)}function Pt(t){j().$$.after_update.push(t)}const p=[],q=[];let y=[];const k=[],F=Promise.resolve();let N=!1;function H(){N||(N=!0,F.then(C))}function Tt(){return H(),F}function S(t){y.push(t)}function zt(t){k.push(t)}const E=new Set;let m=0;function C(){if(m!==0)return;const t=g;do{try{for(;m<p.length;){const e=p[m];m++,d(e),it(e.$$)}}catch(e){throw p.length=0,m=0,e}for(d(null),p.length=0,m=0;q.length;)q.pop()();for(let e=0;e<y.length;e+=1){const n=y[e];E.has(n)||(E.add(n),n())}y.length=0}while(p.length);for(;k.length;)k.pop()();N=!1,E.clear(),d(t)}function it(t){if(t.fragment!==null){t.update(),b(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(S)}}function ct(t){const e=[],n=[];y.forEach(r=>t.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),y=e}const $=new Set;let h;function ut(){h={r:0,c:[],p:h}}function lt(){h.r||b(h.c),h=h.p}function I(t,e){t&&t.i&&($.delete(t),t.i(e))}function st(t,e,n,r){if(t&&t.o){if($.has(t))return;$.add(t),h.c.push(()=>{$.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function Dt(t,e){const n=e.token={};function r(i,s,c,a){if(e.token!==n)return;e.resolved=a;let u=e.ctx;c!==void 0&&(u=u.slice(),u[c]=a);const l=i&&(e.current=i)(u);let f=!1;e.block&&(e.blocks?e.blocks.forEach((o,_)=>{_!==s&&o&&(ut(),st(o,1,1,()=>{e.blocks[_]===o&&(e.blocks[_]=null)}),lt())}):e.block.d(1),l.c(),I(l,1),l.m(e.mount(),e.anchor),f=!0),e.block=l,e.blocks&&(e.blocks[s]=l),f&&C()}if(G(t)){const i=j();if(t.then(s=>{d(i),r(e.then,1,e.value,s),d(null)},s=>{if(d(i),r(e.catch,2,e.error,s),d(null),!e.hasCatch)throw s}),e.current!==e.pending)return r(e.pending,0),!0}else{if(e.current!==e.then)return r(e.then,1,e.value,t),!0;e.resolved=t}}function Ft(t,e,n){const r=e.slice(),{resolved:i}=t;t.current===t.then&&(r[t.value]=i),t.current===t.catch&&(r[t.error]=i),t.block.p(r,n)}function Ht(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function It(t){t&&t.c()}function Wt(t,e){t&&t.l(e)}function at(t,e,n,r){const{fragment:i,after_update:s}=t.$$;i&&i.m(e,n),r||S(()=>{const c=t.$$.on_mount.map(B).filter(P);t.$$.on_destroy?t.$$.on_destroy.push(...c):b(c),t.$$.on_mount=[]}),s.forEach(S)}function ot(t,e){const n=t.$$;n.fragment!==null&&(ct(n.after_update),b(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function ft(t,e){t.$$.dirty[0]===-1&&(p.push(t),H(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function Gt(t,e,n,r,i,s,c,a=[-1]){const u=g;d(t);const l=t.$$={fragment:null,ctx:[],props:s,update:v,not_equal:i,bound:L(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(u?u.$$.context:[])),callbacks:L(),dirty:a,skip_bound:!1,root:e.target||u.$$.root};c&&c(l.root);let f=!1;if(l.ctx=n?n(t,e.props||{},(o,_,...M)=>{const O=M.length?M[0]:_;return l.ctx&&i(l.ctx[o],l.ctx[o]=O)&&(!l.skip_bound&&l.bound[o]&&l.bound[o](O),f&&ft(t,o)),_}):[],l.update(),f=!0,b(l.before_update),l.fragment=r?r(l.ctx):!1,e.target){if(e.hydrate){Q();const o=et(e.target);l.fragment&&l.fragment.l(o),o.forEach(Y)}else l.fragment&&l.fragment.c();e.intro&&I(t.$$.fragment),at(t,e.target,e.anchor,e.customElement),R(),C()}d(u)}class Jt{$destroy(){ot(this,1),this.$destroy=v}$on(e,n){if(!P(n))return v;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}$set(e){this.$$set&&!J(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}export{at as A,ot as B,mt as C,yt as D,gt as E,pt as F,X as G,v as H,ht as I,tt as J,At as K,Lt as L,wt as M,xt as N,Nt as O,kt as P,b as Q,S as R,Jt as S,_t as T,Mt as U,Ht as V,Dt as W,zt as X,Ft as Y,$t as a,bt as b,jt as c,st as d,vt as e,lt as f,I as g,Y as h,Gt as i,Pt as j,Z as k,St as l,et as m,Et as n,Bt as o,Ot as p,A as q,rt as r,dt as s,Tt as t,Ct as u,ut as v,q as w,qt as x,It as y,Wt as z};
 
 
_app/immutable/chunks/singletons.2db0ced3.js DELETED
@@ -1 +0,0 @@
1
- import{H as d,s as w}from"./index.972f6cff.js";const u=[];function p(e,t=d){let n;const o=new Set;function r(s){if(w(e,s)&&(e=s,n)){const i=!u.length;for(const l of o)l[1](),u.push(l,e);if(i){for(let l=0;l<u.length;l+=2)u[l][0](u[l+1]);u.length=0}}}function c(s){r(s(e))}function a(s,i=d){const l=[s,i];return o.add(l),o.size===1&&(n=t(r)||d),s(e),()=>{o.delete(l),o.size===0&&n&&(n(),n=null)}}return{set:r,update:c,subscribe:a}}var h;const E=((h=globalThis.__sveltekit_jgkrf5)==null?void 0:h.base)??"";var k;const A=((k=globalThis.__sveltekit_jgkrf5)==null?void 0:k.assets)??E,R="1689951976632",I="sveltekit:snapshot",x="sveltekit:scroll",O="sveltekit:index",_={tap:1,hover:2,viewport:3,eager:4,off:-1};function U(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function j(){return{x:pageXOffset,y:pageYOffset}}function f(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const b={..._,"":_.hover};function m(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function L(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=m(e)}}function N(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||T(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),c=(n==null?void 0:n.origin)===location.origin&&e.hasAttribute("download");return{url:n,external:r,target:o,download:c}}function P(e){let t=null,n=null,o=null,r=null,c=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=f(s,"preload-code")),r===null&&(r=f(s,"preload-data")),t===null&&(t=f(s,"keepfocus")),n===null&&(n=f(s,"noscroll")),c===null&&(c=f(s,"reload")),a===null&&(a=f(s,"replacestate")),s=m(s);function i(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:b[o??"off"],preload_data:b[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(c),replace_state:i(a)}}function g(e){const t=p(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function c(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:c}}function S(){const{set:e,subscribe:t}=p(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${A}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==R;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function T(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}let v;function V(e){v=e.client}function Y(e){return(...t)=>v[e](...t)}const q={url:g({}),page:g({}),navigating:p(null),updated:S()};export{O as I,_ as P,x as S,I as a,N as b,P as c,j as d,E as e,L as f,U as g,V as h,T as i,Y as j,q as s,p as w};
 
 
_app/immutable/entry/app.47bdd34d.js DELETED
@@ -1 +0,0 @@
1
- import{S as V,i as q,s as U,a as j,e as h,c as z,b as w,d as p,f as y,g as d,h as g,j as W,o as F,k as G,l as H,m as J,n as N,p as m,q as K,r as M,u as Q,v as L,w as P,x as k,y as v,z as A,A as E,B as R}from"../chunks/index.972f6cff.js";const X="modulepreload",Y=function(a,e){return new URL(a,e).href},B={},S=function(e,n,i){if(!n||n.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(n.map(f=>{if(f=Y(f,i),f in B)return;B[f]=!0;const t=f.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!i)for(let l=s.length-1;l>=0;l--){const _=s[l];if(_.href===f&&(!t||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${r}`))return;const o=document.createElement("link");if(o.rel=t?"stylesheet":X,t||(o.as="script",o.crossOrigin=""),o.href=f,document.head.appendChild(o),t)return new Promise((l,_)=>{o.addEventListener("load",l),o.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${f}`)))})})).then(()=>e())},ie={};function Z(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,f(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&A(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){const u={};if(r&8&&(u.data=t[3]),r&4&&(u.form=t[2]),r&2&&s!==(s=t[1][0])){if(e){L();const o=e;p(o.$$.fragment,1,0,()=>{R(o,1)}),y()}s?(e=k(s,f(t)),t[12](e),v(e.$$.fragment),d(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else s&&e.$set(u)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&p(e.$$.fragment,t),i=!1},d(t){a[12](null),t&&g(n),e&&R(e,t)}}}function $(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],$$slots:{default:[x]},$$scope:{ctx:t}}}}return s&&(e=k(s,f(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&A(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){const u={};if(r&8&&(u.data=t[3]),r&8215&&(u.$$scope={dirty:r,ctx:t}),r&2&&s!==(s=t[1][0])){if(e){L();const o=e;p(o.$$.fragment,1,0,()=>{R(o,1)}),y()}s?(e=k(s,f(t)),t[11](e),v(e.$$.fragment),d(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else s&&e.$set(u)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&p(e.$$.fragment,t),i=!1},d(t){a[11](null),t&&g(n),e&&R(e,t)}}}function x(a){let e,n,i;var s=a[1][1];function f(t){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,f(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&A(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),w(t,n,r),i=!0},p(t,r){const u={};if(r&16&&(u.data=t[4]),r&4&&(u.form=t[2]),r&2&&s!==(s=t[1][1])){if(e){L();const o=e;p(o.$$.fragment,1,0,()=>{R(o,1)}),y()}s?(e=k(s,f(t)),t[10](e),v(e.$$.fragment),d(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else s&&e.$set(u)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&p(e.$$.fragment,t),i=!1},d(t){a[10](null),t&&g(n),e&&R(e,t)}}}function C(a){let e,n=a[6]&&D(a);return{c(){e=G("div"),n&&n.c(),this.h()},l(i){e=H(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=J(e);n&&n.l(s),s.forEach(g),this.h()},h(){N(e,"id","svelte-announcer"),N(e,"aria-live","assertive"),N(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){w(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=D(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&g(e),n&&n.d()}}}function D(a){let e;return{c(){e=K(a[7])},l(n){e=M(n,a[7])},m(n,i){w(n,e,i)},p(n,i){i&128&&Q(e,n[7])},d(n){n&&g(e)}}}function ee(a){let e,n,i,s,f;const t=[$,Z],r=[];function u(l,_){return l[1][1]?0:1}e=u(a),n=r[e]=t[e](a);let o=a[5]&&C(a);return{c(){n.c(),i=j(),o&&o.c(),s=h()},l(l){n.l(l),i=z(l),o&&o.l(l),s=h()},m(l,_){r[e].m(l,_),w(l,i,_),o&&o.m(l,_),w(l,s,_),f=!0},p(l,[_]){let b=e;e=u(l),e===b?r[e].p(l,_):(L(),p(r[b],1,1,()=>{r[b]=null}),y(),n=r[e],n?n.p(l,_):(n=r[e]=t[e](l),n.c()),d(n,1),n.m(i.parentNode,i)),l[5]?o?o.p(l,_):(o=C(l),o.c(),o.m(s.parentNode,s)):o&&(o.d(1),o=null)},i(l){f||(d(n),f=!0)},o(l){p(n),f=!1},d(l){r[e].d(l),l&&g(i),o&&o.d(l),l&&g(s)}}}function te(a,e,n){let{stores:i}=e,{page:s}=e,{constructors:f}=e,{components:t=[]}=e,{form:r}=e,{data_0:u=null}=e,{data_1:o=null}=e;W(i.page.notify);let l=!1,_=!1,b=null;F(()=>{const c=i.page.subscribe(()=>{l&&(n(6,_=!0),n(7,b=document.title||"untitled page"))});return n(5,l=!0),c});function I(c){P[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function O(c){P[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function T(c){P[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return a.$$set=c=>{"stores"in c&&n(8,i=c.stores),"page"in c&&n(9,s=c.page),"constructors"in c&&n(1,f=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,r=c.form),"data_0"in c&&n(3,u=c.data_0),"data_1"in c&&n(4,o=c.data_1)},a.$$.update=()=>{a.$$.dirty&768&&i.page.set(s)},[t,f,r,u,o,l,_,b,i,s,I,O,T]}class se extends V{constructor(e){super(),q(this,e,te,ee,U,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const re=[()=>S(()=>import("../nodes/0.e2c3be55.js"),["../nodes/0.e2c3be55.js","../chunks/index.972f6cff.js","../assets/0.c3899f22.css"],import.meta.url),()=>S(()=>import("../nodes/1.b02a77f0.js"),["../nodes/1.b02a77f0.js","../chunks/index.972f6cff.js","../chunks/singletons.2db0ced3.js"],import.meta.url),()=>S(()=>import("../nodes/2.7e90e579.js"),["../nodes/2.7e90e579.js","../chunks/index.972f6cff.js","../chunks/singletons.2db0ced3.js"],import.meta.url)],oe=[],ae={"/":[2]},le={handleError:({error:a})=>{console.error(a)}};export{ae as dictionary,le as hooks,ie as matchers,re as nodes,se as root,oe as server_loads};
 
 
_app/immutable/entry/start.b93677e3.js DELETED
@@ -1,3 +0,0 @@
1
- import{o as De,t as ye}from"../chunks/index.972f6cff.js";import{S as He,a as Je,I as V,g as Ce,f as Ve,b as we,c as le,s as M,d as ee,i as _e,e as J,P as qe,h as We}from"../chunks/singletons.2db0ced3.js";function Xe(t,o){return t==="/"||o==="ignore"?t:o==="never"?t.endsWith("/")?t.slice(0,-1):t:o==="always"&&!t.endsWith("/")?t+"/":t}function Ze(t){return t.split("%25").map(decodeURI).join("%25")}function Qe(t){for(const o in t)t[o]=decodeURIComponent(t[o]);return t}const et=["href","pathname","search","searchParams","toString","toJSON"];function tt(t,o){const u=new URL(t);for(const i of et)Object.defineProperty(u,i,{get(){return o(),t[i]},enumerable:!0,configurable:!0});return nt(u),u}function nt(t){Object.defineProperty(t,"hash",{get(){throw new Error("Cannot access event.url.hash. Consider using `$page.url.hash` inside a component instead")}})}const at="/__data.json";function rt(t){return t.replace(/\/$/,"")+at}function Ke(t){try{return JSON.parse(sessionStorage[t])}catch{}}function Fe(t,o){const u=JSON.stringify(o);try{sessionStorage[t]=u}catch{}}function ot(...t){let o=5381;for(const u of t)if(typeof u=="string"){let i=u.length;for(;i;)o=o*33^u.charCodeAt(--i)}else if(ArrayBuffer.isView(u)){const i=new Uint8Array(u.buffer,u.byteOffset,u.byteLength);let d=i.length;for(;d;)o=o*33^i[--d]}else throw new TypeError("value must be a string or TypedArray");return(o>>>0).toString(36)}const fe=window.fetch;window.fetch=(t,o)=>((t instanceof Request?t.method:(o==null?void 0:o.method)||"GET")!=="GET"&&ne.delete(Se(t)),fe(t,o));const ne=new Map;function it(t,o){const u=Se(t,o),i=document.querySelector(u);if(i!=null&&i.textContent){const{body:d,...f}=JSON.parse(i.textContent),S=i.getAttribute("data-ttl");return S&&ne.set(u,{body:d,init:f,ttl:1e3*Number(S)}),Promise.resolve(new Response(d,f))}return fe(t,o)}function st(t,o,u){if(ne.size>0){const i=Se(t,u),d=ne.get(i);if(d){if(performance.now()<d.ttl&&["default","force-cache","only-if-cached",void 0].includes(u==null?void 0:u.cache))return new Response(d.body,d.init);ne.delete(i)}}return fe(o,u)}function Se(t,o){let i=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(o!=null&&o.headers||o!=null&&o.body){const d=[];o.headers&&d.push([...new Headers(o.headers)].join(",")),o.body&&(typeof o.body=="string"||ArrayBuffer.isView(o.body))&&d.push(o.body),i+=`[data-hash="${ot(...d)}"]`}return i}const ct=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function lt(t){const o=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${ut(t).map(i=>{const d=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(i);if(d)return o.push({name:d[1],matcher:d[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const f=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(i);if(f)return o.push({name:f[1],matcher:f[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!i)return;const S=i.split(/\[(.+?)\](?!\])/);return"/"+S.map((w,_)=>{if(_%2){if(w.startsWith("x+"))return be(String.fromCharCode(parseInt(w.slice(2),16)));if(w.startsWith("u+"))return be(String.fromCharCode(...w.slice(2).split("-").map(P=>parseInt(P,16))));const p=ct.exec(w);if(!p)throw new Error(`Invalid param: ${w}. Params and matcher names can only have underscores and alphanumeric characters.`);const[,D,x,k,N]=p;return o.push({name:k,matcher:N,optional:!!D,rest:!!x,chained:x?_===1&&S[0]==="":!1}),x?"(.*?)":D?"([^/]*)?":"([^/]+?)"}return be(w)}).join("")}).join("")}/?$`),params:o}}function ft(t){return!/^\([^)]+\)$/.test(t)}function ut(t){return t.slice(1).split("/").filter(ft)}function dt(t,o,u){const i={},d=t.slice(1);let f=0;for(let S=0;S<o.length;S+=1){const l=o[S];let w=d[S-f];if(l.chained&&l.rest&&f&&(w=d.slice(S-f,S+1).filter(_=>_).join("/"),f=0),w===void 0){l.rest&&(i[l.name]="");continue}if(!l.matcher||u[l.matcher](w)){i[l.name]=w;const _=o[S+1],p=d[S+1];_&&!_.rest&&_.optional&&p&&l.chained&&(f=0);continue}if(l.optional&&l.chained){f++;continue}return}if(!f)return i}function be(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function pt({nodes:t,server_loads:o,dictionary:u,matchers:i}){const d=new Set(o);return Object.entries(u).map(([l,[w,_,p]])=>{const{pattern:D,params:x}=lt(l),k={id:l,exec:N=>{const P=D.exec(N);if(P)return dt(P,x,i)},errors:[1,...p||[]].map(N=>t[N]),layouts:[0,..._||[]].map(S),leaf:f(w)};return k.errors.length=k.layouts.length=Math.max(k.errors.length,k.layouts.length),k});function f(l){const w=l<0;return w&&(l=~l),[w,t[l]]}function S(l){return l===void 0?l:[d.has(l),t[l]]}}class te{constructor(o,u){this.status=o,typeof u=="string"?this.body={message:u}:u?this.body=u:this.body={message:`Error: ${o}`}}toString(){return JSON.stringify(this.body)}}class Me{constructor(o,u){this.status=o,this.location=u}}async function ht(t){var o;for(const u in t)if(typeof((o=t[u])==null?void 0:o.then)=="function")return Object.fromEntries(await Promise.all(Object.entries(t).map(async([i,d])=>[i,await d])));return t}const gt=-1,mt=-2,yt=-3,wt=-4,_t=-5,bt=-6;function vt(t,o){if(typeof t=="number")return d(t,!0);if(!Array.isArray(t)||t.length===0)throw new Error("Invalid input");const u=t,i=Array(u.length);function d(f,S=!1){if(f===gt)return;if(f===yt)return NaN;if(f===wt)return 1/0;if(f===_t)return-1/0;if(f===bt)return-0;if(S)throw new Error("Invalid input");if(f in i)return i[f];const l=u[f];if(!l||typeof l!="object")i[f]=l;else if(Array.isArray(l))if(typeof l[0]=="string"){const w=l[0],_=o==null?void 0:o[w];if(_)return i[f]=_(d(l[1]));switch(w){case"Date":i[f]=new Date(l[1]);break;case"Set":const p=new Set;i[f]=p;for(let k=1;k<l.length;k+=1)p.add(d(l[k]));break;case"Map":const D=new Map;i[f]=D;for(let k=1;k<l.length;k+=2)D.set(d(l[k]),d(l[k+1]));break;case"RegExp":i[f]=new RegExp(l[1],l[2]);break;case"Object":i[f]=Object(l[1]);break;case"BigInt":i[f]=BigInt(l[1]);break;case"null":const x=Object.create(null);i[f]=x;for(let k=1;k<l.length;k+=2)x[l[k]]=d(l[k+1]);break;default:throw new Error(`Unknown type ${w}`)}}else{const w=new Array(l.length);i[f]=w;for(let _=0;_<l.length;_+=1){const p=l[_];p!==mt&&(w[_]=d(p))}}else{const w={};i[f]=w;for(const _ in l){const p=l[_];w[_]=d(p)}}return i[f]}return d(0)}const ze=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ze];const Et=new Set([...ze]);[...Et];function St(t){return t.filter(o=>o!=null)}const kt="x-sveltekit-invalidated",K=Ke(He)??{},Q=Ke(Je)??{};function ve(t){K[t]=ee()}function Rt(t,o){var $e;const u=pt(t),i=t.nodes[0],d=t.nodes[1];i(),d();const f=document.documentElement,S=[],l=[];let w=null;const _={before_navigate:[],after_navigate:[]};let p={branch:[],error:null,url:null},D=!1,x=!1,k=!0,N=!1,P=!1,z=!1,B=!1,q,j=($e=history.state)==null?void 0:$e[V];j||(j=Date.now(),history.replaceState({...history.state,[V]:j},"",location.href));const ue=K[j];ue&&(history.scrollRestoration="manual",scrollTo(ue.x,ue.y));let F,ae,Y;async function ke(){if(Y=Y||Promise.resolve(),await Y,!Y)return;Y=null;const e=new URL(location.href),n=X(e,!0);w=null;const r=ae={},a=n&&await he(n);if(r===ae&&a){if(a.type==="redirect")return re(new URL(a.location,e).href,{},[e.pathname],r);a.props.page!==void 0&&(F=a.props.page),q.$set(a.props)}}function Re(e){l.some(n=>n==null?void 0:n.snapshot)&&(Q[e]=l.map(n=>{var r;return(r=n==null?void 0:n.snapshot)==null?void 0:r.capture()}))}function Ae(e){var n;(n=Q[e])==null||n.forEach((r,a)=>{var s,c;(c=(s=l[a])==null?void 0:s.snapshot)==null||c.restore(r)})}function Ie(){ve(j),Fe(He,K),Re(j),Fe(Je,Q)}async function re(e,{noScroll:n=!1,replaceState:r=!1,keepFocus:a=!1,state:s={},invalidateAll:c=!1},g,m){return typeof e=="string"&&(e=new URL(e,Ce(document))),ce({url:e,scroll:n?ee():null,keepfocus:a,redirect_chain:g,details:{state:s,replaceState:r},nav_token:m,accepted:()=>{c&&(B=!0)},blocked:()=>{},type:"goto"})}async function Le(e){return w={id:e.id,promise:he(e).then(n=>(n.type==="loaded"&&n.state.error&&(w=null),n))},w.promise}async function oe(...e){const r=u.filter(a=>e.some(s=>a.exec(s))).map(a=>Promise.all([...a.layouts,a.leaf].map(s=>s==null?void 0:s[1]())));await Promise.all(r)}function Oe(e){var a;p=e.state;const n=document.querySelector("style[data-sveltekit]");n&&n.remove(),F=e.props.page,q=new t.root({target:o,props:{...e.props,stores:M,components:l},hydrate:!0}),Ae(j);const r={from:null,to:{params:p.params,route:{id:((a=p.route)==null?void 0:a.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter"};_.after_navigate.forEach(s=>s(r)),x=!0}async function W({url:e,params:n,branch:r,status:a,error:s,route:c,form:g}){let m="never";for(const b of r)(b==null?void 0:b.slash)!==void 0&&(m=b.slash);e.pathname=Xe(e.pathname,m),e.search=e.search;const v={type:"loaded",state:{url:e,params:n,branch:r,error:s,route:c},props:{constructors:St(r).map(b=>b.node.component)}};g!==void 0&&(v.props.form=g);let y={},R=!F,A=0;for(let b=0;b<Math.max(r.length,p.branch.length);b+=1){const h=r[b],U=p.branch[b];(h==null?void 0:h.data)!==(U==null?void 0:U.data)&&(R=!0),h&&(y={...y,...h.data},R&&(v.props[`data_${A}`]=y),A+=1)}return(!p.url||e.href!==p.url.href||p.error!==s||g!==void 0&&g!==F.form||R)&&(v.props.page={error:s,params:n,route:{id:(c==null?void 0:c.id)??null},status:a,url:new URL(e),form:g??null,data:R?y:F.data}),v}async function de({loader:e,parent:n,url:r,params:a,route:s,server_data_node:c}){var y,R,A;let g=null;const m={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1},v=await e();if((y=v.universal)!=null&&y.load){let O=function(...h){for(const U of h){const{href:$}=new URL(U,r);m.dependencies.add($)}};const b={route:{get id(){return m.route=!0,s.id}},params:new Proxy(a,{get:(h,U)=>(m.params.add(U),h[U])}),data:(c==null?void 0:c.data)??null,url:tt(r,()=>{m.url=!0}),async fetch(h,U){let $;h instanceof Request?($=h.url,U={body:h.method==="GET"||h.method==="HEAD"?void 0:await h.blob(),cache:h.cache,credentials:h.credentials,headers:h.headers,integrity:h.integrity,keepalive:h.keepalive,method:h.method,mode:h.mode,redirect:h.redirect,referrer:h.referrer,referrerPolicy:h.referrerPolicy,signal:h.signal,...U}):$=h;const C=new URL($,r);return O(C.href),C.origin===r.origin&&($=C.href.slice(r.origin.length)),x?st($,C.href,U):it($,U)},setHeaders:()=>{},depends:O,parent(){return m.parent=!0,n()}};g=await v.universal.load.call(null,b)??null,g=g?await ht(g):null}return{node:v,loader:e,server:c,universal:(R=v.universal)!=null&&R.load?{type:"data",data:g,uses:m}:null,data:g??(c==null?void 0:c.data)??null,slash:((A=v.universal)==null?void 0:A.trailingSlash)??(c==null?void 0:c.slash)}}function Pe(e,n,r,a,s){if(B)return!0;if(!a)return!1;if(a.parent&&e||a.route&&n||a.url&&r)return!0;for(const c of a.params)if(s[c]!==p.params[c])return!0;for(const c of a.dependencies)if(S.some(g=>g(new URL(c))))return!0;return!1}function pe(e,n){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?n??null:null}async function he({id:e,invalidating:n,url:r,params:a,route:s}){if((w==null?void 0:w.id)===e)return w.promise;const{errors:c,layouts:g,leaf:m}=s,v=[...g,m];c.forEach(E=>E==null?void 0:E().catch(()=>{})),v.forEach(E=>E==null?void 0:E[1]().catch(()=>{}));let y=null;const R=p.url?e!==p.url.pathname+p.url.search:!1,A=p.route?s.id!==p.route.id:!1;let O=!1;const b=v.map((E,L)=>{var H;const I=p.branch[L],T=!!(E!=null&&E[0])&&((I==null?void 0:I.loader)!==E[1]||Pe(O,A,R,(H=I.server)==null?void 0:H.uses,a));return T&&(O=!0),T});if(b.some(Boolean)){try{y=await Be(r,b)}catch(E){return ie({status:E instanceof te?E.status:500,error:await Z(E,{url:r,params:a,route:{id:s.id}}),url:r,route:s})}if(y.type==="redirect")return y}const h=y==null?void 0:y.nodes;let U=!1;const $=v.map(async(E,L)=>{var ge;if(!E)return;const I=p.branch[L],T=h==null?void 0:h[L];if((!T||T.type==="skip")&&E[1]===(I==null?void 0:I.loader)&&!Pe(U,A,R,(ge=I.universal)==null?void 0:ge.uses,a))return I;if(U=!0,(T==null?void 0:T.type)==="error")throw T;return de({loader:E[1],url:r,params:a,route:s,parent:async()=>{var Te;const je={};for(let me=0;me<L;me+=1)Object.assign(je,(Te=await $[me])==null?void 0:Te.data);return je},server_data_node:pe(T===void 0&&E[0]?{type:"skip"}:T??null,E[0]?I==null?void 0:I.server:void 0)})});for(const E of $)E.catch(()=>{});const C=[];for(let E=0;E<v.length;E+=1)if(v[E])try{C.push(await $[E])}catch(L){if(L instanceof Me)return{type:"redirect",location:L.location};let I=500,T;if(h!=null&&h.includes(L))I=L.status??I,T=L.error;else if(L instanceof te)I=L.status,T=L.body;else{if(await M.updated.check())return await G(r);T=await Z(L,{params:a,url:r,route:{id:s.id}})}const H=await Ue(E,C,c);return H?await W({url:r,params:a,branch:C.slice(0,H.idx).concat(H.node),status:I,error:T,route:s}):await Ne(r,{id:s.id},T,I)}else C.push(void 0);return await W({url:r,params:a,branch:C,status:200,error:null,route:s,form:n?void 0:null})}async function Ue(e,n,r){for(;e--;)if(r[e]){let a=e;for(;!n[a];)a-=1;try{return{idx:a+1,node:{node:await r[e](),loader:r[e],data:{},server:null,universal:null}}}catch{continue}}}async function ie({status:e,error:n,url:r,route:a}){const s={};let c=null;if(t.server_loads[0]===0)try{const y=await Be(r,[!0]);if(y.type!=="data"||y.nodes[0]&&y.nodes[0].type!=="data")throw 0;c=y.nodes[0]??null}catch{(r.origin!==location.origin||r.pathname!==location.pathname||D)&&await G(r)}const m=await de({loader:i,url:r,params:s,route:a,parent:()=>Promise.resolve({}),server_data_node:pe(c)}),v={node:await d(),loader:d,universal:null,server:null,data:null};return await W({url:r,params:s,branch:[m,v],status:e,error:n,route:null})}function X(e,n){if(_e(e,J))return;const r=se(e);for(const a of u){const s=a.exec(r);if(s)return{id:e.pathname+e.search,invalidating:n,route:a,params:Qe(s),url:e}}}function se(e){return Ze(e.pathname.slice(J.length)||"/")}function xe({url:e,type:n,intent:r,delta:a}){var m,v;let s=!1;const c={from:{params:p.params,route:{id:((m=p.route)==null?void 0:m.id)??null},url:p.url},to:{params:(r==null?void 0:r.params)??null,route:{id:((v=r==null?void 0:r.route)==null?void 0:v.id)??null},url:e},willUnload:!r,type:n};a!==void 0&&(c.delta=a);const g={...c,cancel:()=>{s=!0}};return P||_.before_navigate.forEach(y=>y(g)),s?null:c}async function ce({url:e,scroll:n,keepfocus:r,redirect_chain:a,details:s,type:c,delta:g,nav_token:m={},accepted:v,blocked:y}){var $,C,E;const R=X(e,!1),A=xe({url:e,type:c,delta:g,intent:R});if(!A){y();return}const O=j;v(),P=!0,x&&M.navigating.set(A),ae=m;let b=R&&await he(R);if(!b){if(_e(e,J))return await G(e);b=await Ne(e,{id:null},await Z(new Error(`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(R==null?void 0:R.url)||e,ae!==m)return!1;if(b.type==="redirect")if(a.length>10||a.includes(e.pathname))b=await ie({status:500,error:await Z(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return re(new URL(b.location,e).href,{},[...a,e.pathname],m),!1;else(($=b.props.page)==null?void 0:$.status)>=400&&await M.updated.check()&&await G(e);if(S.length=0,B=!1,N=!0,ve(O),Re(O),(C=b.props.page)!=null&&C.url&&b.props.page.url.pathname!==e.pathname&&(e.pathname=(E=b.props.page)==null?void 0:E.url.pathname),s){const L=s.replaceState?0:1;if(s.state[V]=j+=L,history[s.replaceState?"replaceState":"pushState"](s.state,"",e),!s.replaceState){let I=j+1;for(;Q[I]||K[I];)delete Q[I],delete K[I],I+=1}}w=null,x?(p=b.state,b.props.page&&(b.props.page.url=e),q.$set(b.props)):Oe(b);const{activeElement:h}=document;if(await ye(),k){const L=e.hash&&document.getElementById(decodeURIComponent(e.hash.slice(1)));n?scrollTo(n.x,n.y):L?L.scrollIntoView():scrollTo(0,0)}const U=document.activeElement!==h&&document.activeElement!==document.body;!r&&!U&&Ee(),k=!0,b.props.page&&(F=b.props.page),P=!1,c==="popstate"&&Ae(j),_.after_navigate.forEach(L=>L(A)),M.navigating.set(null),N=!1}async function Ne(e,n,r,a){return e.origin===location.origin&&e.pathname===location.pathname&&!D?await ie({status:a,error:r,url:e,route:n}):await G(e)}function G(e){return location.href=e.href,new Promise(()=>{})}function Ye(){let e;f.addEventListener("mousemove",c=>{const g=c.target;clearTimeout(e),e=setTimeout(()=>{a(g,2)},20)});function n(c){a(c.composedPath()[0],1)}f.addEventListener("mousedown",n),f.addEventListener("touchstart",n,{passive:!0});const r=new IntersectionObserver(c=>{for(const g of c)g.isIntersecting&&(oe(se(new URL(g.target.href))),r.unobserve(g.target))},{threshold:0});function a(c,g){const m=Ve(c,f);if(!m)return;const{url:v,external:y,download:R}=we(m,J);if(y||R)return;const A=le(m);if(!A.reload)if(g<=A.preload_data){const O=X(v,!1);O&&Le(O)}else g<=A.preload_code&&oe(se(v))}function s(){r.disconnect();for(const c of f.querySelectorAll("a")){const{url:g,external:m,download:v}=we(c,J);if(m||v)continue;const y=le(c);y.reload||(y.preload_code===qe.viewport&&r.observe(c),y.preload_code===qe.eager&&oe(se(g)))}}_.after_navigate.push(s),s()}function Z(e,n){return e instanceof te?e.body:t.hooks.handleError({error:e,event:n})??{message:n.route.id!=null?"Internal Error":"Not Found"}}return{after_navigate:e=>{De(()=>(_.after_navigate.push(e),()=>{const n=_.after_navigate.indexOf(e);_.after_navigate.splice(n,1)}))},before_navigate:e=>{De(()=>(_.before_navigate.push(e),()=>{const n=_.before_navigate.indexOf(e);_.before_navigate.splice(n,1)}))},disable_scroll_handling:()=>{(N||!x)&&(k=!1)},goto:(e,n={})=>re(e,n,[]),invalidate:e=>{if(typeof e=="function")S.push(e);else{const{href:n}=new URL(e,location.href);S.push(r=>r.href===n)}return ke()},invalidate_all:()=>(B=!0,ke()),preload_data:async e=>{const n=new URL(e,Ce(document)),r=X(n,!1);if(!r)throw new Error(`Attempted to preload a URL that does not belong to this app: ${n}`);await Le(r)},preload_code:oe,apply_action:async e=>{if(e.type==="error"){const n=new URL(location.href),{branch:r,route:a}=p;if(!a)return;const s=await Ue(p.branch.length,r,a.errors);if(s){const c=await W({url:n,params:p.params,branch:r.slice(0,s.idx).concat(s.node),status:e.status??500,error:e.error,route:a});p=c.state,q.$set(c.props),ye().then(Ee)}}else e.type==="redirect"?re(e.location,{invalidateAll:!0},[]):(q.$set({form:null,page:{...F,form:e.data,status:e.status}}),await ye(),q.$set({form:e.data}),e.type==="success"&&Ee())},_start_router:()=>{var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{var a;let r=!1;if(Ie(),!P){const s={from:{params:p.params,route:{id:((a=p.route)==null?void 0:a.id)??null},url:p.url},to:null,willUnload:!0,type:"leave",cancel:()=>r=!0};_.before_navigate.forEach(c=>c(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ie()}),(e=navigator.connection)!=null&&e.saveData||Ye(),f.addEventListener("click",n=>{var A;if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=Ve(n.composedPath()[0],f);if(!r)return;const{url:a,external:s,target:c,download:g}=we(r,J);if(!a)return;if(c==="_parent"||c==="_top"){if(window.parent!==window)return}else if(c&&c!=="_self")return;const m=le(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||g)return;if(s||m.reload){xe({url:a,type:"link"})?P=!0:n.preventDefault();return}const[y,R]=a.href.split("#");if(R!==void 0&&y===location.href.split("#")[0]){if(p.url.hash===a.hash){n.preventDefault(),(A=r.ownerDocument.getElementById(R))==null||A.scrollIntoView();return}if(z=!0,ve(j),p.url=a,M.page.set({...F,url:a}),M.page.notify(),!m.replace_state)return;z=!1,n.preventDefault()}ce({url:a,scroll:m.noscroll?ee():null,keepfocus:m.keep_focus??!1,redirect_chain:[],details:{state:{},replaceState:m.replace_state??a.href===location.href},accepted:()=>n.preventDefault(),blocked:()=>n.preventDefault(),type:"link"})}),f.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const c=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(_e(c,J))return;const g=n.target,{keep_focus:m,noscroll:v,reload:y,replace_state:R}=le(g);if(y)return;n.preventDefault(),n.stopPropagation();const A=new FormData(g),O=a==null?void 0:a.getAttribute("name");O&&A.append(O,(a==null?void 0:a.getAttribute("value"))??""),c.search=new URLSearchParams(A).toString(),ce({url:c,scroll:v?ee():null,keepfocus:m??!1,redirect_chain:[],details:{state:{},replaceState:R??c.href===location.href},nav_token:{},accepted:()=>{},blocked:()=>{},type:"form"})}),addEventListener("popstate",async n=>{var r;if((r=n.state)!=null&&r[V]){if(n.state[V]===j)return;const a=K[n.state[V]];if(p.url.href.split("#")[0]===location.href.split("#")[0]){K[j]=ee(),j=n.state[V],scrollTo(a.x,a.y);return}const s=n.state[V]-j;await ce({url:new URL(location.href),scroll:a,keepfocus:!1,redirect_chain:[],details:null,accepted:()=>{j=n.state[V]},blocked:()=>{history.go(-s)},type:"popstate",delta:s})}}),addEventListener("hashchange",()=>{z&&(z=!1,history.replaceState({...history.state,[V]:++j},"",location.href))});for(const n of document.querySelectorAll("link"))n.rel==="icon"&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&M.navigating.set(null)})},_hydrate:async({status:e=200,error:n,node_ids:r,params:a,route:s,data:c,form:g})=>{D=!0;const m=new URL(location.href);({params:a={},route:s={id:null}}=X(m,!1)||{});let v;try{const y=r.map(async(O,b)=>{const h=c[b];return h!=null&&h.uses&&(h.uses=Ge(h.uses)),de({loader:t.nodes[O],url:m,params:a,route:s,parent:async()=>{const U={};for(let $=0;$<b;$+=1)Object.assign(U,(await y[$]).data);return U},server_data_node:pe(h)})}),R=await Promise.all(y),A=u.find(({id:O})=>O===s.id);if(A){const O=A.layouts;for(let b=0;b<O.length;b++)O[b]||R.splice(b,0,void 0)}v=await W({url:m,params:a,branch:R,status:e,error:n,form:g,route:A??null})}catch(y){if(y instanceof Me){await G(new URL(y.location,location.href));return}v=await ie({status:y instanceof te?y.status:500,error:await Z(y,{url:m,params:a,route:s}),url:m,route:s})}Oe(v)}}}async function Be(t,o){const u=new URL(t);u.pathname=rt(t.pathname),u.searchParams.append(kt,o.map(d=>d?"1":"0").join(""));const i=await fe(u.href);if(!i.ok)throw new te(i.status,await i.json());return new Promise(async d=>{var p;const f=new Map,S=i.body.getReader(),l=new TextDecoder;function w(D){return vt(D,{Promise:x=>new Promise((k,N)=>{f.set(x,{fulfil:k,reject:N})})})}let _="";for(;;){const{done:D,value:x}=await S.read();if(D&&!_)break;for(_+=!x&&_?`
2
- `:l.decode(x);;){const k=_.indexOf(`
3
- `);if(k===-1)break;const N=JSON.parse(_.slice(0,k));if(_=_.slice(k+1),N.type==="redirect")return d(N);if(N.type==="data")(p=N.nodes)==null||p.forEach(P=>{(P==null?void 0:P.type)==="data"&&(P.uses=Ge(P.uses),P.data=w(P.data))}),d(N);else if(N.type==="chunk"){const{id:P,data:z,error:B}=N,q=f.get(P);f.delete(P),B?q.reject(w(B)):q.fulfil(w(z))}}}})}function Ge(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url)}}function Ee(){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const o=document.body,u=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),u!==null?o.setAttribute("tabindex",u):o.removeAttribute("tabindex");const i=getSelection();if(i&&i.type!=="None"){const d=[];for(let f=0;f<i.rangeCount;f+=1)d.push(i.getRangeAt(f));setTimeout(()=>{if(i.rangeCount===d.length){for(let f=0;f<i.rangeCount;f+=1){const S=d[f],l=i.getRangeAt(f);if(S.commonAncestorContainer!==l.commonAncestorContainer||S.startContainer!==l.startContainer||S.endContainer!==l.endContainer||S.startOffset!==l.startOffset||S.endOffset!==l.endOffset)return}i.removeAllRanges()}})}}}async function Lt(t,o,u){const i=Rt(t,o);We({client:i}),u?await i._hydrate(u):i.goto(location.href,{replaceState:!0}),i._start_router()}export{Lt as start};
 
 
 
 
_app/immutable/nodes/0.e2c3be55.js DELETED
@@ -1 +0,0 @@
1
- import{S as i,i as u,s as _,C as c,k as f,l as d,m as p,h as r,n as m,b as h,D as $,E as v,F as g,g as b,d as y}from"../chunks/index.972f6cff.js";const S=!0,E=Object.freeze(Object.defineProperty({__proto__:null,prerender:S},Symbol.toStringTag,{value:"Module"}));function j(l){let s,a;const o=l[1].default,t=c(o,l,l[0],null);return{c(){s=f("div"),t&&t.c(),this.h()},l(e){s=d(e,"DIV",{class:!0});var n=p(s);t&&t.l(n),n.forEach(r),this.h()},h(){m(s,"class","p-4 max-w-xl mx-auto")},m(e,n){h(e,s,n),t&&t.m(s,null),a=!0},p(e,[n]){t&&t.p&&(!a||n&1)&&$(t,o,e,e[0],a?g(o,e[0],n,null):v(e[0]),null)},i(e){a||(b(t,e),a=!0)},o(e){y(t,e),a=!1},d(e){e&&r(s),t&&t.d(e)}}}function C(l,s,a){let{$$slots:o={},$$scope:t}=s;return l.$$set=e=>{"$$scope"in e&&a(0,t=e.$$scope)},[t,o]}class O extends i{constructor(s){super(),u(this,s,C,j,_,{})}}export{O as component,E as universal};
 
 
_app/immutable/nodes/1.b02a77f0.js DELETED
@@ -1 +0,0 @@
1
- import{S,i as q,s as x,k as _,q as f,a as H,l as d,m as g,r as h,h as u,c as k,b as m,G as v,u as $,H as E,I as y}from"../chunks/index.972f6cff.js";import{s as C}from"../chunks/singletons.2db0ced3.js";const G=()=>{const s=C;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},I={subscribe(s){return G().page.subscribe(s)}};function P(s){var b;let t,r=s[0].status+"",o,n,i,c=((b=s[0].error)==null?void 0:b.message)+"",l;return{c(){t=_("h1"),o=f(r),n=H(),i=_("p"),l=f(c)},l(e){t=d(e,"H1",{});var a=g(t);o=h(a,r),a.forEach(u),n=k(e),i=d(e,"P",{});var p=g(i);l=h(p,c),p.forEach(u)},m(e,a){m(e,t,a),v(t,o),m(e,n,a),m(e,i,a),v(i,l)},p(e,[a]){var p;a&1&&r!==(r=e[0].status+"")&&$(o,r),a&1&&c!==(c=((p=e[0].error)==null?void 0:p.message)+"")&&$(l,c)},i:E,o:E,d(e){e&&u(t),e&&u(n),e&&u(i)}}}function j(s,t,r){let o;return y(s,I,n=>r(0,o=n)),[o]}let A=class extends S{constructor(t){super(),q(this,t,j,P,x,{})}};export{A as component};
 
 
_app/immutable/nodes/2.7e90e579.js DELETED
The diff for this file is too large to render. See raw diff
 
_app/version.json DELETED
@@ -1 +0,0 @@
1
- {"version":"1689951976632"}
 
 
index.html DELETED
@@ -1,113 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <link rel="icon" href="./favicon.svg" />
6
- <meta name="viewport" content="width=device-width" />
7
- <title>agents js demo</title>
8
-
9
- <link href="./_app/immutable/assets/0.c3899f22.css" rel="stylesheet">
10
- <link rel="modulepreload" href="./_app/immutable/entry/start.b93677e3.js">
11
- <link rel="modulepreload" href="./_app/immutable/chunks/index.972f6cff.js">
12
- <link rel="modulepreload" href="./_app/immutable/chunks/singletons.2db0ced3.js">
13
- <link rel="modulepreload" href="./_app/immutable/entry/app.47bdd34d.js">
14
- <link rel="modulepreload" href="./_app/immutable/nodes/0.e2c3be55.js">
15
- <link rel="modulepreload" href="./_app/immutable/nodes/2.7e90e579.js">
16
- </head>
17
- <body data-sveltekit-preload-data="hover">
18
- <div style="display: contents">
19
-
20
-
21
- <div class="p-4 max-w-xl mx-auto"><dialog id="api_modal" class="modal"><form method="dialog" class="modal-box bg-base-300 shadow-xl border-base-content border-2"><h3 class="font-bold text-xl pb-5">API keys needed</h3>
22
- <div class="w-full flex flex-col"><form aria-label="HF API" class="form-control"><div><h3 class="font-bold inline">HF API Token</h3>
23
- <span class="inline text-base-content">*</span></div>
24
-
25
- <label for="hf_key" class="label-text pb-2">In order for this demo to work you need your HF API token.
26
- </label>
27
- <input class="input input-primary" name="hf_key" type="text" placeholder="hf_***" value=""></form>
28
- <div class="divider"></div>
29
- <form aria-label="HF ENDPOINT" class="form-control"><h3 class="font-bold">HF Inference endpoint</h3>
30
- <label for="hf_endpoint" class="label-text pb-2">Optionally you can specify a HF inference endpoint. If you leave this
31
- empty the default endpoint will be used.
32
- </label>
33
- <input class="input" name="hf_endpoint" type="text" placeholder="http://***" value=""></form>
34
- <div class="divider"></div>
35
- <form aria-label="OPENAI API" class="form-control"><h3 class="font-bold">OpenAI key</h3>
36
- <label for="oai_key" class="label-text pb-2">Optionally you can add your OpenAI key to use it as your LLM.
37
- </label>
38
- <input class="input" name="oai_key" type="text" placeholder="sk-***" value=""></form></div>
39
- <div class="modal-action"><button class="btn btn-neutral w-fit mx-auto">Close</button></div></form></dialog>
40
-
41
- <div class="flex flex-col space-y-4 max-w-xl"><div class="flex flex-row"><svg class="text-4xl" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 95 88"><path fill="#FFD21E" d="M47.21 76.5a34.75 34.75 0 1 0 0-69.5 34.75 34.75 0 0 0 0 69.5Z"></path><path fill="#FF9D0B" d="M81.96 41.75a34.75 34.75 0 1 0-69.5 0 34.75 34.75 0 0 0 69.5 0Zm-73.5 0a38.75 38.75 0 1 1 77.5 0 38.75 38.75 0 0 1-77.5 0Z"></path><path fill="#3A3B45" d="M58.5 32.3c1.28.44 1.78 3.06 3.07 2.38a5 5 0 1 0-6.76-2.07c.61 1.15 2.55-.72 3.7-.32ZM34.95 32.3c-1.28.44-1.79 3.06-3.07 2.38a5 5 0 1 1 6.76-2.07c-.61 1.15-2.56-.72-3.7-.32ZM46.96 56.29c9.83 0 13-8.76 13-13.26 0-2.34-1.57-1.6-4.09-.36-2.33 1.15-5.46 2.74-8.9 2.74-7.19 0-13-6.88-13-2.38s3.16 13.26 13 13.26Z"></path><mask id="a" width="27" height="16" x="33" y="41" maskUnits="userSpaceOnUse"><path fill="#fff" d="M46.96 56.29c9.83 0 13-8.76 13-13.26 0-2.34-1.57-1.6-4.09-.36-2.33 1.15-5.46 2.74-8.9 2.74-7.19 0-13-6.88-13-2.38s3.16 13.26 13 13.26Z"></path></mask><g mask="url(#a)"><path fill="#F94040" d="M47.21 66.5a8.67 8.67 0 0 0 2.65-16.94c-.84-.26-1.73 2.6-2.65 2.6-.86 0-1.7-2.88-2.48-2.65a8.68 8.68 0 0 0 2.48 16.99Z"></path></g><path fill="#FF9D0B" d="M70.71 37a3.25 3.25 0 1 0 0-6.5 3.25 3.25 0 0 0 0 6.5ZM24.21 37a3.25 3.25 0 1 0 0-6.5 3.25 3.25 0 0 0 0 6.5ZM17.52 48c-1.62 0-3.06.66-4.07 1.87a5.97 5.97 0 0 0-1.33 3.76 7.1 7.1 0 0 0-1.94-.3c-1.55 0-2.95.59-3.94 1.66a5.8 5.8 0 0 0-.8 7 5.3 5.3 0 0 0-1.79 2.82c-.24.9-.48 2.8.8 4.74a5.22 5.22 0 0 0-.37 5.02c1.02 2.32 3.57 4.14 8.52 6.1 3.07 1.22 5.89 2 5.91 2.01a44.33 44.33 0 0 0 10.93 1.6c5.86 0 10.05-1.8 12.46-5.34 3.88-5.69 3.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7 5.7 0 0 0-4.6 2.46c-1-1.26-1.98-2.25-2.86-2.82A7.4 7.4 0 0 0 17.52 48Zm0 4c.51 0 1.14.22 1.82.65 2.14 1.36 6.25 8.43 7.76 11.18.5.92 1.37 1.31 2.14 1.31 1.55 0 2.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02 1.7 0 2.45 2.93 2.45 2.93s2.2 5.52 5.98 9.3c3.77 3.77 3.97 6.8 1.22 10.83-1.88 2.75-5.47 3.58-9.16 3.58-3.81 0-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7 .28-.54.75-.76 1.34-.76 2.38 0 6.7 3.54 8.57 3.54.41 0 .7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02 1.44-1.02 3.14 0 10.2 5.53 11.68 5.53.11 0 .2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38 1-.38 3.17 0 10.66 6.82 10.66 6.82s2.02 2.1 3.25 2.1c.28 0 .52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85 1.31-2.85Z"></path><path fill="#FFD21E" d="M38.6 76.69c2.75-4.04 2.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24 5.08.68 8.01 3.91 2.93-.78 4.92-2.29 2.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13 2.2.5 2.79 9.43 9.55 8.56 11-.87 1.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08 2.27 1.59 4.17 6.8 7.33 5.23 3.16 5.64 4 4.9 5.2-.75 1.2-12.28-8.53-13.36-4.4-1.08 4.11 11.77 5.3 10.98 8.15-.8 2.85-9.06-5.38-10.74-2.18-1.7 3.21 11.65 6.98 11.76 7.01 4.3 1.12 15.25 3.49 19.08-2.12Z"></path><path fill="#FF9D0B" d="M77.4 48c1.62 0 3.07.66 4.07 1.87a5.97 5.97 0 0 1 1.33 3.76 7.1 7.1 0 0 1 1.95-.3c1.55 0 2.95.59 3.94 1.66a5.8 5.8 0 0 1 .8 7 5.3 5.3 0 0 1 1.78 2.82c.24.9.48 2.8-.8 4.74a5.22 5.22 0 0 1 .37 5.02c-1.02 2.32-3.57 4.14-8.51 6.1-3.08 1.22-5.9 2-5.92 2.01a44.33 44.33 0 0 1-10.93 1.6c-5.86 0-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9 1.7-15.92 2.78-2.78 4.63-6.87 5.01-7.77.78-2.66 2.83-5.62 6.24-5.62a5.7 5.7 0 0 1 4.6 2.46c1-1.26 1.98-2.25 2.87-2.82A7.4 7.4 0 0 1 77.4 48Zm0 4c-.51 0-1.13.22-1.82.65-2.13 1.36-6.25 8.43-7.76 11.18a2.43 2.43 0 0 1-2.14 1.31c-1.54 0-2.75-1.53-.14-3.48 3.91-2.93 2.54-7.72.67-8.01a1.54 1.54 0 0 0-.24-.02c-1.7 0-2.45 2.93-2.45 2.93s-2.2 5.52-5.97 9.3c-3.78 3.77-3.98 6.8-1.22 10.83 1.87 2.75 5.47 3.58 9.15 3.58 3.82 0 7.73-.9 9.93-1.46.1-.03 13.45-3.8 11.76-7-.29-.54-.75-.76-1.34-.76-2.38 0-6.71 3.54-8.57 3.54-.42 0-.71-.17-.83-.6-.8-2.85 12.05-4.05 10.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14 0-10.2 5.53-11.68 5.53-.1 0-.19-.03-.23-.1-.74-1.2-.34-2.04 4.88-5.2 5.23-3.16 8.9-5.06 6.8-7.33-.23-.26-.57-.38-.98-.38-3.18 0-10.67 6.82-10.67 6.82s-2.02 2.1-3.24 2.1a.74.74 0 0 1-.68-.38c-.87-1.46 8.05-8.22 8.55-11.01.34-1.9-.24-2.85-1.31-2.85Z"></path><path fill="#FFD21E" d="M56.33 76.69c-2.75-4.04-2.56-7.07 1.22-10.84 3.77-3.77 5.97-9.3 5.97-9.3s.82-3.2 2.7-2.9c1.86.3 3.23 5.08-.68 8.01-3.92 2.93.78 4.92 2.28 2.17 1.51-2.75 5.63-9.82 7.76-11.18 2.13-1.35 3.64-.6 3.13 2.2-.5 2.79-9.42 9.55-8.55 11 .86 1.47 3.92-1.71 3.92-1.71s9.58-8.71 11.66-6.44c2.08 2.27-1.58 4.17-6.8 7.33-5.23 3.16-5.63 4-4.9 5.2.75 1.2 12.28-8.53 13.36-4.4 1.08 4.11-11.76 5.3-10.97 8.15.8 2.85 9.05-5.38 10.74-2.18 1.69 3.21-11.65 6.98-11.76 7.01-4.31 1.12-15.26 3.49-19.08-2.12Z"></path></svg>
42
- <h1 class="text-3xl font-semibold mx-auto">Agents.js</h1>
43
- <button class="btn btn-ghost">API keys</button></div>
44
-
45
-
46
-
47
- <div class="divider"></div>
48
-
49
- <div class="w-fit mx-auto"><h3 class="text-lg">Select your tools</h3>
50
-
51
- <div class="join mx-auto grid grid-cols-4 gap-3"><label class="label cursor-pointer gap-2"><span class="label-text">textToImage</span>
52
- <input class="checkbox" type="checkbox" name="tools" value="textToImage">
53
- </label><label class="label cursor-pointer gap-2"><span class="label-text">imageToText</span>
54
- <input class="checkbox" type="checkbox" name="tools" value="imageToText">
55
- </label><label class="label cursor-pointer gap-2"><span class="label-text">textToSpeech</span>
56
- <input class="checkbox" type="checkbox" name="tools" value="textToSpeech">
57
- </label><label class="label cursor-pointer gap-2"><span class="label-text">speechToText</span>
58
- <input class="checkbox" type="checkbox" name="tools" value="speechToText">
59
- </label></div>
60
-
61
- <div class="mx-auto w-fit mt-2"><button class="btn btn-ghost inline-block w-fit btn-sm">select all</button></div></div>
62
-
63
- <div class="divider"></div>
64
-
65
- <span class="label-text text-lg">Input your request </span>
66
-
67
- <textarea class="textarea border-base-300 bg-base-300" placeholder="Ask something here">Draw a picture of a cat wearing a top hat and display it. Then caption the picture and read it out loud.</textarea>
68
-
69
- <div class="grid grid-cols-2 gap-5"><div class="form-control"><label class="label"><span class="label-text">Upload a file (image or audio)</span></label>
70
- <input type="file" accept="audio/*, image/*" class="mt-auto file-input file-input-bordered max-w-xs"></div></div>
71
-
72
- <button class="btn btn-primary mt-auto w-fit mx-auto" disabled>generate</button>
73
-
74
-
75
-
76
-
77
-
78
- <div class="divider"></div>
79
-
80
- <div class="w-fit mx-auto"><h3 class="text-lg pb-5">Results</h3>
81
- <div class="space-y-5"></div></div>
82
-
83
- </div></div>
84
-
85
-
86
-
87
- <script>
88
- {
89
- __sveltekit_jgkrf5 = {
90
- base: new URL(".", location).pathname.slice(0, -1),
91
- env: {}
92
- };
93
-
94
- const element = document.currentScript.parentElement;
95
-
96
- const data = [null,null];
97
-
98
- Promise.all([
99
- import("./_app/immutable/entry/start.b93677e3.js"),
100
- import("./_app/immutable/entry/app.47bdd34d.js")
101
- ]).then(([kit, app]) => {
102
- kit.start(app, element, {
103
- node_ids: [0, 2],
104
- data,
105
- form: null,
106
- error: null
107
- });
108
- });
109
- }
110
- </script>
111
- </div>
112
- </body>
113
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
package.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "poc-agents-js",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "vite dev",
7
+ "build": "vite build",
8
+ "preview": "vite preview",
9
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
11
+ "test:unit": "vitest",
12
+ "lint": "prettier --plugin-search-dir . --check . && eslint .",
13
+ "format": "prettier --plugin-search-dir . --write ."
14
+ },
15
+ "devDependencies": {
16
+ "@magidoc/plugin-svelte-prismjs": "^4.0.0",
17
+ "@sveltejs/adapter-auto": "^2.0.0",
18
+ "@sveltejs/adapter-static": "^2.0.2",
19
+ "@sveltejs/kit": "^1.5.0",
20
+ "@types/prismjs": "^1.26.0",
21
+ "@typescript-eslint/eslint-plugin": "^5.45.0",
22
+ "@typescript-eslint/parser": "^5.45.0",
23
+ "autoprefixer": "^10.4.14",
24
+ "eslint": "^8.28.0",
25
+ "eslint-config-prettier": "^8.5.0",
26
+ "eslint-plugin-svelte": "^2.26.0",
27
+ "postcss": "^8.4.24",
28
+ "prettier": "^2.8.0",
29
+ "prettier-plugin-svelte": "^2.8.1",
30
+ "prismjs": "^1.29.0",
31
+ "svelte": "^3.54.0",
32
+ "svelte-check": "^3.0.1",
33
+ "tailwindcss": "^3.3.2",
34
+ "tslib": "^2.4.1",
35
+ "typescript": "^5.0.0",
36
+ "vite": "^4.3.0",
37
+ "vitest": "^0.25.3"
38
+ },
39
+ "type": "module",
40
+ "dependencies": {
41
+ "@huggingface/agents": "^0.0.2",
42
+ "@huggingface/inference": "^2.5.2",
43
+ "daisyui": "^3.1.6",
44
+ "dotenv": "^16.3.1",
45
+ "openai": "^3.3.0",
46
+ "quickjs-emscripten": "^0.23.0"
47
+ }
48
+ }
pnpm-lock.yaml ADDED
@@ -0,0 +1,2334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ settings:
4
+ autoInstallPeers: true
5
+ excludeLinksFromLockfile: false
6
+
7
+ dependencies:
8
+ '@huggingface/hub':
9
+ specifier: ^0.8.3
10
+ version: 0.8.3
11
+ '@huggingface/inference':
12
+ specifier: ^2.5.2
13
+ version: 2.5.2
14
+
15
+ devDependencies:
16
+ '@sveltejs/adapter-auto':
17
+ specifier: ^2.0.0
18
+ version: 2.1.0(@sveltejs/kit@1.20.4)
19
+ '@sveltejs/kit':
20
+ specifier: ^1.5.0
21
+ version: 1.20.4(svelte@3.59.2)(vite@4.3.9)
22
+ '@typescript-eslint/eslint-plugin':
23
+ specifier: ^5.45.0
24
+ version: 5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3)
25
+ '@typescript-eslint/parser':
26
+ specifier: ^5.45.0
27
+ version: 5.60.0(eslint@8.43.0)(typescript@5.1.3)
28
+ autoprefixer:
29
+ specifier: ^10.4.14
30
+ version: 10.4.14(postcss@8.4.24)
31
+ eslint:
32
+ specifier: ^8.28.0
33
+ version: 8.43.0
34
+ eslint-config-prettier:
35
+ specifier: ^8.5.0
36
+ version: 8.8.0(eslint@8.43.0)
37
+ eslint-plugin-svelte:
38
+ specifier: ^2.26.0
39
+ version: 2.31.0(eslint@8.43.0)(svelte@3.59.2)
40
+ postcss:
41
+ specifier: ^8.4.24
42
+ version: 8.4.24
43
+ prettier:
44
+ specifier: ^2.8.0
45
+ version: 2.8.8
46
+ prettier-plugin-svelte:
47
+ specifier: ^2.8.1
48
+ version: 2.10.1(prettier@2.8.8)(svelte@3.59.2)
49
+ svelte:
50
+ specifier: ^3.54.0
51
+ version: 3.59.2
52
+ svelte-check:
53
+ specifier: ^3.0.1
54
+ version: 3.4.4(postcss@8.4.24)(svelte@3.59.2)
55
+ tailwindcss:
56
+ specifier: ^3.3.2
57
+ version: 3.3.2
58
+ tslib:
59
+ specifier: ^2.4.1
60
+ version: 2.5.3
61
+ typescript:
62
+ specifier: ^5.0.0
63
+ version: 5.1.3
64
+ vite:
65
+ specifier: ^4.3.0
66
+ version: 4.3.9(@types/node@20.3.1)
67
+ vitest:
68
+ specifier: ^0.25.3
69
+ version: 0.25.8
70
+
71
+ packages:
72
+
73
+ /@alloc/quick-lru@5.2.0:
74
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
75
+ engines: {node: '>=10'}
76
+ dev: true
77
+
78
+ /@esbuild/android-arm64@0.17.19:
79
+ resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
80
+ engines: {node: '>=12'}
81
+ cpu: [arm64]
82
+ os: [android]
83
+ requiresBuild: true
84
+ dev: true
85
+ optional: true
86
+
87
+ /@esbuild/android-arm@0.17.19:
88
+ resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
89
+ engines: {node: '>=12'}
90
+ cpu: [arm]
91
+ os: [android]
92
+ requiresBuild: true
93
+ dev: true
94
+ optional: true
95
+
96
+ /@esbuild/android-x64@0.17.19:
97
+ resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
98
+ engines: {node: '>=12'}
99
+ cpu: [x64]
100
+ os: [android]
101
+ requiresBuild: true
102
+ dev: true
103
+ optional: true
104
+
105
+ /@esbuild/darwin-arm64@0.17.19:
106
+ resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
107
+ engines: {node: '>=12'}
108
+ cpu: [arm64]
109
+ os: [darwin]
110
+ requiresBuild: true
111
+ dev: true
112
+ optional: true
113
+
114
+ /@esbuild/darwin-x64@0.17.19:
115
+ resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
116
+ engines: {node: '>=12'}
117
+ cpu: [x64]
118
+ os: [darwin]
119
+ requiresBuild: true
120
+ dev: true
121
+ optional: true
122
+
123
+ /@esbuild/freebsd-arm64@0.17.19:
124
+ resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
125
+ engines: {node: '>=12'}
126
+ cpu: [arm64]
127
+ os: [freebsd]
128
+ requiresBuild: true
129
+ dev: true
130
+ optional: true
131
+
132
+ /@esbuild/freebsd-x64@0.17.19:
133
+ resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
134
+ engines: {node: '>=12'}
135
+ cpu: [x64]
136
+ os: [freebsd]
137
+ requiresBuild: true
138
+ dev: true
139
+ optional: true
140
+
141
+ /@esbuild/linux-arm64@0.17.19:
142
+ resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
143
+ engines: {node: '>=12'}
144
+ cpu: [arm64]
145
+ os: [linux]
146
+ requiresBuild: true
147
+ dev: true
148
+ optional: true
149
+
150
+ /@esbuild/linux-arm@0.17.19:
151
+ resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
152
+ engines: {node: '>=12'}
153
+ cpu: [arm]
154
+ os: [linux]
155
+ requiresBuild: true
156
+ dev: true
157
+ optional: true
158
+
159
+ /@esbuild/linux-ia32@0.17.19:
160
+ resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
161
+ engines: {node: '>=12'}
162
+ cpu: [ia32]
163
+ os: [linux]
164
+ requiresBuild: true
165
+ dev: true
166
+ optional: true
167
+
168
+ /@esbuild/linux-loong64@0.17.19:
169
+ resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
170
+ engines: {node: '>=12'}
171
+ cpu: [loong64]
172
+ os: [linux]
173
+ requiresBuild: true
174
+ dev: true
175
+ optional: true
176
+
177
+ /@esbuild/linux-mips64el@0.17.19:
178
+ resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
179
+ engines: {node: '>=12'}
180
+ cpu: [mips64el]
181
+ os: [linux]
182
+ requiresBuild: true
183
+ dev: true
184
+ optional: true
185
+
186
+ /@esbuild/linux-ppc64@0.17.19:
187
+ resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
188
+ engines: {node: '>=12'}
189
+ cpu: [ppc64]
190
+ os: [linux]
191
+ requiresBuild: true
192
+ dev: true
193
+ optional: true
194
+
195
+ /@esbuild/linux-riscv64@0.17.19:
196
+ resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
197
+ engines: {node: '>=12'}
198
+ cpu: [riscv64]
199
+ os: [linux]
200
+ requiresBuild: true
201
+ dev: true
202
+ optional: true
203
+
204
+ /@esbuild/linux-s390x@0.17.19:
205
+ resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
206
+ engines: {node: '>=12'}
207
+ cpu: [s390x]
208
+ os: [linux]
209
+ requiresBuild: true
210
+ dev: true
211
+ optional: true
212
+
213
+ /@esbuild/linux-x64@0.17.19:
214
+ resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
215
+ engines: {node: '>=12'}
216
+ cpu: [x64]
217
+ os: [linux]
218
+ requiresBuild: true
219
+ dev: true
220
+ optional: true
221
+
222
+ /@esbuild/netbsd-x64@0.17.19:
223
+ resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
224
+ engines: {node: '>=12'}
225
+ cpu: [x64]
226
+ os: [netbsd]
227
+ requiresBuild: true
228
+ dev: true
229
+ optional: true
230
+
231
+ /@esbuild/openbsd-x64@0.17.19:
232
+ resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
233
+ engines: {node: '>=12'}
234
+ cpu: [x64]
235
+ os: [openbsd]
236
+ requiresBuild: true
237
+ dev: true
238
+ optional: true
239
+
240
+ /@esbuild/sunos-x64@0.17.19:
241
+ resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
242
+ engines: {node: '>=12'}
243
+ cpu: [x64]
244
+ os: [sunos]
245
+ requiresBuild: true
246
+ dev: true
247
+ optional: true
248
+
249
+ /@esbuild/win32-arm64@0.17.19:
250
+ resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
251
+ engines: {node: '>=12'}
252
+ cpu: [arm64]
253
+ os: [win32]
254
+ requiresBuild: true
255
+ dev: true
256
+ optional: true
257
+
258
+ /@esbuild/win32-ia32@0.17.19:
259
+ resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
260
+ engines: {node: '>=12'}
261
+ cpu: [ia32]
262
+ os: [win32]
263
+ requiresBuild: true
264
+ dev: true
265
+ optional: true
266
+
267
+ /@esbuild/win32-x64@0.17.19:
268
+ resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
269
+ engines: {node: '>=12'}
270
+ cpu: [x64]
271
+ os: [win32]
272
+ requiresBuild: true
273
+ dev: true
274
+ optional: true
275
+
276
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0):
277
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
278
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
279
+ peerDependencies:
280
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
281
+ dependencies:
282
+ eslint: 8.43.0
283
+ eslint-visitor-keys: 3.4.1
284
+ dev: true
285
+
286
+ /@eslint-community/regexpp@4.5.1:
287
+ resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
288
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
289
+ dev: true
290
+
291
+ /@eslint/eslintrc@2.0.3:
292
+ resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
293
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
294
+ dependencies:
295
+ ajv: 6.12.6
296
+ debug: 4.3.4
297
+ espree: 9.5.2
298
+ globals: 13.20.0
299
+ ignore: 5.2.4
300
+ import-fresh: 3.3.0
301
+ js-yaml: 4.1.0
302
+ minimatch: 3.1.2
303
+ strip-json-comments: 3.1.1
304
+ transitivePeerDependencies:
305
+ - supports-color
306
+ dev: true
307
+
308
+ /@eslint/js@8.43.0:
309
+ resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==}
310
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
311
+ dev: true
312
+
313
+ /@huggingface/hub@0.8.3:
314
+ resolution: {integrity: sha512-tysAE1afXqEHsuu1oCR3mKu5+/KVkHFWsaLBB3e67Llo0m2ZL+7SE0pQPq8SopO8zxmYH8QIm5m8OhlNn+QJHA==}
315
+ engines: {node: '>=18'}
316
+ dependencies:
317
+ hash-wasm: 4.9.0
318
+ dev: false
319
+
320
+ /@huggingface/inference@2.5.2:
321
+ resolution: {integrity: sha512-v2f4mRgumisTOkelYPCZQRBzh5K0l2vexH8b88CevWv+KgzeC0oPeQhDiSNisCpE6hK+UC6KQ/FxF265kcd6FA==}
322
+ engines: {node: '>=18'}
323
+ dev: false
324
+
325
+ /@humanwhocodes/config-array@0.11.10:
326
+ resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
327
+ engines: {node: '>=10.10.0'}
328
+ dependencies:
329
+ '@humanwhocodes/object-schema': 1.2.1
330
+ debug: 4.3.4
331
+ minimatch: 3.1.2
332
+ transitivePeerDependencies:
333
+ - supports-color
334
+ dev: true
335
+
336
+ /@humanwhocodes/module-importer@1.0.1:
337
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
338
+ engines: {node: '>=12.22'}
339
+ dev: true
340
+
341
+ /@humanwhocodes/object-schema@1.2.1:
342
+ resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
343
+ dev: true
344
+
345
+ /@jridgewell/gen-mapping@0.3.3:
346
+ resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
347
+ engines: {node: '>=6.0.0'}
348
+ dependencies:
349
+ '@jridgewell/set-array': 1.1.2
350
+ '@jridgewell/sourcemap-codec': 1.4.15
351
+ '@jridgewell/trace-mapping': 0.3.18
352
+ dev: true
353
+
354
+ /@jridgewell/resolve-uri@3.1.0:
355
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
356
+ engines: {node: '>=6.0.0'}
357
+ dev: true
358
+
359
+ /@jridgewell/set-array@1.1.2:
360
+ resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
361
+ engines: {node: '>=6.0.0'}
362
+ dev: true
363
+
364
+ /@jridgewell/sourcemap-codec@1.4.14:
365
+ resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
366
+ dev: true
367
+
368
+ /@jridgewell/sourcemap-codec@1.4.15:
369
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
370
+ dev: true
371
+
372
+ /@jridgewell/trace-mapping@0.3.18:
373
+ resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
374
+ dependencies:
375
+ '@jridgewell/resolve-uri': 3.1.0
376
+ '@jridgewell/sourcemap-codec': 1.4.14
377
+ dev: true
378
+
379
+ /@nodelib/fs.scandir@2.1.5:
380
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
381
+ engines: {node: '>= 8'}
382
+ dependencies:
383
+ '@nodelib/fs.stat': 2.0.5
384
+ run-parallel: 1.2.0
385
+ dev: true
386
+
387
+ /@nodelib/fs.stat@2.0.5:
388
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
389
+ engines: {node: '>= 8'}
390
+ dev: true
391
+
392
+ /@nodelib/fs.walk@1.2.8:
393
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
394
+ engines: {node: '>= 8'}
395
+ dependencies:
396
+ '@nodelib/fs.scandir': 2.1.5
397
+ fastq: 1.15.0
398
+ dev: true
399
+
400
+ /@polka/url@1.0.0-next.21:
401
+ resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
402
+ dev: true
403
+
404
+ /@sveltejs/adapter-auto@2.1.0(@sveltejs/kit@1.20.4):
405
+ resolution: {integrity: sha512-o2pZCfATFtA/Gw/BB0Xm7k4EYaekXxaPGER3xGSY3FvzFJGTlJlZjBseaXwYSM94lZ0HniOjTokN3cWaLX6fow==}
406
+ peerDependencies:
407
+ '@sveltejs/kit': ^1.0.0
408
+ dependencies:
409
+ '@sveltejs/kit': 1.20.4(svelte@3.59.2)(vite@4.3.9)
410
+ import-meta-resolve: 3.0.0
411
+ dev: true
412
+
413
+ /@sveltejs/kit@1.20.4(svelte@3.59.2)(vite@4.3.9):
414
+ resolution: {integrity: sha512-MmAzIuMrP7A+8fqDVbxm6ekGHRHL/+Fk8sQPAzPG4G2TxUDtHdn/WcIxeEqHzARMf0OtGSC+VPyOSFuw2Cy2Mg==}
415
+ engines: {node: ^16.14 || >=18}
416
+ hasBin: true
417
+ requiresBuild: true
418
+ peerDependencies:
419
+ svelte: ^3.54.0 || ^4.0.0-next.0
420
+ vite: ^4.0.0
421
+ dependencies:
422
+ '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.2)(vite@4.3.9)
423
+ '@types/cookie': 0.5.1
424
+ cookie: 0.5.0
425
+ devalue: 4.3.2
426
+ esm-env: 1.0.0
427
+ kleur: 4.1.5
428
+ magic-string: 0.30.0
429
+ mime: 3.0.0
430
+ sade: 1.8.1
431
+ set-cookie-parser: 2.6.0
432
+ sirv: 2.0.3
433
+ svelte: 3.59.2
434
+ undici: 5.22.1
435
+ vite: 4.3.9(@types/node@20.3.1)
436
+ transitivePeerDependencies:
437
+ - supports-color
438
+ dev: true
439
+
440
+ /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.2)(vite@4.3.9):
441
+ resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==}
442
+ engines: {node: ^14.18.0 || >= 16}
443
+ peerDependencies:
444
+ '@sveltejs/vite-plugin-svelte': ^2.2.0
445
+ svelte: ^3.54.0 || ^4.0.0-next.0
446
+ vite: ^4.0.0
447
+ dependencies:
448
+ '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.2)(vite@4.3.9)
449
+ debug: 4.3.4
450
+ svelte: 3.59.2
451
+ vite: 4.3.9(@types/node@20.3.1)
452
+ transitivePeerDependencies:
453
+ - supports-color
454
+ dev: true
455
+
456
+ /@sveltejs/vite-plugin-svelte@2.4.1(svelte@3.59.2)(vite@4.3.9):
457
+ resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==}
458
+ engines: {node: ^14.18.0 || >= 16}
459
+ peerDependencies:
460
+ svelte: ^3.54.0 || ^4.0.0-next.0
461
+ vite: ^4.0.0
462
+ dependencies:
463
+ '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.2)(vite@4.3.9)
464
+ debug: 4.3.4
465
+ deepmerge: 4.3.1
466
+ kleur: 4.1.5
467
+ magic-string: 0.30.0
468
+ svelte: 3.59.2
469
+ svelte-hmr: 0.15.2(svelte@3.59.2)
470
+ vite: 4.3.9(@types/node@20.3.1)
471
+ vitefu: 0.2.4(vite@4.3.9)
472
+ transitivePeerDependencies:
473
+ - supports-color
474
+ dev: true
475
+
476
+ /@types/chai-subset@1.3.3:
477
+ resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
478
+ dependencies:
479
+ '@types/chai': 4.3.5
480
+ dev: true
481
+
482
+ /@types/chai@4.3.5:
483
+ resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
484
+ dev: true
485
+
486
+ /@types/cookie@0.5.1:
487
+ resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
488
+ dev: true
489
+
490
+ /@types/json-schema@7.0.12:
491
+ resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
492
+ dev: true
493
+
494
+ /@types/node@20.3.1:
495
+ resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==}
496
+ dev: true
497
+
498
+ /@types/pug@2.0.6:
499
+ resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
500
+ dev: true
501
+
502
+ /@types/semver@7.5.0:
503
+ resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==}
504
+ dev: true
505
+
506
+ /@typescript-eslint/eslint-plugin@5.60.0(@typescript-eslint/parser@5.60.0)(eslint@8.43.0)(typescript@5.1.3):
507
+ resolution: {integrity: sha512-78B+anHLF1TI8Jn/cD0Q00TBYdMgjdOn980JfAVa9yw5sop8nyTfVOQAv6LWywkOGLclDBtv5z3oxN4w7jxyNg==}
508
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
509
+ peerDependencies:
510
+ '@typescript-eslint/parser': ^5.0.0
511
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
512
+ typescript: '*'
513
+ peerDependenciesMeta:
514
+ typescript:
515
+ optional: true
516
+ dependencies:
517
+ '@eslint-community/regexpp': 4.5.1
518
+ '@typescript-eslint/parser': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
519
+ '@typescript-eslint/scope-manager': 5.60.0
520
+ '@typescript-eslint/type-utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
521
+ '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
522
+ debug: 4.3.4
523
+ eslint: 8.43.0
524
+ grapheme-splitter: 1.0.4
525
+ ignore: 5.2.4
526
+ natural-compare-lite: 1.4.0
527
+ semver: 7.5.2
528
+ tsutils: 3.21.0(typescript@5.1.3)
529
+ typescript: 5.1.3
530
+ transitivePeerDependencies:
531
+ - supports-color
532
+ dev: true
533
+
534
+ /@typescript-eslint/parser@5.60.0(eslint@8.43.0)(typescript@5.1.3):
535
+ resolution: {integrity: sha512-jBONcBsDJ9UoTWrARkRRCgDz6wUggmH5RpQVlt7BimSwaTkTjwypGzKORXbR4/2Hqjk9hgwlon2rVQAjWNpkyQ==}
536
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
537
+ peerDependencies:
538
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
539
+ typescript: '*'
540
+ peerDependenciesMeta:
541
+ typescript:
542
+ optional: true
543
+ dependencies:
544
+ '@typescript-eslint/scope-manager': 5.60.0
545
+ '@typescript-eslint/types': 5.60.0
546
+ '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
547
+ debug: 4.3.4
548
+ eslint: 8.43.0
549
+ typescript: 5.1.3
550
+ transitivePeerDependencies:
551
+ - supports-color
552
+ dev: true
553
+
554
+ /@typescript-eslint/scope-manager@5.60.0:
555
+ resolution: {integrity: sha512-hakuzcxPwXi2ihf9WQu1BbRj1e/Pd8ZZwVTG9kfbxAMZstKz8/9OoexIwnmLzShtsdap5U/CoQGRCWlSuPbYxQ==}
556
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
557
+ dependencies:
558
+ '@typescript-eslint/types': 5.60.0
559
+ '@typescript-eslint/visitor-keys': 5.60.0
560
+ dev: true
561
+
562
+ /@typescript-eslint/type-utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
563
+ resolution: {integrity: sha512-X7NsRQddORMYRFH7FWo6sA9Y/zbJ8s1x1RIAtnlj6YprbToTiQnM6vxcMu7iYhdunmoC0rUWlca13D5DVHkK2g==}
564
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
565
+ peerDependencies:
566
+ eslint: '*'
567
+ typescript: '*'
568
+ peerDependenciesMeta:
569
+ typescript:
570
+ optional: true
571
+ dependencies:
572
+ '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
573
+ '@typescript-eslint/utils': 5.60.0(eslint@8.43.0)(typescript@5.1.3)
574
+ debug: 4.3.4
575
+ eslint: 8.43.0
576
+ tsutils: 3.21.0(typescript@5.1.3)
577
+ typescript: 5.1.3
578
+ transitivePeerDependencies:
579
+ - supports-color
580
+ dev: true
581
+
582
+ /@typescript-eslint/types@5.60.0:
583
+ resolution: {integrity: sha512-ascOuoCpNZBccFVNJRSC6rPq4EmJ2NkuoKnd6LDNyAQmdDnziAtxbCGWCbefG1CNzmDvd05zO36AmB7H8RzKPA==}
584
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
585
+ dev: true
586
+
587
+ /@typescript-eslint/typescript-estree@5.60.0(typescript@5.1.3):
588
+ resolution: {integrity: sha512-R43thAuwarC99SnvrBmh26tc7F6sPa2B3evkXp/8q954kYL6Ro56AwASYWtEEi+4j09GbiNAHqYwNNZuNlARGQ==}
589
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
590
+ peerDependencies:
591
+ typescript: '*'
592
+ peerDependenciesMeta:
593
+ typescript:
594
+ optional: true
595
+ dependencies:
596
+ '@typescript-eslint/types': 5.60.0
597
+ '@typescript-eslint/visitor-keys': 5.60.0
598
+ debug: 4.3.4
599
+ globby: 11.1.0
600
+ is-glob: 4.0.3
601
+ semver: 7.5.2
602
+ tsutils: 3.21.0(typescript@5.1.3)
603
+ typescript: 5.1.3
604
+ transitivePeerDependencies:
605
+ - supports-color
606
+ dev: true
607
+
608
+ /@typescript-eslint/utils@5.60.0(eslint@8.43.0)(typescript@5.1.3):
609
+ resolution: {integrity: sha512-ba51uMqDtfLQ5+xHtwlO84vkdjrqNzOnqrnwbMHMRY8Tqeme8C2Q8Fc7LajfGR+e3/4LoYiWXUM6BpIIbHJ4hQ==}
610
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
611
+ peerDependencies:
612
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
613
+ dependencies:
614
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
615
+ '@types/json-schema': 7.0.12
616
+ '@types/semver': 7.5.0
617
+ '@typescript-eslint/scope-manager': 5.60.0
618
+ '@typescript-eslint/types': 5.60.0
619
+ '@typescript-eslint/typescript-estree': 5.60.0(typescript@5.1.3)
620
+ eslint: 8.43.0
621
+ eslint-scope: 5.1.1
622
+ semver: 7.5.2
623
+ transitivePeerDependencies:
624
+ - supports-color
625
+ - typescript
626
+ dev: true
627
+
628
+ /@typescript-eslint/visitor-keys@5.60.0:
629
+ resolution: {integrity: sha512-wm9Uz71SbCyhUKgcaPRauBdTegUyY/ZWl8gLwD/i/ybJqscrrdVSFImpvUz16BLPChIeKBK5Fa9s6KDQjsjyWw==}
630
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
631
+ dependencies:
632
+ '@typescript-eslint/types': 5.60.0
633
+ eslint-visitor-keys: 3.4.1
634
+ dev: true
635
+
636
+ /acorn-jsx@5.3.2(acorn@8.9.0):
637
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
638
+ peerDependencies:
639
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
640
+ dependencies:
641
+ acorn: 8.9.0
642
+ dev: true
643
+
644
+ /acorn-walk@8.2.0:
645
+ resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==}
646
+ engines: {node: '>=0.4.0'}
647
+ dev: true
648
+
649
+ /acorn@8.9.0:
650
+ resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
651
+ engines: {node: '>=0.4.0'}
652
+ hasBin: true
653
+ dev: true
654
+
655
+ /ajv@6.12.6:
656
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
657
+ dependencies:
658
+ fast-deep-equal: 3.1.3
659
+ fast-json-stable-stringify: 2.1.0
660
+ json-schema-traverse: 0.4.1
661
+ uri-js: 4.4.1
662
+ dev: true
663
+
664
+ /ansi-regex@5.0.1:
665
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
666
+ engines: {node: '>=8'}
667
+ dev: true
668
+
669
+ /ansi-styles@4.3.0:
670
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
671
+ engines: {node: '>=8'}
672
+ dependencies:
673
+ color-convert: 2.0.1
674
+ dev: true
675
+
676
+ /any-promise@1.3.0:
677
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
678
+ dev: true
679
+
680
+ /anymatch@3.1.3:
681
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
682
+ engines: {node: '>= 8'}
683
+ dependencies:
684
+ normalize-path: 3.0.0
685
+ picomatch: 2.3.1
686
+ dev: true
687
+
688
+ /arg@5.0.2:
689
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
690
+ dev: true
691
+
692
+ /argparse@2.0.1:
693
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
694
+ dev: true
695
+
696
+ /array-union@2.1.0:
697
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
698
+ engines: {node: '>=8'}
699
+ dev: true
700
+
701
+ /assertion-error@1.1.0:
702
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
703
+ dev: true
704
+
705
+ /autoprefixer@10.4.14(postcss@8.4.24):
706
+ resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
707
+ engines: {node: ^10 || ^12 || >=14}
708
+ hasBin: true
709
+ peerDependencies:
710
+ postcss: ^8.1.0
711
+ dependencies:
712
+ browserslist: 4.21.9
713
+ caniuse-lite: 1.0.30001506
714
+ fraction.js: 4.2.0
715
+ normalize-range: 0.1.2
716
+ picocolors: 1.0.0
717
+ postcss: 8.4.24
718
+ postcss-value-parser: 4.2.0
719
+ dev: true
720
+
721
+ /balanced-match@1.0.2:
722
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
723
+ dev: true
724
+
725
+ /binary-extensions@2.2.0:
726
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
727
+ engines: {node: '>=8'}
728
+ dev: true
729
+
730
+ /brace-expansion@1.1.11:
731
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
732
+ dependencies:
733
+ balanced-match: 1.0.2
734
+ concat-map: 0.0.1
735
+ dev: true
736
+
737
+ /braces@3.0.2:
738
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
739
+ engines: {node: '>=8'}
740
+ dependencies:
741
+ fill-range: 7.0.1
742
+ dev: true
743
+
744
+ /browserslist@4.21.9:
745
+ resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
746
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
747
+ hasBin: true
748
+ dependencies:
749
+ caniuse-lite: 1.0.30001506
750
+ electron-to-chromium: 1.4.437
751
+ node-releases: 2.0.12
752
+ update-browserslist-db: 1.0.11(browserslist@4.21.9)
753
+ dev: true
754
+
755
+ /buffer-crc32@0.2.13:
756
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
757
+ dev: true
758
+
759
+ /busboy@1.6.0:
760
+ resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
761
+ engines: {node: '>=10.16.0'}
762
+ dependencies:
763
+ streamsearch: 1.1.0
764
+ dev: true
765
+
766
+ /callsites@3.1.0:
767
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
768
+ engines: {node: '>=6'}
769
+ dev: true
770
+
771
+ /camelcase-css@2.0.1:
772
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
773
+ engines: {node: '>= 6'}
774
+ dev: true
775
+
776
+ /caniuse-lite@1.0.30001506:
777
+ resolution: {integrity: sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==}
778
+ dev: true
779
+
780
+ /chai@4.3.7:
781
+ resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
782
+ engines: {node: '>=4'}
783
+ dependencies:
784
+ assertion-error: 1.1.0
785
+ check-error: 1.0.2
786
+ deep-eql: 4.1.3
787
+ get-func-name: 2.0.0
788
+ loupe: 2.3.6
789
+ pathval: 1.1.1
790
+ type-detect: 4.0.8
791
+ dev: true
792
+
793
+ /chalk@4.1.2:
794
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
795
+ engines: {node: '>=10'}
796
+ dependencies:
797
+ ansi-styles: 4.3.0
798
+ supports-color: 7.2.0
799
+ dev: true
800
+
801
+ /check-error@1.0.2:
802
+ resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
803
+ dev: true
804
+
805
+ /chokidar@3.5.3:
806
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
807
+ engines: {node: '>= 8.10.0'}
808
+ dependencies:
809
+ anymatch: 3.1.3
810
+ braces: 3.0.2
811
+ glob-parent: 5.1.2
812
+ is-binary-path: 2.1.0
813
+ is-glob: 4.0.3
814
+ normalize-path: 3.0.0
815
+ readdirp: 3.6.0
816
+ optionalDependencies:
817
+ fsevents: 2.3.2
818
+ dev: true
819
+
820
+ /color-convert@2.0.1:
821
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
822
+ engines: {node: '>=7.0.0'}
823
+ dependencies:
824
+ color-name: 1.1.4
825
+ dev: true
826
+
827
+ /color-name@1.1.4:
828
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
829
+ dev: true
830
+
831
+ /commander@4.1.1:
832
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
833
+ engines: {node: '>= 6'}
834
+ dev: true
835
+
836
+ /concat-map@0.0.1:
837
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
838
+ dev: true
839
+
840
+ /cookie@0.5.0:
841
+ resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
842
+ engines: {node: '>= 0.6'}
843
+ dev: true
844
+
845
+ /cross-spawn@7.0.3:
846
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
847
+ engines: {node: '>= 8'}
848
+ dependencies:
849
+ path-key: 3.1.1
850
+ shebang-command: 2.0.0
851
+ which: 2.0.2
852
+ dev: true
853
+
854
+ /cssesc@3.0.0:
855
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
856
+ engines: {node: '>=4'}
857
+ hasBin: true
858
+ dev: true
859
+
860
+ /debug@4.3.4:
861
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
862
+ engines: {node: '>=6.0'}
863
+ peerDependencies:
864
+ supports-color: '*'
865
+ peerDependenciesMeta:
866
+ supports-color:
867
+ optional: true
868
+ dependencies:
869
+ ms: 2.1.2
870
+ dev: true
871
+
872
+ /deep-eql@4.1.3:
873
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
874
+ engines: {node: '>=6'}
875
+ dependencies:
876
+ type-detect: 4.0.8
877
+ dev: true
878
+
879
+ /deep-is@0.1.4:
880
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
881
+ dev: true
882
+
883
+ /deepmerge@4.3.1:
884
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
885
+ engines: {node: '>=0.10.0'}
886
+ dev: true
887
+
888
+ /detect-indent@6.1.0:
889
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
890
+ engines: {node: '>=8'}
891
+ dev: true
892
+
893
+ /devalue@4.3.2:
894
+ resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
895
+ dev: true
896
+
897
+ /didyoumean@1.2.2:
898
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
899
+ dev: true
900
+
901
+ /dir-glob@3.0.1:
902
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
903
+ engines: {node: '>=8'}
904
+ dependencies:
905
+ path-type: 4.0.0
906
+ dev: true
907
+
908
+ /dlv@1.1.3:
909
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
910
+ dev: true
911
+
912
+ /doctrine@3.0.0:
913
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
914
+ engines: {node: '>=6.0.0'}
915
+ dependencies:
916
+ esutils: 2.0.3
917
+ dev: true
918
+
919
+ /electron-to-chromium@1.4.437:
920
+ resolution: {integrity: sha512-ZFekRuBOHUXp21wrR5lshT6pZa/KmjkhKBAtmZz4NN5sCWlHOk3kdhiwFINrDBsRLX6FjyBAb1TRN+KBeNlyzQ==}
921
+ dev: true
922
+
923
+ /es6-promise@3.3.1:
924
+ resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
925
+ dev: true
926
+
927
+ /esbuild@0.17.19:
928
+ resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
929
+ engines: {node: '>=12'}
930
+ hasBin: true
931
+ requiresBuild: true
932
+ optionalDependencies:
933
+ '@esbuild/android-arm': 0.17.19
934
+ '@esbuild/android-arm64': 0.17.19
935
+ '@esbuild/android-x64': 0.17.19
936
+ '@esbuild/darwin-arm64': 0.17.19
937
+ '@esbuild/darwin-x64': 0.17.19
938
+ '@esbuild/freebsd-arm64': 0.17.19
939
+ '@esbuild/freebsd-x64': 0.17.19
940
+ '@esbuild/linux-arm': 0.17.19
941
+ '@esbuild/linux-arm64': 0.17.19
942
+ '@esbuild/linux-ia32': 0.17.19
943
+ '@esbuild/linux-loong64': 0.17.19
944
+ '@esbuild/linux-mips64el': 0.17.19
945
+ '@esbuild/linux-ppc64': 0.17.19
946
+ '@esbuild/linux-riscv64': 0.17.19
947
+ '@esbuild/linux-s390x': 0.17.19
948
+ '@esbuild/linux-x64': 0.17.19
949
+ '@esbuild/netbsd-x64': 0.17.19
950
+ '@esbuild/openbsd-x64': 0.17.19
951
+ '@esbuild/sunos-x64': 0.17.19
952
+ '@esbuild/win32-arm64': 0.17.19
953
+ '@esbuild/win32-ia32': 0.17.19
954
+ '@esbuild/win32-x64': 0.17.19
955
+ dev: true
956
+
957
+ /escalade@3.1.1:
958
+ resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
959
+ engines: {node: '>=6'}
960
+ dev: true
961
+
962
+ /escape-string-regexp@4.0.0:
963
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
964
+ engines: {node: '>=10'}
965
+ dev: true
966
+
967
+ /eslint-config-prettier@8.8.0(eslint@8.43.0):
968
+ resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
969
+ hasBin: true
970
+ peerDependencies:
971
+ eslint: '>=7.0.0'
972
+ dependencies:
973
+ eslint: 8.43.0
974
+ dev: true
975
+
976
+ /eslint-plugin-svelte@2.31.0(eslint@8.43.0)(svelte@3.59.2):
977
+ resolution: {integrity: sha512-Q70jPFRraTkc/giPSfY7yuatmJcb5fPelWNplevqd45gfaJDjc3qXRtWQ6m9U5tWVVYERU9dcdUod294vwD8Gw==}
978
+ engines: {node: ^14.17.0 || >=16.0.0}
979
+ peerDependencies:
980
+ eslint: ^7.0.0 || ^8.0.0-0
981
+ svelte: ^3.37.0 || ^4.0.0-0
982
+ peerDependenciesMeta:
983
+ svelte:
984
+ optional: true
985
+ dependencies:
986
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
987
+ '@jridgewell/sourcemap-codec': 1.4.15
988
+ debug: 4.3.4
989
+ eslint: 8.43.0
990
+ esutils: 2.0.3
991
+ known-css-properties: 0.27.0
992
+ postcss: 8.4.24
993
+ postcss-load-config: 3.1.4(postcss@8.4.24)
994
+ postcss-safe-parser: 6.0.0(postcss@8.4.24)
995
+ postcss-selector-parser: 6.0.13
996
+ svelte: 3.59.2
997
+ svelte-eslint-parser: 0.31.0(svelte@3.59.2)
998
+ transitivePeerDependencies:
999
+ - supports-color
1000
+ - ts-node
1001
+ dev: true
1002
+
1003
+ /eslint-scope@5.1.1:
1004
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
1005
+ engines: {node: '>=8.0.0'}
1006
+ dependencies:
1007
+ esrecurse: 4.3.0
1008
+ estraverse: 4.3.0
1009
+ dev: true
1010
+
1011
+ /eslint-scope@7.2.0:
1012
+ resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
1013
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1014
+ dependencies:
1015
+ esrecurse: 4.3.0
1016
+ estraverse: 5.3.0
1017
+ dev: true
1018
+
1019
+ /eslint-visitor-keys@3.4.1:
1020
+ resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
1021
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1022
+ dev: true
1023
+
1024
+ /eslint@8.43.0:
1025
+ resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==}
1026
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1027
+ hasBin: true
1028
+ dependencies:
1029
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
1030
+ '@eslint-community/regexpp': 4.5.1
1031
+ '@eslint/eslintrc': 2.0.3
1032
+ '@eslint/js': 8.43.0
1033
+ '@humanwhocodes/config-array': 0.11.10
1034
+ '@humanwhocodes/module-importer': 1.0.1
1035
+ '@nodelib/fs.walk': 1.2.8
1036
+ ajv: 6.12.6
1037
+ chalk: 4.1.2
1038
+ cross-spawn: 7.0.3
1039
+ debug: 4.3.4
1040
+ doctrine: 3.0.0
1041
+ escape-string-regexp: 4.0.0
1042
+ eslint-scope: 7.2.0
1043
+ eslint-visitor-keys: 3.4.1
1044
+ espree: 9.5.2
1045
+ esquery: 1.5.0
1046
+ esutils: 2.0.3
1047
+ fast-deep-equal: 3.1.3
1048
+ file-entry-cache: 6.0.1
1049
+ find-up: 5.0.0
1050
+ glob-parent: 6.0.2
1051
+ globals: 13.20.0
1052
+ graphemer: 1.4.0
1053
+ ignore: 5.2.4
1054
+ import-fresh: 3.3.0
1055
+ imurmurhash: 0.1.4
1056
+ is-glob: 4.0.3
1057
+ is-path-inside: 3.0.3
1058
+ js-yaml: 4.1.0
1059
+ json-stable-stringify-without-jsonify: 1.0.1
1060
+ levn: 0.4.1
1061
+ lodash.merge: 4.6.2
1062
+ minimatch: 3.1.2
1063
+ natural-compare: 1.4.0
1064
+ optionator: 0.9.1
1065
+ strip-ansi: 6.0.1
1066
+ strip-json-comments: 3.1.1
1067
+ text-table: 0.2.0
1068
+ transitivePeerDependencies:
1069
+ - supports-color
1070
+ dev: true
1071
+
1072
+ /esm-env@1.0.0:
1073
+ resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
1074
+ dev: true
1075
+
1076
+ /espree@9.5.2:
1077
+ resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
1078
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1079
+ dependencies:
1080
+ acorn: 8.9.0
1081
+ acorn-jsx: 5.3.2(acorn@8.9.0)
1082
+ eslint-visitor-keys: 3.4.1
1083
+ dev: true
1084
+
1085
+ /esquery@1.5.0:
1086
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1087
+ engines: {node: '>=0.10'}
1088
+ dependencies:
1089
+ estraverse: 5.3.0
1090
+ dev: true
1091
+
1092
+ /esrecurse@4.3.0:
1093
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1094
+ engines: {node: '>=4.0'}
1095
+ dependencies:
1096
+ estraverse: 5.3.0
1097
+ dev: true
1098
+
1099
+ /estraverse@4.3.0:
1100
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1101
+ engines: {node: '>=4.0'}
1102
+ dev: true
1103
+
1104
+ /estraverse@5.3.0:
1105
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1106
+ engines: {node: '>=4.0'}
1107
+ dev: true
1108
+
1109
+ /esutils@2.0.3:
1110
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1111
+ engines: {node: '>=0.10.0'}
1112
+ dev: true
1113
+
1114
+ /fast-deep-equal@3.1.3:
1115
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1116
+ dev: true
1117
+
1118
+ /fast-glob@3.2.12:
1119
+ resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
1120
+ engines: {node: '>=8.6.0'}
1121
+ dependencies:
1122
+ '@nodelib/fs.stat': 2.0.5
1123
+ '@nodelib/fs.walk': 1.2.8
1124
+ glob-parent: 5.1.2
1125
+ merge2: 1.4.1
1126
+ micromatch: 4.0.5
1127
+ dev: true
1128
+
1129
+ /fast-json-stable-stringify@2.1.0:
1130
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1131
+ dev: true
1132
+
1133
+ /fast-levenshtein@2.0.6:
1134
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1135
+ dev: true
1136
+
1137
+ /fastq@1.15.0:
1138
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1139
+ dependencies:
1140
+ reusify: 1.0.4
1141
+ dev: true
1142
+
1143
+ /file-entry-cache@6.0.1:
1144
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1145
+ engines: {node: ^10.12.0 || >=12.0.0}
1146
+ dependencies:
1147
+ flat-cache: 3.0.4
1148
+ dev: true
1149
+
1150
+ /fill-range@7.0.1:
1151
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1152
+ engines: {node: '>=8'}
1153
+ dependencies:
1154
+ to-regex-range: 5.0.1
1155
+ dev: true
1156
+
1157
+ /find-up@5.0.0:
1158
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1159
+ engines: {node: '>=10'}
1160
+ dependencies:
1161
+ locate-path: 6.0.0
1162
+ path-exists: 4.0.0
1163
+ dev: true
1164
+
1165
+ /flat-cache@3.0.4:
1166
+ resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1167
+ engines: {node: ^10.12.0 || >=12.0.0}
1168
+ dependencies:
1169
+ flatted: 3.2.7
1170
+ rimraf: 3.0.2
1171
+ dev: true
1172
+
1173
+ /flatted@3.2.7:
1174
+ resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1175
+ dev: true
1176
+
1177
+ /fraction.js@4.2.0:
1178
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
1179
+ dev: true
1180
+
1181
+ /fs.realpath@1.0.0:
1182
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1183
+ dev: true
1184
+
1185
+ /fsevents@2.3.2:
1186
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1187
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1188
+ os: [darwin]
1189
+ requiresBuild: true
1190
+ dev: true
1191
+ optional: true
1192
+
1193
+ /function-bind@1.1.1:
1194
+ resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1195
+ dev: true
1196
+
1197
+ /get-func-name@2.0.0:
1198
+ resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
1199
+ dev: true
1200
+
1201
+ /glob-parent@5.1.2:
1202
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1203
+ engines: {node: '>= 6'}
1204
+ dependencies:
1205
+ is-glob: 4.0.3
1206
+ dev: true
1207
+
1208
+ /glob-parent@6.0.2:
1209
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1210
+ engines: {node: '>=10.13.0'}
1211
+ dependencies:
1212
+ is-glob: 4.0.3
1213
+ dev: true
1214
+
1215
+ /glob@7.1.6:
1216
+ resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1217
+ dependencies:
1218
+ fs.realpath: 1.0.0
1219
+ inflight: 1.0.6
1220
+ inherits: 2.0.4
1221
+ minimatch: 3.1.2
1222
+ once: 1.4.0
1223
+ path-is-absolute: 1.0.1
1224
+ dev: true
1225
+
1226
+ /glob@7.2.3:
1227
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1228
+ dependencies:
1229
+ fs.realpath: 1.0.0
1230
+ inflight: 1.0.6
1231
+ inherits: 2.0.4
1232
+ minimatch: 3.1.2
1233
+ once: 1.4.0
1234
+ path-is-absolute: 1.0.1
1235
+ dev: true
1236
+
1237
+ /globals@13.20.0:
1238
+ resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
1239
+ engines: {node: '>=8'}
1240
+ dependencies:
1241
+ type-fest: 0.20.2
1242
+ dev: true
1243
+
1244
+ /globby@11.1.0:
1245
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1246
+ engines: {node: '>=10'}
1247
+ dependencies:
1248
+ array-union: 2.1.0
1249
+ dir-glob: 3.0.1
1250
+ fast-glob: 3.2.12
1251
+ ignore: 5.2.4
1252
+ merge2: 1.4.1
1253
+ slash: 3.0.0
1254
+ dev: true
1255
+
1256
+ /graceful-fs@4.2.11:
1257
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1258
+ dev: true
1259
+
1260
+ /grapheme-splitter@1.0.4:
1261
+ resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1262
+ dev: true
1263
+
1264
+ /graphemer@1.4.0:
1265
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1266
+ dev: true
1267
+
1268
+ /has-flag@4.0.0:
1269
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1270
+ engines: {node: '>=8'}
1271
+ dev: true
1272
+
1273
+ /has@1.0.3:
1274
+ resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1275
+ engines: {node: '>= 0.4.0'}
1276
+ dependencies:
1277
+ function-bind: 1.1.1
1278
+ dev: true
1279
+
1280
+ /hash-wasm@4.9.0:
1281
+ resolution: {integrity: sha512-7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w==}
1282
+ dev: false
1283
+
1284
+ /ignore@5.2.4:
1285
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1286
+ engines: {node: '>= 4'}
1287
+ dev: true
1288
+
1289
+ /import-fresh@3.3.0:
1290
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1291
+ engines: {node: '>=6'}
1292
+ dependencies:
1293
+ parent-module: 1.0.1
1294
+ resolve-from: 4.0.0
1295
+ dev: true
1296
+
1297
+ /import-meta-resolve@3.0.0:
1298
+ resolution: {integrity: sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg==}
1299
+ dev: true
1300
+
1301
+ /imurmurhash@0.1.4:
1302
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1303
+ engines: {node: '>=0.8.19'}
1304
+ dev: true
1305
+
1306
+ /inflight@1.0.6:
1307
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1308
+ dependencies:
1309
+ once: 1.4.0
1310
+ wrappy: 1.0.2
1311
+ dev: true
1312
+
1313
+ /inherits@2.0.4:
1314
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1315
+ dev: true
1316
+
1317
+ /is-binary-path@2.1.0:
1318
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1319
+ engines: {node: '>=8'}
1320
+ dependencies:
1321
+ binary-extensions: 2.2.0
1322
+ dev: true
1323
+
1324
+ /is-core-module@2.12.1:
1325
+ resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
1326
+ dependencies:
1327
+ has: 1.0.3
1328
+ dev: true
1329
+
1330
+ /is-extglob@2.1.1:
1331
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1332
+ engines: {node: '>=0.10.0'}
1333
+ dev: true
1334
+
1335
+ /is-glob@4.0.3:
1336
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1337
+ engines: {node: '>=0.10.0'}
1338
+ dependencies:
1339
+ is-extglob: 2.1.1
1340
+ dev: true
1341
+
1342
+ /is-number@7.0.0:
1343
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1344
+ engines: {node: '>=0.12.0'}
1345
+ dev: true
1346
+
1347
+ /is-path-inside@3.0.3:
1348
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1349
+ engines: {node: '>=8'}
1350
+ dev: true
1351
+
1352
+ /isexe@2.0.0:
1353
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1354
+ dev: true
1355
+
1356
+ /jiti@1.18.2:
1357
+ resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
1358
+ hasBin: true
1359
+ dev: true
1360
+
1361
+ /js-yaml@4.1.0:
1362
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1363
+ hasBin: true
1364
+ dependencies:
1365
+ argparse: 2.0.1
1366
+ dev: true
1367
+
1368
+ /json-schema-traverse@0.4.1:
1369
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1370
+ dev: true
1371
+
1372
+ /json-stable-stringify-without-jsonify@1.0.1:
1373
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1374
+ dev: true
1375
+
1376
+ /kleur@4.1.5:
1377
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1378
+ engines: {node: '>=6'}
1379
+ dev: true
1380
+
1381
+ /known-css-properties@0.27.0:
1382
+ resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==}
1383
+ dev: true
1384
+
1385
+ /levn@0.4.1:
1386
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1387
+ engines: {node: '>= 0.8.0'}
1388
+ dependencies:
1389
+ prelude-ls: 1.2.1
1390
+ type-check: 0.4.0
1391
+ dev: true
1392
+
1393
+ /lilconfig@2.1.0:
1394
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1395
+ engines: {node: '>=10'}
1396
+ dev: true
1397
+
1398
+ /lines-and-columns@1.2.4:
1399
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1400
+ dev: true
1401
+
1402
+ /local-pkg@0.4.3:
1403
+ resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
1404
+ engines: {node: '>=14'}
1405
+ dev: true
1406
+
1407
+ /locate-path@6.0.0:
1408
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1409
+ engines: {node: '>=10'}
1410
+ dependencies:
1411
+ p-locate: 5.0.0
1412
+ dev: true
1413
+
1414
+ /lodash.merge@4.6.2:
1415
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1416
+ dev: true
1417
+
1418
+ /loupe@2.3.6:
1419
+ resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
1420
+ dependencies:
1421
+ get-func-name: 2.0.0
1422
+ dev: true
1423
+
1424
+ /lru-cache@6.0.0:
1425
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1426
+ engines: {node: '>=10'}
1427
+ dependencies:
1428
+ yallist: 4.0.0
1429
+ dev: true
1430
+
1431
+ /magic-string@0.27.0:
1432
+ resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1433
+ engines: {node: '>=12'}
1434
+ dependencies:
1435
+ '@jridgewell/sourcemap-codec': 1.4.15
1436
+ dev: true
1437
+
1438
+ /magic-string@0.30.0:
1439
+ resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
1440
+ engines: {node: '>=12'}
1441
+ dependencies:
1442
+ '@jridgewell/sourcemap-codec': 1.4.15
1443
+ dev: true
1444
+
1445
+ /merge2@1.4.1:
1446
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1447
+ engines: {node: '>= 8'}
1448
+ dev: true
1449
+
1450
+ /micromatch@4.0.5:
1451
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1452
+ engines: {node: '>=8.6'}
1453
+ dependencies:
1454
+ braces: 3.0.2
1455
+ picomatch: 2.3.1
1456
+ dev: true
1457
+
1458
+ /mime@3.0.0:
1459
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
1460
+ engines: {node: '>=10.0.0'}
1461
+ hasBin: true
1462
+ dev: true
1463
+
1464
+ /min-indent@1.0.1:
1465
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1466
+ engines: {node: '>=4'}
1467
+ dev: true
1468
+
1469
+ /minimatch@3.1.2:
1470
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1471
+ dependencies:
1472
+ brace-expansion: 1.1.11
1473
+ dev: true
1474
+
1475
+ /minimist@1.2.8:
1476
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1477
+ dev: true
1478
+
1479
+ /mkdirp@0.5.6:
1480
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1481
+ hasBin: true
1482
+ dependencies:
1483
+ minimist: 1.2.8
1484
+ dev: true
1485
+
1486
+ /mri@1.2.0:
1487
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1488
+ engines: {node: '>=4'}
1489
+ dev: true
1490
+
1491
+ /mrmime@1.0.1:
1492
+ resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
1493
+ engines: {node: '>=10'}
1494
+ dev: true
1495
+
1496
+ /ms@2.1.2:
1497
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1498
+ dev: true
1499
+
1500
+ /mz@2.7.0:
1501
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1502
+ dependencies:
1503
+ any-promise: 1.3.0
1504
+ object-assign: 4.1.1
1505
+ thenify-all: 1.6.0
1506
+ dev: true
1507
+
1508
+ /nanoid@3.3.6:
1509
+ resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1510
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1511
+ hasBin: true
1512
+ dev: true
1513
+
1514
+ /natural-compare-lite@1.4.0:
1515
+ resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
1516
+ dev: true
1517
+
1518
+ /natural-compare@1.4.0:
1519
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1520
+ dev: true
1521
+
1522
+ /node-releases@2.0.12:
1523
+ resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==}
1524
+ dev: true
1525
+
1526
+ /normalize-path@3.0.0:
1527
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1528
+ engines: {node: '>=0.10.0'}
1529
+ dev: true
1530
+
1531
+ /normalize-range@0.1.2:
1532
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1533
+ engines: {node: '>=0.10.0'}
1534
+ dev: true
1535
+
1536
+ /object-assign@4.1.1:
1537
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1538
+ engines: {node: '>=0.10.0'}
1539
+ dev: true
1540
+
1541
+ /object-hash@3.0.0:
1542
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1543
+ engines: {node: '>= 6'}
1544
+ dev: true
1545
+
1546
+ /once@1.4.0:
1547
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1548
+ dependencies:
1549
+ wrappy: 1.0.2
1550
+ dev: true
1551
+
1552
+ /optionator@0.9.1:
1553
+ resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
1554
+ engines: {node: '>= 0.8.0'}
1555
+ dependencies:
1556
+ deep-is: 0.1.4
1557
+ fast-levenshtein: 2.0.6
1558
+ levn: 0.4.1
1559
+ prelude-ls: 1.2.1
1560
+ type-check: 0.4.0
1561
+ word-wrap: 1.2.3
1562
+ dev: true
1563
+
1564
+ /p-limit@3.1.0:
1565
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1566
+ engines: {node: '>=10'}
1567
+ dependencies:
1568
+ yocto-queue: 0.1.0
1569
+ dev: true
1570
+
1571
+ /p-locate@5.0.0:
1572
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1573
+ engines: {node: '>=10'}
1574
+ dependencies:
1575
+ p-limit: 3.1.0
1576
+ dev: true
1577
+
1578
+ /parent-module@1.0.1:
1579
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1580
+ engines: {node: '>=6'}
1581
+ dependencies:
1582
+ callsites: 3.1.0
1583
+ dev: true
1584
+
1585
+ /path-exists@4.0.0:
1586
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1587
+ engines: {node: '>=8'}
1588
+ dev: true
1589
+
1590
+ /path-is-absolute@1.0.1:
1591
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1592
+ engines: {node: '>=0.10.0'}
1593
+ dev: true
1594
+
1595
+ /path-key@3.1.1:
1596
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1597
+ engines: {node: '>=8'}
1598
+ dev: true
1599
+
1600
+ /path-parse@1.0.7:
1601
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1602
+ dev: true
1603
+
1604
+ /path-type@4.0.0:
1605
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1606
+ engines: {node: '>=8'}
1607
+ dev: true
1608
+
1609
+ /pathval@1.1.1:
1610
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
1611
+ dev: true
1612
+
1613
+ /picocolors@1.0.0:
1614
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1615
+ dev: true
1616
+
1617
+ /picomatch@2.3.1:
1618
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1619
+ engines: {node: '>=8.6'}
1620
+ dev: true
1621
+
1622
+ /pify@2.3.0:
1623
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1624
+ engines: {node: '>=0.10.0'}
1625
+ dev: true
1626
+
1627
+ /pirates@4.0.6:
1628
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1629
+ engines: {node: '>= 6'}
1630
+ dev: true
1631
+
1632
+ /postcss-import@15.1.0(postcss@8.4.24):
1633
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1634
+ engines: {node: '>=14.0.0'}
1635
+ peerDependencies:
1636
+ postcss: ^8.0.0
1637
+ dependencies:
1638
+ postcss: 8.4.24
1639
+ postcss-value-parser: 4.2.0
1640
+ read-cache: 1.0.0
1641
+ resolve: 1.22.2
1642
+ dev: true
1643
+
1644
+ /postcss-js@4.0.1(postcss@8.4.24):
1645
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1646
+ engines: {node: ^12 || ^14 || >= 16}
1647
+ peerDependencies:
1648
+ postcss: ^8.4.21
1649
+ dependencies:
1650
+ camelcase-css: 2.0.1
1651
+ postcss: 8.4.24
1652
+ dev: true
1653
+
1654
+ /postcss-load-config@3.1.4(postcss@8.4.24):
1655
+ resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
1656
+ engines: {node: '>= 10'}
1657
+ peerDependencies:
1658
+ postcss: '>=8.0.9'
1659
+ ts-node: '>=9.0.0'
1660
+ peerDependenciesMeta:
1661
+ postcss:
1662
+ optional: true
1663
+ ts-node:
1664
+ optional: true
1665
+ dependencies:
1666
+ lilconfig: 2.1.0
1667
+ postcss: 8.4.24
1668
+ yaml: 1.10.2
1669
+ dev: true
1670
+
1671
+ /postcss-load-config@4.0.1(postcss@8.4.24):
1672
+ resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
1673
+ engines: {node: '>= 14'}
1674
+ peerDependencies:
1675
+ postcss: '>=8.0.9'
1676
+ ts-node: '>=9.0.0'
1677
+ peerDependenciesMeta:
1678
+ postcss:
1679
+ optional: true
1680
+ ts-node:
1681
+ optional: true
1682
+ dependencies:
1683
+ lilconfig: 2.1.0
1684
+ postcss: 8.4.24
1685
+ yaml: 2.3.1
1686
+ dev: true
1687
+
1688
+ /postcss-nested@6.0.1(postcss@8.4.24):
1689
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1690
+ engines: {node: '>=12.0'}
1691
+ peerDependencies:
1692
+ postcss: ^8.2.14
1693
+ dependencies:
1694
+ postcss: 8.4.24
1695
+ postcss-selector-parser: 6.0.13
1696
+ dev: true
1697
+
1698
+ /postcss-safe-parser@6.0.0(postcss@8.4.24):
1699
+ resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
1700
+ engines: {node: '>=12.0'}
1701
+ peerDependencies:
1702
+ postcss: ^8.3.3
1703
+ dependencies:
1704
+ postcss: 8.4.24
1705
+ dev: true
1706
+
1707
+ /postcss-scss@4.0.6(postcss@8.4.24):
1708
+ resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==}
1709
+ engines: {node: '>=12.0'}
1710
+ peerDependencies:
1711
+ postcss: ^8.4.19
1712
+ dependencies:
1713
+ postcss: 8.4.24
1714
+ dev: true
1715
+
1716
+ /postcss-selector-parser@6.0.13:
1717
+ resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
1718
+ engines: {node: '>=4'}
1719
+ dependencies:
1720
+ cssesc: 3.0.0
1721
+ util-deprecate: 1.0.2
1722
+ dev: true
1723
+
1724
+ /postcss-value-parser@4.2.0:
1725
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1726
+ dev: true
1727
+
1728
+ /postcss@8.4.24:
1729
+ resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
1730
+ engines: {node: ^10 || ^12 || >=14}
1731
+ dependencies:
1732
+ nanoid: 3.3.6
1733
+ picocolors: 1.0.0
1734
+ source-map-js: 1.0.2
1735
+ dev: true
1736
+
1737
+ /prelude-ls@1.2.1:
1738
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1739
+ engines: {node: '>= 0.8.0'}
1740
+ dev: true
1741
+
1742
+ /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@3.59.2):
1743
+ resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==}
1744
+ peerDependencies:
1745
+ prettier: ^1.16.4 || ^2.0.0
1746
+ svelte: ^3.2.0 || ^4.0.0-next.0
1747
+ dependencies:
1748
+ prettier: 2.8.8
1749
+ svelte: 3.59.2
1750
+ dev: true
1751
+
1752
+ /prettier@2.8.8:
1753
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
1754
+ engines: {node: '>=10.13.0'}
1755
+ hasBin: true
1756
+ dev: true
1757
+
1758
+ /punycode@2.3.0:
1759
+ resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
1760
+ engines: {node: '>=6'}
1761
+ dev: true
1762
+
1763
+ /queue-microtask@1.2.3:
1764
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1765
+ dev: true
1766
+
1767
+ /read-cache@1.0.0:
1768
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1769
+ dependencies:
1770
+ pify: 2.3.0
1771
+ dev: true
1772
+
1773
+ /readdirp@3.6.0:
1774
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1775
+ engines: {node: '>=8.10.0'}
1776
+ dependencies:
1777
+ picomatch: 2.3.1
1778
+ dev: true
1779
+
1780
+ /resolve-from@4.0.0:
1781
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1782
+ engines: {node: '>=4'}
1783
+ dev: true
1784
+
1785
+ /resolve@1.22.2:
1786
+ resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
1787
+ hasBin: true
1788
+ dependencies:
1789
+ is-core-module: 2.12.1
1790
+ path-parse: 1.0.7
1791
+ supports-preserve-symlinks-flag: 1.0.0
1792
+ dev: true
1793
+
1794
+ /reusify@1.0.4:
1795
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1796
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1797
+ dev: true
1798
+
1799
+ /rimraf@2.7.1:
1800
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1801
+ hasBin: true
1802
+ dependencies:
1803
+ glob: 7.2.3
1804
+ dev: true
1805
+
1806
+ /rimraf@3.0.2:
1807
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1808
+ hasBin: true
1809
+ dependencies:
1810
+ glob: 7.2.3
1811
+ dev: true
1812
+
1813
+ /rollup@3.25.1:
1814
+ resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==}
1815
+ engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1816
+ hasBin: true
1817
+ optionalDependencies:
1818
+ fsevents: 2.3.2
1819
+ dev: true
1820
+
1821
+ /run-parallel@1.2.0:
1822
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1823
+ dependencies:
1824
+ queue-microtask: 1.2.3
1825
+ dev: true
1826
+
1827
+ /sade@1.8.1:
1828
+ resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1829
+ engines: {node: '>=6'}
1830
+ dependencies:
1831
+ mri: 1.2.0
1832
+ dev: true
1833
+
1834
+ /sander@0.5.1:
1835
+ resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1836
+ dependencies:
1837
+ es6-promise: 3.3.1
1838
+ graceful-fs: 4.2.11
1839
+ mkdirp: 0.5.6
1840
+ rimraf: 2.7.1
1841
+ dev: true
1842
+
1843
+ /semver@7.5.2:
1844
+ resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==}
1845
+ engines: {node: '>=10'}
1846
+ hasBin: true
1847
+ dependencies:
1848
+ lru-cache: 6.0.0
1849
+ dev: true
1850
+
1851
+ /set-cookie-parser@2.6.0:
1852
+ resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
1853
+ dev: true
1854
+
1855
+ /shebang-command@2.0.0:
1856
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1857
+ engines: {node: '>=8'}
1858
+ dependencies:
1859
+ shebang-regex: 3.0.0
1860
+ dev: true
1861
+
1862
+ /shebang-regex@3.0.0:
1863
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1864
+ engines: {node: '>=8'}
1865
+ dev: true
1866
+
1867
+ /sirv@2.0.3:
1868
+ resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
1869
+ engines: {node: '>= 10'}
1870
+ dependencies:
1871
+ '@polka/url': 1.0.0-next.21
1872
+ mrmime: 1.0.1
1873
+ totalist: 3.0.1
1874
+ dev: true
1875
+
1876
+ /slash@3.0.0:
1877
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1878
+ engines: {node: '>=8'}
1879
+ dev: true
1880
+
1881
+ /sorcery@0.11.0:
1882
+ resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1883
+ hasBin: true
1884
+ dependencies:
1885
+ '@jridgewell/sourcemap-codec': 1.4.15
1886
+ buffer-crc32: 0.2.13
1887
+ minimist: 1.2.8
1888
+ sander: 0.5.1
1889
+ dev: true
1890
+
1891
+ /source-map-js@1.0.2:
1892
+ resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1893
+ engines: {node: '>=0.10.0'}
1894
+ dev: true
1895
+
1896
+ /source-map@0.6.1:
1897
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
1898
+ engines: {node: '>=0.10.0'}
1899
+ dev: true
1900
+
1901
+ /streamsearch@1.1.0:
1902
+ resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1903
+ engines: {node: '>=10.0.0'}
1904
+ dev: true
1905
+
1906
+ /strip-ansi@6.0.1:
1907
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1908
+ engines: {node: '>=8'}
1909
+ dependencies:
1910
+ ansi-regex: 5.0.1
1911
+ dev: true
1912
+
1913
+ /strip-indent@3.0.0:
1914
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1915
+ engines: {node: '>=8'}
1916
+ dependencies:
1917
+ min-indent: 1.0.1
1918
+ dev: true
1919
+
1920
+ /strip-json-comments@3.1.1:
1921
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1922
+ engines: {node: '>=8'}
1923
+ dev: true
1924
+
1925
+ /strip-literal@1.0.1:
1926
+ resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
1927
+ dependencies:
1928
+ acorn: 8.9.0
1929
+ dev: true
1930
+
1931
+ /sucrase@3.32.0:
1932
+ resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==}
1933
+ engines: {node: '>=8'}
1934
+ hasBin: true
1935
+ dependencies:
1936
+ '@jridgewell/gen-mapping': 0.3.3
1937
+ commander: 4.1.1
1938
+ glob: 7.1.6
1939
+ lines-and-columns: 1.2.4
1940
+ mz: 2.7.0
1941
+ pirates: 4.0.6
1942
+ ts-interface-checker: 0.1.13
1943
+ dev: true
1944
+
1945
+ /supports-color@7.2.0:
1946
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1947
+ engines: {node: '>=8'}
1948
+ dependencies:
1949
+ has-flag: 4.0.0
1950
+ dev: true
1951
+
1952
+ /supports-preserve-symlinks-flag@1.0.0:
1953
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1954
+ engines: {node: '>= 0.4'}
1955
+ dev: true
1956
+
1957
+ /svelte-check@3.4.4(postcss@8.4.24)(svelte@3.59.2):
1958
+ resolution: {integrity: sha512-Uys9+R65cj8TmP8f5UpS7B2xKpNLYNxEWJsA5ZoKcWq/uwvABFF7xS6iPQGLoa7hxz0DS6xU60YFpmq06E4JxA==}
1959
+ hasBin: true
1960
+ peerDependencies:
1961
+ svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
1962
+ dependencies:
1963
+ '@jridgewell/trace-mapping': 0.3.18
1964
+ chokidar: 3.5.3
1965
+ fast-glob: 3.2.12
1966
+ import-fresh: 3.3.0
1967
+ picocolors: 1.0.0
1968
+ sade: 1.8.1
1969
+ svelte: 3.59.2
1970
+ svelte-preprocess: 5.0.4(postcss@8.4.24)(svelte@3.59.2)(typescript@5.1.3)
1971
+ typescript: 5.1.3
1972
+ transitivePeerDependencies:
1973
+ - '@babel/core'
1974
+ - coffeescript
1975
+ - less
1976
+ - postcss
1977
+ - postcss-load-config
1978
+ - pug
1979
+ - sass
1980
+ - stylus
1981
+ - sugarss
1982
+ dev: true
1983
+
1984
+ /svelte-eslint-parser@0.31.0(svelte@3.59.2):
1985
+ resolution: {integrity: sha512-/31RpBf/e3YjoFphjsyo3JRyN1r4UalGAGafXrZ6EJK4h4COOO0rbfBoen5byGsXnIJKsrlC1lkEd2Vzpq2IDg==}
1986
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1987
+ peerDependencies:
1988
+ svelte: ^3.37.0 || ^4.0.0-0
1989
+ peerDependenciesMeta:
1990
+ svelte:
1991
+ optional: true
1992
+ dependencies:
1993
+ eslint-scope: 7.2.0
1994
+ eslint-visitor-keys: 3.4.1
1995
+ espree: 9.5.2
1996
+ postcss: 8.4.24
1997
+ postcss-scss: 4.0.6(postcss@8.4.24)
1998
+ svelte: 3.59.2
1999
+ dev: true
2000
+
2001
+ /svelte-hmr@0.15.2(svelte@3.59.2):
2002
+ resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
2003
+ engines: {node: ^12.20 || ^14.13.1 || >= 16}
2004
+ peerDependencies:
2005
+ svelte: ^3.19.0 || ^4.0.0-next.0
2006
+ dependencies:
2007
+ svelte: 3.59.2
2008
+ dev: true
2009
+
2010
+ /svelte-preprocess@5.0.4(postcss@8.4.24)(svelte@3.59.2)(typescript@5.1.3):
2011
+ resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
2012
+ engines: {node: '>= 14.10.0'}
2013
+ requiresBuild: true
2014
+ peerDependencies:
2015
+ '@babel/core': ^7.10.2
2016
+ coffeescript: ^2.5.1
2017
+ less: ^3.11.3 || ^4.0.0
2018
+ postcss: ^7 || ^8
2019
+ postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
2020
+ pug: ^3.0.0
2021
+ sass: ^1.26.8
2022
+ stylus: ^0.55.0
2023
+ sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
2024
+ svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
2025
+ typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
2026
+ peerDependenciesMeta:
2027
+ '@babel/core':
2028
+ optional: true
2029
+ coffeescript:
2030
+ optional: true
2031
+ less:
2032
+ optional: true
2033
+ postcss:
2034
+ optional: true
2035
+ postcss-load-config:
2036
+ optional: true
2037
+ pug:
2038
+ optional: true
2039
+ sass:
2040
+ optional: true
2041
+ stylus:
2042
+ optional: true
2043
+ sugarss:
2044
+ optional: true
2045
+ typescript:
2046
+ optional: true
2047
+ dependencies:
2048
+ '@types/pug': 2.0.6
2049
+ detect-indent: 6.1.0
2050
+ magic-string: 0.27.0
2051
+ postcss: 8.4.24
2052
+ sorcery: 0.11.0
2053
+ strip-indent: 3.0.0
2054
+ svelte: 3.59.2
2055
+ typescript: 5.1.3
2056
+ dev: true
2057
+
2058
+ /svelte@3.59.2:
2059
+ resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==}
2060
+ engines: {node: '>= 8'}
2061
+ dev: true
2062
+
2063
+ /tailwindcss@3.3.2:
2064
+ resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
2065
+ engines: {node: '>=14.0.0'}
2066
+ hasBin: true
2067
+ dependencies:
2068
+ '@alloc/quick-lru': 5.2.0
2069
+ arg: 5.0.2
2070
+ chokidar: 3.5.3
2071
+ didyoumean: 1.2.2
2072
+ dlv: 1.1.3
2073
+ fast-glob: 3.2.12
2074
+ glob-parent: 6.0.2
2075
+ is-glob: 4.0.3
2076
+ jiti: 1.18.2
2077
+ lilconfig: 2.1.0
2078
+ micromatch: 4.0.5
2079
+ normalize-path: 3.0.0
2080
+ object-hash: 3.0.0
2081
+ picocolors: 1.0.0
2082
+ postcss: 8.4.24
2083
+ postcss-import: 15.1.0(postcss@8.4.24)
2084
+ postcss-js: 4.0.1(postcss@8.4.24)
2085
+ postcss-load-config: 4.0.1(postcss@8.4.24)
2086
+ postcss-nested: 6.0.1(postcss@8.4.24)
2087
+ postcss-selector-parser: 6.0.13
2088
+ postcss-value-parser: 4.2.0
2089
+ resolve: 1.22.2
2090
+ sucrase: 3.32.0
2091
+ transitivePeerDependencies:
2092
+ - ts-node
2093
+ dev: true
2094
+
2095
+ /text-table@0.2.0:
2096
+ resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2097
+ dev: true
2098
+
2099
+ /thenify-all@1.6.0:
2100
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2101
+ engines: {node: '>=0.8'}
2102
+ dependencies:
2103
+ thenify: 3.3.1
2104
+ dev: true
2105
+
2106
+ /thenify@3.3.1:
2107
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2108
+ dependencies:
2109
+ any-promise: 1.3.0
2110
+ dev: true
2111
+
2112
+ /tinybench@2.5.0:
2113
+ resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==}
2114
+ dev: true
2115
+
2116
+ /tinypool@0.3.1:
2117
+ resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
2118
+ engines: {node: '>=14.0.0'}
2119
+ dev: true
2120
+
2121
+ /tinyspy@1.1.1:
2122
+ resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==}
2123
+ engines: {node: '>=14.0.0'}
2124
+ dev: true
2125
+
2126
+ /to-regex-range@5.0.1:
2127
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2128
+ engines: {node: '>=8.0'}
2129
+ dependencies:
2130
+ is-number: 7.0.0
2131
+ dev: true
2132
+
2133
+ /totalist@3.0.1:
2134
+ resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
2135
+ engines: {node: '>=6'}
2136
+ dev: true
2137
+
2138
+ /ts-interface-checker@0.1.13:
2139
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2140
+ dev: true
2141
+
2142
+ /tslib@1.14.1:
2143
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2144
+ dev: true
2145
+
2146
+ /tslib@2.5.3:
2147
+ resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
2148
+ dev: true
2149
+
2150
+ /tsutils@3.21.0(typescript@5.1.3):
2151
+ resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2152
+ engines: {node: '>= 6'}
2153
+ peerDependencies:
2154
+ typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
2155
+ dependencies:
2156
+ tslib: 1.14.1
2157
+ typescript: 5.1.3
2158
+ dev: true
2159
+
2160
+ /type-check@0.4.0:
2161
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2162
+ engines: {node: '>= 0.8.0'}
2163
+ dependencies:
2164
+ prelude-ls: 1.2.1
2165
+ dev: true
2166
+
2167
+ /type-detect@4.0.8:
2168
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
2169
+ engines: {node: '>=4'}
2170
+ dev: true
2171
+
2172
+ /type-fest@0.20.2:
2173
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2174
+ engines: {node: '>=10'}
2175
+ dev: true
2176
+
2177
+ /typescript@5.1.3:
2178
+ resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
2179
+ engines: {node: '>=14.17'}
2180
+ hasBin: true
2181
+ dev: true
2182
+
2183
+ /undici@5.22.1:
2184
+ resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
2185
+ engines: {node: '>=14.0'}
2186
+ dependencies:
2187
+ busboy: 1.6.0
2188
+ dev: true
2189
+
2190
+ /update-browserslist-db@1.0.11(browserslist@4.21.9):
2191
+ resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
2192
+ hasBin: true
2193
+ peerDependencies:
2194
+ browserslist: '>= 4.21.0'
2195
+ dependencies:
2196
+ browserslist: 4.21.9
2197
+ escalade: 3.1.1
2198
+ picocolors: 1.0.0
2199
+ dev: true
2200
+
2201
+ /uri-js@4.4.1:
2202
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2203
+ dependencies:
2204
+ punycode: 2.3.0
2205
+ dev: true
2206
+
2207
+ /util-deprecate@1.0.2:
2208
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2209
+ dev: true
2210
+
2211
+ /vite@4.3.9(@types/node@20.3.1):
2212
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
2213
+ engines: {node: ^14.18.0 || >=16.0.0}
2214
+ hasBin: true
2215
+ peerDependencies:
2216
+ '@types/node': '>= 14'
2217
+ less: '*'
2218
+ sass: '*'
2219
+ stylus: '*'
2220
+ sugarss: '*'
2221
+ terser: ^5.4.0
2222
+ peerDependenciesMeta:
2223
+ '@types/node':
2224
+ optional: true
2225
+ less:
2226
+ optional: true
2227
+ sass:
2228
+ optional: true
2229
+ stylus:
2230
+ optional: true
2231
+ sugarss:
2232
+ optional: true
2233
+ terser:
2234
+ optional: true
2235
+ dependencies:
2236
+ '@types/node': 20.3.1
2237
+ esbuild: 0.17.19
2238
+ postcss: 8.4.24
2239
+ rollup: 3.25.1
2240
+ optionalDependencies:
2241
+ fsevents: 2.3.2
2242
+ dev: true
2243
+
2244
+ /vitefu@0.2.4(vite@4.3.9):
2245
+ resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
2246
+ peerDependencies:
2247
+ vite: ^3.0.0 || ^4.0.0
2248
+ peerDependenciesMeta:
2249
+ vite:
2250
+ optional: true
2251
+ dependencies:
2252
+ vite: 4.3.9(@types/node@20.3.1)
2253
+ dev: true
2254
+
2255
+ /vitest@0.25.8:
2256
+ resolution: {integrity: sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==}
2257
+ engines: {node: '>=v14.16.0'}
2258
+ hasBin: true
2259
+ peerDependencies:
2260
+ '@edge-runtime/vm': '*'
2261
+ '@vitest/browser': '*'
2262
+ '@vitest/ui': '*'
2263
+ happy-dom: '*'
2264
+ jsdom: '*'
2265
+ peerDependenciesMeta:
2266
+ '@edge-runtime/vm':
2267
+ optional: true
2268
+ '@vitest/browser':
2269
+ optional: true
2270
+ '@vitest/ui':
2271
+ optional: true
2272
+ happy-dom:
2273
+ optional: true
2274
+ jsdom:
2275
+ optional: true
2276
+ dependencies:
2277
+ '@types/chai': 4.3.5
2278
+ '@types/chai-subset': 1.3.3
2279
+ '@types/node': 20.3.1
2280
+ acorn: 8.9.0
2281
+ acorn-walk: 8.2.0
2282
+ chai: 4.3.7
2283
+ debug: 4.3.4
2284
+ local-pkg: 0.4.3
2285
+ source-map: 0.6.1
2286
+ strip-literal: 1.0.1
2287
+ tinybench: 2.5.0
2288
+ tinypool: 0.3.1
2289
+ tinyspy: 1.1.1
2290
+ vite: 4.3.9(@types/node@20.3.1)
2291
+ transitivePeerDependencies:
2292
+ - less
2293
+ - sass
2294
+ - stylus
2295
+ - sugarss
2296
+ - supports-color
2297
+ - terser
2298
+ dev: true
2299
+
2300
+ /which@2.0.2:
2301
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2302
+ engines: {node: '>= 8'}
2303
+ hasBin: true
2304
+ dependencies:
2305
+ isexe: 2.0.0
2306
+ dev: true
2307
+
2308
+ /word-wrap@1.2.3:
2309
+ resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
2310
+ engines: {node: '>=0.10.0'}
2311
+ dev: true
2312
+
2313
+ /wrappy@1.0.2:
2314
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2315
+ dev: true
2316
+
2317
+ /yallist@4.0.0:
2318
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2319
+ dev: true
2320
+
2321
+ /yaml@1.10.2:
2322
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
2323
+ engines: {node: '>= 6'}
2324
+ dev: true
2325
+
2326
+ /yaml@2.3.1:
2327
+ resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==}
2328
+ engines: {node: '>= 14'}
2329
+ dev: true
2330
+
2331
+ /yocto-queue@0.1.0:
2332
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2333
+ engines: {node: '>=10'}
2334
+ dev: true
postcss.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
src/app.css ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
src/app.d.ts ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // See https://kit.svelte.dev/docs/types#app
2
+ // for information about these interfaces
3
+ declare global {
4
+ namespace App {
5
+ // interface Error {}
6
+ // interface Locals {}
7
+ // interface PageData {}
8
+ // interface Platform {}
9
+ }
10
+ }
11
+
12
+ export {};
src/app.html ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <link rel="icon" href="%sveltekit.assets%/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width" />
7
+ <title>agents js demo</title>
8
+ %sveltekit.head%
9
+ </head>
10
+ <body data-sveltekit-preload-data="hover">
11
+ <div style="display: contents">%sveltekit.body%</div>
12
+ </body>
13
+ </html>
src/index.test.ts ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import { describe, it, expect } from 'vitest';
2
+
3
+ describe('sum test', () => {
4
+ it('adds 1 + 2 to equal 3', () => {
5
+ expect(1 + 2).toBe(3);
6
+ });
7
+ });
src/lib/LLMFromOpenAI.ts ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import type { LLM } from "@huggingface/agents/src/types";
2
+ import { Configuration, OpenAIApi } from "openai";
3
+ export function LLMFromOpenAI(openAIKey: string): LLM {
4
+ const api = new OpenAIApi(new Configuration({ apiKey: openAIKey }));
5
+
6
+ return async (prompt: string): Promise<string> => {
7
+ const textAnswer =
8
+ (
9
+ await api.createCompletion({
10
+ model: "text-davinci-003",
11
+ prompt: prompt,
12
+ max_tokens: 1000,
13
+ })
14
+ ).data.choices[0].text ?? "";
15
+
16
+ return textAnswer;
17
+ };
18
+ }
src/lib/components/ApiKeyModal.svelte ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { onMount } from "svelte";
3
+ import { HF_ACCESS_TOKEN } from "$lib/store";
4
+ import { goto } from "$app/navigation";
5
+
6
+ export let dialogElement: HTMLDialogElement;
7
+
8
+ onMount(() => {
9
+ if ($HF_ACCESS_TOKEN === "") {
10
+ dialogElement.showModal();
11
+ }
12
+ });
13
+ </script>
14
+
15
+ <dialog
16
+ id="api_modal"
17
+ class="modal"
18
+ bind:this={dialogElement}
19
+ on:close={() => {
20
+ localStorage.setItem("HF_ACCESS_TOKEN", $HF_ACCESS_TOKEN);
21
+ goto("/");
22
+ }}
23
+ >
24
+ <form
25
+ method="dialog"
26
+ class="modal-box bg-base-300 shadow-xl border-base-content border-2"
27
+ >
28
+ <div class="w-full flex flex-col">
29
+ <form aria-label="HF API" class="form-control">
30
+ <div>
31
+ <h3 class="font-bold text-xl inline">HuggingFace API Token</h3>
32
+ </div>
33
+
34
+ <label for="hf_key" class="label-text pb-4 pt-4">
35
+ You can optionally input your HF API token here. This will improve
36
+ rate limits in the demo. Get your token <a
37
+ href="https://huggingface.co/settings/tokens"
38
+ class="link">here</a
39
+ >.
40
+ </label>
41
+ <input
42
+ class="input input-primary"
43
+ name="hf_key"
44
+ type="text"
45
+ placeholder="hf_***"
46
+ bind:value={$HF_ACCESS_TOKEN}
47
+ />
48
+ </form>
49
+ </div>
50
+ <div class="modal-action">
51
+ <button class="btn btn-neutral w-fit mx-auto">Close</button>
52
+ </div>
53
+ </form>
54
+ </dialog>
src/lib/components/CodePreview.svelte ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let code: string;
3
+ export let onRun: (code: string) => void;
4
+
5
+ let editMode: boolean = false;
6
+ let codeElement: HTMLElement;
7
+ </script>
8
+
9
+ <div class="divider" />
10
+ <div>
11
+ <h3 class="text-lg inline-block">Check the code</h3>
12
+ <button
13
+ class="btn btn-ghost inline-block w-min"
14
+ on:click={() => (editMode = !editMode)}
15
+ on:keypress={() => (editMode = !editMode)}
16
+ >
17
+ {editMode ? "done" : "edit"}
18
+ </button>
19
+ </div>
20
+ <div
21
+ class="mockup-code text-sm focus:outline-none"
22
+ class:bg-base-200={editMode}
23
+ on:dblclick={() => (editMode = true)}
24
+ >
25
+ <pre
26
+ class="ml-4"
27
+ on:click={() => codeElement && codeElement.focus()}
28
+ on:keypress={() => codeElement && codeElement.focus()}>
29
+ {#if editMode}
30
+ <code contenteditable bind:textContent={code} bind:this={codeElement} />
31
+ {:else}
32
+ <code>{code}</code>
33
+ {/if}
34
+ </pre>
35
+ </div>
36
+
37
+ <button
38
+ class="btn btn-primary w-fit mx-auto"
39
+ on:click={() => {
40
+ onRun(code);
41
+ }}
42
+ >
43
+ run code
44
+ </button>
src/lib/components/FileUpload.svelte ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let files: FileList | null = null;
3
+ </script>
4
+
5
+ <div class="grid grid-cols-2 gap-5">
6
+ <div class="form-control">
7
+ <label class="label">
8
+ <span class="label-text">
9
+ {#if files && files.length > 0}
10
+ {files[0].type.split("/")[0]} detected
11
+ <button class="btn-sm btn btn-ghost" on:click={() => (files = null)}
12
+ >clear
13
+ </button>
14
+ {:else}
15
+ Upload a file (image or audio)
16
+ {/if}
17
+ </span>
18
+ </label>
19
+ <input
20
+ type="file"
21
+ bind:files
22
+ accept="audio/*, image/*"
23
+ class="mt-auto file-input file-input-bordered max-w-xs"
24
+ class:file-input-primary={files && files.length > 0}
25
+ />
26
+ </div>
27
+ </div>
src/lib/components/LLMSelector.svelte ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let llm: "openai" | "hf";
3
+ </script>
4
+
5
+ <h3 class="text-lg">Select your LLM</h3>
6
+
7
+ <div class="join mx-auto gap-5">
8
+ <label
9
+ class="label cursor-pointer"
10
+ on:click={() => (llm = "openai")}
11
+ on:keypress={() => (llm = "openai")}
12
+ >
13
+ <span class="label-text pr-2">OpenAI</span>
14
+ <input
15
+ type="radio"
16
+ name="radio-10"
17
+ class="radio checked:bg-primary-500"
18
+ checked
19
+ />
20
+ </label>
21
+ <label
22
+ class="label cursor-pointer"
23
+ on:click={() => (llm = "hf")}
24
+ on:keypress={() => (llm = "hf")}
25
+ >
26
+ <span class="label-text pr-2">Hugging Face</span>
27
+ <input
28
+ type="radio"
29
+ name="radio-10"
30
+ class="radio checked:bg-primary-500"
31
+ checked
32
+ />
33
+ </label>
34
+ </div>
src/lib/components/LogoHuggingFaceBorderless.svelte ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let classNames = "";
3
+ </script>
4
+
5
+ <svg
6
+ class={classNames}
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ width="1em"
9
+ height="1em"
10
+ fill="none"
11
+ viewBox="0 0 95 88"
12
+ >
13
+ <path
14
+ fill="#FFD21E"
15
+ d="M47.21 76.5a34.75 34.75 0 1 0 0-69.5 34.75 34.75 0 0 0 0 69.5Z"
16
+ />
17
+ <path
18
+ fill="#FF9D0B"
19
+ d="M81.96 41.75a34.75 34.75 0 1 0-69.5 0 34.75 34.75 0 0 0 69.5 0Zm-73.5 0a38.75 38.75 0 1 1 77.5 0 38.75 38.75 0 0 1-77.5 0Z"
20
+ />
21
+ <path
22
+ fill="#3A3B45"
23
+ d="M58.5 32.3c1.28.44 1.78 3.06 3.07 2.38a5 5 0 1 0-6.76-2.07c.61 1.15 2.55-.72 3.7-.32ZM34.95 32.3c-1.28.44-1.79 3.06-3.07 2.38a5 5 0 1 1 6.76-2.07c-.61 1.15-2.56-.72-3.7-.32ZM46.96 56.29c9.83 0 13-8.76 13-13.26 0-2.34-1.57-1.6-4.09-.36-2.33 1.15-5.46 2.74-8.9 2.74-7.19 0-13-6.88-13-2.38s3.16 13.26 13 13.26Z"
24
+ />
25
+ <mask id="a" width="27" height="16" x="33" y="41" maskUnits="userSpaceOnUse">
26
+ <path
27
+ fill="#fff"
28
+ d="M46.96 56.29c9.83 0 13-8.76 13-13.26 0-2.34-1.57-1.6-4.09-.36-2.33 1.15-5.46 2.74-8.9 2.74-7.19 0-13-6.88-13-2.38s3.16 13.26 13 13.26Z"
29
+ />
30
+ </mask>
31
+ <g mask="url(#a)">
32
+ <path
33
+ fill="#F94040"
34
+ d="M47.21 66.5a8.67 8.67 0 0 0 2.65-16.94c-.84-.26-1.73 2.6-2.65 2.6-.86 0-1.7-2.88-2.48-2.65a8.68 8.68 0 0 0 2.48 16.99Z"
35
+ />
36
+ </g>
37
+ <path
38
+ fill="#FF9D0B"
39
+ d="M70.71 37a3.25 3.25 0 1 0 0-6.5 3.25 3.25 0 0 0 0 6.5ZM24.21 37a3.25 3.25 0 1 0 0-6.5 3.25 3.25 0 0 0 0 6.5ZM17.52 48c-1.62 0-3.06.66-4.07 1.87a5.97 5.97 0 0 0-1.33 3.76 7.1 7.1 0 0 0-1.94-.3c-1.55 0-2.95.59-3.94 1.66a5.8 5.8 0 0 0-.8 7 5.3 5.3 0 0 0-1.79 2.82c-.24.9-.48 2.8.8 4.74a5.22 5.22 0 0 0-.37 5.02c1.02 2.32 3.57 4.14 8.52 6.1 3.07 1.22 5.89 2 5.91 2.01a44.33 44.33 0 0 0 10.93 1.6c5.86 0 10.05-1.8 12.46-5.34 3.88-5.69 3.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7 5.7 0 0 0-4.6 2.46c-1-1.26-1.98-2.25-2.86-2.82A7.4 7.4 0 0 0 17.52 48Zm0 4c.51 0 1.14.22 1.82.65 2.14 1.36 6.25 8.43 7.76 11.18.5.92 1.37 1.31 2.14 1.31 1.55 0 2.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02 1.7 0 2.45 2.93 2.45 2.93s2.2 5.52 5.98 9.3c3.77 3.77 3.97 6.8 1.22 10.83-1.88 2.75-5.47 3.58-9.16 3.58-3.81 0-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7 .28-.54.75-.76 1.34-.76 2.38 0 6.7 3.54 8.57 3.54.41 0 .7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02 1.44-1.02 3.14 0 10.2 5.53 11.68 5.53.11 0 .2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38 1-.38 3.17 0 10.66 6.82 10.66 6.82s2.02 2.1 3.25 2.1c.28 0 .52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85 1.31-2.85Z"
40
+ />
41
+ <path
42
+ fill="#FFD21E"
43
+ d="M38.6 76.69c2.75-4.04 2.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24 5.08.68 8.01 3.91 2.93-.78 4.92-2.29 2.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13 2.2.5 2.79 9.43 9.55 8.56 11-.87 1.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08 2.27 1.59 4.17 6.8 7.33 5.23 3.16 5.64 4 4.9 5.2-.75 1.2-12.28-8.53-13.36-4.4-1.08 4.11 11.77 5.3 10.98 8.15-.8 2.85-9.06-5.38-10.74-2.18-1.7 3.21 11.65 6.98 11.76 7.01 4.3 1.12 15.25 3.49 19.08-2.12Z"
44
+ />
45
+ <path
46
+ fill="#FF9D0B"
47
+ d="M77.4 48c1.62 0 3.07.66 4.07 1.87a5.97 5.97 0 0 1 1.33 3.76 7.1 7.1 0 0 1 1.95-.3c1.55 0 2.95.59 3.94 1.66a5.8 5.8 0 0 1 .8 7 5.3 5.3 0 0 1 1.78 2.82c.24.9.48 2.8-.8 4.74a5.22 5.22 0 0 1 .37 5.02c-1.02 2.32-3.57 4.14-8.51 6.1-3.08 1.22-5.9 2-5.92 2.01a44.33 44.33 0 0 1-10.93 1.6c-5.86 0-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9 1.7-15.92 2.78-2.78 4.63-6.87 5.01-7.77.78-2.66 2.83-5.62 6.24-5.62a5.7 5.7 0 0 1 4.6 2.46c1-1.26 1.98-2.25 2.87-2.82A7.4 7.4 0 0 1 77.4 48Zm0 4c-.51 0-1.13.22-1.82.65-2.13 1.36-6.25 8.43-7.76 11.18a2.43 2.43 0 0 1-2.14 1.31c-1.54 0-2.75-1.53-.14-3.48 3.91-2.93 2.54-7.72.67-8.01a1.54 1.54 0 0 0-.24-.02c-1.7 0-2.45 2.93-2.45 2.93s-2.2 5.52-5.97 9.3c-3.78 3.77-3.98 6.8-1.22 10.83 1.87 2.75 5.47 3.58 9.15 3.58 3.82 0 7.73-.9 9.93-1.46.1-.03 13.45-3.8 11.76-7-.29-.54-.75-.76-1.34-.76-2.38 0-6.71 3.54-8.57 3.54-.42 0-.71-.17-.83-.6-.8-2.85 12.05-4.05 10.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14 0-10.2 5.53-11.68 5.53-.1 0-.19-.03-.23-.1-.74-1.2-.34-2.04 4.88-5.2 5.23-3.16 8.9-5.06 6.8-7.33-.23-.26-.57-.38-.98-.38-3.18 0-10.67 6.82-10.67 6.82s-2.02 2.1-3.24 2.1a.74.74 0 0 1-.68-.38c-.87-1.46 8.05-8.22 8.55-11.01.34-1.9-.24-2.85-1.31-2.85Z"
48
+ />
49
+ <path
50
+ fill="#FFD21E"
51
+ d="M56.33 76.69c-2.75-4.04-2.56-7.07 1.22-10.84 3.77-3.77 5.97-9.3 5.97-9.3s.82-3.2 2.7-2.9c1.86.3 3.23 5.08-.68 8.01-3.92 2.93.78 4.92 2.28 2.17 1.51-2.75 5.63-9.82 7.76-11.18 2.13-1.35 3.64-.6 3.13 2.2-.5 2.79-9.42 9.55-8.55 11 .86 1.47 3.92-1.71 3.92-1.71s9.58-8.71 11.66-6.44c2.08 2.27-1.58 4.17-6.8 7.33-5.23 3.16-5.63 4-4.9 5.2.75 1.2 12.28-8.53 13.36-4.4 1.08 4.11-11.76 5.3-10.97 8.15.8 2.85 9.05-5.38 10.74-2.18 1.69 3.21-11.65 6.98-11.76 7.01-4.31 1.12-15.26 3.49-19.08-2.12Z"
52
+ />
53
+ </svg>
src/lib/components/ResultsDisplay.svelte ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ export let messages: Array<{
3
+ message: string;
4
+ data: string | Blob | undefined;
5
+ }>;
6
+
7
+ const isBlob = (message: string | Blob): message is Blob => {
8
+ return message instanceof Blob;
9
+ };
10
+ </script>
11
+
12
+ <div class="w-fit mx-auto">
13
+ <h3 class="text-lg pb-5">Results</h3>
14
+ <div class="space-y-5">
15
+ {#each messages as message}
16
+ <div class="collapse bg-base-200 collapse-plus">
17
+ <input type="checkbox" />
18
+ <div class="collapse-title text-xl font-medium">
19
+ {message.message}
20
+ </div>
21
+ <div class="collapse-content">
22
+ {#if !!message.data && isBlob(message.data)}
23
+ {#if message.data.type.startsWith("image")}
24
+ <div class="mx-auto border-2 border-neutral-focus w-full">
25
+ <img
26
+ class="p-1 w-fit"
27
+ alt="generated"
28
+ src={URL.createObjectURL(message.data)}
29
+ />
30
+ </div>
31
+ {:else if message.data.type.startsWith("audio")}
32
+ <audio controls src={URL.createObjectURL(message.data)} />
33
+ {:else}
34
+ <p class="text-mono text-light w-full">blob type unknown</p>
35
+ {/if}
36
+ {:else if !!message.data}
37
+ <p class="text-mono mx-auto text-light w-full">{message.data}</p>
38
+ {/if}
39
+ </div>
40
+ </div>
41
+ {/each}
42
+ </div>
43
+ </div>
src/lib/components/ToolSelector.svelte ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import { defaultTools } from "@huggingface/agents";
3
+ export let selectedTools: Array<string> = [];
4
+ </script>
5
+
6
+ <div class="w-fit mx-auto">
7
+ <h3 class="text-lg pb-3">Select your tools</h3>
8
+
9
+ <div class="join mx-auto grid grid-cols-4 gap-3">
10
+ {#each defaultTools as tool}
11
+ <label class="label cursor-pointer gap-2">
12
+ <span class="label-text">
13
+ {tool.name}
14
+ </span>
15
+ <input
16
+ class="checkbox"
17
+ type="checkbox"
18
+ bind:group={selectedTools}
19
+ name="tools"
20
+ value={tool.name}
21
+ />
22
+ </label>
23
+ {/each}
24
+ </div>
25
+
26
+ <div class="mx-auto w-fit mt-2">
27
+ {#if selectedTools.length === defaultTools.length}
28
+ <button
29
+ class="btn btn-ghost inline-block w-fit btn-sm"
30
+ on:click={() => (selectedTools = [])}>clear</button
31
+ >
32
+ {:else}
33
+ <button
34
+ class="btn btn-ghost inline-block w-fit btn-sm"
35
+ on:click={() => (selectedTools = defaultTools.map((el) => el.name))}
36
+ >select all</button
37
+ >
38
+ {/if}
39
+ </div>
40
+ </div>
src/lib/store.ts ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { writable } from "svelte/store";
2
+ import { browser } from "$app/environment";
3
+
4
+ // Set the stored value or a sane default.
5
+ export const HF_ACCESS_TOKEN = writable(
6
+ (browser && localStorage.HF_ACCESS_TOKEN) || ""
7
+ );
8
+
9
+ if (browser) {
10
+ HF_ACCESS_TOKEN.subscribe((value) => (localStorage.content = value));
11
+ }
src/routes/+layout.svelte ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <script>
2
+ import "../app.css";
3
+ </script>
4
+
5
+ <div class="p-4 max-w-xl mx-auto">
6
+ <slot />
7
+ </div>
src/routes/+layout.ts ADDED
@@ -0,0 +1 @@
 
 
1
+ export const prerender = true;
src/routes/+page.svelte ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script lang="ts">
2
+ import LogoHuggingFaceBorderless from "$lib/components/LogoHuggingFaceBorderless.svelte";
3
+ import FileUpload from "$lib/components/FileUpload.svelte";
4
+ import ToolSelector from "$lib/components/ToolSelector.svelte";
5
+ import CodePreview from "$lib/components/CodePreview.svelte";
6
+ import ResultsDisplay from "$lib/components/ResultsDisplay.svelte";
7
+ import { HfAgent, LLMFromHub, defaultTools } from "@huggingface/agents";
8
+ import { PUBLIC_MODEL_NAME, PUBLIC_MODEL_URL } from "$env/static/public";
9
+ import ApiKeyModal from "$lib/components/ApiKeyModal.svelte";
10
+ import { HF_ACCESS_TOKEN } from "$lib/store";
11
+
12
+ let prompt =
13
+ "Draw a picture of a cat wearing a top hat and display it. Then caption the picture and read it out loud.";
14
+ let selectedTools: Array<string> = defaultTools.map((el) => el.name);
15
+
16
+ let llm: "hf" | "openai" = "hf";
17
+
18
+ let codePromise: Promise<string> | null = null;
19
+ let code: string = "";
20
+ let messages: Array<{ message: string; data: string | Blob | undefined }> =
21
+ [];
22
+
23
+ let files: FileList | undefined;
24
+
25
+ let isLoading = false;
26
+
27
+ const onGenerate = async () => {
28
+ messages = [];
29
+
30
+ const filetypes = files
31
+ ? Array.from(files).map((el) => el?.type)
32
+ : undefined;
33
+
34
+ console.log(filetypes);
35
+ codePromise = fetch("/generate", {
36
+ method: "POST",
37
+ headers: {
38
+ "Content-Type": "application/json",
39
+ },
40
+ body: JSON.stringify({
41
+ prompt,
42
+ tools: selectedTools,
43
+ filetypes,
44
+ }),
45
+ })
46
+ .then((res) => res.json())
47
+ .then((res) => {
48
+ code = res;
49
+ return res;
50
+ });
51
+
52
+ if (codePromise === null) {
53
+ return;
54
+ }
55
+
56
+ code = await codePromise;
57
+ };
58
+
59
+ const onRun = async (code: string) => {
60
+ isLoading = true;
61
+ messages = [];
62
+
63
+ const agent = new HfAgent(
64
+ $HF_ACCESS_TOKEN ?? "",
65
+ undefined,
66
+ defaultTools.filter((el) => selectedTools.includes(el.name))
67
+ );
68
+
69
+ messages = await agent.evaluateCode(code, files);
70
+ window.scrollTo(0, document.body.scrollHeight);
71
+ isLoading = false;
72
+ };
73
+
74
+ let dialogElement: HTMLDialogElement;
75
+ </script>
76
+
77
+ <ApiKeyModal bind:dialogElement />
78
+
79
+ <div class="flex flex-col space-y-4 max-w-xl">
80
+ <div class="flex flex-row">
81
+ <LogoHuggingFaceBorderless classNames="text-4xl" />
82
+ <h1 class="text-3xl font-semibold mx-auto">Agents.js</h1>
83
+ <button
84
+ class="btn btn-ghost"
85
+ on:click={() => dialogElement.showModal()}
86
+ on:keydown={() => dialogElement.showModal()}>API keys</button
87
+ >
88
+ <div />
89
+ </div>
90
+ <p class="text-justify">
91
+ This demo is meant to showcase some of the features that we released with <a
92
+ class="link"
93
+ href="https://huggingface.co/blog/agents-js">agents.js</a
94
+ >. This demo is using
95
+ <a class="font-bold link-hover" href={PUBLIC_MODEL_URL}
96
+ >{PUBLIC_MODEL_NAME}</a
97
+ >.
98
+ </p>
99
+
100
+ <div class="divider" />
101
+
102
+ <ToolSelector bind:selectedTools />
103
+
104
+ <div class="divider" />
105
+
106
+ <span class="label-text text-lg pb-3"> Input your request </span>
107
+
108
+ <textarea
109
+ class="textarea border-base-300 bg-base-300"
110
+ placeholder="Ask something here"
111
+ bind:value={prompt}
112
+ />
113
+
114
+ <FileUpload bind:files />
115
+
116
+ <button
117
+ class="btn btn-primary mt-auto w-fit mx-auto"
118
+ on:click={onGenerate}
119
+ on:keypress={onGenerate}
120
+ disabled={selectedTools.length === 0}>generate</button
121
+ >
122
+
123
+ {#await codePromise}
124
+ <div class="loading loading-lg mx-auto" />
125
+ {:then}
126
+ {#if code !== ""}
127
+ <CodePreview bind:code {onRun} />
128
+ {/if}
129
+ {:catch error}
130
+ <div class="alert alert-error mx-auto">
131
+ <p class="font-bold">Error</p>
132
+ <p>{error.message}</p>
133
+ </div>
134
+ {/await}
135
+
136
+ {#if messages.length !== 0}
137
+ <div class="divider" />
138
+ <ResultsDisplay bind:messages />
139
+ {/if}
140
+ {#if isLoading}
141
+ <div class="divider" />
142
+
143
+ <div class="loading loading-lg mx-auto" />
144
+ {/if}
145
+ </div>
src/routes/generate/+server.ts ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { json } from "@sveltejs/kit";
2
+ import {
3
+ defaultTools,
4
+ HfAgent,
5
+ LLMFromEndpoint,
6
+ LLMFromHub,
7
+ } from "@huggingface/agents";
8
+ import { HF_ACCESS_TOKEN, HF_ENDPOINT } from "$env/static/private";
9
+
10
+ export async function POST({ request }) {
11
+ const r = await request.json();
12
+ console.log(r);
13
+ const { prompt, tools: selectedTools, filetypes } = r;
14
+ const tools = defaultTools.filter((el) => selectedTools.includes(el.name));
15
+
16
+ let agent;
17
+ if (HF_ENDPOINT !== "") {
18
+ agent = new HfAgent(
19
+ HF_ACCESS_TOKEN,
20
+ LLMFromEndpoint(HF_ACCESS_TOKEN, HF_ENDPOINT),
21
+ tools
22
+ );
23
+ } else {
24
+ agent = new HfAgent(HF_ACCESS_TOKEN, LLMFromHub(HF_ACCESS_TOKEN), tools);
25
+ }
26
+
27
+ const files = filetypes
28
+ ? filetypes.map((el: string) => ({
29
+ type: el,
30
+ }))
31
+ : undefined;
32
+
33
+ const code = await agent.generateCode(prompt, files);
34
+
35
+ return json(code);
36
+ }
favicon.svg → static/favicon.svg RENAMED
File without changes
svelte.config.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import adapter from '@sveltejs/adapter-auto';
2
+ import { vitePreprocess } from '@sveltejs/kit/vite';
3
+
4
+ /** @type {import('@sveltejs/kit').Config} */
5
+ const config = {
6
+ // Consult https://kit.svelte.dev/docs/integrations#preprocessors
7
+ // for more information about preprocessors
8
+ preprocess: vitePreprocess(),
9
+
10
+ kit: {
11
+ // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
12
+ // If your environment is not supported or you settled on a specific environment, switch out the adapter.
13
+ // See https://kit.svelte.dev/docs/adapters for more information about adapters.
14
+ adapter: adapter()
15
+ }
16
+ };
17
+
18
+ export default config;
tailwind.config.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ export default {
3
+ content: ['./src/**/*.{html,js,svelte,ts}'],
4
+ theme: {
5
+ extend: {},
6
+ },
7
+ plugins: [
8
+ require('daisyui')
9
+ ]
10
+ }
11
+
tsconfig.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "./.svelte-kit/tsconfig.json",
3
+ "compilerOptions": {
4
+ "allowJs": true,
5
+ "checkJs": true,
6
+ "esModuleInterop": true,
7
+ "forceConsistentCasingInFileNames": true,
8
+ "resolveJsonModule": true,
9
+ "skipLibCheck": true,
10
+ "sourceMap": true,
11
+ "strict": true
12
+ }
13
+ // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
14
+ //
15
+ // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
16
+ // from the referenced tsconfig.json - TypeScript does not merge them in
17
+ }
vite.config.ts ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { sveltekit } from '@sveltejs/kit/vite';
2
+ import { defineConfig } from 'vitest/config';
3
+
4
+ export default defineConfig({
5
+ plugins: [sveltekit()],
6
+ test: {
7
+ include: ['src/**/*.{test,spec}.{js,ts}']
8
+ },
9
+ server: {
10
+ fs: {
11
+ // Allow serving files from one level up to the project root
12
+ allow: ['..']
13
+ }
14
+ }
15
+ });