diff --git a/app/static/.nojekyll b/.nojekyll similarity index 100% rename from app/static/.nojekyll rename to .nojekyll diff --git a/404.html b/404.html new file mode 100644 index 0000000..18960b4 --- /dev/null +++ b/404.html @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + +
+ +
+ + diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..4cad9cf --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +codevogel.com diff --git a/__data.json b/__data.json new file mode 100644 index 0000000..8db14ae --- /dev/null +++ b/__data.json @@ -0,0 +1 @@ +{"type":"data","nodes":[null,{"type":"data","data":[{"skillGroups":1,"jobs":134},[2,17,52,95],{"name":3,"items":4},"Game Engines",[5,9,13],{"name":6,"href":7,"logoPath":8},"Unity","https://unity.com/","/logos/svg/skills/logo-unity.svg",{"name":10,"href":11,"logoPath":12},"Unreal Engine","https://www.unrealengine.com/","/logos/svg/skills/logo-unreal.svg",{"name":14,"href":15,"logoPath":16},"Godot","https://godotengine.org/","/logos/svg/skills/logo-godot.svg",{"name":18,"items":19},"Design Tools",[20,24,28,32,36,40,44,48],{"name":21,"href":22,"logoPath":23},"Blender","https://www.blender.org/","/logos/svg/skills/logo-blender.svg",{"name":25,"href":26,"logoPath":27},"MagicaVoxel","https://ephtracy.github.io/","/logos/svg/skills/logo-magicavoxel.svg",{"name":29,"href":30,"logoPath":31},"Material\nMaker","https://rodzilla.itch.io/material-maker","/logos/svg/skills/logo-material-maker.svg",{"name":33,"href":34,"logoPath":35},"Figma","https://www.figma.com/","/logos/svg/skills/logo-figma.svg",{"name":37,"href":38,"logoPath":39},"Adobe\nIllustrator","https://www.adobe.com/products/illustrator.html","/logos/svg/skills/logo-illustrator.svg",{"name":41,"href":42,"logoPath":43},"Adobe\nPhotoshop","https://www.adobe.com/products/photoshop.html","/logos/svg/skills/logo-photoshop.svg",{"name":45,"href":46,"logoPath":47},"Adobe\nSubstance Painter","https://www.adobe.com/products/substance3d/apps/painter.html","/logos/svg/skills/logo-substance-painter.svg",{"name":49,"href":50,"logoPath":51},"Adobe\nLightroom","https://www.adobe.com/products/photoshop-lightroom.html","/logos/svg/skills/logo-lightroom.svg",{"name":53,"items":54},"Technologies",[55,59,63,67,71,75,79,83,87,91],{"name":56,"href":57,"logoPath":58},"React","https://react.dev/","/logos/svg/skills/logo-react.svg",{"name":60,"href":61,"logoPath":62},"Svelte","https://svelte.dev/","/logos/svg/skills/logo-svelte.svg",{"name":64,"href":65,"logoPath":66},"Vue","https://vuejs.org/","/logos/svg/skills/logo-vue.svg",{"name":68,"href":69,"logoPath":70},"Tailwind\nCSS","https://tailwindcss.com/","/logos/svg/skills/logo-tailwind.svg",{"name":72,"href":73,"logoPath":74},"Bootstrap","https://getbootstrap.com/","/logos/svg/skills/logo-bootstrap.svg",{"name":76,"href":77,"logoPath":78},"Umbraco\nCMS","https://umbraco.com/","/logos/svg/skills/logo-umbraco.svg",{"name":80,"href":81,"logoPath":82},"Xamarin","https://dotnet.microsoft.com/en-us/apps/xamarin","/logos/svg/skills/logo-xamarin.svg",{"name":84,"href":85,"logoPath":86},"MySQL","https://www.mysql.com/","/logos/svg/skills/logo-mysql.svg",{"name":88,"href":89,"logoPath":90},"MongoDB","https://www.mongodb.com/","/logos/svg/skills/logo-mongodb.svg",{"name":92,"href":93,"logoPath":94},"Drizzle","https://orm.drizzle.team/","/logos/svg/skills/logo-drizzle.svg",{"name":96,"items":97},"Programming Languages",[98,102,106,110,114,118,122,126,130],{"name":99,"href":100,"logoPath":101},"C","https://www.c-language.org/","/logos/svg/skills/logo-c.svg",{"name":103,"href":104,"logoPath":105},"C++","https://isocpp.org/","/logos/svg/skills/logo-cplusplus.svg",{"name":107,"href":108,"logoPath":109},"C#","https://learn.microsoft.com/en-us/dotnet/csharp/","/logos/svg/skills/logo-csharp.svg",{"name":111,"href":112,"logoPath":113},"Java","https://www.java.com/","/logos/svg/skills/logo-java.svg",{"name":115,"href":116,"logoPath":117},"Kotlin","https://kotlinlang.org/","/logos/svg/skills/logo-kotlin.svg",{"name":119,"href":120,"logoPath":121},"Python","https://www.python.org/","/logos/svg/skills/logo-python.svg",{"name":123,"href":124,"logoPath":125},"Lua","https://www.lua.org/","/logos/svg/skills/logo-lua.svg",{"name":127,"href":128,"logoPath":129},"JavaScript","https://developer.mozilla.org/en-US/docs/Web/JavaScript","/logos/svg/skills/logo-javascript.svg",{"name":131,"href":132,"logoPath":133},"TypeScript","https://www.typescriptlang.org/","/logos/svg/skills/logo-typescript.svg",[135,144,152,161,169],{"company":136,"position":137,"location":138,"startDate":139,"endDate":140,"description":141,"href":142,"logoPath":143},"GLU","Educator Creative\nSoftware Engineering","Utrecht, NL",["Date","2024-04-01T00:00:00.000Z"],"Present","I develop and teach a curriculum in creative software development, emphasizing Game, XR, and Web technologies used in modern studios.","https://www.glu.nl/","/logos/svg/logo-glu-square.svg",{"company":145,"position":146,"location":147,"startDate":148,"endDate":140,"description":149,"href":150,"logoPath":151},"Superprof","Self-employed Tutor","Amsterdam, NL",["Date","2021-09-01T00:00:00.000Z"],"I provide personalized tutoring in game development to students of various ages and educational levels.","https://www.super-prof.nl/s/programmeren,Amsterdam,52.3675734,4.9041389,1,1018954.html","/logos/svg/logo-superprof.svg",{"company":153,"position":154,"location":155,"startDate":156,"endDate":157,"description":158,"href":159,"logoPath":160},"&Ranj","Thesis Intern: AI generated\ndialogue for serious games","Rotterdam, NL",["Date","2023-09-01T00:00:00.000Z"],["Date","2024-02-01T00:00:00.000Z"],"Performed a study on how game designers can use large-language models to provide meaningful conversation in serious games, and built a proof-of-concept game","https://www.ranj.com/","/logos/svg/logo-ranj.svg",{"company":162,"position":163,"location":147,"startDate":164,"endDate":165,"description":166,"href":167,"logoPath":168},"University of Amsterdam","Teaching Assistant: Minor Programming",["Date","2022-09-01T00:00:00.000Z"],["Date","2024-01-01T00:00:00.000Z"],"Assistant tutor of the Minor Programming at the University of Amsterdam. Organised and supervised a learning route for Game Development in Unity, and taught programming in C, C# & Python.","https://www.uva.nl/","/logos/svg/logo-uva.svg",{"company":170,"position":171,"location":147,"startDate":172,"endDate":173,"description":174,"href":175,"logoPath":176},"Degoma","Intern game design, development, and porting",["Date","2021-09-01T00:00:00.000Z"],["Date","2022-02-01T00:00:00.000Z"],"Worked on content for ‘Reggie, his cousin, two scientists and most likely the end of the world’. Designing and implementing game mechanics for a boss, and studying how the IP should be ported to a mobile game.","https://degoma.games/","/logos/svg/logo-degoma.svg"],"uses":{}}]} diff --git a/_app/env.js b/_app/env.js new file mode 100644 index 0000000..f5427da --- /dev/null +++ b/_app/env.js @@ -0,0 +1 @@ +export const env={} \ No newline at end of file diff --git a/_app/immutable/assets/0.CgRkwH39.css b/_app/immutable/assets/0.CgRkwH39.css new file mode 100644 index 0000000..dae02a2 --- /dev/null +++ b/_app/immutable/assets/0.CgRkwH39.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Space+Grotesk:wght@300..700&display=swap";@layer components;/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-serif:var(--font-serif);--font-mono:var(--font-mono);--color-zinc-500:oklch(55.2% .016 285.938);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-2xl:1rem;--shadow-2xs:var(--shadow-2xs);--shadow-xs:var(--shadow-xs);--shadow-sm:var(--shadow-sm);--shadow-md:var(--shadow-md);--shadow-lg:var(--shadow-lg);--shadow-xl:var(--shadow-xl);--shadow-2xl:var(--shadow-2xl);--ease-in-out:cubic-bezier(.4,0,.2,1);--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--shadow:var(--shadow);--height-page: 100dvh ;--height-header:calc(var(--spacing)*48);--height-footer:calc(var(--spacing)*12);--height-page-without-header:calc(var(--height-page) - var(--height-header));--height-page-without-footer:calc(var(--height-page) - var(--height-footer));--height-page-without-header-and-footer:calc(var(--height-page) - var(--height-footer) - var(--height-header));--color-foreground:var(--foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-border:var(--border)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}h1{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.subscript{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));font-style:italic}@media (min-width:48rem){.subscript{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}.subscript{color:var(--color-foreground)}@supports (color:color-mix(in lab,red,red)){.subscript{color:color-mix(in oklab,var(--color-foreground)40%,transparent)}}.transition-std{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.3s;--tw-ease:var(--ease-in-out);transition-duration:.3s;transition-timing-function:var(--ease-in-out)}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.-top-12{top:calc(var(--spacing)*-12)}.top-1\/2{top:50%}.-right-12{right:calc(var(--spacing)*-12)}.right-0{right:calc(var(--spacing)*0)}.-bottom-12{bottom:calc(var(--spacing)*-12)}.bottom-0{bottom:calc(var(--spacing)*0)}.-left-12{left:calc(var(--spacing)*-12)}.left-1\/2{left:50%}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-8{margin-block:calc(var(--spacing)*8)}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-0{height:calc(var(--spacing)*0)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-80{height:calc(var(--spacing)*80)}.h-dvh{height:100dvh}.h-footer{height:var(--height-footer)}.h-header{height:var(--height-header)}.max-h-dvh{max-height:100dvh}.max-h-footer{max-height:var(--height-footer)}.max-h-header{max-height:var(--height-header)}.max-h-page-without-header{max-height:var(--height-page-without-header)}.min-h-24{min-height:calc(var(--spacing)*24)}.w-0{width:calc(var(--spacing)*0)}.w-24{width:calc(var(--spacing)*24)}.w-\[300vw\]{width:300vw}.w-fit{width:fit-content}.w-full{width:100%}.max-w-60{max-width:calc(var(--spacing)*60)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-md{max-width:var(--container-md)}.max-w-prose{max-width:65ch}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-72{min-width:calc(var(--spacing)*72)}.min-w-xs{min-width:var(--container-xs)}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.snap-y{scroll-snap-type:y var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-end{scroll-snap-align:end}.snap-start{scroll-snap-align:start}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-end{place-content:end}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-6{gap:calc(var(--spacing)*6)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-y-0{row-gap:calc(var(--spacing)*0)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.gap-y-4{row-gap:calc(var(--spacing)*4)}.gap-y-8{row-gap:calc(var(--spacing)*8)}.gap-y-24{row-gap:calc(var(--spacing)*24)}.place-self-start{place-self:start}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-\[\.1px\]{border-style:var(--tw-border-style);border-width:.1px}.border-t-\[15px\]{border-top-style:var(--tw-border-style);border-top-width:15px}.border-r-\[15px\]{border-right-style:var(--tw-border-style);border-right-width:15px}.border-l-\[15px\]{border-left-style:var(--tw-border-style);border-left-width:15px}.border-accent{border-color:var(--accent)}.border-transparent{border-color:#0000}.border-r-transparent{border-right-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent,.bg-accent\/30{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/30{background-color:color-mix(in oklab,var(--accent)30%,transparent)}}.bg-accent\/40{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.bg-accent\/40{background-color:color-mix(in oklab,var(--accent)40%,transparent)}}.bg-background{background-color:var(--background)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-accent\/30{--tw-gradient-from:var(--accent)}@supports (color:color-mix(in lab,red,red)){.from-accent\/30{--tw-gradient-from:color-mix(in oklab,var(--accent)30%,transparent)}}.from-accent\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-background\/30{--tw-gradient-to:var(--background)}@supports (color:color-mix(in lab,red,red)){.to-background\/30{--tw-gradient-to:color-mix(in oklab,var(--background)30%,transparent)}}.to-background\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.stroke-foreground\/50{stroke:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.stroke-foreground\/50{stroke:color-mix(in oklab,var(--foreground)50%,transparent)}}.stroke-primary{stroke:var(--primary)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-serif{font-family:var(--font-serif)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[\.74rem\]{font-size:.74rem}.text-\[\.625rem\]{font-size:.625rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-accent{color:var(--accent)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-foreground,.text-foreground\/50{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/50{color:color-mix(in oklab,var(--foreground)50%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.italic{font-style:italic}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-sm{--tw-shadow:var(--shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:var(--shadow-xs);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.running{animation-play-state:running}@media (hover:hover){.group-hover\:bg-accent:is(:where(.group):hover *){background-color:var(--accent)}.group-hover\:text-primary:is(:where(.group):hover *){color:var(--primary)}.hover\:scale-95:hover{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-zinc-500:hover{border-color:var(--color-zinc-500)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-foreground:hover{background-color:var(--foreground)}.hover\:bg-primary:hover,.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:stroke-foreground:hover{stroke:var(--foreground)}.hover\:stroke-primary:hover{stroke:var(--primary)}.hover\:text-lg:hover{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-background:hover{color:var(--background)}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}@media (min-width:48rem){.md\:mt-16{margin-top:calc(var(--spacing)*16)}.md\:mb-4{margin-bottom:calc(var(--spacing)*4)}.md\:mb-8{margin-bottom:calc(var(--spacing)*8)}.md\:mb-12{margin-bottom:calc(var(--spacing)*12)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:max-w-90{max-width:calc(var(--spacing)*90)}.md\:max-w-96{max-width:calc(var(--spacing)*96)}.md\:max-w-lg{max-width:var(--container-lg)}.md\:min-w-90{min-width:calc(var(--spacing)*90)}.md\:min-w-lg{min-width:var(--container-lg)}.md\:scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.md\:scale-150{--tw-scale-x:150%;--tw-scale-y:150%;--tw-scale-z:150%;scale:var(--tw-scale-x)var(--tw-scale-y)}.md\:gap-x-8{column-gap:calc(var(--spacing)*8)}.md\:gap-x-12{column-gap:calc(var(--spacing)*12)}.md\:gap-y-4{row-gap:calc(var(--spacing)*4)}.md\:gap-y-6{row-gap:calc(var(--spacing)*6)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:64rem){.lg\:mb-12{margin-bottom:calc(var(--spacing)*12)}.lg\:grid{display:grid}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-16{gap:calc(var(--spacing)*16)}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-destructive\/70:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/70:is(.dark *){background-color:color-mix(in oklab,var(--destructive)70%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\.first-section-overflowing\>\:first-child\]\:snap-start.first-section-overflowing>:first-child{scroll-snap-align:start}.\[\&\:hover_\.hover-altered\]\:text-primary:hover .hover-altered{color:var(--primary)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}.\[\&\>\:first-child\:hover\]\:border-foreground\/20>:first-child:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.\[\&\>\:first-child\:hover\]\:border-foreground\/20>:first-child:hover{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.\[\&\>\:last-child\]\:min-h-0>:last-child{min-height:calc(var(--spacing)*0)}.\[\&\>\:last-child\]\:min-h-page-without-header-and-footer>:last-child{min-height:var(--height-page-without-header-and-footer)}.\[\&\>\:last-child\]\:snap-align-none>:last-child{scroll-snap-align:none}.\[\&\>main\>\*\]\:flex>main>*{display:flex}.\[\&\>main\>\*\]\:min-h-page-without-header>main>*{min-height:var(--height-page-without-header)}.\[\&\>main\>\*\]\:snap-start>main>*{scroll-snap-align:start}.\[\&\>main\>\*\]\:flex-col>main>*{flex-direction:column}.\[\&\>main\>\*\]\:justify-center>main>*{justify-content:center}.\[\&\>section\]\:min-h-page>section{min-height:var(--height-page)}.\[\&\>section\]\:snap-start>section{scroll-snap-align:start}.\[\&\>section\]\:first\:min-h-page-without-header>section:first-child{min-height:var(--height-page-without-header)}.\[\&\>section\]\:first\:snap-end>section:first-child{scroll-snap-align:end}.\[\&\>section\]\:last\:min-h-page-without-footer>section:last-child{min-height:var(--height-page-without-footer)}.\[\&\>section\]\:only\:min-h-page-without-header-and-footer>section:only-child{min-height:var(--height-page-without-header-and-footer)}.\[\&\>section\]\:only\:snap-start>section:only-child{scroll-snap-align:start}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(99% 0 0);--foreground:oklch(23% 0 0);--card:oklch(88% .01 87.42);--card-foreground:oklch(23% 0 0);--popover:oklch(88% .01 87.42);--popover-foreground:oklch(23% 0 0);--primary:oklch(86% .17 91.96);--primary-foreground:oklch(15% .01 285.36);--secondary:oklch(50% .2 20.65);--secondary-foreground:oklch(99% 0 0);--muted:oklch(93% .02 94.49);--muted-foreground:oklch(40% .01 285.99);--accent:oklch(93% .03 92.3);--accent-foreground:oklch(15% .01 285.36);--destructive:oklch(65% .22 32.08);--border:oklch(86% .02 93.65);--input:oklch(86% .02 93.65);--ring:oklch(86% .17 91.96);--chart-1:oklch(65% .22 36.49);--chart-2:oklch(63% .11 209.89);--chart-3:oklch(55% .18 275.17);--chart-4:oklch(68% .18 140.04);--chart-5:oklch(50% .2 20.65);--sidebar:oklch(45% 0 0);--sidebar-foreground:oklch(99% 0 0);--sidebar-primary:oklch(86% .17 91.96);--sidebar-primary-foreground:oklch(15% .01 285.36);--sidebar-accent:oklch(35% 0 0);--sidebar-accent-foreground:oklch(99% 0 0);--sidebar-border:oklch(55% 0 0);--sidebar-ring:oklch(86% .17 91.96);--font-sans:Plus Jakarta Sans,sans-serif;--font-serif:Space Grotesk,serif;--font-mono:JetBrains Mono,monospace;--radius:.625rem;--shadow-2xs:0 1px 3px 0px oklch(0% 0 0/.05);--shadow-xs:0 1px 3px 0px oklch(0% 0 0/.05);--shadow-sm:0 1px 3px 0px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1);--shadow:0 1px 3px 0px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1);--shadow-md:0 1px 3px 0px oklch(0% 0 0/.1),0 2px 4px -1px oklch(0% 0 0/.1);--shadow-lg:0 1px 3px 0px oklch(0% 0 0/.1),0 4px 6px -1px oklch(0% 0 0/.1);--shadow-xl:0 1px 3px 0px oklch(0% 0 0/.1),0 8px 10px -1px oklch(0% 0 0/.1);--shadow-2xl:0 1px 3px 0px oklch(0% 0 0/.25)}.dark{--background:oklch(14% 0 285.86);--foreground:oklch(99% 0 0);--card:oklch(21% .01 285.56);--card-foreground:oklch(99% 0 0);--popover:oklch(21% .01 285.56);--popover-foreground:oklch(99% 0 0);--primary:oklch(86% .17 91.96);--primary-foreground:oklch(14% 0 285.86);--secondary:oklch(50% .2 20.65);--secondary-foreground:oklch(99% 0 0);--muted:oklch(27% .01 285.81);--muted-foreground:oklch(71% .01 286.23);--accent:oklch(27% .01 285.81);--accent-foreground:oklch(99% 0 0);--destructive:oklch(65% .22 32.08);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55% .02 285.76);--chart-1:oklch(49% .24 264.41);--chart-2:oklch(70% .16 159.71);--chart-3:oklch(77% .17 65.49);--chart-4:oklch(62% .26 305.39);--chart-5:oklch(64% .25 16.38);--sidebar:oklch(21% .01 285.56);--sidebar-foreground:oklch(99% 0 0);--sidebar-primary:oklch(49% .24 264.41);--sidebar-primary-foreground:oklch(99% 0 0);--sidebar-accent:oklch(27% .01 285.81);--sidebar-accent-foreground:oklch(99% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55% .02 285.76);--shadow-2xs:0 1px 3px 0px oklch(0% 0 0/.05);--shadow-xs:0 1px 3px 0px oklch(0% 0 0/.05);--shadow-sm:0 1px 3px 0px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1);--shadow:0 1px 3px 0px oklch(0% 0 0/.1),0 1px 2px -1px oklch(0% 0 0/.1);--shadow-md:0 1px 3px 0px oklch(0% 0 0/.1),0 2px 4px -1px oklch(0% 0 0/.1);--shadow-lg:0 1px 3px 0px oklch(0% 0 0/.1),0 4px 6px -1px oklch(0% 0 0/.1);--shadow-xl:0 1px 3px 0px oklch(0% 0 0/.1),0 8px 10px -1px oklch(0% 0 0/.1);--shadow-2xl:0 1px 3px 0px oklch(0% 0 0/.25)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}html[dir=ltr],[data-sonner-toaster][dir=ltr]{--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}html[dir=rtl],[data-sonner-toaster][dir=rtl]{--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);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;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}@media (hover: none) and (pointer: coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translate(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-y-position=top]{top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px #0006}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:#00000014}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:#ffffff4d}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]:before{content:"";position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]:before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]:before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]:before{content:"";position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]:after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y: translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y: translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y: translateY( calc(var(--lift) * var(--offset) + var(--lift) * -100%) );opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]:before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 87%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 93%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 84%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 43%, 17%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 9%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}.wave-1.svelte-nbgq9h{fill:#facc15}.wave-2.svelte-nbgq9h{fill:#eab308}.wave-3.svelte-nbgq9h{fill:#ca8a04}.wave-4.svelte-nbgq9h{fill:#a16207}.wave-5.svelte-nbgq9h{fill:#854d0e} diff --git a/_app/immutable/chunks/1Ez0xvU2.js b/_app/immutable/chunks/1Ez0xvU2.js new file mode 100644 index 0000000..5fd6cc9 --- /dev/null +++ b/_app/immutable/chunks/1Ez0xvU2.js @@ -0,0 +1 @@ +import{p as l}from"./CPdWO9vA.js";import{d as g,t as f,a as v,e as n,r as u,h as o,u as c}from"./BbMFilaF.js";import{s as _,c as b,b as x,d as s}from"./DZYZrkxG.js";var y=g('
');function q(m,a){let r=l(a,"scale",3,1),h=l(a,"class",3,"bg-foreground hover:bg-primary");const i=100;let d=c(()=>`${i*r()}px`),p=c(()=>`${i*r()}px`);var e=y(),t=n(e);u(e),f(()=>{_(e,1,b(h())),x(e,`mask:url(${a.path??""}) no-repeat center`),s(t,"src",a.path),s(t,"height",o(d)),s(t,"width",o(p)),s(t,"alt",`logo for ${a.path??""}`)}),v(m,e)}export{q as C}; diff --git a/_app/immutable/chunks/B1wPNbHL.js b/_app/immutable/chunks/B1wPNbHL.js new file mode 100644 index 0000000..1103cef --- /dev/null +++ b/_app/immutable/chunks/B1wPNbHL.js @@ -0,0 +1 @@ +import{p as t,b as f}from"./CPdWO9vA.js";import{N as d,p as h,d as _,s as b,t as p,a as u,b as k,e as v,r as x}from"./BbMFilaF.js";import{s as C,d as E}from"./DZYZrkxG.js";var N=_("
");function j(i,e){h(e,!0);let c=t(e,"class",3,""),o=t(e,"baseClass",3,"flex flex-col"),n=t(e,"onclick",3,()=>{}),r=t(e,"role",3,""),l=t(e,"thisElement",15);var s=N();s.__click=function(...a){n()?.apply(this,a)};var m=v(s);b(m,()=>e.children),x(s),f(s,a=>l(a),()=>l()),p(()=>{C(s,1,`${c()} ${o()}`),E(s,"role",r())}),u(i,s),k()}d(["click"]);export{j as S}; diff --git a/_app/immutable/chunks/B6-ZdAj4.js b/_app/immutable/chunks/B6-ZdAj4.js new file mode 100644 index 0000000..b1be79e --- /dev/null +++ b/_app/immutable/chunks/B6-ZdAj4.js @@ -0,0 +1,3 @@ +import{o as Ve,s as At}from"./BP4hYQWv.js";import{n as be,bs as Rt,P as C,h as N,R as O,H as ne,B as Ge,x as Tt,G as It}from"./BbMFilaF.js";const q=[];function Le(e,t=be){let n=null;const r=new Set;function a(o){if(Rt(e,o)&&(e=o,n)){const c=!q.length;for(const l of r)l[1](),q.push(l,e);if(c){for(let l=0;l{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:a,update:s,subscribe:i}}class ue{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Pe{constructor(t,n){this.status=t,this.location=n}}class xe extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function Ut(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function Lt(e){return e.split("%25").map(decodeURI).join("%25")}function Pt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function ke({href:e}){return e.split("#")[0]}function xt(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return l=>(n(l),i[o](l));t();const c=Reflect.get(i,o);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return t(),e[i]},enumerable:!0,configurable:!0});return a}function Ct(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;const Nt=new TextDecoder;function Ot(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&J.delete(Ce(e)),$t(e,t));const J=new Map;function jt(e,t){const n=Ce(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&J.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Ot(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function Dt(e,t,n){if(J.size>0){const r=Ce(e,n),a=J.get(r);if(a){if(performance.now(){const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return Ee(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return Ee(String.fromCharCode(...c.slice(2).split("-").map(y=>parseInt(y,16))));const d=Bt.exec(c),[,p,u,f,h]=d;return t.push({name:f,matcher:h,optional:!!p,rest:!!u,chained:u?l===1&&i[0]==="":!1}),u?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return Ee(c)}).join("")}).join("")}/?$`),params:t}}function Mt(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function tt(e){return e.slice(1).split("/").filter(Mt)}function qt(e,t,n){const r={},a=e.slice(1),s=a.filter(o=>o!==void 0);let i=0;for(let o=0;od).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){r[c.name]=l;const d=t[o+1],p=a[o+1];d&&!d.rest&&d.optional&&p&&c.chained&&(i=0),!d&&!p&&Object.keys(r).length===s.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function Ee(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}const Vt=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function On(e,t){const n=tt(e),r=e!="/"&&e.endsWith("/");return"/"+n.map(a=>a.replace(Vt,(s,i,o,c)=>{const l=t[c];if(!l){if(i||o&&l!==void 0)return"";throw new Error(`Missing parameter '${c}' in route ${e}`)}if(l.startsWith("/")||l.endsWith("/"))throw new Error(`Parameter '${c}' in route ${e} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return l})).filter(Boolean).join("/")+(r?"/":"")}function Gt({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([o,[c,l,d]])=>{const{pattern:p,params:u}=Ft(o),f={id:o,exec:h=>{const y=p.exec(h);if(y)return qt(y,u,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...l||[]].map(i),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(o){const c=o<0;return c&&(o=~o),[c,e[o]]}function i(o){return o===void 0?o:[a.has(o),e[o]]}}function nt(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ze(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const L=globalThis.__sveltekit_1bzcbkr?.base??"",zt=globalThis.__sveltekit_1bzcbkr?.assets??L??"",Ht="1775561167945",rt="sveltekit:snapshot",at="sveltekit:scroll",Ne="sveltekit:states",ot="sveltekit:pageurl",F="sveltekit:history",W="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},de=location.origin;function Oe(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function he(){return{x:pageXOffset,y:pageYOffset}}function V(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const He={...D,"":D.hover};function st(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function it(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=st(e)}}function Re(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||pe(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=r?.origin===de&&e.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function re(e){let t=null,n=null,r=null,a=null,s=null,i=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=V(o,"preload-code")),a===null&&(a=V(o,"preload-data")),t===null&&(t=V(o,"keepfocus")),n===null&&(n=V(o,"noscroll")),s===null&&(s=V(o,"reload")),i===null&&(i=V(o,"replacestate")),o=st(o);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:He[r??"off"],preload_data:He[a??"off"],keepfocus:c(t),noscroll:c(n),reload:c(s),replace_state:c(i)}}function We(e){const t=Le(e);let n=!0;function r(){n=!0,t.update(i=>i)}function a(i){n=!1,t.set(i)}function s(i){let o;return t.subscribe(c=>{(o===void 0||n&&c!==o)&&i(o=c)})}return{notify:r,set:a,subscribe:s}}const ct={v:()=>{}};function Wt(){const{set:e,subscribe:t}=Le(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${zt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ht;return i&&(e(!0),ct.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:t,check:r}}function pe(e,t,n){return e.origin!==de||!e.pathname.startsWith(t)?!0:n?!(e.pathname===t+"/"||e.pathname===t+"/index.html"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===t):!1}function $n(e){}function Yt(e){const t=Jt(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let a=0;a>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const Xt=-1,Zt=-2,Qt=-3,en=-4,tn=-5,nn=-6;function rn(e,t){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function a(s,i=!1){if(s===Xt)return;if(s===Qt)return NaN;if(s===en)return 1/0;if(s===tn)return-1/0;if(s===nn)return-0;if(i||typeof s!="number")throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const c=o[0],l=t?.[c];if(l)return r[s]=l(a(o[1]));switch(c){case"Date":r[s]=new Date(o[1]);break;case"Set":const d=new Set;r[s]=d;for(let f=1;ft!=null)}const sn="x-sveltekit-invalidated",cn="x-sveltekit-trailing-slash";function ae(e){return e instanceof ue||e instanceof xe?e.status:500}function ln(e){return e instanceof xe?e.text:"Internal Error"}let R,Z,Se;const fn=Ve.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ve.toString());fn?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Z={current:null},Se={current:!1}):(R=new class{#e=C({});get data(){return N(this.#e)}set data(t){O(this.#e,t)}#t=C(null);get form(){return N(this.#t)}set form(t){O(this.#t,t)}#n=C(null);get error(){return N(this.#n)}set error(t){O(this.#n,t)}#r=C({});get params(){return N(this.#r)}set params(t){O(this.#r,t)}#a=C({id:null});get route(){return N(this.#a)}set route(t){O(this.#a,t)}#o=C({});get state(){return N(this.#o)}set state(t){O(this.#o,t)}#s=C(-1);get status(){return N(this.#s)}set status(t){O(this.#s,t)}#i=C(new URL("https://example.com"));get url(){return N(this.#i)}set url(t){O(this.#i,t)}},Z=new class{#e=C(null);get current(){return N(this.#e)}set current(t){O(this.#e,t)}},Se=new class{#e=C(!1);get current(){return N(this.#e)}set current(t){O(this.#e,t)}},ct.v=()=>Se.current=!0);function ft(e){Object.assign(R,e)}const un="/__data.json",dn=".html__data.json";function hn(e){return e.endsWith(".html")?e.replace(/\.html$/,dn):e.replace(/\/$/,"")+un}const Ye={spanContext(){return pn},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},pn={traceId:"",spanId:"",traceFlags:0},{onMount:gn}=At,_n=Tt??(e=>e()),mn=new Set(["icon","shortcut icon","apple-touch-icon"]),M=nt(at)??{},Q=nt(rt)??{},j={url:We({}),page:We({}),navigating:Le(null),updated:Wt()};function ge(e){M[e]=he()}function ut(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;Q[n];)delete Q[n],n+=1}function Y(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function dt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function Ke(){}let $e,Te,oe,$,Ie,b;const se=[],ie=[];let U=null;function ht(){U?.fork?.then(e=>e?.discard()),U=null}const te=new Map,pt=new Set,yn=new Set,G=new Set;let m={branch:[],error:null,url:null},je=!1,ce=!1,Je=!0,ee=!1,K=!1,De=!1,Be=!1,_e,E,T,B;const X=new Set,Xe=new Map;async function Fn(e,t,n){globalThis.__sveltekit_1bzcbkr?.data&&globalThis.__sveltekit_1bzcbkr.data,document.URL!==location.href&&(location.href=location.href),b=e,await e.hooks.init?.(),$e=Gt(e),$=document.documentElement,Ie=t,Te=e.nodes[0],oe=e.nodes[1],Te(),oe(),E=history.state?.[F],T=history.state?.[W],E||(E=T=Date.now(),history.replaceState({...history.state,[F]:E,[W]:T},""));const r=M[E];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await Ln(Ie,n)):(await z({type:"enter",url:Oe(b.hash?xn(new URL(location.href)):location.href),replace_state:!0}),a()),Un()}function wn(){se.length=0,Be=!1}function gt(e){ie.some(t=>t?.snapshot)&&(Q[e]=ie.map(t=>t?.snapshot?.capture()))}function _t(e){Q[e]?.forEach((t,n)=>{ie[n]?.snapshot?.restore(t)})}function Ze(){ge(E),ze(at,M),gt(T),ze(rt,Q)}async function vn(e,t,n,r){let a;t.invalidateAll&&ht(),await z({type:"goto",url:Oe(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Be=!0,a=[...Xe.keys()]),t.invalidate&&t.invalidate.forEach(In)}}),t.invalidateAll&&ne().then(ne).then(()=>{Xe.forEach(({resource:s},i)=>{a?.includes(i)&&s.refresh?.()})})}async function bn(e){if(e.id!==U?.id){const t={};if(X.add(t),U={id:e.id,token:t,promise:wt({...e,preload:t}).then(n=>(X.delete(t),n.type==="loaded"&&n.state.error&&ht(),n)),fork:null},Ge){const n=U;n.fork=n.promise.then(r=>{if(n===U&&r.type==="loaded")try{return Ge(()=>{_e.$set(r.props),ft(r.props.page)})}catch{}return null})}}return U.promise}async function Ae(e){const t=(await ye(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}function mt(e,t,n){m=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),_e=new b.root({target:t,props:{...e.props,stores:j,components:ie},hydrate:n,sync:!1}),_t(T),n){const a={from:null,to:{params:m.params,route:{id:m.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};G.forEach(s=>s(a))}ce=!0}function le({url:e,params:t,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(L&&(e.pathname===L||e.pathname===L+"/"))o="always";else for(const f of n)f?.slash!==void 0&&(o=f.slash);e.pathname=Ut(e.pathname,o),e.search=e.search;const c={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:s},props:{constructors:on(n).map(f=>f.node.component),page:we(R)}};i!==void 0&&(c.props.form=i);let l={},d=!R,p=0;for(let f=0;f(o&&(c.route=!0),u[f])}),params:new Proxy(r,{get:(u,f)=>(o&&c.params.add(f),u[f])}),data:s?.data??null,url:xt(n,()=>{o&&(c.url=!0)},u=>{o&&c.search_params.add(u)},b.hash),async fetch(u,f){u instanceof Request&&(f={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:[...u.headers].length>0?u?.headers:void 0,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...f});const{resolved:h,promise:y}=yt(u,f,n);return o&&d(h.href),y},setHeaders:()=>{},depends:d,parent(){return o&&(c.parent=!0),t()},untrack(u){o=!1;try{return u()}finally{o=!0}}};i=await l.universal.load.call(null,p)??null}return{node:l,loader:e,server:s,universal:l.universal?.load?{type:"data",data:i,uses:c}:null,data:i??s?.data??null,slash:l.universal?.trailingSlash??s?.slash}}function yt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=ce?Dt(r,a.href,t):jt(r,t);return{resolved:a,promise:s}}function Qe(e,t,n,r,a,s){if(Be)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==m.params[i])return!0;for(const i of a.dependencies)if(se.some(o=>o(new URL(i))))return!0;return!1}function Me(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function kn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function et({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:we(R),constructors:[]}}}async function wt({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(U?.id===e)return X.delete(U.token),U.promise;const{errors:i,layouts:o,leaf:c}=a,l=[...o,c];i.forEach(_=>_?.().catch(()=>{})),l.forEach(_=>_?.[1]().catch(()=>{}));let d=null;const p=m.url?e!==fe(m.url):!1,u=m.route?a.id!==m.route.id:!1,f=kn(m.url,n);let h=!1;{const _=l.map((w,k)=>{const A=m.branch[k],v=!!w?.[0]&&(A?.loader!==w[1]||Qe(h,u,p,f,A.server?.uses,r));return v&&(h=!0),v});if(_.some(Boolean)){try{d=await kt(n,_)}catch(w){const k=await H(w,{url:n,params:r,route:{id:e}});return X.has(s)?et({error:k,url:n,params:r,route:a}):me({status:ae(w),error:k,url:n,route:a})}if(d.type==="redirect")return d}}const y=d?.nodes;let S=!1;const g=l.map(async(_,w)=>{if(!_)return;const k=m.branch[w],A=y?.[w];if((!A||A.type==="skip")&&_[1]===k?.loader&&!Qe(S,u,p,f,k.universal?.uses,r))return k;if(S=!0,A?.type==="error")throw A;return Fe({loader:_[1],url:n,params:r,route:a,parent:async()=>{const x={};for(let I=0;I{});const P=[];for(let _=0;_Promise.resolve({}),server_data_node:Me(s)}),o={node:await oe(),loader:oe,universal:null,server:null,data:null};return le({url:n,params:a,branch:[i,o],status:e,error:t,route:null})}catch(i){if(i instanceof Pe)return vn(new URL(i.location,location.href),{},0);throw i}}async function Sn(e){const t=e.href;if(te.has(t))return te.get(t);let n;try{const r=(async()=>{let a=await b.hooks.reroute({url:new URL(e),fetch:async(s,i)=>yt(s,i,e).promise})??e;if(typeof a=="string"){const s=new URL(e);b.hash?s.hash=a:s.pathname=a,a=s}return a})();te.set(t,r),n=await r}catch{te.delete(t);return}return n}async function ye(e,t){if(e&&!pe(e,L,b.hash)){const n=await Sn(e);if(!n)return;const r=An(n);for(const a of $e){const s=a.exec(r);if(s)return{id:fe(e),invalidating:t,route:a,params:Pt(s),url:e}}}}function An(e){return Lt(b.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function fe(e){return(b.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function vt({url:e,type:t,intent:n,delta:r,event:a}){let s=!1;const i=qe(m,n,e,t);r!==void 0&&(i.navigation.delta=r),a!==void 0&&(i.navigation.event=a);const o={...i.navigation,cancel:()=>{s=!0,i.reject(new Error("navigation cancelled"))}};return ee||pt.forEach(c=>c(o)),s?null:i}async function z({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:c={},accept:l=Ke,block:d=Ke,event:p}){const u=B;B=c;const f=await ye(t,!1),h=e==="enter"?qe(m,f,t,e):vt({url:t,type:e,delta:n?.delta,intent:f,event:p});if(!h){d(),B===c&&(B=u);return}const y=E,S=T;l(),ee=!0,ce&&h.navigation.type!=="enter"&&j.navigating.set(Z.current=h.navigation);let g=f&&await wt(f);if(!g){if(pe(t,L,b.hash))return await Y(t,s);g=await bt(t,{id:null},await H(new xe(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=f?.url||t,B!==c)return h.reject(new Error("navigation aborted")),!1;if(g.type==="redirect"){if(o<20){await z({type:e,url:new URL(g.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i,redirect_count:o+1,nav_token:c}),h.fulfil(void 0);return}g=await me({status:500,error:await H(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else g.props.page.status>=400&&await j.updated.check()&&(await dt(),await Y(t,s));if(wn(),ge(y),gt(S),g.props.page.url.pathname!==t.pathname&&(t.pathname=g.props.page.url.pathname),i=n?n.state:i,!n){const v=s?0:1,x={[F]:E+=v,[W]:T+=v,[Ne]:i};(s?history.replaceState:history.pushState).call(history,x,"",t),s||ut(E,T)}const P=U?.fork;U=null,g.props.page.state=i;let _;if(ce){const v=(await Promise.all(Array.from(yn,I=>I(h.navigation)))).filter(I=>typeof I=="function");if(v.length>0){let I=function(){v.forEach(ve=>{G.delete(ve)})};v.push(I),v.forEach(ve=>{G.add(ve)})}m=g.state,g.props.page&&(g.props.page.url=t);const x=P&&await P;x?_=x.commit():(_e.$set(g.props),ft(g.props.page),_=It?.()),De=!0}else mt(g,Ie,!1);const{activeElement:w}=document;await _,await ne(),await ne();let k=n?n.scroll:a?he():null;if(Je){const v=t.hash&&document.getElementById(St(t));if(k)scrollTo(k.x,k.y);else if(v){v.scrollIntoView();const{top:x,left:I}=v.getBoundingClientRect();k={x:pageXOffset+I,y:pageYOffset+x}}else scrollTo(0,0)}const A=document.activeElement!==w&&document.activeElement!==document.body;!r&&!A&&Pn(t,k),Je=!0,g.props.page&&Object.assign(R,g.props.page),ee=!1,e==="popstate"&&_t(T),h.fulfil(void 0),G.forEach(v=>v(h.navigation)),j.navigating.set(Z.current=null)}async function bt(e,t,n,r,a){return e.origin===de&&e.pathname===location.pathname&&!je?await me({status:r,error:n,url:e,route:t}):await Y(e,a)}function Rn(){let e,t,n;$.addEventListener("mousemove",o=>{const c=o.target;clearTimeout(e),e=setTimeout(()=>{s(c,D.hover)},20)});function r(o){o.defaultPrevented||s(o.composedPath()[0],D.tap)}$.addEventListener("mousedown",r),$.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting&&(Ae(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(o,c){const l=it(o,$),d=l===t&&c>=n;if(!l||d)return;const{url:p,external:u,download:f}=Re(l,L,b.hash);if(u||f)return;const h=re(l),y=p&&fe(m.url)===fe(p);if(!(h.reload||y))if(c<=h.preload_data){t=l,n=D.tap;const S=await ye(p,!1);if(!S)return;bn(S)}else c<=h.preload_code&&(t=l,n=c,Ae(p))}function i(){a.disconnect();for(const o of $.querySelectorAll("a")){const{url:c,external:l,download:d}=Re(o,L,b.hash);if(l||d)continue;const p=re(o);p.reload||(p.preload_code===D.viewport&&a.observe(o),p.preload_code===D.eager&&Ae(c))}}G.add(i),i()}function H(e,t){if(e instanceof ue)return e.body;const n=ae(e),r=ln(e);return b.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Tn(e,t){gn(()=>(e.add(t),()=>{e.delete(t)}))}function Mn(e){Tn(G,e)}function In(e){if(typeof e=="function")se.push(e);else{const{href:t}=new URL(e,location.href);se.push(n=>n.href===t)}}function qn(e,t){ge(E);const n={[F]:E+=1,[W]:T,[ot]:R.url.href,[Ne]:t};history.pushState(n,"",Oe(e)),De=!0,R.state=t,_e.$set({page:_n(()=>we(R))}),ut(E,T)}function Un(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Ze(),!ee){const r=qe(m,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};pt.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ze()}),navigator.connection?.saveData||Rn(),$.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=it(t.composedPath()[0],$);if(!n)return;const{url:r,external:a,target:s,download:i}=Re(n,L,b.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const o=re(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||i)return;const[l,d]=(b.hash?r.hash.replace(/^#/,""):r.href).split("#"),p=l===ke(location);if(a||o.reload&&(!p||!d)){vt({url:r,type:"link",event:t})?ee=!0:t.preventDefault();return}if(d!==void 0&&p){const[,u]=m.url.href.split("#");if(u===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const f=n.ownerDocument.getElementById(decodeURIComponent(d));f&&(f.scrollIntoView(),f.focus())}return}if(K=!0,ge(E),e(r),!o.replace_state)return;K=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await z({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href,event:t})}),$.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const i=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(pe(i,L,!1))return;const o=t.target,c=re(o);if(c.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(o,r);i.search=new URLSearchParams(l).toString(),z({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!Ue){if(t.state?.[F]){const n=t.state[F];if(B={},n===E)return;const r=M[n],a=t.state[Ne]??{},s=new URL(t.state[ot]??location.href),i=t.state[W],o=m.url?ke(location)===ke(m.url):!1;if(i===T&&(De||o)){a!==R.state&&(R.state=a),e(s),M[E]=he(),r&&scrollTo(r.x,r.y),E=n;return}const l=n-E;await z({type:"popstate",url:s,popped:{state:a,scroll:r,delta:l},accept:()=>{E=n,T=i},block:()=>{history.go(-l)},nav_token:B,event:t})}else if(!K){const n=new URL(location.href);e(n),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[F]:++E,[W]:T},"",location.href))});for(const t of document.querySelectorAll("link"))mn.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&j.navigating.set(Z.current=null)});function e(t){m.url=R.url=t,j.page.set(we(R)),j.page.notify()}}async function Ln(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:c}){je=!0;const l=new URL(location.href);let d;({params:a={},route:s={id:null}}=await ye(l,!1)||{}),d=$e.find(({id:f})=>f===s.id);let p,u=!0;try{const f=r.map(async(y,S)=>{const g=o[S];return g?.uses&&(g.uses=Et(g.uses)),Fe({loader:b.nodes[y],url:l,params:a,route:s,parent:async()=>{const P={};for(let _=0;_s?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new ue(a.status,s)}return new Promise(async s=>{const i=new Map,o=a.body.getReader();function c(d){return rn(d,{...b.decoders,Promise:p=>new Promise((u,f)=>{i.set(p,{fulfil:u,reject:f})})})}let l="";for(;;){const{done:d,value:p}=await o.read();if(d&&!l)break;for(l+=!p&&l?` +`:Nt.decode(p,{stream:!0});;){const u=l.indexOf(` +`);if(u===-1)break;const f=JSON.parse(l.slice(0,u));if(l=l.slice(u+1),f.type==="redirect")return s(f);if(f.type==="data")f.nodes?.forEach(h=>{h?.type==="data"&&(h.uses=Et(h.uses),h.data=c(h.data))}),s(f);else if(f.type==="chunk"){const{id:h,data:y,error:S}=f,g=i.get(h);i.delete(h),S?g.reject(c(S)):g.fulfil(c(y))}}}})}function Et(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let Ue=!1;function Pn(e,t=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=St(e);if(r&&document.getElementById(r)){const{x:s,y:i}=t??he();setTimeout(()=>{const o=history.state;Ue=!0,location.replace(`#${r}`),b.hash&&location.replace(e.hash),history.replaceState(o,"",e.hash),scrollTo(s,i),Ue=!1})}else{const s=document.body,i=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),i!==null?s.setAttribute("tabindex",i):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let i=0;i{if(a.rangeCount===s.length){for(let i=0;i{a=c,s=l});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:r,complete:i},fulfil:a,reject:s}}function we(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function xn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function St(e){let t;if(b.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{ue as H,Mn as a,L as b,qn as c,Fn as d,$n as l,R as p,On as r,j as s}; diff --git a/_app/immutable/chunks/B6MtVlrN.js b/_app/immutable/chunks/B6MtVlrN.js new file mode 100644 index 0000000..3a2ca98 --- /dev/null +++ b/_app/immutable/chunks/B6MtVlrN.js @@ -0,0 +1,44 @@ +import{l as w,p as d}from"./CPdWO9vA.js";import"./ByzbuU5l.js";import{L as I,M as L,o as M,au as O,av as x,j as y,x as k,h as m,aw as P,ax as u,ay as q,p as D,az as E,a as W,b as F,e as G,g as H,r as J,c as K,f as Q,u as R,aA as T}from"./BbMFilaF.js";import{e as U,i as V,a as X}from"./BGFanmKd.js";import{a as z}from"./DZYZrkxG.js";function Y(o,e,t,n,a){I&&L();var s=e.$$slots?.[t],r=!1;s===!0&&(s=e.children,r=!0),s===void 0||s(o,r?()=>n:n)}function Z(o=!1){const e=M,t=e.l.u;if(!t)return;let n=()=>u(e.s);if(o){let a=0,s={};const r=q(()=>{let i=!1;const l=e.s;for(const f in l)l[f]!==s[f]&&(s[f]=l[f],i=!0);return i&&a++,a});n=()=>m(r)}t.b.length&&O(()=>{N(e,n),x(t.b)}),y(()=>{const a=k(()=>t.m.map(P));return()=>{for(const s of a)typeof s=="function"&&s()}}),t.a.length&&y(()=>{N(e,n),x(t.a)})}function N(o,e){if(o.l.s)for(const t of o.l.s)m(t);e()}/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const $={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};var ee=E("");function ie(o,e){const t=w(e,["children","$$slots","$$events","$$legacy"]),n=w(t,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);D(e,!1);let a=d(e,"name",8,void 0),s=d(e,"color",8,"currentColor"),r=d(e,"size",8,24),i=d(e,"strokeWidth",8,2),l=d(e,"absoluteStrokeWidth",8,!1),f=d(e,"iconNode",24,()=>[]);const j=(...h)=>h.filter((c,g,_)=>!!c&&_.indexOf(c)===g).join(" ");Z();var v=ee();z(v,(h,c)=>({...$,...n,width:r(),height:r(),stroke:s(),"stroke-width":h,class:c}),[()=>(u(l()),u(i()),u(r()),k(()=>l()?Number(i())*24/Number(r()):i())),()=>(u(a()),u(t),k(()=>j("lucide-icon","lucide",a()?`lucide-${a()}`:"",t.class)))]);var b=G(v);U(b,1,f,V,(h,c)=>{var g=R(()=>T(m(c),2));let _=()=>m(g)[0],S=()=>m(g)[1];var p=K(),A=Q(p);X(A,_,!0,(B,te)=>{z(B,()=>({...S()}))}),W(h,p)});var C=H(b);Y(C,e,"default",{}),J(v),W(o,v),F()}export{ie as I,Z as i,Y as s}; diff --git a/_app/immutable/chunks/BECF2Gun.js b/_app/immutable/chunks/BECF2Gun.js new file mode 100644 index 0000000..5149e7a --- /dev/null +++ b/_app/immutable/chunks/BECF2Gun.js @@ -0,0 +1 @@ +import{e as Ne}from"./DZYZrkxG.js";const de="-",Le=e=>{const r=Fe(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:c=>{const u=c.split(de);return u[0]===""&&u.length!==1&&u.shift(),ze(u,r)||Ve(c)},getConflictingClassGroupIds:(c,u)=>{const p=o[c]||[];return u&&t[c]?[...p,...t[c]]:p}}},ze=(e,r)=>{if(e.length===0)return r.classGroupId;const o=e[0],t=r.nextPart.get(o),i=t?ze(e.slice(1),t):void 0;if(i)return i;if(r.validators.length===0)return;const l=e.join(de);return r.validators.find(({validator:c})=>c(l))?.classGroupId},we=/^\[(.+)\]$/,Ve=e=>{if(we.test(e)){const r=we.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}},Fe=e=>{const{theme:r,classGroups:o}=e,t={nextPart:new Map,validators:[]};for(const i in o)ne(o[i],t,i,r);return t},ne=(e,r,o,t)=>{e.forEach(i=>{if(typeof i=="string"){const l=i===""?r:ke(r,i);l.classGroupId=o;return}if(typeof i=="function"){if(_e(i)){ne(i(t),r,o,t);return}r.validators.push({validator:i,classGroupId:o});return}Object.entries(i).forEach(([l,c])=>{ne(c,ke(r,l),o,t)})})},ke=(e,r)=>{let o=e;return r.split(de).forEach(t=>{o.nextPart.has(t)||o.nextPart.set(t,{nextPart:new Map,validators:[]}),o=o.nextPart.get(t)}),o},_e=e=>e.isThemeGetter,Be=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,o=new Map,t=new Map;const i=(l,c)=>{o.set(l,c),r++,r>e&&(r=0,t=o,o=new Map)};return{get(l){let c=o.get(l);if(c!==void 0)return c;if((c=t.get(l))!==void 0)return i(l,c),c},set(l,c){o.has(l)?o.set(l,c):i(l,c)}}},ae="!",ie=":",We=ie.length,$e=e=>{const{prefix:r,experimentalParseClassName:o}=e;let t=i=>{const l=[];let c=0,u=0,p=0,b;for(let k=0;kp?b-p:void 0;return{modifiers:l,hasImportantModifier:_,baseClassName:S,maybePostfixModifierPosition:B}};if(r){const i=r+ie,l=t;t=c=>c.startsWith(i)?l(c.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:c,maybePostfixModifierPosition:void 0}}if(o){const i=t;t=l=>o({className:l,parseClassName:i})}return t},je=e=>e.endsWith(ae)?e.substring(0,e.length-1):e.startsWith(ae)?e.substring(1):e,Oe=e=>{const r=Object.fromEntries(e.orderSensitiveModifiers.map(t=>[t,!0]));return t=>{if(t.length<=1)return t;const i=[];let l=[];return t.forEach(c=>{c[0]==="["||r[c]?(i.push(...l.sort(),c),l=[]):l.push(c)}),i.push(...l.sort()),i}},Ue=e=>({cache:Be(e.cacheSize),parseClassName:$e(e),sortModifiers:Oe(e),...Le(e)}),qe=/\s+/,He=(e,r)=>{const{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:i,sortModifiers:l}=r,c=[],u=e.trim().split(qe);let p="";for(let b=u.length-1;b>=0;b-=1){const h=u[b],{isExternal:S,modifiers:_,hasImportantModifier:B,baseClassName:k,maybePostfixModifierPosition:y}=o(h);if(S){p=h+(p.length>0?" "+p:p);continue}let R=!!y,G=t(R?k.substring(0,y):k);if(!G){if(!R){p=h+(p.length>0?" "+p:p);continue}if(G=t(k),!G){p=h+(p.length>0?" "+p:p);continue}R=!1}const U=l(_).join(":"),W=B?U+ae:U,T=W+G;if(c.includes(T))continue;c.push(T);const E=i(G,R);for(let A=0;A0?" "+p:p)}return p};function Je(){let e=0,r,o,t="";for(;e{if(typeof e=="string")return e;let r,o="";for(let t=0;tS(h),e());return o=Ue(b),t=o.cache.get,i=o.cache.set,l=u,u(p)}function u(p){const b=t(p);if(b)return b;const h=He(p,o);return i(p,h),h}return function(){return l(Je.apply(null,arguments))}}const f=e=>{const r=o=>o[e]||[];return r.isThemeGetter=!0,r},Se=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ce=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Xe=/^\d+\/\d+$/,De=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ke=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Qe=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ye=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ze=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,L=e=>Xe.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),C=e=>!!e&&Number.isInteger(Number(e)),te=e=>e.endsWith("%")&&m(e.slice(0,-1)),M=e=>De.test(e),eo=()=>!0,oo=e=>Ke.test(e)&&!Qe.test(e),Ge=()=>!1,ro=e=>Ye.test(e),to=e=>Ze.test(e),so=e=>!s(e)&&!n(e),no=e=>V(e,Ie,Ge),s=e=>Se.test(e),I=e=>V(e,Re,oo),se=e=>V(e,mo,m),ye=e=>V(e,Ae,Ge),ao=e=>V(e,Pe,to),K=e=>V(e,Te,ro),n=e=>Ce.test(e),j=e=>F(e,Re),io=e=>F(e,po),ve=e=>F(e,Ae),lo=e=>F(e,Ie),co=e=>F(e,Pe),Q=e=>F(e,Te,!0),V=(e,r,o)=>{const t=Se.exec(e);return t?t[1]?r(t[1]):o(t[2]):!1},F=(e,r,o=!1)=>{const t=Ce.exec(e);return t?t[1]?r(t[1]):o:!1},Ae=e=>e==="position"||e==="percentage",Pe=e=>e==="image"||e==="url",Ie=e=>e==="length"||e==="size"||e==="bg-size",Re=e=>e==="length",mo=e=>e==="number",po=e=>e==="family-name",Te=e=>e==="shadow",ce=()=>{const e=f("color"),r=f("font"),o=f("text"),t=f("font-weight"),i=f("tracking"),l=f("leading"),c=f("breakpoint"),u=f("container"),p=f("spacing"),b=f("radius"),h=f("shadow"),S=f("inset-shadow"),_=f("text-shadow"),B=f("drop-shadow"),k=f("blur"),y=f("perspective"),R=f("aspect"),G=f("ease"),U=f("animate"),W=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...T(),n,s],A=()=>["auto","hidden","clip","visible","scroll"],$=()=>["auto","contain","none"],d=()=>[n,s,p],v=()=>[L,"full","auto",...d()],me=()=>[C,"none","subgrid",n,s],pe=()=>["auto",{span:["full",C,n,s]},C,n,s],q=()=>[C,"auto",n,s],ue=()=>["auto","min","max","fr",n,s],ee=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...d()],P=()=>[L,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...d()],a=()=>[e,n,s],fe=()=>[...T(),ve,ye,{position:[n,s]}],ge=()=>["no-repeat",{repeat:["","x","y","space","round"]}],be=()=>["auto","cover","contain",lo,no,{size:[n,s]}],oe=()=>[te,j,I],x=()=>["","none","full",b,n,s],w=()=>["",m,j,I],H=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[m,te,ve,ye],xe=()=>["","none",k,n,s],J=()=>["none",m,n,s],X=()=>["none",m,n,s],re=()=>[m,n,s],D=()=>[L,"full",...d()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[M],breakpoint:[M],color:[eo],container:[M],"drop-shadow":[M],ease:["in","out","in-out"],font:[so],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[M],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[M],shadow:[M],spacing:["px",m],text:[M],"text-shadow":[M],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",L,s,n,R]}],container:["container"],columns:[{columns:[m,s,n,u]}],"break-after":[{"break-after":W()}],"break-before":[{"break-before":W()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:$()}],"overscroll-x":[{"overscroll-x":$()}],"overscroll-y":[{"overscroll-y":$()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:v()}],"inset-x":[{"inset-x":v()}],"inset-y":[{"inset-y":v()}],start:[{start:v()}],end:[{end:v()}],top:[{top:v()}],right:[{right:v()}],bottom:[{bottom:v()}],left:[{left:v()}],visibility:["visible","invisible","collapse"],z:[{z:[C,"auto",n,s]}],basis:[{basis:[L,"full","auto",u,...d()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,L,"auto","initial","none",s]}],grow:[{grow:["",m,n,s]}],shrink:[{shrink:["",m,n,s]}],order:[{order:[C,"first","last","none",n,s]}],"grid-cols":[{"grid-cols":me()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":q()}],"col-end":[{"col-end":q()}],"grid-rows":[{"grid-rows":me()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":q()}],"row-end":[{"row-end":q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ue()}],"auto-rows":[{"auto-rows":ue()}],gap:[{gap:d()}],"gap-x":[{"gap-x":d()}],"gap-y":[{"gap-y":d()}],"justify-content":[{justify:[...ee(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...ee()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":ee()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:d()}],px:[{px:d()}],py:[{py:d()}],ps:[{ps:d()}],pe:[{pe:d()}],pt:[{pt:d()}],pr:[{pr:d()}],pb:[{pb:d()}],pl:[{pl:d()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":d()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":d()}],"space-y-reverse":["space-y-reverse"],size:[{size:P()}],w:[{w:[u,"screen",...P()]}],"min-w":[{"min-w":[u,"screen","none",...P()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[c]},...P()]}],h:[{h:["screen","lh",...P()]}],"min-h":[{"min-h":["screen","lh","none",...P()]}],"max-h":[{"max-h":["screen","lh",...P()]}],"font-size":[{text:["base",o,j,I]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,n,se]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",te,s]}],"font-family":[{font:[io,s,r]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,n,s]}],"line-clamp":[{"line-clamp":[m,"none",n,se]}],leading:[{leading:[l,...d()]}],"list-image":[{"list-image":["none",n,s]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",n,s]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:a()}],"text-color":[{text:a()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...H(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",n,I]}],"text-decoration-color":[{decoration:a()}],"underline-offset":[{"underline-offset":[m,"auto",n,s]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:d()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",n,s]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",n,s]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:fe()}],"bg-repeat":[{bg:ge()}],"bg-size":[{bg:be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},C,n,s],radial:["",n,s],conic:[C,n,s]},co,ao]}],"bg-color":[{bg:a()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:a()}],"gradient-via":[{via:a()}],"gradient-to":[{to:a()}],rounded:[{rounded:x()}],"rounded-s":[{"rounded-s":x()}],"rounded-e":[{"rounded-e":x()}],"rounded-t":[{"rounded-t":x()}],"rounded-r":[{"rounded-r":x()}],"rounded-b":[{"rounded-b":x()}],"rounded-l":[{"rounded-l":x()}],"rounded-ss":[{"rounded-ss":x()}],"rounded-se":[{"rounded-se":x()}],"rounded-ee":[{"rounded-ee":x()}],"rounded-es":[{"rounded-es":x()}],"rounded-tl":[{"rounded-tl":x()}],"rounded-tr":[{"rounded-tr":x()}],"rounded-br":[{"rounded-br":x()}],"rounded-bl":[{"rounded-bl":x()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...H(),"hidden","none"]}],"divide-style":[{divide:[...H(),"hidden","none"]}],"border-color":[{border:a()}],"border-color-x":[{"border-x":a()}],"border-color-y":[{"border-y":a()}],"border-color-s":[{"border-s":a()}],"border-color-e":[{"border-e":a()}],"border-color-t":[{"border-t":a()}],"border-color-r":[{"border-r":a()}],"border-color-b":[{"border-b":a()}],"border-color-l":[{"border-l":a()}],"divide-color":[{divide:a()}],"outline-style":[{outline:[...H(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,n,s]}],"outline-w":[{outline:["",m,j,I]}],"outline-color":[{outline:a()}],shadow:[{shadow:["","none",h,Q,K]}],"shadow-color":[{shadow:a()}],"inset-shadow":[{"inset-shadow":["none",S,Q,K]}],"inset-shadow-color":[{"inset-shadow":a()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:a()}],"ring-offset-w":[{"ring-offset":[m,I]}],"ring-offset-color":[{"ring-offset":a()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":a()}],"text-shadow":[{"text-shadow":["none",_,Q,K]}],"text-shadow-color":[{"text-shadow":a()}],opacity:[{opacity:[m,n,s]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":a()}],"mask-image-linear-to-color":[{"mask-linear-to":a()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":a()}],"mask-image-t-to-color":[{"mask-t-to":a()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":a()}],"mask-image-r-to-color":[{"mask-r-to":a()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":a()}],"mask-image-b-to-color":[{"mask-b-to":a()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":a()}],"mask-image-l-to-color":[{"mask-l-to":a()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":a()}],"mask-image-x-to-color":[{"mask-x-to":a()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":a()}],"mask-image-y-to-color":[{"mask-y-to":a()}],"mask-image-radial":[{"mask-radial":[n,s]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":a()}],"mask-image-radial-to-color":[{"mask-radial-to":a()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":a()}],"mask-image-conic-to-color":[{"mask-conic-to":a()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:fe()}],"mask-repeat":[{mask:ge()}],"mask-size":[{mask:be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",n,s]}],filter:[{filter:["","none",n,s]}],blur:[{blur:xe()}],brightness:[{brightness:[m,n,s]}],contrast:[{contrast:[m,n,s]}],"drop-shadow":[{"drop-shadow":["","none",B,Q,K]}],"drop-shadow-color":[{"drop-shadow":a()}],grayscale:[{grayscale:["",m,n,s]}],"hue-rotate":[{"hue-rotate":[m,n,s]}],invert:[{invert:["",m,n,s]}],saturate:[{saturate:[m,n,s]}],sepia:[{sepia:["",m,n,s]}],"backdrop-filter":[{"backdrop-filter":["","none",n,s]}],"backdrop-blur":[{"backdrop-blur":xe()}],"backdrop-brightness":[{"backdrop-brightness":[m,n,s]}],"backdrop-contrast":[{"backdrop-contrast":[m,n,s]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,n,s]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,n,s]}],"backdrop-invert":[{"backdrop-invert":["",m,n,s]}],"backdrop-opacity":[{"backdrop-opacity":[m,n,s]}],"backdrop-saturate":[{"backdrop-saturate":[m,n,s]}],"backdrop-sepia":[{"backdrop-sepia":["",m,n,s]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":d()}],"border-spacing-x":[{"border-spacing-x":d()}],"border-spacing-y":[{"border-spacing-y":d()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",n,s]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",n,s]}],ease:[{ease:["linear","initial",G,n,s]}],delay:[{delay:[m,n,s]}],animate:[{animate:["none",U,n,s]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,n,s]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:J()}],"rotate-x":[{"rotate-x":J()}],"rotate-y":[{"rotate-y":J()}],"rotate-z":[{"rotate-z":J()}],scale:[{scale:X()}],"scale-x":[{"scale-x":X()}],"scale-y":[{"scale-y":X()}],"scale-z":[{"scale-z":X()}],"scale-3d":["scale-3d"],skew:[{skew:re()}],"skew-x":[{"skew-x":re()}],"skew-y":[{"skew-y":re()}],transform:[{transform:[n,s,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:D()}],"translate-x":[{"translate-x":D()}],"translate-y":[{"translate-y":D()}],"translate-z":[{"translate-z":D()}],"translate-none":["translate-none"],accent:[{accent:a()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:a()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",n,s]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":d()}],"scroll-mx":[{"scroll-mx":d()}],"scroll-my":[{"scroll-my":d()}],"scroll-ms":[{"scroll-ms":d()}],"scroll-me":[{"scroll-me":d()}],"scroll-mt":[{"scroll-mt":d()}],"scroll-mr":[{"scroll-mr":d()}],"scroll-mb":[{"scroll-mb":d()}],"scroll-ml":[{"scroll-ml":d()}],"scroll-p":[{"scroll-p":d()}],"scroll-px":[{"scroll-px":d()}],"scroll-py":[{"scroll-py":d()}],"scroll-ps":[{"scroll-ps":d()}],"scroll-pe":[{"scroll-pe":d()}],"scroll-pt":[{"scroll-pt":d()}],"scroll-pr":[{"scroll-pr":d()}],"scroll-pb":[{"scroll-pb":d()}],"scroll-pl":[{"scroll-pl":d()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",n,s]}],fill:[{fill:["none",...a()]}],"stroke-w":[{stroke:[m,j,I,se]}],stroke:[{stroke:["none",...a()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},uo=(e,{cacheSize:r,prefix:o,experimentalParseClassName:t,extend:i={},override:l={}})=>(O(e,"cacheSize",r),O(e,"prefix",o),O(e,"experimentalParseClassName",t),Y(e.theme,l.theme),Y(e.classGroups,l.classGroups),Y(e.conflictingClassGroups,l.conflictingClassGroups),Y(e.conflictingClassGroupModifiers,l.conflictingClassGroupModifiers),O(e,"orderSensitiveModifiers",l.orderSensitiveModifiers),Z(e.theme,i.theme),Z(e.classGroups,i.classGroups),Z(e.conflictingClassGroups,i.conflictingClassGroups),Z(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),Ee(e,i,"orderSensitiveModifiers"),e),O=(e,r,o)=>{o!==void 0&&(e[r]=o)},Y=(e,r)=>{if(r)for(const o in r)O(e,o,r[o])},Z=(e,r)=>{if(r)for(const o in r)Ee(e,r,o)},Ee=(e,r,o)=>{const t=r[o];t!==void 0&&(e[o]=e[o]?e[o].concat(t):t)},bo=(e,...r)=>typeof e=="function"?le(ce,e,...r):le(()=>uo(ce(),e),...r),fo=le(ce);function ho(...e){return fo(Ne(e))}export{ho as c,bo as e,fo as t}; diff --git a/_app/immutable/chunks/BGFanmKd.js b/_app/immutable/chunks/BGFanmKd.js new file mode 100644 index 0000000..40e0c65 --- /dev/null +++ b/_app/immutable/chunks/BGFanmKd.js @@ -0,0 +1 @@ +import{S as K,I as z,T as Q,U as g,L as h,V as k,M as X,h as W,W as se,X as ie,Y as te,Z,_ as b,$ as D,a0 as ue,a1 as ve,a2 as G,a3 as de,a4 as V,a5 as F,a6 as oe,a7 as $,a8 as _e,a9 as y,aa as j,q as ce,ab as ee,ac as me,ad as Ee,ae as P,af as he,ag as ae,ah as pe,ai as Te,aj as Ae,ak as Ne,al as we,am as re,an as Ce,J as Ie,K as Me,ao as Se,ap as xe,aq as De,ar as Re}from"./BbMFilaF.js";function be(s,r){return r}function ge(s,r,e){for(var i=s.items,o=[],_=r.length,t=0;t<_;t++)Ae(r[t].e,o,!0);var f=_>0&&o.length===0&&e!==null;if(f){var A=e.parentNode;Ne(A),A.append(e),i.clear(),S(s,r[0].prev,r[_-1].next)}we(o,()=>{for(var m=0;m<_;m++){var v=r[m];f||(i.delete(v.k),S(s,v.prev,v.next)),ae(v.e,!f)}})}function Le(s,r,e,i,o,_=null){var t=s,f={flags:r,items:new Map,first:null},A=(r&Q)!==0;if(A){var m=s;t=h?g(k(m)):m.appendChild(K())}h&&X();var v=null,w=!1,N=new Map,C=se(()=>{var c=e();return ce(c)?c:c==null?[]:j(c)}),n,d;function u(){He(d,n,f,N,t,o,r,i,e),_!==null&&(n.length===0?v?ee(v):v=G(()=>_(t)):v!==null&&me(v,()=>{v=null}))}z(()=>{d??=re,n=W(C);var c=n.length;if(w&&c===0)return;w=c===0;let T=!1;if(h){var I=ie(t)===te;I!==(c===0)&&(t=Z(),g(t),b(!1),T=!0)}if(h){for(var x=null,E,a=0;a0&&g(Z())}if(h)c===0&&_&&(v=G(()=>_(t)));else if(de()){var H=new Set,L=oe;for(a=0;a0){var le=(t&Q)!==0&&w===0?o:null;if(m){for(l=0;l{if(c!==void 0)for(a of c)a.a?.apply()}),s.first=e.first&&e.first.e,s.last=u&&u.e;for(var fe of i.values())ae(fe.e);i.clear()}function ne(s,r,e,i){(i&V)!==0&&$(s.v,r),(i&F)!==0?$(s.i,e):s.i=e}function J(s,r,e,i,o,_,t,f,A,m,v){var w=(A&V)!==0,N=(A&Ee)===0,C=w?N?_e(o,!1,!1):y(o):o,n=(A&F)===0?t:y(t),d={i:n,v:C,k:_,a:null,e:null,prev:e,next:i};try{if(s===null){var u=document.createDocumentFragment();u.append(s=K())}return d.e=G(()=>f(s,C,n,m),h),d.e.prev=e&&e.e,d.e.next=i&&i.e,e===null?v||(r.first=d):(e.next=d,e.e.next=d.e),i!==null&&(i.prev=d,i.e.prev=d.e),d}finally{}}function U(s,r,e){for(var i=s.next?s.next.e.nodes_start:e,o=r?r.e.nodes_start:e,_=s.e.nodes_start;_!==null&&_!==i;){var t=Te(_);o.before(_),_=t}}function S(s,r,e){r===null?s.first=e:(r.next=e,r.e.next=e&&e.e),e!==null&&(e.prev=r,e.e.prev=r&&r.e)}function qe(s,r,e,i,o,_){let t=h;h&&X();var f=null;h&&D.nodeType===Ce&&(f=D,X());var A=h?D:s,m=new Me(A,!1);z(()=>{const v=r()||null;var w=e||v==="svg"?Se:null;if(v===null){m.ensure(null,null);return}return m.ensure(v,N=>{if(v){if(f=h?f:w?document.createElementNS(w,v):document.createElement(v),xe(f,f),i){h&&De(v)&&f.append(document.createComment(""));var C=h?k(f):f.appendChild(K());h&&(C===null?b(!1):g(C)),i(f,C)}re.nodes_end=f,N.before(f)}h&&g(N)}),()=>{}},Ie),Re(()=>{}),t&&(b(!0),g(A))}export{qe as a,Le as e,be as i}; diff --git a/_app/immutable/chunks/BP4hYQWv.js b/_app/immutable/chunks/BP4hYQWv.js new file mode 100644 index 0000000..243b84f --- /dev/null +++ b/_app/immutable/chunks/BP4hYQWv.js @@ -0,0 +1 @@ +import{l as o,j as v,k as i,m as d,o as e,q as g,v as f,w as y,x as c,y as b,z as x,A as h,B as C,C as k,D as S,E as w,F as A,G as j,H as D}from"./BbMFilaF.js";import{h as E,m as z,u as M}from"./DmP2n0k_.js";function O(){return i===null&&d(),(i.ac??=new AbortController).signal}function _(t){e===null&&o(),y&&e.l!==null?r(e).m.push(t):v(()=>{const n=c(t);if(typeof n=="function")return n})}function P(t){e===null&&o(),_(()=>()=>c(t))}function U(t,n,{bubbles:s=!1,cancelable:l=!1}={}){return new CustomEvent(t,{detail:n,bubbles:s,cancelable:l})}function $(){const t=e;return t===null&&o(),(n,s,l)=>{const a=t.s.$$events?.[n];if(a){const p=g(a)?a.slice():[a],u=U(n,s,l);for(const m of p)m.call(t.x,u);return!u.defaultPrevented}return!0}}function q(t){e===null&&o(),e.l===null&&f(),r(e).b.push(t)}function B(t){e===null&&o(),e.l===null&&f(),r(e).a.push(t)}function r(t){var n=t.l;return n.u??={a:[],b:[],m:[]}}const H=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:B,beforeUpdate:q,createContext:b,createEventDispatcher:$,createRawSnippet:x,flushSync:h,fork:C,getAbortSignal:O,getAllContexts:k,getContext:S,hasContext:w,hydrate:E,mount:z,onDestroy:P,onMount:_,setContext:A,settled:j,tick:D,unmount:M,untrack:c},Symbol.toStringTag,{value:"Module"}));export{_ as o,H as s}; diff --git a/_app/immutable/chunks/BaThn6Za.js b/_app/immutable/chunks/BaThn6Za.js new file mode 100644 index 0000000..9ae6186 --- /dev/null +++ b/_app/immutable/chunks/BaThn6Za.js @@ -0,0 +1 @@ +import{I as t,J as c,K as h,L as i,M as m}from"./BbMFilaF.js";function f(n,r,e){i&&m();var o=new h(n);t(()=>{var a=r()??null;o.ensure(a,a&&(s=>e(s,a)))},c)}export{f as c}; diff --git a/_app/immutable/chunks/BbMFilaF.js b/_app/immutable/chunks/BbMFilaF.js new file mode 100644 index 0000000..9d5ca5e --- /dev/null +++ b/_app/immutable/chunks/BbMFilaF.js @@ -0,0 +1 @@ +var Kt=Array.isArray,zt=Array.prototype.indexOf,rr=Array.from,Xt=Object.defineProperty,he=Object.getOwnPropertyDescriptor,Zt=Object.getOwnPropertyDescriptors,Jt=Object.prototype,Qt=Array.prototype,_t=Object.getPrototypeOf,nt=Object.isExtensible;function sr(e){return typeof e=="function"}const ar=()=>{};function ir(e){return e()}function en(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}function fr(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const g=2,Be=4,Re=8,V=16,B=32,ee=64,Ue=128,T=1024,x=2048,U=4096,P=8192,z=16384,We=32768,we=65536,Pe=1<<17,tn=1<<18,_e=1<<19,dt=1<<20,N=256,Ee=512,Te=32768,Le=1<<21,Ge=1<<22,ae=1<<23,ie=Symbol("$state"),or=Symbol("legacy props"),lr=Symbol(""),le=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},cr=1,Ne=3,ht=8;function nn(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function rn(){throw new Error("https://svelte.dev/e/missing_context")}function sn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function an(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function fn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function on(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ln(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function un(){throw new Error("https://svelte.dev/e/experimental_async_fork")}function cn(){throw new Error("https://svelte.dev/e/fork_discarded")}function _n(){throw new Error("https://svelte.dev/e/fork_timing")}function _r(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function vr(){throw new Error("https://svelte.dev/e/hydration_failed")}function dr(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function hr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function vn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function dn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function hn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function pr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const wr=1,mr=2,yr=4,br=8,gr=16,Er=1,Tr=2,kr=4,Ar=8,xr=16,pn=1,wn=2,mn="[",yn="[!",bn="]",$e={},E=Symbol(),Sr="http://www.w3.org/1999/xhtml",Rr="http://www.w3.org/2000/svg",Nr="@attach";function Ke(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Or(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Dr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let k=!1;function pt(e){k=e}let w;function Z(e){if(e===null)throw Ke(),$e;return w=e}function wt(){return Z(te(w))}function Cr(e){if(k){if(te(w)!==null)throw Ke(),$e;w=e}}function Ir(e=1){if(k){for(var t=e,n=w;t--;)n=te(n);w=n}}function Mr(e=!0){for(var t=0,n=w;;){if(n.nodeType===ht){var r=n.data;if(r===bn){if(t===0)return n;t-=1}else(r===mn||r===yn)&&(t+=1)}var s=te(n);e&&n.remove(),n=s}}function Pr(e){if(!e||e.nodeType!==ht)throw Ke(),$e;return e.data}function mt(e){return e===this.v}function gn(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function yt(e){return!gn(e,this.v)}let Oe=!1;function Lr(){Oe=!0}let y=null;function ke(e){y=e}function Fr(){const e={};return[()=>(kn(e)||rn(),En(e)),t=>Tn(e,t)]}function En(e){return De().get(e)}function Tn(e,t){return De().set(e,t),t}function kn(e){return De().has(e)}function jr(){return De()}function qr(e,t=!1,n){y={p:y,i:!1,c:null,e:null,s:e,x:null,l:Oe&&!t?{s:null,u:null,$:[]}:null}}function Yr(e){var t=y,n=t.e;if(n!==null){t.e=null;for(var r of n)Mt(r)}return t.i=!0,y=t.p,{}}function be(){return!Oe||y!==null&&y.l===null}function De(e){return y===null&&nn(),y.c??=new Map(An(y)||void 0)}function An(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let re=[];function bt(){var e=re;re=[],en(e)}function gt(e){if(re.length===0&&!pe){var t=re;queueMicrotask(()=>{t===re&&bt()})}re.push(e)}function xn(){for(;re.length>0;)bt()}function Sn(e){var t=_;if(t===null)return c.f|=ae,e;if((t.f&We)===0){if((t.f&Ue)===0)throw e;t.b.error(e)}else Ae(e,t)}function Ae(e,t){for(;t!==null;){if((t.f&Ue)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e}const se=new Set;let m=null,O=null,rt=new Set,M=[],Ce=null,Fe=!1,pe=!1;class Y{committed=!1;current=new Map;previous=new Map;#t=new Set;#n=new Set;#e=0;#r=0;#a=null;#i=[];#f=[];skipped_effects=new Set;is_fork=!1;process(t){M=[],this.apply();var n={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const r of t)this.#o(r,n);this.is_fork||this.#l(),this.#r>0||this.is_fork?(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects)):(m=null,st(n.render_effects),st(n.effects)),O=null}#o(t,n){t.f^=T;for(var r=t.first;r!==null;){var s=r.f,a=(s&(B|ee))!==0,i=a&&(s&T)!==0,o=i||(s&P)!==0||this.skipped_effects.has(r);if((r.f&Ue)!==0&&r.b?.is_pending()&&(n={parent:n,effect:r,effects:[],render_effects:[],block_effects:[]}),!o&&r.fn!==null){a?r.f^=T:(s&Be)!==0?n.effects.push(r):ge(r)&&((r.f&V)!==0&&n.block_effects.push(r),ye(r));var f=r.first;if(f!==null){r=f;continue}}var l=r.parent;for(r=r.next;r===null&&l!==null;)l===n.effect&&(this.#s(n.effects),this.#s(n.render_effects),this.#s(n.block_effects),n=n.parent),r=l.next,l=l.parent}}#s(t){for(const n of t)((n.f&x)!==0?this.#i:this.#f).push(n),b(n,T)}capture(t,n){this.previous.has(t)||this.previous.set(t,n),this.current.set(t,t.v),O?.set(t,t.v)}activate(){m=this}deactivate(){m=null,O=null}flush(){if(this.activate(),M.length>0){if(qe(),m!==null&&m!==this)return}else this.#e===0&&this.process([]);this.deactivate();for(const t of rt)if(rt.delete(t),t(),m!==null)break}discard(){for(const t of this.#n)t(this);this.#n.clear()}#l(){if(this.#r===0){for(const t of this.#t)t();this.#t.clear()}this.#e===0&&this.#u()}#u(){if(se.size>1){this.previous.clear();var t=O,n=!0,r={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const s of se){if(s===this){n=!1;continue}const a=[];for(const[o,f]of this.current){if(s.current.has(o))if(n&&f!==s.current.get(o))s.current.set(o,f);else continue;a.push(o)}if(a.length===0)continue;const i=[...s.current.keys()].filter(o=>!this.current.has(o));if(i.length>0){const o=new Set,f=new Map;for(const l of a)Et(l,i,o,f);if(M.length>0){m=s,s.apply();for(const l of M)s.#o(l,r);M=[],s.deactivate()}}}m=null,O=t}this.committed=!0,se.delete(this),this.#a?.resolve()}increment(t){this.#e+=1,t&&(this.#r+=1)}decrement(t){this.#e-=1,t&&(this.#r-=1),this.revive()}revive(){for(const t of this.#i)b(t,x),oe(t);for(const t of this.#f)b(t,U),oe(t);this.#i=[],this.#f=[],this.flush()}oncommit(t){this.#t.add(t)}ondiscard(t){this.#n.add(t)}settled(){return(this.#a??=vt()).promise}static ensure(){if(m===null){const t=m=new Y;se.add(m),pe||Y.enqueue(()=>{m===t&&t.flush()})}return m}static enqueue(t){gt(t)}apply(){}}function je(e){var t=pe;pe=!0;try{var n;for(e&&(m!==null&&qe(),n=e());;){if(xn(),M.length===0&&(m?.flush(),M.length===0))return Ce=null,n;qe()}}finally{pe=t}}function qe(){var e=ce;Fe=!0;try{var t=0;for(ot(!0);M.length>0;){var n=Y.ensure();if(t++>1e3){var r,s;Rn()}n.process(M),X.clear()}}finally{Fe=!1,ot(e),Ce=null}}function Rn(){try{ln()}catch(e){Ae(e,Ce)}}let j=null;function st(e){var t=e.length;if(t!==0){for(var n=0;n0)){X.clear();for(const s of j){if((s.f&(z|P))!==0)continue;const a=[s];let i=s.parent;for(;i!==null;)j.has(i)&&(j.delete(i),a.push(i)),i=i.parent;for(let o=a.length-1;o>=0;o--){const f=a[o];(f.f&(z|P))===0&&ye(f)}}j.clear()}}j=null}}function Et(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const a=s.f;(a&g)!==0?Et(s,t,n,r):(a&(Ge|V))!==0&&(a&x)===0&&kt(s,t,r)&&(b(s,x),oe(s))}}function Tt(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;(r&g)!==0?Tt(n,t):(r&Pe)!==0&&(b(n,x),t.add(n))}}function kt(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(t.includes(s))return!0;if((s.f&g)!==0&&kt(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function oe(e){for(var t=Ce=e;t.parent!==null;){t=t.parent;var n=t.f;if(Fe&&t===_&&(n&V)!==0)return;if((n&(ee|B))!==0){if((n&T)===0)return;t.f^=T}}M.push(t)}function Hr(e){un(),m!==null&&_n();var t=Y.ensure();t.is_fork=!0;var n=!1,r=t.settled();je(e);for(var[s,a]of t.previous)s.v=a;return{commit:async()=>{if(n){await r;return}se.has(t)||cn(),n=!0,t.is_fork=!1;for(var[i,o]of t.current)i.v=o;je(()=>{var f=new Set;for(var l of t.current.keys())Tt(l,f);Mn(f),Rt()}),t.revive(),await r},discard:()=>{!n&&se.has(t)&&(se.delete(t),t.discard())}}}function Nn(e,t,n){const r=be()?ze:Cn;if(t.length===0){n(e.map(r));return}var s=m,a=_,i=On(),o=k;Promise.all(t.map(f=>Dn(f))).then(f=>{i();try{n([...e.map(r),...f])}catch(l){(a.f&z)===0&&Ae(l,a)}o&&pt(!1),s?.deactivate(),Ye()}).catch(f=>{Ae(f,a)})}function On(){var e=_,t=c,n=y,r=m,s=k;if(s)var a=w;return function(){Q(e),F(t),ke(n),r?.activate(),s&&(pt(!0),Z(a))}}function Ye(){Q(null),F(null),ke(null)}function ze(e){var t=g|x,n=c!==null&&(c.f&g)!==0?c:null;return _===null||n!==null&&(n.f&N)!==0?t|=N:_.f|=_e,{ctx:y,deps:null,effects:null,equals:mt,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:n??_,ac:null}}function Dn(e,t){let n=_;n===null&&sn();var r=n.b,s=void 0,a=Ze(E),i=!c,o=new Map;return jn(()=>{var f=vt();s=f.promise;try{Promise.resolve(e()).then(f.resolve,f.reject).then(()=>{l===m&&l.committed&&l.deactivate(),Ye()})}catch(d){f.reject(d),Ye()}var l=m;if(i){var u=!r.is_pending();r.update_pending_count(1),l.increment(u),o.get(l)?.reject(le),o.delete(l),o.set(l,f)}const v=(d,h=void 0)=>{if(l.activate(),h)h!==le&&(a.f|=ae,He(a,h));else{(a.f&ae)!==0&&(a.f^=ae),He(a,d);for(const[p,W]of o){if(o.delete(p),p===l)break;W.reject(le)}}i&&(r.update_pending_count(-1),l.decrement(u))};f.promise.then(v,d=>v(null,d||"unknown"))}),Qe(()=>{for(const f of o.values())f.reject(le)}),new Promise(f=>{function l(u){function v(){u===s?f(a):l(s)}u.then(v,v)}l(s)})}function Vr(e){const t=ze(e);return Ht(t),t}function Cn(e){const t=ze(e);return t.equals=yt,t}function At(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n0&&!St&&Rt()}return t}function Rt(){St=!1;const e=Array.from(xe);for(const t of e)(t.f&T)!==0&&b(t,U),ge(t)&&ye(t);xe.clear()}function Ur(e,t=1){var n=ue(e),r=t===1?n++:n--;return $(e,n),r}function Me(e){$(e,e.v+1)}function Nt(e,t){var n=e.reactions;if(n!==null)for(var r=be(),s=n.length,a=0;a{if(fe===a)return o();var f=c,l=fe;F(null),ut(a);var u=o();return F(f),ut(l),u};return r&&n.set("length",G(e.length)),new Proxy(e,{defineProperty(o,f,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&vn();var u=n.get(f);return u===void 0?u=i(()=>{var v=G(l.value);return n.set(f,v),v}):$(u,l.value,!0),!0},deleteProperty(o,f){var l=n.get(f);if(l===void 0){if(f in o){const u=i(()=>G(E));n.set(f,u),Me(s)}}else $(l,E),Me(s);return!0},get(o,f,l){if(f===ie)return e;var u=n.get(f),v=f in o;if(u===void 0&&(!v||he(o,f)?.writable)&&(u=i(()=>{var h=de(v?o[f]:E),p=G(h);return p}),n.set(f,u)),u!==void 0){var d=ue(u);return d===E?void 0:d}return Reflect.get(o,f,l)},getOwnPropertyDescriptor(o,f){var l=Reflect.getOwnPropertyDescriptor(o,f);if(l&&"value"in l){var u=n.get(f);u&&(l.value=ue(u))}else if(l===void 0){var v=n.get(f),d=v?.v;if(v!==void 0&&d!==E)return{enumerable:!0,configurable:!0,value:d,writable:!0}}return l},has(o,f){if(f===ie)return!0;var l=n.get(f),u=l!==void 0&&l.v!==E||Reflect.has(o,f);if(l!==void 0||_!==null&&(!u||he(o,f)?.writable)){l===void 0&&(l=i(()=>{var d=u?de(o[f]):E,h=G(d);return h}),n.set(f,l));var v=ue(l);if(v===E)return!1}return u},set(o,f,l,u){var v=n.get(f),d=f in o;if(r&&f==="length")for(var h=l;hG(E)),n.set(h+"",p))}if(v===void 0)(!d||he(o,f)?.writable)&&(v=i(()=>G(void 0)),$(v,de(l)),n.set(f,v));else{d=v.v!==E;var W=i(()=>de(l));$(v,W)}var ne=Reflect.getOwnPropertyDescriptor(o,f);if(ne?.set&&ne.set.call(u,l),!d){if(r&&typeof f=="string"){var tt=n.get("length"),Ie=Number(f);Number.isInteger(Ie)&&Ie>=tt.v&&$(tt,Ie+1)}Me(s)}return!0},ownKeys(o){ue(s);var f=Reflect.ownKeys(o).filter(v=>{var d=n.get(v);return d===void 0||d.v!==E});for(var[l,u]of n)u.v!==E&&!(l in o)&&f.push(l);return f},setPrototypeOf(){dn()}})}function at(e){try{if(e!==null&&typeof e=="object"&&ie in e)return e[ie]}catch{}return e}function Wr(e,t){return Object.is(at(e),at(t))}var it,Pn,Ot,Dt,Ct;function Gr(){if(it===void 0){it=window,Pn=document,Ot=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Dt=he(t,"firstChild").get,Ct=he(t,"nextSibling").get,nt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),nt(n)&&(n.__t=void 0)}}function H(e=""){return document.createTextNode(e)}function J(e){return Dt.call(e)}function te(e){return Ct.call(e)}function $r(e,t){if(!k)return J(e);var n=J(w);if(n===null)n=w.appendChild(H());else if(t&&n.nodeType!==Ne){var r=H();return n?.before(r),Z(r),r}return Z(n),n}function Kr(e,t=!1){if(!k){var n=J(e);return n instanceof Comment&&n.data===""?te(n):n}if(t&&w?.nodeType!==Ne){var r=H();return w?.before(r),Z(r),r}return w}function zr(e,t=1,n=!1){let r=k?w:e;for(var s;t--;)s=r,r=te(r);if(!k)return r;if(n&&r?.nodeType!==Ne){var a=H();return r===null?s?.after(a):r.before(a),Z(a),a}return Z(r),r}function Xr(e){e.textContent=""}function Ln(){return!1}function Je(e){var t=c,n=_;F(null),Q(null);try{return e()}finally{F(t),Q(n)}}function It(e){_===null&&c===null&&on(),c!==null&&(c.f&N)!==0&&_===null&&fn(),ve&&an()}function Fn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function I(e,t,n,r=!0){var s=_;s!==null&&(s.f&P)!==0&&(e|=P);var a={ctx:y,deps:null,nodes_start:null,nodes_end:null,f:e|x,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{ye(a),a.f|=We}catch(f){throw C(a),f}else t!==null&&oe(a);if(r){var i=a;if(n&&i.deps===null&&i.teardown===null&&i.nodes_start===null&&i.first===i.last&&(i.f&_e)===0&&(i=i.first,(e&V)!==0&&(e&we)!==0&&i!==null&&(i.f|=we)),i!==null&&(i.parent=s,s!==null&&Fn(i,s),c!==null&&(c.f&g)!==0&&(e&ee)===0)){var o=c;(o.effects??=[]).push(i)}}return a}function Zr(){return c!==null&&!D}function Qe(e){const t=I(Re,null,!1);return b(t,T),t.teardown=e,t}function Jr(e){It();var t=_.f,n=!c&&(t&B)!==0&&(t&We)===0;if(n){var r=y;(r.e??=[]).push(e)}else return Mt(e)}function Mt(e){return I(Be|dt,e,!1)}function Qr(e){return It(),I(Re|dt,e,!0)}function es(e){Y.ensure();const t=I(ee|_e,e,!0);return()=>{C(t)}}function ts(e){Y.ensure();const t=I(ee|_e,e,!0);return(n={})=>new Promise(r=>{n.outro?jt(t,()=>{C(t),r(void 0)}):(C(t),r(void 0))})}function ns(e){return I(Be,e,!1)}function jn(e){return I(Ge|_e,e,!0)}function rs(e,t=0){return I(Re|t,e,!0)}function ss(e,t=[],n=[]){Nn(t,n,r=>{I(Re,()=>e(...r.map(ue)),!0)})}function qn(e,t=0){var n=I(V|t,e,!0);return n}function ft(e,t=!0){return I(B|_e,e,!0,t)}function Pt(e){var t=e.teardown;if(t!==null){const n=ve,r=c;lt(!0),F(null);try{t.call(null)}finally{lt(n),F(r)}}}function Lt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Je(()=>{s.abort(le)});var r=n.next;(n.f&ee)!==0?n.parent=null:C(n,t),n=r}}function Yn(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&B)===0&&C(t),t=n}}function C(e,t=!0){var n=!1;(t||(e.f&tn)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(Hn(e.nodes_start,e.nodes_end),n=!0),Lt(e,t&&!n),Se(e,0),b(e,z);var r=e.transitions;if(r!==null)for(const a of r)a.stop();Pt(e);var s=e.parent;s!==null&&s.first!==null&&Ft(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function Hn(e,t){for(;e!==null;){var n=e===t?null:te(e);e.remove(),e=n}}function Ft(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function jt(e,t,n=!0){var r=[];qt(e,r,!0),Vn(r,()=>{n&&C(e),t&&t()})}function Vn(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var s of e)s.out(r)}else t()}function qt(e,t,n){if((e.f&P)===0){if(e.f^=P,e.transitions!==null)for(const i of e.transitions)(i.is_global||n)&&t.push(i);for(var r=e.first;r!==null;){var s=r.next,a=(r.f&we)!==0||(r.f&B)!==0&&(e.f&V)!==0;qt(r,t,a?n:!1),r=s}}}function Bn(e){Yt(e,!0)}function Yt(e,t){if((e.f&P)!==0){e.f^=P,(e.f&T)===0&&(b(e,x),oe(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&we)!==0||(n.f&B)!==0;Yt(n,s?t:!1),n=r}if(e.transitions!==null)for(const a of e.transitions)(a.is_global||t)&&a.in()}}function Un(e,t){for(var n=e.nodes_start,r=e.nodes_end;n!==null;){var s=n===r?null:te(n);t.append(n),n=s}}let ce=!1;function ot(e){ce=e}let ve=!1;function lt(e){ve=e}let c=null,D=!1;function F(e){c=e}let _=null;function Q(e){_=e}let q=null;function Ht(e){c!==null&&(q===null?q=[e]:q.push(e))}let A=null,S=0,R=null;function Wn(e){R=e}let Vt=1,me=0,fe=me;function ut(e){fe=e}let K=!1;function Bt(){return++Vt}function ge(e){var t=e.f;if((t&x)!==0)return!0;if((t&U)!==0){var n=e.deps,r=(t&N)!==0;if(t&g&&(e.f&=~Te),n!==null){var s,a,i=(t&Ee)!==0,o=r&&_!==null&&!K,f=n.length;if((i||o)&&(_===null||(_.f&z)===0)){var l=e,u=l.parent;for(s=0;se.wv)return!0}(!r||_!==null&&!K)&&b(e,T)}return!1}function Ut(e,t,n=!0){var r=e.reactions;if(r!==null&&!q?.includes(e))for(var s=0;s{e.ac.abort(le)}),e.ac=null);try{e.f|=Le;var v=e.fn,d=v(),h=e.deps;if(A!==null){var p;if(Se(e,S),h!==null&&S>0)for(h.length=S+A.length,p=0;pn?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?gt(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function ds(e,t,n,r={}){var s=$t(t,e,n,r);return()=>{e.removeEventListener(t,s,r)}}function hs(e,t,n,r,s){var a={capture:r,passive:s},i=$t(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Qe(()=>{t.removeEventListener(e,i,a)})}function ps(e){for(var t=0;t{throw ne});throw d}}finally{e.__root=t,delete e.currentTarget,F(u),Q(v)}}}function et(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function L(e,t){var n=_;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function ws(e,t){var n=(t&pn)!==0,r=(t&wn)!==0,s,a=!e.startsWith("");return()=>{if(k)return L(w,null),w;s===void 0&&(s=et(a?e:""+e),n||(s=J(s)));var i=r||Ot?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=J(i),f=i.lastChild;L(o,f)}else L(i,i);return i}}function tr(e,t,n="svg"){var r=!e.startsWith(""),s=`<${n}>${r?e:""+e}`,a;return()=>{if(k)return L(w,null),w;if(!a){var i=et(s),o=J(i);a=J(o)}var f=a.cloneNode(!0);return L(f,f),f}}function ms(e,t){return tr(e,t,"svg")}function ys(e=""){if(!k){var t=H(e+"");return L(t,t),t}var n=w;return n.nodeType!==Ne&&(n.before(n=H()),Z(n)),L(n,n),n}function bs(){if(k)return L(w,null),w;var e=document.createDocumentFragment(),t=document.createComment(""),n=H();return e.append(t,n),L(t,n),e}function gs(e,t){if(k){_.nodes_end=w,wt();return}e!==null&&e.before(t)}class nr{anchor;#t=new Map;#n=new Map;#e=new Map;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#a=()=>{var t=m;if(this.#t.has(t)){var n=this.#t.get(t),r=this.#n.get(n);if(r)Bn(r);else{var s=this.#e.get(n);s&&(this.#n.set(n,s.effect),this.#e.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[a,i]of this.#t){if(this.#t.delete(a),a===t)break;const o=this.#e.get(i);o&&(C(o.effect),this.#e.delete(i))}for(const[a,i]of this.#n){if(a===n)continue;const o=()=>{if(Array.from(this.#t.values()).includes(a)){var l=document.createDocumentFragment();Un(i,l),l.append(H()),this.#e.set(a,{effect:i,fragment:l})}else C(i);this.#n.delete(a)};this.#r||!r?jt(i,o,!1):o()}}};#i=t=>{this.#t.delete(t);const n=Array.from(this.#t.values());for(const[r,s]of this.#e)n.includes(r)||(C(s.effect),this.#e.delete(r))};ensure(t,n){var r=m,s=Ln();if(n&&!this.#n.has(t)&&!this.#e.has(t))if(s){var a=document.createDocumentFragment(),i=H();a.append(i),this.#e.set(t,{effect:ft(()=>n(i)),fragment:a})}else this.#n.set(t,ft(()=>n(this.anchor)));if(this.#t.set(r,t),s){for(const[o,f]of this.#n)o===t?r.skipped_effects.delete(f):r.skipped_effects.add(f);for(const[o,f]of this.#e)o===t?r.skipped_effects.delete(f.effect):r.skipped_effects.add(f.effect);r.oncommit(this.#a),r.ondiscard(this.#i)}else k&&(this.anchor=w),this.#a()}}function Es(e,t,...n){var r=new nr(e);qn(()=>{const s=t()??null;r.ensure(s,s&&(a=>s(a,...n)))},we)}function Ts(e){return(t,...n)=>{var r=e(...n),s;if(k)s=w,wt();else{var a=r.render().trim(),i=et(a);s=J(i),t.before(s)}const o=r.setup?.(s);L(s,s),typeof o=="function"&&Qe(o)}}export{w as $,je as A,Hr as B,jr as C,En as D,kn as E,Tn as F,is as G,as as H,qn as I,we as J,nr as K,k as L,wt as M,ps as N,Ir as O,G as P,de as Q,$ as R,H as S,yr as T,Z as U,J as V,Cn as W,Pr as X,yn as Y,Mr as Z,pt as _,gs as a,or as a$,ht as a0,bn as a1,ft as a2,Ln as a3,wr as a4,mr as a5,m as a6,He as a7,Br as a8,Ze as a9,fr as aA,Zr as aB,rs as aC,Me as aD,Y as aE,Q as aF,F as aG,ke as aH,Sn as aI,Un as aJ,rt as aK,Ae as aL,pr as aM,_e as aN,Ue as aO,Dr as aP,tn as aQ,mn as aR,Gr as aS,$e as aT,vr as aU,Jn as aV,Qn as aW,ts as aX,er as aY,_s as aZ,Ke as a_,rr as aa,Bn as ab,jt as ac,gr as ad,P as ae,gt as af,C as ag,br as ah,te as ai,qt as aj,Xr as ak,Vn as al,_ as am,cr as an,Rr as ao,L as ap,vs as aq,Qe as ar,hs as as,it as at,Qr as au,en as av,ir as aw,os as ax,ze as ay,ms as az,Yr as b,Xt as b0,ys as b1,ns as b2,ie as b3,he as b4,hr as b5,kr as b6,ve as b7,z as b8,Ar as b9,Tr as ba,Er as bb,sr as bc,Ur as bd,xr as be,Or as bf,Wr as bg,Nn as bh,Sr as bi,_t as bj,lr as bk,Nr as bl,Zt as bm,ls as bn,$t as bo,cs as bp,E as bq,us as br,gn as bs,ds as bt,es as bu,Pn as bv,bs as c,ws as d,$r as e,Kr as f,zr as g,ue as h,Lr as i,Jr as j,c as k,nn as l,_r as m,ar as n,y as o,qr as p,Kt as q,Cr as r,Es as s,ss as t,Vr as u,dr as v,Oe as w,fs as x,Fr as y,Ts as z}; diff --git a/_app/immutable/chunks/ByzbuU5l.js b/_app/immutable/chunks/ByzbuU5l.js new file mode 100644 index 0000000..3eab34f --- /dev/null +++ b/_app/immutable/chunks/ByzbuU5l.js @@ -0,0 +1 @@ +import{i as a}from"./BbMFilaF.js";a(); diff --git a/_app/immutable/chunks/Bzx_dmoR.js b/_app/immutable/chunks/Bzx_dmoR.js new file mode 100644 index 0000000..2a00b42 --- /dev/null +++ b/_app/immutable/chunks/Bzx_dmoR.js @@ -0,0 +1 @@ +import{p as i,i as j,r as P,b}from"./CPdWO9vA.js";import{p as T,c as q,f as A,a as d,b as C,d as k,e as f,s as g,n as h,r as m}from"./BbMFilaF.js";import{a as x}from"./DZYZrkxG.js";import{c as p}from"./BECF2Gun.js";import{T as D}from"./Czk6ojrB.js";const y=D({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white",outline:"bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline",nav:"text-primary text-md hover:text-lg font-light hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});var E=k(""),F=k("");function L(_,e){T(e,!0);let o=i(e,"variant",3,"default"),l=i(e,"size",3,"default"),n=i(e,"ref",15,null),c=i(e,"href",3,void 0),z=i(e,"type",3,"button"),v=P(e,["$$slots","$$events","$$legacy","class","variant","size","ref","href","type","disabled","children"]);var u=q(),w=A(u);{var B=r=>{var a=E();x(a,t=>({"data-slot":"button",class:t,href:e.disabled?void 0:c(),"aria-disabled":e.disabled,role:e.disabled?"link":void 0,tabindex:e.disabled?-1:void 0,...v}),[()=>p(y({variant:o(),size:l()}),e.class)]);var s=f(a);g(s,()=>e.children??h),m(a),b(a,t=>n(t),()=>n()),d(r,a)},V=r=>{var a=F();x(a,t=>({"data-slot":"button",class:t,type:z(),disabled:e.disabled,...v}),[()=>p(y({variant:o(),size:l()}),e.class)]);var s=f(a);g(s,()=>e.children??h),m(a),b(a,t=>n(t),()=>n()),d(r,a)};j(w,r=>{c()?r(B):r(V,!1)})}d(_,u),C()}export{L as B}; diff --git a/_app/immutable/chunks/CPdWO9vA.js b/_app/immutable/chunks/CPdWO9vA.js new file mode 100644 index 0000000..2979ad8 --- /dev/null +++ b/_app/immutable/chunks/CPdWO9vA.js @@ -0,0 +1 @@ +import{I as M,L as I,M as U,J as C,X as j,Y as F,Z as $,U as q,K as Z,_ as y,b2 as z,aC as G,x as D,af as H,b3 as x,b4 as S,b5 as J,b6 as L,h as w,ay as Q,W as V,Q as W,R as X,b7 as m,am as R,b8 as k,a9 as ee,b9 as re,w as ne,ba as se,bb as ie,bc as _,a$ as N,bd as T,aF as A,be as te}from"./BbMFilaF.js";function pe(e,r,s=!1){I&&U();var n=new Z(e),i=s?C:0;function t(f,a){if(I){const v=j(e)===F;if(f===v){var l=$();q(l),n.anchor=l,y(!1),n.ensure(f,a),y(!0);return}}n.ensure(f,a)}M(()=>{var f=!1;r((a,l=!0)=>{f=!0,t(l,a)}),f||t(!1,null)},i)}function g(e,r){return e===r||e?.[x]===r}function _e(e={},r,s,n){return z(()=>{var i,t;return G(()=>{i=t,t=[],D(()=>{e!==s(...t)&&(r(e,...t),i&&g(s(...i),e)&&r(null,...i))})}),()=>{H(()=>{t&&g(s(...t),e)&&r(null,...t)})}}),e}let h=!1;function ue(e){var r=h;try{return h=!1,[e(),h]}finally{h=r}}const ae={get(e,r){if(!e.exclude.includes(r))return e.props[r]},set(e,r){return!1},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function ve(e,r,s){return new Proxy({props:e,exclude:r},ae)}const fe={get(e,r){if(!e.exclude.includes(r))return w(e.version),r in e.special?e.special[r]():e.props[r]},set(e,r,s){if(!(r in e.special)){var n=R;try{A(e.parent_effect),e.special[r]=ce({get[r](){return e.props[r]}},r,L)}finally{A(n)}}return e.special[r](s),T(e.version),!0},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},deleteProperty(e,r){return e.exclude.includes(r)||(e.exclude.push(r),T(e.version)),!0},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function be(e,r){return new Proxy({props:e,exclude:r,special:{},version:ee(0),parent_effect:R},fe)}const le={get(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(_(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n)return n[r]}},set(e,r,s){let n=e.props.length;for(;n--;){let i=e.props[n];_(i)&&(i=i());const t=S(i,r);if(t&&t.set)return t.set(s),!0}return!1},getOwnPropertyDescriptor(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(_(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n){const i=S(n,r);return i&&!i.configurable&&(i.configurable=!0),i}}},has(e,r){if(r===x||r===N)return!1;for(let s of e.props)if(_(s)&&(s=s()),s!=null&&r in s)return!0;return!1},ownKeys(e){const r=[];for(let s of e.props)if(_(s)&&(s=s()),!!s){for(const n in s)r.includes(n)||r.push(n);for(const n of Object.getOwnPropertySymbols(s))r.includes(n)||r.push(n)}return r}};function he(...e){return new Proxy({props:e},le)}function ce(e,r,s,n){var i=!ne||(s&se)!==0,t=(s&re)!==0,f=(s&te)!==0,a=n,l=!0,v=()=>(l&&(l=!1,a=f?D(n):n),a),o;if(t){var B=x in e||N in e;o=S(e,r)?.set??(B&&r in e?u=>e[r]=u:void 0)}var d,O=!1;t?[d,O]=ue(()=>e[r]):d=e[r],d===void 0&&n!==void 0&&(d=v(),o&&(i&&J(),o(d)));var c;if(i?c=()=>{var u=e[r];return u===void 0?v():(l=!0,u)}:c=()=>{var u=e[r];return u!==void 0&&(a=void 0),u===void 0?a:u},i&&(s&L)===0)return c;if(o){var K=e.$$legacy;return(function(u,b){return arguments.length>0?((!i||!b||K||O)&&o(b?c():u),u):c()})}var P=!1,p=((s&ie)!==0?Q:V)(()=>(P=!1,c()));t&&w(p);var Y=R;return(function(u,b){if(arguments.length>0){const E=b?w(p):i&&t?W(u):u;return X(p,E),P=!0,a!==void 0&&(a=E),u}return m&&P||(Y.f&k)!==0?p.v:w(p)})}const oe="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(oe);export{_e as b,pe as i,be as l,ce as p,ve as r,he as s}; diff --git a/_app/immutable/chunks/CVfNxELp.js b/_app/immutable/chunks/CVfNxELp.js new file mode 100644 index 0000000..b75960e --- /dev/null +++ b/_app/immutable/chunks/CVfNxELp.js @@ -0,0 +1,44 @@ +import{l as ae,s as oe,p as S,r as B,b as D,i as X}from"./CPdWO9vA.js";import{c as A,f as u,a as o,p as w,d,e as n,s as F,n as G,r as i,b as P,t as m,h as O,u as Z,g,O as se,b1 as le}from"./BbMFilaF.js";import{s as M}from"./DmP2n0k_.js";import{e as ie,i as ce}from"./BGFanmKd.js";import{g as ne,a as de}from"./Iu6NYhtk.js";import{c as y}from"./BaThn6Za.js";import{a as J,d as j,s as ve}from"./DZYZrkxG.js";import{C as fe,a as ue,b as me}from"./DZHFmSoN.js";import{c as K}from"./BECF2Gun.js";import{C as ge}from"./1Ez0xvU2.js";import"./ByzbuU5l.js";import{I as pe,s as _e}from"./B6MtVlrN.js";import{S as he}from"./B1wPNbHL.js";function be(l,e){const a=ae(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const s=[["path",{d:"M15 3h6v6"}],["path",{d:"M10 14 21 3"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}]];pe(l,oe({name:"external-link"},()=>a,{get iconNode(){return s},children:(r,c)=>{var t=A(),C=u(t);_e(C,e,"default",{}),o(r,t)},$$slots:{default:!0}}))}var xe=d("

");function ye(l,e){w(e,!0);let a=S(e,"ref",15,null),s=B(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=xe();J(r,t=>({"data-slot":"card-description",class:t,...s}),[()=>K("text-sm text-muted-foreground",e.class)]);var c=n(r);F(c,()=>e.children??G),i(r),D(r,t=>a(t),()=>a()),o(l,r),P()}var je=d("
");function we(l,e){w(e,!0);let a=S(e,"ref",15,null),s=B(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=je();J(r,t=>({"data-slot":"card-footer",class:t,...s}),[()=>K("flex items-center px-6 [.border-t]:pt-6",e.class)]);var c=n(r);F(c,()=>e.children??G),i(r),D(r,t=>a(t),()=>a()),o(l,r),P()}var Pe=d("
");function Ce(l,e){w(e,!0);let a=S(e,"ref",15,null),s=B(e,["$$slots","$$events","$$legacy","ref","class","children"]);var r=Pe();J(r,t=>({"data-slot":"card-title",class:t,...s}),[()=>K("leading-none font-semibold",e.class)]);var c=n(r);F(c,()=>e.children??G),i(r),D(r,t=>a(t),()=>a()),o(l,r),P()}var $e=d('');function Re(l,e){w(e,!0);const a=Z(()=>e.youtubeURL.split("v=")[1].split("&")[0]);var s=$e();m(()=>j(s,"src",`https://www.youtube.com/embed/${O(a)??""};controls=0`)),o(l,s),P()}var ke=d(""),Le=d("

",1),Ie=d(''),Ue=d('
',1),Ne=d(" ",1),Me=d('');function Se(l,e){w(e,!0);let a=S(e,"class",3,""),s=S(e,"baseClass",3,"no-underline group max-w-md");const c=`${e.project.type}s/${e.project.slug}`;var t=Me(),C=n(t);y(C,()=>me,($,R)=>{R($,{class:"transition-std group-hover:bg-accent",children:(T,V)=>{var z=Ne(),k=u(z);y(k,()=>fe,(L,I)=>{I(L,{children:(U,Q)=>{var f=A(),_=u(f);y(_,()=>Ce,(h,N)=>{N(h,{class:"transition-std flex flex-row justify-between group-hover:text-primary",children:(v,b)=>{var x=Le(),H=u(x),Y=n(H);i(H);var ee=g(H,2);{var te=q=>{var E=ke(),re=n(E);ge(re,{path:"/logos/svg/logo-github.svg",scale:.25}),i(E),m(()=>j(E,"href",e.project.githubURL)),o(q,E)};X(ee,q=>{e.project.githubURL&&q(te)})}m(()=>M(Y,`${e.project.title??""}${e.project.workStatus?" [WIP]":""}`)),o(v,x)},$$slots:{default:!0}})}),o(U,f)},$$slots:{default:!0}})});var p=g(k,2);y(p,()=>ue,(L,I)=>{I(L,{class:"flex flex-col gap-y-4 px-0",children:(U,Q)=>{var f=A(),_=u(f);{var h=v=>{Re(v,{get youtubeURL(){return e.project.youtubeURL}})},N=v=>{var b=Ie();m(x=>{j(b,"src",x),j(b,"alt",`${e.project.title} preview image`)},[()=>ne(e.project)]),o(v,b)};X(_,v=>{e.project.youtubeURL?v(h):v(N,!1)})}o(U,f)},$$slots:{default:!0}})});var W=g(p,2);y(W,()=>we,(L,I)=>{I(L,{class:"flex flex-row justify-center gap-x-2",children:(U,Q)=>{var f=Ue(),_=u(f);y(_,()=>ye,(v,b)=>{b(v,{children:(x,H)=>{se();var Y=le();m(()=>M(Y,e.project.description)),o(x,Y)},$$slots:{default:!0}})});var h=g(_,2),N=n(h);be(N,{size:24}),i(h),o(U,f)},$$slots:{default:!0}})}),o(T,z)},$$slots:{default:!0}})}),i(t),m(()=>{j(t,"id",e.project.slug),j(t,"href",c),ve(t,1,`${s()??""} ${a()??""}`)}),o(l,t),P()}var ze=d('

',1);function Je(l,e){w(e,!0);const a=Z(()=>de(e.type));he(l,{class:"items-center px-6 pt-4 pb-8",children:(s,r)=>{var c=ze(),t=u(c),C=n(t,!0);i(t);var $=g(t,2),R=n($),T=n(R);i(R);var V=g(R,2),z=n(V);i(V),i($);var k=g($,2);ie(k,21,()=>e.projects,ce,(p,W)=>{Se(p,{get project(){return O(W)}})}),i(k),m(p=>{M(C,O(a)),M(T,`Here, you can find all the ${p??""} I've worked on!`),M(z,`Click on a ${e.type??""} to find out more about it.`)},[()=>O(a).toLowerCase()]),o(s,c)},$$slots:{default:!0}}),P()}export{Je as P}; diff --git a/_app/immutable/chunks/CnyALC89.js b/_app/immutable/chunks/CnyALC89.js new file mode 100644 index 0000000..df99591 --- /dev/null +++ b/_app/immutable/chunks/CnyALC89.js @@ -0,0 +1 @@ +import{P as h,Q as f,h as a,R as d,x as l,u as y}from"./BbMFilaF.js";function S(...r){return r.filter(Boolean).join(" ")}const p=typeof document<"u";let g=0;class x{#t=h(f([]));get toasts(){return a(this.#t)}set toasts(t){d(this.#t,t,!0)}#s=h(f([]));get heights(){return a(this.#s)}set heights(t){d(this.#s,t,!0)}#e=t=>{const s=this.toasts.findIndex(e=>e.id===t);return s===-1?null:s};addToast=t=>{p&&this.toasts.unshift(t)};updateToast=({id:t,data:s,type:e,message:u})=>{const o=this.toasts.findIndex(c=>c.id===t),i=this.toasts[o];this.toasts[o]={...i,...s,id:t,title:u,type:e,updated:!0}};create=t=>{const{message:s,...e}=t,u=typeof t?.id=="number"||t.id&&t.id?.length>0?t.id:g++,o=t.dismissable===void 0?!0:t.dismissable,i=t.type===void 0?"default":t.type;return l(()=>{this.toasts.find(m=>m.id===u)?this.updateToast({id:u,data:t,type:i,message:s,dismissable:o}):this.addToast({...e,id:u,title:s,dismissable:o,type:i})}),u};dismiss=t=>(l(()=>{if(t===void 0){this.toasts=this.toasts.map(e=>({...e,dismiss:!0}));return}const s=this.toasts.findIndex(e=>e.id===t);this.toasts[s]&&(this.toasts[s]={...this.toasts[s],dismiss:!0})}),t);remove=t=>{if(t===void 0){this.toasts=[];return}const s=this.#e(t);if(s!==null)return this.toasts.splice(s,1),t};message=(t,s)=>this.create({...s,type:"default",message:t});error=(t,s)=>this.create({...s,type:"error",message:t});success=(t,s)=>this.create({...s,type:"success",message:t});info=(t,s)=>this.create({...s,type:"info",message:t});warning=(t,s)=>this.create({...s,type:"warning",message:t});loading=(t,s)=>this.create({...s,type:"loading",message:t});promise=(t,s)=>{if(!s)return;let e;s.loading!==void 0&&(e=this.create({...s,promise:t,type:"loading",message:typeof s.loading=="string"?s.loading:s.loading()}));const u=t instanceof Promise?t:t();let o=e!==void 0;return u.then(i=>{if(typeof i=="object"&&i&&"ok"in i&&typeof i.ok=="boolean"&&!i.ok){o=!1;const c=T(i);this.create({id:e,type:"error",message:c})}else if(s.success!==void 0){o=!1;const c=typeof s.success=="function"?s.success(i):s.success;this.create({id:e,type:"success",message:c})}}).catch(i=>{if(s.error!==void 0){o=!1;const c=typeof s.error=="function"?s.error(i):s.error;this.create({id:e,type:"error",message:c})}}).finally(()=>{o&&(this.dismiss(e),e=void 0),s.finally?.()}),e};custom=(t,s)=>{const e=s?.id||g++;return this.create({component:t,id:e,...s}),e};removeHeight=t=>{this.heights=this.heights.filter(s=>s.toastId!==t)};setHeight=t=>{const s=this.#e(t.toastId);if(s===null){this.heights.push(t);return}this.heights[s]=t};reset=()=>{this.toasts=[],this.heights=[]}}function T(r){return r&&typeof r=="object"&&"status"in r?`HTTP error! Status: ${r.status}`:`Error! ${r}`}const n=new x;function I(r,t){return n.create({message:r,...t})}class v{#t=y(()=>n.toasts.filter(t=>!t.dismiss));get toasts(){return a(this.#t)}}const b=I,j=Object.assign(b,{success:n.success,info:n.info,warning:n.warning,error:n.error,custom:n.custom,message:n.message,promise:n.promise,dismiss:n.dismiss,loading:n.loading,getActiveToasts:()=>n.toasts.filter(r=>!r.dismiss)});export{v as S,n as a,S as c,j as t}; diff --git a/_app/immutable/chunks/Czk6ojrB.js b/_app/immutable/chunks/Czk6ojrB.js new file mode 100644 index 0000000..b069849 --- /dev/null +++ b/_app/immutable/chunks/Czk6ojrB.js @@ -0,0 +1 @@ +import{t as ee,e as re}from"./BECF2Gun.js";var te=/\s+/g,R=e=>typeof e!="string"||!e?e:e.replace(te," ").trim(),N=(...e)=>{let l=[],t=r=>{if(!r&&r!==0&&r!==0n)return;if(Array.isArray(r)){for(let c=0,j=r.length;c0?R(l.join(" ")):void 0},U=e=>e===!1?"false":e===!0?"true":e===0?"0":e,h=e=>{if(!e||typeof e!="object")return!0;for(let l in e)return!1;return!0},ne=(e,l)=>{if(e===l)return!0;if(!e||!l)return!1;let t=Object.keys(e),r=Object.keys(l);if(t.length!==r.length)return!1;for(let n=0;n{for(let t in l)if(Object.prototype.hasOwnProperty.call(l,t)){let r=l[t];t in e?e[t]=N(e[t],r):e[t]=r}return e},X=(e,l)=>{for(let t=0;t{let l=[];X(e,l);let t=[];for(let r=0;r{let t={};for(let r in e){let n=e[r];if(r in l){let c=l[r];Array.isArray(n)||Array.isArray(c)?t[r]=Y(c,n):typeof n=="object"&&typeof c=="object"&&n&&c?t[r]=q(n,c):t[r]=c+" "+n}else t[r]=n}for(let r in l)r in e||(t[r]=l[r]);return t},le={twMerge:!0,twMergeConfig:{},responsiveVariants:!1};function se(){let e=null,l={},t=!1;return{get cachedTwMerge(){return e},set cachedTwMerge(r){e=r},get cachedTwMergeConfig(){return l},set cachedTwMergeConfig(r){l=r},get didTwMergeConfigChange(){return t},set didTwMergeConfigChange(r){t=r},reset(){e=null,l={},t=!1}}}var C=se(),ie=e=>{let l=(t,r)=>{let{extend:n=null,slots:c={},variants:j={},compoundVariants:x=[],compoundSlots:A=[],defaultVariants:z={}}=t,b={...le,...r},S=n?.base?N(n.base,t?.base):t?.base,v=n?.variants&&!h(n.variants)?q(j,n.variants):j,E=n?.defaultVariants&&!h(n.defaultVariants)?{...n.defaultVariants,...z}:z;!h(b.twMergeConfig)&&!ne(b.twMergeConfig,C.cachedTwMergeConfig)&&(C.didTwMergeConfigChange=!0,C.cachedTwMergeConfig=b.twMergeConfig);let G=h(n?.slots),K=h(c)?{}:{base:N(t?.base,G&&n?.base),...c},O=G?K:W({...n?.slots},h(K)?{base:t?.base}:K),k=h(n?.compoundVariants)?x:Y(n?.compoundVariants,x),M=m=>{if(h(v)&&h(c)&&G)return e(S,m?.class,m?.className)(b);if(k&&!Array.isArray(k))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof k}`);if(A&&!Array.isArray(A))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof A}`);let _=(a,s,o=[],u)=>{let f=o;if(typeof s=="string"){let i=R(s).split(" ");for(let g=0;g0){let g=[];for(let d=0;d{let f=s[a];if(!f||h(f))return null;let i=u?.[a]??m?.[a];if(i===null)return null;let g=U(i),d=Array.isArray(b.responsiveVariants)&&b.responsiveVariants.length>0||b.responsiveVariants===!0,y=E?.[a],p=[];if(typeof g=="object"&&d)for(let[V,Q]of Object.entries(g)){let $=f[Q];if(V==="initial"){y=Q;continue}Array.isArray(b.responsiveVariants)&&!b.responsiveVariants.includes(V)||(p=_(V,$,p,o))}let T=g!=null&&typeof g!="object"?g:U(y),w=f[T||"false"];return typeof p=="object"&&typeof o=="string"&&p[o]?W(p,w):p.length>0?(p.push(w),o==="base"?p.join(" "):p):w},B=()=>{if(!v)return null;let a=Object.keys(v),s=[];for(let o=0;o{if(!v||typeof v!="object")return null;let o=[];for(let u in v){let f=D(u,v,a,s),i=a==="base"&&typeof f=="string"?f:f&&f[a];i&&o.push(i)}return o},H={};for(let a in m){let s=m[a];s!==void 0&&(H[a]=s)}let L=(a,s)=>{let o=typeof m?.[a]=="object"?{[a]:m[a]?.initial}:{};return{...E,...H,...o,...s}},P=(a=[],s)=>{let o=[],u=a.length;for(let f=0;f{let s=P(k,a);if(!Array.isArray(s))return s;let o={},u=e;for(let f=0;f{if(A.length<1)return null;let s={},o=L(null,a);for(let u=0;u{let f=I(u),i=J(u);return s(O[o],F(o,u),f?f[o]:void 0,i?i[o]:void 0,u?.class,u?.className)(b)}}return a}return e(S,B(),P(k),m?.class,m?.className)(b)},Z=()=>{if(!(!v||typeof v!="object"))return Object.keys(v)};return M.variantKeys=Z(),M.extend=n,M.base=S,M.slots=O,M.variants=v,M.defaultVariants=E,M.compoundSlots=A,M.compoundVariants=k,M};return{tv:l,createTV:t=>(r,n)=>l(r,n?q(t,n):t)}},ae=e=>h(e)?ee:re({...e,extend:{theme:e.theme,classGroups:e.classGroups,conflictingClassGroupModifiers:e.conflictingClassGroupModifiers,conflictingClassGroups:e.conflictingClassGroups,...e.extend}}),oe=(...e)=>l=>{let t=N(e);return!t||!l.twMerge?t:((!C.cachedTwMerge||C.didTwMergeConfigChange)&&(C.didTwMergeConfigChange=!1,C.cachedTwMerge=ae(C.cachedTwMergeConfig)),C.cachedTwMerge(t)||void 0)},{tv:ue}=ie(oe);export{ue as T}; diff --git a/_app/immutable/chunks/D9pCFzY-.js b/_app/immutable/chunks/D9pCFzY-.js new file mode 100644 index 0000000..a2dc9ab --- /dev/null +++ b/_app/immutable/chunks/D9pCFzY-.js @@ -0,0 +1 @@ +import{y as t}from"./BbMFilaF.js";function a(o,e){o.scrollTo({top:e.offsetTop,behavior:"smooth"})}const[r,s]=t(),[C,c]=t(),[i,l]=t();export{r as a,s as b,c,l as d,C as g,a as s}; diff --git a/_app/immutable/chunks/DZHFmSoN.js b/_app/immutable/chunks/DZHFmSoN.js new file mode 100644 index 0000000..d47edc5 --- /dev/null +++ b/_app/immutable/chunks/DZHFmSoN.js @@ -0,0 +1 @@ +import{p as l,r as c,b as n}from"./CPdWO9vA.js";import{p as i,d as f,e as v,s as u,n as h,r as m,a as b,b as g}from"./BbMFilaF.js";import{a as _}from"./DZYZrkxG.js";import{c as x}from"./BECF2Gun.js";var p=f("
");function q(s,a){i(a,!0);let t=l(a,"ref",15,null),d=c(a,["$$slots","$$events","$$legacy","ref","class","children"]);var r=p();_(r,e=>({"data-slot":"card",class:e,...d}),[()=>x("flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",a.class)]);var o=v(r);u(o,()=>a.children??h),m(r),n(r,e=>t(e),()=>t()),b(s,r),g()}var y=f("
");function z(s,a){i(a,!0);let t=l(a,"ref",15,null),d=c(a,["$$slots","$$events","$$legacy","ref","class","children"]);var r=y();_(r,e=>({"data-slot":"card-content",class:e,...d}),[()=>x("px-6",a.class)]);var o=v(r);u(o,()=>a.children??h),m(r),n(r,e=>t(e),()=>t()),b(s,r),g()}var C=f("
");function A(s,a){i(a,!0);let t=l(a,"ref",15,null),d=c(a,["$$slots","$$events","$$legacy","ref","class","children"]);var r=C();_(r,e=>({"data-slot":"card-header",class:e,...d}),[()=>x("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",a.class)]);var o=v(r);u(o,()=>a.children??h),m(r),n(r,e=>t(e),()=>t()),b(s,r),g()}export{A as C,z as a,q as b}; diff --git a/_app/immutable/chunks/DZYZrkxG.js b/_app/immutable/chunks/DZYZrkxG.js new file mode 100644 index 0000000..c759d02 --- /dev/null +++ b/_app/immutable/chunks/DZYZrkxG.js @@ -0,0 +1,2 @@ +import{af as B,I as D,ag as M,a2 as K,b2 as z,L as S,q as m,bf as x,bg as rr,ar as er,bh as fr,bi as ir,bj as tr,bk as sr,h as ar,bl as ur,bm as lr,_ as U,bn as or,bo as cr,N as nr,bp as vr,bq as dr,br}from"./BbMFilaF.js";function gr(r,i){if(i){const e=document.body;r.autofocus=!0,B(()=>{document.activeElement===e&&r.focus()})}}let V=!1;function _r(){V||(V=!0,document.addEventListener("reset",r=>{Promise.resolve().then(()=>{if(!r.defaultPrevented)for(const i of r.target.elements)i.__on_r?.()})},{capture:!0}))}function hr(r,i){var e=void 0,f;D(()=>{e!==(e=i())&&(f&&(M(f),f=null),e&&(f=K(()=>{z(()=>e(r))})))})}function F(r){var i,e,f="";if(typeof r=="string"||typeof r=="number")f+=r;else if(typeof r=="object")if(Array.isArray(r)){var t=r.length;for(i=0;i=0;){var n=l+s;(l===0||q.includes(f[l-1]))&&(n===f.length||q.includes(f[n]))?f=(l===0?"":f.substring(0,l))+f.substring(n+1):l=n}}return f===""?null:f}function H(r,i=!1){var e=i?" !important;":";",f="";for(var t in r){var s=r[t];s!=null&&s!==""&&(f+=" "+t+": "+s+e)}return f}function C(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function Sr(r,i){if(i){var e="",f,t;if(Array.isArray(i)?(f=i[0],t=i[1]):f=i,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,l=0,n=!1,c=[];f&&c.push(...Object.keys(f).map(C)),t&&c.push(...Object.keys(t).map(C));var v=0,p=-1;const N=r.length;for(var d=0;d{P(r,r.__value)});i.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),er(()=>{i.disconnect()})}function R(r){return"__value"in r?r.__value:r.value}const T=Symbol("class"),I=Symbol("style"),G=Symbol("is custom element"),Z=Symbol("is html");function Ir(r){if(S){var i=!1,e=()=>{if(!i){if(i=!0,r.hasAttribute("value")){var f=r.value;y(r,"value",null),r.value=f}if(r.hasAttribute("checked")){var t=r.checked;y(r,"checked",null),r.checked=t}}};r.__on_r=e,B(e),_r()}}function yr(r,i){i?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function y(r,i,e,f){var t=J(r);S&&(t[i]=r.getAttribute(i),i==="src"||i==="srcset"||i==="href"&&r.nodeName==="LINK")||t[i]!==(t[i]=e)&&(i==="loading"&&(r[sr]=e),e==null?r.removeAttribute(i):typeof e!="string"&&Q(r).includes(i)?r[i]=e:r.setAttribute(i,e))}function Or(r,i,e,f,t=!1,s=!1){if(S&&t&&r.tagName==="INPUT"){var l=r,n=l.type==="checkbox"?"defaultChecked":"defaultValue";n in e||Ir(l)}var c=J(r),v=c[G],p=!c[Z];let d=S&&v;d&&U(!1);var a=i||{},A=r.tagName==="OPTION";for(var L in i)L in e||(e[L]=null);e.class?e.class=pr(e.class):(f||e[T])&&(e.class=null),e[I]&&(e.style??=null);var N=Q(r);for(const u in e){let o=e[u];if(A&&u==="value"&&o==null){r.value=r.__value="",a[u]=o;continue}if(u==="class"){var h=r.namespaceURI==="http://www.w3.org/1999/xhtml";Lr(r,h,o,f,i?.[T],e[T]),a[u]=o,a[T]=e[T];continue}if(u==="style"){Er(r,o,i?.[I],e[I]),a[u]=o,a[I]=e[I];continue}var k=a[u];if(!(o===k&&!(o===void 0&&r.hasAttribute(u)))){a[u]=o;var j=u[0]+u[1];if(j!=="$$")if(j==="on"){const _={},E="$$"+u;let b=u.slice(2);var O=br(b);if(or(b)&&(b=b.slice(0,-7),_.capture=!0),!O&&k){if(o!=null)continue;r.removeEventListener(b,a[E],_),a[E]=null}if(o!=null)if(O)r[`__${b}`]=o,nr([b]);else{let W=function(X){a[u].call(this,X)};a[E]=cr(b,r,W,_)}else O&&(r[`__${b}`]=void 0)}else if(u==="style")y(r,u,o);else if(u==="autofocus")gr(r,!!o);else if(!v&&(u==="__value"||u==="value"&&o!=null))r.value=r.__value=o;else if(u==="selected"&&A)yr(r,o);else{var g=u;p||(g=vr(g));var $=g==="defaultValue"||g==="defaultChecked";if(o==null&&!v&&!$)if(c[u]=null,g==="value"||g==="checked"){let _=r;const E=i===void 0;if(g==="value"){let b=_.defaultValue;_.removeAttribute(g),_.defaultValue=b,_.value=_.__value=E?b:null}else{let b=_.defaultChecked;_.removeAttribute(g),_.defaultChecked=b,_.checked=E?b:!1}}else r.removeAttribute(u);else $||N.includes(g)&&(v||typeof o!="string")?(r[g]=o,g in c&&(c[g]=dr)):typeof o!="function"&&y(r,g,o)}}}return d&&U(!0),a}function wr(r,i,e=[],f=[],t,s=!1,l=!1){fr(e,f,n=>{var c=void 0,v={},p=r.nodeName==="SELECT",d=!1;if(D(()=>{var A=i(...n.map(ar)),L=Or(r,c,A,t,s,l);d&&p&&"value"in A&&P(r,A.value);for(let h of Object.getOwnPropertySymbols(v))A[h]||M(v[h]);for(let h of Object.getOwnPropertySymbols(A)){var N=A[h];h.description===ur&&(!c||N!==c[h])&&(v[h]&&M(v[h]),v[h]=K(()=>hr(r,()=>N))),L[h]=N}c=L}),p){var a=r;z(()=>{P(a,c.value,!0),Tr(a)})}d=!0})}function J(r){return r.__attributes??={[G]:r.nodeName.includes("-"),[Z]:r.namespaceURI===ir}}var Y=new Map;function Q(r){var i=r.getAttribute("is")||r.nodeName,e=Y.get(i);if(e)return e;Y.set(i,e=[]);for(var f,t=r,s=Element.prototype;s!==t;){f=lr(t);for(var l in f)f[l].set&&e.push(l);t=tr(t)}return e}export{I as S,wr as a,Er as b,pr as c,y as d,Ar as e,hr as f,Lr as s}; diff --git a/_app/immutable/chunks/DhHeKD4j.js b/_app/immutable/chunks/DhHeKD4j.js new file mode 100644 index 0000000..1542cb8 --- /dev/null +++ b/_app/immutable/chunks/DhHeKD4j.js @@ -0,0 +1,190 @@ +import{a as zd,g as qd}from"./Iu6NYhtk.js";import{H as Gd,a as Yd,c as Vd}from"./B6-ZdAj4.js";import{p as ja,b as Wd,r as Co,i as Ue,s as Eu}from"./CPdWO9vA.js";import{p as Vn,c as de,f as oe,a as ae,b as Wn,s as kr,n as xr,F as Ds,D as To,P as Qd,Q as Xd,R as Kd,h as pe,au as Zd,u as Nt,b1 as Jd,t as Do,j as ep,d as ks,g as ko,e as tp,r as np,O as rp}from"./BbMFilaF.js";import{a as Wt,d as _u}from"./DZYZrkxG.js";import{a as Dn,e as ap,i as sp}from"./BGFanmKd.js";import{T as up}from"./Czk6ojrB.js";import{c as ip}from"./BECF2Gun.js";import{p as op}from"./YuKHTIMG.js";import{g as lp,s as yu}from"./D9pCFzY-.js";import{s as cp}from"./DmP2n0k_.js";import{c as Au}from"./BaThn6Za.js";import{S as dp}from"./B1wPNbHL.js";import{C as pp}from"./1Ez0xvU2.js";async function AD(e,t,n){let r;if(e.readmeURL){console.log(`Attempting to fetch README from GitHub URL: ${e.readmeURL}`);const a=await n(e.readmeURL);if(a.ok){console.log(`Successfully fetched README from GitHub URL: ${e.readmeURL}`);const s=e.githubRawURL;return r=await a.text(),s?r.replace(/([('"[])((?:\.{1,2}\/|\/(?!\/))[^)\]'"#\s]+)/g,(u,i,o)=>{const l=o.startsWith("/")?o.slice(1):o.replace(/^\.{1,2}\//,"");return`${i}${s}${l}`}):r}}else{const a=`/projects/${zd(e.type).toLowerCase()}/${t}/README.md`;console.log(`Could not fetch README from GitHub URL. Falling back to README from Local URL: ${a}`);const s=await n(a);if(s.ok)return await s.text()}return console.error(`Failed to fetch fallback README for project type '${e.type}' with slug '${t}'.`),`# Oops! 😦 + +Something went wrong. + +No \`README.md\` was found for the \`${e.type}\` with slug \`${t}\`. + +Most likely, I forgot to add one! + +Please be so kind to report this through [the Contact page](/contact).`}function CD(e,t){throw new Gd(e,t)}const hp=up({base:"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden whitespace-nowrap rounded-full border px-2 py-0.5 text-xs font-medium transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent",destructive:"bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function fp(e,t){Vn(t,!0);let n=ja(t,"ref",15,null),r=ja(t,"variant",3,"default"),a=Co(t,["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);var s=de(),u=oe(s);Dn(u,()=>t.href?"a":"span",!1,(i,o)=>{Wd(i,d=>n(d),()=>n()),Wt(i,d=>({"data-slot":"badge",href:t.href,class:d,...a}),[()=>ip(hp({variant:r()}),t.class)]);var l=de(),p=oe(l);kr(p,()=>t.children??xr),ae(o,l)}),ae(e,s),Wn()}const xo=e=>{let t=Qd(Xd(e));return{get current(){return pe(t)},set current(n){Kd(t,n,!0)}}},wo="components",mp=()=>To(wo),gp=e=>Ds(wo,e),bp="ast",Ep=e=>Ds(bp,e);var _p=Object.create,xs=Object.defineProperty,yp=Object.getOwnPropertyDescriptor,So=Object.getOwnPropertyNames,Ap=Object.getPrototypeOf,Cp=Object.prototype.hasOwnProperty,Tp=(e,t)=>function(){return t||(0,e[So(e)[0]])((t={exports:{}}).exports,t),t.exports},Dp=(e,t)=>{for(var n in t)xs(e,n,{get:t[n],enumerable:!0})},kp=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of So(t))!Cp.call(e,a)&&a!==n&&xs(e,a,{get:()=>t[a],enumerable:!(r=yp(t,a))||r.enumerable});return e},xp=(e,t,n)=>(n=e!=null?_p(Ap(e)):{},kp(xs(n,"default",{value:e,enumerable:!0}),e)),wp=Tp({"node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.js"(e,t){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString,a=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=function(d){return typeof Array.isArray=="function"?Array.isArray(d):r.call(d)==="[object Array]"},i=function(d){if(!d||r.call(d)!=="[object Object]")return!1;var h=n.call(d,"constructor"),f=d.constructor&&d.constructor.prototype&&n.call(d.constructor.prototype,"isPrototypeOf");if(d.constructor&&!h&&!f)return!1;var m;for(m in d);return typeof m>"u"||n.call(d,m)},o=function(d,h){a&&h.name==="__proto__"?a(d,h.name,{enumerable:!0,configurable:!0,value:h.newValue,writable:!0}):d[h.name]=h.newValue},l=function(d,h){if(h==="__proto__")if(n.call(d,h)){if(s)return s(d,h).value}else return;return d[h]};t.exports=function p(){var d,h,f,m,A,D,E=arguments[0],T=1,k=arguments.length,L=!1;for(typeof E=="boolean"&&(L=E,E=arguments[1]||{},T=2),(E==null||typeof E!="object"&&typeof E!="function")&&(E={});T",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacute:"Í",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:` +`,Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacute:"Ó",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslash:"Ø",Otilde:"Õ",Otimes:"⨷",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:" ",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acirc:"â",acute:"´",acy:"а",aelig:"æ",af:"⁡",afr:"𝔞",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedil:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"≖",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",eth:"ð",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacute:"í",ic:"⁣",icirc:"î",icy:"и",iecy:"е",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacute:"ó",oast:"⊛",ocir:"⊚",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslash:"ø",osol:"⊘",otilde:"õ",otimes:"⊗",otimesas:"⨶",ouml:"ö",ovbar:"⌽",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup1:"¹",sup2:"²",sup3:"³",sup:"⊃",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thorn:"þ",tilde:"˜",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"},Fp={}.hasOwnProperty;function ws(e){return Fp.call(Tu,e)?Tu[e]:!1}function et(e,t,n,r){const a=e.length;let s=0,u;if(t<0?t=-t>a?0:a+t:t=t>a?a:t,n=n>0?n:0,r.length<1e4)u=Array.from(r),u.unshift(t,n),e.splice(...u);else for(n&&e.splice(t,n);s0?(et(e,e.length,0,t),e):t}var Du={}.hasOwnProperty;function Lp(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Zt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var Je=yt(/[A-Za-z]/),$e=yt(/[\dA-Za-z]/),vp=yt(/[#-'*+\--9=?A-Z^-~]/);function za(e){return e!==null&&(e<32||e===127)}var qa=yt(/\d/),Op=yt(/[\dA-Fa-f]/),Pp=yt(/[!-/:-@[-`{-~]/);function G(e){return e!==null&&e<-2}function Fe(e){return e!==null&&(e<0||e===32)}function te(e){return e===-2||e===-1||e===32}var $p=yt(new RegExp("\\p{P}|\\p{S}","u")),Mp=yt(/\s/);function yt(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function an(e){const t=[];let n=-1,r=0,a=0;for(;++n55295&&s<57344){const i=e.charCodeAt(n+1);s<56320&&i>56319&&i<57344?(u=String.fromCharCode(s,i),a=1):u="�"}else u=String.fromCharCode(s);u&&(t.push(e.slice(r,n),encodeURIComponent(u)),r=n+a+1,u=""),a&&(n+=a,a=0)}return t.join("")+e.slice(r)}function ie(e,t,n,r){const a=r?r-1:Number.POSITIVE_INFINITY;let s=0;return u;function u(o){return te(o)?(e.enter(n),i(o)):t(o)}function i(o){return te(o)&&s++u))return;const U=t.events.length;let j=U,z,w;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){if(z){w=t.events[j][1].end;break}z=!0}for(E(r),I=U;Ik;){const O=n[L];t.containerState=O[1],O[0].exit.call(t,e)}n.length=k}function T(){a.write([null]),s=void 0,a=void 0,t.containerState._closeFlow=void 0}}function qp(e,t,n){return ie(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function xu(e){if(e===null||Fe(e)||Mp(e))return 1;if($p(e))return 2}function Ss(e,t,n){const r=[];let a=-1;for(;++a1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const d={...e[r][1].end},h={...e[n][1].start};wu(d,-o),wu(h,o),u={type:o>1?"strongSequence":"emphasisSequence",start:d,end:{...e[r][1].end}},i={type:o>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:o>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},a={type:o>1?"strong":"emphasis",start:{...u.start},end:{...i.end}},e[r][1].end={...u.start},e[n][1].start={...i.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=je(l,[["enter",e[r][1],t],["exit",e[r][1],t]])),l=je(l,[["enter",a,t],["enter",u,t],["exit",u,t],["enter",s,t]]),l=je(l,Ss(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=je(l,[["exit",s,t],["enter",i,t],["exit",i,t],["exit",a,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,l=je(l,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,et(e,r-1,n-r+3,l),n=r+l.length-p-2;break}}for(n=-1;++n0&&te(I)?ie(e,T,"linePrefix",s+1)(I):T(I)}function T(I){return I===null||G(I)?e.check(Su,A,L)(I):(e.enter("codeFlowValue"),k(I))}function k(I){return I===null||G(I)?(e.exit("codeFlowValue"),T(I)):(e.consume(I),k)}function L(I){return e.exit("codeFenced"),t(I)}function O(I,U,j){let z=0;return w;function w(H){return I.enter("lineEnding"),I.consume(H),I.exit("lineEnding"),$}function $(H){return I.enter("codeFencedFence"),te(H)?ie(I,M,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(H):M(H)}function M(H){return H===i?(I.enter("codeFencedFenceSequence"),Q(H)):j(H)}function Q(H){return H===i?(z++,I.consume(H),Q):z>=u?(I.exit("codeFencedFenceSequence"),te(H)?ie(I,q,"whitespace")(H):q(H)):j(H)}function q(H){return H===null||G(H)?(I.exit("codeFencedFence"),U(H)):j(H)}}}function nh(e,t,n){const r=this;return a;function a(u){return u===null?n(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s)}function s(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}var pa={name:"codeIndented",tokenize:ah},rh={partial:!0,tokenize:sh};function ah(e,t,n){const r=this;return a;function a(l){return e.enter("codeIndented"),ie(e,s,"linePrefix",5)(l)}function s(l){const p=r.events[r.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?u(l):n(l)}function u(l){return l===null?o(l):G(l)?e.attempt(rh,u,o)(l):(e.enter("codeFlowValue"),i(l))}function i(l){return l===null||G(l)?(e.exit("codeFlowValue"),u(l)):(e.consume(l),i)}function o(l){return e.exit("codeIndented"),t(l)}}function sh(e,t,n){const r=this;return a;function a(u){return r.parser.lazy[r.now().line]?n(u):G(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a):ie(e,s,"linePrefix",5)(u)}function s(u){const i=r.events[r.events.length-1];return i&&i[1].type==="linePrefix"&&i[2].sliceSerialize(i[1],!0).length>=4?t(u):G(u)?a(u):n(u)}}var uh={name:"codeText",previous:oh,resolve:ih,tokenize:lh};function ih(e){let t=e.length-4,n=3,r,a;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return ethis.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const a=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&bn(this.left,n),a.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),bn(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),bn(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e=4?t(u):e.interrupt(r.parser.constructs.flow,n,t)(u)}}function vo(e,t,n,r,a,s,u,i,o){const l=o||Number.POSITIVE_INFINITY;let p=0;return d;function d(E){return E===60?(e.enter(r),e.enter(a),e.enter(s),e.consume(E),e.exit(s),h):E===null||E===32||E===41||za(E)?n(E):(e.enter(r),e.enter(u),e.enter(i),e.enter("chunkString",{contentType:"string"}),A(E))}function h(E){return E===62?(e.enter(s),e.consume(E),e.exit(s),e.exit(a),e.exit(r),t):(e.enter(i),e.enter("chunkString",{contentType:"string"}),f(E))}function f(E){return E===62?(e.exit("chunkString"),e.exit(i),h(E)):E===null||E===60||G(E)?n(E):(e.consume(E),E===92?m:f)}function m(E){return E===60||E===62||E===92?(e.consume(E),f):f(E)}function A(E){return!p&&(E===null||E===41||Fe(E))?(e.exit("chunkString"),e.exit(i),e.exit(u),e.exit(r),t(E)):p999||f===null||f===91||f===93&&!o||f===94&&!i&&"_hiddenFootnoteSupport"in u.parser.constructs?n(f):f===93?(e.exit(s),e.enter(a),e.consume(f),e.exit(a),e.exit(r),t):G(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||G(f)||i++>999?(e.exit("chunkString"),p(f)):(e.consume(f),o||(o=!te(f)),f===92?h:d)}function h(f){return f===91||f===92||f===93?(e.consume(f),i++,d):d(f)}}function Po(e,t,n,r,a,s){let u;return i;function i(h){return h===34||h===39||h===40?(e.enter(r),e.enter(a),e.consume(h),e.exit(a),u=h===40?41:h,o):n(h)}function o(h){return h===u?(e.enter(a),e.consume(h),e.exit(a),e.exit(r),t):(e.enter(s),l(h))}function l(h){return h===u?(e.exit(s),o(u)):h===null?n(h):G(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ie(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(h))}function p(h){return h===u||h===null||G(h)?(e.exit("chunkString"),l(h)):(e.consume(h),h===92?d:p)}function d(h){return h===u||h===92?(e.consume(h),p):p(h)}}function wn(e,t){let n;return r;function r(a){return G(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r):te(a)?ie(e,r,n?"linePrefix":"lineSuffix")(a):t(a)}}var bh={name:"definition",tokenize:_h},Eh={partial:!0,tokenize:yh};function _h(e,t,n){const r=this;let a;return s;function s(f){return e.enter("definition"),u(f)}function u(f){return Oo.call(r,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function i(f){return a=Zt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),o):n(f)}function o(f){return Fe(f)?wn(e,l)(f):l(f)}function l(f){return vo(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function p(f){return e.attempt(Eh,d,d)(f)}function d(f){return te(f)?ie(e,h,"whitespace")(f):h(f)}function h(f){return f===null||G(f)?(e.exit("definition"),r.parser.defined.push(a),t(f)):n(f)}}function yh(e,t,n){return r;function r(i){return Fe(i)?wn(e,a)(i):n(i)}function a(i){return Po(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(i)}function s(i){return te(i)?ie(e,u,"whitespace")(i):u(i)}function u(i){return i===null||G(i)?t(i):n(i)}}var Ah={name:"hardBreakEscape",tokenize:Ch};function Ch(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),a}function a(s){return G(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}var Th={name:"headingAtx",resolve:Dh,tokenize:kh};function Dh(e,t){let n=e.length-2,r=3,a,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(a={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},et(e,r,n-r+1,[["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t]])),e}function kh(e,t,n){let r=0;return a;function a(p){return e.enter("atxHeading"),s(p)}function s(p){return e.enter("atxHeadingSequence"),u(p)}function u(p){return p===35&&r++<6?(e.consume(p),u):p===null||Fe(p)?(e.exit("atxHeadingSequence"),i(p)):n(p)}function i(p){return p===35?(e.enter("atxHeadingSequence"),o(p)):p===null||G(p)?(e.exit("atxHeading"),t(p)):te(p)?ie(e,i,"whitespace")(p):(e.enter("atxHeadingText"),l(p))}function o(p){return p===35?(e.consume(p),o):(e.exit("atxHeadingSequence"),i(p))}function l(p){return p===null||p===35||Fe(p)?(e.exit("atxHeadingText"),i(p)):(e.consume(p),l)}}var xh=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Nu=["pre","script","style","textarea"],wh={concrete:!0,name:"htmlFlow",resolveTo:Nh,tokenize:Fh},Sh={partial:!0,tokenize:Rh},Ih={partial:!0,tokenize:Lh};function Nh(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Fh(e,t,n){const r=this;let a,s,u,i,o;return l;function l(C){return p(C)}function p(C){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(C),d}function d(C){return C===33?(e.consume(C),h):C===47?(e.consume(C),s=!0,A):C===63?(e.consume(C),a=3,r.interrupt?t:y):Je(C)?(e.consume(C),u=String.fromCharCode(C),D):n(C)}function h(C){return C===45?(e.consume(C),a=2,f):C===91?(e.consume(C),a=5,i=0,m):Je(C)?(e.consume(C),a=4,r.interrupt?t:y):n(C)}function f(C){return C===45?(e.consume(C),r.interrupt?t:y):n(C)}function m(C){const Me="CDATA[";return C===Me.charCodeAt(i++)?(e.consume(C),i===Me.length?r.interrupt?t:M:m):n(C)}function A(C){return Je(C)?(e.consume(C),u=String.fromCharCode(C),D):n(C)}function D(C){if(C===null||C===47||C===62||Fe(C)){const Me=C===47,At=u.toLowerCase();return!Me&&!s&&Nu.includes(At)?(a=1,r.interrupt?t(C):M(C)):xh.includes(u.toLowerCase())?(a=6,Me?(e.consume(C),E):r.interrupt?t(C):M(C)):(a=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):s?T(C):k(C))}return C===45||$e(C)?(e.consume(C),u+=String.fromCharCode(C),D):n(C)}function E(C){return C===62?(e.consume(C),r.interrupt?t:M):n(C)}function T(C){return te(C)?(e.consume(C),T):w(C)}function k(C){return C===47?(e.consume(C),w):C===58||C===95||Je(C)?(e.consume(C),L):te(C)?(e.consume(C),k):w(C)}function L(C){return C===45||C===46||C===58||C===95||$e(C)?(e.consume(C),L):O(C)}function O(C){return C===61?(e.consume(C),I):te(C)?(e.consume(C),O):k(C)}function I(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(e.consume(C),o=C,U):te(C)?(e.consume(C),I):j(C)}function U(C){return C===o?(e.consume(C),o=null,z):C===null||G(C)?n(C):(e.consume(C),U)}function j(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||Fe(C)?O(C):(e.consume(C),j)}function z(C){return C===47||C===62||te(C)?k(C):n(C)}function w(C){return C===62?(e.consume(C),$):n(C)}function $(C){return C===null||G(C)?M(C):te(C)?(e.consume(C),$):n(C)}function M(C){return C===45&&a===2?(e.consume(C),J):C===60&&a===1?(e.consume(C),ne):C===62&&a===4?(e.consume(C),Te):C===63&&a===3?(e.consume(C),y):C===93&&a===5?(e.consume(C),le):G(C)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check(Sh,De,Q)(C)):C===null||G(C)?(e.exit("htmlFlowData"),Q(C)):(e.consume(C),M)}function Q(C){return e.check(Ih,q,De)(C)}function q(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),H}function H(C){return C===null||G(C)?Q(C):(e.enter("htmlFlowData"),M(C))}function J(C){return C===45?(e.consume(C),y):M(C)}function ne(C){return C===47?(e.consume(C),u="",ee):M(C)}function ee(C){if(C===62){const Me=u.toLowerCase();return Nu.includes(Me)?(e.consume(C),Te):M(C)}return Je(C)&&u.length<8?(e.consume(C),u+=String.fromCharCode(C),ee):M(C)}function le(C){return C===93?(e.consume(C),y):M(C)}function y(C){return C===62?(e.consume(C),Te):C===45&&a===2?(e.consume(C),y):M(C)}function Te(C){return C===null||G(C)?(e.exit("htmlFlowData"),De(C)):(e.consume(C),Te)}function De(C){return e.exit("htmlFlow"),t(C)}}function Lh(e,t,n){const r=this;return a;function a(u){return G(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),s):n(u)}function s(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}function Rh(e,t,n){return r;function r(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(Vr,t,n)}}var Bh={name:"htmlText",tokenize:vh};function vh(e,t,n){const r=this;let a,s,u;return i;function i(y){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(y),o}function o(y){return y===33?(e.consume(y),l):y===47?(e.consume(y),O):y===63?(e.consume(y),k):Je(y)?(e.consume(y),j):n(y)}function l(y){return y===45?(e.consume(y),p):y===91?(e.consume(y),s=0,m):Je(y)?(e.consume(y),T):n(y)}function p(y){return y===45?(e.consume(y),f):n(y)}function d(y){return y===null?n(y):y===45?(e.consume(y),h):G(y)?(u=d,ne(y)):(e.consume(y),d)}function h(y){return y===45?(e.consume(y),f):d(y)}function f(y){return y===62?J(y):y===45?h(y):d(y)}function m(y){const Te="CDATA[";return y===Te.charCodeAt(s++)?(e.consume(y),s===Te.length?A:m):n(y)}function A(y){return y===null?n(y):y===93?(e.consume(y),D):G(y)?(u=A,ne(y)):(e.consume(y),A)}function D(y){return y===93?(e.consume(y),E):A(y)}function E(y){return y===62?J(y):y===93?(e.consume(y),E):A(y)}function T(y){return y===null||y===62?J(y):G(y)?(u=T,ne(y)):(e.consume(y),T)}function k(y){return y===null?n(y):y===63?(e.consume(y),L):G(y)?(u=k,ne(y)):(e.consume(y),k)}function L(y){return y===62?J(y):k(y)}function O(y){return Je(y)?(e.consume(y),I):n(y)}function I(y){return y===45||$e(y)?(e.consume(y),I):U(y)}function U(y){return G(y)?(u=U,ne(y)):te(y)?(e.consume(y),U):J(y)}function j(y){return y===45||$e(y)?(e.consume(y),j):y===47||y===62||Fe(y)?z(y):n(y)}function z(y){return y===47?(e.consume(y),J):y===58||y===95||Je(y)?(e.consume(y),w):G(y)?(u=z,ne(y)):te(y)?(e.consume(y),z):J(y)}function w(y){return y===45||y===46||y===58||y===95||$e(y)?(e.consume(y),w):$(y)}function $(y){return y===61?(e.consume(y),M):G(y)?(u=$,ne(y)):te(y)?(e.consume(y),$):z(y)}function M(y){return y===null||y===60||y===61||y===62||y===96?n(y):y===34||y===39?(e.consume(y),a=y,Q):G(y)?(u=M,ne(y)):te(y)?(e.consume(y),M):(e.consume(y),q)}function Q(y){return y===a?(e.consume(y),a=void 0,H):y===null?n(y):G(y)?(u=Q,ne(y)):(e.consume(y),Q)}function q(y){return y===null||y===34||y===39||y===60||y===61||y===96?n(y):y===47||y===62||Fe(y)?z(y):(e.consume(y),q)}function H(y){return y===47||y===62||Fe(y)?z(y):n(y)}function J(y){return y===62?(e.consume(y),e.exit("htmlTextData"),e.exit("htmlText"),t):n(y)}function ne(y){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ee}function ee(y){return te(y)?ie(e,le,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):le(y)}function le(y){return e.enter("htmlTextData"),u(y)}}var Is={name:"labelEnd",resolveAll:Mh,resolveTo:Uh,tokenize:Hh},Oh={tokenize:jh},Ph={tokenize:zh},$h={tokenize:qh};function Mh(e){let t=-1;const n=[];for(;++t=3&&(l===null||G(l))?(e.exit("thematicBreak"),t(l)):n(l)}function o(l){return l===a?(e.consume(l),r++,o):(e.exit("thematicBreakSequence"),te(l)?ie(e,i,"whitespace")(l):i(l))}}var Ne={continuation:{tokenize:ef},exit:nf,name:"list",tokenize:Jh},Kh={partial:!0,tokenize:rf},Zh={partial:!0,tokenize:tf};function Jh(e,t,n){const r=this,a=r.events[r.events.length-1];let s=a&&a[1].type==="linePrefix"?a[2].sliceSerialize(a[1],!0).length:0,u=0;return i;function i(f){const m=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:qa(f)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(Er,n,l)(f):l(f);if(!r.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),o(f)}return n(f)}function o(f){return qa(f)&&++u<10?(e.consume(f),o):(!r.interrupt||u<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(e.exit("listItemValue"),l(f)):n(f)}function l(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,e.check(Vr,r.interrupt?n:p,e.attempt(Kh,h,d))}function p(f){return r.containerState.initialBlankLine=!0,s++,h(f)}function d(f){return te(f)?(e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),h):n(f)}function h(f){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function ef(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Vr,a,s);function a(i){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ie(e,t,"listItemIndent",r.containerState.size+1)(i)}function s(i){return r.containerState.furtherBlankLines||!te(i)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u(i)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Zh,t,u)(i))}function u(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,ie(e,e.attempt(Ne,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(i)}}function tf(e,t,n){const r=this;return ie(e,a,"listItemIndent",r.containerState.size+1);function a(s){const u=r.events[r.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===r.containerState.size?t(s):n(s)}}function nf(e){e.exit(this.containerState.type)}function rf(e,t,n){const r=this;return ie(e,a,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function a(s){const u=r.events[r.events.length-1];return!te(s)&&u&&u[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}var Fu={name:"setextUnderline",resolveTo:af,tokenize:sf};function af(e,t){let n=e.length,r,a,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(a=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const u={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[a][1].type="setextHeadingText",s?(e.splice(a,0,["enter",u,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=u,e.push(["exit",u,t]),e}function sf(e,t,n){const r=this;let a;return s;function s(l){let p=r.events.length,d;for(;p--;)if(r.events[p][1].type!=="lineEnding"&&r.events[p][1].type!=="linePrefix"&&r.events[p][1].type!=="content"){d=r.events[p][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),a=l,u(l)):n(l)}function u(l){return e.enter("setextHeadingLineSequence"),i(l)}function i(l){return l===a?(e.consume(l),i):(e.exit("setextHeadingLineSequence"),te(l)?ie(e,o,"lineSuffix")(l):o(l))}function o(l){return l===null||G(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}var uf={tokenize:of};function of(e){const t=this,n=e.attempt(Vr,r,e.attempt(this.parser.constructs.flowInitial,a,ie(e,e.attempt(this.parser.constructs.flow,a,e.attempt(ph,a)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function a(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var lf={resolveAll:Mo()},cf=$o("string"),df=$o("text");function $o(e){return{resolveAll:Mo(e==="text"?pf:void 0),tokenize:t};function t(n){const r=this,a=this.parser.constructs[e],s=n.attempt(a,u,i);return u;function u(p){return l(p)?s(p):i(p)}function i(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),o}function o(p){return l(p)?(n.exit("data"),s(p)):(n.consume(p),o)}function l(p){if(p===null)return!0;const d=a[p];let h=-1;if(d)for(;++hyf,contentInitial:()=>ff,disable:()=>Af,document:()=>hf,flow:()=>gf,flowInitial:()=>mf,insideSpan:()=>_f,string:()=>bf,text:()=>Ef});var hf={42:Ne,43:Ne,45:Ne,48:Ne,49:Ne,50:Ne,51:Ne,52:Ne,53:Ne,54:Ne,55:Ne,56:Ne,57:Ne,62:Fo},ff={91:bh},mf={[-2]:pa,[-1]:pa,32:pa},gf={35:Th,42:Er,45:[Fu,Er],60:wh,61:Fu,95:Er,96:Iu,126:Iu},bf={38:Ro,92:Lo},Ef={[-5]:ha,[-4]:ha,[-3]:ha,33:Gh,38:Ro,42:Ga,60:[Vp,Bh],91:Vh,92:[Ah,Lo],93:Is,95:Ga,96:uh},_f={null:[Ga,lf]},yf={null:[42,95]},Af={null:[]};function Cf(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const a={},s=[];let u=[],i=[];const o={attempt:U(O),check:U(I),consume:T,enter:k,exit:L,interrupt:U(I,{interrupt:!0})},l={code:null,containerState:{},defineSkip:A,events:[],now:m,parser:e,previous:null,sliceSerialize:h,sliceStream:f,write:d};let p=t.tokenize.call(l,o);return t.resolveAll&&s.push(t),l;function d($){return u=je(u,$),D(),u[u.length-1]!==null?[]:(j(t,0),l.events=Ss(s,l.events,l),l.events)}function h($,M){return Df(f($),M)}function f($){return Tf(u,$)}function m(){const{_bufferIndex:$,_index:M,line:Q,column:q,offset:H}=r;return{_bufferIndex:$,_index:M,line:Q,column:q,offset:H}}function A($){a[$.line]=$.column,w()}function D(){let $;for(;r._index-1){const i=u[0];typeof i=="string"?u[0]=i.slice(r):u.shift()}s>0&&u.push(e[a].slice(0,s))}return u}function Df(e,t){let n=-1;const r=[];let a;for(;++n0){const Ve=Y.tokenStack[Y.tokenStack.length-1];(Ve[1]||vu).call(Y,void 0,Ve[0])}for(P.position={start:ht(N.length>0?N[0][1].start:{line:1,column:1,offset:0}),end:ht(N.length>0?N[N.length-2][1].end:{line:1,column:1,offset:0})},re=-1;++re1?"-"+i:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(t,o);const l={type:"element",tagName:"sup",properties:{},children:[o]};return e.patch(t,l),e.applyData(t,l)}function Hf(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function jf(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function zo(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const a=e.all(t),s=a[0];s&&s.type==="text"?s.value="["+s.value:a.unshift({type:"text",value:"["});const u=a[a.length-1];return u&&u.type==="text"?u.value+=r:a.push({type:"text",value:r}),a}function zf(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return zo(e,t);const a={src:an(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,s),e.applyData(t,s)}function qf(e,t){const n={src:an(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function Gf(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function Yf(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return zo(e,t);const a={href:an(r.url||"")};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function Vf(e,t){const n={href:an(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Wf(e,t,n){const r=e.all(t),a=n?Qf(n):qo(t),s={},u=[];if(typeof t.checked=="boolean"){const p=r[0];let d;p&&p.type==="element"&&p.tagName==="p"?d=p:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let i=-1;for(;++i1}function Xf(e,t){const n={},r=e.all(t);let a=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++a0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function em(e){const t=Yo(e),n=Go(e);if(t&&n)return{start:t,end:n}}function tm(e,t){const n=e.all(t),r=n.shift(),a=[];if(r){const u={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],u),a.push(u)}if(n.length>0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},i=Yo(t.children[1]),o=Go(t.children[t.children.length-1]);i&&o&&(u.position={start:i,end:o}),a.push(u)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(a,!0)};return e.patch(t,s),e.applyData(t,s)}function nm(e,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",u=n&&n.type==="table"?n.align:void 0,i=u?u.length:t.children.length;let o=-1;const l=[];for(;++o0,!0),r[0]),a=r.index+r[0].length,r=n.exec(t);return s.push($u(t.slice(a),a>0,!1)),s.join("")}function $u(e,t,n){let r=0,a=e.length;if(t){let s=e.codePointAt(r);for(;s===Ou||s===Pu;)r++,s=e.codePointAt(r)}if(n){let s=e.codePointAt(a-1);for(;s===Ou||s===Pu;)a--,s=e.codePointAt(a-1)}return a>r?e.slice(r,a):""}function sm(e,t){const n={type:"text",value:am(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function um(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var im={blockquote:vf,break:Of,code:Pf,delete:$f,emphasis:Mf,footnoteReference:Uf,heading:Hf,html:jf,imageReference:zf,image:qf,inlineCode:Gf,linkReference:Yf,link:Vf,listItem:Wf,list:Xf,paragraph:Kf,root:Zf,strong:Jf,table:tm,tableCell:rm,tableRow:nm,text:sm,thematicBreak:um,toml:sr,yaml:sr,definition:sr,footnoteDefinition:sr};function sr(){}var Wo=-1,Wr=0,In=1,wr=2,Ns=3,Fs=4,Ls=5,Rs=6,Qo=7,Xo=8,Mu=typeof self=="object"?self:globalThis,om=(e,t)=>{const n=(a,s)=>(e.set(s,a),a),r=a=>{if(e.has(a))return e.get(a);const[s,u]=t[a];switch(s){case Wr:case Wo:return n(u,a);case In:{const i=n([],a);for(const o of u)i.push(r(o));return i}case wr:{const i=n({},a);for(const[o,l]of u)i[r(o)]=r(l);return i}case Ns:return n(new Date(u),a);case Fs:{const{source:i,flags:o}=u;return n(new RegExp(i,o),a)}case Ls:{const i=n(new Map,a);for(const[o,l]of u)i.set(r(o),r(l));return i}case Rs:{const i=n(new Set,a);for(const o of u)i.add(r(o));return i}case Qo:{const{name:i,message:o}=u;return n(new Mu[i](o),a)}case Xo:return n(BigInt(u),a);case"BigInt":return n(Object(BigInt(u)),a);case"ArrayBuffer":return n(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:i}=new Uint8Array(u);return n(new DataView(i),u)}}return n(new Mu[s](u),a)};return r},Uu=e=>om(new Map,e)(0),Ht="",{toString:lm}={},{keys:cm}=Object,En=e=>{const t=typeof e;if(t!=="object"||!e)return[Wr,t];const n=lm.call(e).slice(8,-1);switch(n){case"Array":return[In,Ht];case"Object":return[wr,Ht];case"Date":return[Ns,Ht];case"RegExp":return[Fs,Ht];case"Map":return[Ls,Ht];case"Set":return[Rs,Ht];case"DataView":return[In,n]}return n.includes("Array")?[In,n]:n.includes("Error")?[Qo,n]:[wr,n]},ur=([e,t])=>e===Wr&&(t==="function"||t==="symbol"),dm=(e,t,n,r)=>{const a=(u,i)=>{const o=r.push(u)-1;return n.set(i,o),o},s=u=>{if(n.has(u))return n.get(u);let[i,o]=En(u);switch(i){case Wr:{let p=u;switch(o){case"bigint":i=Xo,p=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+o);p=null;break;case"undefined":return a([Wo],u)}return a([i,p],u)}case In:{if(o){let h=u;return o==="DataView"?h=new Uint8Array(u.buffer):o==="ArrayBuffer"&&(h=new Uint8Array(u)),a([o,[...h]],u)}const p=[],d=a([i,p],u);for(const h of u)p.push(s(h));return d}case wr:{if(o)switch(o){case"BigInt":return a([o,u.toString()],u);case"Boolean":case"Number":case"String":return a([o,u.valueOf()],u)}if(t&&"toJSON"in u)return s(u.toJSON());const p=[],d=a([i,p],u);for(const h of cm(u))(e||!ur(En(u[h])))&&p.push([s(h),s(u[h])]);return d}case Ns:return a([i,u.toISOString()],u);case Fs:{const{source:p,flags:d}=u;return a([i,{source:p,flags:d}],u)}case Ls:{const p=[],d=a([i,p],u);for(const[h,f]of u)(e||!(ur(En(h))||ur(En(f))))&&p.push([s(h),s(f)]);return d}case Rs:{const p=[],d=a([i,p],u);for(const h of u)(e||!ur(En(h)))&&p.push(s(h));return d}}const{message:l}=u;return a([i,{name:o,message:l}],u)};return s},Hu=(e,{json:t,lossy:n}={})=>{const r=[];return dm(!(t||n),!!t,new Map,r)(e),r},Sr=typeof structuredClone=="function"?((e,t)=>t&&("json"in t||"lossy"in t)?Uu(Hu(e,t)):structuredClone(e)):(e,t)=>Uu(Hu(e,t));function pm(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function hm(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function fm(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||pm,r=e.options.footnoteBackLabel||hm,a=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},i=[];let o=-1;for(;++o0&&m.push({type:"text",value:" "});let T=typeof n=="string"?n:n(o,f);typeof T=="string"&&(T={type:"text",value:T}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(o,f),className:["data-footnote-backref"]},children:Array.isArray(T)?T:[T]})}const D=p[p.length-1];if(D&&D.type==="element"&&D.tagName==="p"){const T=D.children[D.children.length-1];T&&T.type==="text"?T.value+=" ":D.children.push({type:"text",value:" "}),D.children.push(...m)}else p.push(...m);const E={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(p,!0)};e.patch(l,E),i.push(E)}if(i.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...Sr(u),id:"footnote-label"},children:[{type:"text",value:a}]},{type:"text",value:` +`},{type:"element",tagName:"ol",properties:{},children:e.wrap(i,!0)},{type:"text",value:` +`}]}}var Ko=(function(e){if(e==null)return Em;if(typeof e=="function")return Qr(e);if(typeof e=="object")return Array.isArray(e)?mm(e):gm(e);if(typeof e=="string")return bm(e);throw new Error("Expected function, string, or object as test")});function mm(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let f=Zo,m,A,D;if((!t||s(o,l,p[p.length-1]||void 0))&&(f=Tm(n(o,p)),f[0]===ju))return f;if("children"in o&&o.children){const E=o;if(E.children&&f[0]!==Am)for(A=(r?E.children.length:-1)+u,D=p.concat(E);A>-1&&A0&&n.push({type:"text",value:` +`}),n}function zu(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function qu(e,t){const n=xm(e,t),r=n.one(e,void 0),a=fm(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return a&&s.children.push({type:"text",value:` +`},a),s}function Fm(e,t){return e&&"run"in e?async function(n,r){const a=qu(n,{file:r,...t});await e.run(a,r)}:function(n,r){return qu(n,{file:r,...e||t})}}function Gu(e){if(e)throw e}var fa=xp(wp());function Wa(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Lm(){const e=[],t={run:n,use:r};return t;function n(...a){let s=-1;const u=a.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);i(null,...a);function i(o,...l){const p=e[++s];let d=-1;if(o){u(o);return}for(;++du.length;let o;i&&u.push(a);try{o=e.apply(this,u)}catch(l){const p=l;if(i&&n)throw p;return a(p)}i||(o&&o.then&&typeof o.then=="function"?o.then(s,a):o instanceof Error?a(o):s(o))}function a(u,...i){n||(n=!0,t(u,...i))}function s(u){a(null,u)}}var Re=class extends Error{constructor(e,t,n){super(),typeof t=="string"&&(n=t,t=void 0);let r="",a={},s=!1;if(t&&("line"in t&&"column"in t?a={place:t}:"start"in t&&"end"in t?a={place:t}:"type"in t?a={ancestors:[t],place:t.position}:a={...t}),typeof e=="string"?r=e:!a.cause&&e&&(s=!0,r=e.message,a.cause=e),!a.ruleId&&!a.source&&typeof n=="string"){const i=n.indexOf(":");i===-1?a.ruleId=n:(a.source=n.slice(0,i),a.ruleId=n.slice(i+1))}if(!a.place&&a.ancestors&&a.ancestors){const i=a.ancestors[a.ancestors.length-1];i&&(a.place=i.position)}const u=a.place&&"start"in a.place?a.place.start:a.place;this.ancestors=a.ancestors||void 0,this.cause=a.cause||void 0,this.column=u?u.column:void 0,this.fatal=void 0,this.file="",this.message=r,this.line=u?u.line:void 0,this.name=Sn(a.place)||"1:1",this.place=a.place||void 0,this.reason=this.message,this.ruleId=a.ruleId||void 0,this.source=a.source||void 0,this.stack=s&&a.cause&&typeof a.cause.stack=="string"?a.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};Re.prototype.file="";Re.prototype.name="";Re.prototype.reason="";Re.prototype.message="";Re.prototype.stack="";Re.prototype.column=void 0;Re.prototype.line=void 0;Re.prototype.ancestors=void 0;Re.prototype.cause=void 0;Re.prototype.fatal=void 0;Re.prototype.place=void 0;Re.prototype.ruleId=void 0;Re.prototype.source=void 0;var Ke={basename:Bm,dirname:vm,extname:Om,join:Pm,sep:"/"};function Bm(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Qn(e);let n=0,r=-1,a=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else r<0&&(s=!0,r=a+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let u=-1,i=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else u<0&&(s=!0,u=a+1),i>-1&&(e.codePointAt(a)===t.codePointAt(i--)?i<0&&(r=a):(i=-1,r=u));return n===r?r=u:r<0&&(r=e.length),e.slice(n,r)}function vm(e){if(Qn(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Om(e){Qn(e);let t=e.length,n=-1,r=0,a=-1,s=0,u;for(;t--;){const i=e.codePointAt(t);if(i===47){if(u){r=t+1;break}continue}n<0&&(u=!0,n=t+1),i===46?a<0?a=t:s!==1&&(s=1):a>-1&&(s=-1)}return a<0||n<0||s===0||s===1&&a===n-1&&a===r+1?"":e.slice(a,n)}function Pm(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Mm(e,t){let n="",r=0,a=-1,s=0,u=-1,i,o;for(;++u<=e.length;){if(u2){if(o=n.lastIndexOf("/"),o!==n.length-1){o<0?(n="",r=0):(n=n.slice(0,o),r=n.length-1-n.lastIndexOf("/")),a=u,s=0;continue}}else if(n.length>0){n="",r=0,a=u,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(a+1,u):n=e.slice(a+1,u),r=u-a-1;a=u,s=0}else i===46&&s>-1?s++:s=-1}return n}function Qn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var Um={cwd:Hm};function Hm(){return"/"}function Qa(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function jm(e){if(typeof e=="string")e=new URL(e);else if(!Qa(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return zm(e)}function zm(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n0){let[f,...m]=p;const A=r[h][1];Wa(A)&&Wa(f)&&(f=(0,fa.default)(!0,A,f)),r[h]=[l,f,...m]}}}},Qm=new Wm().freeze();function Ea(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function _a(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ya(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Vu(e){if(!Wa(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Wu(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function ir(e){return Xm(e)?e:new qm(e)}function Xm(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function Km(e){return typeof e=="string"||Zm(e)}function Zm(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Xa=e=>e!=null,Jm=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`),e0=e=>{e.type!=="element"||e.properties===void 0||!Array.isArray(e.properties.className)||(e.properties.class=e.properties.className.join(" "),delete e.properties.className)},t0=e=>{if(e.type!=="element"||e.properties===void 0)return;const t=Object.keys(e.properties).filter(n=>n.startsWith("aria"));for(const n of t){const r=e.properties[n];delete e.properties[n],e.properties[Jm(n)]=r}},n0=e=>{e0(e),t0(e)},el=(e,t)=>{e(t),t.children?.forEach(n=>el(e,n))},r0=()=>(e,t,n)=>{try{el(n0,e),n()}catch(r){return r instanceof Error?n(r):n(new Error(String(r)))}},a0=e=>{const t=Qm().use(Bf).use(e.map(n=>n.remarkPlugin).filter(Xa)).use(Fm,{allowDangerousHtml:!0}).use(e.map(n=>n.rehypePlugin).filter(Xa)).use(r0);return n=>t.runSync(t.parse(n),n)},tl=(e,t,n=[])=>{if(n.includes(t))throw n.push(t),new Error(`Circular dependency detected: ${n.join(" -> ")}`);const r=e[t];return typeof r=="string"?tl(e,r,[...n,t]):r===null?null:r===void 0?t:r},Qu=e=>e.map(t=>t.renderer).filter(Xa).reduce((t,n)=>({...t,...n}),{}),Ka=Symbol.for("snippetRenderer"),s0=e=>{const t=e;return t[Ka]=!0,t};const _n=(e,t=xr)=>{var n=de(),r=oe(n);ap(r,17,t,sp,(a,s)=>{nl(a,{get astNode(){return pe(s)}})}),ae(e,n)};function nl(e,t){Vn(t,!0);const n=mp(),r=xo(t.astNode);Zd(()=>{r.current=t.astNode}),Ep(r);const a="svg";t.astNode.type==="element"&&t.astNode.tagName==="svg"&&Ds(a,!0);var s=de(),u=oe(s);{var i=l=>{_n(l,()=>t.astNode.children)},o=l=>{var p=de(),d=oe(p);{var h=m=>{const A=Nt(()=>tl(n.current,t.astNode.tagName));var D=de(),E=oe(D);{var T=L=>{var O=de(),I=oe(O);{var U=z=>{const w=Nt(()=>pe(A));var $=de(),M=oe($);{var Q=H=>{var J=de(),ne=oe(J);Dn(ne,()=>pe(w),!0,(ee,le)=>{Wt(ee,()=>({xmlns:"http://www.w3.org/2000/svg",...t.astNode.properties})),_n(le,()=>t.astNode.children)}),ae(H,J)},q=H=>{var J=de(),ne=oe(J);Dn(ne,()=>pe(w),!0,(ee,le)=>{Wt(ee,()=>({xmlns:"http://www.w3.org/2000/svg",...t.astNode.properties}))}),ae(H,J)};Ue(M,H=>{Array.isArray(t.astNode.children)&&t.astNode.children.length!==0?H(Q):H(q,!1)})}ae(z,$)},j=z=>{var w=de(),$=oe(w);{var M=q=>{var H=de(),J=oe(H);Dn(J,()=>pe(A),!1,(ne,ee)=>{Wt(ne,()=>({...t.astNode.properties})),_n(ee,()=>t.astNode.children)}),ae(q,H)},Q=q=>{var H=de(),J=oe(H);Dn(J,()=>pe(A),!1,(ne,ee)=>{Wt(ne,()=>({...t.astNode.properties}))}),ae(q,H)};Ue($,q=>{Array.isArray(t.astNode.children)&&t.astNode.children.length!==0?q(M):q(Q,!1)},!0)}ae(z,w)};Ue(I,z=>{To(a)?z(U):z(j,!1)})}ae(L,O)},k=L=>{var O=de(),I=oe(O);{var U=j=>{var z=de(),w=oe(z);{var $=Q=>{var q=de(),H=oe(q);{var J=ee=>{var le=de();const y=De=>{_n(De,()=>t.astNode.children)};var Te=oe(le);{let De=Nt(()=>({...t.astNode.properties,children:y}));kr(Te,()=>pe(A),()=>pe(De))}ae(ee,le)},ne=ee=>{var le=de(),y=oe(le);kr(y,()=>pe(A),()=>t.astNode.properties),ae(ee,le)};Ue(H,ee=>{Array.isArray(t.astNode.children)&&t.astNode.children.length!==0?ee(J):ee(ne,!1)})}ae(Q,q)},M=Q=>{var q=de(),H=oe(q);{var J=ee=>{var le=de(),y=oe(le);Au(y,()=>pe(A),(Te,De)=>{De(Te,Eu(()=>t.astNode.properties,{children:(C,Me)=>{_n(C,()=>t.astNode.children)},$$slots:{default:!0}}))}),ae(ee,le)},ne=ee=>{var le=de(),y=oe(le);Au(y,()=>pe(A),(Te,De)=>{De(Te,Eu(()=>t.astNode.properties))}),ae(ee,le)};Ue(H,ee=>{Array.isArray(t.astNode.children)&&t.astNode.children.length!==0?ee(J):ee(ne,!1)},!0)}ae(Q,q)};Ue(w,Q=>{Ka in pe(A)&&pe(A)[Ka]?Q($):Q(M,!1)})}ae(j,z)};Ue(I,j=>{pe(A)!==null&&j(U)},!0)}ae(L,O)};Ue(E,L=>{typeof pe(A)=="string"?L(T):L(k,!1)})}ae(m,D)},f=m=>{var A=de(),D=oe(A);{var E=T=>{var k=Jd();Do(()=>cp(k,t.astNode.value)),ae(T,k)};Ue(D,T=>{(t.astNode.type==="text"||t.astNode.type==="raw")&&T(E)},!0)}ae(m,A)};Ue(d,m=>{t.astNode.type==="element"?m(h):m(f,!1)},!0)}ae(l,p)};Ue(u,l=>{t.astNode.type==="root"?l(i):l(o,!1)})}ae(e,s),Wn()}function u0(e,t){Vn(t,!0);let n=ja(t,"plugins",19,()=>[]),r=Co(t,["$$slots","$$events","$$legacy","md","plugins"]),a=Nt(()=>({renderer:Object.fromEntries(Object.entries(r).map(([o,l])=>{if(typeof l=="string")return[o,l];if(typeof l=="function")return[o,s0(l)]}).filter(o=>o!=null))})),s=Nt(()=>a0(n()));const u=xo(Qu([...n(),pe(a)]));ep(()=>{u.current=Qu([...n(),pe(a)])}),gp(u);let i=Nt(()=>pe(s)(t.md));nl(e,{get astNode(){return pe(i)}}),Wn()}function Xu(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}var $n=Kr(/[A-Za-z]/),Bs=Kr(/[\dA-Za-z]/);function i0(e){return e!==null&&(e<32||e===127)}function Qt(e){return e!==null&&e<-2}function Le(e){return e!==null&&(e<0||e===32)}function ut(e){return e===-2||e===-1||e===32}var Xr=Kr(new RegExp("\\p{P}|\\p{S}","u")),Lt=Kr(/\s/);function Kr(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function o0(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var Zr=(function(e){if(e==null)return p0;if(typeof e=="function")return Jr(e);if(typeof e=="object")return Array.isArray(e)?l0(e):c0(e);if(typeof e=="string")return d0(e);throw new Error("Expected function, string, or object as test")});function l0(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let f=rl,m,A,D;if((!t||s(o,l,p[p.length-1]||void 0))&&(f=g0(n(o,p)),f[0]===Za))return f;if("children"in o&&o.children){const E=o;if(E.children&&f[0]!==m0)for(A=(r?E.children.length:-1)+u,D=p.concat(E);A>-1&&A0?{type:"text",value:I}:void 0),I===!1?h.lastIndex=L+1:(m!==L&&T.push({type:"text",value:l.value.slice(m,L)}),Array.isArray(I)?T.push(...I):I&&T.push(I),m=L+k[0].length,E=!0),!h.global)break;k=h.exec(l.value)}return E?(m?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const a=Xu(e,"(");let s=Xu(e,")");for(;r!==-1&&a>s;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[e,n]}function sl(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Lt(n)||Xr(n))&&(!t||n!==47)}function Xn(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}ul.peek=H0;function R0(){this.buffer()}function B0(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function v0(){this.buffer()}function O0(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function P0(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Xn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function $0(e){this.exit(e)}function M0(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Xn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function U0(e){this.exit(e)}function H0(){return"["}function ul(e,t,n,r){const a=n.createTracker(r);let s=a.move("[^");const u=n.enter("footnoteReference"),i=n.enter("reference");return s+=a.move(n.safe(n.associationId(e),{after:"]",before:s})),i(),u(),s+=a.move("]"),s}function j0(){return{enter:{gfmFootnoteCallString:R0,gfmFootnoteCall:B0,gfmFootnoteDefinitionLabelString:v0,gfmFootnoteDefinition:O0},exit:{gfmFootnoteCallString:P0,gfmFootnoteCall:$0,gfmFootnoteDefinitionLabelString:M0,gfmFootnoteDefinition:U0}}}function z0(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:ul},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,a,s,u){const i=s.createTracker(u);let o=i.move("[^");const l=s.enter("footnoteDefinition"),p=s.enter("label");return o+=i.move(s.safe(s.associationId(r),{before:o,after:"]"})),p(),o+=i.move("]:"),r.children&&r.children.length>0&&(i.shift(4),o+=i.move((t?` +`:" ")+s.indentLines(s.containerFlow(r,i.current()),t?il:q0))),l(),o}}function q0(e,t,n){return t===0?e:il(e,t,n)}function il(e,t,n){return(n?"":" ")+e}var G0=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];ol.peek=X0;function Y0(){return{canContainEols:["delete"],enter:{strikethrough:W0},exit:{strikethrough:Q0}}}function V0(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:G0}],handlers:{delete:ol}}}function W0(e){this.enter({type:"delete",children:[]},e)}function Q0(e){this.exit(e)}function ol(e,t,n,r){const a=n.createTracker(r),s=n.enter("strikethrough");let u=a.move("~~");return u+=n.containerPhrasing(e,{...a.current(),before:u,after:"~"}),u+=a.move("~~"),s(),u}function X0(){return"~"}function K0(e){return e.length}function Z0(e,t){const n=t||{},r=(n.align||[]).concat(),a=n.stringLength||K0,s=[],u=[],i=[],o=[];let l=0,p=-1;for(;++pl&&(l=e[p].length);++Eo[E])&&(o[E]=k)}A.push(T)}u[p]=A,i[p]=D}let d=-1;if(typeof r=="object"&&"length"in r)for(;++do[d]&&(o[d]=T),f[d]=T),h[d]=k}u.splice(1,0,h),i.splice(1,0,f),p=-1;const m=[];for(;++p "),s.shift(2);const u=n.indentLines(n.containerFlow(e,s.current()),tg);return a(),u}function tg(e,t,n){return">"+(n?"":" ")+e}function ng(e,t){return Zu(e,t.inConstruct,!0)&&!Zu(e,t.notInConstruct,!1)}function Zu(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++ru&&(u=s):s=1,a=r+t.length,r=n.indexOf(t,a);return u}function ag(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function sg(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function ug(e,t,n,r){const a=sg(n),s=e.value||"",u=a==="`"?"GraveAccent":"Tilde";if(ag(e,n)){const d=n.enter("codeIndented"),h=n.indentLines(s,ig);return d(),h}const i=n.createTracker(r),o=a.repeat(Math.max(rg(s,a)+1,3)),l=n.enter("codeFenced");let p=i.move(o);if(e.lang){const d=n.enter(`codeFencedLang${u}`);p+=i.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...i.current()})),d()}if(e.lang&&e.meta){const d=n.enter(`codeFencedMeta${u}`);p+=i.move(" "),p+=i.move(n.safe(e.meta,{before:p,after:` +`,encode:["`"],...i.current()})),d()}return p+=i.move(` +`),s&&(p+=i.move(s+` +`)),p+=i.move(o),l(),p}function ig(e,t,n){return(n?"":" ")+e}function vs(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function og(e,t,n,r){const a=vs(n),s=a==='"'?"Quote":"Apostrophe",u=n.enter("definition");let i=n.enter("label");const o=n.createTracker(r);let l=o.move("[");return l+=o.move(n.safe(n.associationId(e),{before:l,after:"]",...o.current()})),l+=o.move("]: "),i(),!e.url||/[\0- \u007F]/.test(e.url)?(i=n.enter("destinationLiteral"),l+=o.move("<"),l+=o.move(n.safe(e.url,{before:l,after:">",...o.current()})),l+=o.move(">")):(i=n.enter("destinationRaw"),l+=o.move(n.safe(e.url,{before:l,after:e.title?" ":` +`,...o.current()}))),i(),e.title&&(i=n.enter(`title${s}`),l+=o.move(" "+a),l+=o.move(n.safe(e.title,{before:l,after:a,...o.current()})),l+=o.move(a),i()),u(),l}function lg(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Mn(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Ir(e){if(e===null||Le(e)||Lt(e))return 1;if(Xr(e))return 2}function Nr(e,t,n){const r=Ir(e),a=Ir(t);return r===void 0?a===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}ll.peek=cg;function ll(e,t,n,r){const a=lg(n),s=n.enter("emphasis"),u=n.createTracker(r),i=u.move(a);let o=u.move(n.containerPhrasing(e,{after:a,before:i,...u.current()}));const l=o.charCodeAt(0),p=Nr(r.before.charCodeAt(r.before.length-1),l,a);p.inside&&(o=Mn(l)+o.slice(1));const d=o.charCodeAt(o.length-1),h=Nr(r.after.charCodeAt(0),d,a);h.inside&&(o=o.slice(0,-1)+Mn(d));const f=u.move(a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:p.outside},i+o+f}function cg(e,t,n){return n.options.emphasis||"*"}function dg(e,t,n,r){let a,s,u;typeof t=="function"&&typeof n!="function"?(s=void 0,u=t,a=n):(s=t,u=n,a=r),al(e,s,i,a);function i(o,l){const p=l[l.length-1],d=p?p.children.indexOf(o):void 0;return u(o,d,p)}}var pg={};function cl(e,t){const n=pg,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,a=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return dl(e,r,a)}function dl(e,t,n){if(hg(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return ei(e.children,t,n)}return Array.isArray(e)?ei(e,t,n):""}function ei(e,t,n){const r=[];let a=-1;for(;++a",...o.current()})),l+=o.move(">")):(i=n.enter("destinationRaw"),l+=o.move(n.safe(e.url,{before:l,after:e.title?" ":")",...o.current()}))),i(),e.title&&(i=n.enter(`title${s}`),l+=o.move(" "+a),l+=o.move(n.safe(e.title,{before:l,after:a,...o.current()})),l+=o.move(a),i()),l+=o.move(")"),u(),l}function bg(){return"!"}fl.peek=Eg;function fl(e,t,n,r){const a=e.referenceType,s=n.enter("imageReference");let u=n.enter("label");const i=n.createTracker(r);let o=i.move("![");const l=n.safe(e.alt,{before:o,after:"]",...i.current()});o+=i.move(l+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const d=n.safe(n.associationId(e),{before:o,after:"]",...i.current()});return u(),n.stack=p,s(),a==="full"||!l||l!==d?o+=i.move(d+"]"):a==="shortcut"?o=o.slice(0,-1):o+=i.move("]"),o}function Eg(){return"!"}ml.peek=_g;function ml(e,t,n){let r=e.value||"",a="`",s=-1;for(;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s\u007F]/.test(e.url))}bl.peek=yg;function bl(e,t,n,r){const a=vs(n),s=a==='"'?"Quote":"Apostrophe",u=n.createTracker(r);let i,o;if(gl(e,n)){const p=n.stack;n.stack=[],i=n.enter("autolink");let d=u.move("<");return d+=u.move(n.containerPhrasing(e,{before:d,after:">",...u.current()})),d+=u.move(">"),i(),n.stack=p,d}i=n.enter("link"),o=n.enter("label");let l=u.move("[");return l+=u.move(n.containerPhrasing(e,{before:l,after:"](",...u.current()})),l+=u.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),l+=u.move("<"),l+=u.move(n.safe(e.url,{before:l,after:">",...u.current()})),l+=u.move(">")):(o=n.enter("destinationRaw"),l+=u.move(n.safe(e.url,{before:l,after:e.title?" ":")",...u.current()}))),o(),e.title&&(o=n.enter(`title${s}`),l+=u.move(" "+a),l+=u.move(n.safe(e.title,{before:l,after:a,...u.current()})),l+=u.move(a),o()),l+=u.move(")"),i(),l}function yg(e,t,n){return gl(e,n)?"<":"["}El.peek=Ag;function El(e,t,n,r){const a=e.referenceType,s=n.enter("linkReference");let u=n.enter("label");const i=n.createTracker(r);let o=i.move("[");const l=n.containerPhrasing(e,{before:o,after:"]",...i.current()});o+=i.move(l+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const d=n.safe(n.associationId(e),{before:o,after:"]",...i.current()});return u(),n.stack=p,s(),a==="full"||!l||l!==d?o+=i.move(d+"]"):a==="shortcut"?o=o.slice(0,-1):o+=i.move("]"),o}function Ag(){return"["}function Os(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Cg(e){const t=Os(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function Tg(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function _l(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function Dg(e,t,n,r){const a=n.enter("list"),s=n.bulletCurrent;let u=e.ordered?Tg(n):Os(n);const i=e.ordered?u==="."?")":".":Cg(n);let o=t&&n.bulletLastUsed?u===n.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((u==="*"||u==="-")&&p&&(!p.children||!p.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(o=!0),_l(n)===u&&p){let d=-1;for(;++d-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let u=s.length+1;(a==="tab"||a==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(u=Math.ceil(u/4)*4);const i=n.createTracker(r);i.move(s+" ".repeat(u-s.length)),i.shift(u);const o=n.enter("listItem"),l=n.indentLines(n.containerFlow(e,i.current()),p);return o(),l;function p(d,h,f){return h?(f?"":" ".repeat(u))+d:(f?s:s+" ".repeat(u-s.length))+d}}function wg(e,t,n,r){const a=n.enter("paragraph"),s=n.enter("phrasing"),u=n.containerPhrasing(e,r);return s(),a(),u}var Sg=Zr(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Ig(e,t,n,r){return(e.children.some(function(u){return Sg(u)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Ng(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}yl.peek=Fg;function yl(e,t,n,r){const a=Ng(n),s=n.enter("strong"),u=n.createTracker(r),i=u.move(a+a);let o=u.move(n.containerPhrasing(e,{after:a,before:i,...u.current()}));const l=o.charCodeAt(0),p=Nr(r.before.charCodeAt(r.before.length-1),l,a);p.inside&&(o=Mn(l)+o.slice(1));const d=o.charCodeAt(o.length-1),h=Nr(r.after.charCodeAt(0),d,a);h.inside&&(o=o.slice(0,-1)+Mn(d));const f=u.move(a+a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:p.outside},i+o+f}function Fg(e,t,n){return n.options.strong||"*"}function Lg(e,t,n,r){return n.safe(e.value,r)}function Rg(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Bg(e,t,n){const r=(_l(n)+(n.options.ruleSpaces?" ":"")).repeat(Rg(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Al={blockquote:eg,break:Ju,code:ug,definition:og,emphasis:ll,hardBreak:Ju,heading:mg,html:pl,image:hl,imageReference:fl,inlineCode:ml,link:bl,linkReference:El,list:Dg,listItem:xg,paragraph:wg,root:Ig,strong:yl,text:Lg,thematicBreak:Bg};function vg(){return{enter:{table:Og,tableData:ti,tableHeader:ti,tableRow:$g},exit:{codeText:Mg,table:Pg,tableData:Da,tableHeader:Da,tableRow:Da}}}function Og(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Pg(e){this.exit(e),this.data.inTable=void 0}function $g(e){this.enter({type:"tableRow",children:[]},e)}function Da(e){this.exit(e)}function ti(e){this.enter({type:"tableCell",children:[]},e)}function Mg(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Ug));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function Ug(e,t){return t==="|"?t:e}function Hg(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:u,tableCell:o,tableRow:i}};function u(f,m,A,D){return l(p(f,A,D),f.align)}function i(f,m,A,D){const E=d(f,A,D),T=l([E]);return T.slice(0,T.indexOf(` +`))}function o(f,m,A,D){const E=A.enter("tableCell"),T=A.enter("phrasing"),k=A.containerPhrasing(f,{...D,before:s,after:s});return T(),E(),k}function l(f,m){return Z0(f,{align:m,alignDelimiters:r,padding:n,stringLength:a})}function p(f,m,A){const D=f.children;let E=-1;const T=[],k=m.enter("table");for(;++Ea?0:a+t:t=t>a?a:t,n=n>0?n:0,r.length<1e4)u=Array.from(r),u.unshift(t,n),e.splice(...u);else for(n&&e.splice(t,n);s0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}function o1(e,t,n){const r=[];let a=-1;for(;++a999||d===93&&!u||d===null||d===91||Le(d))return n(d);if(d===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return a.includes(Xn(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return Le(d)||(u=!0),s++,e.consume(d),d===92?p:l}function p(d){return d===91||d===92||d===93?(e.consume(d),s++,l):l(d)}}function g1(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,u=0,i;return o;function o(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(m)}function p(m){if(u>999||m===93&&!i||m===null||m===91||Le(m))return n(m);if(m===93){e.exit("chunkString");const A=e.exit("gfmFootnoteDefinitionLabelString");return s=Xn(r.sliceSerialize(A)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return Le(m)||(i=!0),u++,e.consume(m),m===92?d:p}function d(m){return m===91||m===92||m===93?(e.consume(m),u++,p):p(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),a.includes(s)||a.push(s),it(e,f,"gfmFootnoteDefinitionWhitespace")):n(m)}function f(m){return t(m)}}function b1(e,t,n){return e.check(l1,t,e.attempt(d1,t,n))}function E1(e){e.exit("gfmFootnoteDefinition")}function _1(e,t,n){const r=this;return it(e,a,"gfmFootnoteDefinitionIndent",5);function a(s){const u=r.events[r.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?t(s):n(s)}}function y1(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:a};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function a(u,i){let o=-1;for(;++o1?o(m):(u.consume(m),d++,f);if(d<2&&!n)return o(m);const D=u.exit("strikethroughSequenceTemporary"),E=Ir(m);return D._open=!E||E===2&&!!A,D._close=!A||A===2&&!!E,i(m)}}}var A1=class{constructor(){this.map=[]}add(e,t,n){C1(this,e,t,n)}consume(e){if(this.map.sort(function(a,s){return a[0]-s[0]}),this.map.length===0)return;let t=this.map.length;const n=[];for(;t>0;)t-=1,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(const a of r)e.push(a);r=n.pop()}this.map.length=0}};function C1(e,t,n,r){let a=0;if(!(n===0&&r.length===0)){for(;a-1;){const q=r.events[$][1].type;if(q==="lineEnding"||q==="linePrefix")$--;else break}const M=$>-1?r.events[$][1].type:null,Q=M==="tableHead"||M==="tableRow"?I:o;return Q===I&&r.parser.lazy[r.now().line]?n(w):Q(w)}function o(w){return e.enter("tableHead"),e.enter("tableRow"),l(w)}function l(w){return w===124||(u=!0,s+=1),p(w)}function p(w){return w===null?n(w):Qt(w)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),f):n(w):ut(w)?it(e,p,"whitespace")(w):(s+=1,u&&(u=!1,a+=1),w===124?(e.enter("tableCellDivider"),e.consume(w),e.exit("tableCellDivider"),u=!0,p):(e.enter("data"),d(w)))}function d(w){return w===null||w===124||Le(w)?(e.exit("data"),p(w)):(e.consume(w),w===92?h:d)}function h(w){return w===92||w===124?(e.consume(w),d):d(w)}function f(w){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(w):(e.enter("tableDelimiterRow"),u=!1,ut(w)?it(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):m(w))}function m(w){return w===45||w===58?D(w):w===124?(u=!0,e.enter("tableCellDivider"),e.consume(w),e.exit("tableCellDivider"),A):O(w)}function A(w){return ut(w)?it(e,D,"whitespace")(w):D(w)}function D(w){return w===58?(s+=1,u=!0,e.enter("tableDelimiterMarker"),e.consume(w),e.exit("tableDelimiterMarker"),E):w===45?(s+=1,E(w)):w===null||Qt(w)?L(w):O(w)}function E(w){return w===45?(e.enter("tableDelimiterFiller"),T(w)):O(w)}function T(w){return w===45?(e.consume(w),T):w===58?(u=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(w),e.exit("tableDelimiterMarker"),k):(e.exit("tableDelimiterFiller"),k(w))}function k(w){return ut(w)?it(e,L,"whitespace")(w):L(w)}function L(w){return w===124?m(w):w===null||Qt(w)?!u||a!==s?O(w):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(w)):O(w)}function O(w){return n(w)}function I(w){return e.enter("tableRow"),U(w)}function U(w){return w===124?(e.enter("tableCellDivider"),e.consume(w),e.exit("tableCellDivider"),U):w===null||Qt(w)?(e.exit("tableRow"),t(w)):ut(w)?it(e,U,"whitespace")(w):(e.enter("data"),j(w))}function j(w){return w===null||w===124||Le(w)?(e.exit("data"),U(w)):(e.consume(w),w===92?z:j)}function z(w){return w===92||w===124?(e.consume(w),j):j(w)}}function x1(e,t){let n=-1,r=!0,a=0,s=[0,0,0,0],u=[0,0,0,0],i=!1,o=0,l,p,d;const h=new A1;for(;++nn[2]+1){const m=n[2]+1,A=n[3]-n[2]-1;e.add(m,A,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return a!==void 0&&(s.end=Object.assign({},Gt(t.events,a)),e.add(a,0,[["exit",s,t]]),s=void 0),s}function ai(e,t,n,r,a){const s=[],u=Gt(t.events,n);a&&(a.end=Object.assign({},u),s.push(["exit",a,t])),r.end=Object.assign({},u),s.push(["exit",r,t]),e.add(n+1,0,s)}function Gt(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var w1={name:"tasklistCheck",tokenize:I1};function S1(){return{text:{91:w1}}}function I1(e,t,n){const r=this;return a;function a(o){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(o):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),s)}function s(o){return Le(o)?(e.enter("taskListCheckValueUnchecked"),e.consume(o),e.exit("taskListCheckValueUnchecked"),u):o===88||o===120?(e.enter("taskListCheckValueChecked"),e.consume(o),e.exit("taskListCheckValueChecked"),u):n(o)}function u(o){return o===93?(e.enter("taskListCheckMarker"),e.consume(o),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),i):n(o)}function i(o){return Qt(o)?t(o):ut(o)?e.check({tokenize:N1},t,n)(o):n(o)}}function N1(e,t,n){return it(e,r,"whitespace");function r(a){return a===null?n(a):t(a)}}function F1(e){return Wg([Jg(),p1(),y1(e),D1(),S1()])}var L1={};function R1(e){const t=this,n=e||L1,r=t.data(),a=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),u=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);a.push(F1(n)),s.push(Yg()),u.push(Vg(n))}var B1=(e={})=>({remarkPlugin:[R1,e]});const Nl=-1,ea=0,Nn=1,Fr=2,$s=3,Ms=4,Us=5,Hs=6,Fl=7,Ll=8,si=typeof self=="object"?self:globalThis,v1=(e,t)=>{const n=(a,s)=>(e.set(s,a),a),r=a=>{if(e.has(a))return e.get(a);const[s,u]=t[a];switch(s){case ea:case Nl:return n(u,a);case Nn:{const i=n([],a);for(const o of u)i.push(r(o));return i}case Fr:{const i=n({},a);for(const[o,l]of u)i[r(o)]=r(l);return i}case $s:return n(new Date(u),a);case Ms:{const{source:i,flags:o}=u;return n(new RegExp(i,o),a)}case Us:{const i=n(new Map,a);for(const[o,l]of u)i.set(r(o),r(l));return i}case Hs:{const i=n(new Set,a);for(const o of u)i.add(r(o));return i}case Fl:{const{name:i,message:o}=u;return n(new si[i](o),a)}case Ll:return n(BigInt(u),a);case"BigInt":return n(Object(BigInt(u)),a);case"ArrayBuffer":return n(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:i}=new Uint8Array(u);return n(new DataView(i),u)}}return n(new si[s](u),a)};return r},ui=e=>v1(new Map,e)(0),jt="",{toString:O1}={},{keys:P1}=Object,yn=e=>{const t=typeof e;if(t!=="object"||!e)return[ea,t];const n=O1.call(e).slice(8,-1);switch(n){case"Array":return[Nn,jt];case"Object":return[Fr,jt];case"Date":return[$s,jt];case"RegExp":return[Ms,jt];case"Map":return[Us,jt];case"Set":return[Hs,jt];case"DataView":return[Nn,n]}return n.includes("Array")?[Nn,n]:n.includes("Error")?[Fl,n]:[Fr,n]},lr=([e,t])=>e===ea&&(t==="function"||t==="symbol"),$1=(e,t,n,r)=>{const a=(u,i)=>{const o=r.push(u)-1;return n.set(i,o),o},s=u=>{if(n.has(u))return n.get(u);let[i,o]=yn(u);switch(i){case ea:{let p=u;switch(o){case"bigint":i=Ll,p=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+o);p=null;break;case"undefined":return a([Nl],u)}return a([i,p],u)}case Nn:{if(o){let h=u;return o==="DataView"?h=new Uint8Array(u.buffer):o==="ArrayBuffer"&&(h=new Uint8Array(u)),a([o,[...h]],u)}const p=[],d=a([i,p],u);for(const h of u)p.push(s(h));return d}case Fr:{if(o)switch(o){case"BigInt":return a([o,u.toString()],u);case"Boolean":case"Number":case"String":return a([o,u.valueOf()],u)}if(t&&"toJSON"in u)return s(u.toJSON());const p=[],d=a([i,p],u);for(const h of P1(u))(e||!lr(yn(u[h])))&&p.push([s(h),s(u[h])]);return d}case $s:return a([i,u.toISOString()],u);case Ms:{const{source:p,flags:d}=u;return a([i,{source:p,flags:d}],u)}case Us:{const p=[],d=a([i,p],u);for(const[h,f]of u)(e||!(lr(yn(h))||lr(yn(f))))&&p.push([s(h),s(f)]);return d}case Hs:{const p=[],d=a([i,p],u);for(const h of u)(e||!lr(yn(h)))&&p.push(s(h));return d}}const{message:l}=u;return a([i,{name:o,message:l}],u)};return s},ii=(e,{json:t,lossy:n}={})=>{const r=[];return $1(!(t||n),!!t,new Map,r)(e),r},oi=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?ui(ii(e,t)):structuredClone(e):(e,t)=>ui(ii(e,t));let Kn=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Kn.prototype.normal={};Kn.prototype.property={};Kn.prototype.space=void 0;function Rl(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new Kn(n,r,t)}function Un(e){return e.toLowerCase()}let Be=class{constructor(t,n){this.attribute=n,this.property=t}};Be.prototype.attribute="";Be.prototype.booleanish=!1;Be.prototype.boolean=!1;Be.prototype.commaOrSpaceSeparated=!1;Be.prototype.commaSeparated=!1;Be.prototype.defined=!1;Be.prototype.mustUseProperty=!1;Be.prototype.number=!1;Be.prototype.overloadedBoolean=!1;Be.prototype.property="";Be.prototype.spaceSeparated=!1;Be.prototype.space=void 0;let M1=0;const X=Bt(),me=Bt(),es=Bt(),B=Bt(),se=Bt(),Jt=Bt(),Oe=Bt();function Bt(){return 2**++M1}const ts=Object.freeze(Object.defineProperty({__proto__:null,boolean:X,booleanish:me,commaOrSpaceSeparated:Oe,commaSeparated:Jt,number:B,overloadedBoolean:es,spaceSeparated:se},Symbol.toStringTag,{value:"Module"})),ka=Object.keys(ts);let js=class extends Be{constructor(t,n,r,a){let s=-1;if(super(t,n),li(this,"space",a),typeof r=="number")for(;++s4&&n.slice(0,4)==="data"&&z1.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(ci,G1);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!ci.test(s)){let u=s.replace(j1,q1);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}a=js}return new a(r,t)}function q1(e){return"-"+e.toLowerCase()}function G1(e){return e.charAt(1).toUpperCase()}const ta=Rl([Bl,U1,Pl,$l,Ml],"html"),Zn=Rl([Bl,H1,Pl,$l,Ml],"svg");function di(e){const t=[],n=String(e||"");let r=n.indexOf(","),a=0,s=!1;for(;!s;){r===-1&&(r=n.length,s=!0);const u=n.slice(a,r).trim();(u||!s)&&t.push(u),a=r+1,r=n.indexOf(",",a)}return t}function Ul(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const pi=/[#.]/g;function Y1(e,t){const n=e||"",r={};let a=0,s,u;for(;a-1&&s<=t.length){let u=0;for(;;){let i=n[u];if(i===void 0){const o=mi(t,n[u-1]);i=o===-1?t.length+1:o+1,n[u]=i}if(i>s)return{line:u+1,column:s-(u>0?n[u-1]:0)+1,offset:s};u++}}}function a(s){if(s&&typeof s.line=="number"&&typeof s.column=="number"&&!Number.isNaN(s.line)&&!Number.isNaN(s.column)){for(;n.length1?n[s.line-2]:0)+s.column-1;if(u4&&n.slice(0,4)==="data"&&lb.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(Ei,hb);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!Ei.test(s)){let u=s.replace(cb,pb);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}a=Gs}return new a(r,t)}function pb(e){return"-"+e.toLowerCase()}function hb(e){return e.charAt(1).toUpperCase()}const fb=Gl([Wl,Vl,Kl,Zl,ib],"html"),Jl=Gl([Wl,Vl,Kl,Zl,ob],"svg"),_i={}.hasOwnProperty;function Ys(e,t){const n=t||{};function r(a,...s){let u=r.invalid;const i=r.handlers;if(a&&_i.call(a,e)){const o=String(a[e]);u=_i.call(i,o)?i[o]:r.unknown}if(u)return u.call(this,a,...s)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const mb={},gb={}.hasOwnProperty,ec=Ys("type",{handlers:{root:Eb,element:Tb,text:Ab,comment:Cb,doctype:yb}});function bb(e,t){const r=(t||mb).space;return ec(e,r==="svg"?Jl:fb)}function Eb(e,t){const n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=Vs(e.children,n,t),on(e,n),n}function _b(e,t){const n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=Vs(e.children,n,t),on(e,n),n}function yb(e){const t={nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:null};return on(e,t),t}function Ab(e){const t={nodeName:"#text",value:e.value,parentNode:null};return on(e,t),t}function Cb(e){const t={nodeName:"#comment",data:e.value,parentNode:null};return on(e,t),t}function Tb(e,t){const n=t;let r=n;e.type==="element"&&e.tagName.toLowerCase()==="svg"&&n.space==="html"&&(r=Jl);const a=[];let s;if(e.properties){for(s in e.properties)if(s!=="children"&&gb.call(e.properties,s)){const o=Db(r,s,e.properties[s]);o&&a.push(o)}}const u=r.space,i={nodeName:e.tagName,tagName:e.tagName,attrs:a,namespaceURI:wt[u],childNodes:[],parentNode:null};return i.childNodes=Vs(e.children,i,r),on(e,i),e.tagName==="template"&&e.content&&(i.content=_b(e.content,r)),i}function Db(e,t,n){const r=db(e,t);if(n===!1||n===null||n===void 0||typeof n=="number"&&Number.isNaN(n)||!n&&r.boolean)return;Array.isArray(n)&&(n=r.commaSeparated?Ul(n):Hl(n));const a={name:r.attribute,value:n===!0?"":String(n)};if(r.space&&r.space!=="html"&&r.space!=="svg"){const s=a.name.indexOf(":");s<0?a.prefix="":(a.name=a.name.slice(s+1),a.prefix=r.attribute.slice(0,s)),a.namespace=wt[r.space]}return a}function Vs(e,t,n){let r=-1;const a=[];if(e)for(;++r=55296&&e<=57343}function xb(e){return e>=56320&&e<=57343}function wb(e,t){return(e-55296)*1024+9216+t}function rc(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function ac(e){return e>=64976&&e<=65007||kb.has(e)}var S;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(S||(S={}));const Sb=65536;class Ib{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=Sb,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){const{line:r,col:a,offset:s}=this,u=a+n,i=s+n;return{code:t,startLine:r,endLine:r,startCol:u,endCol:u,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const n=this.html.charCodeAt(this.pos+1);if(xb(n))return this.pos++,this._addGap(),wb(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,g.EOF;return this._err(S.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let r=0;r=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,g.EOF;const r=this.html.charCodeAt(n);return r===g.CARRIAGE_RETURN?g.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,g.EOF;let t=this.html.charCodeAt(this.pos);return t===g.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,g.LINE_FEED):t===g.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,nc(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===g.LINE_FEED||t===g.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){rc(t)?this._err(S.controlCharacterInInputStream):ac(t)&&this._err(S.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}const Nb=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(e=>e.charCodeAt(0))),Fb=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function Lb(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=Fb.get(e))!==null&&t!==void 0?t:e}var Ae;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Ae||(Ae={}));const Rb=32;var Et;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Et||(Et={}));function ss(e){return e>=Ae.ZERO&&e<=Ae.NINE}function Bb(e){return e>=Ae.UPPER_A&&e<=Ae.UPPER_F||e>=Ae.LOWER_A&&e<=Ae.LOWER_F}function vb(e){return e>=Ae.UPPER_A&&e<=Ae.UPPER_Z||e>=Ae.LOWER_A&&e<=Ae.LOWER_Z||ss(e)}function Ob(e){return e===Ae.EQUALS||vb(e)}var _e;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(_e||(_e={}));var ot;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(ot||(ot={}));class Pb{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=_e.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=ot.Strict}startEntity(t){this.decodeMode=t,this.state=_e.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case _e.EntityStart:return t.charCodeAt(n)===Ae.NUM?(this.state=_e.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=_e.NamedEntity,this.stateNamedEntity(t,n));case _e.NumericStart:return this.stateNumericStart(t,n);case _e.NumericDecimal:return this.stateNumericDecimal(t,n);case _e.NumericHex:return this.stateNumericHex(t,n);case _e.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|Rb)===Ae.LOWER_X?(this.state=_e.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=_e.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,a){if(n!==r){const s=r-n;this.result=this.result*Math.pow(a,s)+Number.parseInt(t.substr(n,s),a),this.consumed+=s}}stateNumericHex(t,n){const r=n;for(;n>14;for(;n>14,s!==0){if(u===Ae.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==ot.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:n,decodeTree:r}=this,a=(r[n]&Et.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,a,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){const{decodeTree:a}=this;return this.emitCodePoint(n===1?a[t]&~Et.VALUE_LENGTH:a[t+1],r),n===3&&this.emitCodePoint(a[t+2],r),r}end(){var t;switch(this.state){case _e.NamedEntity:return this.result!==0&&(this.decodeMode!==ot.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case _e.NumericDecimal:return this.emitNumericEntity(0,2);case _e.NumericHex:return this.emitNumericEntity(0,3);case _e.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case _e.EntityStart:return 0}}}function $b(e,t,n,r){const a=(t&Et.BRANCH_LENGTH)>>7,s=t&Et.JUMP_TABLE;if(a===0)return s!==0&&r===s?n:-1;if(s){const o=r-s;return o<0||o>=a?-1:e[n+o]-1}let u=n,i=u+a-1;for(;u<=i;){const o=u+i>>>1,l=e[o];if(lr)i=o-1;else return e[o+a]}return-1}var F;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(F||(F={}));var Ft;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(Ft||(Ft={}));var ze;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(ze||(ze={}));var x;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(x||(x={}));var c;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(c||(c={}));const Mb=new Map([[x.A,c.A],[x.ADDRESS,c.ADDRESS],[x.ANNOTATION_XML,c.ANNOTATION_XML],[x.APPLET,c.APPLET],[x.AREA,c.AREA],[x.ARTICLE,c.ARTICLE],[x.ASIDE,c.ASIDE],[x.B,c.B],[x.BASE,c.BASE],[x.BASEFONT,c.BASEFONT],[x.BGSOUND,c.BGSOUND],[x.BIG,c.BIG],[x.BLOCKQUOTE,c.BLOCKQUOTE],[x.BODY,c.BODY],[x.BR,c.BR],[x.BUTTON,c.BUTTON],[x.CAPTION,c.CAPTION],[x.CENTER,c.CENTER],[x.CODE,c.CODE],[x.COL,c.COL],[x.COLGROUP,c.COLGROUP],[x.DD,c.DD],[x.DESC,c.DESC],[x.DETAILS,c.DETAILS],[x.DIALOG,c.DIALOG],[x.DIR,c.DIR],[x.DIV,c.DIV],[x.DL,c.DL],[x.DT,c.DT],[x.EM,c.EM],[x.EMBED,c.EMBED],[x.FIELDSET,c.FIELDSET],[x.FIGCAPTION,c.FIGCAPTION],[x.FIGURE,c.FIGURE],[x.FONT,c.FONT],[x.FOOTER,c.FOOTER],[x.FOREIGN_OBJECT,c.FOREIGN_OBJECT],[x.FORM,c.FORM],[x.FRAME,c.FRAME],[x.FRAMESET,c.FRAMESET],[x.H1,c.H1],[x.H2,c.H2],[x.H3,c.H3],[x.H4,c.H4],[x.H5,c.H5],[x.H6,c.H6],[x.HEAD,c.HEAD],[x.HEADER,c.HEADER],[x.HGROUP,c.HGROUP],[x.HR,c.HR],[x.HTML,c.HTML],[x.I,c.I],[x.IMG,c.IMG],[x.IMAGE,c.IMAGE],[x.INPUT,c.INPUT],[x.IFRAME,c.IFRAME],[x.KEYGEN,c.KEYGEN],[x.LABEL,c.LABEL],[x.LI,c.LI],[x.LINK,c.LINK],[x.LISTING,c.LISTING],[x.MAIN,c.MAIN],[x.MALIGNMARK,c.MALIGNMARK],[x.MARQUEE,c.MARQUEE],[x.MATH,c.MATH],[x.MENU,c.MENU],[x.META,c.META],[x.MGLYPH,c.MGLYPH],[x.MI,c.MI],[x.MO,c.MO],[x.MN,c.MN],[x.MS,c.MS],[x.MTEXT,c.MTEXT],[x.NAV,c.NAV],[x.NOBR,c.NOBR],[x.NOFRAMES,c.NOFRAMES],[x.NOEMBED,c.NOEMBED],[x.NOSCRIPT,c.NOSCRIPT],[x.OBJECT,c.OBJECT],[x.OL,c.OL],[x.OPTGROUP,c.OPTGROUP],[x.OPTION,c.OPTION],[x.P,c.P],[x.PARAM,c.PARAM],[x.PLAINTEXT,c.PLAINTEXT],[x.PRE,c.PRE],[x.RB,c.RB],[x.RP,c.RP],[x.RT,c.RT],[x.RTC,c.RTC],[x.RUBY,c.RUBY],[x.S,c.S],[x.SCRIPT,c.SCRIPT],[x.SEARCH,c.SEARCH],[x.SECTION,c.SECTION],[x.SELECT,c.SELECT],[x.SOURCE,c.SOURCE],[x.SMALL,c.SMALL],[x.SPAN,c.SPAN],[x.STRIKE,c.STRIKE],[x.STRONG,c.STRONG],[x.STYLE,c.STYLE],[x.SUB,c.SUB],[x.SUMMARY,c.SUMMARY],[x.SUP,c.SUP],[x.TABLE,c.TABLE],[x.TBODY,c.TBODY],[x.TEMPLATE,c.TEMPLATE],[x.TEXTAREA,c.TEXTAREA],[x.TFOOT,c.TFOOT],[x.TD,c.TD],[x.TH,c.TH],[x.THEAD,c.THEAD],[x.TITLE,c.TITLE],[x.TR,c.TR],[x.TRACK,c.TRACK],[x.TT,c.TT],[x.U,c.U],[x.UL,c.UL],[x.SVG,c.SVG],[x.VAR,c.VAR],[x.WBR,c.WBR],[x.XMP,c.XMP]]);function ln(e){var t;return(t=Mb.get(e))!==null&&t!==void 0?t:c.UNKNOWN}const R=c,Ub={[F.HTML]:new Set([R.ADDRESS,R.APPLET,R.AREA,R.ARTICLE,R.ASIDE,R.BASE,R.BASEFONT,R.BGSOUND,R.BLOCKQUOTE,R.BODY,R.BR,R.BUTTON,R.CAPTION,R.CENTER,R.COL,R.COLGROUP,R.DD,R.DETAILS,R.DIR,R.DIV,R.DL,R.DT,R.EMBED,R.FIELDSET,R.FIGCAPTION,R.FIGURE,R.FOOTER,R.FORM,R.FRAME,R.FRAMESET,R.H1,R.H2,R.H3,R.H4,R.H5,R.H6,R.HEAD,R.HEADER,R.HGROUP,R.HR,R.HTML,R.IFRAME,R.IMG,R.INPUT,R.LI,R.LINK,R.LISTING,R.MAIN,R.MARQUEE,R.MENU,R.META,R.NAV,R.NOEMBED,R.NOFRAMES,R.NOSCRIPT,R.OBJECT,R.OL,R.P,R.PARAM,R.PLAINTEXT,R.PRE,R.SCRIPT,R.SECTION,R.SELECT,R.SOURCE,R.STYLE,R.SUMMARY,R.TABLE,R.TBODY,R.TD,R.TEMPLATE,R.TEXTAREA,R.TFOOT,R.TH,R.THEAD,R.TITLE,R.TR,R.TRACK,R.UL,R.WBR,R.XMP]),[F.MATHML]:new Set([R.MI,R.MO,R.MN,R.MS,R.MTEXT,R.ANNOTATION_XML]),[F.SVG]:new Set([R.TITLE,R.FOREIGN_OBJECT,R.DESC]),[F.XLINK]:new Set,[F.XML]:new Set,[F.XMLNS]:new Set},us=new Set([R.H1,R.H2,R.H3,R.H4,R.H5,R.H6]);x.STYLE,x.SCRIPT,x.XMP,x.IFRAME,x.NOEMBED,x.NOFRAMES,x.PLAINTEXT;var b;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(b||(b={}));const fe={DATA:b.DATA,RCDATA:b.RCDATA,RAWTEXT:b.RAWTEXT,SCRIPT_DATA:b.SCRIPT_DATA,PLAINTEXT:b.PLAINTEXT,CDATA_SECTION:b.CDATA_SECTION};function Hb(e){return e>=g.DIGIT_0&&e<=g.DIGIT_9}function kn(e){return e>=g.LATIN_CAPITAL_A&&e<=g.LATIN_CAPITAL_Z}function jb(e){return e>=g.LATIN_SMALL_A&&e<=g.LATIN_SMALL_Z}function ft(e){return jb(e)||kn(e)}function yi(e){return ft(e)||Hb(e)}function cr(e){return e+32}function uc(e){return e===g.SPACE||e===g.LINE_FEED||e===g.TABULATION||e===g.FORM_FEED}function Ai(e){return uc(e)||e===g.SOLIDUS||e===g.GREATER_THAN_SIGN}function zb(e){return e===g.NULL?S.nullCharacterReference:e>1114111?S.characterReferenceOutsideUnicodeRange:nc(e)?S.surrogateCharacterReference:ac(e)?S.noncharacterCharacterReference:rc(e)||e===g.CARRIAGE_RETURN?S.controlCharacterReference:null}class qb{constructor(t,n){this.options=t,this.handler=n,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=b.DATA,this.returnState=b.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Ib(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new Pb(Nb,(r,a)=>{this.preprocessor.pos=this.entityStartPos+a-1,this._flushCodePointConsumedAsCharacterReference(r)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(S.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:r=>{this._err(S.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+r)},validateNumericCharacterReference:r=>{const a=zb(r);a&&this._err(a,1)}}:void 0)}_err(t,n=0){var r,a;(a=(r=this.handler).onParseError)===null||a===void 0||a.call(r,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t?.())}write(t,n,r){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||r?.()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(S.endTagWithAttributes),t.selfClosing&&this._err(S.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case K.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case K.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case K.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:K.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,n){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=n;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,n)}_emitCodePoint(t){const n=uc(t)?K.WHITESPACE_CHARACTER:t===g.NULL?K.NULL_CHARACTER:K.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(K.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=b.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?ot.Attribute:ot.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===b.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===b.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===b.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case b.DATA:{this._stateData(t);break}case b.RCDATA:{this._stateRcdata(t);break}case b.RAWTEXT:{this._stateRawtext(t);break}case b.SCRIPT_DATA:{this._stateScriptData(t);break}case b.PLAINTEXT:{this._statePlaintext(t);break}case b.TAG_OPEN:{this._stateTagOpen(t);break}case b.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case b.TAG_NAME:{this._stateTagName(t);break}case b.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case b.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case b.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case b.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case b.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case b.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case b.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case b.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case b.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case b.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case b.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case b.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case b.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case b.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case b.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case b.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case b.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case b.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case b.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case b.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case b.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case b.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case b.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case b.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case b.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case b.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case b.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case b.BOGUS_COMMENT:{this._stateBogusComment(t);break}case b.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case b.COMMENT_START:{this._stateCommentStart(t);break}case b.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case b.COMMENT:{this._stateComment(t);break}case b.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case b.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case b.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case b.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case b.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case b.COMMENT_END:{this._stateCommentEnd(t);break}case b.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case b.DOCTYPE:{this._stateDoctype(t);break}case b.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case b.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case b.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case b.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case b.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case b.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case b.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case b.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case b.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case b.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case b.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case b.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case b.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case b.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case b.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case b.CDATA_SECTION:{this._stateCdataSection(t);break}case b.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case b.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case b.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case b.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case g.LESS_THAN_SIGN:{this.state=b.TAG_OPEN;break}case g.AMPERSAND:{this._startCharacterReference();break}case g.NULL:{this._err(S.unexpectedNullCharacter),this._emitCodePoint(t);break}case g.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case g.AMPERSAND:{this._startCharacterReference();break}case g.LESS_THAN_SIGN:{this.state=b.RCDATA_LESS_THAN_SIGN;break}case g.NULL:{this._err(S.unexpectedNullCharacter),this._emitChars(ce);break}case g.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case g.LESS_THAN_SIGN:{this.state=b.RAWTEXT_LESS_THAN_SIGN;break}case g.NULL:{this._err(S.unexpectedNullCharacter),this._emitChars(ce);break}case g.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case g.LESS_THAN_SIGN:{this.state=b.SCRIPT_DATA_LESS_THAN_SIGN;break}case g.NULL:{this._err(S.unexpectedNullCharacter),this._emitChars(ce);break}case g.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case g.NULL:{this._err(S.unexpectedNullCharacter),this._emitChars(ce);break}case g.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(ft(t))this._createStartTagToken(),this.state=b.TAG_NAME,this._stateTagName(t);else switch(t){case g.EXCLAMATION_MARK:{this.state=b.MARKUP_DECLARATION_OPEN;break}case g.SOLIDUS:{this.state=b.END_TAG_OPEN;break}case g.QUESTION_MARK:{this._err(S.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=b.BOGUS_COMMENT,this._stateBogusComment(t);break}case g.EOF:{this._err(S.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(S.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=b.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(ft(t))this._createEndTagToken(),this.state=b.TAG_NAME,this._stateTagName(t);else switch(t){case g.GREATER_THAN_SIGN:{this._err(S.missingEndTagName),this.state=b.DATA;break}case g.EOF:{this._err(S.eofBeforeTagName),this._emitChars("");break}case g.NULL:{this._err(S.unexpectedNullCharacter),this.state=b.SCRIPT_DATA_ESCAPED,this._emitChars(ce);break}case g.EOF:{this._err(S.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=b.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===g.SOLIDUS?this.state=b.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ft(t)?(this._emitChars("<"),this.state=b.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=b.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){ft(t)?(this.state=b.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case g.NULL:{this._err(S.unexpectedNullCharacter),this.state=b.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(ce);break}case g.EOF:{this._err(S.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=b.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===g.SOLIDUS?(this.state=b.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=b.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(Ie.SCRIPT,!1)&&Ai(this.preprocessor.peek(Ie.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){const r=this._indexOf(t);this.items[r]=n,r===this.stackTop&&(this.current=n)}insertAfter(t,n,r){const a=this._indexOf(t)+1;this.items.splice(a,0,n),this.tagIDs.splice(a,0,r),this.stackTop++,a===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,a===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==F.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){const n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;r--)if(t.has(this.tagIDs[r])&&this.treeAdapter.getNamespaceURI(this.items[r])===n)return r;return-1}clearBackTo(t,n){const r=this._indexOfTagNames(t,n);this.shortenToLength(r+1)}clearBackToTableContext(){this.clearBackTo(Qb,F.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Wb,F.HTML)}clearBackToTableRowContext(){this.clearBackTo(Vb,F.HTML)}remove(t){const n=this._indexOf(t);n>=0&&(n===this.stackTop?this.pop():(this.items.splice(n,1),this.tagIDs.splice(n,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===c.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){const n=this._indexOf(t)-1;return n>=0?this.items[n]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===c.HTML}hasInDynamicScope(t,n){for(let r=this.stackTop;r>=0;r--){const a=this.tagIDs[r];switch(this.treeAdapter.getNamespaceURI(this.items[r])){case F.HTML:{if(a===t)return!0;if(n.has(a))return!1;break}case F.SVG:{if(Di.has(a))return!1;break}case F.MATHML:{if(Ti.has(a))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,Lr)}hasInListItemScope(t){return this.hasInDynamicScope(t,Gb)}hasInButtonScope(t){return this.hasInDynamicScope(t,Yb)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case F.HTML:{if(us.has(n))return!0;if(Lr.has(n))return!1;break}case F.SVG:{if(Di.has(n))return!1;break}case F.MATHML:{if(Ti.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===F.HTML)switch(this.tagIDs[n]){case t:return!0;case c.TABLE:case c.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===F.HTML)switch(this.tagIDs[t]){case c.TBODY:case c.THEAD:case c.TFOOT:return!0;case c.TABLE:case c.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===F.HTML)switch(this.tagIDs[n]){case t:return!0;case c.OPTION:case c.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&ic.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&Ci.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&Ci.has(this.currentTagId);)this.pop()}}const wa=3;var Ze;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Ze||(Ze={}));const ki={type:Ze.Marker};class Zb{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){const r=[],a=n.length,s=this.treeAdapter.getTagName(t),u=this.treeAdapter.getNamespaceURI(t);for(let i=0;i[u.name,u.value]));let s=0;for(let u=0;ua.get(o.name)===o.value)&&(s+=1,s>=wa&&this.entries.splice(i.idx,1))}}insertMarker(){this.entries.unshift(ki)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Ze.Element,element:t,token:n})}insertElementAfterBookmark(t,n){const r=this.entries.indexOf(this.bookmark);this.entries.splice(r,0,{type:Ze.Element,element:t,token:n})}removeEntry(t){const n=this.entries.indexOf(t);n!==-1&&this.entries.splice(n,1)}clearToLastMarker(){const t=this.entries.indexOf(ki);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const n=this.entries.find(r=>r.type===Ze.Marker||this.treeAdapter.getTagName(r.element)===t);return n&&n.type===Ze.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Ze.Element&&n.element===t)}}const mt={createDocument(){return{nodeName:"#document",mode:ze.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,r){const a=e.childNodes.find(s=>s.nodeName==="#documentType");if(a)a.name=t,a.publicId=n,a.systemId=r;else{const s={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};mt.appendChild(e,s)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(mt.isTextNode(n)){n.value+=t;return}}mt.appendChild(e,mt.createTextNode(t))},insertTextBefore(e,t,n){const r=e.childNodes[e.childNodes.indexOf(n)-1];r&&mt.isTextNode(r)?r.value+=t:mt.insertBefore(e,mt.createTextNode(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map(r=>r.name));for(let r=0;re.startsWith(n))}function a2(e){return e.name===oc&&e.publicId===null&&(e.systemId===null||e.systemId===Jb)}function s2(e){if(e.name!==oc)return ze.QUIRKS;const{systemId:t}=e;if(t&&t.toLowerCase()===e2)return ze.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),n2.has(n))return ze.QUIRKS;let r=t===null?t2:lc;if(xi(n,r))return ze.QUIRKS;if(r=t===null?cc:r2,xi(n,r))return ze.LIMITED_QUIRKS}return ze.NO_QUIRKS}const wi={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},u2="definitionurl",i2="definitionURL",o2=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),l2=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:F.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:F.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:F.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:F.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:F.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:F.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:F.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:F.XML}],["xml:space",{prefix:"xml",name:"space",namespace:F.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:F.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:F.XMLNS}]]),c2=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),d2=new Set([c.B,c.BIG,c.BLOCKQUOTE,c.BODY,c.BR,c.CENTER,c.CODE,c.DD,c.DIV,c.DL,c.DT,c.EM,c.EMBED,c.H1,c.H2,c.H3,c.H4,c.H5,c.H6,c.HEAD,c.HR,c.I,c.IMG,c.LI,c.LISTING,c.MENU,c.META,c.NOBR,c.OL,c.P,c.PRE,c.RUBY,c.S,c.SMALL,c.SPAN,c.STRONG,c.STRIKE,c.SUB,c.SUP,c.TABLE,c.TT,c.U,c.UL,c.VAR]);function p2(e){const t=e.tagID;return t===c.FONT&&e.attrs.some(({name:r})=>r===Ft.COLOR||r===Ft.SIZE||r===Ft.FACE)||d2.has(t)}function dc(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var r,a;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(a=(r=this.treeAdapter).onItemPop)===null||a===void 0||a.call(r,t,this.openElements.current),n){let s,u;this.openElements.stackTop===0&&this.fragmentContext?(s=this.fragmentContext,u=this.fragmentContextID):{current:s,currentTagId:u}=this.openElements,this._setContextModes(s,u)}}_setContextModes(t,n){const r=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===F.HTML;this.currentNotInHTML=!r,this.tokenizer.inForeignNode=!r&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,F.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=_.TEXT}switchToPlaintextParsing(){this.insertionMode=_.TEXT,this.originalInsertionMode=_.IN_BODY,this.tokenizer.state=fe.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===x.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==F.HTML))switch(this.fragmentContextID){case c.TITLE:case c.TEXTAREA:{this.tokenizer.state=fe.RCDATA;break}case c.STYLE:case c.XMP:case c.IFRAME:case c.NOEMBED:case c.NOFRAMES:case c.NOSCRIPT:{this.tokenizer.state=fe.RAWTEXT;break}case c.SCRIPT:{this.tokenizer.state=fe.SCRIPT_DATA;break}case c.PLAINTEXT:{this.tokenizer.state=fe.PLAINTEXT;break}}}_setDocumentType(t){const n=t.name||"",r=t.publicId||"",a=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,r,a),t.location){const u=this.treeAdapter.getChildNodes(this.document).find(i=>this.treeAdapter.isDocumentTypeNode(i));u&&this.treeAdapter.setNodeSourceCodeLocation(u,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){const r=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,r)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const r=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(r??this.document,t)}}_appendElement(t,n){const r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location)}_insertElement(t,n){const r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location),this.openElements.push(r,t.tagID)}_insertFakeElement(t,n){const r=this.treeAdapter.createElement(t,F.HTML,[]);this._attachElementToTree(r,null),this.openElements.push(r,n)}_insertTemplate(t){const n=this.treeAdapter.createElement(t.tagName,F.HTML,t.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,r),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(x.HTML,F.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,c.HTML)}_appendCommentNode(t,n){const r=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,r),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,t.location)}_insertCharacters(t){let n,r;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:r}=this._findFosterParentingLocation(),r?this.treeAdapter.insertTextBefore(n,t.chars,r):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;const a=this.treeAdapter.getChildNodes(n),s=r?a.lastIndexOf(r):a.length,u=a[s-1];if(this.treeAdapter.getNodeSourceCodeLocation(u)){const{endLine:o,endCol:l,endOffset:p}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(u,{endLine:o,endCol:l,endOffset:p})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(u,t.location)}_adoptNodes(t,n){for(let r=this.treeAdapter.getFirstChild(t);r;r=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(n,r)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){const r=n.location,a=this.treeAdapter.getTagName(t),s=n.type===K.END_TAG&&a===n.tagName?{endTag:{...r},endLine:r.endLine,endCol:r.endCol,endOffset:r.endOffset}:{endLine:r.startLine,endCol:r.startCol,endOffset:r.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,s)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,r;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,r=this.fragmentContextID):{current:n,currentTagId:r}=this.openElements,t.tagID===c.SVG&&this.treeAdapter.getTagName(n)===x.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===F.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===c.MGLYPH||t.tagID===c.MALIGNMARK)&&r!==void 0&&!this._isIntegrationPoint(r,n,F.HTML)}_processToken(t){switch(t.type){case K.CHARACTER:{this.onCharacter(t);break}case K.NULL_CHARACTER:{this.onNullCharacter(t);break}case K.COMMENT:{this.onComment(t);break}case K.DOCTYPE:{this.onDoctype(t);break}case K.START_TAG:{this._processStartTag(t);break}case K.END_TAG:{this.onEndTag(t);break}case K.EOF:{this.onEof(t);break}case K.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,r){const a=this.treeAdapter.getNamespaceURI(n),s=this.treeAdapter.getAttrList(n);return g2(t,a,s,r)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const n=this.activeFormattingElements.entries.findIndex(a=>a.type===Ze.Marker||this.openElements.contains(a.element)),r=n===-1?t-1:n-1;for(let a=r;a>=0;a--){const s=this.activeFormattingElements.entries[a];this._insertElement(s.token,this.treeAdapter.getNamespaceURI(s.element)),s.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=_.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(c.P),this.openElements.popUntilTagNamePopped(c.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case c.TR:{this.insertionMode=_.IN_ROW;return}case c.TBODY:case c.THEAD:case c.TFOOT:{this.insertionMode=_.IN_TABLE_BODY;return}case c.CAPTION:{this.insertionMode=_.IN_CAPTION;return}case c.COLGROUP:{this.insertionMode=_.IN_COLUMN_GROUP;return}case c.TABLE:{this.insertionMode=_.IN_TABLE;return}case c.BODY:{this.insertionMode=_.IN_BODY;return}case c.FRAMESET:{this.insertionMode=_.IN_FRAMESET;return}case c.SELECT:{this._resetInsertionModeForSelect(t);return}case c.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case c.HTML:{this.insertionMode=this.headElement?_.AFTER_HEAD:_.BEFORE_HEAD;return}case c.TD:case c.TH:{if(t>0){this.insertionMode=_.IN_CELL;return}break}case c.HEAD:{if(t>0){this.insertionMode=_.IN_HEAD;return}break}}this.insertionMode=_.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){const r=this.openElements.tagIDs[n];if(r===c.TEMPLATE)break;if(r===c.TABLE){this.insertionMode=_.IN_SELECT_IN_TABLE;return}}this.insertionMode=_.IN_SELECT}_isElementCausesFosterParenting(t){return hc.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){const n=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case c.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===F.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case c.TABLE:{const r=this.treeAdapter.getParentNode(n);return r?{parent:r,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){const r=this.treeAdapter.getNamespaceURI(t);return Ub[r].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){XE(this,t);return}switch(this.insertionMode){case _.INITIAL:{An(this,t);break}case _.BEFORE_HTML:{Fn(this,t);break}case _.BEFORE_HEAD:{Ln(this,t);break}case _.IN_HEAD:{Rn(this,t);break}case _.IN_HEAD_NO_SCRIPT:{Bn(this,t);break}case _.AFTER_HEAD:{vn(this,t);break}case _.IN_BODY:case _.IN_CAPTION:case _.IN_CELL:case _.IN_TEMPLATE:{mc(this,t);break}case _.TEXT:case _.IN_SELECT:case _.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case _.IN_TABLE:case _.IN_TABLE_BODY:case _.IN_ROW:{Sa(this,t);break}case _.IN_TABLE_TEXT:{Ac(this,t);break}case _.IN_COLUMN_GROUP:{Rr(this,t);break}case _.AFTER_BODY:{Br(this,t);break}case _.AFTER_AFTER_BODY:{Ar(this,t);break}}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){QE(this,t);return}switch(this.insertionMode){case _.INITIAL:{An(this,t);break}case _.BEFORE_HTML:{Fn(this,t);break}case _.BEFORE_HEAD:{Ln(this,t);break}case _.IN_HEAD:{Rn(this,t);break}case _.IN_HEAD_NO_SCRIPT:{Bn(this,t);break}case _.AFTER_HEAD:{vn(this,t);break}case _.TEXT:{this._insertCharacters(t);break}case _.IN_TABLE:case _.IN_TABLE_BODY:case _.IN_ROW:{Sa(this,t);break}case _.IN_COLUMN_GROUP:{Rr(this,t);break}case _.AFTER_BODY:{Br(this,t);break}case _.AFTER_AFTER_BODY:{Ar(this,t);break}}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){is(this,t);return}switch(this.insertionMode){case _.INITIAL:case _.BEFORE_HTML:case _.BEFORE_HEAD:case _.IN_HEAD:case _.IN_HEAD_NO_SCRIPT:case _.AFTER_HEAD:case _.IN_BODY:case _.IN_TABLE:case _.IN_CAPTION:case _.IN_COLUMN_GROUP:case _.IN_TABLE_BODY:case _.IN_ROW:case _.IN_CELL:case _.IN_SELECT:case _.IN_SELECT_IN_TABLE:case _.IN_TEMPLATE:case _.IN_FRAMESET:case _.AFTER_FRAMESET:{is(this,t);break}case _.IN_TABLE_TEXT:{Cn(this,t);break}case _.AFTER_BODY:{w2(this,t);break}case _.AFTER_AFTER_BODY:case _.AFTER_AFTER_FRAMESET:{S2(this,t);break}}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case _.INITIAL:{I2(this,t);break}case _.BEFORE_HEAD:case _.IN_HEAD:case _.IN_HEAD_NO_SCRIPT:case _.AFTER_HEAD:{this._err(t,S.misplacedDoctype);break}case _.IN_TABLE_TEXT:{Cn(this,t);break}}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,S.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?KE(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case _.INITIAL:{An(this,t);break}case _.BEFORE_HTML:{N2(this,t);break}case _.BEFORE_HEAD:{L2(this,t);break}case _.IN_HEAD:{Qe(this,t);break}case _.IN_HEAD_NO_SCRIPT:{v2(this,t);break}case _.AFTER_HEAD:{P2(this,t);break}case _.IN_BODY:{Se(this,t);break}case _.IN_TABLE:{nn(this,t);break}case _.IN_TABLE_TEXT:{Cn(this,t);break}case _.IN_CAPTION:{RE(this,t);break}case _.IN_COLUMN_GROUP:{Ks(this,t);break}case _.IN_TABLE_BODY:{aa(this,t);break}case _.IN_ROW:{sa(this,t);break}case _.IN_CELL:{OE(this,t);break}case _.IN_SELECT:{Dc(this,t);break}case _.IN_SELECT_IN_TABLE:{$E(this,t);break}case _.IN_TEMPLATE:{UE(this,t);break}case _.AFTER_BODY:{jE(this,t);break}case _.IN_FRAMESET:{zE(this,t);break}case _.AFTER_FRAMESET:{GE(this,t);break}case _.AFTER_AFTER_BODY:{VE(this,t);break}case _.AFTER_AFTER_FRAMESET:{WE(this,t);break}}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?ZE(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case _.INITIAL:{An(this,t);break}case _.BEFORE_HTML:{F2(this,t);break}case _.BEFORE_HEAD:{R2(this,t);break}case _.IN_HEAD:{B2(this,t);break}case _.IN_HEAD_NO_SCRIPT:{O2(this,t);break}case _.AFTER_HEAD:{$2(this,t);break}case _.IN_BODY:{ra(this,t);break}case _.TEXT:{TE(this,t);break}case _.IN_TABLE:{Hn(this,t);break}case _.IN_TABLE_TEXT:{Cn(this,t);break}case _.IN_CAPTION:{BE(this,t);break}case _.IN_COLUMN_GROUP:{vE(this,t);break}case _.IN_TABLE_BODY:{os(this,t);break}case _.IN_ROW:{Tc(this,t);break}case _.IN_CELL:{PE(this,t);break}case _.IN_SELECT:{kc(this,t);break}case _.IN_SELECT_IN_TABLE:{ME(this,t);break}case _.IN_TEMPLATE:{HE(this,t);break}case _.AFTER_BODY:{wc(this,t);break}case _.IN_FRAMESET:{qE(this,t);break}case _.AFTER_FRAMESET:{YE(this,t);break}case _.AFTER_AFTER_BODY:{Ar(this,t);break}}}onEof(t){switch(this.insertionMode){case _.INITIAL:{An(this,t);break}case _.BEFORE_HTML:{Fn(this,t);break}case _.BEFORE_HEAD:{Ln(this,t);break}case _.IN_HEAD:{Rn(this,t);break}case _.IN_HEAD_NO_SCRIPT:{Bn(this,t);break}case _.AFTER_HEAD:{vn(this,t);break}case _.IN_BODY:case _.IN_TABLE:case _.IN_CAPTION:case _.IN_COLUMN_GROUP:case _.IN_TABLE_BODY:case _.IN_ROW:case _.IN_CELL:case _.IN_SELECT:case _.IN_SELECT_IN_TABLE:{_c(this,t);break}case _.TEXT:{DE(this,t);break}case _.IN_TABLE_TEXT:{Cn(this,t);break}case _.IN_TEMPLATE:{xc(this,t);break}case _.AFTER_BODY:case _.IN_FRAMESET:case _.AFTER_FRAMESET:case _.AFTER_AFTER_BODY:case _.AFTER_AFTER_FRAMESET:{Xs(this,t);break}}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===g.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case _.IN_HEAD:case _.IN_HEAD_NO_SCRIPT:case _.AFTER_HEAD:case _.TEXT:case _.IN_COLUMN_GROUP:case _.IN_SELECT:case _.IN_SELECT_IN_TABLE:case _.IN_FRAMESET:case _.AFTER_FRAMESET:{this._insertCharacters(t);break}case _.IN_BODY:case _.IN_CAPTION:case _.IN_CELL:case _.IN_TEMPLATE:case _.AFTER_BODY:case _.AFTER_AFTER_BODY:case _.AFTER_AFTER_FRAMESET:{fc(this,t);break}case _.IN_TABLE:case _.IN_TABLE_BODY:case _.IN_ROW:{Sa(this,t);break}case _.IN_TABLE_TEXT:{yc(this,t);break}}}}function A2(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):Ec(e,t),n}function C2(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){const a=e.openElements.items[r];if(a===t.element)break;e._isSpecialElement(a,e.openElements.tagIDs[r])&&(n=a)}return n||(e.openElements.shortenToLength(Math.max(r,0)),e.activeFormattingElements.removeEntry(t)),n}function T2(e,t,n){let r=t,a=e.openElements.getCommonAncestor(t);for(let s=0,u=a;u!==n;s++,u=a){a=e.openElements.getCommonAncestor(u);const i=e.activeFormattingElements.getElementEntry(u),o=i&&s>=_2;!i||o?(o&&e.activeFormattingElements.removeEntry(i),e.openElements.remove(u)):(u=D2(e,i),r===t&&(e.activeFormattingElements.bookmark=i),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(u,r),r=u)}return r}function D2(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function k2(e,t,n){const r=e.treeAdapter.getTagName(t),a=ln(r);if(e._isElementCausesFosterParenting(a))e._fosterParentElement(n);else{const s=e.treeAdapter.getNamespaceURI(t);a===c.TEMPLATE&&s===F.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function x2(e,t,n){const r=e.treeAdapter.getNamespaceURI(n.element),{token:a}=n,s=e.treeAdapter.createElement(a.tagName,r,a.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,a),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,a.tagID)}function Qs(e,t){for(let n=0;n=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const r=e.openElements.items[0],a=e.treeAdapter.getNodeSourceCodeLocation(r);if(a&&!a.endTag&&(e._setEndLocation(r,t),e.openElements.stackTop>=1)){const s=e.openElements.items[1],u=e.treeAdapter.getNodeSourceCodeLocation(s);u&&!u.endTag&&e._setEndLocation(s,t)}}}}function I2(e,t){e._setDocumentType(t);const n=t.forceQuirks?ze.QUIRKS:s2(t);a2(t)||e._err(t,S.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=_.BEFORE_HTML}function An(e,t){e._err(t,S.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,ze.QUIRKS),e.insertionMode=_.BEFORE_HTML,e._processToken(t)}function N2(e,t){t.tagID===c.HTML?(e._insertElement(t,F.HTML),e.insertionMode=_.BEFORE_HEAD):Fn(e,t)}function F2(e,t){const n=t.tagID;(n===c.HTML||n===c.HEAD||n===c.BODY||n===c.BR)&&Fn(e,t)}function Fn(e,t){e._insertFakeRootElement(),e.insertionMode=_.BEFORE_HEAD,e._processToken(t)}function L2(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.HEAD:{e._insertElement(t,F.HTML),e.headElement=e.openElements.current,e.insertionMode=_.IN_HEAD;break}default:Ln(e,t)}}function R2(e,t){const n=t.tagID;n===c.HEAD||n===c.BODY||n===c.HTML||n===c.BR?Ln(e,t):e._err(t,S.endTagWithoutMatchingOpenElement)}function Ln(e,t){e._insertFakeElement(x.HEAD,c.HEAD),e.headElement=e.openElements.current,e.insertionMode=_.IN_HEAD,e._processToken(t)}function Qe(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.BASE:case c.BASEFONT:case c.BGSOUND:case c.LINK:case c.META:{e._appendElement(t,F.HTML),t.ackSelfClosing=!0;break}case c.TITLE:{e._switchToTextParsing(t,fe.RCDATA);break}case c.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,fe.RAWTEXT):(e._insertElement(t,F.HTML),e.insertionMode=_.IN_HEAD_NO_SCRIPT);break}case c.NOFRAMES:case c.STYLE:{e._switchToTextParsing(t,fe.RAWTEXT);break}case c.SCRIPT:{e._switchToTextParsing(t,fe.SCRIPT_DATA);break}case c.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=_.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(_.IN_TEMPLATE);break}case c.HEAD:{e._err(t,S.misplacedStartTagForHeadElement);break}default:Rn(e,t)}}function B2(e,t){switch(t.tagID){case c.HEAD:{e.openElements.pop(),e.insertionMode=_.AFTER_HEAD;break}case c.BODY:case c.BR:case c.HTML:{Rn(e,t);break}case c.TEMPLATE:{Ot(e,t);break}default:e._err(t,S.endTagWithoutMatchingOpenElement)}}function Ot(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==c.TEMPLATE&&e._err(t,S.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(c.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,S.endTagWithoutMatchingOpenElement)}function Rn(e,t){e.openElements.pop(),e.insertionMode=_.AFTER_HEAD,e._processToken(t)}function v2(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.BASEFONT:case c.BGSOUND:case c.HEAD:case c.LINK:case c.META:case c.NOFRAMES:case c.STYLE:{Qe(e,t);break}case c.NOSCRIPT:{e._err(t,S.nestedNoscriptInHead);break}default:Bn(e,t)}}function O2(e,t){switch(t.tagID){case c.NOSCRIPT:{e.openElements.pop(),e.insertionMode=_.IN_HEAD;break}case c.BR:{Bn(e,t);break}default:e._err(t,S.endTagWithoutMatchingOpenElement)}}function Bn(e,t){const n=t.type===K.EOF?S.openElementsLeftAfterEof:S.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=_.IN_HEAD,e._processToken(t)}function P2(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.BODY:{e._insertElement(t,F.HTML),e.framesetOk=!1,e.insertionMode=_.IN_BODY;break}case c.FRAMESET:{e._insertElement(t,F.HTML),e.insertionMode=_.IN_FRAMESET;break}case c.BASE:case c.BASEFONT:case c.BGSOUND:case c.LINK:case c.META:case c.NOFRAMES:case c.SCRIPT:case c.STYLE:case c.TEMPLATE:case c.TITLE:{e._err(t,S.abandonedHeadElementChild),e.openElements.push(e.headElement,c.HEAD),Qe(e,t),e.openElements.remove(e.headElement);break}case c.HEAD:{e._err(t,S.misplacedStartTagForHeadElement);break}default:vn(e,t)}}function $2(e,t){switch(t.tagID){case c.BODY:case c.HTML:case c.BR:{vn(e,t);break}case c.TEMPLATE:{Ot(e,t);break}default:e._err(t,S.endTagWithoutMatchingOpenElement)}}function vn(e,t){e._insertFakeElement(x.BODY,c.BODY),e.insertionMode=_.IN_BODY,na(e,t)}function na(e,t){switch(t.type){case K.CHARACTER:{mc(e,t);break}case K.WHITESPACE_CHARACTER:{fc(e,t);break}case K.COMMENT:{is(e,t);break}case K.START_TAG:{Se(e,t);break}case K.END_TAG:{ra(e,t);break}case K.EOF:{_c(e,t);break}}}function fc(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function mc(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function M2(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function U2(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function H2(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,F.HTML),e.insertionMode=_.IN_FRAMESET)}function j2(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML)}function z2(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&us.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,F.HTML)}function q2(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function G2(e,t){const n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML),n||(e.formElement=e.openElements.current))}function Y2(e,t){e.framesetOk=!1;const n=t.tagID;for(let r=e.openElements.stackTop;r>=0;r--){const a=e.openElements.tagIDs[r];if(n===c.LI&&a===c.LI||(n===c.DD||n===c.DT)&&(a===c.DD||a===c.DT)){e.openElements.generateImpliedEndTagsWithExclusion(a),e.openElements.popUntilTagNamePopped(a);break}if(a!==c.ADDRESS&&a!==c.DIV&&a!==c.P&&e._isSpecialElement(e.openElements.items[r],a))break}e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML)}function V2(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML),e.tokenizer.state=fe.PLAINTEXT}function W2(e,t){e.openElements.hasInScope(c.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(c.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML),e.framesetOk=!1}function Q2(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(x.A);n&&(Qs(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function X2(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function K2(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(c.NOBR)&&(Qs(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,F.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Z2(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function J2(e,t){e.treeAdapter.getDocumentMode(e.document)!==ze.QUIRKS&&e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._insertElement(t,F.HTML),e.framesetOk=!1,e.insertionMode=_.IN_TABLE}function gc(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,F.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function bc(e){const t=sc(e,Ft.TYPE);return t!=null&&t.toLowerCase()===b2}function eE(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,F.HTML),bc(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function tE(e,t){e._appendElement(t,F.HTML),t.ackSelfClosing=!0}function nE(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._appendElement(t,F.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function rE(e,t){t.tagName=x.IMG,t.tagID=c.IMG,gc(e,t)}function aE(e,t){e._insertElement(t,F.HTML),e.skipNextNewLine=!0,e.tokenizer.state=fe.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=_.TEXT}function sE(e,t){e.openElements.hasInButtonScope(c.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,fe.RAWTEXT)}function uE(e,t){e.framesetOk=!1,e._switchToTextParsing(t,fe.RAWTEXT)}function Ni(e,t){e._switchToTextParsing(t,fe.RAWTEXT)}function iE(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===_.IN_TABLE||e.insertionMode===_.IN_CAPTION||e.insertionMode===_.IN_TABLE_BODY||e.insertionMode===_.IN_ROW||e.insertionMode===_.IN_CELL?_.IN_SELECT_IN_TABLE:_.IN_SELECT}function oE(e,t){e.openElements.currentTagId===c.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML)}function lE(e,t){e.openElements.hasInScope(c.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,F.HTML)}function cE(e,t){e.openElements.hasInScope(c.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(c.RTC),e._insertElement(t,F.HTML)}function dE(e,t){e._reconstructActiveFormattingElements(),dc(t),Ws(t),t.selfClosing?e._appendElement(t,F.MATHML):e._insertElement(t,F.MATHML),t.ackSelfClosing=!0}function pE(e,t){e._reconstructActiveFormattingElements(),pc(t),Ws(t),t.selfClosing?e._appendElement(t,F.SVG):e._insertElement(t,F.SVG),t.ackSelfClosing=!0}function Fi(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,F.HTML)}function Se(e,t){switch(t.tagID){case c.I:case c.S:case c.B:case c.U:case c.EM:case c.TT:case c.BIG:case c.CODE:case c.FONT:case c.SMALL:case c.STRIKE:case c.STRONG:{X2(e,t);break}case c.A:{Q2(e,t);break}case c.H1:case c.H2:case c.H3:case c.H4:case c.H5:case c.H6:{z2(e,t);break}case c.P:case c.DL:case c.OL:case c.UL:case c.DIV:case c.DIR:case c.NAV:case c.MAIN:case c.MENU:case c.ASIDE:case c.CENTER:case c.FIGURE:case c.FOOTER:case c.HEADER:case c.HGROUP:case c.DIALOG:case c.DETAILS:case c.ADDRESS:case c.ARTICLE:case c.SEARCH:case c.SECTION:case c.SUMMARY:case c.FIELDSET:case c.BLOCKQUOTE:case c.FIGCAPTION:{j2(e,t);break}case c.LI:case c.DD:case c.DT:{Y2(e,t);break}case c.BR:case c.IMG:case c.WBR:case c.AREA:case c.EMBED:case c.KEYGEN:{gc(e,t);break}case c.HR:{nE(e,t);break}case c.RB:case c.RTC:{lE(e,t);break}case c.RT:case c.RP:{cE(e,t);break}case c.PRE:case c.LISTING:{q2(e,t);break}case c.XMP:{sE(e,t);break}case c.SVG:{pE(e,t);break}case c.HTML:{M2(e,t);break}case c.BASE:case c.LINK:case c.META:case c.STYLE:case c.TITLE:case c.SCRIPT:case c.BGSOUND:case c.BASEFONT:case c.TEMPLATE:{Qe(e,t);break}case c.BODY:{U2(e,t);break}case c.FORM:{G2(e,t);break}case c.NOBR:{K2(e,t);break}case c.MATH:{dE(e,t);break}case c.TABLE:{J2(e,t);break}case c.INPUT:{eE(e,t);break}case c.PARAM:case c.TRACK:case c.SOURCE:{tE(e,t);break}case c.IMAGE:{rE(e,t);break}case c.BUTTON:{W2(e,t);break}case c.APPLET:case c.OBJECT:case c.MARQUEE:{Z2(e,t);break}case c.IFRAME:{uE(e,t);break}case c.SELECT:{iE(e,t);break}case c.OPTION:case c.OPTGROUP:{oE(e,t);break}case c.NOEMBED:case c.NOFRAMES:{Ni(e,t);break}case c.FRAMESET:{H2(e,t);break}case c.TEXTAREA:{aE(e,t);break}case c.NOSCRIPT:{e.options.scriptingEnabled?Ni(e,t):Fi(e,t);break}case c.PLAINTEXT:{V2(e,t);break}case c.COL:case c.TH:case c.TD:case c.TR:case c.HEAD:case c.FRAME:case c.TBODY:case c.TFOOT:case c.THEAD:case c.CAPTION:case c.COLGROUP:break;default:Fi(e,t)}}function hE(e,t){if(e.openElements.hasInScope(c.BODY)&&(e.insertionMode=_.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function fE(e,t){e.openElements.hasInScope(c.BODY)&&(e.insertionMode=_.AFTER_BODY,wc(e,t))}function mE(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function gE(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(c.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(c.FORM):n&&e.openElements.remove(n))}function bE(e){e.openElements.hasInButtonScope(c.P)||e._insertFakeElement(x.P,c.P),e._closePElement()}function EE(e){e.openElements.hasInListItemScope(c.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(c.LI),e.openElements.popUntilTagNamePopped(c.LI))}function _E(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function yE(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function AE(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function CE(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(x.BR,c.BR),e.openElements.pop(),e.framesetOk=!1}function Ec(e,t){const n=t.tagName,r=t.tagID;for(let a=e.openElements.stackTop;a>0;a--){const s=e.openElements.items[a],u=e.openElements.tagIDs[a];if(r===u&&(r!==c.UNKNOWN||e.treeAdapter.getTagName(s)===n)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=a&&e.openElements.shortenToLength(a);break}if(e._isSpecialElement(s,u))break}}function ra(e,t){switch(t.tagID){case c.A:case c.B:case c.I:case c.S:case c.U:case c.EM:case c.TT:case c.BIG:case c.CODE:case c.FONT:case c.NOBR:case c.SMALL:case c.STRIKE:case c.STRONG:{Qs(e,t);break}case c.P:{bE(e);break}case c.DL:case c.UL:case c.OL:case c.DIR:case c.DIV:case c.NAV:case c.PRE:case c.MAIN:case c.MENU:case c.ASIDE:case c.BUTTON:case c.CENTER:case c.FIGURE:case c.FOOTER:case c.HEADER:case c.HGROUP:case c.DIALOG:case c.ADDRESS:case c.ARTICLE:case c.DETAILS:case c.SEARCH:case c.SECTION:case c.SUMMARY:case c.LISTING:case c.FIELDSET:case c.BLOCKQUOTE:case c.FIGCAPTION:{mE(e,t);break}case c.LI:{EE(e);break}case c.DD:case c.DT:{_E(e,t);break}case c.H1:case c.H2:case c.H3:case c.H4:case c.H5:case c.H6:{yE(e);break}case c.BR:{CE(e);break}case c.BODY:{hE(e,t);break}case c.HTML:{fE(e,t);break}case c.FORM:{gE(e);break}case c.APPLET:case c.OBJECT:case c.MARQUEE:{AE(e,t);break}case c.TEMPLATE:{Ot(e,t);break}default:Ec(e,t)}}function _c(e,t){e.tmplInsertionModeStack.length>0?xc(e,t):Xs(e,t)}function TE(e,t){var n;t.tagID===c.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function DE(e,t){e._err(t,S.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function Sa(e,t){if(e.openElements.currentTagId!==void 0&&hc.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=_.IN_TABLE_TEXT,t.type){case K.CHARACTER:{Ac(e,t);break}case K.WHITESPACE_CHARACTER:{yc(e,t);break}}else er(e,t)}function kE(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,F.HTML),e.insertionMode=_.IN_CAPTION}function xE(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,F.HTML),e.insertionMode=_.IN_COLUMN_GROUP}function wE(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(x.COLGROUP,c.COLGROUP),e.insertionMode=_.IN_COLUMN_GROUP,Ks(e,t)}function SE(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,F.HTML),e.insertionMode=_.IN_TABLE_BODY}function IE(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(x.TBODY,c.TBODY),e.insertionMode=_.IN_TABLE_BODY,aa(e,t)}function NE(e,t){e.openElements.hasInTableScope(c.TABLE)&&(e.openElements.popUntilTagNamePopped(c.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function FE(e,t){bc(t)?e._appendElement(t,F.HTML):er(e,t),t.ackSelfClosing=!0}function LE(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,F.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function nn(e,t){switch(t.tagID){case c.TD:case c.TH:case c.TR:{IE(e,t);break}case c.STYLE:case c.SCRIPT:case c.TEMPLATE:{Qe(e,t);break}case c.COL:{wE(e,t);break}case c.FORM:{LE(e,t);break}case c.TABLE:{NE(e,t);break}case c.TBODY:case c.TFOOT:case c.THEAD:{SE(e,t);break}case c.INPUT:{FE(e,t);break}case c.CAPTION:{kE(e,t);break}case c.COLGROUP:{xE(e,t);break}default:er(e,t)}}function Hn(e,t){switch(t.tagID){case c.TABLE:{e.openElements.hasInTableScope(c.TABLE)&&(e.openElements.popUntilTagNamePopped(c.TABLE),e._resetInsertionMode());break}case c.TEMPLATE:{Ot(e,t);break}case c.BODY:case c.CAPTION:case c.COL:case c.COLGROUP:case c.HTML:case c.TBODY:case c.TD:case c.TFOOT:case c.TH:case c.THEAD:case c.TR:break;default:er(e,t)}}function er(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,na(e,t),e.fosterParentingEnabled=n}function yc(e,t){e.pendingCharacterTokens.push(t)}function Ac(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function Cn(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===c.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===c.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===c.OPTGROUP&&e.openElements.pop();break}case c.OPTION:{e.openElements.currentTagId===c.OPTION&&e.openElements.pop();break}case c.SELECT:{e.openElements.hasInSelectScope(c.SELECT)&&(e.openElements.popUntilTagNamePopped(c.SELECT),e._resetInsertionMode());break}case c.TEMPLATE:{Ot(e,t);break}}}function $E(e,t){const n=t.tagID;n===c.CAPTION||n===c.TABLE||n===c.TBODY||n===c.TFOOT||n===c.THEAD||n===c.TR||n===c.TD||n===c.TH?(e.openElements.popUntilTagNamePopped(c.SELECT),e._resetInsertionMode(),e._processStartTag(t)):Dc(e,t)}function ME(e,t){const n=t.tagID;n===c.CAPTION||n===c.TABLE||n===c.TBODY||n===c.TFOOT||n===c.THEAD||n===c.TR||n===c.TD||n===c.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(c.SELECT),e._resetInsertionMode(),e.onEndTag(t)):kc(e,t)}function UE(e,t){switch(t.tagID){case c.BASE:case c.BASEFONT:case c.BGSOUND:case c.LINK:case c.META:case c.NOFRAMES:case c.SCRIPT:case c.STYLE:case c.TEMPLATE:case c.TITLE:{Qe(e,t);break}case c.CAPTION:case c.COLGROUP:case c.TBODY:case c.TFOOT:case c.THEAD:{e.tmplInsertionModeStack[0]=_.IN_TABLE,e.insertionMode=_.IN_TABLE,nn(e,t);break}case c.COL:{e.tmplInsertionModeStack[0]=_.IN_COLUMN_GROUP,e.insertionMode=_.IN_COLUMN_GROUP,Ks(e,t);break}case c.TR:{e.tmplInsertionModeStack[0]=_.IN_TABLE_BODY,e.insertionMode=_.IN_TABLE_BODY,aa(e,t);break}case c.TD:case c.TH:{e.tmplInsertionModeStack[0]=_.IN_ROW,e.insertionMode=_.IN_ROW,sa(e,t);break}default:e.tmplInsertionModeStack[0]=_.IN_BODY,e.insertionMode=_.IN_BODY,Se(e,t)}}function HE(e,t){t.tagID===c.TEMPLATE&&Ot(e,t)}function xc(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(c.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):Xs(e,t)}function jE(e,t){t.tagID===c.HTML?Se(e,t):Br(e,t)}function wc(e,t){var n;if(t.tagID===c.HTML){if(e.fragmentContext||(e.insertionMode=_.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===c.HTML){e._setEndLocation(e.openElements.items[0],t);const r=e.openElements.items[1];r&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(r))===null||n===void 0)&&n.endTag)&&e._setEndLocation(r,t)}}else Br(e,t)}function Br(e,t){e.insertionMode=_.IN_BODY,na(e,t)}function zE(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.FRAMESET:{e._insertElement(t,F.HTML);break}case c.FRAME:{e._appendElement(t,F.HTML),t.ackSelfClosing=!0;break}case c.NOFRAMES:{Qe(e,t);break}}}function qE(e,t){t.tagID===c.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==c.FRAMESET&&(e.insertionMode=_.AFTER_FRAMESET))}function GE(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.NOFRAMES:{Qe(e,t);break}}}function YE(e,t){t.tagID===c.HTML&&(e.insertionMode=_.AFTER_AFTER_FRAMESET)}function VE(e,t){t.tagID===c.HTML?Se(e,t):Ar(e,t)}function Ar(e,t){e.insertionMode=_.IN_BODY,na(e,t)}function WE(e,t){switch(t.tagID){case c.HTML:{Se(e,t);break}case c.NOFRAMES:{Qe(e,t);break}}}function QE(e,t){t.chars=ce,e._insertCharacters(t)}function XE(e,t){e._insertCharacters(t),e.framesetOk=!1}function Sc(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==F.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function KE(e,t){if(p2(t))Sc(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===F.MATHML?dc(t):r===F.SVG&&(h2(t),pc(t)),Ws(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}function ZE(e,t){if(t.tagID===c.P||t.tagID===c.BR){Sc(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){const r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===F.HTML){e._endTagOutsideForeignContent(t);break}const a=e.treeAdapter.getTagName(r);if(a.toLowerCase()===t.tagName){t.tagName=a,e.openElements.shortenToLength(n);break}}}x.AREA,x.BASE,x.BASEFONT,x.BGSOUND,x.BR,x.COL,x.EMBED,x.FRAME,x.HR,x.IMG,x.INPUT,x.KEYGEN,x.LINK,x.META,x.PARAM,x.SOURCE,x.TRACK,x.WBR;const Ic=Nc("end"),Pt=Nc("start");function Nc(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}const Fc=(function(e){if(e==null)return n_;if(typeof e=="function")return ua(e);if(typeof e=="object")return Array.isArray(e)?JE(e):e_(e);if(typeof e=="string")return t_(e);throw new Error("Expected function, string, or object as test")});function JE(e){const t=[];let n=-1;for(;++n":""))+")"})}return h;function h(){let f=Lc,m,A,D;if((!t||s(o,l,p[p.length-1]||void 0))&&(f=i_(n(o,p)),f[0]===Li))return f;if("children"in o&&o.children){const E=o;if(E.children&&f[0]!==s_)for(A=(r?E.children.length:-1)+u,D=p.concat(E);A>-1&&A])/gi,l_=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),Ri={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function Rc(e,t){const n=__(e),r=Ys("type",{handlers:{root:c_,element:d_,text:p_,comment:vc,doctype:h_,raw:m_},unknown:g_}),a={parser:n?new Ii(Ri):Ii.getFragmentParser(void 0,Ri),handle(i){r(i,a)},stitches:!1,options:t||{}};r(e,a),cn(a,Pt());const s=n?a.parser.document:a.parser.getFragment(),u=nb(s,{file:a.options.file});return a.stitches&&Zs(u,"comment",function(i,o,l){const p=i;if(p.value.stitch&&l&&o!==void 0){const d=l.children;return d[o]=p.value.stitch,o}}),u.type==="root"&&u.children.length===1&&u.children[0].type===e.type?u.children[0]:u}function Bc(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);const n={type:K.CHARACTER,chars:e.value,location:tr(e)};cn(t,Pt(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function h_(e,t){const n={type:K.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:tr(e)};cn(t,Pt(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function f_(e,t){t.stitches=!0;const n=y_(e);if("children"in e&&"children"in n){const r=Rc({type:"root",children:e.children},t.options);n.children=r.children}vc({type:"comment",value:{stitch:n}},t)}function vc(e,t){const n=e.value,r={type:K.COMMENT,data:n,location:tr(e)};cn(t,Pt(e)),t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken)}function m_(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,Oc(t,Pt(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(o_,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;const n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function g_(e,t){const n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))f_(n,t);else{let r="";throw l_.has(n.type)&&(r=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+r)}}function cn(e,t){Oc(e,t);const n=e.parser.tokenizer.currentCharacterToken;n&&n.location&&(n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken)),e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=fe.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function Oc(e,t){if(t&&t.offset!==void 0){const n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function b_(e,t){const n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===fe.PLAINTEXT)return;cn(t,Pt(e));const r=t.parser.openElements.current;let a="namespaceURI"in r?r.namespaceURI:wt.html;a===wt.html&&n==="svg"&&(a=wt.svg);const s=bb({...e,children:[]},{space:a===wt.svg?"svg":"html"}),u={type:K.START_TAG,tagName:n,tagID:ln(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in s?s.attrs:[],location:tr(e)};t.parser.currentToken=u,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function E_(e,t){const n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&tc.includes(n)||t.parser.tokenizer.state===fe.PLAINTEXT)return;cn(t,Ic(e));const r={type:K.END_TAG,tagName:n,tagID:ln(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:tr(e)};t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===fe.RCDATA||t.parser.tokenizer.state===fe.RAWTEXT||t.parser.tokenizer.state===fe.SCRIPT_DATA)&&(t.parser.tokenizer.state=fe.DATA)}function __(e){const t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function tr(e){const t=Pt(e)||{line:void 0,column:void 0,offset:void 0},n=Ic(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function y_(e){return"children"in e?oi({...e,children:[]}):oi(e)}function A_(e){return function(t,n){return Rc(t,{...e,file:n})}}const C_=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,T_=Object.hasOwnProperty;class D_{constructor(){this.occurrences,this.reset()}slug(t,n){const r=this;let a=k_(t,n===!0);const s=a;for(;T_.call(r.occurrences,a);)r.occurrences[s]++,a=s+"-"+r.occurrences[s];return r.occurrences[a]=0,a}reset(){this.occurrences=Object.create(null)}}function k_(e,t){return typeof e!="string"?"":(t||(e=e.toLowerCase()),e.replace(C_,"").replace(/ /g,"-"))}function x_(e){const t=e.type==="element"?e.tagName.toLowerCase():"",n=t.length===2&&t.charCodeAt(0)===104?t.charCodeAt(1):0;return n>48&&n<55?n-48:void 0}function Js(e){return"children"in e?Pc(e):"value"in e?e.value:""}function w_(e){return e.type==="text"?e.value:"children"in e?Pc(e):""}function Pc(e){let t=-1;const n=[];for(;++t{for(let r in n)e[r]=n[r]}),e}function Mc(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Mc(e.substring(0,e.length-1)):e.substr(~t+1)}var Ia=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,dr=class{static hasCaptures(e){return e===null?!1:(Ia.lastIndex=0,Ia.test(e))}static replaceCaptures(e,t,n){return e.replace(Ia,(r,a,s,u)=>{let i=n[parseInt(a||s,10)];if(i){let o=t.substring(i.start,i.end);for(;o[0]===".";)o=o.substring(1);switch(u){case"downcase":return o.toLowerCase();case"upcase":return o.toUpperCase();default:return o}}else return r})}};function Uc(e,t){return et?1:0}function Hc(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let a=0;athis._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,r=this._cachedMatchRoot.get(t).find(a=>R_(e.parent,a.parentScopes));return r?new qc(r.fontStyle,r.foreground,r.background):null}},Na=class Cr{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const r of n)t=new Cr(t,r);return t}static from(...t){let n=null;for(let r=0;r"){if(n===t.length-1)return!1;r=t[++n],a=!0}for(;e&&!B_(e.scopeName,r);){if(a)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function B_(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var qc=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function v_(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let a=0,s=t.length;a1&&(D=m.slice(0,m.length-1),D.reverse()),n[r++]=new O_(A,D,a,o,l,p)}}return n}var O_=class{constructor(e,t,n,r,a,s){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=a,this.background=s}},we=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(we||{});function P_(e,t){e.sort((o,l)=>{let p=Uc(o.scope,l.scope);return p!==0||(p=Hc(o.parentScopes,l.parentScopes),p!==0)?p:o.index-l.index});let n=0,r="#000000",a="#ffffff";for(;e.length>=1&&e[0].scope==="";){let o=e.shift();o.fontStyle!==-1&&(n=o.fontStyle),o.foreground!==null&&(r=o.foreground),o.background!==null&&(a=o.background)}let s=new $_(t),u=new qc(n,s.getId(r),s.getId(a)),i=new U_(new ls(0,null,-1,0,0),[]);for(let o=0,l=e.length;ot?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),a!==0&&(this.background=a)}},U_=class cs{constructor(t,n=[],r={}){this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}_rulesWithParentScopes;static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,a=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[a]===">"&&a++,!(r>=t.parentScopes.length||a>=n.parentScopes.length);){const s=n.parentScopes[a].length-t.parentScopes[r].length;if(s!==0)return s;r++,a++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),a,s;if(r===-1?(a=t,s=""):(a=t.substring(0,r),s=t.substring(r+1)),this._children.hasOwnProperty(a))return this._children[a].match(s)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(cs._cmpBySpecificity),n}insert(t,n,r,a,s,u){if(n===""){this._doInsertHere(t,r,a,s,u);return}let i=n.indexOf("."),o,l;i===-1?(o=n,l=""):(o=n.substring(0,i),l=n.substring(i+1));let p;this._children.hasOwnProperty(o)?p=this._children[o]:(p=new cs(this._mainRule.clone(),ls.cloneArr(this._rulesWithParentScopes)),this._children[o]=p),p.insert(t+1,l,r,a,s,u)}_doInsertHere(t,n,r,a,s){if(n===null){this._mainRule.acceptOverwrite(t,r,a,s);return}for(let u=0,i=this._rulesWithParentScopes.length;u>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,a,s,u,i){let o=He.getLanguageId(t),l=He.getTokenType(t),p=He.containsBalancedBrackets(t)?1:0,d=He.getFontStyle(t),h=He.getForeground(t),f=He.getBackground(t);return n!==0&&(o=n),r!==8&&(l=r),a!==null&&(p=a?1:0),s!==-1&&(d=s),u!==0&&(h=u),i!==0&&(f=i),(o<<0|l<<8|p<<10|d<<11|h<<15|f<<24)>>>0}};function Or(e,t){const n=[],r=H_(e);let a=r.next();for(;a!==null;){let o=0;if(a.length===2&&a.charAt(1)===":"){switch(a.charAt(0)){case"R":o=1;break;case"L":o=-1;break;default:console.log(`Unknown priority ${a} in scope selector`)}a=r.next()}let l=u();if(n.push({matcher:l,priority:o}),a!==",")break;a=r.next()}return n;function s(){if(a==="-"){a=r.next();const o=s();return l=>!!o&&!o(l)}if(a==="("){a=r.next();const o=i();return a===")"&&(a=r.next()),o}if(Oi(a)){const o=[];do o.push(a),a=r.next();while(Oi(a));return l=>t(o,l)}return null}function u(){const o=[];let l=s();for(;l;)o.push(l),l=s();return p=>o.every(d=>d(p))}function i(){const o=[];let l=u();for(;l&&(o.push(l),a==="|"||a===",");){do a=r.next();while(a==="|"||a===",");l=u()}return p=>o.some(d=>d(p))}}function Oi(e){return!!e&&!!e.match(/[\w\.:]+/)}function H_(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function Yc(e){typeof e.dispose=="function"&&e.dispose()}var jn=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},j_=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},z_=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},q_=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new jn(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){const e=this.Q;this.Q=[];const t=new z_;for(const n of e)G_(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof jn){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function G_(e,t,n,r){const a=n.lookup(e.scopeName);if(!a){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const s=n.lookup(t);e instanceof jn?Tr({baseGrammar:s,selfGrammar:a},r):ds(e.ruleName,{baseGrammar:s,selfGrammar:a,repository:a.repository},r);const u=n.injections(e.scopeName);if(u)for(const i of u)r.add(new jn(i))}function ds(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];Pr([r],t,n)}}function Tr(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Pr(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Pr(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Pr(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const a=r.repository?$c({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Pr(r.patterns,{...t,repository:a},n);const s=r.include;if(!s)continue;const u=Vc(s);switch(u.kind){case 0:Tr({...t,selfGrammar:t.baseGrammar},n);break;case 1:Tr(t,n);break;case 2:ds(u.ruleName,{...t,repository:a},n);break;case 3:case 4:const i=u.scopeName===t.selfGrammar.scopeName?t.selfGrammar:u.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(i){const o={baseGrammar:t.baseGrammar,selfGrammar:i,repository:a};u.kind===4?ds(u.ruleName,o,n):Tr(o,n)}else u.kind===4?n.add(new j_(u.scopeName,u.ruleName)):n.add(new jn(u.scopeName));break}}}var Y_=class{kind=0},V_=class{kind=1},W_=class{constructor(e){this.ruleName=e}kind=2},Q_=class{constructor(e){this.scopeName=e}kind=3},X_=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Vc(e){if(e==="$base")return new Y_;if(e==="$self")return new V_;const t=e.indexOf("#");if(t===-1)return new Q_(e);if(t===0)return new W_(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new X_(n,r)}}var K_=/\\(\d+)/,Pi=/\\(\d+)/g,Z_=-1,Wc=-2;var nr=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=dr.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=dr.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${Mc(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:dr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:dr.replaceCaptures(this._contentName,e,t)}},J_=class extends nr{retokenizeCapturedWithRuleId;constructor(e,t,n,r,a){super(e,t,n,r),this.retokenizeCapturedWithRuleId=a}dispose(){}collectPatterns(e,t){throw new Error("Not supported!")}compile(e,t){throw new Error("Not supported!")}compileAG(e,t,n,r){throw new Error("Not supported!")}},ey=class extends nr{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,a){super(e,t,n,null),this._match=new zn(r,this.id),this.captures=a,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new qn,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},$i=class extends nr{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,a){super(e,t,n,r),this.patterns=a.patterns,this.hasMissingPatterns=a.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(e,t){for(const n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new qn,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},ps=class extends nr{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,a,s,u,i,o,l){super(e,t,n,r),this._begin=new zn(a,this.id),this.beginCaptures=s,this._end=new zn(u||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=i,this.applyEndPatternLast=o||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new qn;for(const n of this.patterns)e.getRule(n).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},$r=class extends nr{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,a,s,u,i,o){super(e,t,n,r),this._begin=new zn(a,this.id),this.beginCaptures=s,this.whileCaptures=i,this._while=new zn(u,Wc),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=o.patterns,this.hasMissingPatterns=o.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new qn;for(const t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new qn,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||"￿"),this._cachedCompiledWhilePatterns}},Qc=class xe{static createCaptureRule(t,n,r,a,s){return t.registerRule(u=>new J_(n,u,r,a,s))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(a=>{if(t.id=a,t.match)return new ey(t.$vscodeTextmateLocation,t.id,t.name,t.match,xe._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=$c({},r,t.repository));let s=t.patterns;return typeof s>"u"&&t.include&&(s=[{include:t.include}]),new $i(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,xe._compilePatterns(s,n,r))}return t.while?new $r(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,xe._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,xe._compileCaptures(t.whileCaptures||t.captures,n,r),xe._compilePatterns(t.patterns,n,r)):new ps(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,xe._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,xe._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,xe._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let a=[];if(t){let s=0;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const i=parseInt(u,10);i>s&&(s=i)}for(let u=0;u<=s;u++)a[u]=null;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const i=parseInt(u,10);let o=0;t[u].patterns&&(o=xe.getCompiledRuleId(t[u],n,r)),a[i]=xe.createCaptureRule(n,t[u].$vscodeTextmateLocation,t[u].name,t[u].contentName,o)}}return a}static _compilePatterns(t,n,r){let a=[];if(t)for(let s=0,u=t.length;st.substring(a.start,a.end));return Pi.lastIndex=0,this.source.replace(Pi,(a,s)=>jc(r[parseInt(s,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],a=[],s,u,i,o;for(s=0,u=this.source.length;sn.source);this._cached=new Mi(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(a=>a.resolveAnchors(t,n));return new Mi(e,r,this._items.map(a=>a.ruleId))}},Mi=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t{const n=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Fa(n,r)});_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(hs.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},ny=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,r])=>jc(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Ui=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Kc(e,t,n,r,a,s,u,i){const o=t.content.length;let l=!1,p=-1;if(u){const f=ry(e,t,n,r,a,s);a=f.stack,r=f.linePos,n=f.isFirstLine,p=f.anchorPosition}const d=Date.now();for(;!l;){if(i!==0&&Date.now()-d>i)return new Ui(a,!0);h()}return new Ui(a,!1);function h(){const f=ay(e,t,n,r,a,p);if(!f){s.produce(a,o),l=!0;return}const m=f.captureIndices,A=f.matchedRuleId,D=m&&m.length>0?m[0].end>r:!1;if(A===Z_){const E=a.getRule(e);s.produce(a,m[0].start),a=a.withContentNameScopesList(a.nameScopesList),xn(e,t,n,a,s,E.endCaptures,m),s.produce(a,m[0].end);const T=a;if(a=a.parent,p=T.getAnchorPos(),!D&&T.getEnterPos()===r){a=T,s.produce(a,o),l=!0;return}}else{const E=e.getRule(A);s.produce(a,m[0].start);const T=a,k=E.getName(t.content,m),L=a.contentNameScopesList.pushAttributed(k,e);if(a=a.push(A,r,p,m[0].end===o,null,L,L),E instanceof ps){const O=E;xn(e,t,n,a,s,O.beginCaptures,m),s.produce(a,m[0].end),p=m[0].end;const I=O.getContentName(t.content,m),U=L.pushAttributed(I,e);if(a=a.withContentNameScopesList(U),O.endHasBackReferences&&(a=a.withEndRule(O.getEndWithResolvedBackReferences(t.content,m))),!D&&T.hasSameRuleAs(a)){a=a.pop(),s.produce(a,o),l=!0;return}}else if(E instanceof $r){const O=E;xn(e,t,n,a,s,O.beginCaptures,m),s.produce(a,m[0].end),p=m[0].end;const I=O.getContentName(t.content,m),U=L.pushAttributed(I,e);if(a=a.withContentNameScopesList(U),O.whileHasBackReferences&&(a=a.withEndRule(O.getWhileWithResolvedBackReferences(t.content,m))),!D&&T.hasSameRuleAs(a)){a=a.pop(),s.produce(a,o),l=!0;return}}else if(xn(e,t,n,a,s,E.captures,m),s.produce(a,m[0].end),a=a.pop(),!D){a=a.safePop(),s.produce(a,o),l=!0;return}}m[0].end>r&&(r=m[0].end,n=!1)}}function ry(e,t,n,r,a,s){let u=a.beginRuleCapturedEOL?0:-1;const i=[];for(let o=a;o;o=o.pop()){const l=o.getRule(e);l instanceof $r&&i.push({rule:l,stack:o})}for(let o=i.pop();o;o=i.pop()){const{ruleScanner:l,findOptions:p}=iy(o.rule,e,o.stack.endRule,n,r===u),d=l.findNextMatchSync(t,r,p);if(d){if(d.ruleId!==Wc){a=o.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(s.produce(o.stack,d.captureIndices[0].start),xn(e,t,n,o.stack,s,o.rule.whileCaptures,d.captureIndices),s.produce(o.stack,d.captureIndices[0].end),u=d.captureIndices[0].end,d.captureIndices[0].end>r&&(r=d.captureIndices[0].end,n=!1))}else{a=o.stack.pop();break}}return{stack:a,linePos:r,anchorPosition:u,isFirstLine:n}}function ay(e,t,n,r,a,s){const u=sy(e,t,n,r,a,s),i=e.getInjections();if(i.length===0)return u;const o=uy(i,e,t,n,r,a,s);if(!o)return u;if(!u)return o;const l=u.captureIndices[0].start,p=o.captureIndices[0].start;return p=i)&&(i=k,o=T.captureIndices,l=T.ruleId,p=m.priority,i===a))break}return o?{priorityMatch:p===-1,captureIndices:o,matchedRuleId:l}:null}function Zc(e,t,n,r,a){return{ruleScanner:e.compileAG(t,n,r,a),findOptions:0}}function iy(e,t,n,r,a){return{ruleScanner:e.compileWhileAG(t,n,r,a),findOptions:0}}function xn(e,t,n,r,a,s,u){if(s.length===0)return;const i=t.content,o=Math.min(s.length,u.length),l=[],p=u[0].end;for(let d=0;dp)break;for(;l.length>0&&l[l.length-1].endPos<=f.start;)a.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?a.produceFromScopes(l[l.length-1].scopes,f.start):a.produce(r,f.start),h.retokenizeCapturedWithRuleId){const A=h.getName(i,u),D=r.contentNameScopesList.pushAttributed(A,e),E=h.getContentName(i,u),T=D.pushAttributed(E,e),k=r.push(h.retokenizeCapturedWithRuleId,f.start,-1,!1,null,D,T),L=e.createOnigString(i.substring(0,f.end));Kc(e,L,n&&f.start===0,f.start,k,a,!1,0),Yc(L);continue}const m=h.getName(i,u);if(m!==null){const D=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(m,e);l.push(new oy(D,f.end))}}for(;l.length>0;)a.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var oy=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function ly(e,t,n,r,a,s,u,i){return new dy(e,t,n,r,a,s,u,i)}function Hi(e,t,n,r,a){const s=Or(t,Mr),u=Qc.getCompiledRuleId(n,r,a.repository);for(const i of s)e.push({debugSelector:t,matcher:i.matcher,ruleId:u,grammar:a,priority:i.priority})}function Mr(e,t){if(t.length{for(let a=n;an&&e.substr(0,n)===t&&e[n]==="."}var dy=class{constructor(e,t,n,r,a,s,u,i){if(this._rootScopeName=e,this.balancedBracketSelectors=s,this._onigLib=i,this._basicScopeAttributesProvider=new ty(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=u,this._grammar=ji(t,null),this._injections=null,this._tokenTypeMatchers=[],a)for(const o of Object.keys(a)){const l=Or(o,Mr);for(const p of l)this._tokenTypeMatchers.push({matcher:p.matcher,type:a[o]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:a=>a===this._rootScopeName?this._grammar:this.getExternalGrammar(a),injections:a=>this._grammarRepository.injections(a)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){const a=r.injections;if(a)for(let u in a)Hi(t,u,a[u],this,r);const s=this._grammarRepository.injections(n);s&&s.forEach(u=>{const i=this.getExternalGrammar(u);if(i){const o=i.injectionSelector;o&&Hi(t,o,i,this,i)}})}return t.sort((a,s)=>a.priority-s.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=ji(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){const r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=Qc.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let a;if(!t||t===fs.NULL){a=!0;const l=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),d=rn.set(0,l.languageId,l.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),h=this.getRule(this._rootId).getName(null,null);let f;h?f=On.createRootAndLookUpScopeName(h,d,this):f=On.createRoot("unknown",d),t=new fs(null,this._rootId,-1,-1,!1,null,f,f)}else a=!1,t.reset();e=e+` +`;const s=this.createOnigString(e),u=s.content.length,i=new hy(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),o=Kc(this,s,a,0,t,i,!0,r);return Yc(s),{lineLength:u,lineTokens:i,ruleStack:o.stack,stoppedEarly:o.stoppedEarly}}};function ji(e,t){return e=N_(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var On=class Xe{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}static fromExtension(t,n){let r=t,a=t?.scopePath??null;for(const s of n)a=Na.push(a,s.scopeNames),r=new Xe(r,a,s.encodedTokenAttributes);return r}static createRoot(t,n){return new Xe(null,new Na(null,t),n)}static createRootAndLookUpScopeName(t,n,r){const a=r.getMetadataForScope(t),s=new Na(null,t),u=r.themeProvider.themeMatch(s),i=Xe.mergeAttributes(n,a,u);return new Xe(null,s,i)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Xe.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,r){let a=-1,s=0,u=0;return r!==null&&(a=r.fontStyle,s=r.foregroundId,u=r.backgroundId),rn.set(t,n.languageId,n.tokenType,null,a,s,u)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Xe._pushAttributed(this,t,n);const r=t.split(/ /g);let a=this;for(const s of r)a=Xe._pushAttributed(a,s,n);return a}static _pushAttributed(t,n,r){const a=r.getMetadataForScope(n),s=t.scopePath.push(n),u=r.themeProvider.themeMatch(s),i=Xe.mergeAttributes(t.tokenAttributes,a,u);return new Xe(t,s,i)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(r.parent?.scopePath??null)}),r=r.parent;return r===t?n.reverse():void 0}},fs=class kt{constructor(t,n,r,a,s,u,i,o){this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=s,this.endRule=u,this.nameScopesList=i,this.contentNameScopesList=o,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=a}_stackElementBrand=void 0;static NULL=new kt(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:kt._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?On.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){kt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,a,s,u,i){return new kt(this,t,n,r,a,s,u,i)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){const t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new kt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){const r=On.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new kt(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,On.fromExtension(r,n.contentNameScopesList))}},py=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):Or(n,Mr).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>Or(n,Mr).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},hy=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let r=e?.tokenAttributes??0,a=!1;if(this.balancedBracketSelectors?.matchesAlways&&(a=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const s=e?.getScopeNames()??[];for(const u of this._tokenTypeOverrides)u.matcher(s)&&(r=rn.set(r,0,u.type,null,-1,0,0));this.balancedBracketSelectors&&(a=this.balancedBracketSelectors.match(s))}if(a&&(r=rn.set(r,0,8,a,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===r){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(r),this._lastTokenEndIndex=t;return}const n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let r=0,a=this._binaryTokens.length;r0;)u.Q.map(i=>this._loadSingleGrammar(i.scopeName)),u.processQueue();return this._grammarForScopeName(t,n,r,a,s)}_loadSingleGrammar(t){this._ensureGrammarCache.has(t)||(this._doLoadSingleGrammar(t),this._ensureGrammarCache.set(t,!0))}_doLoadSingleGrammar(t){const n=this._options.loadGrammar(t);if(n){const r=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,r)}}addGrammar(t,n=[],r=0,a=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,r,a)}_grammarForScopeName(t,n=0,r=null,a=null,s=null){return this._syncRegistry.grammarForScopeName(t,n,r,a,s)}},ms=fs.NULL;const gy=/["&'<>`]/g,by=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Ey=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,_y=/[|\\{}()[\]^$+*?.]/g,zi=new WeakMap;function yy(e,t){if(e=e.replace(t.subset?Ay(t.subset):gy,r),t.subset||t.escapeOnly)return e;return e.replace(by,n).replace(Ey,r);function n(a,s,u){return t.format((a.charCodeAt(0)-55296)*1024+a.charCodeAt(1)-56320+65536,u.charCodeAt(s+2),t)}function r(a,s,u){return t.format(a.charCodeAt(0),u.charCodeAt(s+1),t)}}function Ay(e){let t=zi.get(e);return t||(t=Cy(e),zi.set(e,t)),t}function Cy(e){const t=[];let n=-1;for(;++n",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},Sy=["cent","copy","divide","gt","lt","not","para","times"],Jc={}.hasOwnProperty,gs={};let pr;for(pr in La)Jc.call(La,pr)&&(gs[La[pr]]=pr);const Iy=/[^\dA-Za-z]/;function Ny(e,t,n,r){const a=String.fromCharCode(e);if(Jc.call(gs,a)){const s=gs[a],u="&"+s;return n&&wy.includes(s)&&!Sy.includes(s)&&(!r||t&&t!==61&&Iy.test(String.fromCharCode(t)))?u:u+";"}return""}function Fy(e,t,n){let r=Dy(e,t,n.omitOptionalSemicolons),a;if((n.useNamedReferences||n.useShortestReferences)&&(a=Ny(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!a)&&n.useShortestReferences){const s=xy(e,t,n.omitOptionalSemicolons);s.length|^->||--!>|"],By=["<",">"];function vy(e,t,n,r){return r.settings.bogusComments?"":"";function a(s){return tn(s,Object.assign({},r.settings.characterReferences,{subset:By}))}}function Oy(e,t,n,r){return""}function qi(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}const Py=/[ \t\n\f\r]/g;function tu(e){return typeof e=="object"?e.type==="text"?Gi(e.value):!1:Gi(e)}function Gi(e){return e.replace(Py,"")===""}const Ee=td(1),ed=td(-1),$y=[];function td(e){return t;function t(n,r,a){const s=n?n.children:$y;let u=(r||0)+e,i=s[u];if(!a)for(;i&&tu(i);)u+=e,i=s[u];return i}}const My={}.hasOwnProperty;function nd(e){return t;function t(n,r,a){return My.call(e,n.tagName)&&e[n.tagName](n,r,a)}}const nu=nd({body:Hy,caption:Ra,colgroup:Ra,dd:Gy,dt:qy,head:Ra,html:Uy,li:zy,optgroup:Yy,option:Vy,p:jy,rp:Yi,rt:Yi,tbody:Qy,td:Vi,tfoot:Xy,th:Vi,thead:Wy,tr:Ky});function Ra(e,t,n){const r=Ee(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&tu(r.value.charAt(0)))}function Uy(e,t,n){const r=Ee(n,t);return!r||r.type!=="comment"}function Hy(e,t,n){const r=Ee(n,t);return!r||r.type!=="comment"}function jy(e,t,n){const r=Ee(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function zy(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&r.tagName==="li"}function qy(e,t,n){const r=Ee(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function Gy(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function Yi(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function Yy(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function Vy(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function Wy(e,t,n){const r=Ee(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function Qy(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function Xy(e,t,n){return!Ee(n,t)}function Ky(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function Vi(e,t,n){const r=Ee(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const Zy=nd({body:tA,colgroup:nA,head:eA,html:Jy,tbody:rA});function Jy(e){const t=Ee(e,-1);return!t||t.type!=="comment"}function eA(e){const t=new Set;for(const r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}const n=e.children[0];return!n||n.type==="element"}function tA(e){const t=Ee(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&tu(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function nA(e,t,n){const r=ed(n,t),a=Ee(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&nu(r,n.children.indexOf(r),n)?!1:!!(a&&a.type==="element"&&a.tagName==="col")}function rA(e,t,n){const r=ed(n,t),a=Ee(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&nu(r,n.children.indexOf(r),n)?!1:!!(a&&a.type==="element"&&a.tagName==="tr")}const hr={name:[[` +\f\r &/=>`.split(""),` +\f\r "&'/=>\``.split("")],[`\0 +\f\r "&'/<=>`.split(""),`\0 +\f\r "&'/<=>\``.split("")]],unquoted:[[` +\f\r &>`.split(""),`\0 +\f\r "&'<=>\``.split("")],[`\0 +\f\r "&'<=>\``.split(""),`\0 +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function aA(e,t,n,r){const a=r.schema,s=a.space==="svg"?!1:r.settings.omitOptionalTags;let u=a.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const i=[];let o;a.space==="html"&&e.tagName==="svg"&&(r.schema=Zn);const l=sA(r,e.properties),p=r.all(a.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=a,p&&(u=!1),(l||!s||!Zy(e,t,n))&&(i.push("<",e.tagName,l?" "+l:""),u&&(a.space==="svg"||r.settings.closeSelfClosing)&&(o=l.charAt(l.length-1),(!r.settings.tightSelfClosing||o==="/"||o&&o!=='"'&&o!=="'")&&i.push(" "),i.push("/")),i.push(">")),i.push(p),!u&&(!s||!nu(e,t,n))&&i.push(""),i.join("")}function sA(e,t){const n=[];let r=-1,a;if(t){for(a in t)if(t[a]!==null&&t[a]!==void 0){const s=uA(e,a,t[a]);s&&n.push(s)}}for(;++rqi(n,e.alternative)&&(u=e.alternative),i=u+tn(n,Object.assign({},e.settings.characterReferences,{subset:(u==="'"?hr.single:hr.double)[a][s],attribute:!0}))+u),o+(i&&"="+i))}const iA=["<","&"];function rd(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:tn(e.value,Object.assign({},r.settings.characterReferences,{subset:iA}))}function oA(e,t,n,r){return r.settings.allowDangerousHtml?e.value:rd(e,t,n,r)}function lA(e,t,n,r){return r.all(e)}const cA=Ys("type",{invalid:dA,unknown:pA,handlers:{comment:vy,doctype:Oy,element:aA,raw:oA,root:lA,text:rd}});function dA(e){throw new Error("Expected node, not `"+e+"`")}function pA(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const hA={},fA={},mA=[];function gA(e,t){const n=t||hA,r=n.quote||'"',a=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:bA,all:EA,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||tc,characterReferences:n.characterReferences||fA,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Zn:ta,quote:r,alternative:a}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function bA(e,t,n){return cA(e,t,n,this)}function EA(e){const t=[],n=e&&e.children||mA;let r=-1;for(;++rt.default||t)}function ru(e){return!e||["plaintext","txt","text","plain"].includes(e)}function sd(e){return e==="ansi"||ru(e)}function au(e){return e==="none"}function yA(e){return au(e)}function ud(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(/\s+/g);for(const r of n)r&&!e.properties.class.includes(r)&&e.properties.class.push(r);return e}function ia(e,t=!1){const n=e.split(/(\r?\n)/g);let r=0;const a=[];for(let s=0;sa);function n(a){if(a===e.length)return{line:t.length-1,character:t[t.length-1].length};let s=a,u=0;for(const i of t){if(sn&&r.push({...e,content:e.content.slice(n,a),offset:e.offset+n}),n=a;return nr-a);return n.length?e.map(r=>r.flatMap(a=>{const s=n.filter(u=>a.offsetu-a.offset).sort((u,i)=>u-i);return s.length?TA(a,s):a})):e}function kA(e,t,n,r,a="css-vars"){const s={content:e.content,explanation:e.explanation,offset:e.offset},u=t.map(p=>Hr(e.variants[p])),i=new Set(u.flatMap(p=>Object.keys(p))),o={},l=(p,d)=>{const h=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return n+t[p]+(d==="color"?"":h)};return u.forEach((p,d)=>{for(const h of i){const f=p[h]||"inherit";if(d===0&&r&&CA.includes(h))if(r===su&&u.length>1){const m=t.findIndex(T=>T==="light"),A=t.findIndex(T=>T==="dark");if(m===-1||A===-1)throw new ye('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const D=u[m][h]||"inherit",E=u[A][h]||"inherit";o[h]=`light-dark(${D}, ${E})`,a==="css-vars"&&(o[l(d,h)]=f)}else o[h]=f;else a==="css-vars"&&(o[l(d,h)]=f)}}),s.htmlStyle=o,s}function Hr(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&we.Italic&&(t["font-style"]="italic"),e.fontStyle&we.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&we.Underline&&n.push("underline"),e.fontStyle&we.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function bs(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}const id=new WeakMap;function oa(e,t){id.set(e,t)}function Gn(e){return id.get(e)}class dn{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new dn(Object.fromEntries(_A(n).map(r=>[r,ms])),t)}constructor(...t){if(t.length===2){const[n,r]=t;this.lang=r,this._stacks=n}else{const[n,r,a]=t;this.lang=r,this._stacks={[a]:n}}}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return xA(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}}function xA(e){const t=[],n=new Set;function r(a){if(n.has(a))return;n.add(a);const s=a?.nameScopesList?.scopeName;s&&t.push(s),a.parent&&r(a.parent)}return r(e),t}function wA(e,t){if(!(e instanceof dn))throw new ye("Invalid grammar state");return e.getInternalStack(t)}function SA(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let r=function(u){if(typeof u=="number"){if(u<0||u>n.source.length)throw new ye(`Invalid decoration offset: ${u}. Code length: ${n.source.length}`);return{...a.indexToPos(u),offset:u}}else{const i=a.lines[u.line];if(i===void 0)throw new ye(`Invalid decoration position ${JSON.stringify(u)}. Lines length: ${a.lines.length}`);let o=u.character;if(o<0&&(o=i.length+o),o<0||o>i.length)throw new ye(`Invalid decoration position ${JSON.stringify(u)}. Line ${u.line} length: ${i.length}`);return{...u,character:o,offset:a.posToIndex(u.line,o)}}};const a=AA(n.source),s=(n.options.decorations||[]).map(u=>({...u,start:r(u.start),end:r(u.end)}));IA(s),e.set(n.meta,{decorations:s,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){if(!this.options.decorations?.length)return;const a=t(this).decorations.flatMap(u=>[u.start.offset,u.end.offset]);return DA(n,a)},code(n){if(!this.options.decorations?.length)return;const r=t(this),a=Array.from(n.children).filter(p=>p.type==="element"&&p.tagName==="span");if(a.length!==r.converter.lines.length)throw new ye(`Number of lines in code element (${a.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function s(p,d,h,f){const m=a[p];let A="",D=-1,E=-1;if(d===0&&(D=0),h===0&&(E=0),h===Number.POSITIVE_INFINITY&&(E=m.children.length),D===-1||E===-1)for(let k=0;kA);return p.tagName=d.tagName||"span",p.properties={...p.properties,...f,class:p.properties.class},d.properties?.class&&ud(p,d.properties.class),p=m(p,h)||p,p}const o=[],l=r.decorations.sort((p,d)=>d.start.offset-p.start.offset||p.end.offset-d.end.offset);for(const p of l){const{start:d,end:h}=p;if(d.line===h.line)s(d.line,d.character,h.character,p);else if(d.lineu(f,p));s(h.line,0,h.character,p)}}o.forEach(p=>p())}}}function IA(e){for(let t=0;tn.end.offset)throw new ye(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;rNumber.parseInt(r));return n.length!==3||n.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function RA(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)Ba[r]&&t.push({type:"setDecoration",value:Ba[r]});else if(r<=29){const a=Ba[r-20];a&&(t.push({type:"resetDecoration",value:a}),a==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:St[r-30]}});else if(r===38){const a=Wi(e);a&&t.push({type:"setForegroundColor",value:a})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:St[r-40]}});else if(r===48){const a=Wi(e);a&&t.push({type:"setBackgroundColor",value:a})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:St[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:St[r-100+8]}})}return t}function BA(){let e=null,t=null,n=new Set;return{parse(r){const a=[];let s=0;do{const u=LA(r,s),i=u.sequence?r.substring(s,u.startPosition):r.substring(s);if(i.length>0&&a.push({value:i,foreground:e,background:t,decorations:new Set(n)}),u.sequence){const o=RA(u.sequence);for(const l of o)l.type==="resetAll"?(e=null,t=null,n.clear()):l.type==="resetForegroundColor"?e=null:l.type==="resetBackgroundColor"?t=null:l.type==="resetDecoration"&&n.delete(l.value);for(const l of o)l.type==="setForegroundColor"?e=l.value:l.type==="setBackgroundColor"?t=l.value:l.type==="setDecoration"&&n.add(l.value)}s=u.position}while(sMath.max(0,Math.min(o,255)).toString(16).padStart(2,"0")).join("")}`}let r;function a(){if(r)return r;r=[];for(let l=0;l[i,e.colors?.[`terminal.ansi${i[0].toUpperCase()}${i.substring(1)}`]]))),u=BA();return a.map(i=>u.parse(i[0]).map(o=>{let l,p;o.decorations.has("reverse")?(l=o.background?s.value(o.background):e.bg,p=o.foreground?s.value(o.foreground):e.fg):(l=o.foreground?s.value(o.foreground):e.fg,p=o.background?s.value(o.background):void 0),l=_t(l,r),p=_t(p,r),o.decorations.has("dim")&&(l=$A(l));let d=we.None;return o.decorations.has("bold")&&(d|=we.Bold),o.decorations.has("italic")&&(d|=we.Italic),o.decorations.has("underline")&&(d|=we.Underline),o.decorations.has("strikethrough")&&(d|=we.Strikethrough),{content:o.value,offset:i[1],color:l,bgColor:p,fontStyle:d}}))}function $A(e){const t=e.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);if(t)if(t[3]){const r=Math.round(Number.parseInt(t[3],16)/2).toString(16).padStart(2,"0");return`#${t[1]}${t[2]}${r}`}else return t[2]?`#${t[1]}${t[2]}80`:`#${Array.from(t[1]).map(r=>`${r}${r}`).join("")}80`;const n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function uu(e,t,n={}){const{lang:r="text",theme:a=e.getLoadedThemes()[0]}=n;if(ru(r)||au(a))return ia(t).map(o=>[{content:o[0],offset:o[1]}]);const{theme:s,colorMap:u}=e.setTheme(a);if(r==="ansi")return PA(s,t,n);const i=e.getLanguage(r);if(n.grammarState){if(n.grammarState.lang!==i.name)throw new ye(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${i.name}"`);if(!n.grammarState.themes.includes(s.name))throw new ye(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${s.name}"`)}return UA(t,i,s,u,n)}function MA(...e){if(e.length===2)return Gn(e[1]);const[t,n,r={}]=e,{lang:a="text",theme:s=t.getLoadedThemes()[0]}=r;if(ru(a)||au(s))throw new ye("Plain language does not have grammar state");if(a==="ansi")throw new ye("ANSI language does not have grammar state");const{theme:u,colorMap:i}=t.setTheme(s),o=t.getLanguage(a);return new dn(zr(n,o,u,i,r).stateStack,o.name,u.name)}function UA(e,t,n,r,a){const s=zr(e,t,n,r,a),u=new dn(zr(e,t,n,r,a).stateStack,t.name,n.name);return oa(s.tokens,u),s.tokens}function zr(e,t,n,r,a){const s=Ur(n,a),{tokenizeMaxLineLength:u=0,tokenizeTimeLimit:i=500}=a,o=ia(e);let l=a.grammarState?wA(a.grammarState,n.name)??ms:a.grammarContextCode!=null?zr(a.grammarContextCode,t,n,r,{...a,grammarState:void 0,grammarContextCode:void 0}).stateStack:ms,p=[];const d=[];for(let h=0,f=o.length;h0&&m.length>=u){p=[],d.push([{content:m,offset:A,color:"",fontStyle:0}]);continue}let D,E,T;a.includeExplanation&&(D=t.tokenizeLine(m,l,i),E=D.tokens,T=0);const k=t.tokenizeLine2(m,l,i),L=k.tokens.length/2;for(let O=0;OJ.trim());break;case"object":H=q.scope;break;default:continue}M.push({settings:q,selectors:H.map(J=>J.split(/ /))})}$.explanation=[];let Q=0;for(;I+Q({scopeName:t}))}function jA(e,t){const n=[];for(let r=0,a=t.length;r=0&&a>=0;)Qi(e[r],n[a])&&(r-=1),a-=1;return r===-1}function qA(e,t,n){const r=[];for(const{selectors:a,settings:s}of e)for(const u of a)if(zA(u,t,n)){r.push(s);break}return r}function ld(e,t,n){const r=Object.entries(n.themes).filter(o=>o[1]).map(o=>({color:o[0],theme:o[1]})),a=r.map(o=>{const l=uu(e,t,{...n,theme:o.theme}),p=Gn(l),d=typeof o.theme=="string"?o.theme:o.theme.name;return{tokens:l,state:p,theme:d}}),s=GA(...a.map(o=>o.tokens)),u=s[0].map((o,l)=>o.map((p,d)=>{const h={content:p.content,variants:{},offset:p.offset};return"includeExplanation"in n&&n.includeExplanation&&(h.explanation=p.explanation),s.forEach((f,m)=>{const{content:A,explanation:D,offset:E,...T}=f[l][d];h.variants[r[m].color]=T}),h})),i=a[0].state?new dn(Object.fromEntries(a.map(o=>[o.theme,o.state?.getInternalStack(o.theme)])),a[0].state.lang):void 0;return i&&oa(u,i),u}function GA(...e){const t=e.map(()=>[]),n=e.length;for(let r=0;ro[r]),s=t.map(()=>[]);t.forEach((o,l)=>o.push(s[l]));const u=a.map(()=>0),i=a.map(o=>o[0]);for(;i.every(o=>o);){const o=Math.min(...i.map(l=>l.content.length));for(let l=0;lE[1]).map(E=>({color:E[0],theme:E[1]})).sort((E,T)=>E.color===l?-1:T.color===l?1:0);if(h.length===0)throw new ye("`themes` option must not be empty");const f=ld(e,t,n);if(o=Gn(f),l&&su!==l&&!h.find(E=>E.color===l))throw new ye(`\`themes\` option must contain the defaultColor key \`${l}\``);const m=h.map(E=>e.getTheme(E.theme)),A=h.map(E=>E.color);s=f.map(E=>E.map(T=>kA(T,A,p,l,d))),o&&oa(s,o);const D=h.map(E=>Ur(E.theme,n));a=Xi(h,m,D,p,l,"fg",d),r=Xi(h,m,D,p,l,"bg",d),u=`shiki-themes ${m.map(E=>E.name).join(" ")}`,i=l?void 0:[a,r].join(";")}else if("theme"in n){const l=Ur(n.theme,n);s=uu(e,t,n);const p=e.getTheme(n.theme);r=_t(p.bg,l),a=_t(p.fg,l),u=p.name,o=Gn(s)}else throw new ye("Invalid options, either `theme` or `themes` must be provided");return{tokens:s,fg:a,bg:r,themeName:u,rootStyle:i,grammarState:o}}function Xi(e,t,n,r,a,s,u){return e.map((i,o)=>{const l=_t(t[o][s],n[o])||"inherit",p=`${r+i.color}${s==="bg"?"-bg":""}:${l}`;if(o===0&&a){if(a===su&&e.length>1){const d=e.findIndex(A=>A.color==="light"),h=e.findIndex(A=>A.color==="dark");if(d===-1||h===-1)throw new ye('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const f=_t(t[d][s],n[d])||"inherit",m=_t(t[h][s],n[h])||"inherit";return`light-dark(${f}, ${m});${p}`}return l}return u==="css-vars"?p:null}).filter(i=>!!i).join(";")}function Gr(e,t,n,r={meta:{},options:n,codeToHast:(a,s)=>Gr(e,a,s),codeToTokens:(a,s)=>qr(e,a,s)}){let a=t;for(const m of jr(n))a=m.preprocess?.call(r,a,n)||a;let{tokens:s,fg:u,bg:i,themeName:o,rootStyle:l,grammarState:p}=qr(e,a,n);const{mergeWhitespaces:d=!0,mergeSameStyleTokens:h=!1}=n;d===!0?s=VA(s):d==="never"&&(s=WA(s)),h&&(s=QA(s));const f={...r,get source(){return a}};for(const m of jr(n))s=m.tokens?.call(f,s)||s;return YA(s,{...n,fg:u,bg:i,themeName:o,rootStyle:l},f,p)}function YA(e,t,n,r=Gn(e)){const a=jr(t),s=[],u={type:"root",children:[]},{structure:i="classic",tabindex:o="0"}=t;let l={type:"element",tagName:"pre",properties:{class:`shiki ${t.themeName||""}`,style:t.rootStyle||`background-color:${t.bg};color:${t.fg}`,...o!==!1&&o!=null?{tabindex:o.toString()}:{},...Object.fromEntries(Array.from(Object.entries(t.meta||{})).filter(([m])=>!m.startsWith("_")))},children:[]},p={type:"element",tagName:"code",properties:{},children:s};const d=[],h={...n,structure:i,addClassToHast:ud,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return u},get pre(){return l},get code(){return p},get lines(){return d}};if(e.forEach((m,A)=>{A&&(i==="inline"?u.children.push({type:"element",tagName:"br",properties:{},children:[]}):i==="classic"&&s.push({type:"text",value:` +`}));let D={type:"element",tagName:"span",properties:{class:"line"},children:[]},E=0;for(const T of m){let k={type:"element",tagName:"span",properties:{...T.htmlAttrs},children:[{type:"text",value:T.content}]};const L=bs(T.htmlStyle||Hr(T));L&&(k.properties.style=L);for(const O of a)k=O?.span?.call(h,k,A+1,E,D,T)||k;i==="inline"?u.children.push(k):i==="classic"&&D.children.push(k),E+=T.content.length}if(i==="classic"){for(const T of a)D=T?.line?.call(h,D,A+1)||D;d.push(D),s.push(D)}}),i==="classic"){for(const m of a)p=m?.code?.call(h,p)||p;l.children.push(p);for(const m of a)l=m?.pre?.call(h,l)||l;u.children.push(l)}let f=u;for(const m of a)f=m?.root?.call(h,f)||f;return r&&oa(f,r),f}function VA(e){return e.map(t=>{const n=[];let r="",a=0;return t.forEach((s,u)=>{const o=!(s.fontStyle&&(s.fontStyle&we.Underline||s.fontStyle&we.Strikethrough));o&&s.content.match(/^\s+$/)&&t[u+1]?(a||(a=s.offset),r+=s.content):r?(o?n.push({...s,offset:a,content:r+s.content}):n.push({content:r,offset:a},s),a=0,r=""):n.push(s)}),n})}function WA(e){return e.map(t=>t.flatMap(n=>{if(n.content.match(/^\s+$/))return n;const r=n.content.match(/^(\s*)(.*?)(\s*)$/);if(!r)return n;const[,a,s,u]=r;if(!a&&!u)return n;const i=[{...n,offset:n.offset+a.length,content:s}];return a&&i.unshift({content:a,offset:n.offset}),u&&i.push({content:u,offset:n.offset+a.length+s.length}),i}))}function QA(e){return e.map(t=>{const n=[];for(const r of t){if(n.length===0){n.push({...r});continue}const a=n[n.length-1],s=bs(a.htmlStyle||Hr(a)),u=bs(r.htmlStyle||Hr(r)),i=a.fontStyle&&(a.fontStyle&we.Underline||a.fontStyle&we.Strikethrough),o=r.fontStyle&&(r.fontStyle&we.Underline||r.fontStyle&we.Strikethrough);!i&&!o&&s===u?a.content+=r.content:n.push({...r})}return n})}const XA=gA;function KA(e,t,n){const r={meta:{},options:n,codeToHast:(s,u)=>Gr(e,s,u),codeToTokens:(s,u)=>qr(e,s,u)};let a=XA(Gr(e,t,n,r));for(const s of jr(n))a=s.postprocess?.call(r,a,n)||a;return a}const Ki={light:"#333333",dark:"#bbbbbb"},Zi={light:"#fffffe",dark:"#1e1e1e"},Ji="__shiki_resolved";function iu(e){if(e?.[Ji])return e;const t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||="dark",t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){const i=t.settings?t.settings.find(o=>!o.name&&!o.scope):void 0;i?.settings?.foreground&&(r=i.settings.foreground),i?.settings?.background&&(n=i.settings.background),!r&&t?.colors?.["editor.foreground"]&&(r=t.colors["editor.foreground"]),!n&&t?.colors?.["editor.background"]&&(n=t.colors["editor.background"]),r||(r=t.type==="light"?Ki.light:Ki.dark),n||(n=t.type==="light"?Zi.light:Zi.dark),t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let a=0;const s=new Map;function u(i){if(s.has(i))return s.get(i);a+=1;const o=`#${a.toString(16).padStart(8,"0").toLowerCase()}`;return t.colorReplacements?.[`#${o}`]?u(i):(s.set(i,o),o)}t.settings=t.settings.map(i=>{const o=i.settings?.foreground&&!i.settings.foreground.startsWith("#"),l=i.settings?.background&&!i.settings.background.startsWith("#");if(!o&&!l)return i;const p={...i,settings:{...i.settings}};if(o){const d=u(i.settings.foreground);t.colorReplacements[d]=i.settings.foreground,p.settings.foreground=d}if(l){const d=u(i.settings.background);t.colorReplacements[d]=i.settings.background,p.settings.background=d}return p});for(const i of Object.keys(t.colors||{}))if((i==="editor.foreground"||i==="editor.background"||i.startsWith("terminal.ansi"))&&!t.colors[i]?.startsWith("#")){const o=u(t.colors[i]);t.colorReplacements[o]=t.colors[i],t.colors[i]=o}return Object.defineProperty(t,Ji,{enumerable:!1,writable:!1,value:!0}),t}async function ZA(e){return Array.from(new Set((await Promise.all(e.filter(t=>!sd(t)).map(async t=>await ad(t).then(n=>Array.isArray(n)?n:[n])))).flat()))}async function JA(e){return(await Promise.all(e.map(async n=>yA(n)?null:iu(await ad(n))))).filter(n=>!!n)}class Kt extends Error{constructor(t){super(t),this.name="ShikiError"}}class eC extends my{constructor(t,n,r,a={}){super(t),this._resolver=t,this._themes=n,this._langs=r,this._alias=a,this._themes.map(s=>this.loadTheme(s)),this.loadLanguages(this._langs)}_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){const n=iu(t);return n.name&&(this._resolvedThemes.set(n.name,n),this._loadedThemesCache=null),n}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let n=this._textmateThemeCache.get(t);n||(n=vr.createFromRawTheme(t),this._textmateThemeCache.set(t,n)),this._syncRegistry.setTheme(n)}getGrammar(t){if(this._alias[t]){const n=new Set([t]);for(;this._alias[t];){if(t=this._alias[t],n.has(t))throw new Kt(`Circular alias \`${Array.from(n).join(" -> ")} -> ${t}\``);n.add(t)}}return this._resolvedGrammars.get(t)}loadLanguage(t){if(this.getGrammar(t.name))return;const n=new Set([...this._langMap.values()].filter(s=>s.embeddedLangsLazy?.includes(t.name)));this._resolver.addLanguage(t);const r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);const a=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(a.name=t.name,this._resolvedGrammars.set(t.name,a),t.aliases&&t.aliases.forEach(s=>{this._alias[s]=t.name}),this._loadedLanguagesCache=null,n.size)for(const s of n)this._resolvedGrammars.delete(s.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(s.scopeName),this._syncRegistry?._grammars?.delete(s.scopeName),this.loadLanguage(this._langMap.get(s.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(const a of t)this.resolveEmbeddedLanguages(a);const n=Array.from(this._langGraph.entries()),r=n.filter(([a,s])=>!s);if(r.length){const a=n.filter(([s,u])=>u&&u.embeddedLangs?.some(i=>r.map(([o])=>o).includes(i))).filter(s=>!r.includes(s));throw new Kt(`Missing languages ${r.map(([s])=>`\`${s}\``).join(", ")}, required by ${a.map(([s])=>`\`${s}\``).join(", ")}`)}for(const[a,s]of n)this._resolver.addLanguage(s);for(const[a,s]of n)this.loadLanguage(s)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){if(this._langMap.set(t.name,t),this._langGraph.set(t.name,t),t.embeddedLangs)for(const n of t.embeddedLangs)this._langGraph.set(n,this._langMap.get(n))}}class tC{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(t,n){this._onigLib={createOnigScanner:r=>t.createScanner(r),createOnigString:r=>t.createString(r)},n.forEach(r=>this.addLanguage(r))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(n=>{this._langs.set(n,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(n=>{this._injections.get(n)||this._injections.set(n,[]),this._injections.get(n).push(t.scopeName)})}getInjections(t){const n=t.split(".");let r=[];for(let a=1;a<=n.length;a++){const s=n.slice(0,a).join(".");r=[...r,...this._injections.get(s)||[]]}return r}}let Tn=0;function nC(e){Tn+=1,e.warnings!==!1&&Tn>=10&&Tn%10===0&&console.warn(`[Shiki] ${Tn} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Kt("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(iu),a=new tC(e.engine,n),s=new eC(a,r,n,e.langAlias);let u;function i(T){D();const k=s.getGrammar(typeof T=="string"?T:T.name);if(!k)throw new Kt(`Language \`${T}\` not found, you may need to load it first`);return k}function o(T){if(T==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};D();const k=s.getTheme(T);if(!k)throw new Kt(`Theme \`${T}\` not found, you may need to load it first`);return k}function l(T){D();const k=o(T);u!==T&&(s.setTheme(k),u=T);const L=s.getColorMap();return{theme:k,colorMap:L}}function p(){return D(),s.getLoadedThemes()}function d(){return D(),s.getLoadedLanguages()}function h(...T){D(),s.loadLanguages(T.flat(1))}async function f(...T){return h(await ZA(T))}function m(...T){D();for(const k of T.flat(1))s.loadTheme(k)}async function A(...T){return D(),m(await JA(T))}function D(){if(t)throw new Kt("Shiki instance has been disposed")}function E(){t||(t=!0,s.dispose(),Tn-=1)}return{setTheme:l,getTheme:o,getLanguage:i,getLoadedThemes:p,getLoadedLanguages:d,loadLanguage:f,loadLanguageSync:h,loadTheme:A,loadThemeSync:m,dispose:E,[Symbol.dispose]:E}}function rC(e){const t=nC(e);return{getLastGrammarState:(...n)=>MA(t,...n),codeToTokensBase:(n,r)=>uu(t,n,r),codeToTokensWithThemes:(n,r)=>ld(t,n,r),codeToTokens:(n,r)=>qr(t,n,r),codeToHast:(n,r)=>Gr(t,n,r),codeToHtml:(n,r)=>KA(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function pn(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function aC(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const ou=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),Ce=String.raw;function hn(e,t){if(e==null)throw new Error(t??"Value expected");return e}const cd=Ce`\[\^?`,dd=`c.? | C(?:-.?)?|${Ce`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${Ce`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${Ce`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${Ce`o\{[^\}]*\}?`}|${Ce`\d{1,3}`}`,lu=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,fr=new RegExp(Ce` + \\ (?: + ${dd} + | [gk]<[^>]*>? + | [gk]'[^']*'? + | . + ) + | \( (?: + \? (?: + [:=!>({] + | <[=!] + | <[^>]*> + | '[^']*' + | ~\|? + | #(?:[^)\\]|\\.?)* + | [^:)]*[:)] + )? + | \*[^\)]*\)? + )? + | (?:${lu.source})+ + | ${cd} + | . +`.replace(/\s+/g,""),"gsu"),va=new RegExp(Ce` + \\ (?: + ${dd} + | . + ) + | \[:(?:\^?\p{Alpha}+|\^):\] + | ${cd} + | && + | . +`.replace(/\s+/g,""),"gsu");function sC(e,t={}){const n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");const r=DC(n.flags),a=[r.extended],s={captureGroup:n.rules.captureGroup,getCurrentModX(){return a.at(-1)},numOpenGroups:0,popModX(){a.pop()},pushModX(d){a.push(d)},replaceCurrentModX(d){a[a.length-1]=d},singleline:n.rules.singleline};let u=[],i;for(fr.lastIndex=0;i=fr.exec(e);){const d=uC(s,e,i[0],fr.lastIndex);d.tokens?u.push(...d.tokens):d.token&&u.push(d.token),d.lastIndex!==void 0&&(fr.lastIndex=d.lastIndex)}const o=[];let l=0;u.filter(d=>d.type==="GroupOpen").forEach(d=>{d.kind==="capturing"?d.number=++l:d.raw==="("&&o.push(d)}),l||o.forEach((d,h)=>{d.kind="capturing",d.number=h+1});const p=l||o.length;return{tokens:u.map(d=>d.type==="EscapedNumber"?xC(d,p):d).flat(),flags:r}}function uC(e,t,n,r){const[a,s]=n;if(n==="["||n==="[^"){const u=iC(t,n,r);return{tokens:u.tokens,lastIndex:u.lastIndex}}if(a==="\\"){if("AbBGyYzZ".includes(s))return{token:eo(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:bC(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:hd(n)}}if(s==="K")return{token:fd("keep",n)};if(s==="N"||s==="R")return{token:It("newline",n,{negate:s==="N"})};if(s==="O")return{token:It("any",n)};if(s==="X")return{token:It("text_segment",n)};const u=pd(n,{inCharClass:!1});return Array.isArray(u)?{tokens:u}:{token:u}}if(a==="("){if(s==="*")return{token:AC(n)};if(n==="(?{")throw new Error(`Unsupported callout "${n}"`);if(n.startsWith("(?#")){if(t[r]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:yC(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Yt("group",n)};if(n==="(?>")return{token:Yt("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Yt("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error(`Unsupported absence function kind "${n}"`);return{token:Yt("absence_repeater",n)}}throw n==="(?("?new Error(`Unsupported conditional "${n}"`):new Error(`Invalid or unsupported group option "${n}"`)}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:fC(n)}}if(e.getCurrentModX()){if(n==="#"){const u=t.indexOf(` +`,r);return{lastIndex:u===-1?t.length:u}}if(/^\s$/.test(n)){const u=/\s+/y;return u.lastIndex=r,{lastIndex:u.exec(t)?u.lastIndex:r}}}if(n===".")return{token:It("dot",n)};if(n==="^"||n==="$"){const u=e.singleline?{"^":Ce`\A`,$:Ce`\Z`}[n]:n;return{token:eo(u,n)}}return n==="|"?{token:lC(n)}:lu.test(n)?{tokens:wC(n)}:{token:lt(pn(n),n)}}function iC(e,t,n){const r=[to(t[1]==="^",t)];let a=1,s;for(va.lastIndex=n;s=va.exec(e);){const u=s[0];if(u[0]==="["&&u[1]!==":")a++,r.push(to(u[1]==="^",u));else if(u==="]"){if(r.at(-1).type==="CharacterClassOpen")r.push(lt(93,u));else if(a--,r.push(cC(u)),!a)break}else{const i=oC(u);Array.isArray(i)?r.push(...i):r.push(i)}}return{tokens:r,lastIndex:va.lastIndex||e.length}}function oC(e){if(e[0]==="\\")return pd(e,{inCharClass:!0});if(e[0]==="["){const t=/\[:(?\^?)(?[a-z]+):\]/.exec(e);if(!t||!ou.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return It("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?dC(e):e==="&&"?pC(e):lt(pn(e),e)}function pd(e,{inCharClass:t}){const n=e[1];if(n==="c"||n==="C")return _C(e);if("dDhHsSwW".includes(n))return CC(e);if(e.startsWith(Ce`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return TC(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const r=e.split(/\\x/).slice(1).map(u=>parseInt(u,16)),a=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(r)),s=new TextEncoder;return[...a].map(u=>{const i=[...s.encode(u)].map(o=>`\\x${o.toString(16)}`).join("");return lt(pn(u),i)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return lt(kC(e),e);if(no.has(n))return lt(no.get(n),e);if(/\d/.test(n))return hC(t,e);if(e==="\\")throw new Error(Ce`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return lt(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function lC(e){return{type:"Alternator",raw:e}}function eo(e,t){return{type:"Assertion",kind:e,raw:t}}function hd(e){return{type:"Backreference",raw:e}}function lt(e,t){return{type:"Character",value:e,raw:t}}function cC(e){return{type:"CharacterClassClose",raw:e}}function dC(e){return{type:"CharacterClassHyphen",raw:e}}function pC(e){return{type:"CharacterClassIntersector",raw:e}}function to(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function It(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function fd(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:hn(n.flags),raw:t}}function hC(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function fC(e){return{type:"GroupClose",raw:e}}function Yt(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function mC(e,t,n,r){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:r}}function gC(e,t,n,r){return{type:"Quantifier",kind:e,min:t,max:n,raw:r}}function bC(e){return{type:"Subroutine",raw:e}}const EC=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),no=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function _C(e){const t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return lt(pn(t.toUpperCase())-64,e)}function yC(e,t){let{on:n,off:r}=/^\(\?(?[imx]*)(?:-(?[-imx]*))?/.exec(e).groups;r??="";const a=(t.getCurrentModX()||n.includes("x"))&&!r.includes("x"),s=ao(n),u=ao(r),i={};if(s&&(i.enable=s),u&&(i.disable=u),e.endsWith(")"))return t.replaceCurrentModX(a),fd("flags",e,{flags:i});if(e.endsWith(":"))return t.pushModX(a),t.numOpenGroups++,Yt("group",e,{...(s||u)&&{flags:i}});throw new Error(`Unexpected flag modifier "${e}"`)}function AC(e){const t=/\(\*(?[A-Za-z_]\w*)?(?:\[(?(?:[A-Za-z_]\w*)?)\])?(?:\{(?[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);const{name:n,tag:r,args:a}=t.groups;if(!n)throw new Error(`Invalid named callout "${e}"`);if(r==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const s=a?a.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[u,i,o]=s,l=EC.has(n)?n.toLowerCase():"custom";switch(l){case"fail":case"mismatch":case"skip":if(s.length>0)throw new Error(`Named callout arguments not allowed "${s}"`);break;case"error":if(s.length>1)throw new Error(`Named callout allows only one argument "${s}"`);if(typeof u=="string")throw new Error(`Named callout argument must be a number "${u}"`);break;case"max":if(!s.length||s.length>2)throw new Error(`Named callout must have one or two arguments "${s}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(s.length===2&&(typeof i=="number"||!/^[<>X]$/.test(i)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${i}"`);break;case"count":case"total_count":if(s.length>1)throw new Error(`Named callout allows only one argument "${s}"`);if(s.length===1&&(typeof u=="number"||!/^[<>X]$/.test(u)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${u}"`);break;case"cmp":if(s.length!==3)throw new Error(`Named callout must have three arguments "${s}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(typeof i=="number"||!/^(?:[<>!=]=|[<>])$/.test(i))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${i}"`);if(typeof o=="string"&&!/^[A-Za-z_]\w*$/.test(o))throw new Error(`Named callout argument three must be a tag or number "${o}"`);break;case"custom":throw new Error(`Undefined callout name "${n}"`);default:throw new Error(`Unexpected named callout kind "${l}"`)}return mC(l,r??null,a?.split(",")??null,e)}function ro(e){let t=null,n,r;if(e[0]==="{"){const{minStr:a,maxStr:s}=/^\{(?\d*)(?:,(?\d*))?/.exec(e).groups,u=1e5;if(+a>u||s&&+s>u)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+a,r=s===void 0?+a:s===""?1/0:+s,n>r&&(t="possessive",[n,r]=[r,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,r=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return gC(t,n,r,e)}function CC(e){const t=e[1].toLowerCase();return It({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function TC(e){const{p:t,neg:n,value:r}=/^\\(?

[pP])\{(?\^?)(?[^}]+)/.exec(e).groups;return It("property",e,{value:r,negate:t==="P"&&!n||t==="p"&&!!n})}function ao(e){const t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function DC(e){const t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n\\p{AHex}+)","u").exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function xC(e,t){const{raw:n,inCharClass:r}=e,a=n.slice(1);if(!r&&(a!=="0"&&a.length===1||a[0]!=="0"&&+a<=t))return[hd(n)];const s=[],u=a.match(/^[0-7]+|\d/g);for(let i=0;i127)throw new Error(Ce`Octal encoded byte above 177 unsupported "${n}"`)}else l=pn(o);s.push(lt(l,(i===0?"\\":"")+o))}return s}function wC(e){const t=[],n=new RegExp(lu,"gy");let r;for(;r=n.exec(e);){const a=r[0];if(a[0]==="{"){const s=/^\{(?\d+),(?\d+)\}\??$/.exec(a);if(s){const{min:u,max:i}=s.groups;if(+u>+i&&a.endsWith("?")){n.lastIndex--,t.push(ro(a.slice(0,-1)));continue}}}t.push(ro(a))}return t}function md(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;const n=e.body[0];return!t||Object.keys(t).every(r=>t[r]===n[r])}function SC(e){return IC.has(e.type)}const IC=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function gd(e,t={}){const n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=sC(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),a=(h,f)=>{const m=r.tokens[s.nextIndex];switch(s.parent=h,s.nextIndex++,m.type){case"Alternator":return Rt();case"Assertion":return NC(m);case"Backreference":return FC(m,s);case"Character":return la(m.value,{useLastValid:!!f.isCheckingRangeEnd});case"CharacterClassHyphen":return LC(m,s,f);case"CharacterClassOpen":return RC(m,s,f);case"CharacterSet":return BC(m,s);case"Directive":return UC(m.kind,{flags:m.flags});case"GroupOpen":return vC(m,s,f);case"NamedCallout":return jC(m.kind,m.tag,m.arguments);case"Quantifier":return OC(m,s);case"Subroutine":return PC(m,s);default:throw new Error(`Unexpected token type "${m.type}"`)}},s={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:a},u=qC(HC(r.flags));let i=u.body[0];for(;s.nextIndexo.length)throw new Error("Subroutine uses a group number that's not defined");h&&(o[h-1].isSubroutined=!0)}else if(p.has(h)){if(p.get(h).length>1)throw new Error(Ce`Subroutine uses a duplicate group name "\g<${h}>"`);p.get(h)[0].isSubroutined=!0}else throw new Error(Ce`Subroutine uses a group name that's not defined "\g<${h}>"`);return u}function NC({kind:e}){return Es(hn({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===Ce`\B`||e===Ce`\Y`})}function FC({raw:e},t){const n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),a=(s,u=!1)=>{const i=t.capturingGroups.length;let o=!1;if(s>i)if(t.skipBackrefValidation)o=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,_s(u?i+1-s:s,{orphan:o})};if(n){const s=/^(?-?)0*(?[1-9]\d*)$/.exec(r);if(s)return a(+s.groups.num,!!s.groups.sign);if(/[-+]/.test(r))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw new Error(`Group name not defined to the left "${e}"`);return _s(r)}return a(+r)}function LC(e,t,n){const{tokens:r,walk:a}=t,s=t.parent,u=s.body.at(-1),i=r[t.nextIndex];if(!n.isCheckingRangeEnd&&u&&u.type!=="CharacterClass"&&u.type!=="CharacterClassRange"&&i&&i.type!=="CharacterClassOpen"&&i.type!=="CharacterClassClose"&&i.type!=="CharacterClassIntersector"){const o=a(s,{...n,isCheckingRangeEnd:!0});if(u.type==="Character"&&o.type==="Character")return s.body.pop(),MC(u,o);throw new Error("Invalid character class range")}return la(pn("-"))}function RC({negate:e},t,n){const{tokens:r,walk:a}=t,s=r[t.nextIndex],u=[Dr()];let i=io(s);for(;i.type!=="CharacterClassClose";){if(i.type==="CharacterClassIntersector")u.push(Dr()),t.nextIndex++;else{const l=u.at(-1);l.body.push(a(l,n))}i=io(r[t.nextIndex],s)}const o=Dr({negate:e});return u.length===1?o.body=u[0].body:(o.kind="intersection",o.body=u.map(l=>l.body.length===1?l.body[0]:l)),t.nextIndex++,o}function BC({kind:e,negate:t,value:n},r){const{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:s,unicodePropertyMap:u}=r;if(e==="property"){const i=ca(n);if(ou.has(i)&&!u?.has(i))e="posix",n=i;else return Vt(n,{negate:t,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:s,unicodePropertyMap:u})}return e==="posix"?zC(n,{negate:t}):ys(e,{negate:t})}function vC(e,t,n){const{tokens:r,capturingGroups:a,namedGroupsByName:s,skipLookbehindValidation:u,walk:i}=t,o=GC(e),l=o.type==="AbsenceFunction",p=uo(o),d=p&&o.negate;if(o.type==="CapturingGroup"&&(a.push(o),o.name&&aC(s,o.name,[]).push(o)),l&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let h=oo(r[t.nextIndex]);for(;h.type!=="GroupClose";){if(h.type==="Alternator")o.body.push(Rt()),t.nextIndex++;else{const f=o.body.at(-1),m=i(f,{...n,isInAbsenceFunction:n.isInAbsenceFunction||l,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||d});if(f.body.push(m),(p||n.isInLookbehind)&&!u){const A="Lookbehind includes a pattern not allowed by Oniguruma";if(d||n.isInNegLookbehind){if(so(m)||m.type==="CapturingGroup")throw new Error(A)}else if(so(m)||uo(m)&&m.negate)throw new Error(A)}}h=oo(r[t.nextIndex])}return t.nextIndex++,o}function OC({kind:e,min:t,max:n},r){const a=r.parent,s=a.body.at(-1);if(!s||!SC(s))throw new Error("Quantifier requires a repeatable token");const u=Ed(e,t,n,s);return a.body.pop(),u}function PC({raw:e},t){const{capturingGroups:n,subroutines:r}=t;let a=e.slice(3,-1);const s=/^(?[-+]?)0*(?[1-9]\d*)$/.exec(a);if(s){const i=+s.groups.num,o=n.length;if(t.hasNumberedRef=!0,a={"":i,"+":o+i,"-":o+1-i}[s.groups.sign],a<1)throw new Error("Invalid subroutine number")}else a==="0"&&(a=0);const u=_d(a);return r.push(u),u}function $C(e,t){return{type:"AbsenceFunction",kind:e,body:rr(t?.body)}}function Rt(e){return{type:"Alternative",body:yd(e?.body)}}function Es(e,t){const n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!t?.negate),n}function _s(e,t){const n=!!t?.orphan;return{type:"Backreference",ref:e,...n&&{orphan:n}}}function bd(e,t){const n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!YC(n.name))throw new Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:rr(t?.body)}}function la(e,t){const n={useLastValid:!1,...t};if(e>1114111){const r=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${r}}"`):new Error(`Invalid code point out of range in JS "\\x{${r}}"`)}return{type:"Character",value:e}}function Dr(e){const t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:yd(e?.body)}}function MC(e,t){if(t.valuen)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:r}}function qC(e,t){return{type:"Regex",body:rr(t?.body),flags:e}}function _d(e){return{type:"Subroutine",ref:e}}function Vt(e,t){const n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t};let r=n.unicodePropertyMap?.get(ca(e));if(!r){if(n.normalizeUnknownPropertyNames)r=VC(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(Ce`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:r??e,negate:n.negate}}function GC({flags:e,kind:t,name:n,negate:r,number:a}){switch(t){case"absence_repeater":return $C("repeater");case"atomic":return We({atomic:!0});case"capturing":return bd(a,{name:n});case"group":return We({flags:e});case"lookahead":case"lookbehind":return xt({behind:t==="lookbehind",negate:r});default:throw new Error(`Unexpected group kind "${t}"`)}}function rr(e){if(e===void 0)e=[Rt()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function yd(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function so(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function uo(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function YC(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function VC(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ca(e){return e.replace(/[- _]+/g,"").toLowerCase()}function io(e,t){return hn(e,`${t?.type==="Character"&&t.value===93?"Empty":"Unclosed"} character class`)}function oo(e){return hn(e,"Unclosed group")}function Pn(e,t,n=null){function r(s,u){for(let i=0;iA-Za-z\-]|<[=!]|\(DEFINE\))`;function QC(e,t){for(let n=0;n=t&&e[n]++}function XC(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}const Ge=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function cu(e,t,n,r){const a=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),s=[!1];let u=0,i="";for(const o of e.matchAll(a)){const{0:l,groups:{$skip:p}}=o;if(!p&&(!r||r===Ge.DEFAULT==!u)){n instanceof Function?i+=n(o,{context:u?Ge.CHAR_CLASS:Ge.DEFAULT,negated:s[s.length-1]}):i+=n;continue}l[0]==="["?(u++,s.push(l[1]==="^")):l==="]"&&u&&(u--,s.pop()),i+=l}return i}function Ad(e,t,n,r){cu(e,t,n,r)}function KC(e,t,n=0,r){if(!new RegExp(t,"su").test(e))return null;const a=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");a.lastIndex=n;let s=0,u;for(;u=a.exec(e);){const{0:i,groups:{$skip:o}}=u;if(!o&&(!r||r===Ge.DEFAULT==!s))return u;i==="["?s++:i==="]"&&s&&s--,a.lastIndex==u.index&&a.lastIndex++}return null}function gr(e,t,n){return!!KC(e,t,0,n)}function ZC(e,t){const n=/\\?./gsu;n.lastIndex=t;let r=e.length,a=0,s=1,u;for(;u=n.exec(e);){const[i]=u;if(i==="[")a++;else if(a)i==="]"&&a--;else if(i==="(")s++;else if(i===")"&&(s--,!s)){r=u.index;break}}return e.slice(t,r)}const lo=new RegExp(String.raw`(?${WC})|(?\((?:\?<[^>]+>)?)|\\?.`,"gsu");function JC(e,t){const n=t?.hiddenCaptures??[];let r=t?.captureTransfers??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};const a="(?>",s="(?:(?=(",u=[0],i=[];let o=0,l=0,p=NaN,d;do{d=!1;let h=0,f=0,m=!1,A;for(lo.lastIndex=Number.isNaN(p)?0:p+s.length;A=lo.exec(e);){const{0:D,index:E,groups:{capturingStart:T,noncapturingStart:k}}=A;if(D==="[")h++;else if(h)D==="]"&&h--;else if(D===a&&!m)p=E,m=!0;else if(m&&k)f++;else if(T)m?f++:(o++,u.push(o+l));else if(D===")"&&m){if(!f){l++;const L=o+l;if(e=`${e.slice(0,p)}${s}${e.slice(p+a.length,E)}))<$$${L}>)${e.slice(E+1)}`,d=!0,i.push(L),QC(n,L),r.size){const O=new Map;r.forEach((I,U)=>{O.set(U>=L?U+1:U,I.map(j=>j>=L?j+1:j))}),r=O}break}f--}}}while(d);return n.push(...i),e=cu(e,String.raw`\\(?[1-9]\d*)|<\$\$(?\d+)>`,({0:h,groups:{backrefNum:f,wrappedBackrefNum:m}})=>{if(f){const A=+f;if(A>u.length-1)throw new Error(`Backref "${h}" greater than number of captures`);return`\\${u[A]}`}return`\\${m}`},Ge.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}const Cd=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Oa=new RegExp(String.raw` +\\(?: \d+ + | c[A-Za-z] + | [gk]<[^>]+> + | [pPu]\{[^\}]+\} + | u[A-Fa-f\d]{4} + | x[A-Fa-f\d]{2} + ) +| \((?: \? (?: [:=!>] + | <(?:[=!]|[^>]+>) + | [A-Za-z\-]+: + | \(DEFINE\) + ))? +| (?${Cd})(?[?+]?)(?[?*+\{]?) +| \\?. +`.replace(/\s+/g,""),"gsu");function eT(e){if(!new RegExp(`${Cd}\\+`).test(e))return{pattern:e};const t=[];let n=null,r=null,a="",s=0,u;for(Oa.lastIndex=0;u=Oa.exec(e);){const{0:i,index:o,groups:{qBase:l,qMod:p,invalidQ:d}}=u;if(i==="[")s||(r=o),s++;else if(i==="]")s?s--:r=null;else if(!s)if(p==="+"&&a&&!a.startsWith("(")){if(d)throw new Error(`Invalid quantifier "${i}"`);let h=-1;if(/^\{\d+\}$/.test(l))e=XC(e,o+l.length,p,"");else{if(a===")"||a==="]"){const f=a===")"?n:r;if(f===null)throw new Error(`Invalid unmatched "${a}"`);e=`${e.slice(0,f)}(?>${e.slice(f,o)}${l})${e.slice(o+i.length)}`}else e=`${e.slice(0,o-a.length)}(?>${a}${l})${e.slice(o+i.length)}`;h+=4}Oa.lastIndex+=h}else i[0]==="("?t.push(o):i===")"&&(n=t.length?t.pop():null);a=i}return{pattern:e}}const qe=String.raw,tT=qe`\\g<(?[^>&]+)&R=(?[^>]+)>`,As=qe`\(\?R=(?[^\)]+)\)|${tT}`,da=qe`\(\?<(?![=!])(?[^>]+)>`,Td=qe`${da}|(?\()(?!\?)`,Dt=new RegExp(qe`${da}|${As}|\(\?|\\?.`,"gsu"),Pa="Cannot use multiple overlapping recursions";function nT(e,t){const{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:"plugin",...t};let a=t?.captureTransfers??new Map;if(!new RegExp(As,"su").test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};if(r==="plugin"&&gr(e,qe`\(\?\(DEFINE\)`,Ge.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const s=[],u=gr(e,qe`\\[1-9]`,Ge.DEFAULT),i=new Map,o=[];let l=!1,p=0,d=0,h;for(Dt.lastIndex=0;h=Dt.exec(e);){const{0:f,groups:{captureName:m,rDepth:A,gRNameOrNum:D,gRDepth:E}}=h;if(f==="[")p++;else if(p)f==="]"&&p--;else if(A){if(co(A),l)throw new Error(Pa);if(u)throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const T=e.slice(0,h.index),k=e.slice(Dt.lastIndex);if(gr(k,As,Ge.DEFAULT))throw new Error(Pa);const L=+A-1;e=po(T,k,L,!1,n,s,d),a=fo(a,T,L,s.length,0,d);break}else if(D){co(E);let T=!1;for(const M of o)if(M.name===D||M.num===+D){if(T=!0,M.hasRecursedWithin)throw new Error(Pa);break}if(!T)throw new Error(qe`Recursive \g cannot be used outside the referenced group "${r==="external"?D:qe`\g<${D}&R=${E}>`}"`);const k=i.get(D),L=ZC(e,k);if(u&&gr(L,qe`${da}|\((?!\?)`,Ge.DEFAULT))throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const O=e.slice(k,h.index),I=L.slice(O.length+f.length),U=s.length,j=+E-1,z=po(O,I,j,!0,n,s,d);a=fo(a,O,j,s.length-U,U,d);const w=e.slice(0,k),$=e.slice(k+L.length);e=`${w}${z}${$}`,Dt.lastIndex+=z.length-f.length-O.length-I.length,o.forEach(M=>M.hasRecursedWithin=!0),l=!0}else if(m)d++,i.set(String(d),Dt.lastIndex),i.set(m,Dt.lastIndex),o.push({num:d,name:m});else if(f[0]==="("){const T=f==="(";T&&(d++,i.set(String(d),Dt.lastIndex)),o.push(T?{num:d}:{})}else f===")"&&o.pop()}return n.push(...s),{pattern:e,captureTransfers:a,hiddenCaptures:n}}function co(e){const t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function po(e,t,n,r,a,s,u){const i=new Set;r&&Ad(e+t,da,({groups:{captureName:l}})=>{i.add(l)},Ge.DEFAULT);const o=[n,r?i:null,a,s,u];return`${e}${ho(`(?:${e}`,"forward",...o)}(?:)${ho(`${t})`,"backward",...o)}${t}`}function ho(e,t,n,r,a,s,u){const o=p=>t==="forward"?p+2:n-p+2-1;let l="";for(let p=0;p[^>]+)>`,({0:h,groups:{captureName:f,unnamed:m,backref:A}})=>{if(A&&r&&!r.has(A))return h;const D=`_$${d}`;if(m||f){const E=u+s.length+1;return s.push(E),rT(a,E),m?h:`(?<${f}${D}>`}return qe`\k<${A}${D}>`},Ge.DEFAULT)}return l}function rT(e,t){for(let n=0;n=t&&e[n]++}function fo(e,t,n,r,a,s){if(e.size&&r){let u=0;Ad(t,Td,()=>u++,Ge.DEFAULT);const i=s-u+a,o=new Map;return e.forEach((l,p)=>{const d=(r-u*n)/n,h=u*n,f=p>i+u?p+r:p,m=[];for(const A of l)if(A<=i)m.push(A);else if(A>i+u+d)m.push(A+r);else if(A<=i+u)for(let D=0;D<=n;D++)m.push(A+u*D);else for(let D=0;D<=n;D++)m.push(A+h+d*D);o.set(f,m)}),o}return e}var be=String.fromCodePoint,V=String.raw,ct={flagGroups:(()=>{try{new RegExp("(?i:)")}catch{return!1}return!0})(),unicodeSets:(()=>{try{new RegExp("","v")}catch{return!1}return!0})()};ct.bugFlagVLiteralHyphenIsRange=ct.unicodeSets?(()=>{try{new RegExp(V`[\d\-a]`,"v")}catch{return!0}return!1})():!1;ct.bugNestedClassIgnoresNegation=ct.unicodeSets&&new RegExp("[[^a]]","v").test("a");function Yr(e,{enable:t,disable:n}){return{dotAll:!n?.dotAll&&!!(t?.dotAll||e.dotAll),ignoreCase:!n?.ignoreCase&&!!(t?.ignoreCase||e.ignoreCase)}}function Yn(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Cs(e,t){return mo[e]>=mo[t]}function aT(e,t){if(e==null)throw new Error(t??"Value expected");return e}var mo={ES2025:2025,ES2024:2024,ES2018:2018},sT={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function Dd(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!sT[e.target])throw new Error(`Unexpected target "${e.target}"`);const t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=ct.flagGroups?"ES2025":ct.unicodeSets?"ES2024":"ES2018"),t}var uT="[ -\r ]",iT=new Set([be(304),be(305)]),at=V`[\p{L}\p{M}\p{N}\p{Pc}]`;function kd(e){if(iT.has(e))return[e];const t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),a=cT.get(n),s=oT.get(n),u=lT.get(n);return[...r].length===1&&t.add(r),u&&t.add(u),a&&t.add(a),t.add(n),s&&t.add(s),[...t]}var du=new Map(`C Other +Cc Control cntrl +Cf Format +Cn Unassigned +Co Private_Use +Cs Surrogate +L Letter +LC Cased_Letter +Ll Lowercase_Letter +Lm Modifier_Letter +Lo Other_Letter +Lt Titlecase_Letter +Lu Uppercase_Letter +M Mark Combining_Mark +Mc Spacing_Mark +Me Enclosing_Mark +Mn Nonspacing_Mark +N Number +Nd Decimal_Number digit +Nl Letter_Number +No Other_Number +P Punctuation punct +Pc Connector_Punctuation +Pd Dash_Punctuation +Pe Close_Punctuation +Pf Final_Punctuation +Pi Initial_Punctuation +Po Other_Punctuation +Ps Open_Punctuation +S Symbol +Sc Currency_Symbol +Sk Modifier_Symbol +Sm Math_Symbol +So Other_Symbol +Z Separator +Zl Line_Separator +Zp Paragraph_Separator +Zs Space_Separator +ASCII +ASCII_Hex_Digit AHex +Alphabetic Alpha +Any +Assigned +Bidi_Control Bidi_C +Bidi_Mirrored Bidi_M +Case_Ignorable CI +Cased +Changes_When_Casefolded CWCF +Changes_When_Casemapped CWCM +Changes_When_Lowercased CWL +Changes_When_NFKC_Casefolded CWKCF +Changes_When_Titlecased CWT +Changes_When_Uppercased CWU +Dash +Default_Ignorable_Code_Point DI +Deprecated Dep +Diacritic Dia +Emoji +Emoji_Component EComp +Emoji_Modifier EMod +Emoji_Modifier_Base EBase +Emoji_Presentation EPres +Extended_Pictographic ExtPict +Extender Ext +Grapheme_Base Gr_Base +Grapheme_Extend Gr_Ext +Hex_Digit Hex +IDS_Binary_Operator IDSB +IDS_Trinary_Operator IDST +ID_Continue IDC +ID_Start IDS +Ideographic Ideo +Join_Control Join_C +Logical_Order_Exception LOE +Lowercase Lower +Math +Noncharacter_Code_Point NChar +Pattern_Syntax Pat_Syn +Pattern_White_Space Pat_WS +Quotation_Mark QMark +Radical +Regional_Indicator RI +Sentence_Terminal STerm +Soft_Dotted SD +Terminal_Punctuation Term +Unified_Ideograph UIdeo +Uppercase Upper +Variation_Selector VS +White_Space space +XID_Continue XIDC +XID_Start XIDS`.split(/\s/).map(e=>[ca(e),e])),oT=new Map([["s",be(383)],[be(383),"s"]]),lT=new Map([[be(223),be(7838)],[be(107),be(8490)],[be(229),be(8491)],[be(969),be(8486)]]),cT=new Map([gt(453),gt(456),gt(459),gt(498),...$a(8072,8079),...$a(8088,8095),...$a(8104,8111),gt(8124),gt(8140),gt(8188)]),dT=new Map([["alnum",V`[\p{Alpha}\p{Nd}]`],["alpha",V`\p{Alpha}`],["ascii",V`\p{ASCII}`],["blank",V`[\p{Zs}\t]`],["cntrl",V`\p{Cc}`],["digit",V`\p{Nd}`],["graph",V`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",V`\p{Lower}`],["print",V`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",V`[\p{P}\p{S}]`],["space",V`\p{space}`],["upper",V`\p{Upper}`],["word",V`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",V`\p{AHex}`]]);function pT(e,t){const n=[];for(let r=e;r<=t;r++)n.push(r);return n}function gt(e){const t=be(e);return[t.toLowerCase(),t]}function $a(e,t){return pT(e,t).map(n=>gt(n))}var xd=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function hT(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};wd(e);const r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Cs(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};Pn(e,fT,r);const a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},s={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};Pn(e,mT,s);const u={groupsByName:s.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:s.reffedNodesByReferencer};return Pn(e,gT,u),e._originMap=s.groupOriginByCopy,e._strategy=r.strategy,e}var fT={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:r,kind:a}=e;if(a==="repeater"){const s=We();s.body[0].body.push(xt({negate:!0,body:r}),Vt("Any"));const u=We();u.body[0].body.push(Ed("greedy",0,1/0,s)),n(he(u,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){const a=e.body.filter(s=>s.kind==="flags");for(let s=n+1;s\r\n|${a?V`\p{RGI_Emoji}`:h}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(o==="hex")n(bt(Vt("AHex",{negate:l}),t));else if(o==="newline")n(he(st(l?`[^ +]`:`(?>\r +?|[ +\v\f…\u2028\u2029])`),t));else if(o==="posix")if(!a&&(p==="graph"||p==="print")){if(r==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let d={graph:"!-~",print:" -~"}[p];l&&(d=`\0-${be(d.codePointAt(0)-1)}${be(d.codePointAt(2)+1)}-􏿿`),n(he(st(`[${d}]`),t))}else n(he(Ha(st(dT.get(p)),l),t));else if(o==="property")du.has(ca(p))||(e.key="sc");else if(o==="space")n(bt(Vt("space",{negate:l}),t));else if(o==="word")n(he(Ha(st(at),l),t));else throw new Error(`Unexpected character set kind "${o}"`)},Directive({node:e,parent:t,root:n,remove:r,replaceWith:a,removeAllPrevSiblings:s,removeAllNextSiblings:u}){const{kind:i,flags:o}=e;if(i==="flags")if(!o.enable&&!o.disable)r();else{const l=We({flags:o});l.body[0].body=u(),a(he(l,t),{traverse:!0})}else if(i==="keep"){const l=n.body[0],d=n.body.length===1&&md(l,{type:"Group"})&&l.body[0].body.length===1?l.body[0]:n;if(t.parent!==d||d.body.length>1)throw new Error(V`Uses "\K" in a way that's unsupported`);const h=xt({behind:!0});h.body[0].body=s(),a(he(h,t))}else throw new Error(`Unexpected directive kind "${i}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:r}=e;if(r==="fail")n(he(xt({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=We();t.body[0].body.push(e.body),e.body=he(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let r=!1,a=!1;for(const s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{const u=Fd(s.body);u?(r=!0,Array.isArray(u)?n.push(...u):n.push(u)):a=!0}r&&!a&&n.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t==="strict"&&n&&r)throw new Error(V`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Ua(n)&&(n=Ma(n,t),e.ref=n)}},mT={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:r,ref:a}=e;r||n.set(e,[...t.get(a).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:a,groupsByName:s,multiplexCapturesToLeftByRef:u,openRefs:i,reffedNodesByReferencer:o}){const l=a.get(e);if(l&&i.has(e.number)){const d=bt(go(e.number),t);o.set(d,i.get(e.number)),n(d);return}i.set(e.number,e),u.set(e.number,[]),e.name&&Yn(u,e.name,[]);const p=u.get(e.name??e.number);for(let d=0;dh.type==="Group"&&!!h.flags)),d=p?Yr(r.globalFlags,p):r.globalFlags;bT(d,r.currentFlags)||(l=We({flags:yT(d)}),l.body[0].body.push(o))}n(he(l,t),{traverse:!i})}},gT={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}const s=r.reffedNodesByReferencer.get(e).filter(u=>ET(u,e));if(!s.length)n(he(xt({negate:!0}),t));else if(s.length>1){const u=We({atomic:!0,body:s.reverse().map(i=>Rt({body:[_s(i.number)]}))});n(he(u,t))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let r=0;r{t.forEach(a=>{r.enable?.[a]&&(delete n.disable[a],n.enable[a]=!0),r.disable?.[a]&&(n.disable[a]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function yT({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function Nd(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Fd(e){const t=e.find(n=>n.kind==="search_start"||TT(n,{negate:!1})||!AT(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const r of t.body){const a=Fd(r.body);if(!a)return null;Array.isArray(a)?n.push(...a):n.push(a)}return n}return null}function Ld(e,t){const n=Nd(e)??[];for(const r of n)if(r===t||Ld(r,t))return!0;return!1}function AT({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function CT(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function TT(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&md(e.body[0],{type:"Assertion",kind:"search_start"})}function Ua(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function st(e,t){const r=gd(e,{...t,unicodePropertyMap:du}).body;return r.length>1||r[0].body.length>1?We({body:r}):r[0].body[0]}function Ha(e,t){return e.negate=t,e}function bt(e,t){return e.parent=t,e}function he(e,t){return wd(e),e.parent=t,e}function DT(e,t){const n=Dd(t),r=Cs(n.target,"ES2024"),a=Cs(n.target,"ES2025"),s=n.rules.recursionLimit;if(!Number.isInteger(s)||s<2||s>20)throw new Error("Invalid recursionLimit; use 2-20");let u=null,i=null;if(!a){const f=[e.flags.ignoreCase];Pn(e,kT,{getCurrentModI:()=>f.at(-1),popModI(){f.pop()},pushModI(m){f.push(m)},setHasCasedChar(){f.at(-1)?u=!0:i=!0}})}const o={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||u)&&!i)};let l=e;const p={accuracy:n.accuracy,appliedGlobalFlags:o,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:l,originMap:e._originMap,recursionLimit:s,useAppliedIgnoreCase:!!(!a&&u&&i),useFlagMods:a,useFlagV:r,verbose:n.verbose};function d(f){return p.lastNode=l,l=f,aT(xT[f.type],`Unexpected node type "${f.type}"`)(f,p,d)}const h={pattern:e.body.map(d).join("|"),flags:d(e.flags),options:{...e.options}};return r||(delete h.options.force.v,h.options.disable.v=!0,h.options.unicodeSetsPlugin=null),h._captureTransfers=new Map,h._hiddenCaptures=[],p.captureMap.forEach((f,m)=>{f.hidden&&h._hiddenCaptures.push(m),f.transferTo&&Yn(h._captureTransfers,f.transferTo,[]).push(m)}),h}var kT={"*":{enter({node:e},t){if(Eo(e)){const n=t.getCurrentModI();t.pushModI(e.flags?Yr({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){Eo(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){pu(be(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Rd(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&xd.has(e.value)&&t.setHasCasedChar()}},xT={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?V`\B`:V`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:r,name:a,number:s}=e,u={ignoreCase:t.currentFlags.ignoreCase},i=t.originMap.get(e);return i&&(u.hidden=!0,s>i.number&&(u.transferTo=i.number)),t.captureMap.set(s,u),`(${a?`?<${a}>`:""}${r.map(n).join("|")})`},Character({value:e},t){const n=be(e),r=qt(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&pu(n)){const a=kd(n);return t.inCharClass?a.join(""):a.length>1?`[${a.join("")}]`:a[0]}return n},CharacterClass(e,t,n){const{kind:r,negate:a,parent:s}=e;let{body:u}=e;if(r==="intersection"&&!t.useFlagV)throw new Error("Use of class intersection requires min target ES2024");ct.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&u.some(_o)&&(u=[la(45),...u.filter(l=>!_o(l))]);const i=()=>`[${a?"^":""}${u.map(n).join(r==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||ct.bugNestedClassIgnoresNegation)&&!a){const p=u.filter(d=>d.type==="CharacterClass"&&d.kind==="union"&&d.negate);if(p.length){const d=We(),h=d.body[0];return d.parent=s,h.parent=d,u=u.filter(f=>!p.includes(f)),e.body=u,u.length?(e.parent=h,h.body.push(e)):d.body.pop(),p.forEach(f=>{const m=Rt({body:[f]});f.parent=m,m.parent=d,d.body.push(m)}),n(d)}}t.inCharClass=!0;const l=i();return t.inCharClass=!1,l}const o=u[0];if(r==="union"&&!a&&o&&((!t.useFlagV||!t.verbose)&&s.kind==="union"&&!(ct.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&s.kind==="intersection"&&u.length===1&&o.type!=="CharacterClassRange"))return u.map(n).join("");if(!t.useFlagV&&s.type==="CharacterClass")throw new Error("Use of nested character class requires min target ES2024");return i()},CharacterClassRange(e,t){const n=e.min.value,r=e.max.value,a={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},s=qt(n,a),u=qt(r,a),i=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const o=Rd(e);FT(o).forEach(p=>{i.add(Array.isArray(p)?`${qt(p[0],a)}-${qt(p[1],a)}`:qt(p,a))})}return`${s}-${u}${[...i].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:r},a){if(e==="dot")return a.currentFlags.dotAll?a.appliedGlobalFlags.dotAll||a.useFlagMods?".":"[^]":V`[^\n]`;if(e==="digit")return t?V`\D`:V`\d`;if(e==="property"){if(a.useAppliedIgnoreCase&&a.currentFlags.ignoreCase&&xd.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?V`\P`:V`\p`}{${r?`${r}=`:""}${n}}`}if(e==="word")return t?V`\W`:V`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:r},a,s){const u=a.currentFlags;n&&(a.currentFlags=Yr(u,n));const i=t.map(s).join("|"),o=!a.verbose&&t.length===1&&r.type!=="Quantifier"&&!e&&(!a.useFlagMods||!n)?i:`(?${LT(e,n,a.useFlagMods)}${i})`;return a.currentFlags=u,o},LookaroundAssertion({body:e,kind:t,negate:n},r,a){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(a).join("|")})`},Quantifier(e,t,n){return n(e.body)+RT(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const r=n.recursionLimit;return t===0?`(?R=${r})`:V`\g<${t}&R=${r}>`}},wT=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),ST=new Set(["-","\\","]","^","["]),IT=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),bo=new Map([[9,V`\t`],[10,V`\n`],[11,V`\v`],[12,V`\f`],[13,V`\r`],[8232,V`\u2028`],[8233,V`\u2029`],[65279,V`\uFEFF`]]),NT=new RegExp("^\\p{Cased}$","u");function pu(e){return NT.test(e)}function Rd(e,t){const n=!!t?.firstOnly,r=e.min.value,a=e.max.value,s=[];if(r<65&&(a===65535||a>=131071)||r===65536&&a>=131071)return s;for(let u=r;u<=a;u++){const i=be(u);if(!pu(i))continue;const o=kd(i).filter(l=>{const p=l.codePointAt(0);return pa});if(o.length&&(s.push(...o),n))break}return s}function qt(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(bo.has(e))return bo.get(e);if(e<32||e>126&&e<160||e>262143||t&&BT(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const a=n?r?IT:ST:wT,s=be(e);return(a.has(s)?"\\":"")+s}function FT(e){const t=e.map(a=>a.codePointAt(0)).sort((a,s)=>a-s),n=[];let r=null;for(let a=0;a";let r="";if(t&&n){const{enable:a,disable:s}=t;r=(a?.ignoreCase?"i":"")+(a?.dotAll?"s":"")+(s?"-":"")+(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")}return`${r}:`}function RT({kind:e,max:t,min:n}){let r;return!n&&t===1?r="?":!n&&t===1/0?r="*":n===1&&t===1/0?r="+":n===t?r=`{${n}}`:r=`{${n},${t===1/0?"":t}}`,r+{greedy:"",lazy:"?",possessive:"+"}[e]}function Eo({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function BT(e){return e>47&&e<58}function _o({type:e,value:t}){return e==="Character"&&t===45}var vT=class Ts extends RegExp{#t=new Map;#e=null;#r;#n=null;#a=null;rawOptions={};get source(){return this.#r||"(?:)"}constructor(t,n,r){const a=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw new Error("Cannot provide options when copying a regexp");const s=t;super(s,n),this.#r=s.source,s instanceof Ts&&(this.#t=s.#t,this.#n=s.#n,this.#a=s.#a,this.rawOptions=s.rawOptions)}else{const s={hiddenCaptures:[],strategy:null,transfers:[],...r};super(a?"":t,n),this.#r=t,this.#t=PT(s.hiddenCaptures,s.transfers),this.#a=s.strategy,this.rawOptions=r??{}}a||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:a,...s}=this.rawOptions;this.#e=new Ts(this.#r,this.flags,s)}const n=this.global||this.sticky,r=this.lastIndex;if(this.#a==="clip_search"&&n&&r){this.lastIndex=0;const a=this.#s(t.slice(r));return a&&(OT(a,r,t,this.hasIndices),this.lastIndex+=r),a}return this.#s(t)}#s(t){this.#e.lastIndex=this.lastIndex;const n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;const r=[...n];n.length=1;let a;this.hasIndices&&(a=[...n.indices],n.indices.length=1);const s=[0];for(let u=1;u{const i=s[u];i&&(s[u]=[i[0]+t,i[1]+t])})}}function PT(e,t){const n=new Map;for(const r of e)n.set(r,{hidden:!0});for(const[r,a]of t)for(const s of a)Yn(n,s,{}).transferTo=r;return n}function $T(e){const t=/(?\((?:\?<(?![=!])(?[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let r=0,a=0,s;for(;s=t.exec(e);){const{0:u,groups:{capture:i,name:o}}=s;u==="["?r++:r?u==="]"&&r--:i&&(a++,o&&n.set(a,o))}return n}function MT(e,t){const n=UT(e,t);return n.options?new vT(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function UT(e,t){const n=Dd(t),r=gd(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:du}),a=hT(r,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),s=DT(a,n),u=nT(s.pattern,{captureTransfers:s._captureTransfers,hiddenCaptures:s._hiddenCaptures,mode:"external"}),i=eT(u.pattern),o=JC(i.pattern,{captureTransfers:u.captureTransfers,hiddenCaptures:u.hiddenCaptures}),l={pattern:o.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${s.flags}${s.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const p=o.hiddenCaptures.sort((m,A)=>m-A),d=Array.from(o.captureTransfers),h=a._strategy,f=l.pattern.length>=n.lazyCompileLength;(p.length||d.length||h||f)&&(l.options={...p.length&&{hiddenCaptures:p},...d.length&&{transfers:d},...h&&{strategy:h},...f&&{lazyCompile:f}})}return l}const yo=4294967295;class HT{constructor(t,n={}){this.patterns=t,this.options=n;const{forgiving:r=!1,cache:a,regexConstructor:s}=n;if(!s)throw new Error("Option `regexConstructor` is not provided");this.regexps=t.map(u=>{if(typeof u!="string")return u;const i=a?.get(u);if(i){if(i instanceof RegExp)return i;if(r)return null;throw i}try{const o=s(u);return a?.set(u,o),o}catch(o){if(a?.set(u,o),r)return null;throw o}})}regexps;findNextMatchSync(t,n,r){const a=typeof t=="string"?t:t.content,s=[];function u(i,o,l=0){return{index:i,captureIndices:o.indices.map(p=>p==null?{start:yo,end:yo,length:0}:{start:p[0]+l,end:p[1]+l,length:p[1]-p[0]})}}for(let i=0;io[1].index));for(const[o,l,p]of s)if(l.index===i)return u(o,l,p)}return null}}function jT(e,t){return MT(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function zT(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=n=>jT(n,{target:t.target}),{createScanner(n){return new HT(n,t)},createString(n){return{content:n}}}}const qT=Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(??\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(?)","name":"meta.arrow.ts"},{"begin":"(?:(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"((?<=[}\\\\S])(?)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.ts","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?)","name":"cast.expr.ts"},{"begin":"(??^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]},{"begin":"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]}]},"class-declaration":{"begin":"(?\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.ts","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.ts"},"2":{"name":"entity.name.tag.directive.ts"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.ts"}},"name":"meta.tag.ts","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"()|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.ts"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.ts"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|\'(?:\\\\*(?!/)|\\\\\\\\(?!\')|[^*\\\\\\\\])*?\'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??}]|\\\\|\\\\||&&|!==|$|((?>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"keyword.operator.assignment.compound.ts"},"3":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.ts variable.object.property.ts"},{"match":"\\\\?","name":"keyword.operator.optional.ts"},{"match":"!","name":"keyword.operator.definiteassignment.ts"}]},"for-loop":{"begin":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?\\\\())","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.ts punctuation.accessor.optional.ts"},{"match":"!","name":"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"}]},"function-declaration":{"begin":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.ts"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"if-statement":{"patterns":[{"begin":"(??}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"keyword.operator.new.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.property.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((??}]|\\\\|\\\\||&&|!==|$|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"\'`])","end":"(?=:)|((?<=[\\"\'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ts"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(??}]|\\\\|\\\\||&&|!==|$|^|((?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?])","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},"contentName":"meta.arrow.ts meta.return.type.arrow.ts","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"begin":"((?)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.ts"},"2":{"name":"support.type.object.module.ts"},"3":{"name":"punctuation.accessor.ts"},"4":{"name":"punctuation.accessor.optional.ts"},"5":{"name":"support.type.object.module.ts"}},"match":"(?\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?))*(?)*(?\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|$)","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"(?)(??{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.ts"},"2":{"name":"entity.name.type.ts"},"3":{"name":"keyword.operator.expression.extends.ts"}},"match":"(?)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.ts"},"2":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?=\\\\S)"},{"match":"(?)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"match":"(?)","name":"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(??{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},"end":"(?=$|^|[,;=}]|((?)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts entity.name.function.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?|\\\\+=|-=|\\\\*\\\\*=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|[-%*+/]","name":"keyword.operator.arithmetic.gdscript"},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.gdscript"},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#region"},{"include":"#comment"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"match":"[\\\\&|]|<<=|>>=|<<|>>|[\\\\^~]","name":"keyword.operator.bitwise.gdscript"},"boolean_operator":{"match":"(&&|\\\\|\\\\|)","name":"keyword.operator.boolean.gdscript"},"builtin_classes":{"match":"(?=|==|[<>]|!=?","name":"keyword.operator.comparison.gdscript"},"const_vars":{"match":"\\\\b([A-Z_][0-9A-Z_]*)\\\\b","name":"variable.other.constant.gdscript"},"control_flow":{"match":"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b","name":"keyword.control.gdscript"},"curly_braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"expression":{"patterns":[{"include":"#getter_setter_godot4"},{"include":"#base_expression"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}},"match":"(extends)\\\\s+([A-Z_a-z]\\\\w*\\\\.[A-Z_a-z]\\\\w*)?"},"func":{"match":"\\\\bfunc\\\\b","name":"keyword.language.gdscript storage.type.function.gdscript"},"function_arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.gdscript"},{"captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}},"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.gdscript"},{"include":"#base_expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"function_call":{"begin":"(?=\\\\b[A-Z_a-z]\\\\w*\\\\b\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}},"name":"meta.function-call.gdscript","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}]},"function_declaration":{"begin":"\\\\s*(func)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}]},"function_name":{"patterns":[{"include":"#builtin_classes"},{"match":"\\\\b(preload)\\\\b","name":"keyword.language.gdscript"},{"match":"\\\\b([A-Z_a-z]\\\\w*)\\\\b","name":"entity.name.function.gdscript"}]},"getter_setter_godot4":{"patterns":[{"captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"match":"(get)\\\\s*(:)","name":"meta.variable.declaration.getter.gdscript"},{"captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"},"3":{"name":"variable.other.gdscript"},"4":{"name":"punctuation.definition.arguments.end.gdscript"},"5":{"name":"punctuation.separator.annotation.gdscript"}},"match":"(set)\\\\s*(\\\\()\\\\s*([A-Z_a-z]\\\\w*)\\\\s*(\\\\))\\\\s*(:)","name":"meta.variable.declaration.setter.gdscript"}]},"in_keyword":{"patterns":[{"begin":"\\\\b(for)\\\\b","captures":{"1":{"name":"keyword.control.gdscript"}},"end":":","patterns":[{"match":"\\\\bin\\\\b","name":"keyword.control.gdscript"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},{"match":"\\\\bin\\\\b","name":"keyword.operator.wordlike.gdscript"}]},"keywords":{"match":"\\\\b(?:class|class_name|is|onready|tool|static|export|as|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\\\b","name":"keyword.language.gdscript"},"lambda_declaration":{"begin":"(func)\\\\s?(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"(:|(?=[\\\\n\\"#']))","end2":"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)","endCaptures2":{"1":{"name":"punctuation.separator.annotation.result.gdscript"},"2":{"name":"entity.name.type.class.builtin.gdscript"},"3":{"name":"entity.name.type.class.gdscript markup.italic"}},"name":"meta.function.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}]},"letter":{"match":"\\\\b(?:true|false|null)\\\\b","name":"constant.language.gdscript"},"line_continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}},"match":"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)"},{"begin":"(\\\\\\\\)\\\\s*$\\\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}},"end":"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?('''|\\"\\"\\"|[\\"']))|\\\\G()$)","patterns":[{"include":"#base_expression"}]}]},"loose_default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}},"patterns":[{"include":"#expression"}]},"match_keyword":{"captures":{"1":{"name":"keyword.control.gdscript"}},"match":"^\\\\n\\\\s*(match)"},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"contentName":"meta.function.parameters.gdscript","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.gdscript","patterns":[{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow.gdscript"}]},{"include":"#expression"}]},"nodepath_object":{"begin":"(NodePath)\\\\s*\\\\(","beginCaptures":{"1":{"name":"support.class.library.gdscript"}},"end":"\\\\)","name":"meta.literal.nodepath.gdscript","patterns":[{"begin":"([\\"'])","end":"\\\\1","name":"string.quoted.gdscript constant.character.escape.gdscript","patterns":[{"match":"%","name":"keyword.control.flow.gdscript"}]}]},"numbers":{"patterns":[{"match":"0b[01_]+","name":"constant.numeric.integer.binary.gdscript"},{"match":"0x[_\\\\h]+","name":"constant.numeric.integer.hexadecimal.gdscript"},{"match":"\\\\.[0-9][0-9_]*([Ee][-+]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"([0-9][0-9_]*)\\\\.[0-9_]*([Ee][-+]?[0-9_]+)?","name":"constant.numeric.float.gdscript"},{"match":"([0-9][0-9_]*)?\\\\.[0-9_]*([Ee][-+]?[0-9_]+)","name":"constant.numeric.float.gdscript"},{"match":"[0-9][0-9_]*[Ee][-+]?[0-9_]+","name":"constant.numeric.float.gdscript"},{"match":"-?[0-9][0-9_]*","name":"constant.numeric.integer.gdscript"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}},"name":"meta.function.parameters.gdscript","patterns":[{"include":"#annotated_parameter"},{"captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}},"match":"([A-Z_a-z]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comment"},{"include":"#loose_default"}]},"pascal_case_class":{"match":"\\\\b[A-Z]+(?:[a-z]+[0-9A-Z_a-z]*)+\\\\b","name":"entity.name.type.class.gdscript"},"region":{"match":"#(end)?region.*$\\\\n?","name":"keyword.language.region.gdscript"},"round_braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"signal_declaration":{"begin":"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"end":"((?=[\\\\n\\"#']))","name":"meta.signal.gdscript","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}]},"signal_declaration_bare":{"captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"match":"\\\\s*(signal)\\\\s+([A-Z_a-z]\\\\w*)(?=[\\\\n\\\\s])","name":"meta.signal.gdscript"},"square_braces":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}},"patterns":[{"include":"#base_expression"},{"include":"#any_variable"}]},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"match":"\\\\b(?^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.gdscript"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"']+])*(![ars])?(:)[^\\\\n\\"'{}]*(?:\\\\{[^\\\\n\\"'}]*?}[^\\\\n\\"'{}]*)*})","name":"meta.format.brace.gdscript"}]},"string_percent_placeholders":{"captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.gdscript"},"strings":{"begin":"(r)?(\\"\\"\\"|'''|[\\"'])","beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}},"end":"\\\\2","name":"string.quoted.gdscript","patterns":[{"match":"\\\\\\\\.","name":"constant.character.escape.gdscript"},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}]},"variable_declaration":{"begin":"\\\\b(?:(var)|(const))\\\\b","beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}},"end":"$|;","name":"meta.variable.declaration.gdscript","patterns":[{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(:)?\\\\s*([gs]et)\\\\s+=\\\\s+([A-Z_a-z]\\\\w*)"},{"match":":=|=(?!=)","name":"keyword.operator.assignment.gdscript"},{"captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}},"match":"(:)\\\\s*([A-Z_a-z]\\\\w*)?"},{"captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}},"match":"(setget)\\\\s+([A-Z_a-z]\\\\w*)(?:,\\\\s*([A-Z_a-z]\\\\w*))?"},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}]},"wordlike_operator":{"match":"\\\\b(and|or|not)\\\\b","name":"keyword.operator.wordlike.gdscript"}},"scopeName":"source.gdscript"}`)),VT=[YT],WT=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#2A2A37","activityBar.foreground":"#DCD7BA","activityBarBadge.background":"#658594","activityBarBadge.foreground":"#DCD7BA","badge.background":"#2A2A37","button.background":"#2A2A37","button.foreground":"#C8C093","button.secondaryBackground":"#223249","button.secondaryForeground":"#DCD7BA","checkbox.border":"#223249","debugToolBar.background":"#16161D","descriptionForeground":"#DCD7BA","diffEditor.insertedTextBackground":"#2B332880","dropdown.background":"#16161D","dropdown.border":"#16161D","editor.background":"#1F1F28","editor.findMatchBackground":"#2D4F67","editor.findMatchBorder":"#FF9E3B","editor.findMatchHighlightBackground":"#2D4F6780","editor.foreground":"#DCD7BA","editor.lineHighlightBackground":"#363646","editor.selectionBackground":"#223249","editor.selectionHighlightBackground":"#36364680","editor.selectionHighlightBorder":"#54546D","editor.wordHighlightBackground":"#3636464D","editor.wordHighlightBorder":"#54546D","editor.wordHighlightStrongBackground":"#3636464D","editor.wordHighlightStrongBorder":"#54546D","editorBracketHighlight.foreground1":"#957FB8","editorBracketHighlight.foreground2":"#FFA066","editorBracketHighlight.foreground3":"#7E9CD8","editorBracketHighlight.foreground4":"#D27E99","editorBracketHighlight.foreground5":"#E6C384","editorBracketHighlight.foreground6":"#7AA89F","editorBracketHighlight.unexpectedBracket.foreground":"#FF5D62","editorBracketMatch.background":"#16161D","editorBracketMatch.border":"#54546D","editorBracketPairGuide.activeBackground1":"#957FB8","editorBracketPairGuide.activeBackground2":"#FFA066","editorBracketPairGuide.activeBackground3":"#7E9CD8","editorBracketPairGuide.activeBackground4":"#D27E99","editorBracketPairGuide.activeBackground5":"#E6C384","editorBracketPairGuide.activeBackground6":"#7AA89F","editorCursor.background":"#1F1F28","editorCursor.foreground":"#DCD7BA","editorError.foreground":"#E82424","editorGroup.border":"#16161D","editorGroupHeader.tabsBackground":"#16161D","editorGutter.addedBackground":"#76946A","editorGutter.deletedBackground":"#C34043","editorGutter.modifiedBackground":"#DCA561","editorHoverWidget.background":"#1F1F28","editorHoverWidget.border":"#2A2A37","editorHoverWidget.highlightForeground":"#658594","editorIndentGuide.activeBackground1":"#363646","editorIndentGuide.background1":"#2A2A37","editorInlayHint.background":"#1F1F28","editorInlayHint.foreground":"#727169","editorLineNumber.activeForeground":"#FFA066","editorLineNumber.foreground":"#54546D","editorMarkerNavigation.background":"#363646","editorRuler.foreground":"#363646","editorSuggestWidget.background":"#223249","editorSuggestWidget.border":"#223249","editorSuggestWidget.selectedBackground":"#2D4F67","editorWarning.foreground":"#FF9E3B","editorWhitespace.foreground":"#1F1F28","editorWidget.background":"#1F1F28","focusBorder":"#223249","foreground":"#DCD7BA","gitDecoration.ignoredResourceForeground":"#727169","input.background":"#16161D","list.activeSelectionBackground":"#363646","list.activeSelectionForeground":"#DCD7BA","list.focusBackground":"#2A2A37","list.focusForeground":"#DCD7BA","list.highlightForeground":"#7E9CD8","list.hoverBackground":"#363646","list.hoverForeground":"#DCD7BA","list.inactiveSelectionBackground":"#2A2A37","list.inactiveSelectionForeground":"#DCD7BA","list.warningForeground":"#FF9E3B","menu.background":"#363646","menu.border":"#16161D","menu.foreground":"#DCD7BA","menu.selectionBackground":"#16161D","menu.selectionForeground":"#DCD7BA","menu.separatorBackground":"#54546D","menubar.selectionBackground":"#16161D","menubar.selectionForeground":"#DCD7BA","minimapGutter.addedBackground":"#76946A","minimapGutter.deletedBackground":"#C34043","minimapGutter.modifiedBackground":"#DCA561","panel.border":"#16161D","panelSectionHeader.background":"#1F1F28","peekView.border":"#54546D","peekViewEditor.background":"#2A2A37","peekViewEditor.matchHighlightBackground":"#2D4F67","peekViewResult.background":"#363646","scrollbar.shadow":"#363646","scrollbarSlider.activeBackground":"#2A2A3780","scrollbarSlider.background":"#54546D66","scrollbarSlider.hoverBackground":"#54546D80","settings.focusedRowBackground":"#363646","settings.headerForeground":"#DCD7BA","sideBar.background":"#1F1F28","sideBar.border":"#16161D","sideBar.foreground":"#DCD7BA","sideBarSectionHeader.background":"#363646","sideBarSectionHeader.foreground":"#DCD7BA","statusBar.background":"#16161D","statusBar.debuggingBackground":"#E82424","statusBar.debuggingBorder":"#957FB8","statusBar.debuggingForeground":"#DCD7BA","statusBar.foreground":"#C8C093","statusBar.noFolderBackground":"#1F1F28","statusBarItem.hoverBackground":"#363646","statusBarItem.remoteBackground":"#2D4F67","statusBarItem.remoteForeground":"#DCD7BA","tab.activeBackground":"#2A2A37","tab.activeForeground":"#7E9CD8","tab.border":"#2A2A37","tab.hoverBackground":"#363646","tab.inactiveBackground":"#1A1A22","tab.unfocusedHoverBackground":"#1F1F28","terminal.ansiBlack":"#16161D","terminal.ansiBlue":"#7E9CD8","terminal.ansiBrightBlack":"#727169","terminal.ansiBrightBlue":"#7FB4CA","terminal.ansiBrightCyan":"#7AA89F","terminal.ansiBrightGreen":"#98BB6C","terminal.ansiBrightMagenta":"#938AA9","terminal.ansiBrightRed":"#E82424","terminal.ansiBrightWhite":"#DCD7BA","terminal.ansiBrightYellow":"#E6C384","terminal.ansiCyan":"#6A9589","terminal.ansiGreen":"#76946A","terminal.ansiMagenta":"#957FB8","terminal.ansiRed":"#C34043","terminal.ansiWhite":"#C8C093","terminal.ansiYellow":"#C0A36E","terminal.background":"#1F1F28","terminal.border":"#16161D","terminal.foreground":"#DCD7BA","terminal.selectionBackground":"#223249","textBlockQuote.background":"#1F1F28","textBlockQuote.border":"#16161D","textLink.foreground":"#6A9589","textPreformat.foreground":"#FF9E3B","titleBar.activeBackground":"#363646","titleBar.activeForeground":"#DCD7BA","titleBar.inactiveBackground":"#1F1F28","titleBar.inactiveForeground":"#DCD7BA","walkThrough.embeddedEditorBackground":"#1F1F28"},"displayName":"Kanagawa Wave","name":"kanagawa-wave","semanticHighlighting":true,"semanticTokenColors":{"arithmetic":"#C0A36E","function":"#7E9CD8","keyword.controlFlow":{"fontStyle":"bold","foreground":"#957FB8"},"macro":"#E46876","method":"#7FB4CA","operator":"#C0A36E","parameter":"#B8B4D0","parameter.declaration":"#B8B4D0","parameter.definition":"#B8B4D0","variable":"#DCD7BA","variable.readonly":"#DCD7BA","variable.readonly.defaultLibrary":"#DCD7BA","variable.readonly.local":"#DCD7BA"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#727169"}},{"scope":["variable","string constant.other.placeholder"],"settings":{"foreground":"#DCD7BA"}},{"scope":["constant.other.color"],"settings":{"foreground":"#FFA066"}},{"scope":["invalid","invalid.illegal"],"settings":{"foreground":"#E82424"}},{"scope":["storage.type"],"settings":{"foreground":"#957FB8"}},{"scope":["storage.modifier"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.control.flow","keyword.control.conditional","keyword.control.loop"],"settings":{"fontStyle":"bold","foreground":"#957FB8"}},{"scope":["keyword.control","constant.other.color","meta.tag","keyword.other.template","keyword.other.substitution","keyword.other"],"settings":{"foreground":"#957FB8"}},{"scope":["keyword.other.definition.ini"],"settings":{"foreground":"#FFA066"}},{"scope":["keyword.control.trycatch"],"settings":{"fontStyle":"bold","foreground":"#FF5D62"}},{"scope":["keyword.other.unit","keyword.operator"],"settings":{"foreground":"#E6C384"}},{"scope":["punctuation","punctuation.definition.tag","punctuation.separator.inheritance.php","punctuation.definition.tag.html","punctuation.definition.tag.begin.html","punctuation.definition.tag.end.html","punctuation.section.embedded","meta.brace","keyword.operator.type.annotation","keyword.operator.namespace"],"settings":{"foreground":"#9CABCA"}},{"scope":["entity.name.tag","meta.tag.sgml"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.function","meta.function-call","variable.function","support.function"],"settings":{"foreground":"#7E9CD8"}},{"scope":["keyword.other.special-method"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.name.function.macro"],"settings":{"foreground":"#E46876"}},{"scope":["meta.block variable.other"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.other.enummember"],"settings":{"foreground":"#FFA066"}},{"scope":["support.other.variable"],"settings":{"foreground":"#DCD7BA"}},{"scope":["string.other.link"],"settings":{"foreground":"#7FB4CA"}},{"scope":["constant.numeric","constant.language","support.constant","constant.character","constant.escape"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.language.boolean"],"settings":{"foreground":"#FFA066"}},{"scope":["constant.numeric"],"settings":{"foreground":"#D27E99"}},{"scope":["string","punctuation.definition.string","constant.other.symbol","constant.other.key","entity.other.inherited-class","markup.heading","markup.inserted.git_gutter","meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js","markup.inline.raw.string"],"settings":{"foreground":"#98BB6C"}},{"scope":["entity.name","support.type","support.class","support.other.namespace.use.php","meta.use.php","support.other.namespace.php","support.type.sys-types"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.type.module","entity.name.namespace"],"settings":{"foreground":"#E6C384"}},{"scope":["entity.name.import.go"],"settings":{"foreground":"#98BB6C"}},{"scope":["keyword.blade"],"settings":{"foreground":"#957FB8"}},{"scope":["variable.other.property"],"settings":{"foreground":"#E6C384"}},{"scope":["keyword.control.import","keyword.import","meta.import"],"settings":{"foreground":"#FFA066"}},{"scope":["source.css support.type.property-name","source.sass support.type.property-name","source.scss support.type.property-name","source.less support.type.property-name","source.stylus support.type.property-name","source.postcss support.type.property-name"],"settings":{"foreground":"#7AA89F"}},{"scope":["entity.name.module.js","variable.import.parameter.js","variable.other.class.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["variable.language"],"settings":{"foreground":"#FF5D62"}},{"scope":["entity.name.method.js"],"settings":{"foreground":"#7FB4CA"}},{"scope":["meta.class-method.js entity.name.function.js","variable.function.constructor"],"settings":{"foreground":"#7FB4CA"}},{"scope":["entity.other.attribute-name"],"settings":{"foreground":"#957FB8"}},{"scope":["entity.other.attribute-name.class"],"settings":{"foreground":"#E6C384"}},{"scope":["source.sass keyword.control"],"settings":{"foreground":"#7FB4CA"}},{"scope":["markup.inserted"],"settings":{"foreground":"#76946A"}},{"scope":["markup.deleted"],"settings":{"foreground":"#C34043"}},{"scope":["markup.changed"],"settings":{"foreground":"#DCA561"}},{"scope":["string.regexp"],"settings":{"foreground":"#C0A36E"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#7FB4CA"}},{"scope":["*url*","*link*","*uri*"],"settings":{"fontStyle":"underline"}},{"scope":["tag.decorator.js entity.name.tag.js","tag.decorator.js punctuation.definition.tag.js"],"settings":{"foreground":"#957FB8"}},{"scope":["source.js constant.other.object.key.js string.unquoted.label.js"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#E6C384"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FF5D62"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFA066"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#7E9CD8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#D27E99"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#957FB8"}},{"scope":["source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#98BB6C"}},{"scope":["meta.tag JSXNested","meta.jsx.children","text.html","text.log"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown","punctuation.definition.list_item.markdown"],"settings":{"foreground":"#DCD7BA"}},{"scope":["text.html.markdown markup.inline.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["markdown.heading","entity.name.section.markdown","markup.heading.markdown"],"settings":{"foreground":"#7E9CD8"}},{"scope":["markup.italic"],"settings":{"fontStyle":"italic","foreground":"#E46876"}},{"scope":["markup.bold","markup.bold string"],"settings":{"fontStyle":"bold"}},{"scope":["markup.bold markup.italic","markup.italic markup.bold","markup.quote markup.bold","markup.bold markup.italic string","markup.italic markup.bold string","markup.quote markup.bold string"],"settings":{"fontStyle":"bold","foreground":"#E46876"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline","foreground":"#7FB4CA"}},{"scope":["markup.quote punctuation.definition.blockquote.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.quote"],"settings":{"fontStyle":"italic"}},{"scope":["string.other.link.title.markdown"],"settings":{"foreground":"#FFA066"}},{"scope":["string.other.link.description.title.markdown"],"settings":{"foreground":"#957FB8"}},{"scope":["constant.other.reference.link.markdown"],"settings":{"foreground":"#E6C384"}},{"scope":["markup.raw.block"],"settings":{"foreground":"#957FB8"}},{"scope":["markup.raw.block.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["punctuation.definition.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["markup.raw.block.fenced.markdown","variable.language.fenced.markdown","punctuation.section.class.end"],"settings":{"foreground":"#DCD7BA"}},{"scope":["variable.language.fenced.markdown"],"settings":{"foreground":"#727169"}},{"scope":["meta.separator"],"settings":{"fontStyle":"bold","foreground":"#9CABCA"}},{"scope":["markup.table"],"settings":{"foreground":"#DCD7BA"}}],"type":"dark"}'));class QT{static instance=null;static getInstance(){return this.instance===null&&(this.instance=rC({themes:[WT],langs:[GT,VT],engine:zT()})),this.instance}static dispose(){this.instance!==null&&(this.instance.dispose(),this.instance=null)}}const XT={"tailing-curly-colon":(e,t)=>{const n=Js(t),r=n.match(/(.+)\{:([\w-]+)\}$/);if(r)return{type:"inline",code:r[1]??n,lang:r.at(2)}}},Ao="language-",KT=(e,t)=>{const n=t.children[0];if(!n||n.type!=="element"||n.tagName!=="code"||!n.properties)return;const r=n.properties.className,a=Array.isArray(r)?r.find(s=>typeof s=="string"&&s.startsWith(Ao)):void 0;return{type:"pre",lang:typeof a=="string"?a.slice(Ao.length):void 0,code:Js(n),meta:n.data?.meta??n.properties.metastring?.toString()??""}},ZT="language-";function JT(e,t){const{addLanguageClass:n=!1,parseMetaString:r,cache:a,defaultLanguage:s,fallbackLanguage:u,onError:i,stripEndNewline:o=!0,inline:l=!1,lazy:p=!1,...d}=t;function h(f,m,A="",D={}){const E=`${f}:${A}:${m}`,T=a?.get(E);if(T)return T;const k={...d,lang:f,meta:{...d.meta,...D,__raw:A}};n&&(k.transformers=[...k.transformers??[],{name:"rehype-shiki:code-language-class",code(L){return this.addClassToHast(L,`${ZT}${f}`),L}}]),o&&m.endsWith(` +`)&&(m=m.slice(0,-1));try{const L=e.codeToHast(m,k);return a?.set(E,L),L}catch(L){if(i)i(L);else throw L}}return f=>{const m=[];if(Zs(f,"element",(A,D,E)=>{let T;if(!E||D==null)return;if(A.tagName==="pre")T=KT;else if(A.tagName==="code"&&l)T=XT[l];else return;const k=T(f,A);if(!k)return;let L,O=!1;if(k.lang?e.getLoadedLanguages().includes(k.lang)||sd(k.lang)?L=k.lang:p?(O=!0,L=k.lang):u&&(L=u):L=s,!L)return;const I=k.meta?r?.(k.meta,A,f):void 0,U=j=>{const z=h(j,k.code,k.meta,I??{});if(z){if(k.type==="inline"){const w=z.children[0];w.type==="element"&&w.tagName==="pre"&&(w.tagName="span")}E.children[D]=z}};if(O)try{m.push(e.loadLanguage(L).then(()=>U(L)))}catch(j){if(u)return U(u);if(i)i(j);else throw j}else U(L);return"skip"}),m.length>0){async function A(){await Promise.all(m)}return A()}}}function eD(e){const{position:t={type:"after",selector:s=>s.type==="element"&&s.tagName==="h1"},content:n,data:r,skipIfExists:a=!0}=e;return s=>{const u=n(r);if(!u)return;const i=Array.isArray(u)?u:[u];if(i.length===0)return;if(t.type==="start"){if(a&&br(s.children[0],i[0]))return;s.children.unshift(...i);return}if(t.type==="end"){if(a&&br(s.children[s.children.length-1],i[0]))return;s.children.push(...i);return}const o=s.children.findIndex((l,p)=>t.selector(l,p));if(o!==-1){if(t.type==="after"){if(a&&br(s.children[o+1],i[0]))return;s.children.splice(o+1,0,...i)}else if(t.type==="before"){if(a&&br(s.children[o-1],i[0]))return;s.children.splice(o,0,...i)}}}}function br(e,t){return!e||e.type!=="element"?!1:e.tagName===t.tagName}function tD(e,t,n){return{type:"element",tagName:e,properties:n||{},children:[{type:"text",value:t}]}}function nD(e){return tD("blockquote",e)}var rD=ks("View on GitHub",1),aD=ks("

",1);function sD(e,t){Vn(t,!0);let n=lp();Yd(()=>{if(op.url.hash)return;const h=n();h&&yu(h,h)});const r={rehypePlugin:[JT,QT.getInstance(),{theme:"kanagawa-wave"}]},a={rehypePlugin:[A_]},s={rehypePlugin:[I_]};function u(h){switch(h){case"abandoned":return"🪦 A beloved project has met its end. Though abandoned, I'm keeping it here as a small monument to the ideas it once held. Perhaps one day, [it might rise again](/contact). 🪦";case"active":return"🚧 This project is still under construction. I am currently actively building it, so stay tuned! 🚧";case"postponed":return"⏳ This project is taking a break. It's still on my roadmap, but construction is on hold while I focus on other projects. ⏳";case"icebox":return"🧊 This project is taking a break. It's in the icebox for now, but I hope to revisit it when the time feels right. 🧊"}}const i={position:{type:"after",selector:h=>h.type==="element"&&h.tagName==="h1"},content:h=>h?nD(u(h)):null,data:t.project.workStatus},o={rehypePlugin:[eD,i]},l=[B1(),r,a,s,o];function p(h){const f=h.target.closest("a");f&&d(f,h)}function d(h,f){const m=h.getAttribute("href")?.split("#")[1];if(m){f.preventDefault();const A=document.getElementById(m),D=n();A&&D&&yu(D,A),Vd(`#${m}`,{})}}dp(e,{class:"mx-auto my-8 prose px-8 dark:prose-invert",onclick:h=>p(h),role:"link",children:(h,f)=>{u0(h,{get md(){return t.readme},get plugins(){return l},h1:(A,D=xr)=>{const E=Nt(()=>{const{children:U,...j}=D();return{children:U,rest:j}});var T=aD(),k=oe(T);Wt(k,()=>({...pe(E).rest}));var L=tp(k);kr(L,()=>pe(E).children??xr),np(k);var O=ko(k,2);{var I=U=>{fp(U,{get href(){return t.project.githubURL},variant:"outline",class:"px-8",children:(j,z)=>{var w=rD(),$=oe(w);pp($,{path:"/logos/svg/logo-github.svg",scale:.25}),rp(),ae(j,w)},$$slots:{default:!0}})};Ue(O,U=>{t.project.githubURL&&U(I)})}ae(A,T)},$$slots:{h1:!0}})},$$slots:{default:!0}}),Wn()}var uD=ks(' ',1);function SD(e,t){Vn(t,!0);var n=uD(),r=oe(n),a=ko(r,2);sD(a,{get readme(){return t.readme},get project(){return t.project}}),Do(s=>{_u(r,"src",s),_u(r,"alt",`${t.project.title} banner image`)},[()=>qd(t.project)]),ae(e,n),Wn()}export{SD as P,CD as e,AD as f}; diff --git a/_app/immutable/chunks/DmP2n0k_.js b/_app/immutable/chunks/DmP2n0k_.js new file mode 100644 index 0000000..0141c61 --- /dev/null +++ b/_app/immutable/chunks/DmP2n0k_.js @@ -0,0 +1,2 @@ +import{aB as G,h as B,a9 as P,aC as K,x as Q,aD as L,af as U,$ as d,L as l,a7 as X,am as T,I as W,M as z,a0 as R,Y as ee,a2 as p,aE as m,ac as N,S as C,aF as Y,aG as E,aH as H,aI as te,k as I,o as $,aJ as se,aK as ie,ag as D,U as y,O as ne,Z as ae,aL as M,aM as re,J as he,aN as oe,aO as fe,aP as le,aQ as de,aR as q,ai as F,_ as v,V as J,aS as k,aT as A,aU as _e,ak as ue,aa as ce,aV as pe,aW as V,aX as ge,aY as b,aZ as ve,p as ye,ap as me,a1 as Ee,a_ as be,b as Te}from"./BbMFilaF.js";function Re(i){let e=0,t=P(0),n;return()=>{G()&&(B(t),K(()=>(e===0&&(n=Q(()=>i(()=>L(t)))),e+=1,()=>{U(()=>{e-=1,e===0&&(n?.(),n=void 0,L(t))})})))}}var we=he|oe|fe;function Ne(i,e,t){new De(i,e,t)}class De{parent;#s=!1;#t;#g=l?d:null;#n;#d;#a;#i=null;#e=null;#r=null;#h=null;#o=null;#_=0;#f=0;#u=!1;#l=null;#m=()=>{this.#l&&X(this.#l,this.#_)};#E=Re(()=>(this.#l=P(this.#_),()=>{this.#l=null}));constructor(e,t,n){this.#t=e,this.#n=t,this.#d=n,this.parent=T.b,this.#s=!!this.#n.pending,this.#a=W(()=>{if(T.b=this,l){const s=this.#g;z(),s.nodeType===R&&s.data===ee?this.#T():this.#b()}else{var f=this.#v();try{this.#i=p(()=>n(f))}catch(s){this.error(s)}this.#f>0?this.#p():this.#s=!1}return()=>{this.#o?.remove()}},we),l&&(this.#t=d)}#b(){try{this.#i=p(()=>this.#d(this.#t))}catch(e){this.error(e)}this.#s=!1}#T(){const e=this.#n.pending;e&&(this.#e=p(()=>e(this.#t)),m.enqueue(()=>{var t=this.#v();this.#i=this.#c(()=>(m.ensure(),p(()=>this.#d(t)))),this.#f>0?this.#p():(N(this.#e,()=>{this.#e=null}),this.#s=!1)}))}#v(){var e=this.#t;return this.#s&&(this.#o=C(),this.#t.before(this.#o),e=this.#o),e}is_pending(){return this.#s||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#n.pending}#c(e){var t=T,n=I,f=$;Y(this.#a),E(this.#a),H(this.#a.ctx);try{return e()}catch(s){return te(s),null}finally{Y(t),E(n),H(f)}}#p(){const e=this.#n.pending;this.#i!==null&&(this.#h=document.createDocumentFragment(),this.#h.append(this.#o),se(this.#i,this.#h)),this.#e===null&&(this.#e=p(()=>e(this.#t)))}#y(e){if(!this.has_pending_snippet()){this.parent&&this.parent.#y(e);return}this.#f+=e,this.#f===0&&(this.#s=!1,this.#e&&N(this.#e,()=>{this.#e=null}),this.#h&&(this.#t.before(this.#h),this.#h=null))}update_pending_count(e){this.#y(e),this.#_+=e,ie.add(this.#m)}get_effect_pending(){return this.#E(),B(this.#l)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(this.#u||!t&&!n)throw e;this.#i&&(D(this.#i),this.#i=null),this.#e&&(D(this.#e),this.#e=null),this.#r&&(D(this.#r),this.#r=null),l&&(y(this.#g),ne(),y(ae()));var f=!1,s=!1;const r=()=>{if(f){le();return}f=!0,s&&re(),m.ensure(),this.#_=0,this.#r!==null&&N(this.#r,()=>{this.#r=null}),this.#s=this.has_pending_snippet(),this.#i=this.#c(()=>(this.#u=!1,p(()=>this.#d(this.#t)))),this.#f>0?this.#p():this.#s=!1};var _=I;try{E(null),s=!0,t?.(e,r),s=!1}catch(u){M(u,this.#a&&this.#a.parent)}finally{E(_)}n&&U(()=>{this.#r=this.#c(()=>{m.ensure(),this.#u=!0;try{return p(()=>{n(this.#t,()=>e,()=>r)})}catch(u){return M(u,this.#a.parent),null}finally{this.#u=!1}})})}}let o;function Fe(){o=void 0}function Oe(i){let e=null,t=l;var n;if(l){for(e=d,o===void 0&&(o=J(document.head));o!==null&&(o.nodeType!==R||o.data!==q);)o=F(o);o===null?v(!1):o=y(F(o))}l||(n=document.head.appendChild(C()));try{W(()=>i(n),de)}finally{t&&(v(!0),o=d,y(e))}}function Ce(i,e){var t=e==null?"":typeof e=="object"?e+"":e;t!==(i.__t??=i.nodeValue)&&(i.__t=t,i.nodeValue=t+"")}function ke(i,e){return Z(i,e)}function Se(i,e){k(),e.intro=e.intro??!1;const t=e.target,n=l,f=d;try{for(var s=J(t);s&&(s.nodeType!==R||s.data!==q);)s=F(s);if(!s)throw A;v(!0),y(s);const r=Z(i,{...e,anchor:s});return v(!1),r}catch(r){if(r instanceof Error&&r.message.split(` +`).some(_=>_.startsWith("https://svelte.dev/e/")))throw r;return r!==A&&console.warn("Failed to hydrate: ",r),e.recover===!1&&_e(),k(),ue(t),v(!1),ke(i,e)}finally{v(n),y(f),Fe()}}const g=new Map;function Z(i,{target:e,anchor:t,props:n={},events:f,context:s,intro:r=!0}){k();var _=new Set,u=c=>{for(var h=0;h{var c=t??e.appendChild(C());return Ne(c,{pending:()=>{}},h=>{if(s){ye({});var a=$;a.c=s}if(f&&(n.$$events=f),l&&me(h,null),w=i(h,n)||{},l&&(T.nodes_end=d,d===null||d.nodeType!==R||d.data!==Ee))throw be(),A;s&&Te()}),()=>{for(var h of _){e.removeEventListener(h,b);var a=g.get(h);--a===0?(document.removeEventListener(h,b),g.delete(h)):g.set(h,a)}V.delete(u),c!==t&&c.parentNode?.removeChild(c)}});return O.set(w,j),w}let O=new WeakMap;function xe(i,e){const t=O.get(i);return t?(O.delete(i),t(e)):Promise.resolve()}export{Oe as a,Re as c,Se as h,ke as m,Ce as s,xe as u}; diff --git a/_app/immutable/chunks/Iu6NYhtk.js b/_app/immutable/chunks/Iu6NYhtk.js new file mode 100644 index 0000000..5aef1ab --- /dev/null +++ b/_app/immutable/chunks/Iu6NYhtk.js @@ -0,0 +1 @@ +function t(e){return e.charAt(0).toUpperCase()+e.slice(1)+"s"}function s(e){return`/projects/${t(e.type).toLowerCase()}/${e.slug}/${e.slug}${e.hasGif?".gif":".png"}`}const o=[{type:"game",title:"Detective Duck",shortDescription:"Demonstrates use of LLMs in serious games.",description:"A visual novel game where you play as a duck detective solving mysteries.",slug:"detective-duck",youtubeURL:"https://www.youtube.com/watch?v=e1HN3MVz4hs"},{type:"game",title:"Reggie: The Game",shortDescription:"A gravity-bending platformer in which you travel through time",description:"Control the direction of gravity as you, run, jump and explore in a time-traveling adventure.",slug:"reggie",youtubeURL:"https://www.youtube.com/watch?v=EsMAK-gHFMI"},{type:"game",title:"Look Out!",shortDescription:"An eye-tracked horror game. Every glance could be your last.",description:"A horror game that uses eye-tracking technology to create an immersive and terrifying experience.",slug:"look-out"},{type:"game",title:"Ouija.TV",shortDescription:"Play Ouija with your twitch chat. Let the spirits guide you.",description:"Ouija.tv was an online multiplayer Ouija board that allowed streamers to ask questions to their viewers.",slug:"ouija-tv"},{type:"game",title:"Robotlab VR",shortDescription:"VR training simulator for industrial robots.",description:"A virtual reality application that allows users to train operating with industrial robots in a safe environment.",slug:"robotlab-vr",youtubeURL:"https://www.youtube.com/watch?v=oIzACzUwmVM"},{type:"game",title:"Runic Roots",shortDescription:"A farming game meets a deckbuilder.",description:"Build out your deck by growing and harvesting magical plants, then use your deck to defeat enemies.",workStatus:"active",slug:"runic-roots"},{type:"game",title:"Pogo Peaks",shortDescription:"Climb a mountain using a pogo stick.",description:"A physics-based climbing game where you use a pogo stick to ascend challenging peaks.",hasGif:!0,workStatus:"icebox",slug:"pogo-peaks"},{type:"game",title:"Liars!",shortDescription:"A physical card game about deception and deduction.",description:"A social trivia game where players bluff, and try to catch others in their lies.",workStatus:"active",slug:"liars"}],i=[{type:"tool",title:"Godot Doctor",shortDescription:"A plugin that helps you validate your scenes in Godot.",description:"A powerful validation plugin for Godot that catches errors before they reach runtime. Validate scenes, nodes, and resources using a declarative, test-driven approach. No @tool required!",slug:"godot-doctor",readmeURL:"https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/addons/godot_doctor/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/",githubURL:"https://github.com/codevogel/godot_doctor"},{type:"tool",title:"Commit for me",shortDescription:"Generate coventional commit messages with AI.",description:"A command-line tool that leverages AI to generate conventional commit messages based on your code changes. Easily customizable to your own needs. Save time and maintain consistency in your commit history.",slug:"commit-for-me",readmeURL:"https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/",githubURL:"https://github.com/codevogel/commit-for-me"},{type:"tool",title:"Peck",shortDescription:"📷 Easily capture Screenshots / Screen Recordings on Wayland.",description:"peck is a screen capture tool for Wayland. It provides easy ways to capture screenshots, record your screen, and optionally convert outputs to different formats. peck isn't a tool that tries to reinvent the wheel. Rather, it's just a simple wrapper bash script that makes interfacing with grim and wf-recorder easier.",slug:"peck",readmeURL:"https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/",githubURL:"https://github.com/codevogel/peck"},{type:"tool",title:"Faux 3D Perspective Shader",shortDescription:"A shader that creates a faux 3D perspective effect in Godot.",description:"A versatile shader for Godot that simulates a faux 3D perspective effect. Perfect for creating depth and immersion in 2D games, this shader can be easily customized to fit your art style and game design needs.",slug:"faux-3d-perspective-shader",readmeURL:"https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/",hasGif:!0,githubURL:"https://github.com/codevogel/faux-3d-perspective-shader-godot"},{type:"tool",title:"mkp5",shortDescription:"Creates p5.js projects from the command line.",description:"A command-line tool that streamlines the creation of p5.js projects. With mkp5, you can quickly set up a new p5.js project with a single command.",slug:"mkp5",readmeURL:"https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/",githubURL:"https://github.com/codevogel/mkp5"},{type:"tool",title:"pls",shortDescription:"pls centralize aliases! Unify your workflow with context-aware alias management.",description:"Project Level Shortcuts (pls) is a command-line tool that allows you to create, manage, and execute custom context-aware aliases for frequently used commands using portable .pls.yml files.",slug:"pls",readmeURL:"https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/",githubURL:"https://github.com/codevogel/pls"},{type:"tool",title:"Circuit Patch Converter",shortDescription:"Converts patches between different formats for the Novation Circuit.",description:"Converts patches from the old Novation Circuit format to the new Circuit format, bringing back backwards compatability.",slug:"circuit-patch-converter",readmeURL:"https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/README.md",githubRawURL:"https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/",githubURL:"https://github.com/codevogel/CircuitPatchConverter"}],a=[...o,...i];export{t as a,s as g,a as p}; diff --git a/_app/immutable/chunks/YuKHTIMG.js b/_app/immutable/chunks/YuKHTIMG.js new file mode 100644 index 0000000..6c06043 --- /dev/null +++ b/_app/immutable/chunks/YuKHTIMG.js @@ -0,0 +1 @@ +import{s as e,p as r}from"./B6-ZdAj4.js";const t={get error(){return r.error},get status(){return r.status},get url(){return r.url}};e.updated.check;const a=t;export{a as p}; diff --git a/_app/immutable/chunks/h4yY_LIJ.js b/_app/immutable/chunks/h4yY_LIJ.js new file mode 100644 index 0000000..c5e30d5 --- /dev/null +++ b/_app/immutable/chunks/h4yY_LIJ.js @@ -0,0 +1 @@ +import{p as C,i as L}from"./CPdWO9vA.js";import{d as h,e as o,t as j,a as p,g as m,r as s}from"./BbMFilaF.js";import{s as r,c as n}from"./DZYZrkxG.js";import{C as f}from"./1Ez0xvU2.js";var S=h("

Find me on

"),q=h("

Find me on

"),z=h('
');function G(u,x){let v=.5,e=C(x,"topLevel",3,!0);var i=z(),_=o(i);{var w=a=>{var g=S();p(a,g)},b=a=>{var g=q();p(a,g)};L(_,a=>{e()?a(w):a(b,!1)})}var d=m(_,2),t=o(d),y=o(t);f(y,{path:"/logos/svg/logo-github.svg",scale:v}),s(t);var l=m(t,2),k=o(l);f(k,{path:"/logos/svg/logo-youtube.svg",scale:v}),s(l);var c=m(l,2),F=o(c);f(F,{path:"/logos/svg/logo-linkedin.svg",scale:v}),s(c),s(d),s(i),j(()=>{r(d,1,`flex flex-row justify-center gap-x-8 ${e()?"md:gap-x-12":""}`),r(t,1,n(e()?"md:scale-125":"")),r(l,1,n(e()?"md:scale-125":"")),r(c,1,n(e()?"md:scale-125":""))}),p(u,i)}export{G as F}; diff --git a/_app/immutable/entry/app.CvUz7jx4.js b/_app/immutable/entry/app.CvUz7jx4.js new file mode 100644 index 0000000..ebfaa0a --- /dev/null +++ b/_app/immutable/entry/app.CvUz7jx4.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CnpaX_bC.js","../chunks/CPdWO9vA.js","../chunks/BbMFilaF.js","../chunks/BP4hYQWv.js","../chunks/DmP2n0k_.js","../chunks/DZYZrkxG.js","../chunks/BGFanmKd.js","../chunks/CnyALC89.js","../chunks/BaThn6Za.js","../chunks/ByzbuU5l.js","../chunks/Bzx_dmoR.js","../chunks/BECF2Gun.js","../chunks/Czk6ojrB.js","../chunks/B6MtVlrN.js","../chunks/B6-ZdAj4.js","../chunks/D9pCFzY-.js","../chunks/YuKHTIMG.js","../chunks/Iu6NYhtk.js","../assets/0.CgRkwH39.css","../nodes/1.C2dMvvnE.js","../chunks/DZHFmSoN.js","../chunks/B1wPNbHL.js","../nodes/2.DYQOGslj.js","../chunks/h4yY_LIJ.js","../chunks/1Ez0xvU2.js","../nodes/3.Dv4ePjt5.js","../nodes/4.Bu6R88KI.js","../chunks/CVfNxELp.js","../nodes/5.DmA1mkAy.js","../chunks/DhHeKD4j.js","../nodes/6.Bth7ph55.js","../nodes/7.C29PjVsk.js"])))=>i.map(i=>d[i]); +import{R as L,a$ as B,h as d,A as G,b0 as H,a8 as W,p as Y,au as z,j as F,P as A,H as J,d as C,f as w,g as K,a as b,b as Q,c as k,u as x,e as X,r as Z,b1 as $,t as tt}from"../chunks/BbMFilaF.js";import{h as et,m as rt,u as st,s as at}from"../chunks/DmP2n0k_.js";import{p as S,i as T,b as D}from"../chunks/CPdWO9vA.js";import{o as nt}from"../chunks/BP4hYQWv.js";import{c as I}from"../chunks/BaThn6Za.js";function ot(i){return class extends it{constructor(t){super({component:i,...t})}}}class it{#e;#t;constructor(t){var a=new Map,c=(r,e)=>{var s=W(e,!1,!1);return a.set(r,s),s};const u=new Proxy({...t.props||{},$$events:{}},{get(r,e){return d(a.get(e)??c(e,Reflect.get(r,e)))},has(r,e){return e===B?!0:(d(a.get(e)??c(e,Reflect.get(r,e))),Reflect.has(r,e))},set(r,e,s){return L(a.get(e)??c(e,s),s),Reflect.set(r,e,s)}});this.#t=(t.hydrate?et:rt)(t.component,{target:t.target,anchor:t.anchor,props:u,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&G(),this.#e=u.$$events;for(const r of Object.keys(this.#t))r==="$set"||r==="$destroy"||r==="$on"||H(this,r,{get(){return this.#t[r]},set(e){this.#t[r]=e},enumerable:!0});this.#t.$set=r=>{Object.assign(u,r)},this.#t.$destroy=()=>{st(this.#t)}}$set(t){this.#t.$set(t)}$on(t,a){this.#e[t]=this.#e[t]||[];const c=(...u)=>a.call(this,...u);return this.#e[t].push(c),()=>{this.#e[t]=this.#e[t].filter(u=>u!==c)}}$destroy(){this.#t.$destroy()}}const ct="modulepreload",ut=function(i,t){return new URL(i,t).href},j={},f=function(t,a,c){let u=Promise.resolve();if(a&&a.length>0){let O=function(o){return Promise.all(o.map(m=>Promise.resolve(m).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};const e=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),R=s?.nonce||s?.getAttribute("nonce");u=O(a.map(o=>{if(o=ut(o,c),o in j)return;j[o]=!0;const m=o.endsWith(".css"),_=m?'[rel="stylesheet"]':"";if(c)for(let h=e.length-1;h>=0;h--){const n=e[h];if(n.href===o&&(!m||n.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${_}`))return;const l=document.createElement("link");if(l.rel=m?"stylesheet":ct,m||(l.as="script"),l.crossOrigin="",l.href=o,R&&l.setAttribute("nonce",R),document.head.appendChild(l),m)return new Promise((h,n)=>{l.addEventListener("load",h),l.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${o}`)))})}))}function r(e){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=e,window.dispatchEvent(s),!s.defaultPrevented)throw e}return u.then(e=>{for(const s of e||[])s.status==="rejected"&&r(s.reason);return t().catch(r)})},Pt={};var lt=C('
'),mt=C(" ",1);function dt(i,t){Y(t,!0);let a=S(t,"components",23,()=>[]),c=S(t,"data_0",3,null),u=S(t,"data_1",3,null);z(()=>t.stores.page.set(t.page)),F(()=>{t.stores,t.page,t.constructors,a(),t.form,c(),u(),t.stores.page.notify()});let r=A(!1),e=A(!1),s=A(null);nt(()=>{const n=t.stores.page.subscribe(()=>{d(r)&&(L(e,!0),J().then(()=>{L(s,document.title||"untitled page",!0)}))});return L(r,!0),n});const R=x(()=>t.constructors[1]);var O=mt(),o=w(O);{var m=n=>{const v=x(()=>t.constructors[0]);var g=k(),P=w(g);I(P,()=>d(v),(E,y)=>{D(y(E,{get data(){return c()},get form(){return t.form},get params(){return t.page.params},children:(p,ht)=>{var V=k(),M=w(V);I(M,()=>d(R),(N,q)=>{D(q(N,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),U=>a()[1]=U,()=>a()?.[1])}),b(p,V)},$$slots:{default:!0}}),p=>a()[0]=p,()=>a()?.[0])}),b(n,g)},_=n=>{const v=x(()=>t.constructors[0]);var g=k(),P=w(g);I(P,()=>d(v),(E,y)=>{D(y(E,{get data(){return c()},get form(){return t.form},get params(){return t.page.params}}),p=>a()[0]=p,()=>a()?.[0])}),b(n,g)};T(o,n=>{t.constructors[1]?n(m):n(_,!1)})}var l=K(o,2);{var h=n=>{var v=lt(),g=X(v);{var P=E=>{var y=$();tt(()=>at(y,d(s))),b(E,y)};T(g,E=>{d(e)&&E(P)})}Z(v),b(n,v)};T(l,n=>{d(r)&&n(h)})}b(i,O),Q()}const pt=ot(dt),Rt=[()=>f(()=>import("../nodes/0.CnpaX_bC.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),()=>f(()=>import("../nodes/1.C2dMvvnE.js"),__vite__mapDeps([19,1,2,9,4,8,20,5,11,16,14,3,21]),import.meta.url),()=>f(()=>import("../nodes/2.DYQOGslj.js"),__vite__mapDeps([22,1,2,23,5,24,9,3,4,6,13,21,8,11,10,12]),import.meta.url),()=>f(()=>import("../nodes/3.Dv4ePjt5.js"),__vite__mapDeps([25,1,2,5,23,24,21,7,9,13,6]),import.meta.url),()=>f(()=>import("../nodes/4.Bu6R88KI.js"),__vite__mapDeps([26,1,2,27,4,6,17,8,5,20,11,24,9,13,21]),import.meta.url),()=>f(()=>import("../nodes/5.DmA1mkAy.js"),__vite__mapDeps([28,17,29,14,3,2,4,1,5,6,12,11,16,15,8,21,24]),import.meta.url),()=>f(()=>import("../nodes/6.Bth7ph55.js"),__vite__mapDeps([30,1,2,27,4,6,17,8,5,20,11,24,9,13,21]),import.meta.url),()=>f(()=>import("../nodes/7.C29PjVsk.js"),__vite__mapDeps([31,17,29,14,3,2,4,1,5,6,12,11,16,15,8,21,24]),import.meta.url)],Ot=[],wt={"/":[-3],"/contact":[3],"/games":[-5],"/games/[slug]":[5],"/tools":[-7],"/tools/[slug]":[7]},ft={handleError:(({error:i})=>{console.error(i)}),reroute:(()=>{}),transport:{}},_t=Object.fromEntries(Object.entries(ft.transport).map(([i,t])=>[i,t.decode])),Lt=!1,At=(i,t)=>_t[i](t);export{At as decode,_t as decoders,wt as dictionary,Lt as hash,ft as hooks,Pt as matchers,Rt as nodes,pt as root,Ot as server_loads}; diff --git a/_app/immutable/entry/start.B1mUjQiF.js b/_app/immutable/entry/start.B1mUjQiF.js new file mode 100644 index 0000000..4276017 --- /dev/null +++ b/_app/immutable/entry/start.B1mUjQiF.js @@ -0,0 +1 @@ +import{l as o,d as r}from"../chunks/B6-ZdAj4.js";export{o as load_css,r as start}; diff --git a/_app/immutable/nodes/0.CnpaX_bC.js b/_app/immutable/nodes/0.CnpaX_bC.js new file mode 100644 index 0000000..a689ca6 --- /dev/null +++ b/_app/immutable/nodes/0.CnpaX_bC.js @@ -0,0 +1,52 @@ +import{p as O,i as y,b as Je,s as ne,r as $e,l as _n}from"../chunks/CPdWO9vA.js";import{o as me}from"../chunks/BP4hYQWv.js";import{p as kt,d as Z,e as z,a as r,r as k,t as U,b as Pt,bt as _t,E as yn,D as We,F as xn,P as E,Q as qt,j as bt,R as i,h as e,u as m,x as Ft,g as ut,as as tn,s as dt,n as gt,c as w,f as v,N as en,b1 as ze,az as Wt,au as nn,bu as Ne,O as In,bv as Tn,at as Sn}from"../chunks/BbMFilaF.js";import{c as ae,s as ee,a as Cn}from"../chunks/DmP2n0k_.js";import{c as Et,s as vt,d as M,b as Pe,a as En,S as Bn,f as De}from"../chunks/DZYZrkxG.js";import{e as he}from"../chunks/BGFanmKd.js";import{a as J,c as Ct,S as pn}from"../chunks/CnyALC89.js";import{c as Ot}from"../chunks/BaThn6Za.js";import"../chunks/ByzbuU5l.js";import{B as Mn}from"../chunks/Bzx_dmoR.js";import{i as on,I as An,s as kn}from"../chunks/B6MtVlrN.js";import{b as Pn,r as Dn,a as Ln}from"../chunks/B6-ZdAj4.js";import{g as Hn,a as On,s as zn,b as Nn,c as Rn,d as Vn}from"../chunks/D9pCFzY-.js";import{p as le}from"../chunks/YuKHTIMG.js";import{p as Fn}from"../chunks/Iu6NYhtk.js";function qn(...n){return Pn+Dn(n[0],n[1])}const Wn=!0,Ga=Object.freeze(Object.defineProperty({__proto__:null,prerender:Wn},Symbol.toStringTag,{value:"Module"})),Zn="data:image/svg+xml,%3csvg%20id='Layer_2'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201000%201000'%3e%3cdefs%3e%3cstyle%3e.cls-1{fill:%23fff;}.cls-2{fill:%23ee0000;}%3c/style%3e%3c/defs%3e%3cg%20id='Layer_1-2'%3e%3ccircle%20class='cls-2'%20cx='500'%20cy='500'%20r='500'/%3e%3cpath%20d='m678.56,694.12c-9.14-61.15-33.1-128.26-8.62-220.63,14.85-56,41.41-98.38,62.35-126.13,45.52-27.75,91.02-55.5,136.54-83.25-66.3-6.26-132.6-12.52-198.89-18.79-16.63-10.84-137.31-86.94-263.86-41.49-133.58,47.98-220.94,212.44-183.98,390.12-51.02,53.24-102.04,106.48-153.07,159.72,86.96,147.42,247.41,246.33,430.96,246.33,45.38,0,89.35-6.05,131.14-17.38,35.79-79.96,63.42-181.47,47.42-288.51Z'/%3e%3cpath%20class='cls-1'%20d='m732.3,347.35c-20.86,1.39-271.12,21.23-331.63,178.57-6.64,17.29-11.66,37.94-12.75,62.36,20.77,3.17,50.79,10.01,83.62,26.22,73.84,36.45,110.6,94.95,124,116.92,61.49,100.76,47.29,205.56,41.91,236.57,32.6-77.54,56.14-173.24,41.12-273.87-9.14-61.15-33.1-128.26-8.62-220.63,14.85-56,41.42-98.38,62.36-126.13Z'/%3e%3ccircle%20class='cls-1'%20cx='488.32'%20cy='311.43'%20r='33.61'/%3e%3c/g%3e%3c/svg%3e",jn=Array(12).fill(0);var Un=Z('
'),Yn=Z('
');function Kn(n,t){kt(t,!0);var o=Yn(),a=z(o);he(a,23,()=>jn,(s,c)=>`spinner-bar-${c}`,(s,c)=>{var f=Un();r(s,f)}),k(a),k(o),U(s=>{vt(o,1,s),M(o,"data-visible",t.visible)},[()=>Et(["sonner-loading-wrapper",t.class].filter(Boolean).join(" "))]),r(n,o),Pt()}const Gn=typeof window<"u"?window:void 0;function Xn(n){let t=n.activeElement;for(;t?.shadowRoot;){const o=t.shadowRoot.activeElement;if(o===t)break;t=o}return t}class Qn{#e;#t;constructor(t,o){this.#e=t,this.#t=ae(o)}get current(){return this.#t(),this.#e()}}const Jn=/\(.+\)/,$n=new Set(["all","print","screen","and","or","not","only"]);class to extends Qn{constructor(t,o){let a=Jn.test(t)||t.split(/[\s,]+/).some(c=>$n.has(c.trim()))?t:`(${t})`;const s=window.matchMedia(a);super(()=>s.matches,c=>_t(s,"change",c))}}let eo=class{#e;#t;constructor(t={}){const{window:o=Gn,document:a=o?.document}=t;o!==void 0&&(this.#e=a,this.#t=ae(s=>{const c=_t(o,"focusin",s),f=_t(o,"focusout",s);return()=>{c(),f()}}))}get current(){return this.#t?.(),this.#e?Xn(this.#e):null}};new eo;class no{#e;#t;constructor(t){this.#e=t,this.#t=Symbol(t)}get key(){return this.#t}exists(){return yn(this.#t)}get(){const t=We(this.#t);if(t===void 0)throw new Error(`Context "${this.#e}" not found`);return t}getOr(t){const o=We(this.#t);return o===void 0?t:o}set(t){return xn(this.#t,t)}}const oo=new no("");function ue(n){return n.label!==void 0}function ao(){let n=E(qt(typeof document<"u"?document.hidden:!1));return bt(()=>_t(document,"visibilitychange",()=>{i(n,document.hidden,!0)})),{get current(){return e(n)}}}const Ze=4e3,ro=14,so=45,io=200,co=.05,lo={toast:"",title:"",description:"",loader:"",closeButton:"",cancelButton:"",actionButton:"",action:"",warning:"",error:"",success:"",default:"",info:"",loading:""};function uo(n){const[t,o]=n.split("-"),a=[];return t&&a.push(t),o&&a.push(o),a}function je(n){return 1/(1.5+Math.abs(n)/20)}var fo=Z("
"),ho=Z(''),mo=Z('
'),vo=Z('
'),go=Z(''),wo=Z(''),bo=Z('
',1),_o=Z('
  • ');function yo(n,t){kt(t,!0);const o=h=>{var b=w(),C=v(b);{var L=B=>{var G=fo(),Ht=z(G);dt(Ht,()=>t.loadingIcon),k(G),U(Yt=>{vt(G,1,Yt),M(G,"data-visible",e(I)==="loading")},[()=>Et(Ct(e(it)?.loader,t.toast?.classes?.loader,"sonner-loader"))]),r(B,G)},H=B=>{{let G=m(()=>Ct(e(it)?.loader,t.toast.classes?.loader)),Ht=m(()=>e(I)==="loading");Kn(B,{get class(){return e(G)},get visible(){return e(Ht)}})}};y(C,B=>{t.loadingIcon?B(L):B(H,!1)})}r(h,b)};let a=O(t,"cancelButtonStyle",3,""),s=O(t,"actionButtonStyle",3,""),c=O(t,"descriptionClass",3,""),f=O(t,"unstyled",3,!1),x=O(t,"defaultRichColors",3,!1);const P={...lo};let A=E(!1),R=E(!1),ft=E(!1),yt=E(!1),Bt=E(!1),Y=E(0),at=E(0),pt=t.toast.duration||t.duration||Ze,$=E(void 0),et=E(null),Dt=E(null);const xt=m(()=>t.index===0),Zt=m(()=>t.index+1<=t.visibleToasts),I=m(()=>t.toast.type),st=m(()=>t.toast.dismissable!==!1),j=m(()=>t.toast.class||""),K=m(()=>t.toast.descriptionClass||""),rt=m(()=>J.heights.findIndex(h=>h.toastId===t.toast.id)||0),It=m(()=>t.toast.closeButton??t.closeButton),ge=m(()=>t.toast.duration??t.duration??Ze);let Mt=null;const re=m(()=>t.position.split("-")),we=m(()=>J.heights.reduce((h,b,C)=>C>=e(rt)?h:h+b.height,0)),be=ao(),_e=m(()=>t.toast.invert||t.invert),jt=m(()=>e(I)==="loading"),it=m(()=>({...P,...t.classes})),ye=m(()=>t.toast.title),Lt=m(()=>t.toast.description);let Ut=E(0),se=E(0);const u=m(()=>Math.round(e(rt)*ro+e(we)));bt(()=>{e(ye),e(Lt);let h;t.expanded||t.expandByDefault?h=1:h=1-t.index*co;const b=Ft(()=>e($));if(b===void 0)return;b.style.setProperty("height","auto");const C=b.offsetHeight,L=b.getBoundingClientRect().height,H=Math.round(L/h+Number.EPSILON&100)/100;b.style.removeProperty("height");let B;Math.abs(H-C)<1?B=H:B=C,i(at,B,!0),Ft(()=>{J.setHeight({toastId:t.toast.id,height:B})})});function D(){i(R,!0),i(Y,e(u),!0),J.removeHeight(t.toast.id),setTimeout(()=>{J.remove(t.toast.id)},io)}let ct;const Tt=m(()=>t.toast.promise&&e(I)==="loading"||t.toast.duration===Number.POSITIVE_INFINITY);function At(){i(Ut,new Date().getTime(),!0),ct=setTimeout(()=>{t.toast.onAutoClose?.(t.toast),D()},pt)}function xe(){if(e(se){t.toast.updated&&(clearTimeout(ct),pt=e(ge),At())}),bt(()=>(e(Tt)||(t.expanded||t.interacting||be.current?xe():At()),()=>clearTimeout(ct))),me(()=>{i(A,!0);const h=e($)?.getBoundingClientRect().height;return i(at,h,!0),J.setHeight({toastId:t.toast.id,height:h}),()=>{J.removeHeight(t.toast.id)}}),bt(()=>{t.toast.delete&&Ft(()=>{D(),t.toast.onDismiss?.(t.toast)})});const Fe=h=>{if(e(jt))return;i(Y,e(u),!0);const b=h.target;b.setPointerCapture(h.pointerId),b.tagName!=="BUTTON"&&(i(ft,!0),Mt={x:h.clientX,y:h.clientY})},ie=()=>{if(e(yt)||!e(st))return;Mt=null;const h=Number(e($)?.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),b=Number(e($)?.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),C=new Date().getTime()-0,L=e(et)==="x"?h:b,H=Math.abs(L)/C;if(Math.abs(L)>=so||H>.11){i(Y,e(u),!0),t.toast.onDismiss?.(t.toast),e(et)==="x"?i(Dt,h>0?"right":"left",!0):i(Dt,b>0?"down":"up",!0),D(),i(yt,!0);return}else e($)?.style.setProperty("--swipe-amount-x","0px"),e($)?.style.setProperty("--swipe-amount-y","0px");i(Bt,!1),i(ft,!1),i(et,null)},wt=h=>{if(!Mt||!e(st)||(window.getSelection()?.toString().length??-1)>0)return;const C=h.clientY-Mt.y,L=h.clientX-Mt.x,H=t.swipeDirections??uo(t.position);!e(et)&&(Math.abs(L)>1||Math.abs(C)>1)&&i(et,Math.abs(L)>Math.abs(C)?"x":"y",!0);let B={x:0,y:0};if(e(et)==="y"){if(H.includes("top")||H.includes("bottom"))if(H.includes("top")&&C<0||H.includes("bottom")&&C>0)B.y=C;else{const G=C*je(C);B.y=Math.abs(G)0)B.x=L;else{const G=L*je(L);B.x=Math.abs(G)0||Math.abs(B.y)>0)&&i(Bt,!0),e($)?.style.setProperty("--swipe-amount-x",`${B.x}px`),e($)?.style.setProperty("--swipe-amount-y",`${B.y}px`)},St=()=>{i(ft,!1),i(et,null),Mt=null},ot=m(()=>t.toast.icon?t.toast.icon:e(I)==="success"?t.successIcon:e(I)==="error"?t.errorIcon:e(I)==="warning"?t.warningIcon:e(I)==="info"?t.infoIcon:e(I)==="loading"?t.loadingIcon:null);var _=_o();M(_,"tabindex",0);let ce;_.__pointermove=wt,_.__pointerup=ie,_.__pointerdown=Fe;var Ie=z(_);{var Te=h=>{var b=ho();b.__click=()=>{e(jt)||!e(st)||(D(),t.toast.onDismiss?.(t.toast))};var C=z(b);dt(C,()=>t.closeIcon??gt),k(b),U(L=>{M(b,"aria-label",t.closeButtonAriaLabel),M(b,"data-disabled",e(jt)),vt(b,1,L)},[()=>Et(Ct(e(it)?.closeButton,t.toast?.classes?.closeButton))]),r(h,b)};y(Ie,h=>{e(It)&&!t.toast.component&&e(I)!=="loading"&&t.closeIcon!==null&&h(Te)})}var Se=ut(Ie,2);{var Ce=h=>{const b=m(()=>t.toast.component);var C=w(),L=v(C);Ot(L,()=>e(b),(H,B)=>{B(H,ne(()=>t.toast.componentProps,{closeToast:D}))}),r(h,C)},Ee=h=>{var b=bo(),C=v(b);{var L=T=>{var l=mo(),g=z(l);{var p=S=>{var q=w(),nt=v(q);{var W=X=>{var Q=w(),Kt=v(Q);Ot(Kt,()=>t.toast.icon,(Gt,Xt)=>{Xt(Gt,{})}),r(X,Q)},N=X=>{o(X)};y(nt,X=>{t.toast.icon?X(W):X(N,!1)})}r(S,q)};y(g,S=>{(t.toast.promise||e(I)==="loading")&&S(p)})}var F=ut(g,2);{var d=S=>{var q=w(),nt=v(q);{var W=X=>{var Q=w(),Kt=v(Q);Ot(Kt,()=>t.toast.icon,(Gt,Xt)=>{Xt(Gt,{})}),r(X,Q)},N=X=>{var Q=w(),Kt=v(Q);{var Gt=Nt=>{var Qt=w(),pe=v(Qt);dt(pe,()=>t.successIcon??gt),r(Nt,Qt)},Xt=Nt=>{var Qt=w(),pe=v(Qt);{var hn=Rt=>{var Jt=w(),Me=v(Jt);dt(Me,()=>t.errorIcon??gt),r(Rt,Jt)},mn=Rt=>{var Jt=w(),Me=v(Jt);{var vn=Vt=>{var $t=w(),Ae=v($t);dt(Ae,()=>t.warningIcon??gt),r(Vt,$t)},gn=Vt=>{var $t=w(),Ae=v($t);{var wn=ke=>{var qe=w(),bn=v(qe);dt(bn,()=>t.infoIcon??gt),r(ke,qe)};y(Ae,ke=>{e(I)==="info"&&ke(wn)},!0)}r(Vt,$t)};y(Me,Vt=>{e(I)==="warning"?Vt(vn):Vt(gn,!1)},!0)}r(Rt,Jt)};y(pe,Rt=>{e(I)==="error"?Rt(hn):Rt(mn,!1)},!0)}r(Nt,Qt)};y(Kt,Nt=>{e(I)==="success"?Nt(Gt):Nt(Xt,!1)},!0)}r(X,Q)};y(nt,X=>{t.toast.icon?X(W):X(N,!1)})}r(S,q)};y(F,S=>{t.toast.type!=="loading"&&S(d)})}k(l),U(S=>vt(l,1,S),[()=>Et(Ct(e(it)?.icon,t.toast?.classes?.icon))]),r(T,l)};y(C,T=>{(e(I)||t.toast.icon||t.toast.promise)&&t.toast.icon!==null&&(e(ot)!==null||t.toast.icon)&&T(L)})}var H=ut(C,2),B=z(H),G=z(B);{var Ht=T=>{var l=w(),g=v(l);{var p=d=>{const S=m(()=>t.toast.title);var q=w(),nt=v(q);Ot(nt,()=>e(S),(W,N)=>{N(W,ne(()=>t.toast.componentProps))}),r(d,q)},F=d=>{var S=ze();U(()=>ee(S,t.toast.title)),r(d,S)};y(g,d=>{typeof t.toast.title!="string"?d(p):d(F,!1)})}r(T,l)};y(G,T=>{t.toast.title&&T(Ht)})}k(B);var Yt=ut(B,2);{var Be=T=>{var l=vo(),g=z(l);{var p=d=>{const S=m(()=>t.toast.description);var q=w(),nt=v(q);Ot(nt,()=>e(S),(W,N)=>{N(W,ne(()=>t.toast.componentProps))}),r(d,q)},F=d=>{var S=ze();U(()=>ee(S,t.toast.description)),r(d,S)};y(g,d=>{typeof t.toast.description!="string"?d(p):d(F,!1)})}k(l),U(d=>vt(l,1,d),[()=>Et(Ct(c(),e(K),e(it)?.description,t.toast.classes?.description))]),r(T,l)};y(Yt,T=>{t.toast.description&&T(Be)})}k(H);var lt=ut(H,2);{var tt=T=>{var l=w(),g=v(l);{var p=d=>{var S=w(),q=v(S);Ot(q,()=>t.toast.cancel,(nt,W)=>{W(nt,{})}),r(d,S)},F=d=>{var S=w(),q=v(S);{var nt=W=>{var N=go();N.__click=Q=>{ue(t.toast.cancel)&&e(st)&&(t.toast.cancel?.onClick?.(Q),D())};var X=z(N,!0);k(N),U(Q=>{Pe(N,t.toast.cancelButtonStyle??a()),vt(N,1,Q),ee(X,t.toast.cancel.label)},[()=>Et(Ct(e(it)?.cancelButton,t.toast?.classes?.cancelButton))]),r(W,N)};y(q,W=>{ue(t.toast.cancel)&&W(nt)},!0)}r(d,S)};y(g,d=>{typeof t.toast.cancel=="function"?d(p):d(F,!1)})}r(T,l)};y(lt,T=>{t.toast.cancel&&T(tt)})}var ht=ut(lt,2);{var mt=T=>{var l=w(),g=v(l);{var p=d=>{var S=w(),q=v(S);Ot(q,()=>t.toast.action,(nt,W)=>{W(nt,{})}),r(d,S)},F=d=>{var S=w(),q=v(S);{var nt=W=>{var N=wo();N.__click=Q=>{ue(t.toast.action)&&(t.toast.action?.onClick(Q),!Q.defaultPrevented&&D())};var X=z(N,!0);k(N),U(Q=>{Pe(N,t.toast.actionButtonStyle??s()),vt(N,1,Q),ee(X,t.toast.action.label)},[()=>Et(Ct(e(it)?.actionButton,t.toast?.classes?.actionButton))]),r(W,N)};y(q,W=>{ue(t.toast.action)&&W(nt)},!0)}r(d,S)};y(g,d=>{typeof t.toast.action=="function"?d(p):d(F,!1)})}r(T,l)};y(ht,T=>{t.toast.action&&T(mt)})}U(T=>vt(B,1,T),[()=>Et(Ct(e(it)?.title,t.toast?.classes?.title))]),r(h,b)};y(Se,h=>{t.toast.component?h(Ce):h(Ee,!1)})}k(_),Je(_,h=>i($,h),()=>e($)),U((h,b,C)=>{vt(_,1,h),M(_,"data-rich-colors",t.toast.richColors??x()),M(_,"data-styled",!(t.toast.component||t.toast.unstyled||f())),M(_,"data-mounted",e(A)),M(_,"data-promise",b),M(_,"data-swiped",e(Bt)),M(_,"data-removed",e(R)),M(_,"data-visible",e(Zt)),M(_,"data-y-position",e(re)[0]),M(_,"data-x-position",e(re)[1]),M(_,"data-index",t.index),M(_,"data-front",e(xt)),M(_,"data-swiping",e(ft)),M(_,"data-dismissable",e(st)),M(_,"data-type",e(I)),M(_,"data-invert",e(_e)),M(_,"data-swipe-out",e(yt)),M(_,"data-swipe-direction",e(Dt)),M(_,"data-expanded",C),ce=Pe(_,`${t.style} ${t.toast.style}`,ce,{"--index":t.index,"--toasts-before":t.index,"--z-index":J.toasts.length-t.index,"--offset":`${e(R)?e(Y):e(u)}px`,"--initial-height":t.expandByDefault?"auto":`${e(at)}px`})},[()=>Et(Ct(t.class,e(j),e(it)?.toast,t.toast?.classes?.toast,e(it)?.[e(I)],t.toast?.classes?.[e(I)])),()=>!!t.toast.promise,()=>!!(t.expanded||t.expandByDefault&&e(A))]),tn("dragend",_,St),r(n,_),Pt()}en(["pointermove","pointerup","pointerdown","click"]);var xo=Wt('');function Io(n){var t=xo();r(n,t)}var To=Wt('');function So(n){var t=To();r(n,t)}var Co=Wt('');function Eo(n){var t=Co();r(n,t)}var Bo=Wt('');function po(n){var t=Bo();r(n,t)}var Mo=Wt('');function Ao(n){var t=Mo();r(n,t)}const ko=3,an="24px",rn="16px",Po=4e3,Do=356,Lo=14,Le="dark",de="light";function Ho(n,t){const o={};return[n,t].forEach((a,s)=>{const c=s===1,f=c?"--mobile-offset":"--offset",x=c?rn:an;function P(A){["top","right","bottom","left"].forEach(R=>{o[`${f}-${R}`]=typeof A=="number"?`${A}px`:A})}typeof a=="number"||typeof a=="string"?P(a):typeof a=="object"?["top","right","bottom","left"].forEach(A=>{const R=a[A];R===void 0?o[`${f}-${A}`]=x:o[`${f}-${A}`]=typeof R=="number"?`${R}px`:R}):P(x)}),o}var Oo=Z("
      "),zo=Z('
      ');function No(n,t){kt(t,!0);function o(u){return u!=="system"?u:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?Le:de}let a=O(t,"invert",3,!1),s=O(t,"position",3,"bottom-right"),c=O(t,"hotkey",19,()=>["altKey","KeyT"]),f=O(t,"expand",3,!1),x=O(t,"closeButton",3,!1),P=O(t,"offset",3,an),A=O(t,"mobileOffset",3,rn),R=O(t,"theme",3,"light"),ft=O(t,"richColors",3,!1),yt=O(t,"duration",3,Po),Bt=O(t,"visibleToasts",3,ko),Y=O(t,"toastOptions",19,()=>({})),at=O(t,"dir",7,"auto"),pt=O(t,"gap",3,Lo),$=O(t,"containerAriaLabel",3,"Notifications"),et=O(t,"closeButtonAriaLabel",3,"Close toast"),Dt=$e(t,["$$slots","$$events","$$legacy","invert","position","hotkey","expand","closeButton","offset","mobileOffset","theme","richColors","duration","visibleToasts","toastOptions","dir","gap","loadingIcon","successIcon","errorIcon","warningIcon","closeIcon","infoIcon","containerAriaLabel","class","closeButtonAriaLabel","onblur","onfocus","onmouseenter","onmousemove","onmouseleave","ondragend","onpointerdown","onpointerup"]);function xt(){if(at()!=="auto")return at();if(typeof window>"u"||typeof document>"u")return"ltr";const u=document.documentElement.getAttribute("dir");return u==="auto"||!u?(Ft(()=>at(window.getComputedStyle(document.documentElement).direction??"ltr")),at()):(Ft(()=>at(u)),u)}const Zt=m(()=>Array.from(new Set([s(),...J.toasts.filter(u=>u.position).map(u=>u.position)].filter(Boolean))));let I=E(!1),st=E(!1),j=E(qt(o(R()))),K=E(void 0),rt=E(null),It=E(!1);const ge=m(()=>c().join("+").replace(/Key/g,"").replace(/Digit/g,""));bt(()=>{J.toasts.length<=1&&i(I,!1)}),bt(()=>{const u=J.toasts.filter(D=>D.dismiss&&!D.delete);if(u.length>0){const D=J.toasts.map(ct=>u.find(At=>At.id===ct.id)?{...ct,delete:!0}:ct);J.toasts=D}}),bt(()=>()=>{e(K)&&e(rt)&&(e(rt).focus({preventScroll:!0}),i(rt,null),i(It,!1))}),me(()=>(J.reset(),_t(document,"keydown",D=>{c().every(Tt=>D[Tt]||D.code===Tt)&&(i(I,!0),e(K)?.focus()),D.code==="Escape"&&(document.activeElement===e(K)||e(K)?.contains(document.activeElement))&&i(I,!1)}))),bt(()=>{if(R()!=="system"&&i(j,R()),typeof window<"u"){R()==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?i(j,Le):i(j,de));const u=window.matchMedia("(prefers-color-scheme: dark)"),D=({matches:ct})=>{i(j,ct?Le:de,!0)};"addEventListener"in u?u.addEventListener("change",D):u.addListener(D)}});const Mt=u=>{t.onblur?.(u),e(It)&&!u.currentTarget.contains(u.relatedTarget)&&(i(It,!1),e(rt)&&(e(rt).focus({preventScroll:!0}),i(rt,null)))},re=u=>{t.onfocus?.(u),!(u.target instanceof HTMLElement&&u.target.dataset.dismissable==="false")&&(e(It)||(i(It,!0),i(rt,u.relatedTarget,!0)))},we=u=>{t.onpointerdown?.(u),!(u.target instanceof HTMLElement&&u.target.dataset.dismissable==="false")&&i(st,!0)},be=u=>{t.onmouseenter?.(u),i(I,!0)},_e=u=>{t.onmouseleave?.(u),e(st)||i(I,!1)},jt=u=>{t.onmousemove?.(u),i(I,!0)},it=u=>{t.ondragend?.(u),i(I,!1)},ye=u=>{t.onpointerup?.(u),i(st,!1)};oo.set(new pn);var Lt=zo();M(Lt,"tabindex",-1);var Ut=z(Lt);{var se=u=>{var D=w(),ct=v(D);he(ct,18,()=>e(Zt),Tt=>Tt,(Tt,At,xe,Fe)=>{const ie=m(()=>{const[ot,_]=At.split("-");return{y:ot,x:_}}),wt=m(()=>Ho(P(),A()));var St=Oo();En(St,ot=>({tabindex:-1,dir:ot,class:t.class,"data-sonner-toaster":!0,"data-sonner-theme":e(j),"data-y-position":e(ie).y,"data-x-position":e(ie).x,style:t.style,onblur:Mt,onfocus:re,onmouseenter:be,onmousemove:jt,onmouseleave:_e,ondragend:it,onpointerdown:we,onpointerup:ye,...Dt,[Bn]:{"--front-toast-height":`${J.heights[0]?.height}px`,"--width":`${Do}px`,"--gap":`${pt()}px`,"--offset-top":e(wt)["--offset-top"],"--offset-right":e(wt)["--offset-right"],"--offset-bottom":e(wt)["--offset-bottom"],"--offset-left":e(wt)["--offset-left"],"--mobile-offset-top":e(wt)["--mobile-offset-top"],"--mobile-offset-right":e(wt)["--mobile-offset-right"],"--mobile-offset-bottom":e(wt)["--mobile-offset-bottom"],"--mobile-offset-left":e(wt)["--mobile-offset-left"]}}),[xt],void 0,"svelte-nbs0zk"),he(St,23,()=>J.toasts.filter(ot=>!ot.position&&e(xe)===0||ot.position===At),ot=>ot.id,(ot,_,ce,Ie)=>{{const Te=lt=>{var tt=w(),ht=v(tt);{var mt=l=>{var g=w(),p=v(g);dt(p,()=>t.successIcon??gt),r(l,g)},T=l=>{var g=w(),p=v(g);{var F=d=>{Io(d)};y(p,d=>{t.successIcon!==null&&d(F)},!0)}r(l,g)};y(ht,l=>{t.successIcon?l(mt):l(T,!1)})}r(lt,tt)},Se=lt=>{var tt=w(),ht=v(tt);{var mt=l=>{var g=w(),p=v(g);dt(p,()=>t.errorIcon??gt),r(l,g)},T=l=>{var g=w(),p=v(g);{var F=d=>{So(d)};y(p,d=>{t.errorIcon!==null&&d(F)},!0)}r(l,g)};y(ht,l=>{t.errorIcon?l(mt):l(T,!1)})}r(lt,tt)},Ce=lt=>{var tt=w(),ht=v(tt);{var mt=l=>{var g=w(),p=v(g);dt(p,()=>t.warningIcon??gt),r(l,g)},T=l=>{var g=w(),p=v(g);{var F=d=>{Eo(d)};y(p,d=>{t.warningIcon!==null&&d(F)},!0)}r(l,g)};y(ht,l=>{t.warningIcon?l(mt):l(T,!1)})}r(lt,tt)},Ee=lt=>{var tt=w(),ht=v(tt);{var mt=l=>{var g=w(),p=v(g);dt(p,()=>t.infoIcon??gt),r(l,g)},T=l=>{var g=w(),p=v(g);{var F=d=>{po(d)};y(p,d=>{t.infoIcon!==null&&d(F)},!0)}r(l,g)};y(ht,l=>{t.infoIcon?l(mt):l(T,!1)})}r(lt,tt)},h=lt=>{var tt=w(),ht=v(tt);{var mt=l=>{var g=w(),p=v(g);dt(p,()=>t.closeIcon??gt),r(l,g)},T=l=>{var g=w(),p=v(g);{var F=d=>{Ao(d)};y(p,d=>{t.closeIcon!==null&&d(F)},!0)}r(l,g)};y(ht,l=>{t.closeIcon?l(mt):l(T,!1)})}r(lt,tt)};let b=m(()=>Y()?.duration??yt()),C=m(()=>Y()?.class??""),L=m(()=>Y()?.descriptionClass||""),H=m(()=>Y()?.style??""),B=m(()=>Y().classes||{}),G=m(()=>Y().unstyled??!1),Ht=m(()=>Y()?.cancelButtonStyle??""),Yt=m(()=>Y()?.actionButtonStyle??""),Be=m(()=>Y()?.closeButtonAriaLabel??et());yo(ot,{get index(){return e(ce)},get toast(){return e(_)},get defaultRichColors(){return ft()},get duration(){return e(b)},get class(){return e(C)},get descriptionClass(){return e(L)},get invert(){return a()},get visibleToasts(){return Bt()},get closeButton(){return x()},get interacting(){return e(st)},get position(){return At},get style(){return e(H)},get classes(){return e(B)},get unstyled(){return e(G)},get cancelButtonStyle(){return e(Ht)},get actionButtonStyle(){return e(Yt)},get closeButtonAriaLabel(){return e(Be)},get expandByDefault(){return f()},get expanded(){return e(I)},get loadingIcon(){return t.loadingIcon},successIcon:Te,errorIcon:Se,warningIcon:Ce,infoIcon:Ee,closeIcon:h,$$slots:{successIcon:!0,errorIcon:!0,warningIcon:!0,infoIcon:!0,closeIcon:!0}})}}),k(St),Je(St,ot=>i(K,ot),()=>e(K)),U(()=>St.dir=St.dir),r(Tt,St)}),r(u,D)};y(Ut,u=>{J.toasts.length>0&&u(se)})}k(Lt),U(()=>M(Lt,"aria-label",`${$()??""} ${e(ge)??""}`)),r(n,Lt),Pt()}const sn=typeof window<"u"?window:void 0;function Ro(n){let t=n.activeElement;for(;t?.shadowRoot;){const o=t.shadowRoot.activeElement;if(o===t)break;t=o}return t}let Vo=class{#e;#t;constructor(t={}){const{window:o=sn,document:a=o?.document}=t;o!==void 0&&(this.#e=a,this.#t=ae(s=>{const c=_t(o,"focusin",s),f=_t(o,"focusout",s);return()=>{c(),f()}}))}get current(){return this.#t?.(),this.#e?Ro(this.#e):null}};new Vo;function Fo(n,t){switch(n){case"post":bt(t);break;case"pre":nn(t);break}}function cn(n,t,o,a={}){const{lazy:s=!1}=a;let c=!s,f=Array.isArray(n)?[]:void 0;Fo(t,()=>{const x=Array.isArray(n)?n.map(A=>A()):n();if(!c){c=!0,f=x;return}const P=Ft(()=>o(x,f));return f=x,P})}function Re(n,t,o){cn(n,"post",t,o)}function qo(n,t,o){cn(n,"pre",t,o)}Re.pre=qo;function Wo(n,t){switch(n){case"local":return t.localStorage;case"session":return t.sessionStorage}}class ln{#e;#t;#o;#n;#r;#a=E(0);constructor(t,o,a={}){const{storage:s="local",serializer:c={serialize:JSON.stringify,deserialize:JSON.parse},syncTabs:f=!0,window:x=sn}=a;if(this.#e=o,this.#t=t,this.#o=c,x===void 0)return;const P=Wo(s,x);this.#n=P;const A=P.getItem(t);A!==null?this.#e=this.#s(A):this.#i(o),f&&s==="local"&&(this.#r=ae(()=>_t(x,"storage",this.#c)))}get current(){this.#r?.(),e(this.#a);const t=this.#s(this.#n?.getItem(this.#t))??this.#e,o=new WeakMap,a=s=>{if(s===null||s?.constructor.name==="Date"||typeof s!="object")return s;let c=o.get(s);return c||(c=new Proxy(s,{get:(f,x)=>(e(this.#a),a(Reflect.get(f,x))),set:(f,x,P)=>(i(this.#a,e(this.#a)+1),Reflect.set(f,x,P),this.#i(t),!0)}),o.set(s,c)),c};return a(t)}set current(t){this.#i(t),i(this.#a,e(this.#a)+1)}#c=t=>{t.key!==this.#t||t.newValue===null||(this.#e=this.#s(t.newValue),i(this.#a,e(this.#a)+1))};#s(t){try{return this.#o.deserialize(t)}catch(o){console.error(`Error when parsing "${t}" from persisted store "${this.#t}"`,o);return}}#i(t){try{t!=null&&this.#n?.setItem(this.#t,this.#o.serialize(t))}catch(o){console.error(`Error when writing value from persisted store "${this.#t}" to ${this.#n}`,o)}}}function Ue(n){return n.filter(t=>t.length>0)}const un={getItem:n=>null,setItem:(n,t)=>{}},ve=typeof document<"u";function Zo(n){return typeof n=="function"}function jo(n){return n!==null&&typeof n=="object"}const oe=Symbol("box"),Ve=Symbol("is-writable");function Uo(n){return jo(n)&&oe in n}function Yo(n){return V.isBox(n)&&Ve in n}function V(n){let t=E(qt(n));return{[oe]:!0,[Ve]:!0,get current(){return e(t)},set current(o){i(t,o,!0)}}}function Ko(n,t){const o=m(n);return t?{[oe]:!0,[Ve]:!0,get current(){return e(o)},set current(a){t(a)}}:{[oe]:!0,get current(){return n()}}}function Go(n){return V.isBox(n)?n:Zo(n)?V.with(n):V(n)}function Xo(n){return Object.entries(n).reduce((t,[o,a])=>V.isBox(a)?(V.isWritableBox(a)?Object.defineProperty(t,o,{get(){return a.current},set(s){a.current=s}}):Object.defineProperty(t,o,{get(){return a.current}}),t):Object.assign(t,{[o]:a}),{})}function Qo(n){return V.isWritableBox(n)?{[oe]:!0,get current(){return n.current}}:n}V.from=Go;V.with=Ko;V.flatten=Xo;V.readonly=Qo;V.isBox=Uo;V.isWritableBox=Yo;function Jo(n,t){const o=RegExp(n,"g");return a=>{if(typeof a!="string")throw new TypeError(`expected an argument of type string, but got ${typeof a}`);return a.match(o)?a.replace(o,t):a}}const $o=Jo(/[A-Z]/,n=>`-${n.toLowerCase()}`);function ta(n){if(!n||typeof n!="object"||Array.isArray(n))throw new TypeError(`expected an argument of type object, but got ${typeof n}`);return Object.keys(n).map(t=>`${$o(t)}: ${n[t]};`).join(` +`)}function ea(n={}){return ta(n).replace(` +`," ")}const na={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",transform:"translateX(-100%)"};ea(na);const oa=typeof window<"u"?window:void 0;function aa(n){let t=n.activeElement;for(;t?.shadowRoot;){const o=t.shadowRoot.activeElement;if(o===t)break;t=o}return t}class ra{#e;#t;constructor(t={}){const{window:o=oa,document:a=o?.document}=t;o!==void 0&&(this.#e=a,this.#t=ae(s=>{const c=_t(o,"focusin",s),f=_t(o,"focusout",s);return()=>{c(),f()}}))}get current(){return this.#t?.(),this.#e?aa(this.#e):null}}new ra;const He=V("mode-watcher-mode"),Oe=V("mode-watcher-theme"),sa=["dark","light","system"];function Ye(n){return typeof n!="string"?!1:sa.includes(n)}class ia{#e="system";#t=ve?localStorage:un;#o=this.#t.getItem(He.current);#n=Ye(this.#o)?this.#o:this.#e;#r=E(qt(this.#a()));#a(t=this.#n){return new ln(He.current,t,{serializer:{serialize:o=>o,deserialize:o=>Ye(o)?o:this.#e}})}constructor(){Ne(()=>Re.pre(()=>He.current,(t,o)=>{const a=e(this.#r).current;i(this.#r,this.#a(a),!0),o&&localStorage.removeItem(o)}))}get current(){return e(this.#r).current}set current(t){e(this.#r).current=t}}class ca{#e=void 0;#t=!0;#o=E(qt(this.#e));#n=typeof window<"u"&&typeof window.matchMedia=="function"?new to("prefers-color-scheme: light"):{current:!1};query(){ve&&i(this.#o,this.#n.current?"light":"dark",!0)}tracking(t){this.#t=t}constructor(){Ne(()=>{nn(()=>{this.#t&&this.query()})}),this.query=this.query.bind(this),this.tracking=this.tracking.bind(this)}get current(){return e(this.#o)}}const Ke=new ia,la=new ca;class ua{#e=ve?localStorage:un;#t=this.#e.getItem(Oe.current);#o=this.#t===null||this.#t===void 0?"":this.#t;#n=E(qt(this.#r()));#r(t=this.#o){return new ln(Oe.current,t,{serializer:{serialize:o=>typeof o!="string"?"":o,deserialize:o=>o}})}constructor(){Ne(()=>Re.pre(()=>Oe.current,(t,o)=>{const a=e(this.#n).current;i(this.#n,this.#r(a),!0),o&&localStorage.removeItem(o)}))}get current(){return e(this.#n).current}set current(t){e(this.#n).current=t}}new ua;let Ge,Xe,Qe=!1,te=null;function da(){return te||(te=document.createElement("style"),te.appendChild(document.createTextNode(`* { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; + }`)),te)}function fa(n,t=!1){if(typeof document>"u")return;if(!Qe){Qe=!0,n();return}if(typeof window<"u"&&window.__vitest_worker__){n();return}clearTimeout(Ge),clearTimeout(Xe);const a=da(),s=()=>document.head.appendChild(a),c=()=>{a.parentNode&&document.head.removeChild(a)};function f(){n(),window.requestAnimationFrame(c)}if(typeof window.requestAnimationFrame<"u"){s(),t?f():window.requestAnimationFrame(()=>{f()});return}s(),Ge=window.setTimeout(()=>{n(),Xe=window.setTimeout(c,16)},16)}const fe=V(void 0),ha=V(!0),ma=V(!1),va=V([]),ga=V([]);function wa(){const n=m(()=>{if(!ve)return;const t=Ke.current==="system"?la.current:Ke.current,o=Ue(va.current),a=Ue(ga.current);function s(){const c=document.documentElement,f=document.querySelector('meta[name="theme-color"]');t==="light"?(o.length&&c.classList.remove(...o),a.length&&c.classList.add(...a),c.style.colorScheme="light",f&&fe.current&&f.setAttribute("content",fe.current.light)):(a.length&&c.classList.remove(...a),o.length&&c.classList.add(...o),c.style.colorScheme="dark",f&&fe.current&&f.setAttribute("content",fe.current.dark))}return ha.current?fa(s,ma.current):s(),t});return{get current(){return e(n)}}}const ba=wa();function _a(n,t){kt(t,!0);let o=$e(t,["$$slots","$$events","$$legacy"]);No(n,ne({get theme(){return ba.current},class:"toaster group",style:"--normal-bg: var(--color-popover); --normal-text: var(--color-popover-foreground); --normal-border: var(--color-border);"},()=>o)),Pt()}const zt="codevogel 🐦",dn=[{name:"Home",path:"/",title:`Home | ${zt}`},{name:"Games",path:"/games",title:`Games | ${zt}`},{name:"Tools",path:"/tools",title:`Tools | ${zt}`},{name:"Contact",path:"/contact",title:`Contact | ${zt}`}];var ya=Z('');function xa(n){var t=ya(),o=z(t);he(o,5,()=>dn,a=>a.path,(a,s)=>{Mn(a,{variant:"nav",get href(){return e(s).path},children:(c,f)=>{In();var x=ze();U(()=>ee(x,e(s).name)),r(c,x)},$$slots:{default:!0}})}),k(o),k(t),r(n,t)}var Ia=Z('codevogel logo head');function Ta(n,t){kt(t,!1);let o=qn("/");on();var a=Ia();U(()=>M(a,"href",o)),r(n,a),Pt()}var Sa=Wt('');function fn(n,t){kt(t,!0);let o=2,a=E(0);const s=-3e3/3*2,c=1e3/60;me(()=>{const R=setInterval(()=>{if(i(a,e(a)-o),e(a)===s&&i(a,0),e(a)clearInterval(R)});let f=O(t,"flipY",3,!1),x=O(t,"className",3,"");var P=Sa(),A=z(P);k(P),U(()=>{vt(P,0,`w-[300vw] ${x()??""}`,"svelte-nbgq9h"),M(A,"transform",`scale(1,${f()?"-1":"1"}) translate(${e(a)} ${f()?-100:0})`)}),r(n,P),Pt()}var Ca=Z('
      ');function Ea(n){var t=Ca(),o=z(t),a=z(o);Ta(a,{});var s=ut(a,2);xa(s),k(o);var c=ut(o,2);fn(c,{flipY:!0,className:"place-self-start z-50 h-12 "}),k(t),r(n,t)}var Ba=Z('
      ');function pa(n){var t=Ba(),o=z(t);fn(o,{flipY:!0,className:"h-footer max-h-footer"}),k(t),r(n,t)}function Ma(n,t){const o=_n(t,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const a=[["path",{d:"m17 11-5-5-5 5"}],["path",{d:"m17 18-5-5-5 5"}]];An(n,ne({name:"chevrons-up"},()=>o,{get iconNode(){return a},children:(s,c)=>{var f=w(),x=v(f);kn(x,t,"default",{}),r(s,f)},$$slots:{default:!0}}))}var Aa=Z('');function ka(n,t){kt(t,!1);let o=Hn(),a=On();function s(){const P=o();if(!P){console.warn("Scroll container not found in context.");return}const A=a();if(!A){console.warn("Content container not found in context.");return}P&&A&&zn(P,A)}on();var c=Aa();c.__click=()=>s();var f=z(c),x=z(f);Ma(x,{}),k(f),k(c),r(n,c),Pt()}en(["click"]);var Pa=Z(''),Da=Z('
      ',1);function Ja(n,t){kt(t,!0);let o=m(()=>{if(le.url.pathname.startsWith("/games/")||le.url.pathname.startsWith("/tools/")){const K=le.url.pathname.split("/")[2],rt=Fn.find(It=>It.slug===K)?.title;return rt?`${rt} | ${zt}`:zt}return dn.find(K=>K.path===le.url.pathname)?.title??zt}),a=E(void 0),s=E(void 0),c=E(void 0),f=E(void 0);Nn(()=>e(s)),Rn(()=>e(a)),Vn(()=>e(c));let x=E(void 0),P=m(()=>e(x)&&e(s)?e(x)-e(s).offsetHeight:0),A=m(()=>e(f)?e(f).offsetHeight>e(P):!1);me(()=>{ft(),R()}),Ln(()=>{R()});function R(){i(f,e(c)?.querySelector("section:first-child")??void 0,!0)}function ft(){i(x,window.innerHeight,!0)}function yt(j){return K=>j(K)}var Bt=Da();Cn(j=>{var K=Pa();U(()=>{Tn.title=e(o)??"",M(K,"href",Zn)}),r(j,K)}),tn("resize",Sn,ft);var Y=v(Bt);_a(Y,{});var at=ut(Y,2),pt=z(at);ka(pt,{}),k(at);var $=ut(at,2),et=z($),Dt=z(et);Ea(Dt),k(et),De(et,()=>yt(j=>i(s,j,!0)));var xt=ut(et,2),Zt=z(xt);dt(Zt,()=>t.children??gt),k(xt),De(xt,()=>yt(j=>i(c,j,!0)));var I=ut(xt,2),st=z(I);pa(st),k(I),k($),De($,()=>yt(j=>i(a,j,!0))),U(()=>vt(xt,1,`[&.first-section-overflowing>:first-child]:snap-start [&>section]:min-h-page [&>section]:snap-start [&>section]:first:min-h-page-without-header [&>section]:first:snap-end [&>section]:last:min-h-page-without-footer [&>section]:only:min-h-page-without-header-and-footer [&>section]:only:snap-start ${e(A)?"first-section-overflowing":""}`)),r(n,Bt),Pt()}export{Ja as component,Ga as universal}; diff --git a/_app/immutable/nodes/1.C2dMvvnE.js b/_app/immutable/nodes/1.C2dMvvnE.js new file mode 100644 index 0000000..7f8a701 --- /dev/null +++ b/_app/immutable/nodes/1.C2dMvvnE.js @@ -0,0 +1 @@ +import{i as D}from"../chunks/CPdWO9vA.js";import"../chunks/ByzbuU5l.js";import{p as F,c as G,f,d as a,O as H,a as r,g,e as x,r as b,h as l,u as C,t as P,b as I}from"../chunks/BbMFilaF.js";import{s as w}from"../chunks/DmP2n0k_.js";import{c}from"../chunks/BaThn6Za.js";import{C as J,a as K,b as L}from"../chunks/DZHFmSoN.js";import{p as S}from"../chunks/YuKHTIMG.js";import{S as N}from"../chunks/B1wPNbHL.js";var Q=a('

      Oops! 😦

      Something went wrong while trying to load this page.

      ',1),R=a("

      "),T=a("

      ",1),U=a(" ",1);function V(e,s){F(s,!0);const u=C(()=>S.status),_=C(()=>S.error?.message??void 0);var h=G(),y=f(h);c(y,()=>L,(O,j)=>{j(O,{children:(k,W)=>{var v=U(),$=f(v);c($,()=>J,(o,n)=>{n(o,{children:(p,M)=>{var t=Q();H(2),r(p,t)},$$slots:{default:!0}})});var E=g($,2);c(E,()=>K,(o,n)=>{n(o,{children:(p,M)=>{var t=T(),i=f(t),q=x(i,!0);b(i);var z=g(i,2);{var A=m=>{var d=R(),B=x(d,!0);b(d),P(()=>w(B,l(_))),r(m,d)};D(z,m=>{l(_)&&m(A)})}P(()=>w(q,l(u))),r(p,t)},$$slots:{default:!0}})}),r(k,v)},$$slots:{default:!0}})}),r(e,h),I()}function or(e){N(e,{class:"justify-center px-8",children:(s,u)=>{V(s,{})},$$slots:{default:!0}})}export{or as component}; diff --git a/_app/immutable/nodes/2.DYQOGslj.js b/_app/immutable/nodes/2.DYQOGslj.js new file mode 100644 index 0000000..3202839 --- /dev/null +++ b/_app/immutable/nodes/2.DYQOGslj.js @@ -0,0 +1,130 @@ +import{l as te,s as ee,p as W,i as Kt,r as ne,b as se}from"../chunks/CPdWO9vA.js";import{b2 as Qe,x as Xe,aC as Ye,ax as We,bs as Ze,c as Lt,f as Z,a as j,p as vt,P as gt,Q as Tt,j as re,h as A,R as nt,d as H,as as Ae,at as tn,e as O,g as q,t as rt,b as ht,H as Jt,r as C,O as Qt,N as ke,E as en,D as nn,F as sn,s as oe,n as ie,u as wt}from"../chunks/BbMFilaF.js";import{F as rn}from"../chunks/h4yY_LIJ.js";import"../chunks/ByzbuU5l.js";import{o as on}from"../chunks/BP4hYQWv.js";import{s as at}from"../chunks/DmP2n0k_.js";import{e as ft,i as It}from"../chunks/BGFanmKd.js";import{s as pt,b as mt,c as _t,d as zt,a as ae}from"../chunks/DZYZrkxG.js";import{I as ce,s as le}from"../chunks/B6MtVlrN.js";import{S as Ft}from"../chunks/B1wPNbHL.js";import{C as je}from"../chunks/1Ez0xvU2.js";import{c as $t}from"../chunks/BaThn6Za.js";import{c as ue}from"../chunks/BECF2Gun.js";import"../chunks/Bzx_dmoR.js";function Xt(e,t,n){Qe(()=>{var s=Xe(()=>t(e,n?.())||{});if(n&&s?.update){var a=!1,o={};Ye(()=>{var r=n();We(r),a&&Ze(o,r)&&(o=r,s.update(r))}),a=!0}if(s?.destroy)return()=>s.destroy()})}function an(e,t){const n=te(t,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const s=[["circle",{cx:"12.1",cy:"12.1",r:"1"}]];ce(e,ee({name:"dot"},()=>n,{get iconNode(){return s},children:(a,o)=>{var r=Lt(),c=Z(r);le(c,t,"default",{}),j(a,r)},$$slots:{default:!0}}))}function cn(e,t){const n=te(t,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const s=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"}],["circle",{cx:"12",cy:"10",r:"3"}]];ce(e,ee({name:"map-pin"},()=>n,{get iconNode(){return s},children:(a,o)=>{var r=Lt(),c=Z(r);le(c,t,"default",{}),j(a,r)},$$slots:{default:!0}}))}function Ee(e,t){const n=te(t,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const s=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"}],["path",{d:"M16 9a5 5 0 0 1 0 6"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728"}]];ce(e,ee({name:"volume-2"},()=>n,{get iconNode(){return s},children:(a,o)=>{var r=Lt(),c=Z(r);le(c,t,"default",{}),j(a,r)},$$slots:{default:!0}}))}var ln=H(" "),un=H(" "),fn=H(""),dn=H(" "),pn=H(" "),mn=H(""),gn=H('
      ');function vn(e,t){vt(t,!0);let n,s,a=gt(""),o=gt(Tt([])),r=gt(Tt([])),c=!0;function i(b){n=b}function l(b){s=b}on(()=>(P(),f(),()=>{c=!1})),re(()=>{if(!c)return;const b=A(o).length,D=n?.scrollHeight??NaN;let _="";isNaN(D)?_=`${b}lh`:_=`${D}px`,nt(a,`height: ${_}; transition: height ${v()}ms ease-in-out;`)});let p=W(t,"pregrow",3,!1),u=W(t,"baseStyle",3,"display: flex; flex-direction: column; white-space: pre-line;"),d=W(t,"baseClass",3,""),h=W(t,"defaultLineDelayMs",3,100),m=W(t,"defaultChunkDelayMs",3,50),g=W(t,"charDelayMs",3,50),v=W(t,"growDelayMs",3,500);async function f(){if(c){if(p()){const b=await w(t.message);nt(a,`height: ${b}px;`)}for(const b of t.message.lines){if(!c)return;await x(b)}}}async function x(b){if(!c)return;const D=Tt({chunks:[],class:b.class});if(!p()){const _=await I(b);if(!c)return;nt(a,`height: ${_}px; transition: height ${v()}ms ease-in-out;`)}await M(v()),c&&(nt(o,[...A(o),D],!0),await y(b,D),await M(b.delay??h()))}async function y(b,D){if(c)for(const _ of b.chunks){if(!c)return;const B=Tt({text:"",class:_.class,style:_.style,href:_.href});D.chunks=[...D.chunks,B],await T(_,B),await M(_.delay??m())}}async function T(b,D){if(c)for(const _ of b.text){if(!c)return;D.text+=_,await M(g())}}function M(b){return new Promise(D=>setTimeout(D,b))}async function I(b){if(!s)return console.error("Clone element not found for height measurement."),0;if(!c)return 0;let D=b.chunks.map(_=>({text:_.text,class:_.class,href:_.href,style:_.style}));return nt(r,[...A(r),{chunks:D,class:b.class,style:b.style}],!0),await Jt(),c?s.scrollHeight:0}async function w(b){if(!c)return 0;let D=b.lines.map(_=>({chunks:_.chunks.map(B=>({text:B.text,class:B.class,href:B.href,style:B.style})),class:_.class,style:_.style}));return nt(r,D,!0),await Jt(),c?s?.scrollHeight??0:0}async function L(){if(!s){console.error("Clone element not found for height recalculation.");return}if(!c)return;s.style.height="0",await Jt();const b=s.scrollHeight;nt(a,`height: ${b}px; transition: height 100ms ease-in-out;`)}function P(){v()<100&&console.warn(`[TypeWriter]: growDelayMs is set to ${v()}ms, which may be too short for smooth height transitions, as the DOM might update too late, resulting in incorrect height measurements. Consider setting it to at least 100ms.`)}var N=gn();Ae("resize",tn,L);var E=O(N);ft(E,20,()=>A(o),b=>b,(b,D)=>{var _=fn();ft(_,20,()=>D.chunks,B=>B,(B,$)=>{var K=Lt(),tt=Z(K);{var ct=R=>{var k=ln(),J=O(k,!0);C(k),rt(()=>{zt(k,"href",$.href),pt(k,1,_t($.class??"")),mt(k,$.style??""),at(J,$.text)}),j(R,k)},Y=R=>{var k=un(),J=O(k,!0);C(k),rt(()=>{pt(k,1,_t($.class??"")),mt(k,$.style??""),at(J,$.text)}),j(R,k)};Kt(tt,R=>{$.href!=null?R(ct):R(Y,!1)})}j(B,K)}),C(_),rt(()=>{pt(_,1,_t(D.class??"")),mt(_,D.style??"")}),j(b,_)}),C(E),Xt(E,b=>i?.(b));var F=q(E,2);ft(F,20,()=>A(r),b=>b,(b,D)=>{var _=mn();ft(_,20,()=>D.chunks,B=>B,(B,$)=>{var K=Lt(),tt=Z(K);{var ct=R=>{var k=dn(),J=O(k,!0);C(k),rt(()=>{zt(k,"href",$.href),pt(k,1,_t($.class??"")),mt(k,$.style??""),at(J,$.text)}),j(R,k)},Y=R=>{var k=pn(),J=O(k,!0);C(k),rt(()=>{pt(k,1,_t($.class??"")),mt(k,$.style??""),at(J,$.text)}),j(R,k)};Kt(tt,R=>{$.href!=null?R(ct):R(Y,!1)})}j(B,K)}),C(_),rt(()=>{pt(_,1,_t(D.class??"")),mt(_,D.style??"")}),j(b,_)}),C(F),Xt(F,b=>l?.(b)),C(N),rt(()=>{pt(E,1,`${d()??""} ${t.message.class??""??""}`),mt(E,`${u()??""} ${A(a)??""} ${t.message.style??""??""}`),pt(F,1,`${d()??""} ${t.message.class??""??""}`),mt(F,`${u()??""} ${A(a)??""} ${t.message.style??""??""} position: absolute; top: 0; left: 0; visibility: hidden;`)}),j(e,N),ht()}var hn=H('
      codevogel logo head
      ');function xn(e){const t={lines:[{chunks:[{text:"Hi!"}],class:"text-3xl font-bold md:text-5xl"},{chunks:[{text:"My name is "},{text:"codevogel",class:"font-extrabold text-background bg-primary px-2 py-1 rounded-xl"},{text:" ."}],class:"my-2"},{chunks:[{text:"I make "},{text:"games",class:"text-primary"},{text:" and build "},{text:"software",class:"text-primary"},{text:"."}]},{chunks:[{text:"Check out some of my "},{text:"games",class:"text-primary underline",href:"/games"},{text:" and "},{text:"tools",class:"text-primary underline",href:"/tools"},{text:"!"}]}],class:"text-lg"};var n=hn(),s=O(n);vn(s,{get message(){return t},baseClass:"max-w-72 min-w-72 bg-accent rounded-lg p-4 md:text-lg md:max-w-90 md:min-w-90",pregrow:!1}),Qt(4),C(n),j(e,n)}var yn=H('
      /ˈkoːdəˌvoːɣəl/

      A bird that enjoys programming.

      ');function bn(e,t){vt(t,!0);let n=gt("f"),s=gt("m");const a="/sounds/codevogel-nl-m.mp3",o="/sounds/codevogel-nl-f.mp3",r="/sounds/codevogel-en-m.mp3",c="/sounds/codevogel-en-f.mp3";function i(g){switch(g){case"nl":new Audio(A(n)==="m"?a:o).play(),nt(n,A(n)==="m"?"f":"m",!0);break;case"en":new Audio(A(s)==="m"?r:c).play(),nt(s,A(s)==="m"?"f":"m",!0);break}}var l=yn(),p=q(O(l),4),u=O(p);u.__click=()=>i("nl");var d=O(u);Ee(d,{class:"stroke-foreground/50 hover:stroke-foreground"}),Qt(2),C(u);var h=q(u,2);h.__click=()=>i("en");var m=O(h);Ee(m,{class:"stroke-foreground/50 hover:stroke-foreground"}),Qt(2),C(h),C(p),C(l),j(e,l),ht()}ke(["click"]);var Sn=H('
      '),_n=H('

      ',1),wn=H('

      Skills

      ');function Ln(e,t){var n=wn(),s=q(O(n),2);ft(s,17,()=>t.skillGroups,It,(a,o)=>{var r=_n(),c=Z(r),i=O(c,!0);C(c);var l=q(c,2);ft(l,21,()=>A(o).items,It,(p,u)=>{var d=Sn(),h=O(d),m=O(h);je(m,{get path(){return A(u).logoPath},scale:.3}),C(h),C(d),rt(()=>zt(h,"href",A(u).href)),j(p,d)}),C(l),rt(()=>at(i,A(o).name)),j(a,r)}),C(n),j(e,n)}const Yt=Symbol("EMBLA_CAROUSEL_CONTEXT");function En(e){return sn(Yt,e),e}function Oe(e="This component"){if(!en(Yt))throw new Error(`${e} must be used within a component`);return nn(Yt)}var Dn=H("
      ");function Cn(e,t){vt(t,!0);let n=W(t,"ref",15,null),s=W(t,"opts",19,()=>({})),a=W(t,"plugins",19,()=>[]),o=W(t,"setApi",3,()=>{}),r=W(t,"orientation",3,"horizontal"),c=ne(t,["$$slots","$$events","$$legacy","ref","opts","plugins","setApi","orientation","class","children"]),i=Tt({api:void 0,scrollPrev:l,scrollNext:p,orientation:r(),canScrollNext:!1,canScrollPrev:!1,handleKeyDown:h,options:s(),plugins:a(),onInit:m,scrollSnaps:[],selectedIndex:0,scrollTo:u});En(i);function l(){i.api?.scrollPrev()}function p(){i.api?.scrollNext()}function u(f,x){i.api?.scrollTo(f,x)}function d(){i.api&&(i.selectedIndex=i.api.selectedScrollSnap(),i.canScrollNext=i.api.canScrollNext(),i.canScrollPrev=i.api.canScrollPrev())}function h(f){f.key==="ArrowLeft"?(f.preventDefault(),l()):f.key==="ArrowRight"&&(f.preventDefault(),p())}function m(f){i.api=f.detail,o()(i.api),i.scrollSnaps=i.api.scrollSnapList(),i.api.on("select",d),d()}re(()=>()=>{i.api?.off("select",d)});var g=Dn();ae(g,f=>({"data-slot":"carousel",class:f,role:"region","aria-roledescription":"carousel",...c}),[()=>ue("relative",t.class)]);var v=O(g);oe(v,()=>t.children??ie),C(g),se(g,f=>n(f),()=>n()),j(e,g),ht()}function Tn(e){return Object.prototype.toString.call(e)==="[object Object]"}function De(e){return Tn(e)||Array.isArray(e)}function Mn(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function fe(e,t){const n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return!1;const a=JSON.stringify(Object.keys(e.breakpoints||{})),o=JSON.stringify(Object.keys(t.breakpoints||{}));return a!==o?!1:n.every(r=>{const c=e[r],i=t[r];return typeof c=="function"?`${c}`==`${i}`:!De(c)||!De(i)?c===i:fe(c,i)})}function Ce(e){return e.concat().sort((t,n)=>t.name>n.name?1:-1).map(t=>t.options)}function In(e,t){if(e.length!==t.length)return!1;const n=Ce(e),s=Ce(t);return n.every((a,o)=>{const r=s[o];return fe(a,r)})}function de(e){return typeof e=="number"}function Wt(e){return typeof e=="string"}function Bt(e){return typeof e=="boolean"}function Te(e){return Object.prototype.toString.call(e)==="[object Object]"}function G(e){return Math.abs(e)}function pe(e){return Math.sign(e)}function Pt(e,t){return G(e-t)}function Pn(e,t){if(e===0||t===0||G(e)<=G(t))return 0;const n=Pt(G(e),G(t));return G(n/e)}function An(e){return Math.round(e*100)/100}function At(e){return kt(e).map(Number)}function ot(e){return e[Ot(e)]}function Ot(e){return Math.max(0,e.length-1)}function me(e,t){return t===Ot(e)}function Me(e,t=0){return Array.from(Array(e),(n,s)=>t+s)}function kt(e){return Object.keys(e)}function Ne(e,t){return[e,t].reduce((n,s)=>(kt(s).forEach(a=>{const o=n[a],r=s[a],c=Te(o)&&Te(r);n[a]=c?Ne(o,r):r}),n),{})}function Zt(e,t){return typeof t.MouseEvent<"u"&&e instanceof t.MouseEvent}function kn(e,t){const n={start:s,center:a,end:o};function s(){return 0}function a(i){return o(i)/2}function o(i){return t-i}function r(i,l){return Wt(e)?n[e](i):e(t,i,l)}return{measure:r}}function jt(){let e=[];function t(a,o,r,c={passive:!0}){let i;if("addEventListener"in a)a.addEventListener(o,r,c),i=()=>a.removeEventListener(o,r,c);else{const l=a;l.addListener(r),i=()=>l.removeListener(r)}return e.push(i),s}function n(){e=e.filter(a=>a())}const s={add:t,clear:n};return s}function jn(e,t,n,s){const a=jt(),o=1e3/60;let r=null,c=0,i=0;function l(){a.add(e,"visibilitychange",()=>{e.hidden&&m()})}function p(){h(),a.clear()}function u(v){if(!i)return;r||(r=v,n(),n());const f=v-r;for(r=v,c+=f;c>=o;)n(),c-=o;const x=c/o;s(x),i&&(i=t.requestAnimationFrame(u))}function d(){i||(i=t.requestAnimationFrame(u))}function h(){t.cancelAnimationFrame(i),r=null,c=0,i=0}function m(){r=null,c=0}return{init:l,destroy:p,start:d,stop:h,update:n,render:s}}function On(e,t){const n=t==="rtl",s=e==="y",a=s?"y":"x",o=s?"x":"y",r=!s&&n?-1:1,c=p(),i=u();function l(m){const{height:g,width:v}=m;return s?g:v}function p(){return s?"top":n?"right":"left"}function u(){return s?"bottom":n?"left":"right"}function d(m){return m*r}return{scroll:a,cross:o,startEdge:c,endEdge:i,measureSize:l,direction:d}}function bt(e=0,t=0){const n=G(e-t);function s(l){return lt}function o(l){return s(l)||a(l)}function r(l){return o(l)?s(l)?e:t:l}function c(l){return n?l-n*Math.ceil((l-t)/n):l}return{length:n,max:t,min:e,constrain:r,reachedAny:o,reachedMax:a,reachedMin:s,removeOffset:c}}function Fe(e,t,n){const{constrain:s}=bt(0,e),a=e+1;let o=r(t);function r(d){return n?G((a+d)%a):s(d)}function c(){return o}function i(d){return o=r(d),u}function l(d){return p().set(c()+d)}function p(){return Fe(e,c(),n)}const u={get:c,set:i,add:l,clone:p};return u}function Nn(e,t,n,s,a,o,r,c,i,l,p,u,d,h,m,g,v,f,x){const{cross:y,direction:T}=e,M=["INPUT","SELECT","TEXTAREA"],I={passive:!1},w=jt(),L=jt(),P=bt(50,225).constrain(h.measure(20)),N={mouse:300,touch:400},E={mouse:500,touch:600},F=m?43:25;let b=!1,D=0,_=0,B=!1,$=!1,K=!1,tt=!1;function ct(S){if(!x)return;function z(X){(Bt(x)||x(S,X))&&Dt(X)}const U=t;w.add(U,"dragstart",X=>X.preventDefault(),I).add(U,"touchmove",()=>{},I).add(U,"touchend",()=>{}).add(U,"touchstart",z).add(U,"mousedown",z).add(U,"touchcancel",Q).add(U,"contextmenu",Q).add(U,"click",lt,!0)}function Y(){w.clear(),L.clear()}function R(){const S=tt?n:t;L.add(S,"touchmove",et,I).add(S,"touchend",Q).add(S,"mousemove",et,I).add(S,"mouseup",Q)}function k(S){const z=S.nodeName||"";return M.includes(z)}function J(){return(m?E:N)[tt?"mouse":"touch"]}function Et(S,z){const U=u.add(pe(S)*-1),X=p.byDistance(S,!m).distance;return m||G(S)=2,!(z&&S.button!==0)&&(k(S.target)||(B=!0,o.pointerDown(S),l.useFriction(0).useDuration(0),a.set(r),R(),D=o.readPoint(S),_=o.readPoint(S,y),d.emit("pointerDown")))}function et(S){if(!Zt(S,s)&&S.touches.length>=2)return Q(S);const U=o.readPoint(S),X=o.readPoint(S,y),it=Pt(U,D),ut=Pt(X,_);if(!$&&!tt&&(!S.cancelable||($=it>ut,!$)))return Q(S);const xt=o.pointerMove(S);it>g&&(K=!0),l.useFriction(.3).useDuration(.75),c.start(),a.add(T(xt)),S.preventDefault()}function Q(S){const U=p.byDistance(0,!1).index!==u.get(),X=o.pointerUp(S)*J(),it=Et(T(X),U),ut=Pn(X,it),xt=F-10*ut,dt=f+ut/50;$=!1,B=!1,L.clear(),l.useDuration(xt).useFriction(dt),i.distance(it,!m),tt=!1,d.emit("pointerUp")}function lt(S){K&&(S.stopPropagation(),S.preventDefault(),K=!1)}function st(){return B}return{init:ct,destroy:Y,pointerDown:st}}function Fn(e,t){let s,a;function o(u){return u.timeStamp}function r(u,d){const m=`client${(d||e.scroll)==="x"?"X":"Y"}`;return(Zt(u,t)?u:u.touches[0])[m]}function c(u){return s=u,a=u,r(u)}function i(u){const d=r(u)-r(a),h=o(u)-o(s)>170;return a=u,h&&(s=u),d}function l(u){if(!s||!a)return 0;const d=r(a)-r(s),h=o(u)-o(s),m=o(u)-o(a)>170,g=d/h;return h&&!m&&G(g)>.1?g:0}return{pointerDown:c,pointerMove:i,pointerUp:l,readPoint:r}}function $n(){function e(n){const{offsetTop:s,offsetLeft:a,offsetWidth:o,offsetHeight:r}=n;return{top:s,right:a+o,bottom:s+r,left:a,width:o,height:r}}return{measure:e}}function zn(e){function t(s){return e*(s/100)}return{measure:t}}function Hn(e,t,n,s,a,o,r){const c=[e].concat(s);let i,l,p=[],u=!1;function d(v){return a.measureSize(r.measure(v))}function h(v){if(!o)return;l=d(e),p=s.map(d);function f(x){for(const y of x){if(u)return;const T=y.target===e,M=s.indexOf(y.target),I=T?l:p[M],w=d(T?e:s[M]);if(G(w-I)>=.5){v.reInit(),t.emit("resize");break}}}i=new ResizeObserver(x=>{(Bt(o)||o(v,x))&&f(x)}),n.requestAnimationFrame(()=>{c.forEach(x=>i.observe(x))})}function m(){u=!0,i&&i.disconnect()}return{init:h,destroy:m}}function Bn(e,t,n,s,a,o){let r=0,c=0,i=a,l=o,p=e.get(),u=0;function d(){const I=s.get()-e.get(),w=!i;let L=0;return w?(r=0,n.set(s),e.set(s),L=I):(n.set(e),r+=I/i,r*=l,p+=r,e.add(r),L=p-u),c=pe(L),u=p,M}function h(){const I=s.get()-t.get();return G(I)<.001}function m(){return i}function g(){return c}function v(){return r}function f(){return y(a)}function x(){return T(o)}function y(I){return i=I,M}function T(I){return l=I,M}const M={direction:g,duration:m,velocity:v,seek:d,settled:h,useBaseFriction:x,useBaseDuration:f,useFriction:T,useDuration:y};return M}function Vn(e,t,n,s,a){const o=a.measure(10),r=a.measure(50),c=bt(.1,.99);let i=!1;function l(){return!(i||!e.reachedAny(n.get())||!e.reachedAny(t.get()))}function p(h){if(!l())return;const m=e.reachedMin(t.get())?"min":"max",g=G(e[m]-t.get()),v=n.get()-t.get(),f=c.constrain(g/r);n.subtract(v*f),!h&&G(v){const{min:v,max:f}=o,x=o.constrain(m),y=!g,T=me(n,g);return y?f:T||l(v,x)?v:l(f,x)?f:x}).map(m=>parseFloat(m.toFixed(3)))}function d(){if(t<=e+a)return[o.max];if(s==="keepSnaps")return r;const{min:m,max:g}=c;return r.slice(m,g)}return{snapsContained:i,scrollContainLimit:c}}function Rn(e,t,n){const s=t[0],a=n?s-e:ot(t);return{limit:bt(a,s)}}function Un(e,t,n,s){const o=t.min+.1,r=t.max+.1,{reachedMin:c,reachedMax:i}=bt(o,r);function l(d){return d===1?i(n.get()):d===-1?c(n.get()):!1}function p(d){if(!l(d))return;const h=e*(d*-1);s.forEach(m=>m.add(h))}return{loop:p}}function qn(e){const{max:t,length:n}=e;function s(o){const r=o-t;return n?r/-n:0}return{get:s}}function Jn(e,t,n,s,a){const{startEdge:o,endEdge:r}=e,{groupSlides:c}=a,i=u().map(t.measure),l=d(),p=h();function u(){return c(s).map(g=>ot(g)[r]-g[0][o]).map(G)}function d(){return s.map(g=>n[o]-g[o]).map(g=>-G(g))}function h(){return c(l).map(g=>g[0]).map((g,v)=>g+i[v])}return{snaps:l,snapsAligned:p}}function Kn(e,t,n,s,a,o){const{groupSlides:r}=a,{min:c,max:i}=s,l=p();function p(){const d=r(o),h=!e||t==="keepSnaps";return n.length===1?[o]:h?d:d.slice(c,i).map((m,g,v)=>{const f=!g,x=me(v,g);if(f){const y=ot(v[0])+1;return Me(y)}if(x){const y=Ot(o)-ot(v)[0]+1;return Me(y,ot(v)[0])}return m})}return{slideRegistry:l}}function Qn(e,t,n,s,a){const{reachedAny:o,removeOffset:r,constrain:c}=s;function i(m){return m.concat().sort((g,v)=>G(g)-G(v))[0]}function l(m){const g=e?r(m):c(m),v=t.map((x,y)=>({diff:p(x-g,0),index:y})).sort((x,y)=>G(x.diff)-G(y.diff)),{index:f}=v[0];return{index:f,distance:g}}function p(m,g){const v=[m,m+n,m-n];if(!e)return m;if(!g)return i(v);const f=v.filter(x=>pe(x)===g);return f.length?i(f):ot(v)-n}function u(m,g){const v=t[m]-a.get(),f=p(v,g);return{index:m,distance:f}}function d(m,g){const v=a.get()+m,{index:f,distance:x}=l(v),y=!e&&o(v);if(!g||y)return{index:f,distance:m};const T=t[f]-x,M=m+p(T,0);return{index:f,distance:M}}return{byDistance:d,byIndex:u,shortcut:p}}function Xn(e,t,n,s,a,o,r){function c(u){const d=u.distance,h=u.index!==t.get();o.add(d),d&&(s.duration()?e.start():(e.update(),e.render(1),e.update())),h&&(n.set(t.get()),t.set(u.index),r.emit("select"))}function i(u,d){const h=a.byDistance(u,d);c(h)}function l(u,d){const h=t.clone().set(u),m=a.byIndex(h.get(),d);c(m)}return{distance:i,index:l}}function Yn(e,t,n,s,a,o,r,c){const i={passive:!0,capture:!0};let l=0;function p(h){if(!c)return;function m(g){if(new Date().getTime()-l>10)return;r.emit("slideFocusStart"),e.scrollLeft=0;const x=n.findIndex(y=>y.includes(g));de(x)&&(a.useDuration(0),s.index(x,0),r.emit("slideFocus"))}o.add(document,"keydown",u,!1),t.forEach((g,v)=>{o.add(g,"focus",f=>{(Bt(c)||c(h,f))&&m(v)},i)})}function u(h){h.code==="Tab"&&(l=new Date().getTime())}return{init:p}}function Mt(e){let t=e;function n(){return t}function s(i){t=r(i)}function a(i){t+=r(i)}function o(i){t-=r(i)}function r(i){return de(i)?i:i.get()}return{get:n,set:s,add:a,subtract:o}}function $e(e,t){const n=e.scroll==="x"?r:c,s=t.style;let a=null,o=!1;function r(d){return`translate3d(${d}px,0px,0px)`}function c(d){return`translate3d(0px,${d}px,0px)`}function i(d){if(o)return;const h=An(e.direction(d));h!==a&&(s.transform=n(h),a=h)}function l(d){o=!d}function p(){o||(s.transform="",t.getAttribute("style")||t.removeAttribute("style"))}return{clear:p,to:i,toggleActive:l}}function Wn(e,t,n,s,a,o,r,c,i){const p=At(a),u=At(a).reverse(),d=f().concat(x());function h(w,L){return w.reduce((P,N)=>P-a[N],L)}function m(w,L){return w.reduce((P,N)=>h(P,L)>0?P.concat([N]):P,[])}function g(w){return o.map((L,P)=>({start:L-s[P]+.5+w,end:L+t-.5+w}))}function v(w,L,P){const N=g(L);return w.map(E=>{const F=P?0:-n,b=P?n:0,D=P?"end":"start",_=N[E][D];return{index:E,loopPoint:_,slideLocation:Mt(-1),translate:$e(e,i[E]),target:()=>c.get()>_?F:b}})}function f(){const w=r[0],L=m(u,w);return v(L,n,!1)}function x(){const w=t-r[0]-1,L=m(p,w);return v(L,-n,!0)}function y(){return d.every(({index:w})=>{const L=p.filter(P=>P!==w);return h(L,t)<=.1})}function T(){d.forEach(w=>{const{target:L,translate:P,slideLocation:N}=w,E=L();E!==N.get()&&(P.to(E),N.set(E))})}function M(){d.forEach(w=>w.translate.clear())}return{canLoop:y,clear:M,loop:T,loopPoints:d}}function Zn(e,t,n){let s,a=!1;function o(i){if(!n)return;function l(p){for(const u of p)if(u.type==="childList"){i.reInit(),t.emit("slidesChanged");break}}s=new MutationObserver(p=>{a||(Bt(n)||n(i,p))&&l(p)}),s.observe(e,{childList:!0})}function r(){s&&s.disconnect(),a=!0}return{init:o,destroy:r}}function ts(e,t,n,s){const a={};let o=null,r=null,c,i=!1;function l(){c=new IntersectionObserver(m=>{i||(m.forEach(g=>{const v=t.indexOf(g.target);a[v]=g}),o=null,r=null,n.emit("slidesInView"))},{root:e.parentElement,threshold:s}),t.forEach(m=>c.observe(m))}function p(){c&&c.disconnect(),i=!0}function u(m){return kt(a).reduce((g,v)=>{const f=parseInt(v),{isIntersecting:x}=a[f];return(m&&x||!m&&!x)&&g.push(f),g},[])}function d(m=!0){if(m&&o)return o;if(!m&&r)return r;const g=u(m);return m&&(o=g),m||(r=g),g}return{init:l,destroy:p,get:d}}function es(e,t,n,s,a,o){const{measureSize:r,startEdge:c,endEdge:i}=e,l=n[0]&&a,p=m(),u=g(),d=n.map(r),h=v();function m(){if(!l)return 0;const x=n[0];return G(t[c]-x[c])}function g(){if(!l)return 0;const x=o.getComputedStyle(ot(s));return parseFloat(x.getPropertyValue(`margin-${i}`))}function v(){return n.map((x,y,T)=>{const M=!y,I=me(T,y);return M?d[y]+p:I?d[y]+u:T[y+1][c]-x[c]}).map(G)}return{slideSizes:d,slideSizesWithGaps:h,startGap:p,endGap:u}}function ns(e,t,n,s,a,o,r,c,i){const{startEdge:l,endEdge:p,direction:u}=e,d=de(n);function h(f,x){return At(f).filter(y=>y%x===0).map(y=>f.slice(y,y+x))}function m(f){return f.length?At(f).reduce((x,y,T)=>{const M=ot(x)||0,I=M===0,w=y===Ot(f),L=a[l]-o[M][l],P=a[l]-o[y][p],N=!s&&I?u(r):0,E=!s&&w?u(c):0,F=G(P-E-(L+N));return T&&F>t+i&&x.push(y),w&&x.push(f.length),x},[]).map((x,y,T)=>{const M=Math.max(T[y-1]||0);return f.slice(M,x)}):[]}function g(f){return d?h(f,n):m(f)}return{groupSlides:g}}function ss(e,t,n,s,a,o,r){const{align:c,axis:i,direction:l,startIndex:p,loop:u,duration:d,dragFree:h,dragThreshold:m,inViewThreshold:g,slidesToScroll:v,skipSnaps:f,containScroll:x,watchResize:y,watchSlides:T,watchDrag:M,watchFocus:I}=o,w=2,L=$n(),P=L.measure(t),N=n.map(L.measure),E=On(i,l),F=E.measureSize(P),b=zn(F),D=kn(c,F),_=!u&&!!x,B=u||!!x,{slideSizes:$,slideSizesWithGaps:K,startGap:tt,endGap:ct}=es(E,P,N,n,B,a),Y=ns(E,F,v,u,P,N,tt,ct,w),{snaps:R,snapsAligned:k}=Jn(E,D,P,N,Y),J=-ot(R)+ot(K),{snapsContained:Et,scrollContainLimit:Dt}=Gn(F,J,k,x,w),et=_?Et:k,{limit:Q}=Rn(J,et,u),lt=Fe(Ot(et),p,u),st=lt.clone(),V=At(n),S=({dragHandler:St,scrollBody:Ut,scrollBounds:qt,options:{loop:Nt}})=>{Nt||qt.constrain(St.pointerDown()),Ut.seek()},z=({scrollBody:St,translate:Ut,location:qt,offsetLocation:Nt,previousLocation:Be,scrollLooper:Ve,slideLooper:Ge,dragHandler:Re,animation:Ue,eventHandler:ye,scrollBounds:qe,options:{loop:be}},Se)=>{const _e=St.settled(),Je=!qe.shouldConstrain(),we=be?_e:_e&&Je,Le=we&&!Re.pointerDown();Le&&Ue.stop();const Ke=qt.get()*Se+Be.get()*(1-Se);Nt.set(Ke),be&&(Ve.loop(St.direction()),Ge.loop()),Ut.to(Nt.get()),Le&&ye.emit("settle"),we||ye.emit("scroll")},U=jn(s,a,()=>S(Rt),St=>z(Rt,St)),X=.68,it=et[lt.get()],ut=Mt(it),xt=Mt(it),dt=Mt(it),yt=Mt(it),Ct=Bn(ut,dt,xt,yt,d,X),Vt=Qn(u,et,J,Q,yt),Gt=Xn(U,lt,st,Ct,Vt,yt,r),ve=qn(Q),he=jt(),ze=ts(t,n,r,g),{slideRegistry:xe}=Kn(_,x,et,Dt,Y,V),He=Yn(e,n,xe,Gt,Ct,he,r,I),Rt={ownerDocument:s,ownerWindow:a,eventHandler:r,containerRect:P,slideRects:N,animation:U,axis:E,dragHandler:Nn(E,e,s,a,yt,Fn(E,a),ut,U,Gt,Ct,Vt,lt,r,b,h,m,f,X,M),eventStore:he,percentOfView:b,index:lt,indexPrevious:st,limit:Q,location:ut,offsetLocation:dt,previousLocation:xt,options:o,resizeHandler:Hn(t,r,a,n,E,y,L),scrollBody:Ct,scrollBounds:Vn(Q,dt,yt,Ct,b),scrollLooper:Un(J,Q,dt,[ut,dt,xt,yt]),scrollProgress:ve,scrollSnapList:et.map(ve.get),scrollSnaps:et,scrollTarget:Vt,scrollTo:Gt,slideLooper:Wn(E,F,J,$,K,R,et,dt,n),slideFocus:He,slidesHandler:Zn(t,r,T),slidesInView:ze,slideIndexes:V,slideRegistry:xe,slidesToScroll:Y,target:yt,translate:$e(E,t)};return Rt}function rs(){let e={},t;function n(l){t=l}function s(l){return e[l]||[]}function a(l){return s(l).forEach(p=>p(t,l)),i}function o(l,p){return e[l]=s(l).concat([p]),i}function r(l,p){return e[l]=s(l).filter(u=>u!==p),i}function c(){e={}}const i={init:n,emit:a,off:r,on:o,clear:c};return i}const os={align:"center",axis:"x",container:null,slides:null,containScroll:"trimSnaps",direction:"ltr",slidesToScroll:1,inViewThreshold:0,breakpoints:{},dragFree:!1,dragThreshold:10,loop:!1,skipSnaps:!1,duration:25,startIndex:0,active:!0,watchDrag:!0,watchResize:!0,watchSlides:!0,watchFocus:!0};function is(e){function t(o,r){return Ne(o,r||{})}function n(o){const r=o.breakpoints||{},c=kt(r).filter(i=>e.matchMedia(i).matches).map(i=>r[i]).reduce((i,l)=>t(i,l),{});return t(o,c)}function s(o){return o.map(r=>kt(r.breakpoints||{})).reduce((r,c)=>r.concat(c),[]).map(e.matchMedia)}return{mergeOptions:t,optionsAtMedia:n,optionsMediaQueries:s}}function as(e){let t=[];function n(o,r){return t=r.filter(({options:c})=>e.optionsAtMedia(c).active!==!1),t.forEach(c=>c.init(o,e)),r.reduce((c,i)=>Object.assign(c,{[i.name]:i}),{})}function s(){t=t.filter(o=>o.destroy())}return{init:n,destroy:s}}function Ht(e,t,n){const s=e.ownerDocument,a=s.defaultView,o=is(a),r=as(o),c=jt(),i=rs(),{mergeOptions:l,optionsAtMedia:p,optionsMediaQueries:u}=o,{on:d,off:h,emit:m}=i,g=E;let v=!1,f,x=l(os,Ht.globalOptions),y=l(x),T=[],M,I,w;function L(){const{container:V,slides:S}=y;I=(Wt(V)?e.querySelector(V):V)||e.children[0];const U=Wt(S)?I.querySelectorAll(S):S;w=[].slice.call(U||I.children)}function P(V){const S=ss(e,I,w,s,a,V,i);if(V.loop&&!S.slideLooper.canLoop()){const z=Object.assign({},V,{loop:!1});return P(z)}return S}function N(V,S){v||(x=l(x,V),y=p(x),T=S||T,L(),f=P(y),u([x,...T.map(({options:z})=>z)]).forEach(z=>c.add(z,"change",E)),y.active&&(f.translate.to(f.location.get()),f.animation.init(),f.slidesInView.init(),f.slideFocus.init(st),f.eventHandler.init(st),f.resizeHandler.init(st),f.slidesHandler.init(st),f.options.loop&&f.slideLooper.loop(),I.offsetParent&&w.length&&f.dragHandler.init(st),M=r.init(st,T)))}function E(V,S){const z=Y();F(),N(l({startIndex:z},V),S),i.emit("reInit")}function F(){f.dragHandler.destroy(),f.eventStore.clear(),f.translate.clear(),f.slideLooper.clear(),f.resizeHandler.destroy(),f.slidesHandler.destroy(),f.slidesInView.destroy(),f.animation.destroy(),r.destroy(),c.clear()}function b(){v||(v=!0,c.clear(),F(),i.emit("destroy"),i.clear())}function D(V,S,z){!y.active||v||(f.scrollBody.useBaseFriction().useDuration(S===!0?0:y.duration),f.scrollTo.index(V,z||0))}function _(V){const S=f.index.add(1).get();D(S,V,-1)}function B(V){const S=f.index.add(-1).get();D(S,V,1)}function $(){return f.index.add(1).get()!==Y()}function K(){return f.index.add(-1).get()!==Y()}function tt(){return f.scrollSnapList}function ct(){return f.scrollProgress.get(f.offsetLocation.get())}function Y(){return f.index.get()}function R(){return f.indexPrevious.get()}function k(){return f.slidesInView.get()}function J(){return f.slidesInView.get(!1)}function Et(){return M}function Dt(){return f}function et(){return e}function Q(){return I}function lt(){return w}const st={canScrollNext:$,canScrollPrev:K,containerNode:Q,internalEngine:Dt,destroy:b,off:h,on:d,emit:m,plugins:Et,previousScrollSnap:R,reInit:g,rootNode:et,scrollNext:_,scrollPrev:B,scrollProgress:ct,scrollSnapList:tt,scrollTo:D,selectedScrollSnap:Y,slideNodes:lt,slidesInView:k,slidesNotInView:J};return N(t,n),setTimeout(()=>i.emit("init"),0),st}Ht.globalOptions=void 0;function ge(e,t={options:{},plugins:[]}){let n=t,s;return Mn()&&(Ht.globalOptions=ge.globalOptions,s=Ht(e,n.options,n.plugins),s.on("init",()=>e.dispatchEvent(new CustomEvent("emblaInit",{detail:s})))),{destroy:()=>{s&&s.destroy()},update:a=>{const o=!fe(n.options,a.options),r=!In(n.plugins,a.plugins);!o&&!r||(n=a,s&&s.reInit(n.options,n.plugins))}}}ge.globalOptions=void 0;var cs=H('
      ');function ls(e,t){vt(t,!0);let n=W(t,"ref",15,null),s=ne(t,["$$slots","$$events","$$legacy","ref","class","children"]);const a=Oe("");var o=cs(),r=O(o);ae(r,i=>({class:i,"data-embla-container":"",...s}),[()=>ue("flex",a.orientation==="horizontal"?"-ml-4":"-mt-4 flex-col",t.class)]);var c=O(r);oe(c,()=>t.children??ie),C(r),se(r,i=>n(i),()=>n()),C(o),Xt(o,(i,l)=>ge?.(i,l),()=>({options:{container:"[data-embla-container]",slides:"[data-embla-slide]",...a.options,axis:a.orientation==="horizontal"?"x":"y"},plugins:a.plugins})),Ae("emblaInit",o,function(...i){a.onInit?.apply(this,i)}),j(e,o),ht()}var us=H("
      ");function Ie(e,t){vt(t,!0);let n=W(t,"ref",15,null),s=ne(t,["$$slots","$$events","$$legacy","ref","class","children"]);const a=Oe("");var o=us();ae(o,c=>({"data-slot":"carousel-item",role:"group","aria-roledescription":"slide",class:c,"data-embla-slide":"",...s}),[()=>ue("min-w-0 shrink-0 grow-0 basis-full",a.orientation==="horizontal"?"pl-4":"pt-4",t.class)]);var r=O(o);oe(r,()=>t.children??ie),C(o),se(o,c=>n(c),()=>n()),j(e,o),ht()}var fs=H('
      -
      ',1),ds=H('

      '),ps=H('
      ');function Pe(e,t){vt(t,!0);let n=gt(!1);var s=ps();s.__click=()=>nt(n,!A(n));var a=O(s),o=O(a);je(o,{get path(){return t.job.logoPath},scale:.5}),C(a);var r=q(a,2),c=O(r);{var i=p=>{var u=fs(),d=Z(u),h=O(d),m=O(h,!0);C(h);var g=q(h,2),v=O(g);cn(v,{size:14,class:"stroke-primary"});var f=q(v);C(g),C(d);var x=q(d,2),y=O(x),T=O(y,!0);C(y);var M=q(y,4),I=O(M,!0);C(M),C(x),rt((w,L)=>{at(m,t.job.position),at(f,` ${t.job.location??""}`),at(T,w),at(I,L)},[()=>t.job.startDate.toLocaleDateString(),()=>t.job.endDate==="Present"?t.job.endDate:t.job.endDate.toLocaleDateString()]),j(p,u)},l=p=>{var u=ds(),d=O(u),h=O(d,!0);C(d),C(u),rt(()=>at(h,t.job.description)),j(p,u)};Kt(c,p=>{A(n)?p(l,!1):p(i)})}C(r),C(s),rt(()=>zt(a,"href",t.job.href)),j(e,s),ht()}ke(["click"]);var ms=H('

      Current Jobs

      ',1),gs=H('

      Past Jobs

      ',1),vs=H(" ",1),hs=H('
      ');function xs(e,t){vt(t,!0);let n=gt(void 0),s=gt(0);const a=wt(()=>A(n)?A(n).scrollSnapList().length:0);re(()=>{A(n)&&(nt(s,A(n).selectedScrollSnap(),!0),A(n).on("select",()=>{nt(s,A(n).selectedScrollSnap(),!0)}))});const o=wt(()=>t.jobs.filter(p=>p.endDate==="Present").sort((p,u)=>u.startDate.getTime()-p.startDate.getTime())),r=wt(()=>t.jobs.filter(p=>p.endDate!=="Present").sort((p,u)=>u.startDate.getTime()-p.startDate.getTime()));var c=hs(),i=O(c);$t(i,()=>Cn,(p,u)=>{u(p,{opts:{loop:!0},setApi:d=>nt(n,d,!0),children:(d,h)=>{var m=Lt(),g=Z(m);$t(g,()=>ls,(v,f)=>{f(v,{class:"",children:(x,y)=>{var T=vs(),M=Z(T);$t(M,()=>Ie,(w,L)=>{L(w,{class:"flex flex-col gap-y-2",children:(P,N)=>{var E=ms(),F=q(Z(E),2);ft(F,21,()=>A(o),It,(b,D)=>{Pe(b,{get job(){return A(D)}})}),C(F),j(P,E)},$$slots:{default:!0}})});var I=q(M,2);$t(I,()=>Ie,(w,L)=>{L(w,{class:"flex flex-col items-center gap-y-2",children:(P,N)=>{var E=gs(),F=q(Z(E),2);ft(F,21,()=>A(r),It,(b,D)=>{Pe(b,{get job(){return A(D)}})}),C(F),j(P,E)},$$slots:{default:!0}})}),j(x,T)},$$slots:{default:!0}})}),j(d,m)},$$slots:{default:!0}})});var l=q(i,2);ft(l,21,()=>Array(A(a)),It,(p,u,d)=>{{let h=wt(()=>d!==A(s)?"text-accent":"");an(p,{onclick:()=>A(n)?.scrollTo(d),get class(){return A(h)},size:36})}}),C(l),C(c),j(e,c),ht()}var ys=H('

      Work Experience

      Click on a job to see more details, or swipe to view past jobs

      ',1);function bs(e,t){var n=ys(),s=q(Z(n),2);xs(s,{get jobs(){return t.jobs}}),j(e,n)}var Ss=H(" ",1),_s=H(" ",1);function Fs(e,t){vt(t,!0);const n=wt(()=>t.data.skillGroups),s=wt(()=>t.data.jobs);var a=_s(),o=Z(a);Ft(o,{class:"justify-center",children:(l,p)=>{xn(l)},$$slots:{default:!0}});var r=q(o,2);Ft(r,{class:"justify-center gap-y-24",children:(l,p)=>{var u=Ss(),d=Z(u);bn(d,{});var h=q(d,2);rn(h,{}),j(l,u)},$$slots:{default:!0}});var c=q(r,2);Ft(c,{class:"justify-center p-4",children:(l,p)=>{bs(l,{get jobs(){return A(s)}})},$$slots:{default:!0}});var i=q(c,2);Ft(i,{class:"justify-center",children:(l,p)=>{Ln(l,{get skillGroups(){return A(n)}})},$$slots:{default:!0}}),j(e,a),ht()}export{Fs as component}; diff --git a/_app/immutable/nodes/3.Dv4ePjt5.js b/_app/immutable/nodes/3.Dv4ePjt5.js new file mode 100644 index 0000000..bbc2a93 --- /dev/null +++ b/_app/immutable/nodes/3.Dv4ePjt5.js @@ -0,0 +1,88 @@ +import{l as w,s as I,i as T}from"../chunks/CPdWO9vA.js";import{c as S,f as h,a as l,N as j,p as C,d as $,as as R,b as A,at as H,g as d,n as V,h as g,P as x,R as y,e as f,r as u}from"../chunks/BbMFilaF.js";import{f as B}from"../chunks/DZYZrkxG.js";import{F as q}from"../chunks/h4yY_LIJ.js";import{S as b}from"../chunks/B1wPNbHL.js";import{t as D}from"../chunks/CnyALC89.js";import"../chunks/ByzbuU5l.js";import{I as z,s as L}from"../chunks/B6MtVlrN.js";function E(s,o){const e=w(o,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const t=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"}]];z(s,I({name:"copy"},()=>e,{get iconNode(){return t},children:(r,c)=>{var a=S(),i=h(a);L(i,o,"default",{}),l(r,a)},$$slots:{default:!0}}))}function G(s,o){const e=w(o,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v0.545.0 - ISC + * + * ISC License + * + * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The MIT License (MIT) (for portions derived from Feather) + * + * Copyright (c) 2013-2023 Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const t=[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}],["path",{d:"M15 18a3 3 0 1 0-6 0"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z"}],["circle",{cx:"12",cy:"13",r:"2"}]];z(s,I({name:"file-user"},()=>e,{get iconNode(){return t},children:(r,c)=>{var a=S(),i=h(a);L(i,o,"default",{}),l(r,a)},$$slots:{default:!0}}))}const k=(s,o=V)=>{var e=J(),t=h(e);q(t,{get topLevel(){return o()}});var r=d(t,4),c=f(r);G(c,{size:48,class:"hover:stroke-primary"}),u(r),l(s,e)};var J=$('

      My Resume

      ',1),K=$(`

      Contact

      I am currently open to work.

      Are you interested in working together?
      Then, I would love to hear from you!
      Please don't hesitate to contact me at:

      Feel free to contact me for anything else as well.
      Looking forward to your message!

      Are you a recruiter?
      Then swipe + down to see my resume 😉

      `),O=$(" ",1);function oe(s,o){C(o,!0);let e=x(!0),t=x(void 0);function r(){if(!g(t)){y(e,!0);return}y(e,!(g(t).getBoundingClientRect().top>0))}function c(n){y(t,n,!0),r()}var a=O();R("resize",H,()=>r());var i=h(a);b(i,{class:"items-center",children:(n,_)=>{var p=K(),m=d(f(p),6);m.__click=()=>{navigator.clipboard.writeText("contact@codevogel.com"),D("✅ My e-mail address has been copied to your clipboard. I'm excited to hear from you!")};var N=d(f(m),3);E(N,{size:16}),u(m);var v=d(m,6),F=f(v);k(F,()=>!1),u(v),B(v,()=>c),u(p),l(n,p)},$$slots:{default:!0}});var M=d(i,2);{var P=n=>{b(n,{class:"not-prose items-center justify-center gap-y-8",children:(_,p)=>{k(_,()=>!0)},$$slots:{default:!0}})};T(M,n=>{g(e)&&n(P)})}l(s,a),A()}j(["click"]);export{oe as component}; diff --git a/_app/immutable/nodes/4.Bu6R88KI.js b/_app/immutable/nodes/4.Bu6R88KI.js new file mode 100644 index 0000000..e119bbc --- /dev/null +++ b/_app/immutable/nodes/4.Bu6R88KI.js @@ -0,0 +1 @@ +import"../chunks/CPdWO9vA.js";import{p as r,b as p,h as s,u as a}from"../chunks/BbMFilaF.js";import{P as c}from"../chunks/CVfNxELp.js";function g(t,e){r(e,!0);const o=a(()=>e.data.projects);c(t,{type:"game",get projects(){return s(o)}}),p()}export{g as component}; diff --git a/_app/immutable/nodes/5.DmA1mkAy.js b/_app/immutable/nodes/5.DmA1mkAy.js new file mode 100644 index 0000000..8d3c12f --- /dev/null +++ b/_app/immutable/nodes/5.DmA1mkAy.js @@ -0,0 +1 @@ +import{p}from"../chunks/Iu6NYhtk.js";import{e as u,f as d,P as m}from"../chunks/DhHeKD4j.js";import"../chunks/CPdWO9vA.js";import{p as i,h as n,u as c,b as l}from"../chunks/BbMFilaF.js";const g=async({params:o,fetch:e})=>{const{slug:t}=o,r="game",a=p.filter(s=>s.type===r).find(s=>s.slug===t);return a?{readme:await d(a,t,e),project:a}:u(404,{message:`Project with type '${r}' and slug '${t}' not found.`})},h=Object.freeze(Object.defineProperty({__proto__:null,load:g},Symbol.toStringTag,{value:"Module"}));function P(o,e){i(e,!0);let t=c(()=>e.data.readme),r=c(()=>e.data.project);m(o,{get readme(){return n(t)},get project(){return n(r)}}),l()}export{P as component,h as universal}; diff --git a/_app/immutable/nodes/6.Bth7ph55.js b/_app/immutable/nodes/6.Bth7ph55.js new file mode 100644 index 0000000..357aa79 --- /dev/null +++ b/_app/immutable/nodes/6.Bth7ph55.js @@ -0,0 +1 @@ +import"../chunks/CPdWO9vA.js";import{p as r,b as p,h as s,u as a}from"../chunks/BbMFilaF.js";import{P as c}from"../chunks/CVfNxELp.js";function j(e,t){r(t,!0);const o=a(()=>t.data.projects);c(e,{type:"tool",get projects(){return s(o)}}),p()}export{j as component}; diff --git a/_app/immutable/nodes/7.C29PjVsk.js b/_app/immutable/nodes/7.C29PjVsk.js new file mode 100644 index 0000000..7088d1e --- /dev/null +++ b/_app/immutable/nodes/7.C29PjVsk.js @@ -0,0 +1 @@ +import{p}from"../chunks/Iu6NYhtk.js";import{e as u,f as d,P as l}from"../chunks/DhHeKD4j.js";import"../chunks/CPdWO9vA.js";import{p as m,h as n,u as c,b as i}from"../chunks/BbMFilaF.js";const f=async({params:o,fetch:e})=>{const{slug:t}=o,r="tool",a=p.filter(s=>s.type===r).find(s=>s.slug===t);return a?{readme:await d(a,t,e),project:a}:u(404,{message:`Project with type '${r}' and slug '${t}' not found.`})},h=Object.freeze(Object.defineProperty({__proto__:null,load:f},Symbol.toStringTag,{value:"Module"}));function P(o,e){m(e,!0);let t=c(()=>e.data.readme),r=c(()=>e.data.project);l(o,{get readme(){return n(t)},get project(){return n(r)}}),i()}export{P as component,h as universal}; diff --git a/_app/version.json b/_app/version.json new file mode 100644 index 0000000..6c8cba2 --- /dev/null +++ b/_app/version.json @@ -0,0 +1 @@ +{"version":"1775561167945"} \ No newline at end of file diff --git a/app/README.md b/app/README.md deleted file mode 100644 index d2f9f29..0000000 --- a/app/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# sv - -Everything you need to build a Svelte project, powered by -[`sv`](https://github.com/sveltejs/cli). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```sh -# create a new project in the current directory -npx sv create - -# create a new project in my-app -npx sv create my-app -``` - -## Developing - -Once you've created a project and installed dependencies with `npm install` (or -`pnpm install` or `yarn`), start a development server: - -```sh -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open -``` - -## Building - -To create a production version of your app: - -```sh -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an -> [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. diff --git a/app/components.json b/app/components.json deleted file mode 100644 index ab4b987..0000000 --- a/app/components.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://shadcn-svelte.com/schema.json", - "tailwind": { - "css": "src/app.css", - "baseColor": "zinc" - }, - "aliases": { - "components": "$lib/components/shadcn-svelte", - "utils": "$lib/utils/shadcn-svelte", - "ui": "$lib/components/shadcn-svelte/ui", - "hooks": "$lib/hooks/shadcn-svelte", - "lib": "$lib" - }, - "typescript": true, - "registry": "https://shadcn-svelte.com/registry" -} diff --git a/app/eslint.config.js b/app/eslint.config.js deleted file mode 100644 index ad92a00..0000000 --- a/app/eslint.config.js +++ /dev/null @@ -1,42 +0,0 @@ -import prettier from 'eslint-config-prettier'; -import { fileURLToPath } from 'node:url'; -import { includeIgnoreFile } from '@eslint/compat'; -import js from '@eslint/js'; -import svelte from 'eslint-plugin-svelte'; -import { defineConfig } from 'eslint/config'; -import globals from 'globals'; -import ts from 'typescript-eslint'; -import svelteConfig from './svelte.config.js'; - -const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); - -export default defineConfig( - includeIgnoreFile(gitignorePath), - js.configs.recommended, - ...ts.configs.recommended, - ...svelte.configs.recommended, - prettier, - ...svelte.configs.prettier, - { - languageOptions: { - globals: { ...globals.browser, ...globals.node } - }, - rules: { - // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. - // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors - 'no-undef': 'off', - 'no-unkown-at-rules': 'off' - } - }, - { - files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], - languageOptions: { - parserOptions: { - projectService: true, - extraFileExtensions: ['.svelte'], - parser: ts.parser, - svelteConfig - } - } - } -); diff --git a/app/package-lock.json b/app/package-lock.json deleted file mode 100644 index 22b3bb0..0000000 --- a/app/package-lock.json +++ /dev/null @@ -1,6516 +0,0 @@ -{ - "name": "app", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "app", - "version": "0.0.1", - "dependencies": { - "gh-pages": "^6.3.0", - "lucide-svelte": "^0.545.0", - "rehype-raw": "^7.0.0", - "rehype-slug": "^6.0.0", - "svelte-exmarkdown": "^5.0.2" - }, - "devDependencies": { - "@eslint/compat": "^1.4.0", - "@eslint/js": "^9.36.0", - "@internationalized/date": "^3.10.0", - "@lucide/svelte": "^0.544.0", - "@shikijs/rehype": "^3.13.0", - "@sveltejs/adapter-static": "^3.0.10", - "@sveltejs/kit": "^2.47.3", - "@sveltejs/vite-plugin-svelte": "^6.2.0", - "@tailwindcss/forms": "^0.5.10", - "@tailwindcss/typography": "^0.5.18", - "@tailwindcss/vite": "^4.1.13", - "@types/node": "^22", - "bits-ui": "^2.11.5", - "clsx": "^2.1.1", - "embla-carousel-svelte": "^8.6.0", - "eslint": "^9.36.0", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-svelte": "^3.12.4", - "globals": "^16.4.0", - "mode-watcher": "^1.1.0", - "prettier": "^3.6.2", - "prettier-plugin-svelte": "^3.4.0", - "prettier-plugin-tailwindcss": "^0.6.14", - "shiki": "^3.13.0", - "svelte": "^5.42.2", - "svelte-check": "^4.3.2", - "svelte-sonner": "^1.0.5", - "tailwind-merge": "^3.3.1", - "tailwind-variants": "^3.1.1", - "tailwindcss": "^4.1.13", - "tw-animate-css": "^1.4.0", - "typescript": "^5.9.2", - "typescript-eslint": "^8.44.1", - "vite": "^7.1.12" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", - "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", - "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", - "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", - "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", - "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", - "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", - "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", - "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", - "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", - "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", - "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", - "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", - "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", - "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", - "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", - "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", - "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", - "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", - "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", - "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", - "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", - "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", - "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", - "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", - "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", - "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/compat": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.4.0.tgz", - "integrity": "sha512-DEzm5dKeDBPm3r08Ixli/0cmxr8LkRdwxMRUIJBlSCpAwSrvFEJpVBzV+66JhDxiaqKxnRzCXhtiMiczF7Hglg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.16.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "peerDependencies": { - "eslint": "^8.40 || 9" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", - "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.0.tgz", - "integrity": "sha512-WUFvV4WoIwW8Bv0KeKCIIEgdSiFOsulyN0xrMu+7z43q/hkOLXjvb5u7UC9jDxvRzcrbEmuZBX5yJZz1741jog==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.16.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", - "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.37.0.tgz", - "integrity": "sha512-jaS+NJ+hximswBG6pjNX0uEJZkrT0zwpVi3BA3vX22aFGjJjmgSTSmPpZCRKmoBL5VY/M6p0xsSJx7rk7sy5gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", - "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.16.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@internationalized/date": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.10.0.tgz", - "integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@lucide/svelte": { - "version": "0.544.0", - "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.544.0.tgz", - "integrity": "sha512-9f9O6uxng2pLB01sxNySHduJN3HTl5p0HDu4H26VR51vhZfiMzyOMe9Mhof3XAk4l813eTtl+/DYRvGyoRR+yw==", - "dev": true, - "license": "ISC", - "peerDependencies": { - "svelte": "^5" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz", - "integrity": "sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz", - "integrity": "sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz", - "integrity": "sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz", - "integrity": "sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz", - "integrity": "sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz", - "integrity": "sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz", - "integrity": "sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz", - "integrity": "sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz", - "integrity": "sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz", - "integrity": "sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz", - "integrity": "sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz", - "integrity": "sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz", - "integrity": "sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz", - "integrity": "sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz", - "integrity": "sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz", - "integrity": "sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz", - "integrity": "sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz", - "integrity": "sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz", - "integrity": "sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz", - "integrity": "sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz", - "integrity": "sha512-UF9KfsH9yEam0UjTwAgdK0anlQ7c8/pWPU2yVjyWcF1I1thABt6WXE47cI71pGiZ8wGvxohBoLnxM04L/wj8mQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.4.tgz", - "integrity": "sha512-bf9PtUa0u8IXDVxzRToFQKsNCRz9qLYfR/MpECxl4mRoWYjAeFjgxj1XdZr2M/GNVpT05p+LgQOHopYDlUu6/w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@shikijs/core": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.13.0.tgz", - "integrity": "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4", - "hast-util-to-html": "^9.0.5" - } - }, - "node_modules/@shikijs/engine-javascript": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.13.0.tgz", - "integrity": "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.3" - } - }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.13.0.tgz", - "integrity": "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2" - } - }, - "node_modules/@shikijs/langs": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.13.0.tgz", - "integrity": "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0" - } - }, - "node_modules/@shikijs/rehype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/rehype/-/rehype-3.13.0.tgz", - "integrity": "sha512-dxvB5gXEpiTI3beGwOPEwxFxQNmUWM4cwOWbvUmL6DnQJGl18/+cCjVHZK2OnasmU0v7SvM39Zh3iliWdwfBDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0", - "@types/hast": "^3.0.4", - "hast-util-to-string": "^3.0.1", - "shiki": "3.13.0", - "unified": "^11.0.5", - "unist-util-visit": "^5.0.0" - } - }, - "node_modules/@shikijs/themes": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.13.0.tgz", - "integrity": "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.13.0" - } - }, - "node_modules/@shikijs/types": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz", - "integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@sveltejs/acorn-typescript": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.6.tgz", - "integrity": "sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8.9.0" - } - }, - "node_modules/@sveltejs/adapter-static": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz", - "integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@sveltejs/kit": "^2.0.0" - } - }, - "node_modules/@sveltejs/kit": { - "version": "2.48.2", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.48.2.tgz", - "integrity": "sha512-WIgVMGt+b9OxPDtu0Txow28RsBrLoV3wr2QoUxEHd4CHbpxbqKQf2SIEzd+SE+bqrUL2D5MxBeQBdY+t7o6n1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@standard-schema/spec": "^1.0.0", - "@sveltejs/acorn-typescript": "^1.0.5", - "@types/cookie": "^0.6.0", - "acorn": "^8.14.1", - "cookie": "^0.6.0", - "devalue": "^5.3.2", - "esm-env": "^1.2.2", - "kleur": "^4.1.5", - "magic-string": "^0.30.5", - "mrmime": "^2.0.0", - "sade": "^1.8.1", - "set-cookie-parser": "^2.6.0", - "sirv": "^3.0.0" - }, - "bin": { - "svelte-kit": "svelte-kit.js" - }, - "engines": { - "node": ">=18.13" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0", - "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", - "svelte": "^4.0.0 || ^5.0.0-next.0", - "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - } - } - }, - "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.1.tgz", - "integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", - "debug": "^4.4.1", - "deepmerge": "^4.3.1", - "magic-string": "^0.30.17", - "vitefu": "^1.1.1" - }, - "engines": { - "node": "^20.19 || ^22.12 || >=24" - }, - "peerDependencies": { - "svelte": "^5.0.0", - "vite": "^6.3.0 || ^7.0.0" - } - }, - "node_modules/@sveltejs/vite-plugin-svelte-inspector": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.1.tgz", - "integrity": "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.1" - }, - "engines": { - "node": "^20.19 || ^22.12 || >=24" - }, - "peerDependencies": { - "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", - "svelte": "^5.0.0", - "vite": "^6.3.0 || ^7.0.0" - } - }, - "node_modules/@swc/helpers": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", - "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.14.tgz", - "integrity": "sha512-hpz+8vFk3Ic2xssIA3e01R6jkmsAhvkQdXlEbRTk6S10xDAtiQiM3FyvZVGsucefq764euO/b8WUW9ysLdThHw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.0", - "lightningcss": "1.30.1", - "magic-string": "^0.30.19", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.14" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.14.tgz", - "integrity": "sha512-23yx+VUbBwCg2x5XWdB8+1lkPajzLmALEfMb51zZUBYaYVPDQvBSD/WYDqiVyBIo2BZFa3yw1Rpy3G2Jp+K0dw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.5.1" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.14", - "@tailwindcss/oxide-darwin-arm64": "4.1.14", - "@tailwindcss/oxide-darwin-x64": "4.1.14", - "@tailwindcss/oxide-freebsd-x64": "4.1.14", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.14", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.14", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.14", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.14", - "@tailwindcss/oxide-linux-x64-musl": "4.1.14", - "@tailwindcss/oxide-wasm32-wasi": "4.1.14", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.14", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.14" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.14.tgz", - "integrity": "sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.14.tgz", - "integrity": "sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.14.tgz", - "integrity": "sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.14.tgz", - "integrity": "sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.14.tgz", - "integrity": "sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.14.tgz", - "integrity": "sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.14.tgz", - "integrity": "sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.14.tgz", - "integrity": "sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.14.tgz", - "integrity": "sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.14.tgz", - "integrity": "sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.0.5", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.14.tgz", - "integrity": "sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.14.tgz", - "integrity": "sha512-ttblVGHgf68kEE4om1n/n44I0yGPkCPbLsqzjvybhpwa6mKKtgFfAzy6btc3HRmuW7nHe0OOrSeNP9sQmmH9XA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/typography": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.19.tgz", - "integrity": "sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "6.0.10" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.14.tgz", - "integrity": "sha512-BoFUoU0XqgCUS1UXWhmDJroKKhNXeDzD7/XwabjkDIAbMnc4ULn5e2FuEuBbhZ6ENZoSYzKlzvZ44Yr6EUDUSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.1.14", - "@tailwindcss/oxide": "4.1.14", - "tailwindcss": "4.1.14" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.18.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.8.tgz", - "integrity": "sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.0.tgz", - "integrity": "sha512-hA8gxBq4ukonVXPy0OKhiaUh/68D0E88GSmtC1iAEnGaieuDi38LhS7jdCHRLi6ErJBNDGCzvh5EnzdPwUc0DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.46.0", - "@typescript-eslint/type-utils": "8.46.0", - "@typescript-eslint/utils": "8.46.0", - "@typescript-eslint/visitor-keys": "8.46.0", - "graphemer": "^1.4.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.46.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.46.0.tgz", - "integrity": "sha512-n1H6IcDhmmUEG7TNVSspGmiHHutt7iVKtZwRppD7e04wha5MrkV1h3pti9xQLcCMt6YWsncpoT0HMjkH1FNwWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.46.0", - "@typescript-eslint/types": "8.46.0", - "@typescript-eslint/typescript-estree": "8.46.0", - "@typescript-eslint/visitor-keys": "8.46.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.0.tgz", - "integrity": "sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.46.0", - "@typescript-eslint/types": "^8.46.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.0.tgz", - "integrity": "sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.46.0", - "@typescript-eslint/visitor-keys": "8.46.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.0.tgz", - "integrity": "sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.46.0.tgz", - "integrity": "sha512-hy+lvYV1lZpVs2jRaEYvgCblZxUoJiPyCemwbQZ+NGulWkQRy0HRPYAoef/CNSzaLt+MLvMptZsHXHlkEilaeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.46.0", - "@typescript-eslint/typescript-estree": "8.46.0", - "@typescript-eslint/utils": "8.46.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.0.tgz", - "integrity": "sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.0.tgz", - "integrity": "sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.46.0", - "@typescript-eslint/tsconfig-utils": "8.46.0", - "@typescript-eslint/types": "8.46.0", - "@typescript-eslint/visitor-keys": "8.46.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.0.tgz", - "integrity": "sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.46.0", - "@typescript-eslint/types": "8.46.0", - "@typescript-eslint/typescript-estree": "8.46.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.0.tgz", - "integrity": "sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.46.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "license": "Apache-2.0", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bits-ui": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.11.5.tgz", - "integrity": "sha512-d7b6HrrCUeK261c777agFz0G5lx13RMA0DT022e4SRuIjI3bZ8ci53YxIZ2/jpXTmeAeqeShyC+Mgibh9OeW9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.1", - "@floating-ui/dom": "^1.7.1", - "esm-env": "^1.1.2", - "runed": "^0.31.1", - "svelte-toolbelt": "^0.10.4", - "tabbable": "^6.2.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/huntabyte" - }, - "peerDependencies": { - "@internationalized/date": "^3.8.1", - "svelte": "^5.33.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", - "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devalue": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", - "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", - "dev": true, - "license": "MIT" - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "license": "MIT" - }, - "node_modules/embla-carousel": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", - "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/embla-carousel-reactive-utils": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.6.0.tgz", - "integrity": "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-svelte": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-svelte/-/embla-carousel-svelte-8.6.0.tgz", - "integrity": "sha512-ZDsKk8Sdv+AUTygMYcwZjfRd1DTh+JSUzxkOo8b9iKAkYjg+39mzbY/lwHsE3jXSpKxdKWS69hPSNuzlOGtR2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" - }, - "peerDependencies": { - "svelte": "^3.49.0 || ^4.0.0 || ^5.0.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.25.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", - "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.10", - "@esbuild/android-arm": "0.25.10", - "@esbuild/android-arm64": "0.25.10", - "@esbuild/android-x64": "0.25.10", - "@esbuild/darwin-arm64": "0.25.10", - "@esbuild/darwin-x64": "0.25.10", - "@esbuild/freebsd-arm64": "0.25.10", - "@esbuild/freebsd-x64": "0.25.10", - "@esbuild/linux-arm": "0.25.10", - "@esbuild/linux-arm64": "0.25.10", - "@esbuild/linux-ia32": "0.25.10", - "@esbuild/linux-loong64": "0.25.10", - "@esbuild/linux-mips64el": "0.25.10", - "@esbuild/linux-ppc64": "0.25.10", - "@esbuild/linux-riscv64": "0.25.10", - "@esbuild/linux-s390x": "0.25.10", - "@esbuild/linux-x64": "0.25.10", - "@esbuild/netbsd-arm64": "0.25.10", - "@esbuild/netbsd-x64": "0.25.10", - "@esbuild/openbsd-arm64": "0.25.10", - "@esbuild/openbsd-x64": "0.25.10", - "@esbuild/openharmony-arm64": "0.25.10", - "@esbuild/sunos-x64": "0.25.10", - "@esbuild/win32-arm64": "0.25.10", - "@esbuild/win32-ia32": "0.25.10", - "@esbuild/win32-x64": "0.25.10" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.37.0.tgz", - "integrity": "sha512-XyLmROnACWqSxiGYArdef1fItQd47weqB7iwtfr9JHwRrqIXZdcFMvvEcL9xHCmL0SNsOvF0c42lWyM1U5dgig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.0", - "@eslint/config-helpers": "^0.4.0", - "@eslint/core": "^0.16.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.37.0", - "@eslint/plugin-kit": "^0.4.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", - "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "funding": { - "url": "https://opencollective.com/eslint-config-prettier" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-svelte": { - "version": "3.12.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.12.4.tgz", - "integrity": "sha512-hD7wPe+vrPgx3U2X2b/wyTMtWobm660PygMGKrWWYTc9lvtY8DpNFDaU2CJQn1szLjGbn/aJ3g8WiXuKakrEkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.6.1", - "@jridgewell/sourcemap-codec": "^1.5.0", - "esutils": "^2.0.3", - "globals": "^16.0.0", - "known-css-properties": "^0.37.0", - "postcss": "^8.4.49", - "postcss-load-config": "^3.1.4", - "postcss-safe-parser": "^7.0.0", - "semver": "^7.6.3", - "svelte-eslint-parser": "^1.3.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "eslint": "^8.57.1 || ^9.0.0", - "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "svelte": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esm-env": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", - "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", - "license": "MIT" - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.1.0.tgz", - "integrity": "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "license": "MIT", - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gh-pages": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.3.0.tgz", - "integrity": "sha512-Ot5lU6jK0Eb+sszG8pciXdjMXdBJ5wODvgjR+imihTqsUWF2K6dJ9HST55lgqcs8wWcw6o6wAsUzfcYRhJPXbA==", - "license": "MIT", - "dependencies": { - "async": "^3.2.4", - "commander": "^13.0.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^11.1.1", - "globby": "^11.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", - "license": "ISC" - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", - "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^7.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-heading-rank": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", - "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", - "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "@ungap/structured-clone": "^1.0.0", - "hast-util-from-parse5": "^8.0.0", - "hast-util-to-parse5": "^8.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "parse5": "^7.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", - "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5/node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/hast-util-to-string": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", - "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", - "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-reference": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", - "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.6" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/known-css-properties": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", - "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/locate-character": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lucide-svelte": { - "version": "0.545.0", - "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.545.0.tgz", - "integrity": "sha512-lVza6hIAf1abADTU1ThyNp+M3bQZtzTGQ9EQZ2xo3n9ftkd4QcWbDB2ekP2MqRLTJpeLXX5gaFEgFZtbWCnyqg==", - "license": "ISC", - "peerDependencies": { - "svelte": "^3 || ^4 || ^5.0.0-next.42" - } - }, - "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", - "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", - "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", - "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", - "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", - "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/mode-watcher": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-1.1.0.tgz", - "integrity": "sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "runed": "^0.25.0", - "svelte-toolbelt": "^0.7.1" - }, - "peerDependencies": { - "svelte": "^5.27.0" - } - }, - "node_modules/mode-watcher/node_modules/runed": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/runed/-/runed-0.25.0.tgz", - "integrity": "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte", - "https://github.com/sponsors/tglide" - ], - "dependencies": { - "esm-env": "^1.0.0" - }, - "peerDependencies": { - "svelte": "^5.7.0" - } - }, - "node_modules/mode-watcher/node_modules/svelte-toolbelt": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz", - "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte" - ], - "dependencies": { - "clsx": "^2.1.1", - "runed": "^0.23.2", - "style-to-object": "^1.0.8" - }, - "engines": { - "node": ">=18", - "pnpm": ">=8.7.0" - }, - "peerDependencies": { - "svelte": "^5.0.0" - } - }, - "node_modules/mode-watcher/node_modules/svelte-toolbelt/node_modules/runed": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz", - "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte", - "https://github.com/sponsors/tglide" - ], - "dependencies": { - "esm-env": "^1.0.0" - }, - "peerDependencies": { - "svelte": "^5.7.0" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/oniguruma-parser": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", - "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/oniguruma-to-es": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz", - "integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "oniguruma-parser": "^0.12.1", - "regex": "^6.0.1", - "regex-recursion": "^6.0.2" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss-safe-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-scss": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", - "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-scss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.4.29" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-plugin-svelte": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", - "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "prettier": "^3.0.0", - "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" - } - }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.14.tgz", - "integrity": "sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "@ianvs/prettier-plugin-sort-imports": "*", - "@prettier/plugin-hermes": "*", - "@prettier/plugin-oxc": "*", - "@prettier/plugin-pug": "*", - "@shopify/prettier-plugin-liquid": "*", - "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig": "*", - "prettier": "^3.0", - "prettier-plugin-astro": "*", - "prettier-plugin-css-order": "*", - "prettier-plugin-import-sort": "*", - "prettier-plugin-jsdoc": "*", - "prettier-plugin-marko": "*", - "prettier-plugin-multiline-arrays": "*", - "prettier-plugin-organize-attributes": "*", - "prettier-plugin-organize-imports": "*", - "prettier-plugin-sort-imports": "*", - "prettier-plugin-style-order": "*", - "prettier-plugin-svelte": "*" - }, - "peerDependenciesMeta": { - "@ianvs/prettier-plugin-sort-imports": { - "optional": true - }, - "@prettier/plugin-hermes": { - "optional": true - }, - "@prettier/plugin-oxc": { - "optional": true - }, - "@prettier/plugin-pug": { - "optional": true - }, - "@shopify/prettier-plugin-liquid": { - "optional": true - }, - "@trivago/prettier-plugin-sort-imports": { - "optional": true - }, - "@zackad/prettier-plugin-twig": { - "optional": true - }, - "prettier-plugin-astro": { - "optional": true - }, - "prettier-plugin-css-order": { - "optional": true - }, - "prettier-plugin-import-sort": { - "optional": true - }, - "prettier-plugin-jsdoc": { - "optional": true - }, - "prettier-plugin-marko": { - "optional": true - }, - "prettier-plugin-multiline-arrays": { - "optional": true - }, - "prettier-plugin-organize-attributes": { - "optional": true - }, - "prettier-plugin-organize-imports": { - "optional": true - }, - "prettier-plugin-sort-imports": { - "optional": true - }, - "prettier-plugin-style-order": { - "optional": true - }, - "prettier-plugin-svelte": { - "optional": true - } - } - }, - "node_modules/property-information": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", - "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz", - "integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-recursion": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", - "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "dev": true, - "license": "MIT" - }, - "node_modules/rehype-raw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", - "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-raw": "^9.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", - "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "github-slugger": "^2.0.0", - "hast-util-heading-rank": "^3.0.0", - "hast-util-to-string": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", - "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.2", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", - "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.52.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.4.tgz", - "integrity": "sha512-CLEVl+MnPAiKh5pl4dEWSyMTpuflgNQiLGhMv8ezD5W/qP8AKvmYpCOKRRNOh7oRKnauBZ4SyeYkMS+1VSyKwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.4", - "@rollup/rollup-android-arm64": "4.52.4", - "@rollup/rollup-darwin-arm64": "4.52.4", - "@rollup/rollup-darwin-x64": "4.52.4", - "@rollup/rollup-freebsd-arm64": "4.52.4", - "@rollup/rollup-freebsd-x64": "4.52.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.4", - "@rollup/rollup-linux-arm-musleabihf": "4.52.4", - "@rollup/rollup-linux-arm64-gnu": "4.52.4", - "@rollup/rollup-linux-arm64-musl": "4.52.4", - "@rollup/rollup-linux-loong64-gnu": "4.52.4", - "@rollup/rollup-linux-ppc64-gnu": "4.52.4", - "@rollup/rollup-linux-riscv64-gnu": "4.52.4", - "@rollup/rollup-linux-riscv64-musl": "4.52.4", - "@rollup/rollup-linux-s390x-gnu": "4.52.4", - "@rollup/rollup-linux-x64-gnu": "4.52.4", - "@rollup/rollup-linux-x64-musl": "4.52.4", - "@rollup/rollup-openharmony-arm64": "4.52.4", - "@rollup/rollup-win32-arm64-msvc": "4.52.4", - "@rollup/rollup-win32-ia32-msvc": "4.52.4", - "@rollup/rollup-win32-x64-gnu": "4.52.4", - "@rollup/rollup-win32-x64-msvc": "4.52.4", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/runed": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/runed/-/runed-0.31.1.tgz", - "integrity": "sha512-v3czcTnO+EJjiPvD4dwIqfTdHLZ8oH0zJheKqAHh9QMViY7Qb29UlAMRpX7ZtHh7AFqV60KmfxaJ9QMy+L1igQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte", - "https://github.com/sponsors/tglide" - ], - "license": "MIT", - "dependencies": { - "esm-env": "^1.0.0" - }, - "peerDependencies": { - "svelte": "^5.7.0" - } - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shiki": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.13.0.tgz", - "integrity": "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/core": "3.13.0", - "@shikijs/engine-javascript": "3.13.0", - "@shikijs/engine-oniguruma": "3.13.0", - "@shikijs/langs": "3.13.0", - "@shikijs/themes": "3.13.0", - "@shikijs/types": "3.13.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/sirv": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", - "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-outer/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/style-to-object": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.11.tgz", - "integrity": "sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==", - "dev": true, - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.4" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/svelte": { - "version": "5.42.2", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.42.2.tgz", - "integrity": "sha512-iSry5jsBHispVczyt9UrBX/1qu3HQ/UyKPAIjqlvlu3o/eUvc+kpyMyRS2O4HLLx4MvLurLGIUOyyP11pyD59g==", - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "@jridgewell/sourcemap-codec": "^1.5.0", - "@sveltejs/acorn-typescript": "^1.0.5", - "@types/estree": "^1.0.5", - "acorn": "^8.12.1", - "aria-query": "^5.3.1", - "axobject-query": "^4.1.0", - "clsx": "^2.1.1", - "esm-env": "^1.2.1", - "esrap": "^2.1.0", - "is-reference": "^3.0.3", - "locate-character": "^3.0.0", - "magic-string": "^0.30.11", - "zimmerframe": "^1.1.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/svelte-check": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.2.tgz", - "integrity": "sha512-71udP5w2kaSTcX8iV0hn3o2FWlabQHhJTJLIQrCqMsrcOeDUO2VhCQKKCA8AMVHSPwdxLEWkUWh9OKxns5PD9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "chokidar": "^4.0.1", - "fdir": "^6.2.0", - "picocolors": "^1.0.0", - "sade": "^1.7.4" - }, - "bin": { - "svelte-check": "bin/svelte-check" - }, - "engines": { - "node": ">= 18.0.0" - }, - "peerDependencies": { - "svelte": "^4.0.0 || ^5.0.0-next.0", - "typescript": ">=5.0.0" - } - }, - "node_modules/svelte-eslint-parser": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.3.3.tgz", - "integrity": "sha512-oTrDR8Z7Wnguut7QH3YKh7JR19xv1seB/bz4dxU5J/86eJtZOU4eh0/jZq4dy6tAlz/KROxnkRQspv5ZEt7t+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.0.0", - "espree": "^10.0.0", - "postcss": "^8.4.49", - "postcss-scss": "^4.0.9", - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" - }, - "peerDependencies": { - "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "svelte": { - "optional": true - } - } - }, - "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svelte-exmarkdown": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/svelte-exmarkdown/-/svelte-exmarkdown-5.0.2.tgz", - "integrity": "sha512-/GhWbh0TBd7OPsL6IhQZm4BVuglP5MP4lVwBDnIF8IYfmHfwfY0z/nu78L8FDwJM2pP+DW8045g+jUhM357U1w==", - "license": "MIT", - "dependencies": { - "remark-gfm": "^4.0.1", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.1.2", - "unified": "^11.0.5" - }, - "peerDependencies": { - "svelte": "^5.1.3" - } - }, - "node_modules/svelte-sonner": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-1.0.5.tgz", - "integrity": "sha512-9dpGPFqKb/QWudYqGnEz93vuY+NgCEvyNvxoCLMVGw6sDN/3oVeKV1xiEirW2E1N3vJEyj5imSBNOGltQHA7mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "runed": "^0.28.0" - }, - "peerDependencies": { - "svelte": "^5.0.0" - } - }, - "node_modules/svelte-sonner/node_modules/runed": { - "version": "0.28.0", - "resolved": "https://registry.npmjs.org/runed/-/runed-0.28.0.tgz", - "integrity": "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte", - "https://github.com/sponsors/tglide" - ], - "license": "MIT", - "dependencies": { - "esm-env": "^1.0.0" - }, - "peerDependencies": { - "svelte": "^5.7.0" - } - }, - "node_modules/svelte-toolbelt": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.10.5.tgz", - "integrity": "sha512-8e+eWTgxw1aiLxhDE8Rb1X6AoLitqpJz+WhAul2W7W58C8KoLoJQf1TgQdFPBiCPJ0Jg5y0Zi1uyua9em4VS0w==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte" - ], - "dependencies": { - "clsx": "^2.1.1", - "runed": "^0.29.0", - "style-to-object": "^1.0.8" - }, - "engines": { - "node": ">=18", - "pnpm": ">=8.7.0" - }, - "peerDependencies": { - "svelte": "^5.30.2" - } - }, - "node_modules/svelte-toolbelt/node_modules/runed": { - "version": "0.29.2", - "resolved": "https://registry.npmjs.org/runed/-/runed-0.29.2.tgz", - "integrity": "sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/huntabyte", - "https://github.com/sponsors/tglide" - ], - "license": "MIT", - "dependencies": { - "esm-env": "^1.0.0" - }, - "peerDependencies": { - "svelte": "^5.7.0" - } - }, - "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwind-merge": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", - "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwind-variants": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-3.1.1.tgz", - "integrity": "sha512-ftLXe3krnqkMHsuBTEmaVUXYovXtPyTK7ckEfDRXS8PBZx0bAUas+A0jYxuKA5b8qg++wvQ3d2MQ7l/xeZxbZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.x", - "pnpm": ">=7.x" - }, - "peerDependencies": { - "tailwind-merge": ">=3.0.0", - "tailwindcss": "*" - }, - "peerDependenciesMeta": { - "tailwind-merge": { - "optional": true - } - } - }, - "node_modules/tailwindcss": { - "version": "4.1.14", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.14.tgz", - "integrity": "sha512-b7pCxjGO98LnxVkKjaZSDeNuljC4ueKUddjENJOADtubtdo8llTaJy7HwBMeLNSSo2N5QIAgklslK1+Ir8r6CA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/trim-repeated/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, - "node_modules/tw-animate-css": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", - "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Wombosvideo" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.46.0.tgz", - "integrity": "sha512-6+ZrB6y2bT2DX3K+Qd9vn7OFOJR+xSLDj+Aw/N3zBwUt27uTw2sw2TE2+UcY1RiyBZkaGbTkVg9SSdPNUG6aUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.46.0", - "@typescript-eslint/parser": "8.46.0", - "@typescript-eslint/typescript-estree": "8.46.0", - "@typescript-eslint/utils": "8.46.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "7.1.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.12.tgz", - "integrity": "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vitefu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", - "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", - "dev": true, - "license": "MIT", - "workspaces": [ - "tests/deps/*", - "tests/projects/*", - "tests/projects/workspace/packages/*" - ], - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zimmerframe": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", - "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", - "license": "MIT" - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/app/package.json b/app/package.json deleted file mode 100644 index 6fdd846..0000000 --- a/app/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "app", - "private": true, - "version": "0.0.1", - "type": "module", - "scripts": { - "dev": "vite dev", - "build": "vite build", - "deploy": "pnpm build && pnpx gh-pages -d build", - "preview": "vite preview", - "prepare": "svelte-kit sync || echo ''", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "format": "prettier --write .", - "lint": "prettier --check . && eslint ." - }, - "devDependencies": { - "@eslint/compat": "^1.4.0", - "@eslint/js": "^9.36.0", - "@internationalized/date": "^3.10.0", - "@lucide/svelte": "^0.544.0", - "@shikijs/rehype": "^3.13.0", - "@sveltejs/adapter-static": "^3.0.10", - "@sveltejs/kit": "^2.47.3", - "@sveltejs/vite-plugin-svelte": "^6.2.0", - "@tailwindcss/forms": "^0.5.10", - "@tailwindcss/typography": "^0.5.18", - "@tailwindcss/vite": "^4.1.13", - "@types/node": "^22", - "bits-ui": "^2.11.5", - "clsx": "^2.1.1", - "embla-carousel-svelte": "^8.6.0", - "eslint": "^9.36.0", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-svelte": "^3.12.4", - "globals": "^16.4.0", - "mode-watcher": "^1.1.0", - "prettier": "^3.6.2", - "prettier-plugin-svelte": "^3.4.0", - "prettier-plugin-tailwindcss": "^0.6.14", - "shiki": "^3.13.0", - "svelte": "^5.42.2", - "svelte-check": "^4.3.2", - "svelte-sonner": "^1.0.5", - "tailwind-merge": "^3.3.1", - "tailwind-variants": "^3.1.1", - "tailwindcss": "^4.1.13", - "tw-animate-css": "^1.4.0", - "typescript": "^5.9.2", - "typescript-eslint": "^8.44.1", - "vite": "^7.1.12" - }, - "dependencies": { - "gh-pages": "^6.3.0", - "lucide-svelte": "^0.545.0", - "rehype-raw": "^7.0.0", - "rehype-slug": "^6.0.0", - "svelte-exmarkdown": "^5.0.2" - } -} diff --git a/app/scripts/fetch-fallback-readmes.ts b/app/scripts/fetch-fallback-readmes.ts deleted file mode 100644 index 02d2504..0000000 --- a/app/scripts/fetch-fallback-readmes.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { projects } from '../src/lib/assets/data/projects.ts'; -import { existsSync, writeFileSync } from 'fs'; - -async function main() { - await fetchFallbackReadmes(); -} - -async function fetchFallbackReadmes() { - const projectsToFetch = projects - .filter((p) => p.readmeURL !== undefined) - .map((p) => ({ slug: p.slug, url: p.readmeURL, type: p.type })); - - for (const project of projectsToFetch) { - const res = await fetch(project.url!); - if (!res.ok) { - console.error( - `Failed to fetch README for ${project.slug} (${project.type}): ${res.status} ${res.statusText}` - ); - continue; - } - const readmeContent = await res.text(); - const dirPath = `./static/projects/${project.type}s/${project.slug}`; - - if (!existsSync(dirPath)) { - throw new Error(`Directory does not exist: ${dirPath}`); - } - - const filePath = `${dirPath}/README.md`; - writeFileSync(filePath, readmeContent, 'utf8'); - } -} - -await main(); diff --git a/app/src/app.css b/app/src/app.css deleted file mode 100644 index 6b695fd..0000000 --- a/app/src/app.css +++ /dev/null @@ -1,189 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Space+Grotesk:wght@300..700&display=swap'); -@import 'tailwindcss'; -@import 'tw-animate-css'; -@plugin "@tailwindcss/typography"; - -@custom-variant dark (&:is(.dark *)); - -:root { - --background: oklch(0.99 0 0); - --foreground: oklch(0.23 0 0); - --card: oklch(0.88 0.01 87.42); - --card-foreground: oklch(0.23 0 0); - --popover: oklch(0.88 0.01 87.42); - --popover-foreground: oklch(0.23 0 0); - --primary: oklch(0.86 0.17 91.96); - --primary-foreground: oklch(0.15 0.01 285.36); - --secondary: oklch(0.5 0.2 20.65); - --secondary-foreground: oklch(0.99 0 0); - --muted: oklch(0.93 0.02 94.49); - --muted-foreground: oklch(0.4 0.01 285.99); - --accent: oklch(0.93 0.03 92.3); - --accent-foreground: oklch(0.15 0.01 285.36); - --destructive: oklch(0.65 0.22 32.08); - --border: oklch(0.86 0.02 93.65); - --input: oklch(0.86 0.02 93.65); - --ring: oklch(0.86 0.17 91.96); - --chart-1: oklch(0.65 0.22 36.49); - --chart-2: oklch(0.63 0.11 209.89); - --chart-3: oklch(0.55 0.18 275.17); - --chart-4: oklch(0.68 0.18 140.04); - --chart-5: oklch(0.5 0.2 20.65); - --sidebar: oklch(0.45 0 0); - --sidebar-foreground: oklch(0.99 0 0); - --sidebar-primary: oklch(0.86 0.17 91.96); - --sidebar-primary-foreground: oklch(0.15 0.01 285.36); - --sidebar-accent: oklch(0.35 0 0); - --sidebar-accent-foreground: oklch(0.99 0 0); - --sidebar-border: oklch(0.55 0 0); - --sidebar-ring: oklch(0.86 0.17 91.96); - - --font-sans: Plus Jakarta Sans, sans-serif; - --font-serif: Space Grotesk, serif; - --font-mono: JetBrains Mono, monospace; - - --radius: 0.625rem; - - --shadow-2xs: 0 1px 3px 0px oklch(0 0 0 / 0.05); - --shadow-xs: 0 1px 3px 0px oklch(0 0 0 / 0.05); - --shadow-sm: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 1px 2px -1px oklch(0 0 0 / 0.1); - --shadow: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 1px 2px -1px oklch(0 0 0 / 0.1); - --shadow-md: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 2px 4px -1px oklch(0 0 0 / 0.1); - --shadow-lg: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 4px 6px -1px oklch(0 0 0 / 0.1); - --shadow-xl: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 8px 10px -1px oklch(0 0 0 / 0.1); - --shadow-2xl: 0 1px 3px 0px oklch(0 0 0 / 0.25); -} - -.dark { - --background: oklch(0.14 0 285.86); - --foreground: oklch(0.99 0 0); - --card: oklch(0.21 0.01 285.56); - --card-foreground: oklch(0.99 0 0); - --popover: oklch(0.21 0.01 285.56); - --popover-foreground: oklch(0.99 0 0); - --primary: oklch(0.86 0.17 91.96); - --primary-foreground: oklch(0.14 0 285.86); - --secondary: oklch(0.5 0.2 20.65); - --secondary-foreground: oklch(0.99 0 0); - --muted: oklch(0.27 0.01 285.81); - --muted-foreground: oklch(0.71 0.01 286.23); - --accent: oklch(0.27 0.01 285.81); - --accent-foreground: oklch(0.99 0 0); - --destructive: oklch(0.65 0.22 32.08); - --border: oklch(1 0 0 / 10%); - --input: oklch(1 0 0 / 15%); - --ring: oklch(0.55 0.02 285.76); - --chart-1: oklch(0.49 0.24 264.41); - --chart-2: oklch(0.7 0.16 159.71); - --chart-3: oklch(0.77 0.17 65.49); - --chart-4: oklch(0.62 0.26 305.39); - --chart-5: oklch(0.64 0.25 16.38); - --sidebar: oklch(0.21 0.01 285.56); - --sidebar-foreground: oklch(0.99 0 0); - --sidebar-primary: oklch(0.49 0.24 264.41); - --sidebar-primary-foreground: oklch(0.99 0 0); - --sidebar-accent: oklch(0.27 0.01 285.81); - --sidebar-accent-foreground: oklch(0.99 0 0); - --sidebar-border: oklch(1 0 0 / 10%); - --sidebar-ring: oklch(0.55 0.02 285.76); - - --shadow-2xs: 0 1px 3px 0px oklch(0 0 0 / 0.05); - --shadow-xs: 0 1px 3px 0px oklch(0 0 0 / 0.05); - --shadow-sm: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 1px 2px -1px oklch(0 0 0 / 0.1); - --shadow: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 1px 2px -1px oklch(0 0 0 / 0.1); - --shadow-md: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 2px 4px -1px oklch(0 0 0 / 0.1); - --shadow-lg: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 4px 6px -1px oklch(0 0 0 / 0.1); - --shadow-xl: 0 1px 3px 0px oklch(0 0 0 / 0.1), 0 8px 10px -1px oklch(0 0 0 / 0.1); - --shadow-2xl: 0 1px 3px 0px oklch(0 0 0 / 0.25); -} - -@theme { - --padding-header: calc(var(--spacing) * 48); - --margin-header: calc(var(--spacing) * 48); - --height-page: calc(100dvh); - --height-header: calc(var(--spacing) * 48); - --height-footer: calc(var(--spacing) * 12); - --height-page-without-header: calc(var(--height-page) - var(--height-header)); - --height-page-without-footer: calc(var(--height-page) - var(--height-footer)); - --height-page-without-header-and-footer: calc( - var(--height-page) - var(--height-footer) - var(--height-header) - ); - --text-xxs: 0.625rem; -} - -@theme inline { - --color-background: var(--background); - --color-foreground: var(--foreground); - --color-card: var(--card); - --color-card-foreground: var(--card-foreground); - --color-popover: var(--popover); - --color-popover-foreground: var(--popover-foreground); - --color-primary: var(--primary); - --color-primary-foreground: var(--primary-foreground); - --color-secondary: var(--secondary); - --color-secondary-foreground: var(--secondary-foreground); - --color-muted: var(--muted); - --color-muted-foreground: var(--muted-foreground); - --color-accent: var(--accent); - --color-accent-foreground: var(--accent-foreground); - --color-destructive: var(--destructive); - --color-border: var(--border); - --color-input: var(--input); - --color-ring: var(--ring); - --color-chart-1: var(--chart-1); - --color-chart-2: var(--chart-2); - --color-chart-3: var(--chart-3); - --color-chart-4: var(--chart-4); - --color-chart-5: var(--chart-5); - --color-sidebar: var(--sidebar); - --color-sidebar-foreground: var(--sidebar-foreground); - --color-sidebar-primary: var(--sidebar-primary); - --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); - --color-sidebar-accent: var(--sidebar-accent); - --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); - --color-sidebar-border: var(--sidebar-border); - --color-sidebar-ring: var(--sidebar-ring); - - --font-sans: var(--font-sans); - --font-mono: var(--font-mono); - --font-serif: var(--font-serif); - - --radius-sm: calc(var(--radius) - 4px); - --radius-md: calc(var(--radius) - 2px); - --radius-lg: var(--radius); - --radius-xl: calc(var(--radius) + 4px); - - --shadow-2xs: var(--shadow-2xs); - --shadow-xs: var(--shadow-xs); - --shadow-sm: var(--shadow-sm); - --shadow: var(--shadow); - --shadow-md: var(--shadow-md); - --shadow-lg: var(--shadow-lg); - --shadow-xl: var(--shadow-xl); - --shadow-2xl: var(--shadow-2xl); -} -@layer base { - * { - @apply border-border outline-ring/50; - } - body { - @apply bg-background text-foreground; - } - - h1 { - @apply text-3xl font-bold; - } - - h2 { - @apply text-xl font-semibold; - } - - .subscript { - @apply text-sm italic md:text-base; - color: color-mix(in oklab, var(--color-foreground) 40%, transparent); - } - - .transition-std { - @apply transition-all duration-300 ease-in-out; - } -} diff --git a/app/src/app.d.ts b/app/src/app.d.ts deleted file mode 100644 index da08e6d..0000000 --- a/app/src/app.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -// See https://svelte.dev/docs/kit/types#app.d.ts -// for information about these interfaces -declare global { - namespace App { - // interface Error {} - // interface Locals {} - // interface PageData {} - // interface PageState {} - // interface Platform {} - } -} - -export {}; diff --git a/app/src/app.html b/app/src/app.html deleted file mode 100644 index 4bb9a3f..0000000 --- a/app/src/app.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - %sveltekit.head% - - -
      %sveltekit.body%
      - - diff --git a/app/src/lib/assets/data/jobs.ts b/app/src/lib/assets/data/jobs.ts deleted file mode 100644 index 27189a8..0000000 --- a/app/src/lib/assets/data/jobs.ts +++ /dev/null @@ -1,68 +0,0 @@ -export type Job = { - company: string; - position: string; - location: string; - startDate: Date; - endDate: Date | 'Present'; - description: string; - href: string; - logoPath: string; -}; - -export const jobs: Job[] = [ - { - company: 'GLU', - position: 'Educator Creative\nSoftware Engineering', - location: 'Utrecht, NL', - startDate: new Date('2024-04-01'), - endDate: 'Present', - description: - 'I develop and teach a curriculum in creative software development, emphasizing Game, XR, and Web technologies used in modern studios.', - href: 'https://www.glu.nl/', - logoPath: '/logos/svg/logo-glu-square.svg' - }, - { - company: 'Superprof', - position: 'Self-employed Tutor', - location: 'Amsterdam, NL', - startDate: new Date('2021-09-01'), - endDate: 'Present', - description: - 'I provide personalized tutoring in game development to students of various ages and educational levels.', - href: 'https://www.super-prof.nl/s/programmeren,Amsterdam,52.3675734,4.9041389,1,1018954.html', - logoPath: '/logos/svg/logo-superprof.svg' - }, - { - company: '&Ranj', - position: 'Thesis Intern: AI generated\ndialogue for serious games', - location: 'Rotterdam, NL', - startDate: new Date('2023-09-01'), - endDate: new Date('2024-02-01'), - description: - 'Performed a study on how game designers can use large-language models to provide meaningful conversation in serious games, and built a proof-of-concept game', - href: 'https://www.ranj.com/', - logoPath: '/logos/svg/logo-ranj.svg' - }, - { - company: 'University of Amsterdam', - position: 'Teaching Assistant: Minor Programming', - location: 'Amsterdam, NL', - startDate: new Date('2022-09-01'), - endDate: new Date('2024-01-01'), - description: - 'Assistant tutor of the Minor Programming at the University of Amsterdam. Organised and supervised a learning route for Game Development in Unity, and taught programming in C, C# & Python.', - href: 'https://www.uva.nl/', - logoPath: '/logos/svg/logo-uva.svg' - }, - { - company: 'Degoma', - position: 'Intern game design, development, and porting', - location: 'Amsterdam, NL', - startDate: new Date('2021-09-01'), - endDate: new Date('2022-02-01'), - description: - 'Worked on content for ‘Reggie, his cousin, two scientists and most likely the end of the world’. Designing and implementing game mechanics for a boss, and studying how the IP should be ported to a mobile game.', - href: 'https://degoma.games/', - logoPath: '/logos/svg/logo-degoma.svg' - } -]; diff --git a/app/src/lib/assets/data/projects.ts b/app/src/lib/assets/data/projects.ts deleted file mode 100644 index e3176d2..0000000 --- a/app/src/lib/assets/data/projects.ts +++ /dev/null @@ -1,191 +0,0 @@ -export type ProjectType = 'game' | 'tool'; - -export type Project = { - type: ProjectType; - title: string; - shortDescription: string; - description: string; - slug: string; - hasGif?: boolean; - workStatus?: WorkStatus; - youtubeURL?: string; - readmeURL?: string; - githubRawURL?: string; - githubURL?: string; -}; - -export type WorkStatus = 'active' | 'postponed' | 'icebox' | 'abandoned'; - -export type Game = Project & { type: 'game' }; -export type Tool = Project & { type: 'tool' }; - -export function getCategoryName(type: ProjectType): string { - return type.charAt(0).toUpperCase() + type.slice(1) + 's'; -} - -export function getImagePath(project: Project): string { - return `/projects/${getCategoryName(project.type).toLowerCase()}/${project.slug}/${project.slug}${project.hasGif ? '.gif' : '.png'}`; -} - -export const games: Game[] = [ - { - type: 'game', - title: 'Detective Duck', - shortDescription: 'Demonstrates use of LLMs in serious games.', - description: 'A visual novel game where you play as a duck detective solving mysteries.', - slug: 'detective-duck', - youtubeURL: 'https://www.youtube.com/watch?v=e1HN3MVz4hs' - }, - { - type: 'game', - title: 'Reggie: The Game', - shortDescription: 'A gravity-bending platformer in which you travel through time', - description: - 'Control the direction of gravity as you, run, jump and explore in a time-traveling adventure.', - slug: 'reggie', - youtubeURL: 'https://www.youtube.com/watch?v=EsMAK-gHFMI' - }, - { - type: 'game', - title: 'Look Out!', - shortDescription: 'An eye-tracked horror game. Every glance could be your last.', - description: - 'A horror game that uses eye-tracking technology to create an immersive and terrifying experience.', - slug: 'look-out' - }, - { - type: 'game', - title: 'Ouija.TV', - shortDescription: 'Play Ouija with your twitch chat. Let the spirits guide you.', - description: - 'Ouija.tv was an online multiplayer Ouija board that allowed streamers to ask questions to their viewers.', - slug: 'ouija-tv' - }, - { - type: 'game', - title: 'Robotlab VR', - shortDescription: 'VR training simulator for industrial robots.', - description: - 'A virtual reality application that allows users to train operating with industrial robots in a safe environment.', - slug: 'robotlab-vr', - youtubeURL: 'https://www.youtube.com/watch?v=oIzACzUwmVM' - }, - { - type: 'game', - title: 'Runic Roots', - shortDescription: 'A farming game meets a deckbuilder.', - description: - 'Build out your deck by growing and harvesting magical plants, then use your deck to defeat enemies.', - workStatus: 'active', - slug: 'runic-roots' - }, - { - type: 'game', - title: 'Pogo Peaks', - shortDescription: 'Climb a mountain using a pogo stick.', - description: - 'A physics-based climbing game where you use a pogo stick to ascend challenging peaks.', - hasGif: true, - workStatus: 'icebox', - slug: 'pogo-peaks' - }, - { - type: 'game', - title: 'Liars!', - shortDescription: 'A physical card game about deception and deduction.', - description: - 'A social trivia game where players bluff, and try to catch others in their lies.', - workStatus: 'active', - slug: 'liars' - } -]; - -export const tools: Tool[] = [ - { - type: 'tool', - title: 'Godot Doctor', - shortDescription: 'A plugin that helps you validate your scenes in Godot.', - description: - 'A powerful validation plugin for Godot that catches errors before they reach runtime. Validate scenes, nodes, and resources using a declarative, test-driven approach. No @tool required!', - slug: 'godot-doctor', - readmeURL: - 'https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/addons/godot_doctor/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/', - githubURL: 'https://github.com/codevogel/godot_doctor' - }, - { - type: 'tool', - title: 'Commit for me', - shortDescription: 'Generate coventional commit messages with AI.', - description: - 'A command-line tool that leverages AI to generate conventional commit messages based on your code changes. Easily customizable to your own needs. Save time and maintain consistency in your commit history.', - slug: 'commit-for-me', - readmeURL: - 'https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/', - githubURL: 'https://github.com/codevogel/commit-for-me' - }, - { - type: 'tool', - title: 'Peck', - shortDescription: '📷 Easily capture Screenshots / Screen Recordings on Wayland.', - description: - 'peck is a screen capture tool for Wayland. It provides easy ways to capture screenshots, record your screen, and optionally convert outputs to different formats. peck isn\'t a tool that tries to reinvent the wheel. Rather, it\'s just a simple wrapper bash script that makes interfacing with grim and wf-recorder easier.', - slug: 'peck', - readmeURL: - 'https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/', - githubURL: 'https://github.com/codevogel/peck' - }, - { - type: 'tool', - title: 'Faux 3D Perspective Shader', - shortDescription: 'A shader that creates a faux 3D perspective effect in Godot.', - description: - 'A versatile shader for Godot that simulates a faux 3D perspective effect. Perfect for creating depth and immersion in 2D games, this shader can be easily customized to fit your art style and game design needs.', - slug: 'faux-3d-perspective-shader', - readmeURL: - 'https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/', - hasGif: true, - githubURL: 'https://github.com/codevogel/faux-3d-perspective-shader-godot' - }, - { - type: 'tool', - title: 'mkp5', - shortDescription: 'Creates p5.js projects from the command line.', - description: - 'A command-line tool that streamlines the creation of p5.js projects. With mkp5, you can quickly set up a new p5.js project with a single command.', - slug: 'mkp5', - readmeURL: 'https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/', - githubURL: 'https://github.com/codevogel/mkp5' - }, - { - type: 'tool', - title: 'pls', - shortDescription: - 'pls centralize aliases! Unify your workflow with context-aware alias management.', - description: - 'Project Level Shortcuts (pls) is a command-line tool that allows you to create, manage, and execute custom context-aware aliases for frequently used commands using portable .pls.yml files.', - slug: 'pls', - readmeURL: 'https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/', - githubURL: 'https://github.com/codevogel/pls' - }, - - { - type: 'tool', - title: 'Circuit Patch Converter', - shortDescription: 'Converts patches between different formats for the Novation Circuit.', - description: - 'Converts patches from the old Novation Circuit format to the new Circuit format, bringing back backwards compatability.', - slug: 'circuit-patch-converter', - readmeURL: - 'https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/README.md', - githubRawURL: 'https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/', - githubURL: 'https://github.com/codevogel/CircuitPatchConverter' - } -]; - -export const projects: Project[] = [...games, ...tools]; diff --git a/app/src/lib/assets/data/skills.ts b/app/src/lib/assets/data/skills.ts deleted file mode 100644 index c2989b0..0000000 --- a/app/src/lib/assets/data/skills.ts +++ /dev/null @@ -1,175 +0,0 @@ -type Skill = { - name: string; - href: string; - logoPath: string; -}; - -export type SkillGroup = { - name: string; - items: Skill[]; -}; - -export const skillGroups: SkillGroup[] = [ - { - name: 'Game Engines', - items: [ - { - name: 'Unity', - href: 'https://unity.com/', - logoPath: '/logos/svg/skills/logo-unity.svg' - }, - { - name: 'Unreal Engine', - href: 'https://www.unrealengine.com/', - logoPath: '/logos/svg/skills/logo-unreal.svg' - }, - { - name: 'Godot', - href: 'https://godotengine.org/', - logoPath: '/logos/svg/skills/logo-godot.svg' - } - ] - }, - { - name: 'Design Tools', - items: [ - { - name: 'Blender', - href: 'https://www.blender.org/', - logoPath: '/logos/svg/skills/logo-blender.svg' - }, - { - name: 'MagicaVoxel', - href: 'https://ephtracy.github.io/', - logoPath: '/logos/svg/skills/logo-magicavoxel.svg' - }, - { - name: 'Material\nMaker', - href: 'https://rodzilla.itch.io/material-maker', - logoPath: '/logos/svg/skills/logo-material-maker.svg' - }, - { - name: 'Figma', - href: 'https://www.figma.com/', - logoPath: '/logos/svg/skills/logo-figma.svg' - }, - { - name: 'Adobe\nIllustrator', - href: 'https://www.adobe.com/products/illustrator.html', - logoPath: '/logos/svg/skills/logo-illustrator.svg' - }, - { - name: 'Adobe\nPhotoshop', - href: 'https://www.adobe.com/products/photoshop.html', - logoPath: '/logos/svg/skills/logo-photoshop.svg' - }, - { - name: 'Adobe\nSubstance Painter', - href: 'https://www.adobe.com/products/substance3d/apps/painter.html', - logoPath: '/logos/svg/skills/logo-substance-painter.svg' - }, - { - name: 'Adobe\nLightroom', - href: 'https://www.adobe.com/products/photoshop-lightroom.html', - logoPath: '/logos/svg/skills/logo-lightroom.svg' - } - ] - }, - { - name: 'Technologies', - items: [ - { - name: 'React', - href: 'https://react.dev/', - logoPath: '/logos/svg/skills/logo-react.svg' - }, - { - name: 'Svelte', - href: 'https://svelte.dev/', - logoPath: '/logos/svg/skills/logo-svelte.svg' - }, - { name: 'Vue', href: 'https://vuejs.org/', logoPath: '/logos/svg/skills/logo-vue.svg' }, - { - name: 'Tailwind\nCSS', - href: 'https://tailwindcss.com/', - logoPath: '/logos/svg/skills/logo-tailwind.svg' - }, - { - name: 'Bootstrap', - href: 'https://getbootstrap.com/', - logoPath: '/logos/svg/skills/logo-bootstrap.svg' - }, - { - name: 'Umbraco\nCMS', - href: 'https://umbraco.com/', - logoPath: '/logos/svg/skills/logo-umbraco.svg' - }, - { - name: 'Xamarin', - href: 'https://dotnet.microsoft.com/en-us/apps/xamarin', - logoPath: '/logos/svg/skills/logo-xamarin.svg' - }, - { - name: 'MySQL', - href: 'https://www.mysql.com/', - logoPath: '/logos/svg/skills/logo-mysql.svg' - }, - { - name: 'MongoDB', - href: 'https://www.mongodb.com/', - logoPath: '/logos/svg/skills/logo-mongodb.svg' - }, - { - name: 'Drizzle', - href: 'https://orm.drizzle.team/', - logoPath: '/logos/svg/skills/logo-drizzle.svg' - } - ] - }, - { - name: 'Programming Languages', - items: [ - { - name: 'C', - href: 'https://www.c-language.org/', - logoPath: '/logos/svg/skills/logo-c.svg' - }, - { - name: 'C++', - href: 'https://isocpp.org/', - logoPath: '/logos/svg/skills/logo-cplusplus.svg' - }, - { - name: 'C#', - href: 'https://learn.microsoft.com/en-us/dotnet/csharp/', - logoPath: '/logos/svg/skills/logo-csharp.svg' - }, - { - name: 'Java', - href: 'https://www.java.com/', - logoPath: '/logos/svg/skills/logo-java.svg' - }, - { - name: 'Kotlin', - href: 'https://kotlinlang.org/', - logoPath: '/logos/svg/skills/logo-kotlin.svg' - }, - { - name: 'Python', - href: 'https://www.python.org/', - logoPath: '/logos/svg/skills/logo-python.svg' - }, - { name: 'Lua', href: 'https://www.lua.org/', logoPath: '/logos/svg/skills/logo-lua.svg' }, - { - name: 'JavaScript', - href: 'https://developer.mozilla.org/en-US/docs/Web/JavaScript', - logoPath: '/logos/svg/skills/logo-javascript.svg' - }, - { - name: 'TypeScript', - href: 'https://www.typescriptlang.org/', - logoPath: '/logos/svg/skills/logo-typescript.svg' - } - ] - } -]; diff --git a/app/src/lib/assets/favicon.svg b/app/src/lib/assets/favicon.svg deleted file mode 100644 index 4b7c6a5..0000000 --- a/app/src/lib/assets/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/app/src/lib/assets/routes.ts b/app/src/lib/assets/routes.ts deleted file mode 100644 index 6f7255e..0000000 --- a/app/src/lib/assets/routes.ts +++ /dev/null @@ -1,16 +0,0 @@ -export type Page = { - name: string; - path: string; - title: string; - icon?: string; - showInNav?: boolean; -}; - -export const baseTitle = 'codevogel 🐦'; - -export const pages: Page[] = [ - { name: 'Home', path: '/', title: `Home | ${baseTitle}` }, - { name: 'Games', path: '/games', title: `Games | ${baseTitle}`}, - { name: 'Tools', path: '/tools', title: `Tools | ${baseTitle}` }, - { name: 'Contact', path: '/contact', title: `Contact | ${baseTitle}` }, -]; diff --git a/app/src/lib/components/shadcn-svelte/ui/badge/badge.svelte b/app/src/lib/components/shadcn-svelte/ui/badge/badge.svelte deleted file mode 100644 index a5dec32..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/badge/badge.svelte +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - {@render children?.()} - diff --git a/app/src/lib/components/shadcn-svelte/ui/badge/index.ts b/app/src/lib/components/shadcn-svelte/ui/badge/index.ts deleted file mode 100644 index 64e0aa9..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/badge/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { default as Badge } from "./badge.svelte"; -export { badgeVariants, type BadgeVariant } from "./badge.svelte"; diff --git a/app/src/lib/components/shadcn-svelte/ui/button/button.svelte b/app/src/lib/components/shadcn-svelte/ui/button/button.svelte deleted file mode 100644 index 5deaa88..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/button/button.svelte +++ /dev/null @@ -1,83 +0,0 @@ - - - - -{#if href} - - {@render children?.()} - -{:else} - -{/if} diff --git a/app/src/lib/components/shadcn-svelte/ui/button/index.ts b/app/src/lib/components/shadcn-svelte/ui/button/index.ts deleted file mode 100644 index 5414d9d..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/button/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -import Root, { - type ButtonProps, - type ButtonSize, - type ButtonVariant, - buttonVariants -} from './button.svelte'; - -export { - Root, - type ButtonProps as Props, - // - Root as Button, - buttonVariants, - type ButtonProps, - type ButtonSize, - type ButtonVariant -}; diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-action.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-action.svelte deleted file mode 100644 index 2659732..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-action.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-content.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-content.svelte deleted file mode 100644 index 9e22a57..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-content.svelte +++ /dev/null @@ -1,15 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-description.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-description.svelte deleted file mode 100644 index efa34f8..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-description.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -

      - {@render children?.()} -

      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-footer.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-footer.svelte deleted file mode 100644 index 5376528..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-footer.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-header.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-header.svelte deleted file mode 100644 index 7cf5b02..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-header.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card-title.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card-title.svelte deleted file mode 100644 index b31c094..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card-title.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/card.svelte b/app/src/lib/components/shadcn-svelte/ui/card/card.svelte deleted file mode 100644 index d8c6c68..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/card.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/card/index.ts b/app/src/lib/components/shadcn-svelte/ui/card/index.ts deleted file mode 100644 index 77d3674..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/card/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import Root from './card.svelte'; -import Content from './card-content.svelte'; -import Description from './card-description.svelte'; -import Footer from './card-footer.svelte'; -import Header from './card-header.svelte'; -import Title from './card-title.svelte'; -import Action from './card-action.svelte'; - -export { - Root, - Content, - Description, - Footer, - Header, - Title, - Action, - // - Root as Card, - Content as CardContent, - Description as CardDescription, - Footer as CardFooter, - Header as CardHeader, - Title as CardTitle, - Action as CardAction -}; diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-content.svelte b/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-content.svelte deleted file mode 100644 index 3f47735..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-content.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - -
      -
      - {@render children?.()} -
      -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-item.svelte b/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-item.svelte deleted file mode 100644 index 2b338f7..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-item.svelte +++ /dev/null @@ -1,30 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-next.svelte b/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-next.svelte deleted file mode 100644 index 4119eaa..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-next.svelte +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-previous.svelte b/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-previous.svelte deleted file mode 100644 index bb772a1..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel-previous.svelte +++ /dev/null @@ -1,38 +0,0 @@ - - - diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel.svelte b/app/src/lib/components/shadcn-svelte/ui/carousel/carousel.svelte deleted file mode 100644 index 1cf70f6..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/carousel.svelte +++ /dev/null @@ -1,93 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/context.ts b/app/src/lib/components/shadcn-svelte/ui/carousel/context.ts deleted file mode 100644 index 80b18f3..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/context.ts +++ /dev/null @@ -1,58 +0,0 @@ -import type { WithElementRef } from '$lib/utils/shadcn-svelte.js'; -import type { - EmblaCarouselSvelteType, - default as emblaCarouselSvelte -} from 'embla-carousel-svelte'; -import { getContext, hasContext, setContext } from 'svelte'; -import type { HTMLAttributes } from 'svelte/elements'; - -export type CarouselAPI = - NonNullable['on:emblaInit']> extends ( - evt: CustomEvent - ) => void - ? CarouselAPI - : never; - -type EmblaCarouselConfig = NonNullable[1]>; - -export type CarouselOptions = EmblaCarouselConfig['options']; -export type CarouselPlugins = EmblaCarouselConfig['plugins']; - -//// - -export type CarouselProps = { - opts?: CarouselOptions; - plugins?: CarouselPlugins; - setApi?: (api: CarouselAPI | undefined) => void; - orientation?: 'horizontal' | 'vertical'; -} & WithElementRef>; - -const EMBLA_CAROUSEL_CONTEXT = Symbol('EMBLA_CAROUSEL_CONTEXT'); - -export type EmblaContext = { - api: CarouselAPI | undefined; - orientation: 'horizontal' | 'vertical'; - scrollNext: () => void; - scrollPrev: () => void; - canScrollNext: boolean; - canScrollPrev: boolean; - handleKeyDown: (e: KeyboardEvent) => void; - options: CarouselOptions; - plugins: CarouselPlugins; - onInit: (e: CustomEvent) => void; - scrollTo: (index: number, jump?: boolean) => void; - scrollSnaps: number[]; - selectedIndex: number; -}; - -export function setEmblaContext(config: EmblaContext): EmblaContext { - setContext(EMBLA_CAROUSEL_CONTEXT, config); - return config; -} - -export function getEmblaContext(name = 'This component') { - if (!hasContext(EMBLA_CAROUSEL_CONTEXT)) { - throw new Error(`${name} must be used within a component`); - } - return getContext>(EMBLA_CAROUSEL_CONTEXT); -} diff --git a/app/src/lib/components/shadcn-svelte/ui/carousel/index.ts b/app/src/lib/components/shadcn-svelte/ui/carousel/index.ts deleted file mode 100644 index 2d92c70..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/carousel/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import Root from './carousel.svelte'; -import Content from './carousel-content.svelte'; -import Item from './carousel-item.svelte'; -import Previous from './carousel-previous.svelte'; -import Next from './carousel-next.svelte'; - -export { - Root, - Content, - Item, - Previous, - Next, - // - Root as Carousel, - Content as CarouselContent, - Item as CarouselItem, - Previous as CarouselPrevious, - Next as CarouselNext -}; diff --git a/app/src/lib/components/shadcn-svelte/ui/sonner/index.ts b/app/src/lib/components/shadcn-svelte/ui/sonner/index.ts deleted file mode 100644 index fcaf06b..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/sonner/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as Toaster } from './sonner.svelte'; diff --git a/app/src/lib/components/shadcn-svelte/ui/sonner/sonner.svelte b/app/src/lib/components/shadcn-svelte/ui/sonner/sonner.svelte deleted file mode 100644 index cb1f7c1..0000000 --- a/app/src/lib/components/shadcn-svelte/ui/sonner/sonner.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - - diff --git a/app/src/lib/components/ui/content-scroll-container.svelte b/app/src/lib/components/ui/content-scroll-container.svelte deleted file mode 100644 index ca9c01d..0000000 --- a/app/src/lib/components/ui/content-scroll-container.svelte +++ /dev/null @@ -1,9 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/ui/error-card.svelte b/app/src/lib/components/ui/error-card.svelte deleted file mode 100644 index e380b17..0000000 --- a/app/src/lib/components/ui/error-card.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - - - -

      Oops! 😦

      -

      Something went wrong while trying to load this page.

      -
      - -

      - {status} -

      - {#if errorMessage} -

      - {errorMessage} -

      - {/if} -
      -
      diff --git a/app/src/lib/components/ui/find-me-on.svelte b/app/src/lib/components/ui/find-me-on.svelte deleted file mode 100644 index 587396e..0000000 --- a/app/src/lib/components/ui/find-me-on.svelte +++ /dev/null @@ -1,29 +0,0 @@ - - -
      - {#if topLevel} -

      Find me on

      - {:else} -

      Find me on

      - {/if} - -
      diff --git a/app/src/lib/components/ui/footer.svelte b/app/src/lib/components/ui/footer.svelte deleted file mode 100644 index 00d93d7..0000000 --- a/app/src/lib/components/ui/footer.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - -
      - -
      diff --git a/app/src/lib/components/ui/header.svelte b/app/src/lib/components/ui/header.svelte deleted file mode 100644 index 5467f91..0000000 --- a/app/src/lib/components/ui/header.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - -
      -
      - - -
      - -
      diff --git a/app/src/lib/components/ui/hero/bird-hero.svelte b/app/src/lib/components/ui/hero/bird-hero.svelte deleted file mode 100644 index 13c3c4e..0000000 --- a/app/src/lib/components/ui/hero/bird-hero.svelte +++ /dev/null @@ -1,59 +0,0 @@ - - -
      - - - codevogel logo head -
      diff --git a/app/src/lib/components/ui/hero/name-breakdown.svelte b/app/src/lib/components/ui/hero/name-breakdown.svelte deleted file mode 100644 index 9900cda..0000000 --- a/app/src/lib/components/ui/hero/name-breakdown.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - -
      - - /ˈkoːdəˌvoːɣəl/ - -

      A bird that enjoys programming.

      - - - - -
      diff --git a/app/src/lib/components/ui/job-card.svelte b/app/src/lib/components/ui/job-card.svelte deleted file mode 100644 index c4e33f8..0000000 --- a/app/src/lib/components/ui/job-card.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - -
      (showDescription = !showDescription)} - role="none" -> - - - - -
      - {#if !showDescription} -
      - {job.position} - {job.location} -
      -
      - {job.startDate.toLocaleDateString()} - - - {job.endDate === 'Present' ? job.endDate : job.endDate.toLocaleDateString()} -
      - {:else} -
      -

      {job.description}

      -
      - {/if} -
      -
      diff --git a/app/src/lib/components/ui/logo/clip-svg.svelte b/app/src/lib/components/ui/logo/clip-svg.svelte deleted file mode 100644 index 46d700a..0000000 --- a/app/src/lib/components/ui/logo/clip-svg.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -
      - logo for {path} -
      diff --git a/app/src/lib/components/ui/logo/logo-codevogel-header.svelte b/app/src/lib/components/ui/logo/logo-codevogel-header.svelte deleted file mode 100644 index dd747ef..0000000 --- a/app/src/lib/components/ui/logo/logo-codevogel-header.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - - - codevogel logo head - diff --git a/app/src/lib/components/ui/main.svelte b/app/src/lib/components/ui/main.svelte deleted file mode 100644 index cea3acc..0000000 --- a/app/src/lib/components/ui/main.svelte +++ /dev/null @@ -1,7 +0,0 @@ - - -
      - {@render children?.()} -
      diff --git a/app/src/lib/components/ui/navigation/main-nav.svelte b/app/src/lib/components/ui/navigation/main-nav.svelte deleted file mode 100644 index 7236338..0000000 --- a/app/src/lib/components/ui/navigation/main-nav.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/app/src/lib/components/ui/overview-card.svelte b/app/src/lib/components/ui/overview-card.svelte deleted file mode 100644 index 42ba35d..0000000 --- a/app/src/lib/components/ui/overview-card.svelte +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - {title}{wip ? ' [WIP]' : ''} - - - {shortDescription} - - - diff --git a/app/src/lib/components/ui/project-card.svelte b/app/src/lib/components/ui/project-card.svelte deleted file mode 100644 index a76bf55..0000000 --- a/app/src/lib/components/ui/project-card.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -

      {project.title}{project.workStatus ? ' [WIP]' : ''}

      - {#if project.githubURL} -
      - - - {/if} - - - - {#if project.youtubeURL} - - {:else} - {`${project.title} - {/if} - - - {project.description} -
      - -
      -
      - - diff --git a/app/src/lib/components/ui/project-detail.svelte b/app/src/lib/components/ui/project-detail.svelte deleted file mode 100644 index 3a1948c..0000000 --- a/app/src/lib/components/ui/project-detail.svelte +++ /dev/null @@ -1,16 +0,0 @@ - - -{`${project.title} - - diff --git a/app/src/lib/components/ui/project-overview.svelte b/app/src/lib/components/ui/project-overview.svelte deleted file mode 100644 index fba0419..0000000 --- a/app/src/lib/components/ui/project-overview.svelte +++ /dev/null @@ -1,29 +0,0 @@ - - -
      -

      {categoryName}

      -
      -

      Here, you can find all the {categoryName.toLowerCase()} I've worked on!

      -

      Click on a {type} to find out more about it.

      -
      -
      - {#each projects as project, i (i)} - - {/each} -
      -
      diff --git a/app/src/lib/components/ui/readme-renderer.svelte b/app/src/lib/components/ui/readme-renderer.svelte deleted file mode 100644 index 36f1755..0000000 --- a/app/src/lib/components/ui/readme-renderer.svelte +++ /dev/null @@ -1,137 +0,0 @@ - - -
      interceptLinkClicks(e)} - role="link" -> - - {#snippet h1(props)} - {@const { children, ...rest } = props} -

      - {@render children?.()} -

      - {#if project.githubURL} - - View on GitHub - - {/if} - {/snippet} -
      -
      diff --git a/app/src/lib/components/ui/scroll-to-top-button.svelte b/app/src/lib/components/ui/scroll-to-top-button.svelte deleted file mode 100644 index f04be22..0000000 --- a/app/src/lib/components/ui/scroll-to-top-button.svelte +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/app/src/lib/components/ui/section.svelte b/app/src/lib/components/ui/section.svelte deleted file mode 100644 index ab3c1eb..0000000 --- a/app/src/lib/components/ui/section.svelte +++ /dev/null @@ -1,23 +0,0 @@ - - -
      - {@render children()} -
      diff --git a/app/src/lib/components/ui/skills.svelte b/app/src/lib/components/ui/skills.svelte deleted file mode 100644 index 4f7969c..0000000 --- a/app/src/lib/components/ui/skills.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - -
      -

      Skills

      - {#each skillGroups as skill, i (i)} -

      {skill.name}

      -
      - {#each skill.items as item, j (j)} -
      - - - - -
      - {/each} -
      - {/each} -
      diff --git a/app/src/lib/components/ui/typewriter/typewriter.svelte b/app/src/lib/components/ui/typewriter/typewriter.svelte deleted file mode 100644 index ea1e537..0000000 --- a/app/src/lib/components/ui/typewriter/typewriter.svelte +++ /dev/null @@ -1,236 +0,0 @@ - - - - -
      - -
      - {#each renderedLines as line (line)} - - {#each line.chunks as chunk (chunk)} - {#if chunk.href != null} - {chunk.text} - {:else} - {chunk.text} - {/if} - {/each} - - {/each} -
      - - -
      diff --git a/app/src/lib/components/ui/typewriter/typewriter.ts b/app/src/lib/components/ui/typewriter/typewriter.ts deleted file mode 100644 index 7f7f3b1..0000000 --- a/app/src/lib/components/ui/typewriter/typewriter.ts +++ /dev/null @@ -1,20 +0,0 @@ -export type Message = { - lines: MessageLine[]; - class?: string; - style?: string; -}; - -export type MessageLine = { - chunks: MessageLineChunk[]; - delay?: number; - class?: string; - style?: string; -}; - -export type MessageLineChunk = { - text: string; - delay?: number; - class?: string; - style?: string; - href?: string; -}; diff --git a/app/src/lib/components/ui/wave-border.svelte b/app/src/lib/components/ui/wave-border.svelte deleted file mode 100644 index 416e60e..0000000 --- a/app/src/lib/components/ui/wave-border.svelte +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/lib/components/ui/work-experience-carousel.svelte b/app/src/lib/components/ui/work-experience-carousel.svelte deleted file mode 100644 index 1c0e4e3..0000000 --- a/app/src/lib/components/ui/work-experience-carousel.svelte +++ /dev/null @@ -1,68 +0,0 @@ - - -
      - (api = emblaAPI)}> - - -

      Current Jobs

      -
      - {#each currentJobs as job, i (i)} - - {/each} -
      -
      - -

      Past Jobs

      -
      - {#each pastJobs as job, i (i)} - - {/each} -
      -
      -
      -
      - -
      - - {#each Array(count) as _, i (i)} - api?.scrollTo(i)} - class={i !== current ? 'text-accent' : ''} - size={36} - /> - {/each} -
      -
      diff --git a/app/src/lib/components/ui/work-experience.svelte b/app/src/lib/components/ui/work-experience.svelte deleted file mode 100644 index fabafae..0000000 --- a/app/src/lib/components/ui/work-experience.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - -
      -

      Work Experience

      -

      Click on a job to see more details, or swipe to view past jobs

      -
      - diff --git a/app/src/lib/components/ui/youtube-embed.svelte b/app/src/lib/components/ui/youtube-embed.svelte deleted file mode 100644 index 32d9ab4..0000000 --- a/app/src/lib/components/ui/youtube-embed.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/app/src/lib/context.ts b/app/src/lib/context.ts deleted file mode 100644 index 15ac86f..0000000 --- a/app/src/lib/context.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createContext } from 'svelte'; - -export const [getHeaderContainerContext, setHeaderContainerContext] = - createContext<() => HTMLElement | undefined>(); -export const [getScrollContainerContext, setScrollContainerContext] = - createContext<() => HTMLElement | undefined>(); -export const [getContentContainerContext, setContentContainerContext] = - createContext<() => HTMLElement | undefined>(); diff --git a/app/src/lib/index.ts b/app/src/lib/index.ts deleted file mode 100644 index 856f2b6..0000000 --- a/app/src/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -// place files you want to import through the `$lib` alias in this folder. diff --git a/app/src/lib/rehype/rehype-insert.ts b/app/src/lib/rehype/rehype-insert.ts deleted file mode 100644 index b10de6d..0000000 --- a/app/src/lib/rehype/rehype-insert.ts +++ /dev/null @@ -1,150 +0,0 @@ -import type { Root, Element, RootContent } from 'hast'; - -/** - * Position strategies for where to insert content - */ -export type InsertPosition = - | { type: 'after'; selector: (node: RootContent, index: number) => boolean } - | { type: 'before'; selector: (node: RootContent, index: number) => boolean } - | { type: 'start' } // Beginning of document - | { type: 'end' }; // End of document - -/** - * Content generator function - */ -export type ContentGenerator = (data: TData) => Element | Element[] | null | undefined; - -/** - * Options for rehype-insert plugin - */ -export interface RehypeInsertOptions { - /** - * Where to insert the content - * @default { type: 'after', selector: (node) => node.type === 'element' && node.tagName === 'h1' } - */ - position?: InsertPosition; - - /** - * Function that generates the HAST element(s) to insert - */ - content: ContentGenerator; - - /** - * Data to pass to the content generator - */ - data?: TData; - - /** - * Whether to skip insertion if similar content already exists at the insertion point - * Checks if the next/previous node (depending on position) matches the generated content's tagName - * @default true - */ - skipIfExists?: boolean; -} - -/** - * rehype plugin to insert custom content at a specified location in the document. - * - * @example - * ```ts - * // Insert blockquote after first h1 - * rehypeInsert({ - * position: { type: 'after', selector: (node) => node.type === 'element' && node.tagName === 'h1' }, - * content: (status) => ({ - * type: 'element', - * tagName: 'blockquote', - * properties: {}, - * children: [{ type: 'element', tagName: 'p', properties: {}, children: [{ type: 'text', value: `Status: ${status}` }] }] - * }), - * data: 'active' - * }) - * - * // Insert div at start of document - * rehypeInsert({ - * position: { type: 'start' }, - * content: () => ({ type: 'element', tagName: 'div', properties: { className: ['alert'] }, children: [] }) - * }) - * ``` - */ -export default function rehypeInsert(options: RehypeInsertOptions) { - const { - position = { - type: 'after', - selector: (node) => node.type === 'element' && (node as Element).tagName === 'h1' - }, - content, - data, - skipIfExists = true - } = options; - - return (tree: Root) => { - // Generate content - const generatedContent = content(data as T); - if (!generatedContent) return; - - // Normalize to array - const elements = Array.isArray(generatedContent) ? generatedContent : [generatedContent]; - if (elements.length === 0) return; - - // Handle start/end positions - if (position.type === 'start') { - // Check if first element already matches - if (skipIfExists && shouldSkip(tree.children[0], elements[0])) return; - tree.children.unshift(...elements); - return; - } - - if (position.type === 'end') { - // Check if last element already matches - if (skipIfExists && shouldSkip(tree.children[tree.children.length - 1], elements[0])) - return; - tree.children.push(...elements); - return; - } - - // Handle before/after positions with selector - const idx = tree.children.findIndex((node, i) => position.selector(node, i)); - if (idx === -1) return; // No matching node found - - if (position.type === 'after') { - // Check if next element already matches - if (skipIfExists && shouldSkip(tree.children[idx + 1], elements[0])) return; - tree.children.splice(idx + 1, 0, ...elements); - } else if (position.type === 'before') { - // Check if previous element already matches - if (skipIfExists && shouldSkip(tree.children[idx - 1], elements[0])) return; - tree.children.splice(idx, 0, ...elements); - } - }; -} - -/** - * Helper to check if we should skip insertion due to existing similar content - */ -function shouldSkip(existingNode: RootContent | undefined, newElement: Element): boolean { - if (!existingNode || existingNode.type !== 'element') return false; - return existingNode.tagName === newElement.tagName; -} - -/** - * Helper to create any element with text content - */ -export function createElement( - tagName: string, - text: string, - properties?: Element['properties'] -): Element { - return { - type: 'element', - tagName, - properties: properties || {}, - children: [{ type: 'text', value: text }] - }; -} - -/** - * Helper to create a blockquote element - */ -export function createBlockquote(text: string): Element { - return createElement('blockquote', text); -} diff --git a/app/src/lib/utils/fetch-readme.ts b/app/src/lib/utils/fetch-readme.ts deleted file mode 100644 index 0730656..0000000 --- a/app/src/lib/utils/fetch-readme.ts +++ /dev/null @@ -1,45 +0,0 @@ -import type { Project } from '$lib/assets/data/projects'; -import { getCategoryName } from '$lib/assets/data/projects'; - -export async function fetchReadmeForSlug( - project: Project, - slug: string, - fetchFn: typeof fetch -): Promise { - let readme: string | undefined = undefined; - - if (project.readmeURL) { - console.log(`Attempting to fetch README from GitHub URL: ${project.readmeURL}`); - const res = await fetchFn(project.readmeURL); - if (res.ok) { - console.log(`Successfully fetched README from GitHub URL: ${project.readmeURL}`); - const baseRawURL = project.githubRawURL; - readme = await res.text(); - if (!baseRawURL) return readme; - // Adjust relative paths in the README to absolute URLs. - // Handles both dot-relative (./foo, ../foo) and root-relative (/foo) paths. - return readme.replace( - /([('"[])((?:\.{1,2}\/|\/(?!\/))[^)\]'"#\s]+)/g, - (_, prefix, relPath) => { - const normalised = relPath.startsWith('/') - ? relPath.slice(1) - : relPath.replace(/^\.{1,2}\//, ''); - return `${prefix}${baseRawURL}${normalised}`; - } - ); - } - } else { - const localURL = `/projects/${getCategoryName(project.type).toLowerCase()}/${slug}/README.md`; - console.log( - `Could not fetch README from GitHub URL. Falling back to README from Local URL: ${localURL}` - ); - const res = await fetchFn(localURL); - if (res.ok) { - return await res.text(); - } - } - console.error( - `Failed to fetch fallback README for project type '${project.type}' with slug '${slug}'.` - ); - return `# Oops! 😦 \n\nSomething went wrong.\n\nNo \`README.md\` was found for the \`${project.type}\` with slug \`${slug}\`.\n\nMost likely, I forgot to add one!\n\nPlease be so kind to report this through [the Contact page](/contact).`; -} diff --git a/app/src/lib/utils/get-shiki-highlighter-instance.ts b/app/src/lib/utils/get-shiki-highlighter-instance.ts deleted file mode 100644 index e00a4e2..0000000 --- a/app/src/lib/utils/get-shiki-highlighter-instance.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { createHighlighterCoreSync, type HighlighterCore } from 'shiki/core'; -import { createJavaScriptRegexEngine } from 'shiki/engine/javascript'; -import ts from 'shiki/langs/typescript.mjs'; -import gdscript from 'shiki/langs/gdscript.mjs'; -import kanagawa from 'shiki/themes/kanagawa-wave.mjs'; - -export class ShikiHighlighter { - private static instance: HighlighterCore | null = null; - - public static getInstance(): HighlighterCore { - if (this.instance === null) { - this.instance = createHighlighterCoreSync({ - themes: [kanagawa], - langs: [ts, gdscript], - engine: createJavaScriptRegexEngine() - }); - } - return this.instance; - } - - public static dispose(): void { - if (this.instance !== null) { - this.instance.dispose(); - this.instance = null; - } - } -} diff --git a/app/src/lib/utils/scroll.ts b/app/src/lib/utils/scroll.ts deleted file mode 100644 index db4eed0..0000000 --- a/app/src/lib/utils/scroll.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function scrollToTopOfContainer(scrollContainer: HTMLElement, targetContainer: HTMLElement) { - scrollContainer.scrollTo({ - top: targetContainer.offsetTop, - behavior: 'smooth' - }); -} diff --git a/app/src/lib/utils/shadcn-svelte.ts b/app/src/lib/utils/shadcn-svelte.ts deleted file mode 100644 index f92bfcb..0000000 --- a/app/src/lib/utils/shadcn-svelte.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { clsx, type ClassValue } from 'clsx'; -import { twMerge } from 'tailwind-merge'; - -export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)); -} - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export type WithoutChild = T extends { child?: any } ? Omit : T; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export type WithoutChildren = T extends { children?: any } ? Omit : T; -export type WithoutChildrenOrChild = WithoutChildren>; -export type WithElementRef = T & { ref?: U | null }; diff --git a/app/src/routes/+error.svelte b/app/src/routes/+error.svelte deleted file mode 100644 index eb76c9d..0000000 --- a/app/src/routes/+error.svelte +++ /dev/null @@ -1,8 +0,0 @@ - - -
      - -
      diff --git a/app/src/routes/+layout.svelte b/app/src/routes/+layout.svelte deleted file mode 100644 index e261877..0000000 --- a/app/src/routes/+layout.svelte +++ /dev/null @@ -1,113 +0,0 @@ - - - - - {title} - - - - - - -
      - -
      - -
      (scrollContainer = node))} -> -
      diff --git a/app/src/routes/+layout.ts b/app/src/routes/+layout.ts deleted file mode 100644 index 189f71e..0000000 --- a/app/src/routes/+layout.ts +++ /dev/null @@ -1 +0,0 @@ -export const prerender = true; diff --git a/app/src/routes/+page.server.ts b/app/src/routes/+page.server.ts deleted file mode 100644 index 79761d1..0000000 --- a/app/src/routes/+page.server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { skillGroups } from '$lib/assets/data/skills'; -import { jobs } from '$lib/assets/data/jobs'; -import type { PageServerLoad } from './$types'; - -export const load: PageServerLoad = async () => { - return { skillGroups, jobs }; -}; diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte deleted file mode 100644 index 09ea1c2..0000000 --- a/app/src/routes/+page.svelte +++ /dev/null @@ -1,26 +0,0 @@ - - -
      - -
      -
      - - -
      -
      - -
      -
      - -
      diff --git a/app/src/routes/contact/+page.svelte b/app/src/routes/contact/+page.svelte deleted file mode 100644 index 7e9bc4b..0000000 --- a/app/src/routes/contact/+page.svelte +++ /dev/null @@ -1,83 +0,0 @@ - - - hideSectionIfInlineSectionIsHidden()} /> - -
      -
      -

      Contact

      -

      I am currently open to work.

      -

      - Are you interested in working together?
      Then, I would love to hear from you!
      Please don't hesitate to contact me at: -

      - -

      - Feel free to contact me for anything else as well. -
      Looking forward to your message! -

      -

      - Are you a recruiter?
      Then swipe - down to see my resume 😉 -

      - - -
      -
      - -{#if renderTopLevelLinksSection} -
      - {@render links(true)} -
      -{/if} - -{#snippet links(topLevel: boolean)} - -

      My Resume

      - - - - -{/snippet} diff --git a/app/src/routes/games/+page.server.ts b/app/src/routes/games/+page.server.ts deleted file mode 100644 index a5bd0c9..0000000 --- a/app/src/routes/games/+page.server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { games, type Project } from '$lib/assets/data/projects'; -import type { PageServerLoad } from './$types'; - -export const load: PageServerLoad = async () => { - const projects: Project[] = games; - return { projects }; -}; diff --git a/app/src/routes/games/+page.svelte b/app/src/routes/games/+page.svelte deleted file mode 100644 index 13346ac..0000000 --- a/app/src/routes/games/+page.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/app/src/routes/games/[slug]/+page.svelte b/app/src/routes/games/[slug]/+page.svelte deleted file mode 100644 index 71b92e2..0000000 --- a/app/src/routes/games/[slug]/+page.svelte +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/routes/games/[slug]/+page.ts b/app/src/routes/games/[slug]/+page.ts deleted file mode 100644 index c228a67..0000000 --- a/app/src/routes/games/[slug]/+page.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { projects, type ProjectType } from '$lib/assets/data/projects'; -import { fetchReadmeForSlug } from '$lib/utils/fetch-readme'; -import type { PageLoad } from './$types'; -import { error } from '@sveltejs/kit'; - -export const load: PageLoad = async ({ params, fetch }) => { - const { slug } = params; - const type: ProjectType = 'game'; - const project = projects.filter((p) => p.type === type).find((p) => p.slug === slug); - if (!project) { - return error(404, { message: `Project with type '${type}' and slug '${slug}' not found.` }); - } - const readme = await fetchReadmeForSlug(project, slug, fetch); - return { readme, project }; -}; diff --git a/app/src/routes/tools/+page.server.ts b/app/src/routes/tools/+page.server.ts deleted file mode 100644 index 6e841b0..0000000 --- a/app/src/routes/tools/+page.server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { tools, type Project } from '$lib/assets/data/projects'; -import type { PageServerLoad } from './$types'; - -export const load: PageServerLoad = async () => { - const projects: Project[] = tools; - return { projects }; -}; diff --git a/app/src/routes/tools/+page.svelte b/app/src/routes/tools/+page.svelte deleted file mode 100644 index 085839a..0000000 --- a/app/src/routes/tools/+page.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - - diff --git a/app/src/routes/tools/[slug]/+page.svelte b/app/src/routes/tools/[slug]/+page.svelte deleted file mode 100644 index 71b92e2..0000000 --- a/app/src/routes/tools/[slug]/+page.svelte +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/routes/tools/[slug]/+page.ts b/app/src/routes/tools/[slug]/+page.ts deleted file mode 100644 index 713574e..0000000 --- a/app/src/routes/tools/[slug]/+page.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { projects, type ProjectType } from '$lib/assets/data/projects'; -import { fetchReadmeForSlug } from '$lib/utils/fetch-readme'; -import type { PageLoad } from './$types'; -import { error } from '@sveltejs/kit'; - -export const load: PageLoad = async ({ params, fetch }) => { - const { slug } = params; - const type: ProjectType = 'tool'; - const project = projects.filter((p) => p.type === type).find((p) => p.slug === slug); - if (!project) { - return error(404, { message: `Project with type '${type}' and slug '${slug}' not found.` }); - } - const readme = await fetchReadmeForSlug(project, slug, fetch); - return { readme, project }; -}; diff --git a/app/svelte.config.js b/app/svelte.config.js deleted file mode 100644 index ef4272c..0000000 --- a/app/svelte.config.js +++ /dev/null @@ -1,42 +0,0 @@ -import adapter from '@sveltejs/adapter-static'; -import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; - -const toolsPathExpr = /\/tools\/.*/; -const gamesPathExpr = /\/games\/.*/; - -/** @type {import('@sveltejs/kit').Config} */ -const config = { - preprocess: vitePreprocess(), - kit: { - adapter: adapter({ - pages: 'build', - assets: 'build', - fallback: '404.html' - }), - paths: { - base: '' - }, - prerender: { - handleHttpError: ({ path, referrer, message }) => { - if (toolsPathExpr.test(path) || gamesPathExpr.test(path)) { - console.warn(`Pre-rendering error for ${path} (referrer: ${referrer}): ${message}`); - return; - } - throw new Error(`Pre-rendering failed for ${path} (referrer: ${referrer}): ${message}`); - }, - handleMissingId: ({ path, referrers, message }) => { - if (toolsPathExpr.test(path) || gamesPathExpr.test(path)) { - console.warn( - `Missing ID during pre-rendering for ${path} (referrers: ${referrers.join(', ')}): ${message}` - ); - return; - } - throw new Error( - `Missing ID during pre-rendering for ${path} (referrers: ${referrers.join(', ')}): ${message}` - ); - } - } - } -}; - -export default config; diff --git a/app/tsconfig.json b/app/tsconfig.json deleted file mode 100644 index a5567ee..0000000 --- a/app/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "./.svelte-kit/tsconfig.json", - "compilerOptions": { - "allowJs": true, - "checkJs": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "sourceMap": true, - "strict": true, - "moduleResolution": "bundler" - } - // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias - // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files - // - // To make changes to top-level options such as include and exclude, we recommend extending - // the generated config; see https://svelte.dev/docs/kit/configuration#typescript -} diff --git a/app/vite.config.ts b/app/vite.config.ts deleted file mode 100644 index 349ae8a..0000000 --- a/app/vite.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import tailwindcss from '@tailwindcss/vite'; -import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vite'; - -export default defineConfig({ - plugins: [tailwindcss(), sveltekit()], - server: { allowedHosts: [] } -}); diff --git a/contact.html b/contact.html new file mode 100644 index 0000000..6378ebb --- /dev/null +++ b/contact.html @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contact | codevogel 🐦 + + +

      Contact

      I am currently open to work.

      Are you interested in working together?
      Then, I would love to hear from you!
      Please don't hesitate to contact me at:

      Feel free to contact me for anything else as well.
      Looking forward to your message!

      Are you a recruiter?
      Then swipe + down to see my resume 😉

      Find me on

      logo for /logos/svg/logo-github.svg
      logo for /logos/svg/logo-youtube.svg
      logo for /logos/svg/logo-linkedin.svg

      My Resume

      + + +
      + + diff --git a/games.html b/games.html new file mode 100644 index 0000000..9338037 --- /dev/null +++ b/games.html @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Games | codevogel 🐦 + + +
      + + +
      + + diff --git a/games/__data.json b/games/__data.json new file mode 100644 index 0000000..a712b09 --- /dev/null +++ b/games/__data.json @@ -0,0 +1 @@ +{"type":"data","nodes":[null,{"type":"data","data":[{"projects":1},[2,9,15,20,25,31,37,44],{"type":3,"title":4,"shortDescription":5,"description":6,"slug":7,"youtubeURL":8},"game","Detective Duck","Demonstrates use of LLMs in serious games.","A visual novel game where you play as a duck detective solving mysteries.","detective-duck","https://www.youtube.com/watch?v=e1HN3MVz4hs",{"type":3,"title":10,"shortDescription":11,"description":12,"slug":13,"youtubeURL":14},"Reggie: The Game","A gravity-bending platformer in which you travel through time","Control the direction of gravity as you, run, jump and explore in a time-traveling adventure.","reggie","https://www.youtube.com/watch?v=EsMAK-gHFMI",{"type":3,"title":16,"shortDescription":17,"description":18,"slug":19},"Look Out!","An eye-tracked horror game. Every glance could be your last.","A horror game that uses eye-tracking technology to create an immersive and terrifying experience.","look-out",{"type":3,"title":21,"shortDescription":22,"description":23,"slug":24},"Ouija.TV","Play Ouija with your twitch chat. Let the spirits guide you.","Ouija.tv was an online multiplayer Ouija board that allowed streamers to ask questions to their viewers.","ouija-tv",{"type":3,"title":26,"shortDescription":27,"description":28,"slug":29,"youtubeURL":30},"Robotlab VR","VR training simulator for industrial robots.","A virtual reality application that allows users to train operating with industrial robots in a safe environment.","robotlab-vr","https://www.youtube.com/watch?v=oIzACzUwmVM",{"type":3,"title":32,"shortDescription":33,"description":34,"workStatus":35,"slug":36},"Runic Roots","A farming game meets a deckbuilder.","Build out your deck by growing and harvesting magical plants, then use your deck to defeat enemies.","active","runic-roots",{"type":3,"title":38,"shortDescription":39,"description":40,"hasGif":41,"workStatus":42,"slug":43},"Pogo Peaks","Climb a mountain using a pogo stick.","A physics-based climbing game where you use a pogo stick to ascend challenging peaks.",true,"icebox","pogo-peaks",{"type":3,"title":45,"shortDescription":46,"description":47,"workStatus":35,"slug":48},"Liars!","A physical card game about deception and deduction.","A social trivia game where players bluff, and try to catch others in their lies.","liars"],"uses":{}}]} diff --git a/games/detective-duck.html b/games/detective-duck.html new file mode 100644 index 0000000..7bf34ad --- /dev/null +++ b/games/detective-duck.html @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Detective Duck | codevogel 🐦 + + +
      Detective Duck banner image
      +

      Detective Duck

      +
      + +
      +

      What is Detective Duck?

      +

      Detective Duck is a 'whodunit' game that +experiments with real-time dialogue generation using ChatGPT for educational +applied games. The game is designed for +&Ranj, a Dutch game studio that specializes +in creating serious games. It is the result of my graduation thesis for the +Bachelor of Science in Game Development at the Amsterdam University of Applied +Sciences.

      +

      Continuing on this work, I wrote a paper titled

      +
      +

      Designing Meaningful AI-Generated Dialogue: The Behaviour-Driven Conditional +Prompting Framework for Serious Games

      +
      +

      which was published to and presented at the +European Conference on Games Based Learning (ECGBL) 2025) +in Levanger, Norway.

      +

      The paper can be read +here.

      +

      My contributions

      +

      Everything!

      +
        +
      • Game design
      • +
      • Art direction and asset creation
      • +
      • Research and development for the real-time dialogue generation system, +leveraging ChatGPT
      • +
      • Implementation of the dialogue system
      • +
      + + +
      + + diff --git a/games/liars.html b/games/liars.html new file mode 100644 index 0000000..a196d9f --- /dev/null +++ b/games/liars.html @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Liars! | codevogel 🐦 + + +
      Liars! banner image
      +

      Liars!

      🚧 This project is still under construction. I am currently actively building it, so stay tuned! 🚧
      +

      Liars! is a physical card game about deception and deduction.

      +

      It is a game that is designed for >= 3 players.

      +

      The game is about little known, yet true facts.

      +

      In this game, there is one deductor. The other players secretly get assigned a +role:

      +
        +
      • Truth-teller: Tells the truth about this fact.
      • +
      • Liar: Have no idea about the fact, and must make up a believable story.
      • +
      +

      The deductor must figure out who is telling the truth, and who is lying.

      +

      The game is currently in development, and will be available soon!

      + + +
      + + diff --git a/games/look-out.html b/games/look-out.html new file mode 100644 index 0000000..5035a04 --- /dev/null +++ b/games/look-out.html @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Look Out! | codevogel 🐦 + + +
      Look Out! banner image
      +

      Look Out!

      +

      Look Out! is a groundbreaking horror game that utilizes the Tobii Eye Tracker +system to create a spine-chilling experience. By tracking the player's eye +movements, the game introduces unique gameplay mechanics that can both +manipulate and terrify the player. The game begins innocently enough, with a +normal workday scenario, but quickly descends into a nightmarish reality. The +psychological terrors in this game are intensified by the eye tracking +mechanics. You'll be constantly aware of what you are looking at, and might even +start feeling like you're being watched yourself...

      +

      Look Out! Is a Horror Game incorporating the +Tobii Eye Tracker system.

      +

      This game was an exploratory prototype to see what effect eye-tracking could +have on gameplay.

      +

      Eye tracking can be used in two ways: You can determine whether the player is +physically looking at a certain object, but you can also determine whether the +player is not looking at an object.

      +

      This provides ample oppertunity to mess with the player phsycologically.

      +

      The game starts off as a regular, normal work day. The player receives an e-mail +and is tasked to pick up a few documents that need shredding from their +coworkers. The contents of these e-mails quickly grow more and more disturbing, +and something is clearly off...

      +

      After the player completes a few tasks, the entire office scene suddenly turns +into an otherworldy version of itself. The scene turns dark, red, and moody. +Coworkers are replaced by creatures that seem like your coworkers, but have +glowing red eyes that always seem to look directly at you. If you look at them +directly, they get disturbed and start chasing you.

      +

      Look at some images of how the game changes looks:

      +

      Before 1

      +

      After 1

      +

      Before 2

      +

      After 2

      +

      Exploring further, the player will come across hostile monsters which slowly +move towards you whenever you're not looking at them. These may remind you of +the Weeping Angles from Doctor Who. These force players to face their fears, as +the players need to look directly at these horrendous monsters to survive. +Finally, there are creatures which are only visible out of the corner of your +eye. They dissappear whenever the player looks at them, making it impossible to +get a good look at them. These add an extra layer of psychological terror, they +make the player feel watched, but the player can never truly figure out what was +watching them.. The player then receives a mysterious message, leading (or +luring ..?) them towards the dark basement. Would you dare to tread down those +steps?

      +

      My contributions

      +

      Everything!

      +
        +
      • Concept
      • +
      • Game and Level Design
      • +
      • Eye Tracking Integration
      • +
      • Asset Creation
      • +
      +

      Play it

      +

      Unfortunately, this game is not available for direct download. However, you can +clone the project from GitHub +and build it yourself. Please don't take that as an invitation to work on a +clone of this project without first getting written approval. For any further +questions, feel free to contact me.

      + + +
      + + diff --git a/games/ouija-tv.html b/games/ouija-tv.html new file mode 100644 index 0000000..b47286e --- /dev/null +++ b/games/ouija-tv.html @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ouija.TV | codevogel 🐦 + + +
      Ouija.TV banner image

      Ouija.TV

      +

      What is Ouija.TV?

      +

      Ouija.TV is an online multiplayer version of the classic board game. You +could create a lobby, share it with your friends, and let them answer your +questions as spirits!

      +

      It includes Twitch.TV chat integration, allowing streamers to play the game with +their viewers.

      +

      Can I play it?

      +

      Unfortunately, due to server costs, we had to shut it down. (for now)

      +

      If you're still interested in this project and would like to see it back online, +please contact me through my Contact page!

      +

      My contributions

      +
        +
      • Project lead.
      • +
      • Front end development.
      • +
      • Game logic and interface.
      • +
      • Visual design.
      • +
      + + +
      + + diff --git a/games/pogo-peaks.html b/games/pogo-peaks.html new file mode 100644 index 0000000..37cde02 --- /dev/null +++ b/games/pogo-peaks.html @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pogo Peaks | codevogel 🐦 + + +
      Pogo Peaks banner image

      Pogo Peaks

      🧊 This project is taking a break. It's in the icebox for now, but I hope to revisit it when the time feels right. 🧊
      +

      What is Pogo Peaks?

      +

      Prepare yourself for an adrenaline-fueled journey as you defy gravity and +conquer the daunting heights of a majestic mountain range using nothing but your +trusty pogo stick. A thrilling experience that combines skill, precision, and +the unyielding determination to reach the summit.

      + + +
      + + diff --git a/games/reggie.html b/games/reggie.html new file mode 100644 index 0000000..d20228f --- /dev/null +++ b/games/reggie.html @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reggie: The Game | codevogel 🐦 + + +
      Reggie: The Game banner image

      Reggie, his cousin, two scientists and most likely the end of the world

      + +
      + +
      + +

      What is Reggie?

      +

      "Reggie, his cousin, two scientists and most likely the end of the world” +is an adventure about time travel and its consequences. Its rich, quirky, plot +involves a grumpy scientist from the sixteenth century, black holes, time +travel, dinosaurs, a gnome University, alternative dark dimensions and an +unexpected final villain who likes the universe without science better. Humour +is a constant and frequent plot twists keep the player guessing about what will +happen next!

      + +

      _Note: I worked as an intern on this game, at +Degoma. CodeVogel.com does not own it's +intellectual rights. For more information on Reggie, please visit +https://www.reggiegame.com/ ).

      +

      My contributions

      +
        +
      • Programmed one of the boss fights in this game.
      • +
      • Developed a mechanic that generatively spreads fire around level geometry at +game-time.
      • +
      • Performed playtests and helped redesign levels.
      • +
      • Worked with the art team to alter the design.
      • +
      • Researched how the Reggie EP could best be translated to a mobile game.
      • +
      • Developed a prototype of this mobile game, which was presented to the team.
      • +
      + + +
      + + diff --git a/games/robotlab-vr.html b/games/robotlab-vr.html new file mode 100644 index 0000000..1ba5d03 --- /dev/null +++ b/games/robotlab-vr.html @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Robotlab VR | codevogel 🐦 + + +
      Robotlab VR banner image

      Robotlab VR

      + +
      + +
      + +

      What is Robotlab VR?

      +

      Robotlab VR was the first big VR project I worked on. At the Amsterdam +University of Applied Sciences' esteemed Robot Lab, we recognized the potential +dangers associated with working directly with robotic arms. To address these +concerns, we set out to create a tool that would allow students to practice and +refine their skills in a risk-free virtual setting.

      +

      The goal

      +

      The Robot Lab was coping with a limited availability of physical robots for +training purposes, and the potential for damage caused to those robots by +improper handling. With this in mind, we developed a serious game that provides +students with a safe and immersive training experience. The game allows learners +to navigate through various scenarios, honing their ability to control and +manipulate robotic arms before they ever step foot into a real-world laboratory. +They familiarize themselves with the usage of the Flexpendant - a controller +designed specifically to control such robots.

      +

      By simulating real-life situations, students can experiment, learn, and grow +without the fear of physical repercussions.

      +

      My contributions

      +

      I made a realistic model of the Flexpendant, and mapped the buttons and +joysticks so that the user experience is as close to the real thing as possible. +I implemented the physics of the robotic arm, and programmed a few of the +mini-games that students can play to practice their skills.

      +

      I also oversaw the art direction for this project, and composed some atmospheric +music for this project, enhancing the immersive experience. The aim was to +foster an ambiance that amplifies students' concentration and focus during their +virtual training sessions.

      + + +
      + + diff --git a/games/runic-roots.html b/games/runic-roots.html new file mode 100644 index 0000000..7658d13 --- /dev/null +++ b/games/runic-roots.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Runic Roots | codevogel 🐦 + + +
      Runic Roots banner image

      Runic Roots

      🚧 This project is still under construction. I am currently actively building it, so stay tuned! 🚧
      +

      Runic Roots is a game that combines elements of roguelike deckbuilders +with farming games.

      +

      In this game, players manage a magical farm where they grow mystical plants and +herbs imbued with runic energies. The plants on your farm are not just for show; +they provide you with a powerful deck of cards that you can use in combat to +defeat various enemies and bosses.

      + + +
      + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..848d541 --- /dev/null +++ b/index.html @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Home | codevogel 🐦 + + +
      codevogel logo head
      /ˈkoːdəˌvoːɣəl/

      A bird that enjoys programming.

      Find me on

      logo for /logos/svg/logo-github.svg
      logo for /logos/svg/logo-youtube.svg
      logo for /logos/svg/logo-linkedin.svg

      Work Experience

      Click on a job to see more details, or swipe to view past jobs

      Current Jobs

      logo for /logos/svg/logo-glu-square.svg
      Educator Creative +Software Engineering Utrecht, NL
      01/04/2024 - Present
      logo for /logos/svg/logo-superprof.svg
      Self-employed Tutor Amsterdam, NL
      01/09/2021 - Present

      Past Jobs

      logo for /logos/svg/logo-ranj.svg
      Thesis Intern: AI generated +dialogue for serious games Rotterdam, NL
      01/09/2023 - 01/02/2024
      logo for /logos/svg/logo-uva.svg
      Teaching Assistant: Minor Programming Amsterdam, NL
      01/09/2022 - 01/01/2024
      logo for /logos/svg/logo-degoma.svg
      Intern game design, development, and porting Amsterdam, NL
      01/09/2021 - 01/02/2022

      Skills

      Game Engines

      logo for /logos/svg/skills/logo-unity.svg
      logo for /logos/svg/skills/logo-unreal.svg
      logo for /logos/svg/skills/logo-godot.svg

      Design Tools

      logo for /logos/svg/skills/logo-blender.svg
      logo for /logos/svg/skills/logo-magicavoxel.svg
      logo for /logos/svg/skills/logo-material-maker.svg
      logo for /logos/svg/skills/logo-figma.svg
      logo for /logos/svg/skills/logo-illustrator.svg
      logo for /logos/svg/skills/logo-photoshop.svg
      logo for /logos/svg/skills/logo-substance-painter.svg
      logo for /logos/svg/skills/logo-lightroom.svg

      Technologies

      logo for /logos/svg/skills/logo-react.svg
      logo for /logos/svg/skills/logo-svelte.svg
      logo for /logos/svg/skills/logo-vue.svg
      logo for /logos/svg/skills/logo-tailwind.svg
      logo for /logos/svg/skills/logo-bootstrap.svg
      logo for /logos/svg/skills/logo-umbraco.svg
      logo for /logos/svg/skills/logo-xamarin.svg
      logo for /logos/svg/skills/logo-mysql.svg
      logo for /logos/svg/skills/logo-mongodb.svg
      logo for /logos/svg/skills/logo-drizzle.svg

      Programming Languages

      logo for /logos/svg/skills/logo-c.svg
      logo for /logos/svg/skills/logo-cplusplus.svg
      logo for /logos/svg/skills/logo-csharp.svg
      logo for /logos/svg/skills/logo-java.svg
      logo for /logos/svg/skills/logo-kotlin.svg
      logo for /logos/svg/skills/logo-python.svg
      logo for /logos/svg/skills/logo-lua.svg
      logo for /logos/svg/skills/logo-javascript.svg
      logo for /logos/svg/skills/logo-typescript.svg
      + + +
      + + diff --git a/app/static/logos/svg/logo-codevogel-head.svg b/logos/svg/logo-codevogel-head.svg similarity index 100% rename from app/static/logos/svg/logo-codevogel-head.svg rename to logos/svg/logo-codevogel-head.svg diff --git a/app/static/logos/svg/logo-codevogel-text.svg b/logos/svg/logo-codevogel-text.svg similarity index 100% rename from app/static/logos/svg/logo-codevogel-text.svg rename to logos/svg/logo-codevogel-text.svg diff --git a/app/static/logos/svg/logo-degoma.svg b/logos/svg/logo-degoma.svg similarity index 100% rename from app/static/logos/svg/logo-degoma.svg rename to logos/svg/logo-degoma.svg diff --git a/app/static/logos/svg/logo-github.svg b/logos/svg/logo-github.svg similarity index 100% rename from app/static/logos/svg/logo-github.svg rename to logos/svg/logo-github.svg diff --git a/app/static/logos/svg/logo-glu-square.svg b/logos/svg/logo-glu-square.svg similarity index 100% rename from app/static/logos/svg/logo-glu-square.svg rename to logos/svg/logo-glu-square.svg diff --git a/app/static/logos/svg/logo-linkedin.svg b/logos/svg/logo-linkedin.svg similarity index 100% rename from app/static/logos/svg/logo-linkedin.svg rename to logos/svg/logo-linkedin.svg diff --git a/app/static/logos/svg/logo-ranj.svg b/logos/svg/logo-ranj.svg similarity index 100% rename from app/static/logos/svg/logo-ranj.svg rename to logos/svg/logo-ranj.svg diff --git a/app/static/logos/svg/logo-superprof.svg b/logos/svg/logo-superprof.svg similarity index 100% rename from app/static/logos/svg/logo-superprof.svg rename to logos/svg/logo-superprof.svg diff --git a/app/static/logos/svg/logo-uva.svg b/logos/svg/logo-uva.svg similarity index 100% rename from app/static/logos/svg/logo-uva.svg rename to logos/svg/logo-uva.svg diff --git a/app/static/logos/svg/logo-youtube.svg b/logos/svg/logo-youtube.svg similarity index 100% rename from app/static/logos/svg/logo-youtube.svg rename to logos/svg/logo-youtube.svg diff --git a/app/static/logos/svg/skills/logo-blender.svg b/logos/svg/skills/logo-blender.svg similarity index 100% rename from app/static/logos/svg/skills/logo-blender.svg rename to logos/svg/skills/logo-blender.svg diff --git a/app/static/logos/svg/skills/logo-bootstrap.svg b/logos/svg/skills/logo-bootstrap.svg similarity index 100% rename from app/static/logos/svg/skills/logo-bootstrap.svg rename to logos/svg/skills/logo-bootstrap.svg diff --git a/app/static/logos/svg/skills/logo-c.svg b/logos/svg/skills/logo-c.svg similarity index 100% rename from app/static/logos/svg/skills/logo-c.svg rename to logos/svg/skills/logo-c.svg diff --git a/app/static/logos/svg/skills/logo-cplusplus.svg b/logos/svg/skills/logo-cplusplus.svg similarity index 100% rename from app/static/logos/svg/skills/logo-cplusplus.svg rename to logos/svg/skills/logo-cplusplus.svg diff --git a/app/static/logos/svg/skills/logo-csharp.svg b/logos/svg/skills/logo-csharp.svg similarity index 100% rename from app/static/logos/svg/skills/logo-csharp.svg rename to logos/svg/skills/logo-csharp.svg diff --git a/app/static/logos/svg/skills/logo-drizzle.svg b/logos/svg/skills/logo-drizzle.svg similarity index 100% rename from app/static/logos/svg/skills/logo-drizzle.svg rename to logos/svg/skills/logo-drizzle.svg diff --git a/app/static/logos/svg/skills/logo-figma.svg b/logos/svg/skills/logo-figma.svg similarity index 100% rename from app/static/logos/svg/skills/logo-figma.svg rename to logos/svg/skills/logo-figma.svg diff --git a/app/static/logos/svg/skills/logo-godot.svg b/logos/svg/skills/logo-godot.svg similarity index 100% rename from app/static/logos/svg/skills/logo-godot.svg rename to logos/svg/skills/logo-godot.svg diff --git a/app/static/logos/svg/skills/logo-illustrator.svg b/logos/svg/skills/logo-illustrator.svg similarity index 100% rename from app/static/logos/svg/skills/logo-illustrator.svg rename to logos/svg/skills/logo-illustrator.svg diff --git a/app/static/logos/svg/skills/logo-java.svg b/logos/svg/skills/logo-java.svg similarity index 100% rename from app/static/logos/svg/skills/logo-java.svg rename to logos/svg/skills/logo-java.svg diff --git a/app/static/logos/svg/skills/logo-javascript.svg b/logos/svg/skills/logo-javascript.svg similarity index 100% rename from app/static/logos/svg/skills/logo-javascript.svg rename to logos/svg/skills/logo-javascript.svg diff --git a/app/static/logos/svg/skills/logo-kotlin.svg b/logos/svg/skills/logo-kotlin.svg similarity index 100% rename from app/static/logos/svg/skills/logo-kotlin.svg rename to logos/svg/skills/logo-kotlin.svg diff --git a/app/static/logos/svg/skills/logo-lightroom.svg b/logos/svg/skills/logo-lightroom.svg similarity index 100% rename from app/static/logos/svg/skills/logo-lightroom.svg rename to logos/svg/skills/logo-lightroom.svg diff --git a/app/static/logos/svg/skills/logo-lua.svg b/logos/svg/skills/logo-lua.svg similarity index 100% rename from app/static/logos/svg/skills/logo-lua.svg rename to logos/svg/skills/logo-lua.svg diff --git a/app/static/logos/svg/skills/logo-magicavoxel.svg b/logos/svg/skills/logo-magicavoxel.svg similarity index 100% rename from app/static/logos/svg/skills/logo-magicavoxel.svg rename to logos/svg/skills/logo-magicavoxel.svg diff --git a/app/static/logos/svg/skills/logo-material-maker.svg b/logos/svg/skills/logo-material-maker.svg similarity index 100% rename from app/static/logos/svg/skills/logo-material-maker.svg rename to logos/svg/skills/logo-material-maker.svg diff --git a/app/static/logos/svg/skills/logo-mongodb.svg b/logos/svg/skills/logo-mongodb.svg similarity index 100% rename from app/static/logos/svg/skills/logo-mongodb.svg rename to logos/svg/skills/logo-mongodb.svg diff --git a/app/static/logos/svg/skills/logo-mysql.svg b/logos/svg/skills/logo-mysql.svg similarity index 100% rename from app/static/logos/svg/skills/logo-mysql.svg rename to logos/svg/skills/logo-mysql.svg diff --git a/app/static/logos/svg/skills/logo-photoshop.svg b/logos/svg/skills/logo-photoshop.svg similarity index 100% rename from app/static/logos/svg/skills/logo-photoshop.svg rename to logos/svg/skills/logo-photoshop.svg diff --git a/app/static/logos/svg/skills/logo-python.svg b/logos/svg/skills/logo-python.svg similarity index 100% rename from app/static/logos/svg/skills/logo-python.svg rename to logos/svg/skills/logo-python.svg diff --git a/app/static/logos/svg/skills/logo-react.svg b/logos/svg/skills/logo-react.svg similarity index 100% rename from app/static/logos/svg/skills/logo-react.svg rename to logos/svg/skills/logo-react.svg diff --git a/app/static/logos/svg/skills/logo-substance-painter.svg b/logos/svg/skills/logo-substance-painter.svg similarity index 100% rename from app/static/logos/svg/skills/logo-substance-painter.svg rename to logos/svg/skills/logo-substance-painter.svg diff --git a/app/static/logos/svg/skills/logo-svelte.svg b/logos/svg/skills/logo-svelte.svg similarity index 100% rename from app/static/logos/svg/skills/logo-svelte.svg rename to logos/svg/skills/logo-svelte.svg diff --git a/app/static/logos/svg/skills/logo-tailwind.svg b/logos/svg/skills/logo-tailwind.svg similarity index 100% rename from app/static/logos/svg/skills/logo-tailwind.svg rename to logos/svg/skills/logo-tailwind.svg diff --git a/app/static/logos/svg/skills/logo-typescript.svg b/logos/svg/skills/logo-typescript.svg similarity index 100% rename from app/static/logos/svg/skills/logo-typescript.svg rename to logos/svg/skills/logo-typescript.svg diff --git a/app/static/logos/svg/skills/logo-umbraco.svg b/logos/svg/skills/logo-umbraco.svg similarity index 100% rename from app/static/logos/svg/skills/logo-umbraco.svg rename to logos/svg/skills/logo-umbraco.svg diff --git a/app/static/logos/svg/skills/logo-unity.svg b/logos/svg/skills/logo-unity.svg similarity index 100% rename from app/static/logos/svg/skills/logo-unity.svg rename to logos/svg/skills/logo-unity.svg diff --git a/app/static/logos/svg/skills/logo-unreal.svg b/logos/svg/skills/logo-unreal.svg similarity index 100% rename from app/static/logos/svg/skills/logo-unreal.svg rename to logos/svg/skills/logo-unreal.svg diff --git a/app/static/logos/svg/skills/logo-vue.svg b/logos/svg/skills/logo-vue.svg similarity index 100% rename from app/static/logos/svg/skills/logo-vue.svg rename to logos/svg/skills/logo-vue.svg diff --git a/app/static/logos/svg/skills/logo-xamarin.svg b/logos/svg/skills/logo-xamarin.svg similarity index 100% rename from app/static/logos/svg/skills/logo-xamarin.svg rename to logos/svg/skills/logo-xamarin.svg diff --git a/app/static/pdf/resume-kamiel-de-visser.pdf b/pdf/resume-kamiel-de-visser.pdf similarity index 100% rename from app/static/pdf/resume-kamiel-de-visser.pdf rename to pdf/resume-kamiel-de-visser.pdf diff --git a/app/static/projects/games/detective-duck/README.md b/projects/games/detective-duck/README.md similarity index 100% rename from app/static/projects/games/detective-duck/README.md rename to projects/games/detective-duck/README.md diff --git a/app/static/projects/games/detective-duck/detective-duck.png b/projects/games/detective-duck/detective-duck.png similarity index 100% rename from app/static/projects/games/detective-duck/detective-duck.png rename to projects/games/detective-duck/detective-duck.png diff --git a/app/static/projects/games/liars/README.md b/projects/games/liars/README.md similarity index 100% rename from app/static/projects/games/liars/README.md rename to projects/games/liars/README.md diff --git a/app/static/projects/games/liars/liars.png b/projects/games/liars/liars.png similarity index 100% rename from app/static/projects/games/liars/liars.png rename to projects/games/liars/liars.png diff --git a/app/static/projects/games/look-out/README.md b/projects/games/look-out/README.md similarity index 100% rename from app/static/projects/games/look-out/README.md rename to projects/games/look-out/README.md diff --git a/app/static/projects/games/look-out/after-1.png b/projects/games/look-out/after-1.png similarity index 100% rename from app/static/projects/games/look-out/after-1.png rename to projects/games/look-out/after-1.png diff --git a/app/static/projects/games/look-out/after-2.png b/projects/games/look-out/after-2.png similarity index 100% rename from app/static/projects/games/look-out/after-2.png rename to projects/games/look-out/after-2.png diff --git a/app/static/projects/games/look-out/before-1.png b/projects/games/look-out/before-1.png similarity index 100% rename from app/static/projects/games/look-out/before-1.png rename to projects/games/look-out/before-1.png diff --git a/app/static/projects/games/look-out/before-2.png b/projects/games/look-out/before-2.png similarity index 100% rename from app/static/projects/games/look-out/before-2.png rename to projects/games/look-out/before-2.png diff --git a/app/static/projects/games/look-out/look-out.png b/projects/games/look-out/look-out.png similarity index 100% rename from app/static/projects/games/look-out/look-out.png rename to projects/games/look-out/look-out.png diff --git a/app/static/projects/games/ouija-tv/README.md b/projects/games/ouija-tv/README.md similarity index 100% rename from app/static/projects/games/ouija-tv/README.md rename to projects/games/ouija-tv/README.md diff --git a/app/static/projects/games/ouija-tv/ouija-tv.png b/projects/games/ouija-tv/ouija-tv.png similarity index 100% rename from app/static/projects/games/ouija-tv/ouija-tv.png rename to projects/games/ouija-tv/ouija-tv.png diff --git a/app/static/projects/games/pogo-peaks/README.md b/projects/games/pogo-peaks/README.md similarity index 100% rename from app/static/projects/games/pogo-peaks/README.md rename to projects/games/pogo-peaks/README.md diff --git a/app/static/projects/games/pogo-peaks/pogo-peaks.gif b/projects/games/pogo-peaks/pogo-peaks.gif similarity index 100% rename from app/static/projects/games/pogo-peaks/pogo-peaks.gif rename to projects/games/pogo-peaks/pogo-peaks.gif diff --git a/app/static/projects/games/reggie/README.md b/projects/games/reggie/README.md similarity index 100% rename from app/static/projects/games/reggie/README.md rename to projects/games/reggie/README.md diff --git a/app/static/projects/games/reggie/reggie.png b/projects/games/reggie/reggie.png similarity index 100% rename from app/static/projects/games/reggie/reggie.png rename to projects/games/reggie/reggie.png diff --git a/app/static/projects/games/robotlab-vr/README.md b/projects/games/robotlab-vr/README.md similarity index 100% rename from app/static/projects/games/robotlab-vr/README.md rename to projects/games/robotlab-vr/README.md diff --git a/app/static/projects/games/robotlab-vr/robotlab-vr.png b/projects/games/robotlab-vr/robotlab-vr.png similarity index 100% rename from app/static/projects/games/robotlab-vr/robotlab-vr.png rename to projects/games/robotlab-vr/robotlab-vr.png diff --git a/app/static/projects/games/runic-roots/README.md b/projects/games/runic-roots/README.md similarity index 100% rename from app/static/projects/games/runic-roots/README.md rename to projects/games/runic-roots/README.md diff --git a/app/static/projects/games/runic-roots/runic-roots.png b/projects/games/runic-roots/runic-roots.png similarity index 100% rename from app/static/projects/games/runic-roots/runic-roots.png rename to projects/games/runic-roots/runic-roots.png diff --git a/app/static/projects/tools/circuit-patch-converter/README.md b/projects/tools/circuit-patch-converter/README.md similarity index 100% rename from app/static/projects/tools/circuit-patch-converter/README.md rename to projects/tools/circuit-patch-converter/README.md diff --git a/app/static/projects/tools/circuit-patch-converter/circuit-patch-converter.png b/projects/tools/circuit-patch-converter/circuit-patch-converter.png similarity index 100% rename from app/static/projects/tools/circuit-patch-converter/circuit-patch-converter.png rename to projects/tools/circuit-patch-converter/circuit-patch-converter.png diff --git a/app/static/projects/tools/commit-for-me/README.md b/projects/tools/commit-for-me/README.md similarity index 100% rename from app/static/projects/tools/commit-for-me/README.md rename to projects/tools/commit-for-me/README.md diff --git a/app/static/projects/tools/commit-for-me/commit-for-me.png b/projects/tools/commit-for-me/commit-for-me.png similarity index 100% rename from app/static/projects/tools/commit-for-me/commit-for-me.png rename to projects/tools/commit-for-me/commit-for-me.png diff --git a/app/static/projects/tools/faux-3d-perspective-shader/README.md b/projects/tools/faux-3d-perspective-shader/README.md similarity index 100% rename from app/static/projects/tools/faux-3d-perspective-shader/README.md rename to projects/tools/faux-3d-perspective-shader/README.md diff --git a/app/static/projects/tools/faux-3d-perspective-shader/faux-3d-perspective-shader.gif b/projects/tools/faux-3d-perspective-shader/faux-3d-perspective-shader.gif similarity index 100% rename from app/static/projects/tools/faux-3d-perspective-shader/faux-3d-perspective-shader.gif rename to projects/tools/faux-3d-perspective-shader/faux-3d-perspective-shader.gif diff --git a/app/static/projects/tools/godot-doctor/README.md b/projects/tools/godot-doctor/README.md similarity index 100% rename from app/static/projects/tools/godot-doctor/README.md rename to projects/tools/godot-doctor/README.md diff --git a/app/static/projects/tools/godot-doctor/godot-doctor.md b/projects/tools/godot-doctor/godot-doctor.md similarity index 100% rename from app/static/projects/tools/godot-doctor/godot-doctor.md rename to projects/tools/godot-doctor/godot-doctor.md diff --git a/app/static/projects/tools/godot-doctor/godot-doctor.png b/projects/tools/godot-doctor/godot-doctor.png similarity index 100% rename from app/static/projects/tools/godot-doctor/godot-doctor.png rename to projects/tools/godot-doctor/godot-doctor.png diff --git a/app/static/projects/tools/mkp5/README.md b/projects/tools/mkp5/README.md similarity index 100% rename from app/static/projects/tools/mkp5/README.md rename to projects/tools/mkp5/README.md diff --git a/app/static/projects/tools/mkp5/mkp5.png b/projects/tools/mkp5/mkp5.png similarity index 100% rename from app/static/projects/tools/mkp5/mkp5.png rename to projects/tools/mkp5/mkp5.png diff --git a/app/static/projects/tools/peck/README.md b/projects/tools/peck/README.md similarity index 100% rename from app/static/projects/tools/peck/README.md rename to projects/tools/peck/README.md diff --git a/app/static/projects/tools/peck/peck.png b/projects/tools/peck/peck.png similarity index 100% rename from app/static/projects/tools/peck/peck.png rename to projects/tools/peck/peck.png diff --git a/app/static/projects/tools/pls/README.md b/projects/tools/pls/README.md similarity index 100% rename from app/static/projects/tools/pls/README.md rename to projects/tools/pls/README.md diff --git a/app/static/projects/tools/pls/pls.png b/projects/tools/pls/pls.png similarity index 100% rename from app/static/projects/tools/pls/pls.png rename to projects/tools/pls/pls.png diff --git a/app/static/robots.txt b/robots.txt similarity index 100% rename from app/static/robots.txt rename to robots.txt diff --git a/app/static/sounds/codevogel-en-f.mp3 b/sounds/codevogel-en-f.mp3 similarity index 100% rename from app/static/sounds/codevogel-en-f.mp3 rename to sounds/codevogel-en-f.mp3 diff --git a/app/static/sounds/codevogel-en-m.mp3 b/sounds/codevogel-en-m.mp3 similarity index 100% rename from app/static/sounds/codevogel-en-m.mp3 rename to sounds/codevogel-en-m.mp3 diff --git a/app/static/sounds/codevogel-nl-f.mp3 b/sounds/codevogel-nl-f.mp3 similarity index 100% rename from app/static/sounds/codevogel-nl-f.mp3 rename to sounds/codevogel-nl-f.mp3 diff --git a/app/static/sounds/codevogel-nl-m.mp3 b/sounds/codevogel-nl-m.mp3 similarity index 100% rename from app/static/sounds/codevogel-nl-m.mp3 rename to sounds/codevogel-nl-m.mp3 diff --git a/tools.html b/tools.html new file mode 100644 index 0000000..fd8a79f --- /dev/null +++ b/tools.html @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tools | codevogel 🐦 + + +

      Tools

      Here, you can find all the tools I've worked on!

      Click on a tool to find out more about it.

      Godot Doctor preview image

      A powerful validation plugin for Godot that catches errors before they reach runtime. Validate scenes, nodes, and resources using a declarative, test-driven approach. No @tool required!

      Commit for me preview image

      A command-line tool that leverages AI to generate conventional commit messages based on your code changes. Easily customizable to your own needs. Save time and maintain consistency in your commit history.

      Peck preview image

      peck is a screen capture tool for Wayland. It provides easy ways to capture screenshots, record your screen, and optionally convert outputs to different formats. peck isn't a tool that tries to reinvent the wheel. Rather, it's just a simple wrapper bash script that makes interfacing with grim and wf-recorder easier.

      Faux 3D Perspective Shader preview image

      A versatile shader for Godot that simulates a faux 3D perspective effect. Perfect for creating depth and immersion in 2D games, this shader can be easily customized to fit your art style and game design needs.

      mkp5 preview image

      A command-line tool that streamlines the creation of p5.js projects. With mkp5, you can quickly set up a new p5.js project with a single command.

      pls preview image

      Project Level Shortcuts (pls) is a command-line tool that allows you to create, manage, and execute custom context-aware aliases for frequently used commands using portable .pls.yml files.

      Circuit Patch Converter preview image

      Converts patches from the old Novation Circuit format to the new Circuit format, bringing back backwards compatability.

      + + +
      + + diff --git a/tools/__data.json b/tools/__data.json new file mode 100644 index 0000000..563c2ec --- /dev/null +++ b/tools/__data.json @@ -0,0 +1 @@ +{"type":"data","nodes":[null,{"type":"data","data":[{"projects":1},[2,11,19,27,36,43,50],{"type":3,"title":4,"shortDescription":5,"description":6,"slug":7,"readmeURL":8,"githubRawURL":9,"githubURL":10},"tool","Godot Doctor","A plugin that helps you validate your scenes in Godot.","A powerful validation plugin for Godot that catches errors before they reach runtime. Validate scenes, nodes, and resources using a declarative, test-driven approach. No @tool required!","godot-doctor","https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/addons/godot_doctor/README.md","https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/","https://github.com/codevogel/godot_doctor",{"type":3,"title":12,"shortDescription":13,"description":14,"slug":15,"readmeURL":16,"githubRawURL":17,"githubURL":18},"Commit for me","Generate coventional commit messages with AI.","A command-line tool that leverages AI to generate conventional commit messages based on your code changes. Easily customizable to your own needs. Save time and maintain consistency in your commit history.","commit-for-me","https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/","https://github.com/codevogel/commit-for-me",{"type":3,"title":20,"shortDescription":21,"description":22,"slug":23,"readmeURL":24,"githubRawURL":25,"githubURL":26},"Peck","📷 Easily capture Screenshots / Screen Recordings on Wayland.","peck is a screen capture tool for Wayland. It provides easy ways to capture screenshots, record your screen, and optionally convert outputs to different formats. peck isn't a tool that tries to reinvent the wheel. Rather, it's just a simple wrapper bash script that makes interfacing with grim and wf-recorder easier.","peck","https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/peck/refs/heads/main/","https://github.com/codevogel/peck",{"type":3,"title":28,"shortDescription":29,"description":30,"slug":31,"readmeURL":32,"githubRawURL":33,"hasGif":34,"githubURL":35},"Faux 3D Perspective Shader","A shader that creates a faux 3D perspective effect in Godot.","A versatile shader for Godot that simulates a faux 3D perspective effect. Perfect for creating depth and immersion in 2D games, this shader can be easily customized to fit your art style and game design needs.","faux-3d-perspective-shader","https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/faux-3d-perspective-shader-godot/refs/heads/main/",true,"https://github.com/codevogel/faux-3d-perspective-shader-godot",{"type":3,"title":37,"shortDescription":38,"description":39,"slug":37,"readmeURL":40,"githubRawURL":41,"githubURL":42},"mkp5","Creates p5.js projects from the command line.","A command-line tool that streamlines the creation of p5.js projects. With mkp5, you can quickly set up a new p5.js project with a single command.","https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/","https://github.com/codevogel/mkp5",{"type":3,"title":44,"shortDescription":45,"description":46,"slug":44,"readmeURL":47,"githubRawURL":48,"githubURL":49},"pls","pls centralize aliases! Unify your workflow with context-aware alias management.","Project Level Shortcuts (pls) is a command-line tool that allows you to create, manage, and execute custom context-aware aliases for frequently used commands using portable .pls.yml files.","https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/","https://github.com/codevogel/pls",{"type":3,"title":51,"shortDescription":52,"description":53,"slug":54,"readmeURL":55,"githubRawURL":56,"githubURL":57},"Circuit Patch Converter","Converts patches between different formats for the Novation Circuit.","Converts patches from the old Novation Circuit format to the new Circuit format, bringing back backwards compatability.","circuit-patch-converter","https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/README.md","https://raw.githubusercontent.com/codevogel/CircuitPatchConverter/refs/heads/main/","https://github.com/codevogel/CircuitPatchConverter"],"uses":{}}]} diff --git a/tools/circuit-patch-converter.html b/tools/circuit-patch-converter.html new file mode 100644 index 0000000..43aa14a --- /dev/null +++ b/tools/circuit-patch-converter.html @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Circuit Patch Converter | codevogel 🐦 + + +
      Circuit Patch Converter banner image

      CircuitPatchConverter

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      Circuit Patch converter takes in a .circuittrackspack (or other .zip file), +extracts the patches and converts these to the OG circuit format. +It does this by altering the 5th hexadecimal value from 64 to 60.

      +

      Requirements:

      +
        +
      1. Python 3.6+
      2. +
      +

      Step by step example:

      +
        +
      1. Clone this repository or download it as a .zip
      2. +
      3. (Extract zip to a directory)
      4. +
      5. Put your .circuittrackspack files in a folder called 'Packs' (like someDir\CircuitPatchConverter\Packs)
      6. +
      7. cd to someDir\CircuitPatchConverter\
      8. +
      9. Launch the script using python circuit-convert.py -i ./Packs/example.circuittrackspack
      10. +
      11. Find your newly converted patches in someDir\CircuitPatchConverter\Patches
      12. +
      +

      Please note: this program will overwrite existing .syx files in the output folder. If you are converting multiple packs one by one, be sure to alter the output directory using the -o option.

      +

      Usage:

      +

      python circuit-convert.py -i <inputfile> \[-o <outputfile> -p <pathinzip> -h <help>\]

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      shortlongnamedescriptiondefault
      -i--inputinput fileThe file path of the .circuittrackspack or .zip to extract.N/A
      -o--outputoutput fileThe path of the folder to extract the converted patches to../Patches/
      -p--pathinzippath in zip filePath to folder in the zip file that contains the patches.patches/
      -h--helphelpShows the help message.N/A
      + + +
      + + diff --git a/tools/commit-for-me.html b/tools/commit-for-me.html new file mode 100644 index 0000000..cf654ae --- /dev/null +++ b/tools/commit-for-me.html @@ -0,0 +1,621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Commit for me | codevogel 🐦 + + +
      Commit for me banner image

      cfme

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      Commit for me! 🤖 Generate commit messages using aichat.

      +

      Uses the conventional-commits standard by default, but is easily customizable +to your own needs.

      +

      Just run cfme after staging your changes, and it will generate a commit message +using AI, prompt you to review and edit it, then commit it for you.

      +

      Demo 🎥

      +

      cfme demo

      +
      +

      There is also a demo available showing how to use cfme from within +Lazygit. +Jump to the Lazygit Integration section below.

      +
      +

      Features ✨

      +
        +
      • AI-Powered Commit Messages - Leverages modern AI models +(OpenAI GPT, GitHub Copilot) to analyze your staged changes and generate +meaningful commit messages
      • +
      • Interactive Review & Selection - Uses fzf to let you choose from +multiple AI-generated candidates, then edit before committing
      • +
      • Conventional Commits by Default - Follows the +conventional-commits standard +out of the box for consistent, parseable commit history
      • +
      • Fully Customizable - Bring your own prompts, variables, and commit +message standards - cfme adapts to your team's workflow
      • +
      • Template-Based Prompts - Simple <__MY_VARIABLE__> syntax for injecting +git diffs, test results, custom instructions, or any command output into your prompts
      • +
      • Multiple Prompt Types - Switch between different commit message standards +(conventional-commits, your-team-standard, etc.) with a single environment variable
      • +
      • Runtime Instructions - Pass specific context with -i "Fixed login bug" +to guide the AI without editing prompt files
      • +
      • Pipe-Friendly Output - Use -r or -m flags to output messages for +integration with other tools and workflows
      • +
      • Free Tier Available - Works with GitHub Copilot's free tier (everyone +with a GitHub account has access)
      • +
      • Cross-Platform - Works on macOS, Linux, and Windows (via WSL/Git Bash/Cygwin)
      • +
      • Tested - Uses Shellspec +unit tests to ensure reliability and correctness
      • +
      +

      Quick Start 🚀

      +
        +
      1. +

        Install dependencies:

        + +

        e.g. using Homebrew/Linuxbrew brew install aichat fzf yq

        +
      2. +
      3. +

        Install cfme:

        +
        curl -sSL https://github.com/codevogel/cfme/releases/download/latest/cfme
        +chmod +x cfme
        +sudo mv cfme /usr/local/bin # or any directory, as long as it's in your $PATH
        +
        +
      4. +
      5. +

        Setup aichat credentials (just run aichat and follow the prompts)

        +
        +

        ℹ️ Note: You can get your GitHub 'API Key' by creating a +Personal Access Token (classic) +with Copilot scope.

        +
        +
      6. +
      7. +

        Stage some changes: git add .

        +
      8. +
      9. +

        Run cfme to generate commit message: cfme

        +
      10. +
      + + + +

      Table of Contents

      + + + +

      Usage

      +
      cfme [OPTIONS]
      +cfme --help | -h
      +cfme --version
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      OptionShortArgumentDescriptionNotes
      --instructions-iINSTRUCTIONSAn optional brief set of instructions to pass the AI, to help it generate commit message candidates. Replaces template string <__INSTRUCTIONS__> in the prompt file.
      --prompt-file-pFILE_PATHOverrides the default prompt by reading from a specified file.
      --variables-file-vFILE_PATHOverrides path for the prompt variables file ($CFME_PROMPT_VARIABLES_FILE) by reading from a specified file.
      --response-r(none)Prints the direct response from the AI, instead of prompting to review response and then committing. Used for piping the response into other tools.Conflicts with --message
      --message-m(none)Prints the reviewed commit message instead of committing. Used for piping the reviewed message into other tools.Conflicts with --response
      --silent-s(none)Suppresses all non-error output. Also possible through the $CFME_SILENT_MODE environment variable.
      --print-parsed-prompt(none)(none)Prints the parsed prompt after replacing template strings with variable values, then exits. Useful for debugging.
      +

      Examples

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      CommandDescription
      cfmeGenerate, review, and commit using the defaults.
      cfme -i "Fix issue with user login"Overrides the <__INSTRUCTIONS__> template string — useful for helping the AI figure out what message to generate.
      cfme -p "https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/my-custom-prompt.md"Overrides the default prompt file.
      cfme -v "https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/my-custom-variables.yaml"Overrides the default variables file.
      cfme -mGenerates and reviews a commit message, but echoes it instead of committing.
      cfme -rsGenerates a response to the prompt, then echoes the raw response instead of reviewing and committing, suppressing all non-error output.
      cfme -si "<Instructions>" -p "https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/my-prompt.md" -v "https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/my-variables.yaml"Generates a raw response to the prompt, replacing the <__INSTRUCTIONS__> template string, using a custom prompt file and variables file, while suppressing all non-error output.
      + +

      Installation

      +

      The Quick Start section above provides a quick way to setup cfme. +What follows is a more detailed explanation of the installation process.

      +
        +
      1. +

        Install dependencies:

        +

        cfme depends on the following command-line tools. Please refer to their +respective installation instructions for your platform.

        +
          +
        • aichat +
            +
          • This serves as the interface to various AI chat models, including +OpenAI's GPT models and GitHub Copilot.
          • +
          +
        • +
        • fzf +
            +
          • This is used to provide an interactive fuzzy search interface to +select from the commit message candidates generated by the AI.
          • +
          +
        • +
        • yq (from mikefarah) +
            +
          • This is used to parse the YAML variables file for use in the prompt.
          • +
          • Note: There are two popular yq tools, make sure to install the one from +mikefarah, as the syntax differs between the two, and you might run into +issues otherwise.
          • +
          +
        • +
        +

        Brew is a convenient way to install all of the dependencies +on macOS and Linux, but feel free to use any other method you prefer.

        +
        brew install aichat fzf yq
        +
        +
      2. +
      3. +

        Install cfme: +Download the latest release binary from the +Releases page, +make it executable, and move it to a directory in your $PATH.

        +

        On Unix-like systems, you can do this with the following commands:

        +
        curl -sSL https://github.com/codevogel/cfme/releases/download/latest/cfme
        +chmod +x cfme
        +sudo mv cfme /usr/local/bin # or any directory, as long as it's in your $PATH
        +
        +

        On Windows, it is important to know that cfme is a shell script written +in bash, so you will need to have a bash environment set up, e.g. through +WSL or, +Git Bash (which comes with Git), +Cygwin, +mingw-64 etc.

        +
      4. +
      5. +

        Setup aichat credentials: +Run aichat and follow the prompts to set up your AI chat model and API Key.

        +
          +
        • +

          For GitHub Copilot, you can get your 'API Key' by creating a +Personal Access Token (classic). +Be sure to give this token the Copilot scope. +Everyone who has a GitHub account has access to the GitHub Copilot Free plan. +You may hit limits with this plan, however.

          +

          Educators, students, and open source contributors may be eligible for +free access to GitHub Copilot Pro. See this page +for more information.

          +
        • +
        • +

          aichat supports a bunch of different AI providers, such as OpenAI GPT, +Claude, and more.

          +
        • +
        • +

          Choose a model wisely: For example, GPT-4 mini generates faster commit message +faster, whereas GPT-4 probably writes more accurate messages.

          +
        • +
        +
      6. +
      7. +

        Stage some changes: +cfme generates commit messages based on the staged changes in your git repository. +Note that changed files aren't yet staged, so you need to stage them first using +git add <file>. +(You can optionally alter your prompt to include unstaged changes if you want +to, see the 'Customization' section below for more information.)

        +
      8. +
      9. +

        Run cfme to generate commit message: +Simply run cfme in your terminal while in the git repository with staged changes. +Follow the prompts to review and edit the generated commit message, then +confirm to commit it.

        +

        Be sure to check out the 'Customization' section below +to learn how to customize the prompt and variables to your own needs, +and check out the 'Usage' section to learn about the available options, +such as passing instructions to the AI on what the commit is about, piping +the output to other tools, and more.

        +
      10. +
      +

      Customization

      +

      Not happy with the default prompt or variables?

      +

      cfme is designed to be customizable to your needs.

      +

      Simply create your own prompt at $CFME_CONFIG_DIR/$CFME_PROMPT_DIR/$CFME_PROMPT_TYPE/<your-prompt>.md +and/or your own variables file at $CFME_CONFIG_DIR/$CFME_PROMPT_DIR/$CFME_PROMPT_TYPE/<your-variables>.yaml. +then set $CFME_DEFAULT_PROMPT_FILE and/or $CFME_PROMPT_VARIABLES_FILE to +point to your custom files, or use the -p and -v flags to specify them at runtime.

      +

      $CFME_PROMPT_TYPE will determine the subdirectory in the $CFME_PROMPT_DIR +directory by default, allowing you to quickly switch between different prompt +types (e.g. conventional-commits, or any other standard your team uses).

      +

      Example:

      +
        +
      1. +

        Say you want to create a custom prompt for your own commit message standard, +you could do the following:

        +
          +
        • Prompt file: ~/.config/cfme/prompts/my-commit-standard/default.md
        • +
        • Variables file: ~/.config/cfme/prompts/my-commit-standard/default-vars.yaml
        • +
        • Environment variables:
        • +
        +
        export CFME_PROMPT_TYPE="my-commit-standard"
        +
        +

        Or just use the flags:

        +
        cfme -p "path/to/custom/prompt.md" -v "path/to/custom/vars.yaml"
        +
        +
      2. +
      3. +

        Say you want to use the conventional-commits standard, but with your own custom +prompt and variables, you could do the following:

        +
          +
        • +

          Prompt file: ~/.config/cfme/prompts/conventional-commits/my-custom-prompt.md

          +
        • +
        • +

          Variables file: ~/.config/cfme/prompts/conventional-commits/my-custom-vars.yaml

          +
        • +
        • +

          Environment variables:

          +
          export CFME_DEFAULT_PROMPT_FILE="$CFME_PROMPT_DIR/$CFME_PROMPT_TYPE/my-custom-prompt.md"
          +export CFME_PROMPT_VARIABLES_FILE="$CFME_PROMPT_DIR/$CFME_PROMPT_TYPE/my-custom-vars.yaml"
          +
          +

          Or just use the flags:

          +
        • +
        +
        cfme -p "path/to/custom/prompt.md" -v "path/to/custom/vars.yaml"
        +
        +
      4. +
      +
      +

      ℹ️ If the specified $CFME_DEFAULT_PROMPT_FILE or $CFME_PROMPT_VARIABLES file +does not yet exist, cfme will attempt to fetch these files from the /defaults +folder in this repository. This requires $CFME_PROMPT_TYPE to be set to the default +value of conventional-commits. See the 'Environment Variables' section below +for more information.

      +
      +

      Writing a custom prompt file

      +

      cfme uses a prompt file in markdown format, in which you can write your prompt +that will be sent to the AI.

      +

      cfme will parse your prompt file, replacing any template strings in the format +of <__MY_TEMPLATE_STRING__> with the corresponding values from your variables file.

      +

      There are three special template strings that cfme recognizes by default:

      +
        +
      • <__GIT_DIFF__> (required): Replaced with the output of git diff --cached +(i.e. the staged changes)
      • +
      • <__RESPONSE_FORMAT_REQUIREMENTS__> (required): Replaced with a list of requirements +that dictates how the AI should format its response. This is essential so +that cfme can parse the AI's response. +Note that these requirements merely dictate the format of the response, they +do not influence the requirements for the commit message itself.
      • +
      • <__INSTRUCTIONS__> (optional): Replaced with any instructions passed via the +[-i|--instructions] flag. +
          +
        • If no instructions are provided, this template string is replaced with an +empty string.
        • +
        • You can leave out this template string from your prompt file if you don't +plan to use it.
        • +
        +
      • +
      +
      +

      ℹ️cfme will warn you if you have template strings in your prompt file that +are not defined in your variables file, and vice versa, it will warn you if +you have variables defined that are not used in your prompt file.

      +
      +

      For example, the simplest prompt file could look like this:

      +
      Generate a commit message for the following changes:
      +<__GIT_DIFF__>
      +<__RESPONSE__REQUIREMENTS__>
      +

      A more complex prompt file could look like this:

      +
      You are an expert software developer who writes clear and concise commit messages.
      +Your task is to generate a commit message based on the following instructions,
      +if present:
      +<__INSTRUCTIONS__>
      +The commit message should follow these guidelines:
      +<__COMMIT_MESSAGE_GUIDELINES__>
      +Here are the changes that need to be committed:
      +<__GIT_DIFF__>
      +Generate <__NUM_COMMIT_MESSAGES__> commit message candidates that adheres to the
      +above guidelines.
      +Here are the test results for the changes:
      +<__TEST_RESULTS__>
      +<__RESPONSE__REQUIREMENTS__>
      +

      See below for how to write the corresponding variables file.

      +

      Writing a variables file

      +

      The variables file is a simple YAML file that defines key-value pairs +for use in your prompt file. +You can either define literal strings (single or multi-line), or +command (sequences) that will be evaluated, and their output used as the value.

      +

      A valid variables file must have a top-level key vars, which contains +an array of variable definitions.

      +

      A variable definition

      +
        +
      • must have a template_string key, which defines the +template string to be replaced in the prompt file (including the <__ and +__> delimiters).
      • +
      • must have either a +
          +
        • value key, which defines the literal string value to replace the +template string with, or
        • +
        • value_from key, which defines a command (sequence) to be executed. +The output of those commands is used as the value to replace the template +string with.
        • +
        +
      • +
      +

      For example, the variables file corresponding to the above complex prompt +could look like this:

      +
      vars:
      +  - template_string: "<__COMMIT_MESSAGE_GUIDELINES__>"
      +    value: |
      +      - Use the imperative mood in the subject line.
      +      - Limit the subject line to 50 characters.
      +      - Wrap the body at 72 characters.
      +      - Use the body to explain what and why vs. how.
      +  - template_string: "<__NUM_COMMIT_MESSAGES__>"
      +    value: "3"
      +  - template_string: "<__TEST_RESULTS__>"
      +    value_from: "pnpm test:unit --reporter=summary"
      +
      +
      +

      ℹ️ If you want to do so, you can use define default <__INSTRUCTIONS__> +variable in your variables file, which you can overwrite by passing the +[-i|--instructions] flag at runtime. +You can also just leave out the <__INSTRUCTIONS__> template string +from the variables file, and cfme will replace it with an empty string +if no instructions are provided at runtime.

      +
      +

      Environment Variables

      +

      cfme supports the following environment variables for configuration:

      +
      CFME_CONFIG_DIR
      +    default: ${XDG_CONFIG_HOME:-$HOME/.config}/cfme
      +    help: Directory to store configuration files for Commit For Me
      +CFME_PROMPT_DIR
      +    default: ${CFME_CONFIG_DIR}/prompts
      +    help: Directory to store prompt files for Commit For Me
      +CFME_PROMPT_TYPE
      +    default: conventional-commits
      +    help: The default subfolder to process prompts from.
      +CFME_DEFAULT_PROMPT_FILE
      +    default: ${CFME_PROMPT_DIR}/${CFME_PROMPT_TYPE}/default.md
      +    help: Path to the default prompt file for generating commit messages
      +          (overridden by --file flag)
      +CFME_DEFAULT_PROMPT_VARIABLES_FILE
      +    default: ${CFME_PROMPT_DIR}/${CFME_PROMPT_TYPE}/default-vars.yaml
      +    help: Path to the file containing prompt variables.
      +CFME_SILENT_MODE
      +    default: "false"
      +    help: If set to true, suppresses all non-error output.
      +          (the [-s|--silent] flag does the same)
      +
      +

      Recommendations:

      +
        +
      • keep CFME_CONFIG_DIR and CFME_PROMPT_DIR at their default values, +unless you have a specific reason to change them.
      • +
      • set CFME_PROMPT_TYPE to the prompt type you want to use by default +(e.g. conventional-commits), if you have multiple prompt types set up. +(see Customization section above for more information)
      • +
      • keep the structure of CFME_DEFAULT_PROMPT_FILE and +CFME_DEFAULT_PROMPT_VARIABLES_FILE as is, (i.e. keep the +${CFME_PROMPT_DIR}/${CFME_PROMPT_TYPE}/ prefix)
      • +
      +

      For advanced users, you can also set where cfme fetches the default files +from, should they not exist on your system. This requires $CFME_PROMPT_TYPE +to be set something other than conventional-commits. +This is useful if you maintain your own fork with custom default prompts you want +to use.

      +
      CFME_DEFAULT_PROMPT_FILE_FETCH_URL
      +    default: https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/defaults/prompts/conventional-commits/default.md
      +    help: URL used to fetch the default prompt file if it does not exist locally.
      +CFME_DEFAULT_PROMPT_VARIABLES_FILE_FETCH_URL
      +    default: https://raw.githubusercontent.com/codevogel/commit-for-me/refs/heads/main/defaults/prompts/conventional-commits/default-vars.yaml
      +    help: URL used to fetch the default prompt variables file if
      +          it does not exist locally.
      +
      +

      Integration into other tools

      +

      Lazygit

      +

      Lazygit is awesome. +But cfme allows you to be even lazier! You can use cfme +from within Lazygit's TUI to generate commit messages:

      +

      cfme lazygit demo

      +

      Just add the following custom command to your Lazygit config file +(e.g. ~/.config/lazygit/config.yml):

      +
      customCommands:
      +  - key: "<c-a>"
      +    description: "generate message candidates and commit using cfme"
      +    command: "cfme"
      +    context: "files"
      +    loadingText: "Generating commit message with cfme..."
      +    subprocess: true
      +
      +

      And now, use lazygit to stage your changes, then just press Ctrl+a +to run cfme and generate a commit message for the staged changes!

      +

      Other tools

      +

      As cfme is just a bash script, you can easily integrate it into +other tools and workflows. +Have a look at the Lazygit section above for an example +of how to do this.

      +

      The -r and -m flags are especially interesting for integration +into other tools, as they allow you to pipe the AI-generated +response or the reviewed commit message into other tools, instead +of committing it directly.

      +

      The -p and -v flags allow you to specify custom prompt +and variables files, which is useful if you want to have +different prompts for different workflows.

      +

      I'm sure you can come up with many more use cases! +If you ever get stuck integrating cfme into your workflow, +or if you need an additional feature to make the integration easier, +feel free to ask for help. Just open up an issue!

      +

      Contributing

      +

      If you would like to contribute to this project, you're more than welcome +to do so! +Feel free to open up issues or submit pull requests.

      +

      Example contributions include:

      +
        +
      • Wrote a prompt that you think delivers awesome results? Share it as a +new prompt type!
      • +
      • Found a way to improve the default prompt or variables? Submit a PR!
      • +
      • Added a new feature or fixed a bug? Pull request welcome!
      • +
      • Want to improve the documentation? Contributions are welcome!
      • +
      +

      See CONTRIBUTING.md for more information on how to contribute.

      +

      License

      +

      This project is licensed under the MIT License. See the LICENSE +file for details.

      + + +
      + + diff --git a/tools/faux-3d-perspective-shader.html b/tools/faux-3d-perspective-shader.html new file mode 100644 index 0000000..3318069 --- /dev/null +++ b/tools/faux-3d-perspective-shader.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Faux 3D Perspective Shader | codevogel 🐦 + + +
      Faux 3D Perspective Shader banner image

      Faux 3D Perspective Shader for 2D Canvas Items in Godot

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      (originally released on Godot Shaders)

      +

      WHAT IS IT?

      +

      An improvement on Hei's 2d-perspective shader.

      +

      The most important difference to note in this shader are:

      +
        +
      • This shader uses updated syntax (Compatible with Godot 4.4+)
      • +
      • It adds a parameter 'use_front' that allows for the Canvas Item to have a front and the back side.
      • +
      • The UV's will scale so the textures are applied as you would expect any other 3D object to behave.
      • +
      • It adds an example use case script for simulating 3D cards in a 2D card game, which uses the shader applied on a SubViewportContainer, allowing you to layout the cards with 2D UI elements while retaining their 3D looks.
      • +
      +

      The shader code can be found here.

      +

      EFFECT

      +

      Effect Demo

      +

      USAGE

      +

      The best way to explore this shader's usage is to clone this project and open it in Godot 4.4+.

      +

      General Usage

      +
        +
      1. Create a new ShaderMaterial and assign this shader to it.
      2. +
      3. Apply the ShaderMaterial to a CanvasItem, such as a TextureRect or SubViewportContainer.
      4. +
      5. Adjust the shader parameters to achieve the desired perspective effect.
      6. +
      +

      Card Game Example

      +
        +
      1. Create a new SubViewportContainer node.
      2. +
      3. Add a SubViewport as a child of the SubViewportContainer.
      4. +
      5. Add a VBoxContainer as a child of the SubViewport.
      6. +
      7. Add a TextureRect as a child of the VBoxContainer. This will be used to display the card art.
      8. +
      9. Add a CardContents node as a child of the VBoxContainer. This will be used to display any UI elements on the card.
      10. +
      11. Add any Controls of your liking to the CardContents node.
      12. +
      13. Assign the Faux 3D Perspective shader to a ShaderMaterial and assign it to the SubViewportContainer's material property.
      14. +
      +

      See the Card.gd script below for an example of how to control the shader parameters and switch between front and back art based on rotation. +The latest version can be found in Card.gd, but here is a copy for convenience:

      +
      # An example of a simulating a 3D card with a 2D TextureRect
      +# using the Faux 3D Perspective shader by CodeVogel (https://github.com/codevogel/faux-3d-perspective-shader-godot)
      +@tool
      +extends SubViewportContainer
      +class_name Card
      +
      +@export var front_art: Texture2D = preload("uid://d0cdfxs15e68h"):
      +	set(value):
      +		front_art = value
      +		_refresh()
      +@export var back_art: Texture2D = preload("uid://d2qctukn38v5q"):
      +	set(value):
      +		back_art = value
      +		_refresh()
      +@export var cull_backface: bool = false
      +
      +@onready var art_texture_rect: TextureRect = $SubViewport/ArtTextureRect
      +@onready var card_contents: Control = $SubViewport/CardContents
      +
      +@export_range(1, 120, 1) var simulated_camera_fov: float = 60:
      +	set(value):
      +		simulated_camera_fov = value
      +		_refresh()
      +@export_range(-360, 360, 1) var rotation_y: float = 0.0:
      +	set(value):
      +		rotation_y = value
      +		_refresh()
      +@export_range(-360, 360, 1) var rotation_x: float = 0.0:
      +	set(value):
      +		rotation_x = value
      +		_refresh()
      +
      +
      +func _get_configuration_warnings() -> PackedStringArray:
      +	var warnings: PackedStringArray = []
      +	if not front_art:
      +		warnings.append("Front art texture is not assigned.")
      +	if cull_backface:
      +		if back_art:
      +			warnings.append(
      +				"Back art texture will not be visible because backface culling is enabled."
      +			)
      +	elif not back_art:
      +		warnings.append("Back art texture is not assigned.")
      +	if not (material is ShaderMaterial):
      +		warnings.append("CardArt requires a ShaderMaterial to function properly.")
      +	return warnings
      +
      +
      +func _ready():
      +	if not Engine.is_editor_hint():
      +		_refresh()
      +
      +
      +func _refresh():
      +	if not (material is ShaderMaterial):
      +		return
      +	if not card_contents or not art_texture_rect:
      +		return
      +	var shader_material := material as ShaderMaterial
      +	shader_material.set_shader_parameter("rot_y_deg", rotation_y)
      +	shader_material.set_shader_parameter("rot_x_deg", rotation_x)
      +	shader_material.set_shader_parameter("cull_backface", cull_backface)
      +	shader_material.set_shader_parameter("fov", simulated_camera_fov)
      +	_refresh_texture()
      +
      +
      +func _refresh_texture():
      +	if not front_art or not back_art:
      +		return
      +
      +	var rot_x_deg = wrapf(rotation_x, 0, 360)
      +	var rot_y_deg = wrapf(rotation_y, 0, 360)
      +	var front_facing_over_x = rot_x_deg < 90 or rot_x_deg > 270
      +	var front_facing_over_y = rot_y_deg < 90 or rot_y_deg > 270
      +	var use_front = front_facing_over_y == front_facing_over_x
      +	card_contents.visible = use_front
      +	art_texture_rect.texture = front_art if use_front else back_art
      +	material.set_shader_parameter("use_front", use_front)
      +

      LICENSE

      +

      MIT License

      +

      See the Example Project on GitHub for more details.

      + + +
      + + diff --git a/tools/godot-doctor.html b/tools/godot-doctor.html new file mode 100644 index 0000000..06d371a --- /dev/null +++ b/tools/godot-doctor.html @@ -0,0 +1,731 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Godot Doctor | codevogel 🐦 + + +
      Godot Doctor banner image

      Godot Doctor 👨🏻‍⚕️🩺

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      A powerful validation plugin for Godot that catches errors before they reach +runtime. Validate scenes, nodes, and resources using a declarative, test-driven +approach, in either gdscript or C#. No @tool required!

      + +

      <img src="https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/github_assets/png/godot_doctor_logo.png" width="256" alt="godot doctor logo"https://raw.githubusercontent.com/codevogel/godot_doctor/refs/heads/main/>

      +

      See Godot Doctor in action:

      +

      Godot Doctor Example Gif

      +

      Quickstart 🚀

      +

      You can download Godot Doctor +directly from the Editor through the Asset Library.

      +

      Or, by manual installation:

      +
        +
      1. +

        Download the source code .zip from the +latest release.

        +
      2. +
      3. +

        Copy the addons/godot_doctor folder to your project's addons/ directory. +(Optional:) If you don't use C# in your project, you can safely delete the +addons/godot_doctor/core/csharp and the +addons/godot_doctor/examples/csharp directories.

        +
      4. +
      5. +

        Enable the plugin in Project Settings > Plugins

        +
      6. +
      7. +

        (Optional:) Adjust the settings asset in addons/godot_doctor/settings.

        +
      8. +
      +

      Table of Contents

      + +

      What is Godot Doctor?

      +

      Godot Doctor is a Godot plugin that validates your scenes and nodes using a +declarative, test-driven approach. Instead of writing procedural warning code, +you define validation conditions using callables that focus on validation logic +first, with error messages as metadata.

      +

      Why Use Godot Doctor?

      +

      No-code default validations

      +

      Realistically, when you add any @export variables, you don't want them to stay +unassigned. Nor do you want to @export a string only for it to stay empty. But +we often forget to assign a value to these. So, new in Godot Doctor v1.1 are +default validation conditions:

      +

      Godot Doctor will validate any nodes that have scripts attached to them (and any +opened resource), scan it's @export properties, and automatically reports on +unassigned objects and empty strings, without even needing to write a single +line of validation code!

      +
      +

      ℹ️ You can turn off default validations alltogether in the settings asset, or +you can add scripts to the ignore list, which will only disable default +validations for those specific scripts.

      +
      +

      No @tool Required

      +

      Unlike +_get_configuration_warnings(), +Godot Doctor works without requiring the +@tool +annotation on your scripts. This means that you no longer have to worry about +your gameplay code being muddied by editor-specific logic.

      +

      See the difference for yourself:

      +

      Before and After Godot Doctor

      +

      Or how about this:

      +

      Before and After Godot Doctor

      +

      Our gameplay code stays much more clean and focused!

      + +
      + + +More examples + +

      C# Wrapper example

      +

      C# Wrapper resource example

      +
      +

      Verify type of PackedScene

      +

      Godot has a problem with PackedScene type safety. +We can not strongly type PackedScenes. +This means that you may want to instantiate a scene that represents a Friend, +but accidentally assign an Enemy scene instead. Oops! Godot Doctor can +validate the type of a PackedScene, ensuring that the root of the scene that +you are instancing is of the expected type (e.g. has a script attached of that +type), before you even run the game.

      +

      GDscript:

      +
      ## Example: A validation condition that checks whether the `PackedScene`
      +##          variable `scene_of_foo_type` is of type `Foo`.
      +ValidationCondition.is_scene_of_type(scene_of_foo_type, Foo)
      +

      C#:

      +
      // Example: A validation condition that checks whether the `PackedScene`
      +// variable `PackedSceneOfFooType` is of type `Foo`.
      +ValidationCondition.IsSceneOfType<Foo>(PackedSceneOfFooType)
      +
      + +
      + + +For verifying the type of an inherited `PackedScene`, you can use any of the +following search strategies provided by the `ValidationCondition` class: + +
      enum InheritanceSearchStrategy {
      + ## Only consider the root node of the PackedScene referenced,
      + ## regardless of whether it has a script or not.
      + ## i.e. the root node of the directly referenced scene,
      + ## even if it has a scene as a parent scene.
      + DIRECT,
      + ## Only consider the very topmost root node of the PackedScene's inheritance chain,
      + ## regardless of whether it has a script or not.
      + ## i.e. the root node of the base scene that has no further parents.
      + TOPMOST_ROOT,
      + ## Only consider the first root node in the PackedScene's inheritance chain,
      + ## that has a script attached.
      + ## i.e. the root node of the first parent scene that has a script, starting
      + ## from the directly referenced scene and moving up the inheritance chain.
      + FIRST_SCRIPT_ROOT,
      + ## Only consider the last root node in the PackedScene's inheritance chain,
      + ## that has a script attached.
      + ## i.e. the root node of the last parent scene that has a script.
      + LAST_SCRIPT_ROOT
      +}
      +
      +
      +

      Automatic Scene Validation

      +

      Validations run automatically when you save scenes, providing immediate feedback +during development. Errors are displayed in a dedicated dock, and you can click +on them to navigate directly to the problematic nodes.

      +

      Godot Doctor Example Gif

      +

      Validate Nodes AND Resources

      +

      Godot Doctor can not only validate nodes in your scene, but Resource scripts +can define their own validation conditions as well. Very useful for validating +whether your resources have conflicting data (i.e. a value that is higher than +the maximum value), or missing references (i.e. an empty string, or a missing +texture).

      +

      Test-Driven Validation

      +

      Godot Doctor encourages you to write validation logic that resembles unit tests +rather than write code that returns strings containing warnings. This +encourages:

      +
        +
      • Testable validation logic
      • +
      • Organized code
      • +
      • Better maintainability
      • +
      • Human-readable validation conditions
      • +
      • Separation of concerns between validation logic and error messages
      • +
      +

      Declarative Syntax

      +

      Where _get_configuration_warnings() makes you write code that generates +strings, Godot Doctor lets you design your validation logic separately from the +error messages, making it easier to read and maintain.

      +

      Syntax

      +

      GDscript:

      +

      Just add a _get_validation_conditions() method script that returns an array of +ValidationCondition objects to any .gd script:

      +
      func _get_validation_conditions() -> Array[ValidationCondition]:
      +  return [
      +    ValidationCondition.new(
      +      func(): return health > 0,
      +      "Health must be greater than 0"
      +    ),
      +    ValidationCondition.simple(
      +      health > 0,
      +      "Health must be greater than 0"
      +    ),
      +    ValidationCondition.is_scene_of_type(scene_of_foo_type, Foo)
      +  ]
      +

      Note: You do not need to add @tool to Node scripts for this to work, so you +can keep your gameplay code clean and focused! However, if you want to validate +a Resource script, you will need to add @tool to that script, due to +engine limitations. However, Resource scripts don't need to be guarded against +running editor code in runtime, so the @tool annotation should be all you +need.

      +

      C#:

      +

      Implement the IValidatable interface and a public implementation of the +GetValidationConditions() method that returns a Godot.Collections.Array. +(This interface is optional, but it makes it easier to implement consistently).

      +

      Create an System.Array<VAlidationCondition> of +GodotDoctor.Core.Primitives.ValidationCondition objects, then convert it to a +Godot.Collections.Array using the ToGodotArray() extension method:

      +
      public Array GetValidationConditions()
      +{
      +   ValidationCondition[] conditions =
      +   [
      +      new ValidationCondition(
      +         () => InitialHealth > 0,
      +         "Initial health must be greater than 0"
      +      ),
      +      ValidationCondition.Simple(
      +         InitialHealth > 0,
      +         "Initial health must be greater than 0"
      +      ),
      +      ValidationCondition.IsSceneOfType<Foo>(SceneOfFooType)
      +   ];
      +   return conditions.ToGodotArray();
      +}
      +
      +

      Note: Just like with GDScript, you do not need to add the [Tool] attribute to +Node scripts for this to work, so you can keep your gameplay code clean and +focused! However, if you want to validate a Resource script, you will need +to add the [Tool] attribute to that script, due to engine limitations. +However, Resource scripts don't need to be guarded against running editor code +in runtime, so the [Tool] attribute should be all you need.

      +

      ValidationCondition

      +

      The core of Godot Doctor is the ValidationCondition class, which takes a +callable and an error message:

      +

      GDscript:

      +
      # Basic validation condition
      +var condition = ValidationCondition.new(
      +    func(): return health > 0,
      +    "Health must be greater than 0"
      +)
      +

      C#:

      +
      // Basic validation condition in C#
      +var condition = new ValidationCondition(
      +  () => health > 0,
      +  "Health must be greater than 0"
      +);
      +
      +

      Optionally, you can also pass one of three severity levels (INFO, WARNING, +ERROR) as a third argument, which will adjust at what level of severity the +error is reported in the Godot Doctor dock:

      +

      GDscript:

      +
      # Validation condition with severity level
      +var condition = ValidationCondition.new(
      +    func(): return health > 0,
      +    "Health must be greater than 0",
      +    ValidationCondition.Severity.ERROR
      +)
      +

      C#:

      +
      // Validation condition with severity level in C#
      +var condition = new ValidationCondition(
      +  () => health > 0,
      +  "Health must be greater than 0",
      +  ValidationCondition.Severity.ERROR
      +);
      +
      +

      Simple validations

      +

      For basic boolean validations, use the convenience simple() method, allowing +you to skip the func() wrapper:

      +

      GDscript:

      +
      # Equivalent to the above, but more concise
      +var condition = ValidationCondition.simple(
      +    health > 0,
      +    "Health must be greater than 0"
      +)
      +

      C#:

      +
      // Equivalent to the above, but more concise in C#
      +var condition = ValidationCondition.Simple(
      +  health > 0,
      +  "Health must be greater than 0"
      +);
      +
      +

      Predefined Common Validation Conditions

      +

      There's also a bunch of often-used validation conditions available as static +methods on the ValidationCondition class, such as is_scene_of_type, +is_instance_valid, is_string_not_empty, and more, which saves you time +writing common validation logic.

      +

      You can find them all in +the ValidationCondition class

      +

      Reuse validation logic with Callables

      +

      Using Callables allows you to reuse common validation methods:

      +

      GDscript:

      +
      func _is_more_than_zero(value: int) -> bool:
      +  return value > 0
      +
      +var condition = ValidationCondition.simple(
      +  _is_more_than_zero(health),
      +  "Health must be greater than 0"
      +)
      +

      C#:

      +
      private bool IsMoreThanZero(int value)
      +{
      +  return value > 0;
      +}
      +
      +var condition = ValidationCondition.Simple(
      +  IsMoreThanZero(health),
      +  "Health must be greater than 0"
      +);
      +
      +

      Abstract Away Complex Logic

      +

      Or abstract away complex logic into separate methods:

      +

      GDscript:

      +
      var condition = ValidationCondition.new(
      +  complex_validation_logic,
      +  "Complex validation failed"
      +)
      +
      +func complex_validation_logic() -> bool:
      + # Complex logic here
      +

      C#:

      +
      var condition = new ValidationCondition(
      +  ComplexValidationLogic(value),
      +  "Complex validation failed"
      +);
      +
      +// C# implementation of the complex logic in a separate method
      +private static bool ComplexValidationLogicImplementation(int value) {
      +  // Complex logic here
      +};
      +
      +// Wrapper function to return a Godot Variant from the implementation
      +private static System.Func<Variant> ComplexValidationLogic(int value) => () => ComplexValidationLogicImplementation(value);
      +
      +
      +
      +

      Nested Validation Conditions

      +

      Making use of variatic typing, Validation conditions can return arrays of other +validation conditions, allowing you to nest validation logic where needed:

      +

      GDscript:

      +
      ValidationCondition.new(
      +  func() -> Variant:
      +  if not is_instance_valid(weapon_resource):
      +  # We return false in case the weapon resource is null
      +  return false
      +  # or an array of this resource's conditions in case it is valid.
      +  return weapon_resource.get_validation_conditions(),
      +  "Weapon resource validation failed"
      +)
      +

      C#:

      +
      new ValidationCondition(
      +   () =>
      +   {
      +      if (IsInstanceValid(WeaponResource))
      +      {
      +         return WeaponResource.GetValidationConditions();
      +      }
      +      return false;
      +   },
      +   "Weapon resource is not valid."
      +)
      +
      +

      IValidatable Interface

      +

      The C# wrapper also includes a IValidatable interface that you can implement +on your C# scripts, which makes it easier to add validation conditions to your +script without needing to remember the exact method signature of +GetValidationConditions():

      +
      public partial class ExampleMyEnemy : Node, IValidatable
      +{
      +   /// <summary>The health value the enemy starts with.</summary>
      +   [Export]
      +   public int InitialHealth { get; set; } = 120;
      +
      +   /// <summary>The maximum health value the enemy can have.</summary>
      +   [Export]
      +   public int MaxHealth { get; set; } = 100;
      +
      +   public Array GetValidationConditions()
      +   {
      +      ValidationCondition[] conditions =
      +      [
      +         ValidationCondition.Simple(
      +            InitialHealth <= MaxHealth,
      +            "Initial health should not be greater than max health."
      +         ),
      +      ];
      +      return conditions.ToGodotArray();
      +   }
      +}
      +
      +

      Running Godot Doctor on the CLI

      +

      Godot Doctor can be run from the command line, allowing you to integrate it into +your CI/CD pipeline or run it as a standalone validation tool. While using it in +the editor provides real-time feedback, running it on the CLI can be useful for +automated checks during development or before commits, ensuring your entire +project adheres to your validation rules.

      +

      To run Godot Doctor on the CLI:

      +
        +
      1. +

        Create a GodotDoctorValidationSuite resource in your project. By default, +it will generatively collect all scenes and resources in your project. You +can also exclude specific scripts or directories in the suite asset from this +collection process, or create multiple custom validation suites that only +validate specific scenes or resources.

        +
        +

        ℹ️ There is an +example that goes +more in depth on how to set up validation suites.

        +
        +
      2. +
      3. +

        Assign the suite resource to the validation_suites property of the +GodotDoctorSettings resource +(addons/godot_doctor/settings/godot_doctor_settings.tres).

        +
      4. +
      5. +

        run Godot Doctor on the CLI, use the following command:

        +
        godot --headless --editor --quit-after 30 -- --run-godot-doctor
        +
        +
        +

        ℹ️ The --quit-after 30 flag is used to ensure that Godot exits after 30 +seconds, just in case there the plugin doesn't initialize properly. You can +adjust this timer as needed.

        +
        +
      6. +
      +

      The output is presented in a tree structure, making it easy to identify which +scenes and nodes have validation issues:

      +

      cli-output-example

      +

      The CLI output exits with a non-zero status code if any validation conditions +fail, making it easy to integrate into CI/CD pipelines.

      +
      +

      Currently, there is no proper built-in way to have an EditorPlugin wait for +the editor to finish initializing when running in headless mode. There is an +open proposal +to address this, but until then, timing the run of the CLI is a bit hacky.

      +

      So as a workaround, the plugin currently detects this through an internal +editor hook (_set_window_layout). However, this hook is not guaranteed to +fire in all environments. For example, on some CI runners there is no saved +editor layout, and the _set_window_layout may not be called. To handle this, +Godot Doctor provides two fallback timer settings in the GodotDoctorSettings +resource (addons/godot_doctor/settings/godot_doctor_settings.tres). +fallback_cli_delay_before_start determines how long to wait for the editor +hook to fire before starting validation regardless of editor initialization, +and fallback_cli_delay_before_quit determines how long to allow the +validation run to execute before force-quitting with exit code 1. This +ensures that the CLI validation process doesn't hang indefinitely if something +goes wrong. (Note that these timeouts are separate from the --quit-after +flag passed to Godot, which is used for when the plugin doesn't initialize at +all.) You can adjust these timeouts as needed based on the expected +initialization time of your project, to save on runner minutes.

      +
      +

      CI/CD Integration

      +

      You can integrate Godot Doctor into your CI/CD pipeline (e.g., GitHub Actions, +GitLab CI, Jenkins) to automatically validate your project on every push or pull +request. This helps catch issues early and maintain code quality across your +team.

      +

      An example GitHub Actions workflow may look like this:

      +
      name: "Godot Doctor"
      +
      +on:
      +  # Allow the workflow to be triggered manually from the GitHub Actions tab
      +  workflow_dispatch:
      +  # Trigger the workflow on push to any branch
      +  push:
      +    branches: ["**"]
      +  # Trigger the workflow on pull request to any branch
      +  pull_request:
      +    branches: ["**"]
      +
      +jobs:
      +  # This job runs the Godot Doctor CLI to analyze the project and (optionally) generate a report
      +  godot-doctor:
      +    name: "Run Godot Doctor CLI 🩺"
      +    runs-on: ubuntu-latest
      +    steps:
      +      # Checkout the repository to access the Godot project files
      +      - uses: "actions/checkout@v6.0.2"
      +      # Install Godot
      +      - name: "Install Godot"
      +        run: |
      +          GODOT_VERSION="4.6.1"
      +          wget -q "https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip"
      +          unzip -q "Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip"
      +          mv "Godot_v${GODOT_VERSION}-stable_linux.x86_64" /usr/local/bin/godot
      +          chmod +x /usr/local/bin/godot
      +      # Import the project first to ensure that it is ready for analysis.
      +      - name: Import project
      +        # This quits as soon as the project is imported, which is sufficient
      +        # for preparing the project for analysis
      +        # We use `--quit-after 30` as a failsafe so the runner doesn't hang
      +        # indefinitely if something goes wrong during importing
      +        # You may want to adjust this timeout if you find that your project
      +        # takes longer than 30 seconds to import.
      +        run: godot --headless --editor --quit --quit-after 30
      +      - name: "Run Godot Doctor CLI"
      +        # Now we run Godot Doctor again, this time running Godot Doctor through the CLI.
      +        # Again, we use `--quit-after 30` as a failsafe to prevent hanging indefinitely.
      +        run: godot --headless --editor --quit-after 30 -- --run-godot-doctor
      +      # Optional: When using the `enable_xml_report` setting, you can upload
      +      # the generated XML report as an artifact for later analysis
      +      - name: "Upload Godot Doctor Report"
      +        # Run regardless of the success or failure of the previous step,
      +        # as we want to know the results of Godot Doctor even if
      +        # it finds issues in the project, and thus fails the previous step.
      +        if: always()
      +        uses: actions/upload-artifact@v7
      +        with:
      +          # The name of the artifact can be anything you like.
      +          # Here we use "godot-doctor-report" for clarity.
      +          name: godot-doctor-report
      +          # The path to the generated XML report.
      +          # This should match the path you configured in the settings resource.
      +          path: tests/reports/godot_doctor_report.xml
      +      # Optional: You can also summarise the report in the workflow logs for a quick overview.
      +      # (See the next section 'Generating a JUnit-like XML Report' for more details
      +      #  on the XML report and how to generate it.)
      +      - name: Summarise report
      +        if: always()
      +        # The contents of this script can be found in the `cli_example` example.
      +        run:
      +          python3 .github/workflows/scripts/godot_doctor_job_summary_reporter.py
      +
      +

      Placing this file at .github/workflows/godot_doctor.yaml in your repository +will set up the workflow to run on every push and pull request, installing +Godot, importing the project, and executing Godot Doctor in headless mode. If +any validation conditions fail, the workflow will exit with a non-zero status, +causing the check to fail and alerting the developers to the issues that need to +be addressed.

      +

      You can setup GitHub to require this check to pass before allowing pull requests +to be merged, ensuring that all code merged into your main branches adheres to +your validation rules.

      +

      Generating a JUnit-like XML Report

      +

      In addition to the console output, you can configure Godot Doctor to generate a +JUnit-like XML report of the validation results. This makes it easier to parse +the results of the report in later stages of your CI/CD pipeline, such as +generating a +Job Summary +that shows the validation results in a human-readable format directly in the +GitHub Actions UI. (An example of such a script is found in the +cli_example.)

      +

      To enable XML report generation, set the export_xml_report property to true +in the GodotDoctorSettings resource. Optionally, you can also specify the +output directory and filename for the XML report using the +xml_report_output_dir (default: res://tests/reports/) and +xml_report_filename (default: godot_doctor_report.xml). properties.

      +
      +

      ℹ️ Don't forget to add the output directory to your .gitignore, as you +likely don't want to commit generated reports to your repository.

      +
      +

      The XML report option will generate a report as such:

      +
      <?xml version="1.0" encoding="UTF-8"?>
      +<testsuites tests="7" messages="9" failures="8" harderrors="4" warnings="4" infos="1" timestamp="2026-03-21T12:21:11">
      +  <testsuite name="example_validation_suite.tres" path="res://addons/godot_doctor/examples/cli_example/example_validation_suite.tres" tests="7" messages="9" failures="8" harderrors="4" warnings="4" infos="1">
      +    <testcase name="general_example.tscn" path="res://addons/godot_doctor/examples/gdscript/general_example/general_example.tscn" type="scene" tests="5" messages="6" failures="5" harderrors="3" warnings="2" infos="1">
      +      <node name="FooSpawner" path="MyGame/FooSpawner" messages="2" failures="2" harderrors="1" warnings="1" infos="0">
      +        <harderror>packed_scene_of_foo_type is not a valid instance.</harderror>
      +        <warning type="promoted_to_error">packed_scene_of_foo_type is null.</warning>
      +      </node>
      +      <node name="MyEnemy" path="MyGame/MyEnemy" messages="1" failures="1" harderrors="0" warnings="1" infos="0">
      +        <warning type="promoted_to_error">Initial health should not be greater than max health.</warning>
      +      </node>
      +      <node name="PlayerController" path="MyGame/PlayerController" messages="1" failures="1" harderrors="1" warnings="0" infos="0">
      +        <harderror>player is not a valid instance.</harderror>
      +      </node>
      +      <node name="Player" path="MyGame/Player" messages="1" failures="0" harderrors="0" warnings="0" infos="1">
      +        <info>Player name longer than 12 characters may cause UI issues.</info>
      +      </node>
      +      <node name="WeaponSpawner" path="MyGame/WeaponSpawner" messages="1" failures="1" harderrors="1" warnings="0" infos="0">
      +        <harderror>weapon_resource is not a valid instance.</harderror>
      +      </node>
      +    </testcase>
      +    <testcase name="example_scene_foo_type.tscn" path="res://addons/godot_doctor/examples/gdscript/general_example/example_scene_foo_type.tscn" type="scene" tests="1" messages="0" failures="0" harderrors="0" warnings="0" infos="0">
      +    </testcase>
      +    <testcase name="example_weapon.tres" path="res://addons/godot_doctor/examples/gdscript/general_example/example_weapon.tres" type="resource" tests="1" messages="3" failures="3" harderrors="1" warnings="2" infos="0">
      +      <resource name="example_weapon.tres" path="res://addons/godot_doctor/examples/gdscript/general_example/example_weapon.tres" messages="3" failures="3" harderrors="1" warnings="2" infos="0">
      +        <harderror>sprite is not a valid instance.</harderror>
      +        <warning type="promoted_to_error">Damage should be a positive value.</warning>
      +        <warning type="promoted_to_error">Melee reach should not be greater than ranged reach.</warning>
      +      </resource>
      +    </testcase>
      +  </testsuite>
      +</testsuites>
      +
      +

      The xml report is JUnit-like, meaning it follows a structure somewhat +similar to the XML reports generated by testing frameworks like JUnit. Godot +Doctor takes some liberties with the structure to better fit the validation +context, so here's a breakdown of the structure:

      +
        +
      • The top-level element is <testsuites>, which collects all the validation +suites that were run.
      • +
      • Each <testsuite> element represents a GodotDoctorValidationSuite resource, +tallying up the statistics for all the scenes and resources that were +validated as part of that suite. The name attribute corresponds to the name +of the suite resource, and the path attribute indicates the file path to +that resource.
      • +
      • Inside each <testsuite>, there are <testcase> elements, which represent +individual scenes or resources that were validated. The name attribute is +the name of the scene or resource, the path attribute is the file path to +that scene or resource, and the type attribute indicates whether it's a +scene or a resource.
      • +
      • Within each <testcase>, there are either <node> elements or <resource> +elements, depending on the type of the testcase. +
          +
        • <node> elements represent individual nodes in a scene that had validation +messages reported. The name attribute is the name of the node, and the +path attribute is the node's path within the scene.
        • +
        • <resource> elements represent individual resources that had validation +messages reported. The name attribute is the name of the resource, and the +path attribute is the file path to that resource.
        • +
        +
      • +
      • Inside each <node> or <resource>, there are <harderror>, <warning>, +and <info> elements, which represent the individual validation messages that +were reported for that node or resource. The text content of these elements is +the error message associated with the validation condition that failed.
      • +
      • Each <testsuites>, <testsuite>, <testcase>, <node>, and <resource> +element includes attributes that tally up the total number of tests, messages, +failures, hard errors, warnings, and infos that were reported at that level of +the hierarchy.
      • +
      +

      How It Works

      +
        +
      1. Automatic Discovery: When you save a scene, Godot Doctor scans all nodes +for @export properties and a _get_validation_conditions() method
      2. +
      3. Instance Creation: For non-@tool scripts, temporary instances are +created to run validation logic
      4. +
      5. Condition Evaluation: Each validation condition's callable is executed
      6. +
      7. Error Reporting: Failed conditions display their error messages in the +Godot Doctor dock
      8. +
      9. Navigation: Click on errors in the dock to navigate directly to the +problematic nodes
      10. +
      +

      Examples

      +

      There are many examples available that help you better understand how to use +Godot Doctor in your project, and how to write validation conditions for +different use cases. You can find them all in +the examples README.

      +

      Installation

      +
        +
      1. Copy the addons/godot_doctor folder to your project's addons/ directory
      2. +
      3. Enable the plugin in Project Settings > Plugins
      4. +
      5. The Godot Doctor dock will appear in the editor's left panel
      6. +
      7. use_default_validations is on by default in the settings resource +(addons/godot_doctor/settings/godot_doctor_settings.tres), so it will start +reporting any of the default validations as +soon as you save a scene.
      8. +
      9. Start adding custom validations by adding a _get_validation_conditions() +method to your scripts, then save your scenes to see validation results!
      10. +
      +

      License

      +

      Godot Doctor is released under the MIT License. See the LICENSE file for +details.

      +

      Attribution

      +

      If you end up using Godot Doctor in your project, a line in your credits would +be very much appreciated! 🐦

      +

      Contributing, Bug Reports & Feature Requests

      +

      Godot Doctor is open-source and welcomes any contributions! Feel free to open +issues or submit pull requests on +GitHub.

      + + +
      + + diff --git a/tools/mkp5.html b/tools/mkp5.html new file mode 100644 index 0000000..1ac33e0 --- /dev/null +++ b/tools/mkp5.html @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mkp5 | codevogel 🐦 + + +
      mkp5 banner image

      mkp5

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      Initialize a p5.js project from the command line! 🐦

      +

      This script creates all the necessary files for a p5.js project, including an index.html, sketch.js, and style.css file. You can choose a directory to create the p5 project in (default: current directory, aka .), and the name of the sketch (default: sketch).

      +

      Quick Start 🚀

      +
      curl -O https://raw.githubusercontent.com/codevogel/mkp5/refs/heads/main/mkp5
      +chmod +x mkp5
      +./mkp5 [directory] [sketch name]
      +
      +

      Installation and Usage 🔧

      +

      ℹ️ This assumes you are running Linux or Windows Subsystem for Linux (WSL).

      +
        +
      1. +

        git clone this repository, or download the mkp5 file directly.

        +
      2. +
      3. +

        Make the file executable:

        +
      4. +
      +
      chmod +x the/path/to/mkp5
      +
      +
        +
      1. (Optional): Add the file to your PATH. For example, when using bash:
      2. +
      +
      echo "export PATH=\$PATH:/the/path/to/mkp5" >> ~/.bashrc
      +
      +

      Don't forget source your .bashrc (or simply restart your terminal).

      +
      source ~/.bashrc
      +
      +
        +
      1. If you completed step 3, you can now run mkp5 from anywhere!
      2. +
      +
      mkp5 [directory] [sketch name]
      +
      +

      If you didn't complete step 3, you can run the script like this:

      +
      /the/path/to/mkp5 [directory] [sketch name]
      +
      +

      (Note that if you did not complete step 3, and are trying to run mkp5 from the current directory, you'll have to prepend ./ to the script name.)

      +
      ./mkp5 [directory] [sketch name]
      +
      +

      Examples 📙

      +
      mkp5
      +
      +

      Creates index.html, sketch.js, and style.css files in the current directory.

      +
      mkp5 my-p5-project
      +
      +

      Creates index.html, sketch.js, and style.css files in ./my-p5-project

      +
      mkp5 my-p5-project my-sketch
      +
      +

      Creates index.html, my-sketch.js, and style.css files in ./my-p5-project

      +

      Contributing 🤝

      +

      Feel free to fork this repository and submit a PR if you have any improvements, features or bug fixes!

      + + +
      + + diff --git a/tools/peck.html b/tools/peck.html new file mode 100644 index 0000000..d54fe50 --- /dev/null +++ b/tools/peck.html @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Peck | codevogel 🐦 + + +
      Peck banner image

      peck

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      peck is a screen capture tool for Wayland. It provides easy ways to +capture screenshots, record your screen, and optionally convert outputs to +different formats.

      +

      peck isn't a tool that tries to reinvent the wheel. Rather, it's just a simple +wrapper bash script that makes interfacing with grim and wf-recorder easier.

      +

      Features

      +
        +
      • Capture screenshots or record your screen by region.
      • +
      • Start and stop recordings easily.
      • +
      • Save to default directories, temporary directories, or a custom path.
      • +
      • Copy output directly to the clipboard.
      • +
      • Convert recordings to various formats (mp4, gif, webm, etc.) using ffmpeg.
      • +
      • Optionally sends notifications using libnotify about the capture status.
      • +
      +

      Installation

      +

      Quick setup

      +
        +
      1. Install the dependencies.
      2. +
      3. Download peck from the +releases
      4. +
      5. Optional: Add peck to your $PATH.
      6. +
      7. Optional: Add keybinds for peck to your window manager. (Not required if +you just want to run peck through the CLI.
      8. +
      +

      Dependencies

      +

      Since peck is just a simple bash script, be sure to have bash installed on +your system.

      +

      Then install these external dependencies:

      +
        +
      1. grim (for capturing screenshots)
      2. +
      3. slurp (for grabbing the screen region)
      4. +
      5. wf-recorder (for capturing screen +recordings)
      6. +
      7. ffmpeg (for converting the screen +recordings to a desired format)
      8. +
      9. wl-clipboard (for copying the +output to the clipboard)
      10. +
      11. wayfreeze (optional, required if you +want to use --freeze)
      12. +
      +

      Below are some example instructions for Ubuntu, Arch, and NixOS.

      +

      Ubuntu

      +
      sudo apt update
      +sudo apt install -y grim slurp wf-recorder ffmpeg wl-clipboard
      +
      +

      wayfreeze is not available through apt, so must be installed from source. +Though wayfreeze is only needed for the --freeze argument, so can be omitted +if you can live without freezing the screen before taking a screenshot.

      +

      Arch

      +
      sudo pacman -Syu grim slurp wf-recorder ffmpeg wl-clipboard
      +
      +

      There is an unofficial wayfreeze package +on the AUR.

      +

      NixOS

      +
      # This example uses Home Manager. You can also just use environment.systemPackages
      +home.packages = with pkgs; [
      +  grim
      +  slurp
      +  wf-recorder
      +  ffmpeg
      +  wl-clipboard
      +  wayfreeze
      +];
      +
      +

      Download and add peck to your PATH

      +

      Download the latest version of peck from the releases, then add it to your +$PATH.

      +

      e.g. on Bash or ZSH:

      +
      curl -L -o some/path/peck https://github.com/codevogel/peck/releases/download/v0.1.0/peck
      +chmod +x some/path/peck
      +
      +# If the path where you store peck is not in $PATH, be sure to add it to your path:
      +echo 'export PATH="some/path:$PATH"' >> ~/.bashrc   # for Bash
      +source ~/.bashrc
      +# or
      +echo 'export PATH="some/path:$PATH"' >> ~/.zshrc    # for Zsh
      +source ~/.zshrc
      +
      +

      Verify it runs with peck --help.

      +

      Example install with NixOS

      +

      An example peck.nix to add to your modules, which installs peck from the +releases page, and installs the dependenceis using home manager:

      +
      { pkgs, ... }:
      +
      +let
      +  peck = pkgs.stdenv.mkDerivation {
      +    pname = "peck";
      +    version = "0.1.2";
      +
      +    src = pkgs.fetchurl {
      +      url = "https://github.com/codevogel/peck/releases/download/v0.1.2/peck";
      +      sha256 = "b595869321085361e1e687d1c6ff308b0d5eccae3ab73a3cfd18e605f2ac82a1";
      +    };
      +
      +    unpackPhase = ''true'';
      +
      +    installPhase = ''
      +      mkdir -p $out/bin
      +      cp $src $out/bin/peck
      +      chmod +x $out/bin/peck
      +    '';
      +  };
      +in
      +{
      +  home.packages = with pkgs; [
      +    peck
      +
      +    # Dependencies:
      +    grim
      +    slurp
      +    wf-recorder
      +    ffmpeg
      +    wl-clipboard
      +    wayfreeze
      +  ];
      +}
      +
      +

      Integrating peck with your window manager

      +

      Add peck to your window manager using sensible keybinds. For example, in +Hyprland:

      +
      bind=$mainMod SHIFT, S, exec, peck --clipboard --temp --freeze
      +bind=$mainMod SHIFT, R, exec, peck --record --clipboard --temp
      +bind=$mainMod SHIFT, G, exec, peck --record --clipboard --temp --format=gif
      +
      +

      This would set SUPER+SHIFT+[S|R|G] to capture a screenshot, recording, or gif +respectively, instructing peck to store the file in a temporary dir (which is +cleared upon next invocation), and copy the output file to the clipboard, ready +for pasting.

      +

      peck stops recording when invoked again while recording, so to end a +recording, just hit SUPER+SHIFT+[R|G] again while recording.

      +

      Usage

      +

      Recommended usage is by integrating peck into your window manager as above, but +you can also run peck through the CLI.

      +

      Below are some examples that show how to use peck.

      +

      Basic Screenshot

      +
      peck
      +
      +

      Captures a screenshot by region and saves it to the default screenshot directory +(set with $PECK_SCREENSHOT_DIR, which defaults to $HOME/Pictures/).

      +

      Screenshot with Custom Path

      +
      peck ./foo.png
      +peck bar/baz
      +
      +

      Stores the screenshot to the specified path. (In this example, would store the +screenshot at ./foo.png or ./bar/baz.png)

      +

      Recording

      +
      peck --record
      +
      +

      Starts a screen recording by region, storing the recording in the default +directory (set with $PECK_RECORDING_DIR, which defaults to +$HOME/Recordings/).

      +

      Stop recording with CTRL-C (when launched from the CLI), or by running peck +again.

      +

      Recording with Format Conversion

      +
      peck --record --format=gif
      +
      +

      Starts a screen recording, and converts the output file to GIF using ffmpeg.

      +

      Temporary Screenshot to Clipboard

      +
      peck --temp --clipboard
      +
      +

      Capture a screenshot, storing the output file in /tmp/peck/out (which is +periodically cleared by peck to prevent clogging up the file system), and copy +the output file to the clipboard.

      +

      Recording with Custom ffmpeg Filter

      +
      peck --record --format webm --filter "fps=30,scale=1280:-1:flags=lanczos"
      +
      +

      Record and convert the file to a webm using a custom ffmpeg filter.

      +

      Command-line Options

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FlagShortDescription
      --clipboard-cCopy the output file to the clipboard.
      --record-rRecord instead of screenshot.
      --temp-tStore the file in /tmp/peck/out. This is cleared upon each invocation of peck, so captures don't clog up your filesystem.
      --freeze-zFreeze the screen before taking a screenshot. Conflicts with --record.
      --format <file_format>-fOverride output format (png, ppm, jpegfor screenshots, mp4, gif for recordings). Also allows for other recording formats, but these may need --filter to work.
      --filter <video_filter>-FCustom ffmpeg filter for video conversion.
      +

      Environment Variables

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      VariableDefaultDescription
      PECK_SCREENSHOT_DIR$HOME/PicturesDirectory to save screenshots in when no file path is provided. Created if it doesn't exist.
      PECK_RECORDING_DIR$HOME/RecordingsDirectory to save recordings in when no file path is provided. Created if it doesn't exist.
      PECK_SCREENSHOT_FORMATpngScreenshot output format: png, ppm, jpeg.
      PECK_RECORDING_FORMATmp4Recording output format (initially mp4, then converted).
      PECK_SILENCE_NOTIFICATIONSfalseDisable libnotify notifications.
      PECK_SILENCE_START_RECORDINGfalseDisable notification when recording starts.
      +

      License

      +

      MIT Licensed. See LICENSE.

      + + +
      + + diff --git a/tools/pls.html b/tools/pls.html new file mode 100644 index 0000000..07ae162 --- /dev/null +++ b/tools/pls.html @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pls | codevogel 🐦 + + +
      pls banner image

      Project Level Shortcuts (pls)

      logo for /logos/svg/logo-github.svg
      View on GitHub
      +

      pls logo

      +

      Project Level Shortcuts (pls) is a command-line tool designed to streamline your workflow by allowing you to create, manage, and execute custom context-aware aliases for frequently used commands using portable .pls.yml files. Say goodbye to messy shell profiles, and say hello to pls! 🐦

      +

      Run your most frequently used commands with ease, e.g. pls test to run tests, pls clone my-repo to clone a repository under your name, pls open-here to open the current directory in your file manager, and whatever else you can think of!

      +

      Demo

      +

      demo

      +

      Quick Start 🚀

      +
        +
      • +

        Install +Here's a quick guide to get pls working on your system.

        +
        # cd to directory that should house the pls script
        +cd /path/to/pls/dir
        +# download and make executable
        +curl -sS https://raw.githubusercontent.com/codevogel/pls/main/release/pls > pls && chmod +x pls
        +# add pls to your PATH
        +echo 'export PATH="$PATH:/path/to/pls/dir"' >> ~/.bashrc
        +
        +
      • +
      • +

        Try in Docker

        +

        If you want to try pls without installing it on your own system first, you can use the following commands:

        +
        # cd to directory that should house the Dockerfile
        +cd ./pls-test
        +# download the Dockerfile
        +curl -sS https://raw.githubusercontent.com/codevogel/pls/main/docker/Dockerfile > Dockerfile
        +# build and run the Docker container
        +docker build -t plsbuntu . --no-cache
        +docker run -it plsbuntu
        +
        +
      • +
      • +

        Nix

        +

        Nix users can just add this module to their system.

        +
      • +
      +

      Table of Contents

      + +

      What is pls and why do I want pls?

      +

      pls allows you to store your aliases in pls files. You can either define system-wide aliases in a global file, or place project-specific aliases in a local file, e.g., in the root of your project directory. The pls file (by default named .pls.yml) contains a list of aliases and their corresponding commands. When you run pls <alias>, the command associated with that alias is executed. Aliases from a local, project-specific context take precedence over aliases from the global, system-wide context, allowing you to reuse the same alias in different contexts. For example, if you have two projects that use different testing frameworks, pls allows you to just run pls test in either directory, reducing the need to remember framework-specific commands.

      +

      pls supports single-line and multi-line commands, as well as parameterized commands. Additionally, it caches the commands you run, and warns you when an alias points to an uncached command. This lets you be sure that you are only running the commands that you expect.

      +
      + ❓Why would I use pls? +
        +
      • Organized alias management: Instead of cluttering your shell profile with numerous aliases, pls lets you keep them organized in separate files, making it easier to manage and maintain your shortcuts.
      • +
      • Context-aware aliases: pls allows you to have project-specific aliases that override global ones, enabling you to reuse common alias names (like "test") across different projects with varying implementations.
      • +
      • Command cache verification: The command caching feature warns you when you're about to run a new or modified command, helping prevent accidental execution of potentially harmful commands.
      • +
      • Portability and synchronization: Easily sync your aliases between different machines (e.g., work and home computers) by managing your .pls.yml files.
      • +
      • Fuzzy command picker: The built-in alias picker (with optional fzf integration) makes it easy to find and execute aliases without remembering exact names.
      • +
      • Parameterized commands: pls supports parameterized commands, allowing you to pass arguments to your aliases.
      • +
      • Works with bash: pls is a lightweight shell script that works with any shell that supports bash syntax.
      • +
      +
      +
      + ❓How does it work under the hood? + If you execute an alias, pls will first query the global context (which is the file that lives at $PLS_GLOBAL). It then searches for the closest file that matches $PLS_FILENAME that lives in the current, or any of the parent directories (excluding $PLS_GLOBAL file). If it finds any conflicts (aliases that appear in both the global and local context), the command from the local file is picked. It then verifies whether this exact command has been ran before, taking into account the alias, the file which it is stored in, and the exact command contents. If the command is new, was moved to a different location, or has changed since the last execution, pls will prompt you to confirm the execution of the command. This is to prevent accidental execution of potentially harmful commands. +
      +

      Getting started

      +

      Installation

      +

      This is a quick guide to get pls working on your system. 🔧🐦

      +

      Nix

      +

      Nix users can just add the following module to their config. (If you don't use home-manager, replace home.packages with environment.systemPackages.

      +
      { pkgs, ... }:
      +
      +let
      +  pls = pkgs.stdenv.mkDerivation {
      +    pname = "pls";
      +    version = "0.1.0";
      +
      +    src = pkgs.fetchurl {
      +      url = "https://github.com/codevogel/pls/releases/download/v0.1.0/pls";
      +      sha256 = "1zpl5x8xlb8zp7zmhkpna5naz1znwb3iwfibmdqkiiznnkndzqf0";
      +    };
      +
      +    unpackPhase = ''true'';
      +
      +    installPhase = ''
      +      mkdir -p $out/bin
      +      cp $src $out/bin/pls
      +      chmod +x $out/bin/pls
      +    '';
      +  };
      +in
      +{
      +  home.packages = with pkgs; [
      +    pls
      +
      +    # Dependencies:
      +    yq-go
      +    fzf
      +  ];
      +}
      +
      +

      If you want to push your .pls.yml file along with your Nix repository, you can do something like this:

      +
        home.file.".pls.yml" = {
      +    source = ./.pls.yml;
      +    force = true;
      +  };
      +
      +

      Which would symlink the file at ./.pls.yml to $HOME/.pls.yml.

      +

      Dependencies

      +

      First, make sure you have the dependencies installed, then proceed to the instructions below.

      + +
      +

      ℹ️ Note: fzf is completely optional. It is used only for the pick_alias command, which uses a fallback picker if you don't have fzf installed.

      +
      +

      Instructions

      +
        +
      1. +

        Download the pls script and extract it to a directory on your PATH (or add it to your PATH in step 2).

        +
          +
        • using curl: curl -O https://raw.githubusercontent.com/codevogel/pls/main/release/pls
        • +
        • using wget: wget https://raw.githubusercontent.com/codevogel/pls/main/release/pls
        • +
        • Clone this repository and copy the release/pls script.
        • +
        • Download the pls script from here manually.
        • +
        +
      2. +
      3. +

        Add the pls script to your PATH.

        +
          +
        • If your shell is bash: echo 'export PATH="$PATH:/path/to/dir"' >> ~/.bashrc
        • +
        • If your shell is zsh: echo 'export PATH="$PATH:/path/to/dir"' >> ~/.zshrc
        • +
        • If your shell is something else, do the equivalent of the above.
        • +
        +
      4. +
      5. +

        Optionally, add support for running the commands in your main shell process. See the Use in main shell section for more information.

        +
      6. +
      7. +

        Test the installation by running pls --help.

        +
      8. +
      +

      Usage

      +
        +
      1. +

        To get started with pls, add your first alias. There are two approaches:

        +
          +
        1. +

          Create a .pls.yml file and manually add the following contents (see 'File format' if you want to expand on it further):

          +
          commands:
          +  - alias: "hello"
          +    command: "echo 'Hello, World!'"
          +
          +
        2. +
        3. +

          Add an alias using the pls add command:

          +
          pls hello --add  --command "echo 'Hello, World!'" --scope local
          +
          +
          +

          ℹ️ Note: As pls supports combining flags, this is a shorter equivalent of the above command:

          +
          +
          pls hello -ac "echo 'Hello, World!'" -s local
          +
          +
        4. +
        +
      2. +
      3. +

        To execute the alias, run pls hello. +You should first be prompted to confirm that you indeed want to run this command. Enter y or Y and press Return.

        +
        +

        ℹ️ Note: When you execute the alias another time, pls will have cached usage of the command, and you will not be prompted until the command (or location of the file) changes.

        +
        +
        ❯ ./pls hello
        +Alias 'hello' was found in 'https://raw.githubusercontent.com/codevogel/pls/refs/heads/main/home/codevogel/work/pls/.pls.yml', but this command seems new.
        +
        +echo 'Hello, World!'
        +
        +Are you sure you want to invoke the above command? [y/n] y
        +Hello, World!
        +
        +❯ ./pls hello
        +Hello, World!
        +
        +
        +

        ℹ️ Note: When you add the -p flag, the command will be printed instead of executed. This is useful if you want to run the command in your main shell process, or want to pipe the command to run in a different shell.

        +
        +
      4. +
      5. +

        You can also leave out the alias, and pls will launch an interactive picker that lets you choose from a list of available aliases. Try it now, just run pls !

        +
      6. +
      +

      Command overview

      +

      To keep the syntax for using pls as short as possible, and because we want to keep the namespace for aliases clean of commands, pls uses just a single root command: pls. This command can be followed by an alias, command arguments, or flags.

      +
      pls [alias] [command_args] [flags]
      +
      +

      Operation Flags

      +

      This is an overview of the flags that trigger pls to perform alternative operations (instead of the default operation: executing an alias). Each of these operation flags conflict with one another: you can only use one at a time.

      +

      | Operation | Shorthand | Needs Flags | Optional Flags | Description | +| ---------- | --------- | ------------------------ | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | +| --add | -a | --command
      --scope | --force | Adds a new alias for a
      --command <command>
      to the pls file at a given
      --scope <[g]lobal, [l]ocal, [h]ere>.
      Use with --force to overwrite the alias if it exists. | +| --delete | -d | --scope | | Delete the alias from the pls file at given
      --scope <[g]lobal, [l]ocal, [h]ere>. | +| --list | -l | | --scope --print | List all aliases available in the current directory.
      Or, list aliases only from --scope <[g]lobal, [l]ocal, [a]ll>.
      Use with --print to print the command associated with each alias. | |

      +

      Other Flags

      +

      These are the flags that do not represent operations. Some of them are used to provide additional information to operations, or to modify the behavior of the root command.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      FlagNeeds argumentUsed withDescription
      --commandyes--addSupplies a command to associate with the alias in the --add operation. Pass the command as a string, newline characters ('\n') are allowed.
      --scopeyes--add
      --delete
      --list
      The selected scope for --add, --delete, and --list operations. Allowed scopes are [g]lobal, [l]ocal, [a]ll, [h]ere. The 'all' scope is exclusive to --list. The 'here' scope is excluded from --list.
      --printroot command
      --list
      Prints the command instead of executing it when used with root command. Useful for piping to other commands or shells. Or, if used in conjunction with --list, it additionally prints the command for each alias.
      --force--addOverwrite the alias if it already exists when using the --add operation.
      --clear-cacheBefore doing anything, clears the cache of all commands that have been run with pls.
      --helpShow the help.
      --versionShow the version number.
      +

      Examples

      +

      View EXAMPLES.md (here) to see some examples of how to use commands that pls provides.

      +

      Real World Examples

      +

      Given the following .pls.yml:

      +
      commands:
      +  - alias: clone
      +    command: |
      +      git clone git@github.com:codevogel/$1.git
      +  - alias: nvimconf
      +    command: |
      +      cd ~/.config/nvim/lua
      +  - alias: bright
      +    command: |
      +      sudo brightnessctl set $1
      +  - alias: se
      +    command: |
      +      $1 & 
      +      disown
      +      exit
      +
      +

      We can now run the following commands:

      +
      # Clone a repository under my account by name
      +$ pls clone svelte-db-portal
      +
      +# Sets the display brightness to 100%
      +$ pls bright 100%
      +
      +## The following two commands require you to 'Execute commands in the main shell' (see next section).
      +
      +# Takes you to a frequently used directory (in this case ~/.config/nvim/lua)
      +$ plz nvimconf
      +
      +# Launches <executable>, disowns the process from the shell, and then closes the terminal.
      +$ plz se <executable>
      +
      +

      Execute commands in the main shell

      +

      If your main shell is bash

      +

      If you want pls to execute the command in your main shell process, and your shell is bash, then you can simply add . or source in front of your pls command:

      +
      # Executes 'cd ~/work/godot/' in the main shell process
      +. pls godot
      +
      +

      You could setup an alias for this in your .bashrc:

      +
      alias plz=". pls"
      +
      +

      If your main shell is not bash

      +

      If your main shell is not bash, you can still use pls in your main shell process. Just know that the command will be executed in a bash subshell. If you want to execute the command in your main shell process, you can make use of the -p flag and eval. Here is an example for zsh, in which we set up a function plz that executes the command in the main shell process:

      +

      We create a zsh function at ~/.zshfuncs/plz

      +
      cmd="$(pls "$1" -p)"
      +execute_command() { # Use a function so we can use parameterized commands as well
      +   eval "$cmd"
      +}
      +execute_command ${@:2}
      +
      +

      Then we load it in our .zshrc:

      +
      # Load the zsh function 'plz'
      +echo 'fpath=(~/.zshfuncs "${fpath[@]}")' >> ~/.zshrc
      +echo 'autoload -Uz plz' >> ~/.zshrc
      +
      +

      Now say we have the following in our .pls.yml file:

      +
      commands:
      +  - alias: go
      +    command: cd $1 && ls -al
      +
      +

      We can use plz in our zsh shell:

      +
      plz go ~/work/godot/ # cd's to ~/work/godot/ and lists the contents
      +
      +

      Real-world example

      +

      Here are some real-world examples that show how I use pls.

      +
      Easy git clones
      +

      Using the alias below, I can easily clone any of my repositories by just running pls clone <repo-name>.

      +
      - alias: clone
      +  command: |
      +    git clone git@github.com:codevogel/$1.git
      +
      +

      No more remembering the full git SSH URL, or having to copy-paste it from the browser! +Expanding this further, I use the following alias to quickly clone repositories by other users than myself:

      +
      - alias: clone-x
      +  command: |
      +    git clone git@github.com:$1/$2.git
      +
      +
      Launching my TMUX sessions
      +

      After using z to jump to a project directory, I can quickly launch a default tmux session for that project by running pls dev:

      +
      - alias: dev
      +  command: |
      +    ~/startup/default
      +
      +

      This runs a tmux startup script defined in my .dotfiles repository, which launches a tmux session with a few default windows, one running neovim, one running lazygit, and one running a shell.

      +
      Running and disowning processes
      +

      Sometimes I want to launch a GUI application from the terminal. But closing that very terminal would also close the application. We can use disown to prevent this from happening. But typing out the correct sequence of commands can become tedious. So, I created the following alias:

      +
      - alias: se
      +  command: |
      +    $1 & 
      +    disown
      +    exit
      +
      +

      Now, when I run plz se <executable>, it launched the executable, disowns it from the terminal, and closes the terminal.

      +
      Switching keyboard layouts
      +

      I usually type on a Sofle Choc, a split keyboard, which has CTRL and CAPS LOCK swapped in it's firmware. When I want to use my laptop keyboard, for example when I'm on the go, I need to swap these keys in software instead. I created the following alias to make this easy:

      +
      - alias: keeb-split
      +  command: |
      +    sudo cat /etc/default/keyboard-split | sudo tee /etc/default/keyboard > /dev/null
      +    sudo dpkg-reconfigure keyboard-configuration
      +- alias: keeb-laptop
      +  command: |
      +    sudo cat /etc/default/keyboard-laptop | sudo tee /etc/default/keyboard > /dev/null
      +    sudo dpkg-reconfigure keyboard-configuration
      +
      +

      File format

      +

      pls uses YAML files to store aliases. YAML is a human-readable data serialization format that is easy to read and write, which should make adding commands a pretty straight-forward experience. An example of a properly formatted .pls.yml file is shown here:

      +
      commands:
      +  - alias: my-alias
      +    command: echo "hello from my-alias!"
      +  - alias: my-multiline-command
      +    command: |
      +      echo "echo!"
      +      echo "... echo!"
      +  - alias: work
      +    command: cd ~/some/really/long/path/to/my/directory/work
      +  - alias: greet me
      +    command: |
      +      echo "Hello, my name is $1!"
      +
      +

      A few points of interest here:

      +
        +
      • The commands key should be the only root key of the YAML file, and must always be present. (This means that at minimum, a pls file should contain commands:)
      • +
      • The commands key contains an array of objects (which may be empty), and can hold: +
          +
        • An alias key that contains a single-line string representing the alias you want to use. (Spaces and symbols are allowed, but discouraged.)
        • +
        • The command key that contains either a single-line or multi-line string containing the command you want to execute. Multi-line commands must be preceded by a | or |- character and indented.
        • +
        • The command key can also contain a parameterized command, where $1, $2, etc. are replaced with the arguments passed to the alias.
        • +
        +
      • +
      +
      +

      ℹ️ Don't worry too much about remembering all this - if you break any of these rules, you should get an error when running pls, pointing you in the right direction to correct the formatting.

      +
      +

      Command cache

      +

      Each time you execute an alias, pls stores:

      +
        +
      • The alias that was executed
      • +
      • The exact command that was executed
      • +
      • The path to the file where the alias was found
      • +
      +

      This allows pls to warn you when you try to execute an alias that points to a different command than the one you have previously executed. This is especially useful when you are working on a project with multiple collaborators (maybe someone has changed one of the aliases), or when you have multiple aliases with the same name in different directories.

      +
      +

      ℹ️ If you want to be informed about the contents of the command, regardless of it being cached already, or if you want to turn off the warning altogether, see the PLS_ALWAYS_VERIFY and PLS_ENABLE_CACHE_CHECK environment variables in the Configuration section.

      +
      +

      To clear the cache, you can run pls clear_cache.

      +

      Configuration

      +

      pls can be configured using a .plsrc file, which is stored at the environment variable $PLS_RC. If you have not set $PLS_RC, then it will be created at $HOME/.config/pls/.plsrc by default, including the default values listed in the table below:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      VariableDescriptionDefault Value
      PLS_FILENAMEThe name of the data file that pls looks for..pls.yml
      PLS_GLOBALThe path to the global pls file (system-wide)$HOME/$PLS_FILENAME
      PLS_ENABLE_CACHE_CHECKIf set to true, pls will check the cache for the command before executing it.true
      PLS_ALWAYS_VERIFYIf set to true, pls will always prompt you to confirm the execution of the command, even if PLS_ENABLE_CACHE_CHECK is falsefalse
      PLS_ENABLE_FZFIf set to true, pls will use fzf as the picker (given that you have it installed).N/A
      PLS_DIRThe directory where internal pls files are stored. Not recommended to place this in /tmp/ as that would delete the cache on reboot.$HOME/local/.share/pls
      +

      Make sure each of these variables is on a new line in the .plsrc file, and that you are not missing any. If in doubt, you can always delete the .plsrc file and pls will recreate it with the default values.

      +

      Roadmap

      +
        +
      • Add support for single-line commands
      • +
      • Add support for multi-line commands
      • +
      • Add support for parameterized commands
      • +
      • Add context-aware aliases
      • +
      • Add command cache verification
      • +
      • List available aliases
      • +
      • Add alias picker
      • +
      • Add .rc file
      • +
      • Use pls with flags, preventing commands from taking up alias namespace.
      • +
      • What else would you like to see? Let us know by opening an issue!
      • +
      +

      Contributing

      +

      Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.

      + + +
      + +