a tool for shared writing and social publishing
0

Configure Feed

Select the types of activity you want to include in your feed.

wip

Jared Pereira (Apr 20, 2026, 9:41 PM EDT) e7610236 cdee8ec0

+4562 -127
+127
emails/leafletConfirmEmail.tsx
··· 1 + import { 2 + Body, 3 + Column, 4 + Container, 5 + Head, 6 + Hr, 7 + Html, 8 + Img, 9 + Link, 10 + Section, 11 + Row, 12 + Button, 13 + CodeBlock, 14 + } from "@react-email/components"; 15 + import { Text, Heading } from "./post"; 16 + import { Tailwind, pixelBasedPreset } from "@react-email/components"; 17 + import { LeafletWatermark } from "./post"; 18 + 19 + export const LeafletConfirmEmail = (props: {}) => ( 20 + <Html> 21 + <Tailwind 22 + config={{ 23 + presets: [pixelBasedPreset], 24 + theme: { 25 + screens: { 26 + sm: "640px", 27 + md: "960px", 28 + lg: "1280px", 29 + }, 30 + borderRadius: { 31 + none: "0", 32 + md: "0.25rem", 33 + lg: "0.5rem", 34 + full: "9999px", 35 + }, 36 + 37 + colors: { 38 + inherit: "inherit", 39 + transparent: "transparent", 40 + current: "currentColor", 41 + 42 + //TEXT COLORS. 43 + primary: "rgb(39, 39, 39)", 44 + secondary: 45 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 25%)", 46 + tertiary: 47 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 55%)", 48 + border: 49 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 75%)", 50 + "border-light": 51 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 85%)", 52 + 53 + white: "#FFFFFF", 54 + 55 + //ACCENT COLORS 56 + "accent-1": "rgb(0, 0, 225)", 57 + "accent-2": "rgb(255, 255, 255;)", 58 + "accent-contrast": "rgb(0, 0, 225)", 59 + 60 + //BG COLORS (defined as css variables in global.css) 61 + "bg-leaflet": "rgb(240, 247, 250)", 62 + "bg-page": "rgba(255, 255, 255, 1)", 63 + 64 + // HIGHLIGHT COLORS 65 + "highlight-1": "rgb(255, 177, 177)", 66 + "highlight-2": "rgb(253, 245, 203)", 67 + "highlight-3": "rgb(255, 205, 195)", 68 + 69 + //DO NOT USE IN PRODUCTION. Test colors to aid development, ie, setting bg color on element to see edges of div. DO. NOT. USE. IN. PRODUCTION 70 + test: "#E18181", 71 + "test-blue": "#48D1EF", 72 + }, 73 + fontSize: { 74 + xs: ".75rem", 75 + sm: ".875rem", 76 + base: "1rem", 77 + lg: "1.125rem", 78 + xl: "1.625rem", 79 + "2xl": "2rem", 80 + }, 81 + 82 + extend: { 83 + fontFamily: { 84 + sans: ["Verdana"], 85 + serif: ["Georgia"], 86 + }, 87 + }, 88 + }, 89 + }} 90 + > 91 + <Head /> 92 + 93 + <Body className={`bg-bg-page font-sans px-2 py-4 !m-0 `}> 94 + <Row 95 + border={1} 96 + className={`w-fit max-w-full bg-transparent rounded-lg !border !border-border !border-solid text-center px-6 py-6 mb-2`} 97 + > 98 + <Column className="border-transparent"> 99 + <Row className="w-fit mt-1 text-center"> 100 + <Img 101 + width={56} 102 + height={56} 103 + src="/static/leaflet.png" 104 + className="mx-auto mb-2" 105 + /> 106 + 107 + <Column> 108 + <Heading noPadding as="h2"> 109 + Welcome to Leaflet!{" "} 110 + </Heading> 111 + </Column> 112 + </Row> 113 + <Text className="!mt-6 !mb-1 text-secondary"> 114 + Verify your email with this code 115 + </Text> 116 + <Container className="bg-border-light rounded-md w-fit px-2 py-1"> 117 + <Heading noPadding as="h1"> 118 + 000000 119 + </Heading> 120 + </Container> 121 + </Column> 122 + </Row> 123 + </Body> 124 + </Tailwind> 125 + </Html> 126 + ); 127 + export default LeafletConfirmEmail;
+375
emails/post.tsx
··· 1 + import { 2 + Body, 3 + Column, 4 + Container, 5 + Head, 6 + Heading as ReactEmailHeading, 7 + Hr, 8 + Html, 9 + Img, 10 + Link, 11 + Text as ReactEmailText, 12 + Section, 13 + Row, 14 + Button, 15 + CodeBlock as ReactEmailCodeBlock, 16 + dracula, 17 + } from "@react-email/components"; 18 + import { Tailwind, pixelBasedPreset } from "@react-email/components"; 19 + import React from "react"; 20 + 21 + export const PostEmail = (props: {}) => ( 22 + <Html> 23 + <Tailwind 24 + config={{ 25 + presets: [pixelBasedPreset], 26 + theme: { 27 + screens: { 28 + sm: "640px", 29 + md: "960px", 30 + lg: "1280px", 31 + }, 32 + borderRadius: { 33 + none: "0", 34 + md: "0.25rem", 35 + lg: "0.5rem", 36 + full: "9999px", 37 + }, 38 + 39 + colors: { 40 + inherit: "inherit", 41 + transparent: "transparent", 42 + current: "currentColor", 43 + 44 + //TEXT COLORS. 45 + primary: "rgb(39, 39, 39)", 46 + secondary: 47 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 25%)", 48 + tertiary: 49 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 55%)", 50 + border: 51 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 75%)", 52 + "border-light": 53 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 85%)", 54 + 55 + white: "#FFFFFF", 56 + 57 + //ACCENT COLORS 58 + "accent-1": "rgb(0, 0, 225)", 59 + "accent-2": "rgb(255, 255, 255;)", 60 + "accent-contrast": "rgb(0, 0, 225)", 61 + 62 + //BG COLORS (defined as css variables in global.css) 63 + "bg-leaflet": "rgb(240, 247, 250)", 64 + "bg-page": "rgba(255, 255, 255, 1)", 65 + 66 + // HIGHLIGHT COLORS 67 + "highlight-1": "rgb(255, 177, 177)", 68 + "highlight-2": "rgb(253, 245, 203)", 69 + "highlight-3": "rgb(255, 205, 195)", 70 + 71 + //DO NOT USE IN PRODUCTION. Test colors to aid development, ie, setting bg color on element to see edges of div. DO. NOT. USE. IN. PRODUCTION 72 + test: "#E18181", 73 + "test-blue": "#48D1EF", 74 + }, 75 + fontSize: { 76 + xs: ".75rem", 77 + sm: ".875rem", 78 + base: "1rem", 79 + lg: "1.125rem", 80 + xl: "1.625rem", 81 + "2xl": "2rem", 82 + }, 83 + 84 + extend: { 85 + fontFamily: { 86 + sans: ["Verdana"], 87 + serif: ["Georgia"], 88 + }, 89 + }, 90 + }, 91 + }} 92 + > 93 + <Head /> 94 + <Body className={`bg-bg-page font-sans p-2 sm:px-4 sm:py-6 !m-0 `}> 95 + <Container className={`bg-transparent rounded-lg border border-border`}> 96 + <Button href="/" className={`${link} font-bold !my-0`}> 97 + <Row> 98 + <Column width="16px"> 99 + <Img 100 + width={16} 101 + height={16} 102 + src="/static/test.jpg" 103 + className="rounded-full" 104 + /> 105 + </Column> 106 + <Column width={"4px"} /> 107 + 108 + <Column>Pub Here</Column> 109 + </Row> 110 + </Button> 111 + 112 + <Heading as="h1" noPadding> 113 + Post Title Here 114 + </Heading> 115 + <Text noPadding className={`text-secondary italic pt-1`}> 116 + Hello this is a description of everything that is to come 117 + </Text> 118 + 119 + <Section className={`postActions !mb-7 !mt-3`}> 120 + <Row> 121 + <Column width="auto"> 122 + <Text className="text-sm text-tertiary"> 123 + celine | Jun 23, 2025 124 + </Text> 125 + </Column> 126 + <Column style={{ width: "16px" }}> 127 + <Button href="/"> 128 + <Img width={16} height={16} src="/static/quote.png" /> 129 + </Button> 130 + </Column> 131 + <Column width="8px" /> 132 + <Column style={{ width: "16px" }}> 133 + <Button href="/"> 134 + <Img width={16} height={16} src="/static/comment.png" /> 135 + </Button> 136 + </Column> 137 + <Column width="10px" /> 138 + <Column style={{ width: "16px" }}> 139 + <Button href="/"> 140 + <Img width={16} height={16} src="/static/external-link.png" /> 141 + </Button> 142 + </Column> 143 + 144 + <Column width="inherit" /> 145 + </Row> 146 + </Section> 147 + <Section className="postContent"> 148 + <Text> 149 + This would be the post. I'll give it a little lorem ipsum to make 150 + it look longer so i don't forget which thing is what. 151 + </Text> 152 + <Text> 153 + Here's what an image block looks like. It also needs to align if 154 + you have a small picture. Let's see what that looks like. I will 155 + need to import a new one and that sounds like so much work but 156 + whatever, it's easy actually im just lazy 157 + </Text> 158 + <Img width="100%" src="/static/test.jpg" className={`${image}`} /> 159 + <Text>And here we have all the Headers</Text> 160 + <Heading as="h1">This is an Title</Heading> 161 + <Text> 162 + We'll keep it nice an separate to i can see what it looks like. 163 + After all i want this to look like a real text document. 164 + </Text> 165 + 166 + <Heading as="h2">And a Header</Heading> 167 + <Text> 168 + If i didn't do this it would be difficult to know waht things look 169 + like so its important to get jiggy with the flavor text 170 + </Text> 171 + <Heading as="h3">And finally a SubHeader</Heading> 172 + <Text> 173 + It ain't easy to be jiggy but I make it look breezy. Like you 174 + rhymes are cheesy, I'm allergic they make me sneezy. Besides, 175 + relying on rhymes is sleazy like yo, it's measely. 176 + </Text> 177 + 178 + <Text>how about lists????? </Text> 179 + <List /> 180 + 181 + <Text>and blockquote!!! </Text> 182 + <Row className={blockPadding}> 183 + <Column className="!my-0 w-[2px] bg-border" /> 184 + <Column className="w-2" /> 185 + <Column> 186 + <Text className="!my-0.5"> 187 + Hi this is some text. I want to make it wrap this so that it's 188 + multiline but idk how long that will end up being 189 + </Text> 190 + </Column> 191 + </Row> 192 + <Text>code block??? </Text> 193 + <CodeBlock /> 194 + 195 + <Text> 196 + I don't even know if we an do external link but why not give it a 197 + go. 198 + </Text> 199 + <LinkBlock /> 200 + 201 + <Text>can't forget about the horizontal rule</Text> 202 + 203 + <Hr className="border-border-light my-3" /> 204 + 205 + <Text> 206 + and what if we don't support it? like math and code blocks? though 207 + maybe we should support code? there's a component after all. 208 + </Text> 209 + <BlockNotSupported /> 210 + </Section> 211 + <Section className="pt-4"> 212 + <Text noPadding className="text-center leading-5"> 213 + <Button className={`${link} font-bold text-sm leading-5 !my-0`}> 214 + See Full Post 215 + </Button> 216 + </Text> 217 + <Text 218 + noPadding 219 + className="text-sm text-tertiary text-center leading-5" 220 + > 221 + <Button className={`leading-5 !my-0`}>Unsubscribe</Button> 222 + </Text> 223 + </Section> 224 + </Container> 225 + <Hr className="border-border-light my-3" /> 226 + 227 + <LeafletWatermark /> 228 + </Body> 229 + </Tailwind> 230 + </Html> 231 + ); 232 + export default PostEmail; 233 + 234 + export const LeafletWatermark = () => { 235 + return ( 236 + <Container className={` w-fit `}> 237 + <Button href="/"> 238 + <Row className={`text-tertiary italic text-sm`}> 239 + <Column style={{ width: "16px" }}> 240 + <Img width={16} height={16} src="/static/leaflet.png" /> 241 + </Column> 242 + <Column width="4px" /> 243 + <Column style={{ width: "164px" }}> 244 + Published with{" "} 245 + <Link className={`${link} font-bold text-sm`}>Leaflet</Link> 246 + </Column> 247 + </Row> 248 + </Button> 249 + </Container> 250 + ); 251 + }; 252 + 253 + const blockPadding = "mt-1 mb-3 sm:mb-4"; 254 + const headingPadding = "mt-1 mb-0"; 255 + const link = `text-base text-accent-contrast ${blockPadding}`; 256 + 257 + export const Text = (props: { 258 + children: React.ReactNode; 259 + noPadding?: boolean; 260 + small?: boolean; 261 + className?: string; 262 + }) => { 263 + return ( 264 + <ReactEmailText 265 + className={`text-primary ${props.small ? "text-sm" : "text-base"} ${props.noPadding ? "!my-0" : blockPadding} ${props.className}`} 266 + > 267 + {props.children} 268 + </ReactEmailText> 269 + ); 270 + }; 271 + 272 + export const Heading = (props: { 273 + children: React.ReactNode; 274 + noPadding?: boolean; 275 + as: "h1" | "h2" | "h3"; 276 + className?: string; 277 + }) => { 278 + return ( 279 + <ReactEmailHeading 280 + as={props.as} 281 + className={` font-bold ${props.noPadding ? "!my-0" : headingPadding} ${props.as === "h1" ? "text-xl" : props.as === "h2" ? "text-lg" : "text-base text-secondary"}`} 282 + > 283 + {props.children} 284 + </ReactEmailHeading> 285 + ); 286 + }; 287 + 288 + export const List = () => { 289 + let list = `my-0 !pl-6`; 290 + let listItem = `${headingPadding} !ml-2`; 291 + return ( 292 + <Section className={`${blockPadding} !-mt-1`}> 293 + <ul className={list}> 294 + <li className={listItem}>fruits</li> 295 + <ul className={list}> 296 + <li className={listItem}>apple</li> 297 + <li className={listItem}>banana</li> 298 + <li className={listItem}>loop</li> 299 + </ul> 300 + <li className={listItem}>veggies</li> 301 + <li className={listItem}>other</li> 302 + </ul> 303 + </Section> 304 + ); 305 + }; 306 + 307 + export const LinkBlock = () => { 308 + return ( 309 + <Row 310 + border={1} 311 + className={`${blockPadding} h-[104px] border-accent-contrast rounded-lg !p-0 border-solid`} 312 + > 313 + <Column 314 + style={{ verticalAlign: "top" }} 315 + className="border-transparent py-1 px-2 " 316 + > 317 + <Text noPadding className={`font-bold`}> 318 + Link Title Here 319 + </Text> 320 + {/* what happens if the description is super long? is there 321 + anyway to truncate it? overflow is only partially supported by 322 + email */} 323 + <Text noPadding className={`text-secondary`}> 324 + Description on the link if such a thing is applicable. 325 + </Text> 326 + <Text small noPadding className={`text-accent-contrast italic`}> 327 + www.example.com 328 + </Text> 329 + </Column> 330 + <Column className="border-none w-28 pr-2 pt-2"> 331 + <Container className="bg-test rounded-t-md w-full h-full" /> 332 + </Column> 333 + </Row> 334 + ); 335 + }; 336 + 337 + export const CodeBlock = () => { 338 + return ( 339 + <ReactEmailCodeBlock 340 + className={`${blockPadding} !p-2 rounded-md border border-light`} 341 + code={`export default async (req, res) => { 342 + try { 343 + const html = await renderAsync( 344 + EmailTemplate({ firstName: 'John' }) 345 + ); 346 + return NextResponse.json({ html }); 347 + } catch (error) { 348 + return NextResponse.json({ error }); 349 + } 350 + }`} 351 + theme={dracula} 352 + language="javascript" 353 + /> 354 + ); 355 + }; 356 + export const BlockNotSupported = () => { 357 + return ( 358 + <Container 359 + className={`bg-border-light h-20 rounded-md text-tertiary ${blockPadding}`} 360 + > 361 + <Text noPadding small className={"text-tertiary text-center italic"}> 362 + This media isn't supported in email... 363 + </Text> 364 + <Text noPadding small className="text-center"> 365 + <Link 366 + className={`w-full text-accent-contrast text-sm text-center font-bold`} 367 + > 368 + See full post 369 + </Link> 370 + </Text> 371 + </Container> 372 + ); 373 + }; 374 + 375 + const image = `${blockPadding} text-center`;
+134
emails/pubConfirmEmail.tsx
··· 1 + import { 2 + Body, 3 + Column, 4 + Container, 5 + Head, 6 + Hr, 7 + Html, 8 + Img, 9 + Link, 10 + Section, 11 + Row, 12 + Button, 13 + CodeBlock, 14 + } from "@react-email/components"; 15 + import { Text, Heading } from "./post"; 16 + import { Tailwind, pixelBasedPreset } from "@react-email/components"; 17 + import { LeafletWatermark } from "./post"; 18 + 19 + export const PubConfirmEmail = (props: {}) => ( 20 + <Html> 21 + <Tailwind 22 + config={{ 23 + presets: [pixelBasedPreset], 24 + theme: { 25 + screens: { 26 + sm: "640px", 27 + md: "960px", 28 + lg: "1280px", 29 + }, 30 + borderRadius: { 31 + none: "0", 32 + md: "0.25rem", 33 + lg: "0.5rem", 34 + full: "9999px", 35 + }, 36 + 37 + colors: { 38 + inherit: "inherit", 39 + transparent: "transparent", 40 + current: "currentColor", 41 + 42 + //TEXT COLORS. 43 + primary: "rgb(39, 39, 39)", 44 + secondary: 45 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 25%)", 46 + tertiary: 47 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 55%)", 48 + border: 49 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 75%)", 50 + "border-light": 51 + "color-mix(in oklab, rgb(39, 39, 39), rgb(255, 255, 255) 85%)", 52 + 53 + white: "#FFFFFF", 54 + 55 + //ACCENT COLORS 56 + "accent-1": "rgb(0, 0, 225)", 57 + "accent-2": "rgb(255, 255, 255;)", 58 + "accent-contrast": "rgb(0, 0, 225)", 59 + 60 + //BG COLORS (defined as css variables in global.css) 61 + "bg-leaflet": "rgb(240, 247, 250)", 62 + "bg-page": "rgba(255, 255, 255, 1)", 63 + 64 + // HIGHLIGHT COLORS 65 + "highlight-1": "rgb(255, 177, 177)", 66 + "highlight-2": "rgb(253, 245, 203)", 67 + "highlight-3": "rgb(255, 205, 195)", 68 + 69 + //DO NOT USE IN PRODUCTION. Test colors to aid development, ie, setting bg color on element to see edges of div. DO. NOT. USE. IN. PRODUCTION 70 + test: "#E18181", 71 + "test-blue": "#48D1EF", 72 + }, 73 + fontSize: { 74 + xs: ".75rem", 75 + sm: ".875rem", 76 + base: "1rem", 77 + lg: "1.125rem", 78 + xl: "1.625rem", 79 + "2xl": "2rem", 80 + }, 81 + 82 + extend: { 83 + fontFamily: { 84 + sans: ["Verdana"], 85 + serif: ["Georgia"], 86 + }, 87 + }, 88 + }, 89 + }} 90 + > 91 + <Head /> 92 + 93 + <Body className={`bg-bg-page font-sans px-2 py-4 !m-0 `}> 94 + <Row 95 + border={1} 96 + className={`w-fit max-w-full bg-transparent rounded-lg !border !border-border !border-solid text-center px-6 py-6 mb-2`} 97 + > 98 + <Column className="border-transparent"> 99 + <Text noPadding className="font-bold text-secondary"> 100 + Thank you for subscribing to 101 + </Text> 102 + <Row className="w-fit mt-1"> 103 + <Column width="24px"> 104 + <Img 105 + width={24} 106 + height={24} 107 + src="/static/test.jpg" 108 + className="rounded-full" 109 + /> 110 + </Column> 111 + <Column width={"8px"} /> 112 + 113 + <Column> 114 + <Heading noPadding as="h2"> 115 + Leaflet Explorers 116 + </Heading> 117 + </Column> 118 + </Row> 119 + <Text className="!mt-6 !mb-1 text-secondary"> 120 + Verify your email with this code 121 + </Text> 122 + <Container className="bg-border-light rounded-md w-fit px-2 py-1"> 123 + <Heading noPadding as="h1"> 124 + 000000 125 + </Heading> 126 + </Container> 127 + </Column> 128 + </Row> 129 + <LeafletWatermark /> 130 + </Body> 131 + </Tailwind> 132 + </Html> 133 + ); 134 + export default PubConfirmEmail;
emails/static/comment.png

This is a binary file and will not be displayed.

emails/static/external-link.png

This is a binary file and will not be displayed.

emails/static/leaflet.png

This is a binary file and will not be displayed.

emails/static/quote.png

This is a binary file and will not be displayed.

+3630 -126
package-lock.json
··· 29 29 "@radix-ui/react-popover": "^1.1.15", 30 30 "@radix-ui/react-slider": "^1.3.6", 31 31 "@radix-ui/react-tooltip": "^1.2.8", 32 + "@react-email/components": "^1.0.12", 32 33 "@react-spring/web": "^10.0.0-beta.0", 33 34 "@rocicorp/undo": "^0.2.1", 34 35 "@supabase/ssr": "^0.3.0", ··· 70 71 "react-aria-components": "^1.8.0", 71 72 "react-day-picker": "^9.3.0", 72 73 "react-dom": "19.2.1", 74 + "react-email": "^6.0.0", 73 75 "react-use-measure": "^2.1.1", 74 76 "recharts": "^3.7.0", 75 77 "redlock": "^5.0.0-beta.2", ··· 96 98 "devDependencies": { 97 99 "@atproto/lex-cli": "^0.9.5", 98 100 "@cloudflare/workers-types": "^4.20240512.0", 101 + "@react-email/ui": "^6.0.0", 99 102 "@tailwindcss/postcss": "^4.1.13", 100 103 "@types/katex": "^0.16.7", 101 104 "@types/luxon": "^3.7.1", ··· 663 666 "version": "7.27.1", 664 667 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 665 668 "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 666 - "dev": true, 667 669 "dependencies": { 668 670 "@babel/helper-validator-identifier": "^7.27.1", 669 671 "js-tokens": "^4.0.0", ··· 737 739 "version": "7.28.5", 738 740 "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", 739 741 "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", 740 - "dev": true, 741 742 "dependencies": { 742 743 "@babel/parser": "^7.28.5", 743 744 "@babel/types": "^7.28.5", ··· 871 872 "version": "7.28.5", 872 873 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", 873 874 "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", 874 - "dev": true, 875 875 "dependencies": { 876 876 "@babel/types": "^7.28.5" 877 877 }, ··· 886 886 "version": "7.27.2", 887 887 "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 888 888 "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 889 - "dev": true, 890 889 "dependencies": { 891 890 "@babel/code-frame": "^7.27.1", 892 891 "@babel/parser": "^7.27.2", ··· 1178 1177 } 1179 1178 }, 1180 1179 "node_modules/@emnapi/runtime": { 1181 - "version": "1.5.0", 1182 - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", 1183 - "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", 1180 + "version": "1.10.0", 1181 + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", 1182 + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", 1183 + "license": "MIT", 1184 1184 "optional": true, 1185 1185 "dependencies": { 1186 1186 "tslib": "^2.4.0" ··· 2499 2499 "cpu": [ 2500 2500 "ppc64" 2501 2501 ], 2502 + "optional": true, 2503 + "os": [ 2504 + "linux" 2505 + ], 2506 + "funding": { 2507 + "url": "https://opencollective.com/libvips" 2508 + } 2509 + }, 2510 + "node_modules/@img/sharp-libvips-linux-riscv64": { 2511 + "version": "1.2.4", 2512 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", 2513 + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", 2514 + "cpu": [ 2515 + "riscv64" 2516 + ], 2517 + "license": "LGPL-3.0-or-later", 2502 2518 "optional": true, 2503 2519 "os": [ 2504 2520 "linux" ··· 2630 2646 "@img/sharp-libvips-linux-ppc64": "1.2.3" 2631 2647 } 2632 2648 }, 2649 + "node_modules/@img/sharp-linux-riscv64": { 2650 + "version": "0.34.5", 2651 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", 2652 + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", 2653 + "cpu": [ 2654 + "riscv64" 2655 + ], 2656 + "license": "Apache-2.0", 2657 + "optional": true, 2658 + "os": [ 2659 + "linux" 2660 + ], 2661 + "engines": { 2662 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 2663 + }, 2664 + "funding": { 2665 + "url": "https://opencollective.com/libvips" 2666 + }, 2667 + "optionalDependencies": { 2668 + "@img/sharp-libvips-linux-riscv64": "1.2.4" 2669 + } 2670 + }, 2633 2671 "node_modules/@img/sharp-linux-s390x": { 2634 2672 "version": "0.34.4", 2635 2673 "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz", ··· 2877 2915 "version": "0.3.13", 2878 2916 "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 2879 2917 "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 2880 - "dev": true, 2881 2918 "license": "MIT", 2882 2919 "dependencies": { 2883 2920 "@jridgewell/sourcemap-codec": "^1.5.0", ··· 2899 2936 "version": "3.1.2", 2900 2937 "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 2901 2938 "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 2902 - "dev": true, 2903 2939 "engines": { 2904 2940 "node": ">=6.0.0" 2905 2941 } 2906 2942 }, 2943 + "node_modules/@jridgewell/source-map": { 2944 + "version": "0.3.11", 2945 + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", 2946 + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", 2947 + "license": "MIT", 2948 + "optional": true, 2949 + "peer": true, 2950 + "dependencies": { 2951 + "@jridgewell/gen-mapping": "^0.3.5", 2952 + "@jridgewell/trace-mapping": "^0.3.25" 2953 + } 2954 + }, 2907 2955 "node_modules/@jridgewell/sourcemap-codec": { 2908 2956 "version": "1.5.5", 2909 2957 "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 2910 2958 "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 2911 - "dev": true, 2912 2959 "license": "MIT" 2913 2960 }, 2914 2961 "node_modules/@jridgewell/trace-mapping": { 2915 2962 "version": "0.3.31", 2916 2963 "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 2917 2964 "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 2918 - "dev": true, 2919 2965 "license": "MIT", 2920 2966 "dependencies": { 2921 2967 "@jridgewell/resolve-uri": "^3.1.0", ··· 3039 3085 } 3040 3086 }, 3041 3087 "node_modules/@next/env": { 3042 - "version": "16.0.7", 3043 - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.7.tgz", 3044 - "integrity": "sha512-gpaNgUh5nftFKRkRQGnVi5dpcYSKGcZZkQffZ172OrG/XkrnS7UBTQ648YY+8ME92cC4IojpI2LqTC8sTDhAaw==", 3088 + "version": "16.2.3", 3089 + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.3.tgz", 3090 + "integrity": "sha512-ZWXyj4uNu4GCWQw9cjRxWlbD+33mcDszIo9iQxFnBX3Wmgq9ulaSJcl6VhuWx5pCWqqD+9W6Wfz7N0lM5lYPMA==", 3045 3091 "license": "MIT" 3046 3092 }, 3047 3093 "node_modules/@next/eslint-plugin-next": { ··· 3111 3157 } 3112 3158 }, 3113 3159 "node_modules/@next/swc-darwin-arm64": { 3114 - "version": "16.0.7", 3115 - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.7.tgz", 3116 - "integrity": "sha512-LlDtCYOEj/rfSnEn/Idi+j1QKHxY9BJFmxx7108A6D8K0SB+bNgfYQATPk/4LqOl4C0Wo3LACg2ie6s7xqMpJg==", 3160 + "version": "16.2.3", 3161 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.3.tgz", 3162 + "integrity": "sha512-u37KDKTKQ+OQLvY+z7SNXixwo4Q2/IAJFDzU1fYe66IbCE51aDSAzkNDkWmLN0yjTUh4BKBd+hb69jYn6qqqSg==", 3117 3163 "cpu": [ 3118 3164 "arm64" 3119 3165 ], ··· 3127 3173 } 3128 3174 }, 3129 3175 "node_modules/@next/swc-darwin-x64": { 3130 - "version": "16.0.7", 3131 - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.7.tgz", 3132 - "integrity": "sha512-rtZ7BhnVvO1ICf3QzfW9H3aPz7GhBrnSIMZyr4Qy6boXF0b5E3QLs+cvJmg3PsTCG2M1PBoC+DANUi4wCOKXpA==", 3176 + "version": "16.2.3", 3177 + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.3.tgz", 3178 + "integrity": "sha512-gHjL/qy6Q6CG3176FWbAKyKh9IfntKZTB3RY/YOJdDFpHGsUDXVH38U4mMNpHVGXmeYW4wj22dMp1lTfmu/bTQ==", 3133 3179 "cpu": [ 3134 3180 "x64" 3135 3181 ], ··· 3143 3189 } 3144 3190 }, 3145 3191 "node_modules/@next/swc-linux-arm64-gnu": { 3146 - "version": "16.0.7", 3147 - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.7.tgz", 3148 - "integrity": "sha512-mloD5WcPIeIeeZqAIP5c2kdaTa6StwP4/2EGy1mUw8HiexSHGK/jcM7lFuS3u3i2zn+xH9+wXJs6njO7VrAqww==", 3192 + "version": "16.2.3", 3193 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.3.tgz", 3194 + "integrity": "sha512-U6vtblPtU/P14Y/b/n9ZY0GOxbbIhTFuaFR7F4/uMBidCi2nSdaOFhA0Go81L61Zd6527+yvuX44T4ksnf8T+Q==", 3149 3195 "cpu": [ 3150 3196 "arm64" 3151 3197 ], ··· 3159 3205 } 3160 3206 }, 3161 3207 "node_modules/@next/swc-linux-arm64-musl": { 3162 - "version": "16.0.7", 3163 - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.7.tgz", 3164 - "integrity": "sha512-+ksWNrZrthisXuo9gd1XnjHRowCbMtl/YgMpbRvFeDEqEBd523YHPWpBuDjomod88U8Xliw5DHhekBC3EOOd9g==", 3208 + "version": "16.2.3", 3209 + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.3.tgz", 3210 + "integrity": "sha512-/YV0LgjHUmfhQpn9bVoGc4x4nan64pkhWR5wyEV8yCOfwwrH630KpvRg86olQHTwHIn1z59uh6JwKvHq1h4QEw==", 3165 3211 "cpu": [ 3166 3212 "arm64" 3167 3213 ], ··· 3175 3221 } 3176 3222 }, 3177 3223 "node_modules/@next/swc-linux-x64-gnu": { 3178 - "version": "16.0.7", 3179 - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.7.tgz", 3180 - "integrity": "sha512-4WtJU5cRDxpEE44Ana2Xro1284hnyVpBb62lIpU5k85D8xXxatT+rXxBgPkc7C1XwkZMWpK5rXLXTh9PFipWsA==", 3224 + "version": "16.2.3", 3225 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.3.tgz", 3226 + "integrity": "sha512-/HiWEcp+WMZ7VajuiMEFGZ6cg0+aYZPqCJD3YJEfpVWQsKYSjXQG06vJP6F1rdA03COD9Fef4aODs3YxKx+RDQ==", 3181 3227 "cpu": [ 3182 3228 "x64" 3183 3229 ], ··· 3191 3237 } 3192 3238 }, 3193 3239 "node_modules/@next/swc-linux-x64-musl": { 3194 - "version": "16.0.7", 3195 - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.7.tgz", 3196 - "integrity": "sha512-HYlhqIP6kBPXalW2dbMTSuB4+8fe+j9juyxwfMwCe9kQPPeiyFn7NMjNfoFOfJ2eXkeQsoUGXg+O2SE3m4Qg2w==", 3240 + "version": "16.2.3", 3241 + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.3.tgz", 3242 + "integrity": "sha512-Kt44hGJfZSefebhk/7nIdivoDr3Ugp5+oNz9VvF3GUtfxutucUIHfIO0ZYO8QlOPDQloUVQn4NVC/9JvHRk9hw==", 3197 3243 "cpu": [ 3198 3244 "x64" 3199 3245 ], ··· 3207 3253 } 3208 3254 }, 3209 3255 "node_modules/@next/swc-win32-arm64-msvc": { 3210 - "version": "16.0.7", 3211 - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.7.tgz", 3212 - "integrity": "sha512-EviG+43iOoBRZg9deGauXExjRphhuYmIOJ12b9sAPy0eQ6iwcPxfED2asb/s2/yiLYOdm37kPaiZu8uXSYPs0Q==", 3256 + "version": "16.2.3", 3257 + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.3.tgz", 3258 + "integrity": "sha512-O2NZ9ie3Tq6xj5Z5CSwBT3+aWAMW2PIZ4egUi9MaWLkwaehgtB7YZjPm+UpcNpKOme0IQuqDcor7BsW6QBiQBw==", 3213 3259 "cpu": [ 3214 3260 "arm64" 3215 3261 ], ··· 3223 3269 } 3224 3270 }, 3225 3271 "node_modules/@next/swc-win32-x64-msvc": { 3226 - "version": "16.0.7", 3227 - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.7.tgz", 3228 - "integrity": "sha512-gniPjy55zp5Eg0896qSrf3yB1dw4F/3s8VK1ephdsZZ129j2n6e1WqCbE2YgcKhW9hPB9TVZENugquWJD5x0ug==", 3272 + "version": "16.2.3", 3273 + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.3.tgz", 3274 + "integrity": "sha512-Ibm29/GgB/ab5n7XKqlStkm54qqZE8v2FnijUPBgrd67FWrac45o/RsNlaOWjme/B5UqeWt/8KM4aWBwA1D2Kw==", 3229 3275 "cpu": [ 3230 3276 "x64" 3231 3277 ], ··· 6474 6520 "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" 6475 6521 } 6476 6522 }, 6523 + "node_modules/@react-email/body": { 6524 + "version": "0.3.0", 6525 + "resolved": "https://registry.npmjs.org/@react-email/body/-/body-0.3.0.tgz", 6526 + "integrity": "sha512-uGo0BOOzjbMUo3lu+BIDWayvn5o6Xyfmnlla5VGf05n8gHMvO1ll7U4FtzWe3hxMLwt53pmc4iE0M+B5slG+Ug==", 6527 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6528 + "license": "MIT", 6529 + "engines": { 6530 + "node": ">=20.0.0" 6531 + }, 6532 + "peerDependencies": { 6533 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6534 + } 6535 + }, 6536 + "node_modules/@react-email/button": { 6537 + "version": "0.2.1", 6538 + "resolved": "https://registry.npmjs.org/@react-email/button/-/button-0.2.1.tgz", 6539 + "integrity": "sha512-qXyj7RZLE7POy9BMKSoqQ00tOXThjOZSUnI2Yu9i29IHngPlmrNayIWBoVKtElES7OWwypUcpiajwi1mUWx6/A==", 6540 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6541 + "license": "MIT", 6542 + "engines": { 6543 + "node": ">=20.0.0" 6544 + }, 6545 + "peerDependencies": { 6546 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6547 + } 6548 + }, 6549 + "node_modules/@react-email/code-block": { 6550 + "version": "0.2.1", 6551 + "resolved": "https://registry.npmjs.org/@react-email/code-block/-/code-block-0.2.1.tgz", 6552 + "integrity": "sha512-M3B7JpVH4ytgn83/ujRR1k1DQHvTeABiDM61OvAbjLRPhC/5KLHU5KkzIbbuGIrjWwxAbL1kSQzU8MhLEtSxyw==", 6553 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6554 + "license": "MIT", 6555 + "dependencies": { 6556 + "prismjs": "^1.30.0" 6557 + }, 6558 + "engines": { 6559 + "node": ">=20.0.0" 6560 + }, 6561 + "peerDependencies": { 6562 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6563 + } 6564 + }, 6565 + "node_modules/@react-email/code-inline": { 6566 + "version": "0.0.6", 6567 + "resolved": "https://registry.npmjs.org/@react-email/code-inline/-/code-inline-0.0.6.tgz", 6568 + "integrity": "sha512-jfhebvv3dVsp3OdPgKXnk8+e2pBiDVZejDOBFzBa/IblrAJ9cQDkN6rBD5IyEg8hTOxwbw3iaI/yZFmDmIguIA==", 6569 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6570 + "license": "MIT", 6571 + "engines": { 6572 + "node": ">=20.0.0" 6573 + }, 6574 + "peerDependencies": { 6575 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6576 + } 6577 + }, 6578 + "node_modules/@react-email/column": { 6579 + "version": "0.0.14", 6580 + "resolved": "https://registry.npmjs.org/@react-email/column/-/column-0.0.14.tgz", 6581 + "integrity": "sha512-f+W+Bk2AjNO77zynE33rHuQhyqVICx4RYtGX9NKsGUg0wWjdGP0qAuIkhx9Rnmk4/hFMo1fUrtYNqca9fwJdHg==", 6582 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6583 + "license": "MIT", 6584 + "engines": { 6585 + "node": ">=20.0.0" 6586 + }, 6587 + "peerDependencies": { 6588 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6589 + } 6590 + }, 6591 + "node_modules/@react-email/components": { 6592 + "version": "1.0.12", 6593 + "resolved": "https://registry.npmjs.org/@react-email/components/-/components-1.0.12.tgz", 6594 + "integrity": "sha512-tH18JhPDWgE+3jnYkzyB6ZrZdfNnEsFe4PwmuXmlOw4NGIysP8wPY5aXZg++pTG9qUabXg1nzX/FGHGkObH8xQ==", 6595 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6596 + "license": "MIT", 6597 + "dependencies": { 6598 + "@react-email/body": "0.3.0", 6599 + "@react-email/button": "0.2.1", 6600 + "@react-email/code-block": "0.2.1", 6601 + "@react-email/code-inline": "0.0.6", 6602 + "@react-email/column": "0.0.14", 6603 + "@react-email/container": "0.0.16", 6604 + "@react-email/font": "0.0.10", 6605 + "@react-email/head": "0.0.13", 6606 + "@react-email/heading": "0.0.16", 6607 + "@react-email/hr": "0.0.12", 6608 + "@react-email/html": "0.0.12", 6609 + "@react-email/img": "0.0.12", 6610 + "@react-email/link": "0.0.13", 6611 + "@react-email/markdown": "0.0.18", 6612 + "@react-email/preview": "0.0.14", 6613 + "@react-email/render": "2.0.6", 6614 + "@react-email/row": "0.0.13", 6615 + "@react-email/section": "0.0.17", 6616 + "@react-email/tailwind": "2.0.7", 6617 + "@react-email/text": "0.1.6" 6618 + }, 6619 + "engines": { 6620 + "node": ">=20.0.0" 6621 + }, 6622 + "peerDependencies": { 6623 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6624 + } 6625 + }, 6626 + "node_modules/@react-email/components/node_modules/@react-email/render": { 6627 + "version": "2.0.6", 6628 + "resolved": "https://registry.npmjs.org/@react-email/render/-/render-2.0.6.tgz", 6629 + "integrity": "sha512-xOzaYkH3jLZKqN5MqrTXYnmqBYUnZSVbkxdb5PGGmDcK6sKDVMliaDiSwfXajRC9JtSHTcGc2tmGLHWuCgVpog==", 6630 + "license": "MIT", 6631 + "dependencies": { 6632 + "html-to-text": "^9.0.5", 6633 + "prettier": "^3.5.3" 6634 + }, 6635 + "engines": { 6636 + "node": ">=20.0.0" 6637 + }, 6638 + "peerDependencies": { 6639 + "react": "^18.0 || ^19.0 || ^19.0.0-rc", 6640 + "react-dom": "^18.0 || ^19.0 || ^19.0.0-rc" 6641 + } 6642 + }, 6643 + "node_modules/@react-email/components/node_modules/prettier": { 6644 + "version": "3.8.3", 6645 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", 6646 + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", 6647 + "license": "MIT", 6648 + "bin": { 6649 + "prettier": "bin/prettier.cjs" 6650 + }, 6651 + "engines": { 6652 + "node": ">=14" 6653 + }, 6654 + "funding": { 6655 + "url": "https://github.com/prettier/prettier?sponsor=1" 6656 + } 6657 + }, 6658 + "node_modules/@react-email/container": { 6659 + "version": "0.0.16", 6660 + "resolved": "https://registry.npmjs.org/@react-email/container/-/container-0.0.16.tgz", 6661 + "integrity": "sha512-QWBB56RkkU0AJ9h+qy33gfT5iuZknPC7Un/IjZv9B0QmMIK+WWacc0cH6y2SV5Cv/b99hU94fjEMOOO4enpkbQ==", 6662 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6663 + "license": "MIT", 6664 + "engines": { 6665 + "node": ">=20.0.0" 6666 + }, 6667 + "peerDependencies": { 6668 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6669 + } 6670 + }, 6671 + "node_modules/@react-email/font": { 6672 + "version": "0.0.10", 6673 + "resolved": "https://registry.npmjs.org/@react-email/font/-/font-0.0.10.tgz", 6674 + "integrity": "sha512-0urVSgCmQIfx5r7Xc586miBnQUVnGp3OTYUm8m5pwtQRdTRO5XrTtEfNJ3JhYhSOruV0nD8fd+dXtKXobum6tA==", 6675 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6676 + "license": "MIT", 6677 + "engines": { 6678 + "node": ">=20.0.0" 6679 + }, 6680 + "peerDependencies": { 6681 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6682 + } 6683 + }, 6684 + "node_modules/@react-email/head": { 6685 + "version": "0.0.13", 6686 + "resolved": "https://registry.npmjs.org/@react-email/head/-/head-0.0.13.tgz", 6687 + "integrity": "sha512-AJg6le/08Gz4tm+6MtKXqtNNyKHzmooOCdmtqmWxD7FxoAdU1eVcizhtQ0gcnVaY6ethEyE/hnEzQxt1zu5Kog==", 6688 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6689 + "license": "MIT", 6690 + "engines": { 6691 + "node": ">=20.0.0" 6692 + }, 6693 + "peerDependencies": { 6694 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6695 + } 6696 + }, 6697 + "node_modules/@react-email/heading": { 6698 + "version": "0.0.16", 6699 + "resolved": "https://registry.npmjs.org/@react-email/heading/-/heading-0.0.16.tgz", 6700 + "integrity": "sha512-jmsKnQm1ykpBzw4hCYHwBkt5pW2jScXffPeEH5ZRF5tZeF5b1pvlFTO9han7C0pCkZYo1kEvWiRtx69yfCIwuw==", 6701 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6702 + "license": "MIT", 6703 + "engines": { 6704 + "node": ">=20.0.0" 6705 + }, 6706 + "peerDependencies": { 6707 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6708 + } 6709 + }, 6710 + "node_modules/@react-email/hr": { 6711 + "version": "0.0.12", 6712 + "resolved": "https://registry.npmjs.org/@react-email/hr/-/hr-0.0.12.tgz", 6713 + "integrity": "sha512-TwmOmBDibavUQpXBxpmZYi2Iks/yeZOzFYh+di9EltMSnEabH8dMZXrl+pxNXzCgZ2XE8HY7VmUL65Lenfu5PA==", 6714 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6715 + "license": "MIT", 6716 + "engines": { 6717 + "node": ">=20.0.0" 6718 + }, 6719 + "peerDependencies": { 6720 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6721 + } 6722 + }, 6723 + "node_modules/@react-email/html": { 6724 + "version": "0.0.12", 6725 + "resolved": "https://registry.npmjs.org/@react-email/html/-/html-0.0.12.tgz", 6726 + "integrity": "sha512-KTShZesan+UsreU7PDUV90afrZwU5TLwYlALuCSU0OT+/U8lULNNbAUekg+tGwCnOfIKYtpDPKkAMRdYlqUznw==", 6727 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6728 + "license": "MIT", 6729 + "engines": { 6730 + "node": ">=20.0.0" 6731 + }, 6732 + "peerDependencies": { 6733 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6734 + } 6735 + }, 6736 + "node_modules/@react-email/img": { 6737 + "version": "0.0.12", 6738 + "resolved": "https://registry.npmjs.org/@react-email/img/-/img-0.0.12.tgz", 6739 + "integrity": "sha512-sRCpEARNVTf3FQhZOC+JTvu5r6ubiYWkT0ucYXg8ctkyi4G8QG+jgYPiNUqVeTLA2STOfmPM/nrk1nb84y6CPQ==", 6740 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6741 + "license": "MIT", 6742 + "engines": { 6743 + "node": ">=20.0.0" 6744 + }, 6745 + "peerDependencies": { 6746 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6747 + } 6748 + }, 6749 + "node_modules/@react-email/link": { 6750 + "version": "0.0.13", 6751 + "resolved": "https://registry.npmjs.org/@react-email/link/-/link-0.0.13.tgz", 6752 + "integrity": "sha512-lkWc/NjOcefRZMkQoSDDbuKBEBDES9aXnFEOuPH845wD3TxPwh+QTf0fStuzjoRLUZWpHnio4z7qGGRYusn/sw==", 6753 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6754 + "license": "MIT", 6755 + "engines": { 6756 + "node": ">=20.0.0" 6757 + }, 6758 + "peerDependencies": { 6759 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6760 + } 6761 + }, 6762 + "node_modules/@react-email/markdown": { 6763 + "version": "0.0.18", 6764 + "resolved": "https://registry.npmjs.org/@react-email/markdown/-/markdown-0.0.18.tgz", 6765 + "integrity": "sha512-gSuYK5fsMbGk87jDebqQ6fa2fKcWlkf2Dkva8kMONqLgGCq8/0d+ZQYMEJsdidIeBo3kmsnHZPrwdFB4HgjUXg==", 6766 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6767 + "license": "MIT", 6768 + "dependencies": { 6769 + "marked": "^15.0.12" 6770 + }, 6771 + "engines": { 6772 + "node": ">=20.0.0" 6773 + }, 6774 + "peerDependencies": { 6775 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6776 + } 6777 + }, 6778 + "node_modules/@react-email/preview": { 6779 + "version": "0.0.14", 6780 + "resolved": "https://registry.npmjs.org/@react-email/preview/-/preview-0.0.14.tgz", 6781 + "integrity": "sha512-aYK8q0IPkBXyMsbpMXgxazwHxYJxTrXrV95GFuu2HbEiIToMwSyUgb8HDFYwPqqfV03/jbwqlsXmFxsOd+VNaw==", 6782 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6783 + "license": "MIT", 6784 + "engines": { 6785 + "node": ">=20.0.0" 6786 + }, 6787 + "peerDependencies": { 6788 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6789 + } 6790 + }, 6791 + "node_modules/@react-email/render": { 6792 + "version": "2.0.7", 6793 + "resolved": "https://registry.npmjs.org/@react-email/render/-/render-2.0.7.tgz", 6794 + "integrity": "sha512-XCsqujKURb4egU8+z7RX1/yxRx1Qo89uGhy6UXyB5Oxq1SK+48t0AD/3qeuDGgDvyS+Ti+0oDT3nn5/dcG4Ttg==", 6795 + "license": "MIT", 6796 + "dependencies": { 6797 + "html-to-text": "^9.0.5", 6798 + "prettier": "^3.5.3" 6799 + }, 6800 + "engines": { 6801 + "node": ">=20.0.0" 6802 + }, 6803 + "peerDependencies": { 6804 + "react": "^18.0 || ^19.0 || ^19.0.0-rc", 6805 + "react-dom": "^18.0 || ^19.0 || ^19.0.0-rc" 6806 + } 6807 + }, 6808 + "node_modules/@react-email/render/node_modules/prettier": { 6809 + "version": "3.8.3", 6810 + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", 6811 + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", 6812 + "license": "MIT", 6813 + "bin": { 6814 + "prettier": "bin/prettier.cjs" 6815 + }, 6816 + "engines": { 6817 + "node": ">=14" 6818 + }, 6819 + "funding": { 6820 + "url": "https://github.com/prettier/prettier?sponsor=1" 6821 + } 6822 + }, 6823 + "node_modules/@react-email/row": { 6824 + "version": "0.0.13", 6825 + "resolved": "https://registry.npmjs.org/@react-email/row/-/row-0.0.13.tgz", 6826 + "integrity": "sha512-bYnOac40vIKCId7IkwuLAAsa3fKfSfqCvv6epJKmPE0JBuu5qI4FHFCl9o9dVpIIS08s/ub+Y/txoMt0dYziGw==", 6827 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6828 + "license": "MIT", 6829 + "engines": { 6830 + "node": ">=20.0.0" 6831 + }, 6832 + "peerDependencies": { 6833 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6834 + } 6835 + }, 6836 + "node_modules/@react-email/section": { 6837 + "version": "0.0.17", 6838 + "resolved": "https://registry.npmjs.org/@react-email/section/-/section-0.0.17.tgz", 6839 + "integrity": "sha512-qNl65ye3W0Rd5udhdORzTV9ezjb+GFqQQSae03NDzXtmJq6sqVXNWNiVolAjvJNypim+zGXmv6J9TcV5aNtE/w==", 6840 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6841 + "license": "MIT", 6842 + "engines": { 6843 + "node": ">=20.0.0" 6844 + }, 6845 + "peerDependencies": { 6846 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6847 + } 6848 + }, 6849 + "node_modules/@react-email/tailwind": { 6850 + "version": "2.0.7", 6851 + "resolved": "https://registry.npmjs.org/@react-email/tailwind/-/tailwind-2.0.7.tgz", 6852 + "integrity": "sha512-kGw80weVFXikcnCXbigTGXGWQ0MRCSYNCudcdkWxebkWYd0FG6/NPoN3V1p/u68/4+NxZwYPVi2fhnp0x23HdA==", 6853 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6854 + "license": "MIT", 6855 + "dependencies": { 6856 + "tailwindcss": "^4.1.18" 6857 + }, 6858 + "engines": { 6859 + "node": ">=20.0.0" 6860 + }, 6861 + "peerDependencies": { 6862 + "@react-email/body": ">=0", 6863 + "@react-email/button": ">=0", 6864 + "@react-email/code-block": ">=0", 6865 + "@react-email/code-inline": ">=0", 6866 + "@react-email/container": ">=0", 6867 + "@react-email/heading": ">=0", 6868 + "@react-email/hr": ">=0", 6869 + "@react-email/img": ">=0", 6870 + "@react-email/link": ">=0", 6871 + "@react-email/preview": ">=0", 6872 + "@react-email/text": ">=0", 6873 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6874 + }, 6875 + "peerDependenciesMeta": { 6876 + "@react-email/body": { 6877 + "optional": true 6878 + }, 6879 + "@react-email/button": { 6880 + "optional": true 6881 + }, 6882 + "@react-email/code-block": { 6883 + "optional": true 6884 + }, 6885 + "@react-email/code-inline": { 6886 + "optional": true 6887 + }, 6888 + "@react-email/container": { 6889 + "optional": true 6890 + }, 6891 + "@react-email/heading": { 6892 + "optional": true 6893 + }, 6894 + "@react-email/hr": { 6895 + "optional": true 6896 + }, 6897 + "@react-email/img": { 6898 + "optional": true 6899 + }, 6900 + "@react-email/link": { 6901 + "optional": true 6902 + }, 6903 + "@react-email/preview": { 6904 + "optional": true 6905 + } 6906 + } 6907 + }, 6908 + "node_modules/@react-email/tailwind/node_modules/tailwindcss": { 6909 + "version": "4.2.3", 6910 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.3.tgz", 6911 + "integrity": "sha512-fA/NX5gMf0ooCLISgB0wScaWgaj6rjTN2SVAwleURjiya7ITNkV+VMmoHtKkldP6CIZoYCZyxb8zP/e2TWoEtQ==", 6912 + "license": "MIT" 6913 + }, 6914 + "node_modules/@react-email/text": { 6915 + "version": "0.1.6", 6916 + "resolved": "https://registry.npmjs.org/@react-email/text/-/text-0.1.6.tgz", 6917 + "integrity": "sha512-TYqkioRS45wTR5il3dYk/SbUjjEdhSwh9BtRNB99qNH1pXAwA45H7rAuxehiu8iJQJH0IyIr+6n62gBz9ezmsw==", 6918 + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", 6919 + "license": "MIT", 6920 + "engines": { 6921 + "node": ">=20.0.0" 6922 + }, 6923 + "peerDependencies": { 6924 + "react": "^18.0 || ^19.0 || ^19.0.0-rc" 6925 + } 6926 + }, 6927 + "node_modules/@react-email/ui": { 6928 + "version": "6.0.0", 6929 + "resolved": "https://registry.npmjs.org/@react-email/ui/-/ui-6.0.0.tgz", 6930 + "integrity": "sha512-KhlSVZZS6SOh5YlOCTHGsa3jyeyaq4jvI9MIU+mIX3vRQQ/NU/dS1nQJLTbnFyCqz55JvEDfFTX/3hpcYct1lg==", 6931 + "dev": true, 6932 + "license": "MIT", 6933 + "dependencies": { 6934 + "esbuild": "0.27.5", 6935 + "next": "16.2.3" 6936 + } 6937 + }, 6938 + "node_modules/@react-email/ui/node_modules/@esbuild/aix-ppc64": { 6939 + "version": "0.27.5", 6940 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.5.tgz", 6941 + "integrity": "sha512-nGsF/4C7uzUj+Nj/4J+Zt0bYQ6bz33Phz8Lb2N80Mti1HjGclTJdXZ+9APC4kLvONbjxN1zfvYNd8FEcbBK/MQ==", 6942 + "cpu": [ 6943 + "ppc64" 6944 + ], 6945 + "dev": true, 6946 + "license": "MIT", 6947 + "optional": true, 6948 + "os": [ 6949 + "aix" 6950 + ], 6951 + "engines": { 6952 + "node": ">=18" 6953 + } 6954 + }, 6955 + "node_modules/@react-email/ui/node_modules/@esbuild/android-arm": { 6956 + "version": "0.27.5", 6957 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.5.tgz", 6958 + "integrity": "sha512-Cv781jd0Rfj/paoNrul1/r4G0HLvuFKYh7C9uHZ2Pl8YXstzvCyyeWENTFR9qFnRzNMCjXmsulZuvosDg10Mog==", 6959 + "cpu": [ 6960 + "arm" 6961 + ], 6962 + "dev": true, 6963 + "license": "MIT", 6964 + "optional": true, 6965 + "os": [ 6966 + "android" 6967 + ], 6968 + "engines": { 6969 + "node": ">=18" 6970 + } 6971 + }, 6972 + "node_modules/@react-email/ui/node_modules/@esbuild/android-arm64": { 6973 + "version": "0.27.5", 6974 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.5.tgz", 6975 + "integrity": "sha512-Oeghq+XFgh1pUGd1YKs4DDoxzxkoUkvko+T/IVKwlghKLvvjbGFB3ek8VEDBmNvqhwuL0CQS3cExdzpmUyIrgA==", 6976 + "cpu": [ 6977 + "arm64" 6978 + ], 6979 + "dev": true, 6980 + "license": "MIT", 6981 + "optional": true, 6982 + "os": [ 6983 + "android" 6984 + ], 6985 + "engines": { 6986 + "node": ">=18" 6987 + } 6988 + }, 6989 + "node_modules/@react-email/ui/node_modules/@esbuild/android-x64": { 6990 + "version": "0.27.5", 6991 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.5.tgz", 6992 + "integrity": "sha512-nQD7lspbzerlmtNOxYMFAGmhxgzn8Z7m9jgFkh6kpkjsAhZee1w8tJW3ZlW+N9iRePz0oPUDrYrXidCPSImD0Q==", 6993 + "cpu": [ 6994 + "x64" 6995 + ], 6996 + "dev": true, 6997 + "license": "MIT", 6998 + "optional": true, 6999 + "os": [ 7000 + "android" 7001 + ], 7002 + "engines": { 7003 + "node": ">=18" 7004 + } 7005 + }, 7006 + "node_modules/@react-email/ui/node_modules/@esbuild/darwin-arm64": { 7007 + "version": "0.27.5", 7008 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.5.tgz", 7009 + "integrity": "sha512-I+Ya/MgC6rr8oRWGRDF3BXDfP8K1BVUggHqN6VI2lUZLdDi1IM1v2cy0e3lCPbP+pVcK3Tv8cgUhHse1kaNZZw==", 7010 + "cpu": [ 7011 + "arm64" 7012 + ], 7013 + "dev": true, 7014 + "license": "MIT", 7015 + "optional": true, 7016 + "os": [ 7017 + "darwin" 7018 + ], 7019 + "engines": { 7020 + "node": ">=18" 7021 + } 7022 + }, 7023 + "node_modules/@react-email/ui/node_modules/@esbuild/darwin-x64": { 7024 + "version": "0.27.5", 7025 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.5.tgz", 7026 + "integrity": "sha512-MCjQUtC8wWJn/pIPM7vQaO69BFgwPD1jriEdqwTCKzWjGgkMbcg+M5HzrOhPhuYe1AJjXlHmD142KQf+jnYj8A==", 7027 + "cpu": [ 7028 + "x64" 7029 + ], 7030 + "dev": true, 7031 + "license": "MIT", 7032 + "optional": true, 7033 + "os": [ 7034 + "darwin" 7035 + ], 7036 + "engines": { 7037 + "node": ">=18" 7038 + } 7039 + }, 7040 + "node_modules/@react-email/ui/node_modules/@esbuild/freebsd-arm64": { 7041 + "version": "0.27.5", 7042 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.5.tgz", 7043 + "integrity": "sha512-X6xVS+goSH0UelYXnuf4GHLwpOdc8rgK/zai+dKzBMnncw7BTQIwquOodE7EKvY2UVUetSqyAfyZC1D+oqLQtg==", 7044 + "cpu": [ 7045 + "arm64" 7046 + ], 7047 + "dev": true, 7048 + "license": "MIT", 7049 + "optional": true, 7050 + "os": [ 7051 + "freebsd" 7052 + ], 7053 + "engines": { 7054 + "node": ">=18" 7055 + } 7056 + }, 7057 + "node_modules/@react-email/ui/node_modules/@esbuild/freebsd-x64": { 7058 + "version": "0.27.5", 7059 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.5.tgz", 7060 + "integrity": "sha512-233X1FGo3a8x1ekLB6XT69LfZ83vqz+9z3TSEQCTYfMNY880A97nr81KbPcAMl9rmOFp11wO0dP+eB18KU/Ucg==", 7061 + "cpu": [ 7062 + "x64" 7063 + ], 7064 + "dev": true, 7065 + "license": "MIT", 7066 + "optional": true, 7067 + "os": [ 7068 + "freebsd" 7069 + ], 7070 + "engines": { 7071 + "node": ">=18" 7072 + } 7073 + }, 7074 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-arm": { 7075 + "version": "0.27.5", 7076 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.5.tgz", 7077 + "integrity": "sha512-0wkVrYHG4sdCCN/bcwQ7yYMXACkaHc3UFeaEOwSVW6e5RycMageYAFv+JS2bKLwHyeKVUvtoVH+5/RHq0fgeFw==", 7078 + "cpu": [ 7079 + "arm" 7080 + ], 7081 + "dev": true, 7082 + "license": "MIT", 7083 + "optional": true, 7084 + "os": [ 7085 + "linux" 7086 + ], 7087 + "engines": { 7088 + "node": ">=18" 7089 + } 7090 + }, 7091 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-arm64": { 7092 + "version": "0.27.5", 7093 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.5.tgz", 7094 + "integrity": "sha512-euKkilsNOv7x/M1NKsx5znyprbpsRFIzTV6lWziqJch7yWYayfLtZzDxDTl+LSQDJYAjd9TVb/Kt5UKIrj2e4A==", 7095 + "cpu": [ 7096 + "arm64" 7097 + ], 7098 + "dev": true, 7099 + "license": "MIT", 7100 + "optional": true, 7101 + "os": [ 7102 + "linux" 7103 + ], 7104 + "engines": { 7105 + "node": ">=18" 7106 + } 7107 + }, 7108 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-ia32": { 7109 + "version": "0.27.5", 7110 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.5.tgz", 7111 + "integrity": "sha512-hVRQX4+P3MS36NxOy24v/Cdsimy/5HYePw+tmPqnNN1fxV0bPrFWR6TMqwXPwoTM2VzbkA+4lbHWUKDd5ZDA/w==", 7112 + "cpu": [ 7113 + "ia32" 7114 + ], 7115 + "dev": true, 7116 + "license": "MIT", 7117 + "optional": true, 7118 + "os": [ 7119 + "linux" 7120 + ], 7121 + "engines": { 7122 + "node": ">=18" 7123 + } 7124 + }, 7125 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-loong64": { 7126 + "version": "0.27.5", 7127 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.5.tgz", 7128 + "integrity": "sha512-mKqqRuOPALI8nDzhOBmIS0INvZOOFGGg5n1osGIXAx8oersceEbKd4t1ACNTHM3sJBXGFAlEgqM+svzjPot+ZQ==", 7129 + "cpu": [ 7130 + "loong64" 7131 + ], 7132 + "dev": true, 7133 + "license": "MIT", 7134 + "optional": true, 7135 + "os": [ 7136 + "linux" 7137 + ], 7138 + "engines": { 7139 + "node": ">=18" 7140 + } 7141 + }, 7142 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-mips64el": { 7143 + "version": "0.27.5", 7144 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.5.tgz", 7145 + "integrity": "sha512-EE/QXH9IyaAj1qeuIV5+/GZkBTipgGO782Ff7Um3vPS9cvLhJJeATy4Ggxikz2inZ46KByamMn6GqtqyVjhenA==", 7146 + "cpu": [ 7147 + "mips64el" 7148 + ], 7149 + "dev": true, 7150 + "license": "MIT", 7151 + "optional": true, 7152 + "os": [ 7153 + "linux" 7154 + ], 7155 + "engines": { 7156 + "node": ">=18" 7157 + } 7158 + }, 7159 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-ppc64": { 7160 + "version": "0.27.5", 7161 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.5.tgz", 7162 + "integrity": "sha512-0V2iF1RGxBf1b7/BjurA5jfkl7PtySjom1r6xOK2q9KWw/XCpAdtB6KNMO+9xx69yYfSCRR9FE0TyKfHA2eQMw==", 7163 + "cpu": [ 7164 + "ppc64" 7165 + ], 7166 + "dev": true, 7167 + "license": "MIT", 7168 + "optional": true, 7169 + "os": [ 7170 + "linux" 7171 + ], 7172 + "engines": { 7173 + "node": ">=18" 7174 + } 7175 + }, 7176 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-riscv64": { 7177 + "version": "0.27.5", 7178 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.5.tgz", 7179 + "integrity": "sha512-rYxThBx6G9HN6tFNuvB/vykeLi4VDsm5hE5pVwzqbAjZEARQrWu3noZSfbEnPZ/CRXP3271GyFk/49up2W190g==", 7180 + "cpu": [ 7181 + "riscv64" 7182 + ], 7183 + "dev": true, 7184 + "license": "MIT", 7185 + "optional": true, 7186 + "os": [ 7187 + "linux" 7188 + ], 7189 + "engines": { 7190 + "node": ">=18" 7191 + } 7192 + }, 7193 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-s390x": { 7194 + "version": "0.27.5", 7195 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.5.tgz", 7196 + "integrity": "sha512-uEP2q/4qgd8goEUc4QIdU/1P2NmEtZ/zX5u3OpLlCGhJIuBIv0s0wr7TB2nBrd3/A5XIdEkkS5ZLF0ULuvaaYQ==", 7197 + "cpu": [ 7198 + "s390x" 7199 + ], 7200 + "dev": true, 7201 + "license": "MIT", 7202 + "optional": true, 7203 + "os": [ 7204 + "linux" 7205 + ], 7206 + "engines": { 7207 + "node": ">=18" 7208 + } 7209 + }, 7210 + "node_modules/@react-email/ui/node_modules/@esbuild/linux-x64": { 7211 + "version": "0.27.5", 7212 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.5.tgz", 7213 + "integrity": "sha512-+Gq47Wqq6PLOOZuBzVSII2//9yyHNKZLuwfzCemqexqOQCSz0zy0O26kIzyp9EMNMK+nZ0tFHBZrCeVUuMs/ew==", 7214 + "cpu": [ 7215 + "x64" 7216 + ], 7217 + "dev": true, 7218 + "license": "MIT", 7219 + "optional": true, 7220 + "os": [ 7221 + "linux" 7222 + ], 7223 + "engines": { 7224 + "node": ">=18" 7225 + } 7226 + }, 7227 + "node_modules/@react-email/ui/node_modules/@esbuild/netbsd-arm64": { 7228 + "version": "0.27.5", 7229 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.5.tgz", 7230 + "integrity": "sha512-3F/5EG8VHfN/I+W5cO1/SV2H9Q/5r7vcHabMnBqhHK2lTWOh3F8vixNzo8lqxrlmBtZVFpW8pmITHnq54+Tq4g==", 7231 + "cpu": [ 7232 + "arm64" 7233 + ], 7234 + "dev": true, 7235 + "license": "MIT", 7236 + "optional": true, 7237 + "os": [ 7238 + "netbsd" 7239 + ], 7240 + "engines": { 7241 + "node": ">=18" 7242 + } 7243 + }, 7244 + "node_modules/@react-email/ui/node_modules/@esbuild/netbsd-x64": { 7245 + "version": "0.27.5", 7246 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.5.tgz", 7247 + "integrity": "sha512-28t+Sj3CPN8vkMOlZotOmDgilQwVvxWZl7b8rxpn73Tt/gCnvrHxQUMng4uu3itdFvrtba/1nHejvxqz8xgEMA==", 7248 + "cpu": [ 7249 + "x64" 7250 + ], 7251 + "dev": true, 7252 + "license": "MIT", 7253 + "optional": true, 7254 + "os": [ 7255 + "netbsd" 7256 + ], 7257 + "engines": { 7258 + "node": ">=18" 7259 + } 7260 + }, 7261 + "node_modules/@react-email/ui/node_modules/@esbuild/openbsd-arm64": { 7262 + "version": "0.27.5", 7263 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.5.tgz", 7264 + "integrity": "sha512-Doz/hKtiuVAi9hMsBMpwBANhIZc8l238U2Onko3t2xUp8xtM0ZKdDYHMnm/qPFVthY8KtxkXaocwmMh6VolzMA==", 7265 + "cpu": [ 7266 + "arm64" 7267 + ], 7268 + "dev": true, 7269 + "license": "MIT", 7270 + "optional": true, 7271 + "os": [ 7272 + "openbsd" 7273 + ], 7274 + "engines": { 7275 + "node": ">=18" 7276 + } 7277 + }, 7278 + "node_modules/@react-email/ui/node_modules/@esbuild/openbsd-x64": { 7279 + "version": "0.27.5", 7280 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.5.tgz", 7281 + "integrity": "sha512-WfGVaa1oz5A7+ZFPkERIbIhKT4olvGl1tyzTRaB5yoZRLqC0KwaO95FeZtOdQj/oKkjW57KcVF944m62/0GYtA==", 7282 + "cpu": [ 7283 + "x64" 7284 + ], 7285 + "dev": true, 7286 + "license": "MIT", 7287 + "optional": true, 7288 + "os": [ 7289 + "openbsd" 7290 + ], 7291 + "engines": { 7292 + "node": ">=18" 7293 + } 7294 + }, 7295 + "node_modules/@react-email/ui/node_modules/@esbuild/openharmony-arm64": { 7296 + "version": "0.27.5", 7297 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.5.tgz", 7298 + "integrity": "sha512-Xh+VRuh6OMh3uJ0JkCjI57l+DVe7VRGBYymen8rFPnTVgATBwA6nmToxM2OwTlSvrnWpPKkrQUj93+K9huYC6A==", 7299 + "cpu": [ 7300 + "arm64" 7301 + ], 7302 + "dev": true, 7303 + "license": "MIT", 7304 + "optional": true, 7305 + "os": [ 7306 + "openharmony" 7307 + ], 7308 + "engines": { 7309 + "node": ">=18" 7310 + } 7311 + }, 7312 + "node_modules/@react-email/ui/node_modules/@esbuild/sunos-x64": { 7313 + "version": "0.27.5", 7314 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.5.tgz", 7315 + "integrity": "sha512-aC1gpJkkaUADHuAdQfuVTnqVUTLqqUNhAvEwHwVWcnVVZvNlDPGA0UveZsfXJJ9T6k9Po4eHi3c02gbdwO3g6w==", 7316 + "cpu": [ 7317 + "x64" 7318 + ], 7319 + "dev": true, 7320 + "license": "MIT", 7321 + "optional": true, 7322 + "os": [ 7323 + "sunos" 7324 + ], 7325 + "engines": { 7326 + "node": ">=18" 7327 + } 7328 + }, 7329 + "node_modules/@react-email/ui/node_modules/@esbuild/win32-arm64": { 7330 + "version": "0.27.5", 7331 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.5.tgz", 7332 + "integrity": "sha512-0UNx2aavV0fk6UpZcwXFLztA2r/k9jTUa7OW7SAea1VYUhkug99MW1uZeXEnPn5+cHOd0n8myQay6TlFnBR07w==", 7333 + "cpu": [ 7334 + "arm64" 7335 + ], 7336 + "dev": true, 7337 + "license": "MIT", 7338 + "optional": true, 7339 + "os": [ 7340 + "win32" 7341 + ], 7342 + "engines": { 7343 + "node": ">=18" 7344 + } 7345 + }, 7346 + "node_modules/@react-email/ui/node_modules/@esbuild/win32-ia32": { 7347 + "version": "0.27.5", 7348 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.5.tgz", 7349 + "integrity": "sha512-5nlJ3AeJWCTSzR7AEqVjT/faWyqKU86kCi1lLmxVqmNR+j4HrYdns+eTGjS/vmrzCIe8inGQckUadvS0+JkKdQ==", 7350 + "cpu": [ 7351 + "ia32" 7352 + ], 7353 + "dev": true, 7354 + "license": "MIT", 7355 + "optional": true, 7356 + "os": [ 7357 + "win32" 7358 + ], 7359 + "engines": { 7360 + "node": ">=18" 7361 + } 7362 + }, 7363 + "node_modules/@react-email/ui/node_modules/@esbuild/win32-x64": { 7364 + "version": "0.27.5", 7365 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.5.tgz", 7366 + "integrity": "sha512-PWypQR+d4FLfkhBIV+/kHsUELAnMpx1bRvvsn3p+/sAERbnCzFrtDRG2Xw5n+2zPxBK2+iaP+vetsRl4Ti7WgA==", 7367 + "cpu": [ 7368 + "x64" 7369 + ], 7370 + "dev": true, 7371 + "license": "MIT", 7372 + "optional": true, 7373 + "os": [ 7374 + "win32" 7375 + ], 7376 + "engines": { 7377 + "node": ">=18" 7378 + } 7379 + }, 7380 + "node_modules/@react-email/ui/node_modules/esbuild": { 7381 + "version": "0.27.5", 7382 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.5.tgz", 7383 + "integrity": "sha512-zdQoHBjuDqKsvV5OPaWansOwfSQ0Js+Uj9J85TBvj3bFW1JjWTSULMRwdQAc8qMeIScbClxeMK0jlrtB9linhA==", 7384 + "dev": true, 7385 + "hasInstallScript": true, 7386 + "license": "MIT", 7387 + "bin": { 7388 + "esbuild": "bin/esbuild" 7389 + }, 7390 + "engines": { 7391 + "node": ">=18" 7392 + }, 7393 + "optionalDependencies": { 7394 + "@esbuild/aix-ppc64": "0.27.5", 7395 + "@esbuild/android-arm": "0.27.5", 7396 + "@esbuild/android-arm64": "0.27.5", 7397 + "@esbuild/android-x64": "0.27.5", 7398 + "@esbuild/darwin-arm64": "0.27.5", 7399 + "@esbuild/darwin-x64": "0.27.5", 7400 + "@esbuild/freebsd-arm64": "0.27.5", 7401 + "@esbuild/freebsd-x64": "0.27.5", 7402 + "@esbuild/linux-arm": "0.27.5", 7403 + "@esbuild/linux-arm64": "0.27.5", 7404 + "@esbuild/linux-ia32": "0.27.5", 7405 + "@esbuild/linux-loong64": "0.27.5", 7406 + "@esbuild/linux-mips64el": "0.27.5", 7407 + "@esbuild/linux-ppc64": "0.27.5", 7408 + "@esbuild/linux-riscv64": "0.27.5", 7409 + "@esbuild/linux-s390x": "0.27.5", 7410 + "@esbuild/linux-x64": "0.27.5", 7411 + "@esbuild/netbsd-arm64": "0.27.5", 7412 + "@esbuild/netbsd-x64": "0.27.5", 7413 + "@esbuild/openbsd-arm64": "0.27.5", 7414 + "@esbuild/openbsd-x64": "0.27.5", 7415 + "@esbuild/openharmony-arm64": "0.27.5", 7416 + "@esbuild/sunos-x64": "0.27.5", 7417 + "@esbuild/win32-arm64": "0.27.5", 7418 + "@esbuild/win32-ia32": "0.27.5", 7419 + "@esbuild/win32-x64": "0.27.5" 7420 + } 7421 + }, 6477 7422 "node_modules/@react-spring/animated": { 6478 7423 "version": "10.0.0-beta.0", 6479 7424 "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-10.0.0-beta.0.tgz", ··· 7447 8392 "dev": true, 7448 8393 "license": "MIT" 7449 8394 }, 8395 + "node_modules/@selderee/plugin-htmlparser2": { 8396 + "version": "0.11.0", 8397 + "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", 8398 + "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", 8399 + "license": "MIT", 8400 + "dependencies": { 8401 + "domhandler": "^5.0.3", 8402 + "selderee": "^0.11.0" 8403 + }, 8404 + "funding": { 8405 + "url": "https://ko-fi.com/killymxi" 8406 + } 8407 + }, 7450 8408 "node_modules/@shikijs/core": { 7451 8409 "version": "3.8.1", 7452 8410 "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.8.1.tgz", ··· 7506 8464 "version": "10.0.2", 7507 8465 "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", 7508 8466 "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==" 8467 + }, 8468 + "node_modules/@socket.io/component-emitter": { 8469 + "version": "3.1.2", 8470 + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", 8471 + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", 8472 + "license": "MIT" 7509 8473 }, 7510 8474 "node_modules/@standard-schema/spec": { 7511 8475 "version": "1.1.0", ··· 8612 9576 "@types/node": "*" 8613 9577 } 8614 9578 }, 9579 + "node_modules/@types/cors": { 9580 + "version": "2.8.19", 9581 + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", 9582 + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", 9583 + "license": "MIT", 9584 + "dependencies": { 9585 + "@types/node": "*" 9586 + } 9587 + }, 8615 9588 "node_modules/@types/d3-array": { 8616 9589 "version": "3.2.2", 8617 9590 "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", ··· 8683 9656 "@types/ms": "*" 8684 9657 } 8685 9658 }, 9659 + "node_modules/@types/eslint": { 9660 + "version": "9.6.1", 9661 + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", 9662 + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", 9663 + "license": "MIT", 9664 + "optional": true, 9665 + "peer": true, 9666 + "dependencies": { 9667 + "@types/estree": "*", 9668 + "@types/json-schema": "*" 9669 + } 9670 + }, 9671 + "node_modules/@types/eslint-scope": { 9672 + "version": "3.7.7", 9673 + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", 9674 + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", 9675 + "license": "MIT", 9676 + "optional": true, 9677 + "peer": true, 9678 + "dependencies": { 9679 + "@types/eslint": "*", 9680 + "@types/estree": "*" 9681 + } 9682 + }, 8686 9683 "node_modules/@types/estree": { 8687 - "version": "1.0.6", 8688 - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 8689 - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" 9684 + "version": "1.0.8", 9685 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 9686 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 9687 + "license": "MIT" 8690 9688 }, 8691 9689 "node_modules/@types/estree-jsx": { 8692 9690 "version": "1.0.5", ··· 8708 9706 "version": "7.0.15", 8709 9707 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 8710 9708 "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 8711 - "dev": true 9709 + "devOptional": true 8712 9710 }, 8713 9711 "node_modules/@types/json5": { 8714 9712 "version": "0.0.29", ··· 8889 9887 "dev": true 8890 9888 }, 8891 9889 "node_modules/@types/ws": { 8892 - "version": "8.5.10", 8893 - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", 8894 - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", 9890 + "version": "8.18.1", 9891 + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", 9892 + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", 9893 + "license": "MIT", 8895 9894 "dependencies": { 8896 9895 "@types/node": "*" 8897 9896 } ··· 9254 10253 } 9255 10254 } 9256 10255 }, 10256 + "node_modules/@webassemblyjs/ast": { 10257 + "version": "1.14.1", 10258 + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", 10259 + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", 10260 + "license": "MIT", 10261 + "optional": true, 10262 + "peer": true, 10263 + "dependencies": { 10264 + "@webassemblyjs/helper-numbers": "1.13.2", 10265 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" 10266 + } 10267 + }, 10268 + "node_modules/@webassemblyjs/floating-point-hex-parser": { 10269 + "version": "1.13.2", 10270 + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", 10271 + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", 10272 + "license": "MIT", 10273 + "optional": true, 10274 + "peer": true 10275 + }, 10276 + "node_modules/@webassemblyjs/helper-api-error": { 10277 + "version": "1.13.2", 10278 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", 10279 + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", 10280 + "license": "MIT", 10281 + "optional": true, 10282 + "peer": true 10283 + }, 10284 + "node_modules/@webassemblyjs/helper-buffer": { 10285 + "version": "1.14.1", 10286 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", 10287 + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", 10288 + "license": "MIT", 10289 + "optional": true, 10290 + "peer": true 10291 + }, 10292 + "node_modules/@webassemblyjs/helper-numbers": { 10293 + "version": "1.13.2", 10294 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", 10295 + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", 10296 + "license": "MIT", 10297 + "optional": true, 10298 + "peer": true, 10299 + "dependencies": { 10300 + "@webassemblyjs/floating-point-hex-parser": "1.13.2", 10301 + "@webassemblyjs/helper-api-error": "1.13.2", 10302 + "@xtuc/long": "4.2.2" 10303 + } 10304 + }, 10305 + "node_modules/@webassemblyjs/helper-wasm-bytecode": { 10306 + "version": "1.13.2", 10307 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", 10308 + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", 10309 + "license": "MIT", 10310 + "optional": true, 10311 + "peer": true 10312 + }, 10313 + "node_modules/@webassemblyjs/helper-wasm-section": { 10314 + "version": "1.14.1", 10315 + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", 10316 + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", 10317 + "license": "MIT", 10318 + "optional": true, 10319 + "peer": true, 10320 + "dependencies": { 10321 + "@webassemblyjs/ast": "1.14.1", 10322 + "@webassemblyjs/helper-buffer": "1.14.1", 10323 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 10324 + "@webassemblyjs/wasm-gen": "1.14.1" 10325 + } 10326 + }, 10327 + "node_modules/@webassemblyjs/ieee754": { 10328 + "version": "1.13.2", 10329 + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", 10330 + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", 10331 + "license": "MIT", 10332 + "optional": true, 10333 + "peer": true, 10334 + "dependencies": { 10335 + "@xtuc/ieee754": "^1.2.0" 10336 + } 10337 + }, 10338 + "node_modules/@webassemblyjs/leb128": { 10339 + "version": "1.13.2", 10340 + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", 10341 + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", 10342 + "license": "Apache-2.0", 10343 + "optional": true, 10344 + "peer": true, 10345 + "dependencies": { 10346 + "@xtuc/long": "4.2.2" 10347 + } 10348 + }, 10349 + "node_modules/@webassemblyjs/utf8": { 10350 + "version": "1.13.2", 10351 + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", 10352 + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", 10353 + "license": "MIT", 10354 + "optional": true, 10355 + "peer": true 10356 + }, 10357 + "node_modules/@webassemblyjs/wasm-edit": { 10358 + "version": "1.14.1", 10359 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", 10360 + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", 10361 + "license": "MIT", 10362 + "optional": true, 10363 + "peer": true, 10364 + "dependencies": { 10365 + "@webassemblyjs/ast": "1.14.1", 10366 + "@webassemblyjs/helper-buffer": "1.14.1", 10367 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 10368 + "@webassemblyjs/helper-wasm-section": "1.14.1", 10369 + "@webassemblyjs/wasm-gen": "1.14.1", 10370 + "@webassemblyjs/wasm-opt": "1.14.1", 10371 + "@webassemblyjs/wasm-parser": "1.14.1", 10372 + "@webassemblyjs/wast-printer": "1.14.1" 10373 + } 10374 + }, 10375 + "node_modules/@webassemblyjs/wasm-gen": { 10376 + "version": "1.14.1", 10377 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", 10378 + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", 10379 + "license": "MIT", 10380 + "optional": true, 10381 + "peer": true, 10382 + "dependencies": { 10383 + "@webassemblyjs/ast": "1.14.1", 10384 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 10385 + "@webassemblyjs/ieee754": "1.13.2", 10386 + "@webassemblyjs/leb128": "1.13.2", 10387 + "@webassemblyjs/utf8": "1.13.2" 10388 + } 10389 + }, 10390 + "node_modules/@webassemblyjs/wasm-opt": { 10391 + "version": "1.14.1", 10392 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", 10393 + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", 10394 + "license": "MIT", 10395 + "optional": true, 10396 + "peer": true, 10397 + "dependencies": { 10398 + "@webassemblyjs/ast": "1.14.1", 10399 + "@webassemblyjs/helper-buffer": "1.14.1", 10400 + "@webassemblyjs/wasm-gen": "1.14.1", 10401 + "@webassemblyjs/wasm-parser": "1.14.1" 10402 + } 10403 + }, 10404 + "node_modules/@webassemblyjs/wasm-parser": { 10405 + "version": "1.14.1", 10406 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", 10407 + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", 10408 + "license": "MIT", 10409 + "optional": true, 10410 + "peer": true, 10411 + "dependencies": { 10412 + "@webassemblyjs/ast": "1.14.1", 10413 + "@webassemblyjs/helper-api-error": "1.13.2", 10414 + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", 10415 + "@webassemblyjs/ieee754": "1.13.2", 10416 + "@webassemblyjs/leb128": "1.13.2", 10417 + "@webassemblyjs/utf8": "1.13.2" 10418 + } 10419 + }, 10420 + "node_modules/@webassemblyjs/wast-printer": { 10421 + "version": "1.14.1", 10422 + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", 10423 + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", 10424 + "license": "MIT", 10425 + "optional": true, 10426 + "peer": true, 10427 + "dependencies": { 10428 + "@webassemblyjs/ast": "1.14.1", 10429 + "@xtuc/long": "4.2.2" 10430 + } 10431 + }, 10432 + "node_modules/@xtuc/ieee754": { 10433 + "version": "1.2.0", 10434 + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", 10435 + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", 10436 + "license": "BSD-3-Clause", 10437 + "optional": true, 10438 + "peer": true 10439 + }, 10440 + "node_modules/@xtuc/long": { 10441 + "version": "4.2.2", 10442 + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", 10443 + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", 10444 + "license": "Apache-2.0", 10445 + "optional": true, 10446 + "peer": true 10447 + }, 9257 10448 "node_modules/@yornaath/batshit": { 9258 10449 "version": "0.14.0", 9259 10450 "resolved": "https://registry.npmjs.org/@yornaath/batshit/-/batshit-0.14.0.tgz", ··· 9295 10486 } 9296 10487 }, 9297 10488 "node_modules/acorn": { 9298 - "version": "8.15.0", 9299 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", 9300 - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", 10489 + "version": "8.16.0", 10490 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", 10491 + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", 9301 10492 "license": "MIT", 9302 10493 "bin": { 9303 10494 "acorn": "bin/acorn" ··· 9315 10506 "acorn": "^8" 9316 10507 } 9317 10508 }, 10509 + "node_modules/acorn-import-phases": { 10510 + "version": "1.0.4", 10511 + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", 10512 + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", 10513 + "license": "MIT", 10514 + "optional": true, 10515 + "peer": true, 10516 + "engines": { 10517 + "node": ">=10.13.0" 10518 + }, 10519 + "peerDependencies": { 10520 + "acorn": "^8.14.0" 10521 + } 10522 + }, 9318 10523 "node_modules/acorn-jsx": { 9319 10524 "version": "5.3.2", 9320 10525 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", ··· 9344 10549 "version": "8.17.1", 9345 10550 "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", 9346 10551 "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", 9347 - "dev": true, 9348 10552 "dependencies": { 9349 10553 "fast-deep-equal": "^3.1.3", 9350 10554 "fast-uri": "^3.0.1", ··· 9354 10558 "funding": { 9355 10559 "type": "github", 9356 10560 "url": "https://github.com/sponsors/epoberezkin" 10561 + } 10562 + }, 10563 + "node_modules/ajv-formats": { 10564 + "version": "2.1.1", 10565 + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", 10566 + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", 10567 + "license": "MIT", 10568 + "optional": true, 10569 + "peer": true, 10570 + "dependencies": { 10571 + "ajv": "^8.0.0" 10572 + }, 10573 + "peerDependencies": { 10574 + "ajv": "^8.0.0" 10575 + }, 10576 + "peerDependenciesMeta": { 10577 + "ajv": { 10578 + "optional": true 10579 + } 10580 + } 10581 + }, 10582 + "node_modules/ajv-keywords": { 10583 + "version": "5.1.0", 10584 + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", 10585 + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", 10586 + "license": "MIT", 10587 + "optional": true, 10588 + "peer": true, 10589 + "dependencies": { 10590 + "fast-deep-equal": "^3.1.3" 10591 + }, 10592 + "peerDependencies": { 10593 + "ajv": "^8.8.2" 9357 10594 } 9358 10595 }, 9359 10596 "node_modules/ansi-regex": { ··· 9624 10861 "node": ">=8.0.0" 9625 10862 } 9626 10863 }, 10864 + "node_modules/atomically": { 10865 + "version": "2.1.1", 10866 + "resolved": "https://registry.npmjs.org/atomically/-/atomically-2.1.1.tgz", 10867 + "integrity": "sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==", 10868 + "license": "MIT", 10869 + "dependencies": { 10870 + "stubborn-fs": "^2.0.0", 10871 + "when-exit": "^2.1.4" 10872 + } 10873 + }, 9627 10874 "node_modules/available-typed-arrays": { 9628 10875 "version": "1.0.7", 9629 10876 "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", ··· 9709 10956 } 9710 10957 ] 9711 10958 }, 10959 + "node_modules/base64id": { 10960 + "version": "2.0.0", 10961 + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", 10962 + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", 10963 + "license": "MIT", 10964 + "engines": { 10965 + "node": "^4.5.0 || >= 5.9" 10966 + } 10967 + }, 9712 10968 "node_modules/baseline-browser-mapping": { 9713 - "version": "2.8.30", 9714 - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.30.tgz", 9715 - "integrity": "sha512-aTUKW4ptQhS64+v2d6IkPzymEzzhw+G0bA1g3uBRV3+ntkH+svttKseW5IOR4Ed6NUVKqnY7qT3dKvzQ7io4AA==", 9716 - "dev": true, 10969 + "version": "2.10.20", 10970 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.20.tgz", 10971 + "integrity": "sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==", 10972 + "license": "Apache-2.0", 9717 10973 "bin": { 9718 - "baseline-browser-mapping": "dist/cli.js" 10974 + "baseline-browser-mapping": "dist/cli.cjs" 10975 + }, 10976 + "engines": { 10977 + "node": ">=6.0.0" 9719 10978 } 9720 10979 }, 9721 10980 "node_modules/bignumber.js": { ··· 9823 11082 } 9824 11083 }, 9825 11084 "node_modules/browserslist": { 9826 - "version": "4.28.0", 9827 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", 9828 - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", 9829 - "dev": true, 11085 + "version": "4.28.2", 11086 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", 11087 + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", 11088 + "devOptional": true, 9830 11089 "funding": [ 9831 11090 { 9832 11091 "type": "opencollective", ··· 9841 11100 "url": "https://github.com/sponsors/ai" 9842 11101 } 9843 11102 ], 11103 + "license": "MIT", 9844 11104 "dependencies": { 9845 - "baseline-browser-mapping": "^2.8.25", 9846 - "caniuse-lite": "^1.0.30001754", 9847 - "electron-to-chromium": "^1.5.249", 9848 - "node-releases": "^2.0.27", 9849 - "update-browserslist-db": "^1.1.4" 11105 + "baseline-browser-mapping": "^2.10.12", 11106 + "caniuse-lite": "^1.0.30001782", 11107 + "electron-to-chromium": "^1.5.328", 11108 + "node-releases": "^2.0.36", 11109 + "update-browserslist-db": "^1.2.3" 9850 11110 }, 9851 11111 "bin": { 9852 11112 "browserslist": "cli.js" ··· 9883 11143 "version": "1.1.2", 9884 11144 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 9885 11145 "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 9886 - "dev": true 11146 + "devOptional": true 9887 11147 }, 9888 11148 "node_modules/bytes": { 9889 11149 "version": "3.1.2", ··· 9952 11212 } 9953 11213 }, 9954 11214 "node_modules/caniuse-lite": { 9955 - "version": "1.0.30001756", 9956 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001756.tgz", 9957 - "integrity": "sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==", 11215 + "version": "1.0.30001788", 11216 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz", 11217 + "integrity": "sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==", 9958 11218 "funding": [ 9959 11219 { 9960 11220 "type": "opencollective", ··· 9968 11228 "type": "github", 9969 11229 "url": "https://github.com/sponsors/ai" 9970 11230 } 9971 - ] 11231 + ], 11232 + "license": "CC-BY-4.0" 9972 11233 }, 9973 11234 "node_modules/canonicalize": { 9974 11235 "version": "1.0.8", ··· 10137 11398 "node": ">=18" 10138 11399 } 10139 11400 }, 11401 + "node_modules/chrome-trace-event": { 11402 + "version": "1.0.4", 11403 + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", 11404 + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", 11405 + "license": "MIT", 11406 + "optional": true, 11407 + "peer": true, 11408 + "engines": { 11409 + "node": ">=6.0" 11410 + } 11411 + }, 11412 + "node_modules/citty": { 11413 + "version": "0.2.2", 11414 + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", 11415 + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", 11416 + "license": "MIT" 11417 + }, 10140 11418 "node_modules/cjs-module-lexer": { 10141 11419 "version": "2.2.0", 10142 11420 "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz", ··· 10157 11435 }, 10158 11436 "engines": { 10159 11437 "node": ">=0.10" 11438 + } 11439 + }, 11440 + "node_modules/cli-spinners": { 11441 + "version": "2.9.2", 11442 + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", 11443 + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", 11444 + "license": "MIT", 11445 + "engines": { 11446 + "node": ">=6" 11447 + }, 11448 + "funding": { 11449 + "url": "https://github.com/sponsors/sindresorhus" 10160 11450 } 10161 11451 }, 10162 11452 "node_modules/client-only": { ··· 10265 11555 "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 10266 11556 "dev": true 10267 11557 }, 11558 + "node_modules/conf": { 11559 + "version": "15.1.0", 11560 + "resolved": "https://registry.npmjs.org/conf/-/conf-15.1.0.tgz", 11561 + "integrity": "sha512-Uy5YN9KEu0WWDaZAVJ5FAmZoaJt9rdK6kH+utItPyGsCqCgaTKkrmZx3zoE0/3q6S3bcp3Ihkk+ZqPxWxFK5og==", 11562 + "license": "MIT", 11563 + "dependencies": { 11564 + "ajv": "^8.17.1", 11565 + "ajv-formats": "^3.0.1", 11566 + "atomically": "^2.0.3", 11567 + "debounce-fn": "^6.0.0", 11568 + "dot-prop": "^10.0.0", 11569 + "env-paths": "^3.0.0", 11570 + "json-schema-typed": "^8.0.1", 11571 + "semver": "^7.7.2", 11572 + "uint8array-extras": "^1.5.0" 11573 + }, 11574 + "engines": { 11575 + "node": ">=20" 11576 + }, 11577 + "funding": { 11578 + "url": "https://github.com/sponsors/sindresorhus" 11579 + } 11580 + }, 11581 + "node_modules/conf/node_modules/ajv-formats": { 11582 + "version": "3.0.1", 11583 + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", 11584 + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", 11585 + "license": "MIT", 11586 + "dependencies": { 11587 + "ajv": "^8.0.0" 11588 + }, 11589 + "peerDependencies": { 11590 + "ajv": "^8.0.0" 11591 + }, 11592 + "peerDependenciesMeta": { 11593 + "ajv": { 11594 + "optional": true 11595 + } 11596 + } 11597 + }, 10268 11598 "node_modules/content-disposition": { 10269 11599 "version": "0.5.4", 10270 11600 "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", ··· 10317 11647 "url": "https://opencollective.com/core-js" 10318 11648 } 10319 11649 }, 11650 + "node_modules/cors": { 11651 + "version": "2.8.6", 11652 + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", 11653 + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", 11654 + "license": "MIT", 11655 + "dependencies": { 11656 + "object-assign": "^4", 11657 + "vary": "^1" 11658 + }, 11659 + "engines": { 11660 + "node": ">= 0.10" 11661 + }, 11662 + "funding": { 11663 + "type": "opencollective", 11664 + "url": "https://opencollective.com/express" 11665 + } 11666 + }, 10320 11667 "node_modules/crelt": { 10321 11668 "version": "1.0.6", 10322 11669 "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", ··· 10365 11712 }, 10366 11713 "engines": { 10367 11714 "node": ">= 8" 11715 + } 11716 + }, 11717 + "node_modules/css-tree": { 11718 + "version": "3.2.1", 11719 + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", 11720 + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", 11721 + "license": "MIT", 11722 + "dependencies": { 11723 + "mdn-data": "2.27.1", 11724 + "source-map-js": "^1.2.1" 11725 + }, 11726 + "engines": { 11727 + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 10368 11728 } 10369 11729 }, 10370 11730 "node_modules/csstype": { ··· 10589 11949 "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", 10590 11950 "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" 10591 11951 }, 11952 + "node_modules/debounce-fn": { 11953 + "version": "6.0.0", 11954 + "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-6.0.0.tgz", 11955 + "integrity": "sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==", 11956 + "license": "MIT", 11957 + "dependencies": { 11958 + "mimic-function": "^5.0.0" 11959 + }, 11960 + "engines": { 11961 + "node": ">=18" 11962 + }, 11963 + "funding": { 11964 + "url": "https://github.com/sponsors/sindresorhus" 11965 + } 11966 + }, 10592 11967 "node_modules/debug": { 10593 11968 "version": "4.4.3", 10594 11969 "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", ··· 10635 12010 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 10636 12011 "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 10637 12012 "dev": true 12013 + }, 12014 + "node_modules/deepmerge": { 12015 + "version": "4.3.1", 12016 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 12017 + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 12018 + "license": "MIT", 12019 + "engines": { 12020 + "node": ">=0.10.0" 12021 + } 10638 12022 }, 10639 12023 "node_modules/define-data-property": { 10640 12024 "version": "1.1.4", ··· 10757 12141 "node": ">=0.10.0" 10758 12142 } 10759 12143 }, 12144 + "node_modules/dom-serializer": { 12145 + "version": "2.0.0", 12146 + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 12147 + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 12148 + "license": "MIT", 12149 + "dependencies": { 12150 + "domelementtype": "^2.3.0", 12151 + "domhandler": "^5.0.2", 12152 + "entities": "^4.2.0" 12153 + }, 12154 + "funding": { 12155 + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 12156 + } 12157 + }, 12158 + "node_modules/domelementtype": { 12159 + "version": "2.3.0", 12160 + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 12161 + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 12162 + "funding": [ 12163 + { 12164 + "type": "github", 12165 + "url": "https://github.com/sponsors/fb55" 12166 + } 12167 + ], 12168 + "license": "BSD-2-Clause" 12169 + }, 12170 + "node_modules/domhandler": { 12171 + "version": "5.0.3", 12172 + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 12173 + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 12174 + "license": "BSD-2-Clause", 12175 + "dependencies": { 12176 + "domelementtype": "^2.3.0" 12177 + }, 12178 + "engines": { 12179 + "node": ">= 4" 12180 + }, 12181 + "funding": { 12182 + "url": "https://github.com/fb55/domhandler?sponsor=1" 12183 + } 12184 + }, 12185 + "node_modules/domutils": { 12186 + "version": "3.2.2", 12187 + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", 12188 + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", 12189 + "license": "BSD-2-Clause", 12190 + "dependencies": { 12191 + "dom-serializer": "^2.0.0", 12192 + "domelementtype": "^2.3.0", 12193 + "domhandler": "^5.0.3" 12194 + }, 12195 + "funding": { 12196 + "url": "https://github.com/fb55/domutils?sponsor=1" 12197 + } 12198 + }, 12199 + "node_modules/dot-prop": { 12200 + "version": "10.1.0", 12201 + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-10.1.0.tgz", 12202 + "integrity": "sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==", 12203 + "license": "MIT", 12204 + "dependencies": { 12205 + "type-fest": "^5.0.0" 12206 + }, 12207 + "engines": { 12208 + "node": ">=20" 12209 + }, 12210 + "funding": { 12211 + "url": "https://github.com/sponsors/sindresorhus" 12212 + } 12213 + }, 12214 + "node_modules/dot-prop/node_modules/type-fest": { 12215 + "version": "5.6.0", 12216 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz", 12217 + "integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==", 12218 + "license": "(MIT OR CC0-1.0)", 12219 + "dependencies": { 12220 + "tagged-tag": "^1.0.0" 12221 + }, 12222 + "engines": { 12223 + "node": ">=20" 12224 + }, 12225 + "funding": { 12226 + "url": "https://github.com/sponsors/sindresorhus" 12227 + } 12228 + }, 10760 12229 "node_modules/dotenv": { 10761 12230 "version": "16.6.1", 10762 12231 "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", ··· 11345 12814 "license": "MIT" 11346 12815 }, 11347 12816 "node_modules/electron-to-chromium": { 11348 - "version": "1.5.258", 11349 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.258.tgz", 11350 - "integrity": "sha512-rHUggNV5jKQ0sSdWwlaRDkFc3/rRJIVnOSe9yR4zrR07m3ZxhP4N27Hlg8VeJGGYgFTxK5NqDmWI4DSH72vIJg==", 11351 - "dev": true 12817 + "version": "1.5.340", 12818 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.340.tgz", 12819 + "integrity": "sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==", 12820 + "devOptional": true, 12821 + "license": "ISC" 11352 12822 }, 11353 12823 "node_modules/emoji-regex": { 11354 12824 "version": "9.2.2", ··· 11365 12835 "node": ">= 0.8" 11366 12836 } 11367 12837 }, 12838 + "node_modules/engine.io": { 12839 + "version": "6.6.6", 12840 + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.6.tgz", 12841 + "integrity": "sha512-U2SN0w3OpjFRVlrc17E6TMDmH58Xl9rai1MblNjAdwWp07Kk+llmzX0hjDpQdrDGzwmvOtgM5yI+meYX6iZ2xA==", 12842 + "license": "MIT", 12843 + "dependencies": { 12844 + "@types/cors": "^2.8.12", 12845 + "@types/node": ">=10.0.0", 12846 + "@types/ws": "^8.5.12", 12847 + "accepts": "~1.3.4", 12848 + "base64id": "2.0.0", 12849 + "cookie": "~0.7.2", 12850 + "cors": "~2.8.5", 12851 + "debug": "~4.4.1", 12852 + "engine.io-parser": "~5.2.1", 12853 + "ws": "~8.18.3" 12854 + }, 12855 + "engines": { 12856 + "node": ">=10.2.0" 12857 + } 12858 + }, 12859 + "node_modules/engine.io-parser": { 12860 + "version": "5.2.3", 12861 + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", 12862 + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", 12863 + "license": "MIT", 12864 + "engines": { 12865 + "node": ">=10.0.0" 12866 + } 12867 + }, 12868 + "node_modules/engine.io/node_modules/cookie": { 12869 + "version": "0.7.2", 12870 + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", 12871 + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", 12872 + "license": "MIT", 12873 + "engines": { 12874 + "node": ">= 0.6" 12875 + } 12876 + }, 12877 + "node_modules/engine.io/node_modules/ws": { 12878 + "version": "8.18.3", 12879 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", 12880 + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", 12881 + "license": "MIT", 12882 + "engines": { 12883 + "node": ">=10.0.0" 12884 + }, 12885 + "peerDependencies": { 12886 + "bufferutil": "^4.0.1", 12887 + "utf-8-validate": ">=5.0.2" 12888 + }, 12889 + "peerDependenciesMeta": { 12890 + "bufferutil": { 12891 + "optional": true 12892 + }, 12893 + "utf-8-validate": { 12894 + "optional": true 12895 + } 12896 + } 12897 + }, 11368 12898 "node_modules/enhanced-resolve": { 11369 - "version": "5.18.3", 11370 - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", 11371 - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", 11372 - "dev": true, 12899 + "version": "5.20.1", 12900 + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", 12901 + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", 12902 + "devOptional": true, 11373 12903 "license": "MIT", 11374 12904 "dependencies": { 11375 12905 "graceful-fs": "^4.2.4", 11376 - "tapable": "^2.2.0" 12906 + "tapable": "^2.3.0" 11377 12907 }, 11378 12908 "engines": { 11379 12909 "node": ">=10.13.0" ··· 11394 12924 "version": "3.0.0", 11395 12925 "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", 11396 12926 "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", 11397 - "dev": true, 11398 12927 "engines": { 11399 12928 "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 11400 12929 }, ··· 11515 13044 "node": ">= 0.4" 11516 13045 } 11517 13046 }, 13047 + "node_modules/es-module-lexer": { 13048 + "version": "2.0.0", 13049 + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", 13050 + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", 13051 + "license": "MIT", 13052 + "optional": true, 13053 + "peer": true 13054 + }, 11518 13055 "node_modules/es-object-atoms": { 11519 13056 "version": "1.1.1", 11520 13057 "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", ··· 12161 13698 "version": "4.3.0", 12162 13699 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 12163 13700 "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 12164 - "dev": true, 13701 + "devOptional": true, 12165 13702 "dependencies": { 12166 13703 "estraverse": "^5.2.0" 12167 13704 }, ··· 12173 13710 "version": "5.3.0", 12174 13711 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 12175 13712 "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 12176 - "dev": true, 13713 + "devOptional": true, 12177 13714 "engines": { 12178 13715 "node": ">=4.0" 12179 13716 } ··· 12434 13971 "node_modules/fast-deep-equal": { 12435 13972 "version": "3.1.3", 12436 13973 "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 12437 - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 12438 - "dev": true 13974 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 12439 13975 }, 12440 13976 "node_modules/fast-glob": { 12441 13977 "version": "3.3.3", ··· 12485 14021 "version": "3.1.0", 12486 14022 "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", 12487 14023 "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", 12488 - "dev": true, 12489 14024 "funding": [ 12490 14025 { 12491 14026 "type": "github", ··· 12797 14332 "node": "6.* || 8.* || >= 10.*" 12798 14333 } 12799 14334 }, 14335 + "node_modules/get-east-asian-width": { 14336 + "version": "1.5.0", 14337 + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", 14338 + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", 14339 + "license": "MIT", 14340 + "engines": { 14341 + "node": ">=18" 14342 + }, 14343 + "funding": { 14344 + "url": "https://github.com/sponsors/sindresorhus" 14345 + } 14346 + }, 12800 14347 "node_modules/get-intrinsic": { 12801 14348 "version": "1.3.0", 12802 14349 "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", ··· 12925 14472 "version": "0.4.1", 12926 14473 "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 12927 14474 "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 12928 - "dev": true 14475 + "devOptional": true 12929 14476 }, 12930 14477 "node_modules/glob/node_modules/brace-expansion": { 12931 14478 "version": "2.0.2", ··· 13002 14549 "version": "4.2.11", 13003 14550 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 13004 14551 "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 13005 - "dev": true 14552 + "devOptional": true 13006 14553 }, 13007 14554 "node_modules/graphemer": { 13008 14555 "version": "1.4.0", ··· 13452 14999 "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", 13453 15000 "license": "MIT" 13454 15001 }, 15002 + "node_modules/html-to-text": { 15003 + "version": "9.0.5", 15004 + "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz", 15005 + "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==", 15006 + "license": "MIT", 15007 + "dependencies": { 15008 + "@selderee/plugin-htmlparser2": "^0.11.0", 15009 + "deepmerge": "^4.3.1", 15010 + "dom-serializer": "^2.0.0", 15011 + "htmlparser2": "^8.0.2", 15012 + "selderee": "^0.11.0" 15013 + }, 15014 + "engines": { 15015 + "node": ">=14" 15016 + } 15017 + }, 13455 15018 "node_modules/html-void-elements": { 13456 15019 "version": "3.0.0", 13457 15020 "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", ··· 13459 15022 "funding": { 13460 15023 "type": "github", 13461 15024 "url": "https://github.com/sponsors/wooorm" 15025 + } 15026 + }, 15027 + "node_modules/htmlparser2": { 15028 + "version": "8.0.2", 15029 + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", 15030 + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", 15031 + "funding": [ 15032 + "https://github.com/fb55/htmlparser2?sponsor=1", 15033 + { 15034 + "type": "github", 15035 + "url": "https://github.com/sponsors/fb55" 15036 + } 15037 + ], 15038 + "license": "MIT", 15039 + "dependencies": { 15040 + "domelementtype": "^2.3.0", 15041 + "domhandler": "^5.0.3", 15042 + "domutils": "^3.0.1", 15043 + "entities": "^4.4.0" 13462 15044 } 13463 15045 }, 13464 15046 "node_modules/http-errors": { ··· 14295 15877 "node": ">= 0.4" 14296 15878 } 14297 15879 }, 15880 + "node_modules/jest-worker": { 15881 + "version": "27.5.1", 15882 + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", 15883 + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", 15884 + "license": "MIT", 15885 + "optional": true, 15886 + "peer": true, 15887 + "dependencies": { 15888 + "@types/node": "*", 15889 + "merge-stream": "^2.0.0", 15890 + "supports-color": "^8.0.0" 15891 + }, 15892 + "engines": { 15893 + "node": ">= 10.13.0" 15894 + } 15895 + }, 15896 + "node_modules/jest-worker/node_modules/supports-color": { 15897 + "version": "8.1.1", 15898 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 15899 + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 15900 + "license": "MIT", 15901 + "optional": true, 15902 + "peer": true, 15903 + "dependencies": { 15904 + "has-flag": "^4.0.0" 15905 + }, 15906 + "engines": { 15907 + "node": ">=10" 15908 + }, 15909 + "funding": { 15910 + "url": "https://github.com/chalk/supports-color?sponsor=1" 15911 + } 15912 + }, 14298 15913 "node_modules/jiti": { 14299 15914 "version": "2.6.0", 14300 15915 "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.0.tgz", ··· 14318 15933 "version": "4.0.0", 14319 15934 "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 14320 15935 "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 14321 - "dev": true, 14322 15936 "license": "MIT" 14323 15937 }, 14324 15938 "node_modules/js-yaml": { ··· 14337 15951 "version": "3.1.0", 14338 15952 "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 14339 15953 "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 14340 - "dev": true, 14341 15954 "bin": { 14342 15955 "jsesc": "bin/jsesc" 14343 15956 }, ··· 14380 15993 "node_modules/json-schema-traverse": { 14381 15994 "version": "1.0.0", 14382 15995 "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 14383 - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 14384 - "dev": true 15996 + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" 15997 + }, 15998 + "node_modules/json-schema-typed": { 15999 + "version": "8.0.2", 16000 + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", 16001 + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", 16002 + "license": "BSD-2-Clause" 14385 16003 }, 14386 16004 "node_modules/json-stable-stringify-without-jsonify": { 14387 16005 "version": "1.0.1", ··· 14457 16075 "json-buffer": "3.0.1" 14458 16076 } 14459 16077 }, 16078 + "node_modules/kleur": { 16079 + "version": "3.0.3", 16080 + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", 16081 + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", 16082 + "license": "MIT", 16083 + "engines": { 16084 + "node": ">=6" 16085 + } 16086 + }, 14460 16087 "node_modules/l": { 14461 16088 "version": "0.6.0", 14462 16089 "resolved": "https://registry.npmjs.org/l/-/l-0.6.0.tgz", ··· 14481 16108 }, 14482 16109 "engines": { 14483 16110 "node": ">=0.10" 16111 + } 16112 + }, 16113 + "node_modules/leac": { 16114 + "version": "0.6.0", 16115 + "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", 16116 + "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==", 16117 + "license": "MIT", 16118 + "funding": { 16119 + "url": "https://ko-fi.com/killymxi" 14484 16120 } 14485 16121 }, 14486 16122 "node_modules/levn": { ··· 14771 16407 "integrity": "sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw==", 14772 16408 "license": "MIT" 14773 16409 }, 16410 + "node_modules/loader-runner": { 16411 + "version": "4.3.1", 16412 + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", 16413 + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", 16414 + "license": "MIT", 16415 + "optional": true, 16416 + "peer": true, 16417 + "engines": { 16418 + "node": ">=6.11.5" 16419 + }, 16420 + "funding": { 16421 + "type": "opencollective", 16422 + "url": "https://opencollective.com/webpack" 16423 + } 16424 + }, 14774 16425 "node_modules/locate-path": { 14775 16426 "version": "6.0.0", 14776 16427 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", ··· 14913 16564 "funding": { 14914 16565 "type": "github", 14915 16566 "url": "https://github.com/sponsors/wooorm" 16567 + } 16568 + }, 16569 + "node_modules/marked": { 16570 + "version": "15.0.12", 16571 + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", 16572 + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", 16573 + "license": "MIT", 16574 + "bin": { 16575 + "marked": "bin/marked.js" 16576 + }, 16577 + "engines": { 16578 + "node": ">= 18" 14916 16579 } 14917 16580 }, 14918 16581 "node_modules/math-intrinsics": { ··· 15205 16868 "url": "https://opencollective.com/unified" 15206 16869 } 15207 16870 }, 16871 + "node_modules/mdn-data": { 16872 + "version": "2.27.1", 16873 + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", 16874 + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", 16875 + "license": "CC0-1.0" 16876 + }, 15208 16877 "node_modules/mdurl": { 15209 16878 "version": "2.0.0", 15210 16879 "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", ··· 15248 16917 "funding": { 15249 16918 "url": "https://github.com/sponsors/sindresorhus" 15250 16919 } 16920 + }, 16921 + "node_modules/merge-stream": { 16922 + "version": "2.0.0", 16923 + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 16924 + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 16925 + "license": "MIT", 16926 + "optional": true, 16927 + "peer": true 15251 16928 }, 15252 16929 "node_modules/merge2": { 15253 16930 "version": "1.4.1", ··· 15996 17673 "node": ">= 0.6" 15997 17674 } 15998 17675 }, 17676 + "node_modules/mimic-function": { 17677 + "version": "5.0.1", 17678 + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", 17679 + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", 17680 + "license": "MIT", 17681 + "engines": { 17682 + "node": ">=18" 17683 + }, 17684 + "funding": { 17685 + "url": "https://github.com/sponsors/sindresorhus" 17686 + } 17687 + }, 15999 17688 "node_modules/miniflare": { 16000 17689 "version": "3.20240524.0", 16001 17690 "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20240524.0.tgz", ··· 16057 17746 "version": "1.2.8", 16058 17747 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 16059 17748 "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 16060 - "dev": true, 16061 17749 "funding": { 16062 17750 "url": "https://github.com/sponsors/ljharb" 16063 17751 } 16064 17752 }, 16065 17753 "node_modules/minipass": { 16066 - "version": "7.1.2", 16067 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 16068 - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 16069 - "dev": true, 17754 + "version": "7.1.3", 17755 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", 17756 + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", 17757 + "license": "BlueOak-1.0.0", 16070 17758 "engines": { 16071 17759 "node": ">=16 || 14 >=14.17" 16072 17760 } ··· 16168 17856 "node": ">= 0.6" 16169 17857 } 16170 17858 }, 17859 + "node_modules/neo-async": { 17860 + "version": "2.6.2", 17861 + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", 17862 + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", 17863 + "license": "MIT", 17864 + "optional": true, 17865 + "peer": true 17866 + }, 16171 17867 "node_modules/next": { 16172 - "version": "16.0.7", 16173 - "resolved": "https://registry.npmjs.org/next/-/next-16.0.7.tgz", 16174 - "integrity": "sha512-3mBRJyPxT4LOxAJI6IsXeFtKfiJUbjCLgvXO02fV8Wy/lIhPvP94Fe7dGhUgHXcQy4sSuYwQNcOLhIfOm0rL0A==", 17868 + "version": "16.2.3", 17869 + "resolved": "https://registry.npmjs.org/next/-/next-16.2.3.tgz", 17870 + "integrity": "sha512-9V3zV4oZFza3PVev5/poB9g0dEafVcgNyQ8eTRop8GvxZjV2G15FC5ARuG1eFD42QgeYkzJBJzHghNP8Ad9xtA==", 16175 17871 "license": "MIT", 16176 17872 "dependencies": { 16177 - "@next/env": "16.0.7", 17873 + "@next/env": "16.2.3", 16178 17874 "@swc/helpers": "0.5.15", 17875 + "baseline-browser-mapping": "^2.9.19", 16179 17876 "caniuse-lite": "^1.0.30001579", 16180 17877 "postcss": "8.4.31", 16181 17878 "styled-jsx": "5.1.6" ··· 16187 17884 "node": ">=20.9.0" 16188 17885 }, 16189 17886 "optionalDependencies": { 16190 - "@next/swc-darwin-arm64": "16.0.7", 16191 - "@next/swc-darwin-x64": "16.0.7", 16192 - "@next/swc-linux-arm64-gnu": "16.0.7", 16193 - "@next/swc-linux-arm64-musl": "16.0.7", 16194 - "@next/swc-linux-x64-gnu": "16.0.7", 16195 - "@next/swc-linux-x64-musl": "16.0.7", 16196 - "@next/swc-win32-arm64-msvc": "16.0.7", 16197 - "@next/swc-win32-x64-msvc": "16.0.7", 16198 - "sharp": "^0.34.4" 17887 + "@next/swc-darwin-arm64": "16.2.3", 17888 + "@next/swc-darwin-x64": "16.2.3", 17889 + "@next/swc-linux-arm64-gnu": "16.2.3", 17890 + "@next/swc-linux-arm64-musl": "16.2.3", 17891 + "@next/swc-linux-x64-gnu": "16.2.3", 17892 + "@next/swc-linux-x64-musl": "16.2.3", 17893 + "@next/swc-win32-arm64-msvc": "16.2.3", 17894 + "@next/swc-win32-x64-msvc": "16.2.3", 17895 + "sharp": "^0.34.5" 16199 17896 }, 16200 17897 "peerDependencies": { 16201 17898 "@opentelemetry/api": "^1.1.0", ··· 16226 17923 "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", 16227 17924 "dev": true 16228 17925 }, 17926 + "node_modules/next/node_modules/@img/sharp-darwin-arm64": { 17927 + "version": "0.34.5", 17928 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", 17929 + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", 17930 + "cpu": [ 17931 + "arm64" 17932 + ], 17933 + "license": "Apache-2.0", 17934 + "optional": true, 17935 + "os": [ 17936 + "darwin" 17937 + ], 17938 + "engines": { 17939 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 17940 + }, 17941 + "funding": { 17942 + "url": "https://opencollective.com/libvips" 17943 + }, 17944 + "optionalDependencies": { 17945 + "@img/sharp-libvips-darwin-arm64": "1.2.4" 17946 + } 17947 + }, 17948 + "node_modules/next/node_modules/@img/sharp-darwin-x64": { 17949 + "version": "0.34.5", 17950 + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", 17951 + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", 17952 + "cpu": [ 17953 + "x64" 17954 + ], 17955 + "license": "Apache-2.0", 17956 + "optional": true, 17957 + "os": [ 17958 + "darwin" 17959 + ], 17960 + "engines": { 17961 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 17962 + }, 17963 + "funding": { 17964 + "url": "https://opencollective.com/libvips" 17965 + }, 17966 + "optionalDependencies": { 17967 + "@img/sharp-libvips-darwin-x64": "1.2.4" 17968 + } 17969 + }, 17970 + "node_modules/next/node_modules/@img/sharp-libvips-darwin-arm64": { 17971 + "version": "1.2.4", 17972 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", 17973 + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", 17974 + "cpu": [ 17975 + "arm64" 17976 + ], 17977 + "license": "LGPL-3.0-or-later", 17978 + "optional": true, 17979 + "os": [ 17980 + "darwin" 17981 + ], 17982 + "funding": { 17983 + "url": "https://opencollective.com/libvips" 17984 + } 17985 + }, 17986 + "node_modules/next/node_modules/@img/sharp-libvips-darwin-x64": { 17987 + "version": "1.2.4", 17988 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", 17989 + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", 17990 + "cpu": [ 17991 + "x64" 17992 + ], 17993 + "license": "LGPL-3.0-or-later", 17994 + "optional": true, 17995 + "os": [ 17996 + "darwin" 17997 + ], 17998 + "funding": { 17999 + "url": "https://opencollective.com/libvips" 18000 + } 18001 + }, 18002 + "node_modules/next/node_modules/@img/sharp-libvips-linux-arm": { 18003 + "version": "1.2.4", 18004 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", 18005 + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", 18006 + "cpu": [ 18007 + "arm" 18008 + ], 18009 + "license": "LGPL-3.0-or-later", 18010 + "optional": true, 18011 + "os": [ 18012 + "linux" 18013 + ], 18014 + "funding": { 18015 + "url": "https://opencollective.com/libvips" 18016 + } 18017 + }, 18018 + "node_modules/next/node_modules/@img/sharp-libvips-linux-arm64": { 18019 + "version": "1.2.4", 18020 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", 18021 + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", 18022 + "cpu": [ 18023 + "arm64" 18024 + ], 18025 + "license": "LGPL-3.0-or-later", 18026 + "optional": true, 18027 + "os": [ 18028 + "linux" 18029 + ], 18030 + "funding": { 18031 + "url": "https://opencollective.com/libvips" 18032 + } 18033 + }, 18034 + "node_modules/next/node_modules/@img/sharp-libvips-linux-ppc64": { 18035 + "version": "1.2.4", 18036 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", 18037 + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", 18038 + "cpu": [ 18039 + "ppc64" 18040 + ], 18041 + "license": "LGPL-3.0-or-later", 18042 + "optional": true, 18043 + "os": [ 18044 + "linux" 18045 + ], 18046 + "funding": { 18047 + "url": "https://opencollective.com/libvips" 18048 + } 18049 + }, 18050 + "node_modules/next/node_modules/@img/sharp-libvips-linux-s390x": { 18051 + "version": "1.2.4", 18052 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", 18053 + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", 18054 + "cpu": [ 18055 + "s390x" 18056 + ], 18057 + "license": "LGPL-3.0-or-later", 18058 + "optional": true, 18059 + "os": [ 18060 + "linux" 18061 + ], 18062 + "funding": { 18063 + "url": "https://opencollective.com/libvips" 18064 + } 18065 + }, 18066 + "node_modules/next/node_modules/@img/sharp-libvips-linux-x64": { 18067 + "version": "1.2.4", 18068 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", 18069 + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", 18070 + "cpu": [ 18071 + "x64" 18072 + ], 18073 + "license": "LGPL-3.0-or-later", 18074 + "optional": true, 18075 + "os": [ 18076 + "linux" 18077 + ], 18078 + "funding": { 18079 + "url": "https://opencollective.com/libvips" 18080 + } 18081 + }, 18082 + "node_modules/next/node_modules/@img/sharp-libvips-linuxmusl-arm64": { 18083 + "version": "1.2.4", 18084 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", 18085 + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", 18086 + "cpu": [ 18087 + "arm64" 18088 + ], 18089 + "license": "LGPL-3.0-or-later", 18090 + "optional": true, 18091 + "os": [ 18092 + "linux" 18093 + ], 18094 + "funding": { 18095 + "url": "https://opencollective.com/libvips" 18096 + } 18097 + }, 18098 + "node_modules/next/node_modules/@img/sharp-libvips-linuxmusl-x64": { 18099 + "version": "1.2.4", 18100 + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", 18101 + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", 18102 + "cpu": [ 18103 + "x64" 18104 + ], 18105 + "license": "LGPL-3.0-or-later", 18106 + "optional": true, 18107 + "os": [ 18108 + "linux" 18109 + ], 18110 + "funding": { 18111 + "url": "https://opencollective.com/libvips" 18112 + } 18113 + }, 18114 + "node_modules/next/node_modules/@img/sharp-linux-arm": { 18115 + "version": "0.34.5", 18116 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", 18117 + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", 18118 + "cpu": [ 18119 + "arm" 18120 + ], 18121 + "license": "Apache-2.0", 18122 + "optional": true, 18123 + "os": [ 18124 + "linux" 18125 + ], 18126 + "engines": { 18127 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18128 + }, 18129 + "funding": { 18130 + "url": "https://opencollective.com/libvips" 18131 + }, 18132 + "optionalDependencies": { 18133 + "@img/sharp-libvips-linux-arm": "1.2.4" 18134 + } 18135 + }, 18136 + "node_modules/next/node_modules/@img/sharp-linux-arm64": { 18137 + "version": "0.34.5", 18138 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", 18139 + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", 18140 + "cpu": [ 18141 + "arm64" 18142 + ], 18143 + "license": "Apache-2.0", 18144 + "optional": true, 18145 + "os": [ 18146 + "linux" 18147 + ], 18148 + "engines": { 18149 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18150 + }, 18151 + "funding": { 18152 + "url": "https://opencollective.com/libvips" 18153 + }, 18154 + "optionalDependencies": { 18155 + "@img/sharp-libvips-linux-arm64": "1.2.4" 18156 + } 18157 + }, 18158 + "node_modules/next/node_modules/@img/sharp-linux-ppc64": { 18159 + "version": "0.34.5", 18160 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", 18161 + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", 18162 + "cpu": [ 18163 + "ppc64" 18164 + ], 18165 + "license": "Apache-2.0", 18166 + "optional": true, 18167 + "os": [ 18168 + "linux" 18169 + ], 18170 + "engines": { 18171 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18172 + }, 18173 + "funding": { 18174 + "url": "https://opencollective.com/libvips" 18175 + }, 18176 + "optionalDependencies": { 18177 + "@img/sharp-libvips-linux-ppc64": "1.2.4" 18178 + } 18179 + }, 18180 + "node_modules/next/node_modules/@img/sharp-linux-s390x": { 18181 + "version": "0.34.5", 18182 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", 18183 + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", 18184 + "cpu": [ 18185 + "s390x" 18186 + ], 18187 + "license": "Apache-2.0", 18188 + "optional": true, 18189 + "os": [ 18190 + "linux" 18191 + ], 18192 + "engines": { 18193 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18194 + }, 18195 + "funding": { 18196 + "url": "https://opencollective.com/libvips" 18197 + }, 18198 + "optionalDependencies": { 18199 + "@img/sharp-libvips-linux-s390x": "1.2.4" 18200 + } 18201 + }, 18202 + "node_modules/next/node_modules/@img/sharp-linux-x64": { 18203 + "version": "0.34.5", 18204 + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", 18205 + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", 18206 + "cpu": [ 18207 + "x64" 18208 + ], 18209 + "license": "Apache-2.0", 18210 + "optional": true, 18211 + "os": [ 18212 + "linux" 18213 + ], 18214 + "engines": { 18215 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18216 + }, 18217 + "funding": { 18218 + "url": "https://opencollective.com/libvips" 18219 + }, 18220 + "optionalDependencies": { 18221 + "@img/sharp-libvips-linux-x64": "1.2.4" 18222 + } 18223 + }, 18224 + "node_modules/next/node_modules/@img/sharp-linuxmusl-arm64": { 18225 + "version": "0.34.5", 18226 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", 18227 + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", 18228 + "cpu": [ 18229 + "arm64" 18230 + ], 18231 + "license": "Apache-2.0", 18232 + "optional": true, 18233 + "os": [ 18234 + "linux" 18235 + ], 18236 + "engines": { 18237 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18238 + }, 18239 + "funding": { 18240 + "url": "https://opencollective.com/libvips" 18241 + }, 18242 + "optionalDependencies": { 18243 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" 18244 + } 18245 + }, 18246 + "node_modules/next/node_modules/@img/sharp-linuxmusl-x64": { 18247 + "version": "0.34.5", 18248 + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", 18249 + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", 18250 + "cpu": [ 18251 + "x64" 18252 + ], 18253 + "license": "Apache-2.0", 18254 + "optional": true, 18255 + "os": [ 18256 + "linux" 18257 + ], 18258 + "engines": { 18259 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18260 + }, 18261 + "funding": { 18262 + "url": "https://opencollective.com/libvips" 18263 + }, 18264 + "optionalDependencies": { 18265 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" 18266 + } 18267 + }, 18268 + "node_modules/next/node_modules/@img/sharp-wasm32": { 18269 + "version": "0.34.5", 18270 + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", 18271 + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", 18272 + "cpu": [ 18273 + "wasm32" 18274 + ], 18275 + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", 18276 + "optional": true, 18277 + "dependencies": { 18278 + "@emnapi/runtime": "^1.7.0" 18279 + }, 18280 + "engines": { 18281 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18282 + }, 18283 + "funding": { 18284 + "url": "https://opencollective.com/libvips" 18285 + } 18286 + }, 18287 + "node_modules/next/node_modules/@img/sharp-win32-arm64": { 18288 + "version": "0.34.5", 18289 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", 18290 + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", 18291 + "cpu": [ 18292 + "arm64" 18293 + ], 18294 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 18295 + "optional": true, 18296 + "os": [ 18297 + "win32" 18298 + ], 18299 + "engines": { 18300 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18301 + }, 18302 + "funding": { 18303 + "url": "https://opencollective.com/libvips" 18304 + } 18305 + }, 18306 + "node_modules/next/node_modules/@img/sharp-win32-ia32": { 18307 + "version": "0.34.5", 18308 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", 18309 + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", 18310 + "cpu": [ 18311 + "ia32" 18312 + ], 18313 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 18314 + "optional": true, 18315 + "os": [ 18316 + "win32" 18317 + ], 18318 + "engines": { 18319 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18320 + }, 18321 + "funding": { 18322 + "url": "https://opencollective.com/libvips" 18323 + } 18324 + }, 18325 + "node_modules/next/node_modules/@img/sharp-win32-x64": { 18326 + "version": "0.34.5", 18327 + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", 18328 + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", 18329 + "cpu": [ 18330 + "x64" 18331 + ], 18332 + "license": "Apache-2.0 AND LGPL-3.0-or-later", 18333 + "optional": true, 18334 + "os": [ 18335 + "win32" 18336 + ], 18337 + "engines": { 18338 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18339 + }, 18340 + "funding": { 18341 + "url": "https://opencollective.com/libvips" 18342 + } 18343 + }, 16229 18344 "node_modules/next/node_modules/postcss": { 16230 18345 "version": "8.4.31", 16231 18346 "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", ··· 16253 18368 "node": "^10 || ^12 || >=14" 16254 18369 } 16255 18370 }, 18371 + "node_modules/next/node_modules/sharp": { 18372 + "version": "0.34.5", 18373 + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", 18374 + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", 18375 + "hasInstallScript": true, 18376 + "license": "Apache-2.0", 18377 + "optional": true, 18378 + "dependencies": { 18379 + "@img/colour": "^1.0.0", 18380 + "detect-libc": "^2.1.2", 18381 + "semver": "^7.7.3" 18382 + }, 18383 + "engines": { 18384 + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" 18385 + }, 18386 + "funding": { 18387 + "url": "https://opencollective.com/libvips" 18388 + }, 18389 + "optionalDependencies": { 18390 + "@img/sharp-darwin-arm64": "0.34.5", 18391 + "@img/sharp-darwin-x64": "0.34.5", 18392 + "@img/sharp-libvips-darwin-arm64": "1.2.4", 18393 + "@img/sharp-libvips-darwin-x64": "1.2.4", 18394 + "@img/sharp-libvips-linux-arm": "1.2.4", 18395 + "@img/sharp-libvips-linux-arm64": "1.2.4", 18396 + "@img/sharp-libvips-linux-ppc64": "1.2.4", 18397 + "@img/sharp-libvips-linux-riscv64": "1.2.4", 18398 + "@img/sharp-libvips-linux-s390x": "1.2.4", 18399 + "@img/sharp-libvips-linux-x64": "1.2.4", 18400 + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", 18401 + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", 18402 + "@img/sharp-linux-arm": "0.34.5", 18403 + "@img/sharp-linux-arm64": "0.34.5", 18404 + "@img/sharp-linux-ppc64": "0.34.5", 18405 + "@img/sharp-linux-riscv64": "0.34.5", 18406 + "@img/sharp-linux-s390x": "0.34.5", 18407 + "@img/sharp-linux-x64": "0.34.5", 18408 + "@img/sharp-linuxmusl-arm64": "0.34.5", 18409 + "@img/sharp-linuxmusl-x64": "0.34.5", 18410 + "@img/sharp-wasm32": "0.34.5", 18411 + "@img/sharp-win32-arm64": "0.34.5", 18412 + "@img/sharp-win32-ia32": "0.34.5", 18413 + "@img/sharp-win32-x64": "0.34.5" 18414 + } 18415 + }, 16256 18416 "node_modules/node-abort-controller": { 16257 18417 "version": "3.1.1", 16258 18418 "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", ··· 16319 18479 } 16320 18480 }, 16321 18481 "node_modules/node-releases": { 16322 - "version": "2.0.27", 16323 - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", 16324 - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", 16325 - "dev": true 18482 + "version": "2.0.37", 18483 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", 18484 + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", 18485 + "devOptional": true, 18486 + "license": "MIT" 16326 18487 }, 16327 18488 "node_modules/normalize-path": { 16328 18489 "version": "3.0.0", 16329 18490 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 16330 18491 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 16331 - "dev": true, 16332 18492 "engines": { 16333 18493 "node": ">=0.10.0" 16334 18494 } ··· 16342 18502 "node": "^14.17.0 || ^16.13.0 || >=18.0.0" 16343 18503 } 16344 18504 }, 18505 + "node_modules/nypm": { 18506 + "version": "0.6.5", 18507 + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.5.tgz", 18508 + "integrity": "sha512-K6AJy1GMVyfyMXRVB88700BJqNUkByijGJM8kEHpLdcAt+vSQAVfkWWHYzuRXHSY6xA2sNc5RjTj0p9rE2izVQ==", 18509 + "license": "MIT", 18510 + "dependencies": { 18511 + "citty": "^0.2.0", 18512 + "pathe": "^2.0.3", 18513 + "tinyexec": "^1.0.2" 18514 + }, 18515 + "bin": { 18516 + "nypm": "dist/cli.mjs" 18517 + }, 18518 + "engines": { 18519 + "node": ">=18" 18520 + } 18521 + }, 16345 18522 "node_modules/object-assign": { 16346 18523 "version": "4.1.1", 16347 18524 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 16348 18525 "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 16349 - "dev": true, 16350 18526 "engines": { 16351 18527 "node": ">=0.10.0" 16352 18528 } ··· 16668 18844 "url": "https://github.com/inikulin/parse5?sponsor=1" 16669 18845 } 16670 18846 }, 18847 + "node_modules/parseley": { 18848 + "version": "0.12.1", 18849 + "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", 18850 + "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==", 18851 + "license": "MIT", 18852 + "dependencies": { 18853 + "leac": "^0.6.0", 18854 + "peberminta": "^0.9.0" 18855 + }, 18856 + "funding": { 18857 + "url": "https://ko-fi.com/killymxi" 18858 + } 18859 + }, 16671 18860 "node_modules/parseurl": { 16672 18861 "version": "1.3.3", 16673 18862 "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", ··· 16707 18896 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 16708 18897 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" 16709 18898 }, 18899 + "node_modules/path-scurry": { 18900 + "version": "2.0.2", 18901 + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", 18902 + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", 18903 + "license": "BlueOak-1.0.0", 18904 + "dependencies": { 18905 + "lru-cache": "^11.0.0", 18906 + "minipass": "^7.1.2" 18907 + }, 18908 + "engines": { 18909 + "node": "18 || 20 || >=22" 18910 + }, 18911 + "funding": { 18912 + "url": "https://github.com/sponsors/isaacs" 18913 + } 18914 + }, 18915 + "node_modules/path-scurry/node_modules/lru-cache": { 18916 + "version": "11.3.5", 18917 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz", 18918 + "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==", 18919 + "license": "BlueOak-1.0.0", 18920 + "engines": { 18921 + "node": "20 || >=22" 18922 + } 18923 + }, 16710 18924 "node_modules/path-to-regexp": { 16711 18925 "version": "6.3.0", 16712 18926 "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", 16713 18927 "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", 16714 18928 "dev": true, 16715 18929 "license": "MIT" 18930 + }, 18931 + "node_modules/pathe": { 18932 + "version": "2.0.3", 18933 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 18934 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 18935 + "license": "MIT" 18936 + }, 18937 + "node_modules/peberminta": { 18938 + "version": "0.9.0", 18939 + "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", 18940 + "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==", 18941 + "license": "MIT", 18942 + "funding": { 18943 + "url": "https://ko-fi.com/killymxi" 18944 + } 16716 18945 }, 16717 18946 "node_modules/pg": { 16718 18947 "version": "8.16.3", ··· 16967 19196 "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", 16968 19197 "dev": true 16969 19198 }, 19199 + "node_modules/prismjs": { 19200 + "version": "1.30.0", 19201 + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", 19202 + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", 19203 + "license": "MIT", 19204 + "engines": { 19205 + "node": ">=6" 19206 + } 19207 + }, 16970 19208 "node_modules/process": { 16971 19209 "version": "0.11.10", 16972 19210 "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", ··· 16982 19220 "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", 16983 19221 "license": "MIT" 16984 19222 }, 19223 + "node_modules/prompts": { 19224 + "version": "2.4.2", 19225 + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", 19226 + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", 19227 + "license": "MIT", 19228 + "dependencies": { 19229 + "kleur": "^3.0.3", 19230 + "sisteransi": "^1.0.5" 19231 + }, 19232 + "engines": { 19233 + "node": ">= 6" 19234 + } 19235 + }, 16985 19236 "node_modules/prop-types": { 16986 19237 "version": "15.8.1", 16987 19238 "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", ··· 17484 19735 "react": "^19.2.1" 17485 19736 } 17486 19737 }, 19738 + "node_modules/react-email": { 19739 + "version": "6.0.0", 19740 + "resolved": "https://registry.npmjs.org/react-email/-/react-email-6.0.0.tgz", 19741 + "integrity": "sha512-DZkFbOiSPjXz76GOuNj/9odFxO3zPd5eyNes+MTbya/8rpzmWFYjoF02d9wxbUV/y+TE96/Nc9IBPWYsht9KGQ==", 19742 + "license": "MIT", 19743 + "dependencies": { 19744 + "@babel/parser": "7.27.0", 19745 + "@babel/traverse": "7.27.0", 19746 + "@react-email/render": ">=2.0.7", 19747 + "chokidar": "^4.0.3", 19748 + "commander": "^13.0.0", 19749 + "conf": "^15.0.2", 19750 + "css-tree": "3.2.1", 19751 + "debounce": "^2.0.0", 19752 + "esbuild": "0.27.5", 19753 + "glob": "^13.0.6", 19754 + "jiti": "2.4.2", 19755 + "log-symbols": "^7.0.0", 19756 + "marked": "^15.0.12", 19757 + "mime-types": "^3.0.0", 19758 + "normalize-path": "^3.0.0", 19759 + "nypm": "0.6.5", 19760 + "ora": "^8.0.0", 19761 + "prismjs": "^1.30.0", 19762 + "prompts": "2.4.2", 19763 + "socket.io": "^4.8.1", 19764 + "tailwindcss": "^4.1.18", 19765 + "tsconfig-paths": "4.2.0" 19766 + }, 19767 + "bin": { 19768 + "email": "dist/cli/index.mjs" 19769 + }, 19770 + "engines": { 19771 + "node": ">=20.0.0" 19772 + } 19773 + }, 19774 + "node_modules/react-email/node_modules/@babel/parser": { 19775 + "version": "7.27.0", 19776 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", 19777 + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", 19778 + "license": "MIT", 19779 + "dependencies": { 19780 + "@babel/types": "^7.27.0" 19781 + }, 19782 + "bin": { 19783 + "parser": "bin/babel-parser.js" 19784 + }, 19785 + "engines": { 19786 + "node": ">=6.0.0" 19787 + } 19788 + }, 19789 + "node_modules/react-email/node_modules/@babel/traverse": { 19790 + "version": "7.27.0", 19791 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.0.tgz", 19792 + "integrity": "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==", 19793 + "license": "MIT", 19794 + "dependencies": { 19795 + "@babel/code-frame": "^7.26.2", 19796 + "@babel/generator": "^7.27.0", 19797 + "@babel/parser": "^7.27.0", 19798 + "@babel/template": "^7.27.0", 19799 + "@babel/types": "^7.27.0", 19800 + "debug": "^4.3.1", 19801 + "globals": "^11.1.0" 19802 + }, 19803 + "engines": { 19804 + "node": ">=6.9.0" 19805 + } 19806 + }, 19807 + "node_modules/react-email/node_modules/@esbuild/aix-ppc64": { 19808 + "version": "0.27.5", 19809 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.5.tgz", 19810 + "integrity": "sha512-nGsF/4C7uzUj+Nj/4J+Zt0bYQ6bz33Phz8Lb2N80Mti1HjGclTJdXZ+9APC4kLvONbjxN1zfvYNd8FEcbBK/MQ==", 19811 + "cpu": [ 19812 + "ppc64" 19813 + ], 19814 + "license": "MIT", 19815 + "optional": true, 19816 + "os": [ 19817 + "aix" 19818 + ], 19819 + "engines": { 19820 + "node": ">=18" 19821 + } 19822 + }, 19823 + "node_modules/react-email/node_modules/@esbuild/android-arm": { 19824 + "version": "0.27.5", 19825 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.5.tgz", 19826 + "integrity": "sha512-Cv781jd0Rfj/paoNrul1/r4G0HLvuFKYh7C9uHZ2Pl8YXstzvCyyeWENTFR9qFnRzNMCjXmsulZuvosDg10Mog==", 19827 + "cpu": [ 19828 + "arm" 19829 + ], 19830 + "license": "MIT", 19831 + "optional": true, 19832 + "os": [ 19833 + "android" 19834 + ], 19835 + "engines": { 19836 + "node": ">=18" 19837 + } 19838 + }, 19839 + "node_modules/react-email/node_modules/@esbuild/android-arm64": { 19840 + "version": "0.27.5", 19841 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.5.tgz", 19842 + "integrity": "sha512-Oeghq+XFgh1pUGd1YKs4DDoxzxkoUkvko+T/IVKwlghKLvvjbGFB3ek8VEDBmNvqhwuL0CQS3cExdzpmUyIrgA==", 19843 + "cpu": [ 19844 + "arm64" 19845 + ], 19846 + "license": "MIT", 19847 + "optional": true, 19848 + "os": [ 19849 + "android" 19850 + ], 19851 + "engines": { 19852 + "node": ">=18" 19853 + } 19854 + }, 19855 + "node_modules/react-email/node_modules/@esbuild/android-x64": { 19856 + "version": "0.27.5", 19857 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.5.tgz", 19858 + "integrity": "sha512-nQD7lspbzerlmtNOxYMFAGmhxgzn8Z7m9jgFkh6kpkjsAhZee1w8tJW3ZlW+N9iRePz0oPUDrYrXidCPSImD0Q==", 19859 + "cpu": [ 19860 + "x64" 19861 + ], 19862 + "license": "MIT", 19863 + "optional": true, 19864 + "os": [ 19865 + "android" 19866 + ], 19867 + "engines": { 19868 + "node": ">=18" 19869 + } 19870 + }, 19871 + "node_modules/react-email/node_modules/@esbuild/darwin-arm64": { 19872 + "version": "0.27.5", 19873 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.5.tgz", 19874 + "integrity": "sha512-I+Ya/MgC6rr8oRWGRDF3BXDfP8K1BVUggHqN6VI2lUZLdDi1IM1v2cy0e3lCPbP+pVcK3Tv8cgUhHse1kaNZZw==", 19875 + "cpu": [ 19876 + "arm64" 19877 + ], 19878 + "license": "MIT", 19879 + "optional": true, 19880 + "os": [ 19881 + "darwin" 19882 + ], 19883 + "engines": { 19884 + "node": ">=18" 19885 + } 19886 + }, 19887 + "node_modules/react-email/node_modules/@esbuild/darwin-x64": { 19888 + "version": "0.27.5", 19889 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.5.tgz", 19890 + "integrity": "sha512-MCjQUtC8wWJn/pIPM7vQaO69BFgwPD1jriEdqwTCKzWjGgkMbcg+M5HzrOhPhuYe1AJjXlHmD142KQf+jnYj8A==", 19891 + "cpu": [ 19892 + "x64" 19893 + ], 19894 + "license": "MIT", 19895 + "optional": true, 19896 + "os": [ 19897 + "darwin" 19898 + ], 19899 + "engines": { 19900 + "node": ">=18" 19901 + } 19902 + }, 19903 + "node_modules/react-email/node_modules/@esbuild/freebsd-arm64": { 19904 + "version": "0.27.5", 19905 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.5.tgz", 19906 + "integrity": "sha512-X6xVS+goSH0UelYXnuf4GHLwpOdc8rgK/zai+dKzBMnncw7BTQIwquOodE7EKvY2UVUetSqyAfyZC1D+oqLQtg==", 19907 + "cpu": [ 19908 + "arm64" 19909 + ], 19910 + "license": "MIT", 19911 + "optional": true, 19912 + "os": [ 19913 + "freebsd" 19914 + ], 19915 + "engines": { 19916 + "node": ">=18" 19917 + } 19918 + }, 19919 + "node_modules/react-email/node_modules/@esbuild/freebsd-x64": { 19920 + "version": "0.27.5", 19921 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.5.tgz", 19922 + "integrity": "sha512-233X1FGo3a8x1ekLB6XT69LfZ83vqz+9z3TSEQCTYfMNY880A97nr81KbPcAMl9rmOFp11wO0dP+eB18KU/Ucg==", 19923 + "cpu": [ 19924 + "x64" 19925 + ], 19926 + "license": "MIT", 19927 + "optional": true, 19928 + "os": [ 19929 + "freebsd" 19930 + ], 19931 + "engines": { 19932 + "node": ">=18" 19933 + } 19934 + }, 19935 + "node_modules/react-email/node_modules/@esbuild/linux-arm": { 19936 + "version": "0.27.5", 19937 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.5.tgz", 19938 + "integrity": "sha512-0wkVrYHG4sdCCN/bcwQ7yYMXACkaHc3UFeaEOwSVW6e5RycMageYAFv+JS2bKLwHyeKVUvtoVH+5/RHq0fgeFw==", 19939 + "cpu": [ 19940 + "arm" 19941 + ], 19942 + "license": "MIT", 19943 + "optional": true, 19944 + "os": [ 19945 + "linux" 19946 + ], 19947 + "engines": { 19948 + "node": ">=18" 19949 + } 19950 + }, 19951 + "node_modules/react-email/node_modules/@esbuild/linux-arm64": { 19952 + "version": "0.27.5", 19953 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.5.tgz", 19954 + "integrity": "sha512-euKkilsNOv7x/M1NKsx5znyprbpsRFIzTV6lWziqJch7yWYayfLtZzDxDTl+LSQDJYAjd9TVb/Kt5UKIrj2e4A==", 19955 + "cpu": [ 19956 + "arm64" 19957 + ], 19958 + "license": "MIT", 19959 + "optional": true, 19960 + "os": [ 19961 + "linux" 19962 + ], 19963 + "engines": { 19964 + "node": ">=18" 19965 + } 19966 + }, 19967 + "node_modules/react-email/node_modules/@esbuild/linux-ia32": { 19968 + "version": "0.27.5", 19969 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.5.tgz", 19970 + "integrity": "sha512-hVRQX4+P3MS36NxOy24v/Cdsimy/5HYePw+tmPqnNN1fxV0bPrFWR6TMqwXPwoTM2VzbkA+4lbHWUKDd5ZDA/w==", 19971 + "cpu": [ 19972 + "ia32" 19973 + ], 19974 + "license": "MIT", 19975 + "optional": true, 19976 + "os": [ 19977 + "linux" 19978 + ], 19979 + "engines": { 19980 + "node": ">=18" 19981 + } 19982 + }, 19983 + "node_modules/react-email/node_modules/@esbuild/linux-loong64": { 19984 + "version": "0.27.5", 19985 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.5.tgz", 19986 + "integrity": "sha512-mKqqRuOPALI8nDzhOBmIS0INvZOOFGGg5n1osGIXAx8oersceEbKd4t1ACNTHM3sJBXGFAlEgqM+svzjPot+ZQ==", 19987 + "cpu": [ 19988 + "loong64" 19989 + ], 19990 + "license": "MIT", 19991 + "optional": true, 19992 + "os": [ 19993 + "linux" 19994 + ], 19995 + "engines": { 19996 + "node": ">=18" 19997 + } 19998 + }, 19999 + "node_modules/react-email/node_modules/@esbuild/linux-mips64el": { 20000 + "version": "0.27.5", 20001 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.5.tgz", 20002 + "integrity": "sha512-EE/QXH9IyaAj1qeuIV5+/GZkBTipgGO782Ff7Um3vPS9cvLhJJeATy4Ggxikz2inZ46KByamMn6GqtqyVjhenA==", 20003 + "cpu": [ 20004 + "mips64el" 20005 + ], 20006 + "license": "MIT", 20007 + "optional": true, 20008 + "os": [ 20009 + "linux" 20010 + ], 20011 + "engines": { 20012 + "node": ">=18" 20013 + } 20014 + }, 20015 + "node_modules/react-email/node_modules/@esbuild/linux-ppc64": { 20016 + "version": "0.27.5", 20017 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.5.tgz", 20018 + "integrity": "sha512-0V2iF1RGxBf1b7/BjurA5jfkl7PtySjom1r6xOK2q9KWw/XCpAdtB6KNMO+9xx69yYfSCRR9FE0TyKfHA2eQMw==", 20019 + "cpu": [ 20020 + "ppc64" 20021 + ], 20022 + "license": "MIT", 20023 + "optional": true, 20024 + "os": [ 20025 + "linux" 20026 + ], 20027 + "engines": { 20028 + "node": ">=18" 20029 + } 20030 + }, 20031 + "node_modules/react-email/node_modules/@esbuild/linux-riscv64": { 20032 + "version": "0.27.5", 20033 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.5.tgz", 20034 + "integrity": "sha512-rYxThBx6G9HN6tFNuvB/vykeLi4VDsm5hE5pVwzqbAjZEARQrWu3noZSfbEnPZ/CRXP3271GyFk/49up2W190g==", 20035 + "cpu": [ 20036 + "riscv64" 20037 + ], 20038 + "license": "MIT", 20039 + "optional": true, 20040 + "os": [ 20041 + "linux" 20042 + ], 20043 + "engines": { 20044 + "node": ">=18" 20045 + } 20046 + }, 20047 + "node_modules/react-email/node_modules/@esbuild/linux-s390x": { 20048 + "version": "0.27.5", 20049 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.5.tgz", 20050 + "integrity": "sha512-uEP2q/4qgd8goEUc4QIdU/1P2NmEtZ/zX5u3OpLlCGhJIuBIv0s0wr7TB2nBrd3/A5XIdEkkS5ZLF0ULuvaaYQ==", 20051 + "cpu": [ 20052 + "s390x" 20053 + ], 20054 + "license": "MIT", 20055 + "optional": true, 20056 + "os": [ 20057 + "linux" 20058 + ], 20059 + "engines": { 20060 + "node": ">=18" 20061 + } 20062 + }, 20063 + "node_modules/react-email/node_modules/@esbuild/linux-x64": { 20064 + "version": "0.27.5", 20065 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.5.tgz", 20066 + "integrity": "sha512-+Gq47Wqq6PLOOZuBzVSII2//9yyHNKZLuwfzCemqexqOQCSz0zy0O26kIzyp9EMNMK+nZ0tFHBZrCeVUuMs/ew==", 20067 + "cpu": [ 20068 + "x64" 20069 + ], 20070 + "license": "MIT", 20071 + "optional": true, 20072 + "os": [ 20073 + "linux" 20074 + ], 20075 + "engines": { 20076 + "node": ">=18" 20077 + } 20078 + }, 20079 + "node_modules/react-email/node_modules/@esbuild/netbsd-arm64": { 20080 + "version": "0.27.5", 20081 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.5.tgz", 20082 + "integrity": "sha512-3F/5EG8VHfN/I+W5cO1/SV2H9Q/5r7vcHabMnBqhHK2lTWOh3F8vixNzo8lqxrlmBtZVFpW8pmITHnq54+Tq4g==", 20083 + "cpu": [ 20084 + "arm64" 20085 + ], 20086 + "license": "MIT", 20087 + "optional": true, 20088 + "os": [ 20089 + "netbsd" 20090 + ], 20091 + "engines": { 20092 + "node": ">=18" 20093 + } 20094 + }, 20095 + "node_modules/react-email/node_modules/@esbuild/netbsd-x64": { 20096 + "version": "0.27.5", 20097 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.5.tgz", 20098 + "integrity": "sha512-28t+Sj3CPN8vkMOlZotOmDgilQwVvxWZl7b8rxpn73Tt/gCnvrHxQUMng4uu3itdFvrtba/1nHejvxqz8xgEMA==", 20099 + "cpu": [ 20100 + "x64" 20101 + ], 20102 + "license": "MIT", 20103 + "optional": true, 20104 + "os": [ 20105 + "netbsd" 20106 + ], 20107 + "engines": { 20108 + "node": ">=18" 20109 + } 20110 + }, 20111 + "node_modules/react-email/node_modules/@esbuild/openbsd-arm64": { 20112 + "version": "0.27.5", 20113 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.5.tgz", 20114 + "integrity": "sha512-Doz/hKtiuVAi9hMsBMpwBANhIZc8l238U2Onko3t2xUp8xtM0ZKdDYHMnm/qPFVthY8KtxkXaocwmMh6VolzMA==", 20115 + "cpu": [ 20116 + "arm64" 20117 + ], 20118 + "license": "MIT", 20119 + "optional": true, 20120 + "os": [ 20121 + "openbsd" 20122 + ], 20123 + "engines": { 20124 + "node": ">=18" 20125 + } 20126 + }, 20127 + "node_modules/react-email/node_modules/@esbuild/openbsd-x64": { 20128 + "version": "0.27.5", 20129 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.5.tgz", 20130 + "integrity": "sha512-WfGVaa1oz5A7+ZFPkERIbIhKT4olvGl1tyzTRaB5yoZRLqC0KwaO95FeZtOdQj/oKkjW57KcVF944m62/0GYtA==", 20131 + "cpu": [ 20132 + "x64" 20133 + ], 20134 + "license": "MIT", 20135 + "optional": true, 20136 + "os": [ 20137 + "openbsd" 20138 + ], 20139 + "engines": { 20140 + "node": ">=18" 20141 + } 20142 + }, 20143 + "node_modules/react-email/node_modules/@esbuild/openharmony-arm64": { 20144 + "version": "0.27.5", 20145 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.5.tgz", 20146 + "integrity": "sha512-Xh+VRuh6OMh3uJ0JkCjI57l+DVe7VRGBYymen8rFPnTVgATBwA6nmToxM2OwTlSvrnWpPKkrQUj93+K9huYC6A==", 20147 + "cpu": [ 20148 + "arm64" 20149 + ], 20150 + "license": "MIT", 20151 + "optional": true, 20152 + "os": [ 20153 + "openharmony" 20154 + ], 20155 + "engines": { 20156 + "node": ">=18" 20157 + } 20158 + }, 20159 + "node_modules/react-email/node_modules/@esbuild/sunos-x64": { 20160 + "version": "0.27.5", 20161 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.5.tgz", 20162 + "integrity": "sha512-aC1gpJkkaUADHuAdQfuVTnqVUTLqqUNhAvEwHwVWcnVVZvNlDPGA0UveZsfXJJ9T6k9Po4eHi3c02gbdwO3g6w==", 20163 + "cpu": [ 20164 + "x64" 20165 + ], 20166 + "license": "MIT", 20167 + "optional": true, 20168 + "os": [ 20169 + "sunos" 20170 + ], 20171 + "engines": { 20172 + "node": ">=18" 20173 + } 20174 + }, 20175 + "node_modules/react-email/node_modules/@esbuild/win32-arm64": { 20176 + "version": "0.27.5", 20177 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.5.tgz", 20178 + "integrity": "sha512-0UNx2aavV0fk6UpZcwXFLztA2r/k9jTUa7OW7SAea1VYUhkug99MW1uZeXEnPn5+cHOd0n8myQay6TlFnBR07w==", 20179 + "cpu": [ 20180 + "arm64" 20181 + ], 20182 + "license": "MIT", 20183 + "optional": true, 20184 + "os": [ 20185 + "win32" 20186 + ], 20187 + "engines": { 20188 + "node": ">=18" 20189 + } 20190 + }, 20191 + "node_modules/react-email/node_modules/@esbuild/win32-ia32": { 20192 + "version": "0.27.5", 20193 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.5.tgz", 20194 + "integrity": "sha512-5nlJ3AeJWCTSzR7AEqVjT/faWyqKU86kCi1lLmxVqmNR+j4HrYdns+eTGjS/vmrzCIe8inGQckUadvS0+JkKdQ==", 20195 + "cpu": [ 20196 + "ia32" 20197 + ], 20198 + "license": "MIT", 20199 + "optional": true, 20200 + "os": [ 20201 + "win32" 20202 + ], 20203 + "engines": { 20204 + "node": ">=18" 20205 + } 20206 + }, 20207 + "node_modules/react-email/node_modules/@esbuild/win32-x64": { 20208 + "version": "0.27.5", 20209 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.5.tgz", 20210 + "integrity": "sha512-PWypQR+d4FLfkhBIV+/kHsUELAnMpx1bRvvsn3p+/sAERbnCzFrtDRG2Xw5n+2zPxBK2+iaP+vetsRl4Ti7WgA==", 20211 + "cpu": [ 20212 + "x64" 20213 + ], 20214 + "license": "MIT", 20215 + "optional": true, 20216 + "os": [ 20217 + "win32" 20218 + ], 20219 + "engines": { 20220 + "node": ">=18" 20221 + } 20222 + }, 20223 + "node_modules/react-email/node_modules/ansi-regex": { 20224 + "version": "6.2.2", 20225 + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", 20226 + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", 20227 + "license": "MIT", 20228 + "engines": { 20229 + "node": ">=12" 20230 + }, 20231 + "funding": { 20232 + "url": "https://github.com/chalk/ansi-regex?sponsor=1" 20233 + } 20234 + }, 20235 + "node_modules/react-email/node_modules/balanced-match": { 20236 + "version": "4.0.4", 20237 + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", 20238 + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", 20239 + "license": "MIT", 20240 + "engines": { 20241 + "node": "18 || 20 || >=22" 20242 + } 20243 + }, 20244 + "node_modules/react-email/node_modules/brace-expansion": { 20245 + "version": "5.0.5", 20246 + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", 20247 + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", 20248 + "license": "MIT", 20249 + "dependencies": { 20250 + "balanced-match": "^4.0.2" 20251 + }, 20252 + "engines": { 20253 + "node": "18 || 20 || >=22" 20254 + } 20255 + }, 20256 + "node_modules/react-email/node_modules/chalk": { 20257 + "version": "5.6.2", 20258 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", 20259 + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", 20260 + "license": "MIT", 20261 + "engines": { 20262 + "node": "^12.17.0 || ^14.13 || >=16.0.0" 20263 + }, 20264 + "funding": { 20265 + "url": "https://github.com/chalk/chalk?sponsor=1" 20266 + } 20267 + }, 20268 + "node_modules/react-email/node_modules/chokidar": { 20269 + "version": "4.0.3", 20270 + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", 20271 + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", 20272 + "license": "MIT", 20273 + "dependencies": { 20274 + "readdirp": "^4.0.1" 20275 + }, 20276 + "engines": { 20277 + "node": ">= 14.16.0" 20278 + }, 20279 + "funding": { 20280 + "url": "https://paulmillr.com/funding/" 20281 + } 20282 + }, 20283 + "node_modules/react-email/node_modules/cli-cursor": { 20284 + "version": "5.0.0", 20285 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", 20286 + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", 20287 + "license": "MIT", 20288 + "dependencies": { 20289 + "restore-cursor": "^5.0.0" 20290 + }, 20291 + "engines": { 20292 + "node": ">=18" 20293 + }, 20294 + "funding": { 20295 + "url": "https://github.com/sponsors/sindresorhus" 20296 + } 20297 + }, 20298 + "node_modules/react-email/node_modules/commander": { 20299 + "version": "13.1.0", 20300 + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", 20301 + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", 20302 + "license": "MIT", 20303 + "engines": { 20304 + "node": ">=18" 20305 + } 20306 + }, 20307 + "node_modules/react-email/node_modules/debounce": { 20308 + "version": "2.2.0", 20309 + "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.2.0.tgz", 20310 + "integrity": "sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==", 20311 + "license": "MIT", 20312 + "engines": { 20313 + "node": ">=18" 20314 + }, 20315 + "funding": { 20316 + "url": "https://github.com/sponsors/sindresorhus" 20317 + } 20318 + }, 20319 + "node_modules/react-email/node_modules/emoji-regex": { 20320 + "version": "10.6.0", 20321 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", 20322 + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", 20323 + "license": "MIT" 20324 + }, 20325 + "node_modules/react-email/node_modules/esbuild": { 20326 + "version": "0.27.5", 20327 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.5.tgz", 20328 + "integrity": "sha512-zdQoHBjuDqKsvV5OPaWansOwfSQ0Js+Uj9J85TBvj3bFW1JjWTSULMRwdQAc8qMeIScbClxeMK0jlrtB9linhA==", 20329 + "hasInstallScript": true, 20330 + "license": "MIT", 20331 + "bin": { 20332 + "esbuild": "bin/esbuild" 20333 + }, 20334 + "engines": { 20335 + "node": ">=18" 20336 + }, 20337 + "optionalDependencies": { 20338 + "@esbuild/aix-ppc64": "0.27.5", 20339 + "@esbuild/android-arm": "0.27.5", 20340 + "@esbuild/android-arm64": "0.27.5", 20341 + "@esbuild/android-x64": "0.27.5", 20342 + "@esbuild/darwin-arm64": "0.27.5", 20343 + "@esbuild/darwin-x64": "0.27.5", 20344 + "@esbuild/freebsd-arm64": "0.27.5", 20345 + "@esbuild/freebsd-x64": "0.27.5", 20346 + "@esbuild/linux-arm": "0.27.5", 20347 + "@esbuild/linux-arm64": "0.27.5", 20348 + "@esbuild/linux-ia32": "0.27.5", 20349 + "@esbuild/linux-loong64": "0.27.5", 20350 + "@esbuild/linux-mips64el": "0.27.5", 20351 + "@esbuild/linux-ppc64": "0.27.5", 20352 + "@esbuild/linux-riscv64": "0.27.5", 20353 + "@esbuild/linux-s390x": "0.27.5", 20354 + "@esbuild/linux-x64": "0.27.5", 20355 + "@esbuild/netbsd-arm64": "0.27.5", 20356 + "@esbuild/netbsd-x64": "0.27.5", 20357 + "@esbuild/openbsd-arm64": "0.27.5", 20358 + "@esbuild/openbsd-x64": "0.27.5", 20359 + "@esbuild/openharmony-arm64": "0.27.5", 20360 + "@esbuild/sunos-x64": "0.27.5", 20361 + "@esbuild/win32-arm64": "0.27.5", 20362 + "@esbuild/win32-ia32": "0.27.5", 20363 + "@esbuild/win32-x64": "0.27.5" 20364 + } 20365 + }, 20366 + "node_modules/react-email/node_modules/glob": { 20367 + "version": "13.0.6", 20368 + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", 20369 + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", 20370 + "license": "BlueOak-1.0.0", 20371 + "dependencies": { 20372 + "minimatch": "^10.2.2", 20373 + "minipass": "^7.1.3", 20374 + "path-scurry": "^2.0.2" 20375 + }, 20376 + "engines": { 20377 + "node": "18 || 20 || >=22" 20378 + }, 20379 + "funding": { 20380 + "url": "https://github.com/sponsors/isaacs" 20381 + } 20382 + }, 20383 + "node_modules/react-email/node_modules/globals": { 20384 + "version": "11.12.0", 20385 + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 20386 + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 20387 + "license": "MIT", 20388 + "engines": { 20389 + "node": ">=4" 20390 + } 20391 + }, 20392 + "node_modules/react-email/node_modules/is-interactive": { 20393 + "version": "2.0.0", 20394 + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", 20395 + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", 20396 + "license": "MIT", 20397 + "engines": { 20398 + "node": ">=12" 20399 + }, 20400 + "funding": { 20401 + "url": "https://github.com/sponsors/sindresorhus" 20402 + } 20403 + }, 20404 + "node_modules/react-email/node_modules/is-unicode-supported": { 20405 + "version": "2.1.0", 20406 + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", 20407 + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", 20408 + "license": "MIT", 20409 + "engines": { 20410 + "node": ">=18" 20411 + }, 20412 + "funding": { 20413 + "url": "https://github.com/sponsors/sindresorhus" 20414 + } 20415 + }, 20416 + "node_modules/react-email/node_modules/jiti": { 20417 + "version": "2.4.2", 20418 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", 20419 + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", 20420 + "license": "MIT", 20421 + "bin": { 20422 + "jiti": "lib/jiti-cli.mjs" 20423 + } 20424 + }, 20425 + "node_modules/react-email/node_modules/json5": { 20426 + "version": "2.2.3", 20427 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 20428 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 20429 + "license": "MIT", 20430 + "bin": { 20431 + "json5": "lib/cli.js" 20432 + }, 20433 + "engines": { 20434 + "node": ">=6" 20435 + } 20436 + }, 20437 + "node_modules/react-email/node_modules/log-symbols": { 20438 + "version": "7.0.1", 20439 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz", 20440 + "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==", 20441 + "license": "MIT", 20442 + "dependencies": { 20443 + "is-unicode-supported": "^2.0.0", 20444 + "yoctocolors": "^2.1.1" 20445 + }, 20446 + "engines": { 20447 + "node": ">=18" 20448 + }, 20449 + "funding": { 20450 + "url": "https://github.com/sponsors/sindresorhus" 20451 + } 20452 + }, 20453 + "node_modules/react-email/node_modules/mime-db": { 20454 + "version": "1.54.0", 20455 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", 20456 + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", 20457 + "license": "MIT", 20458 + "engines": { 20459 + "node": ">= 0.6" 20460 + } 20461 + }, 20462 + "node_modules/react-email/node_modules/mime-types": { 20463 + "version": "3.0.2", 20464 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", 20465 + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", 20466 + "license": "MIT", 20467 + "dependencies": { 20468 + "mime-db": "^1.54.0" 20469 + }, 20470 + "engines": { 20471 + "node": ">=18" 20472 + }, 20473 + "funding": { 20474 + "type": "opencollective", 20475 + "url": "https://opencollective.com/express" 20476 + } 20477 + }, 20478 + "node_modules/react-email/node_modules/minimatch": { 20479 + "version": "10.2.5", 20480 + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", 20481 + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", 20482 + "license": "BlueOak-1.0.0", 20483 + "dependencies": { 20484 + "brace-expansion": "^5.0.5" 20485 + }, 20486 + "engines": { 20487 + "node": "18 || 20 || >=22" 20488 + }, 20489 + "funding": { 20490 + "url": "https://github.com/sponsors/isaacs" 20491 + } 20492 + }, 20493 + "node_modules/react-email/node_modules/onetime": { 20494 + "version": "7.0.0", 20495 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", 20496 + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", 20497 + "license": "MIT", 20498 + "dependencies": { 20499 + "mimic-function": "^5.0.0" 20500 + }, 20501 + "engines": { 20502 + "node": ">=18" 20503 + }, 20504 + "funding": { 20505 + "url": "https://github.com/sponsors/sindresorhus" 20506 + } 20507 + }, 20508 + "node_modules/react-email/node_modules/ora": { 20509 + "version": "8.2.0", 20510 + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", 20511 + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", 20512 + "license": "MIT", 20513 + "dependencies": { 20514 + "chalk": "^5.3.0", 20515 + "cli-cursor": "^5.0.0", 20516 + "cli-spinners": "^2.9.2", 20517 + "is-interactive": "^2.0.0", 20518 + "is-unicode-supported": "^2.0.0", 20519 + "log-symbols": "^6.0.0", 20520 + "stdin-discarder": "^0.2.2", 20521 + "string-width": "^7.2.0", 20522 + "strip-ansi": "^7.1.0" 20523 + }, 20524 + "engines": { 20525 + "node": ">=18" 20526 + }, 20527 + "funding": { 20528 + "url": "https://github.com/sponsors/sindresorhus" 20529 + } 20530 + }, 20531 + "node_modules/react-email/node_modules/ora/node_modules/log-symbols": { 20532 + "version": "6.0.0", 20533 + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", 20534 + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", 20535 + "license": "MIT", 20536 + "dependencies": { 20537 + "chalk": "^5.3.0", 20538 + "is-unicode-supported": "^1.3.0" 20539 + }, 20540 + "engines": { 20541 + "node": ">=18" 20542 + }, 20543 + "funding": { 20544 + "url": "https://github.com/sponsors/sindresorhus" 20545 + } 20546 + }, 20547 + "node_modules/react-email/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported": { 20548 + "version": "1.3.0", 20549 + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", 20550 + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", 20551 + "license": "MIT", 20552 + "engines": { 20553 + "node": ">=12" 20554 + }, 20555 + "funding": { 20556 + "url": "https://github.com/sponsors/sindresorhus" 20557 + } 20558 + }, 20559 + "node_modules/react-email/node_modules/readdirp": { 20560 + "version": "4.1.2", 20561 + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", 20562 + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", 20563 + "license": "MIT", 20564 + "engines": { 20565 + "node": ">= 14.18.0" 20566 + }, 20567 + "funding": { 20568 + "type": "individual", 20569 + "url": "https://paulmillr.com/funding/" 20570 + } 20571 + }, 20572 + "node_modules/react-email/node_modules/restore-cursor": { 20573 + "version": "5.1.0", 20574 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", 20575 + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", 20576 + "license": "MIT", 20577 + "dependencies": { 20578 + "onetime": "^7.0.0", 20579 + "signal-exit": "^4.1.0" 20580 + }, 20581 + "engines": { 20582 + "node": ">=18" 20583 + }, 20584 + "funding": { 20585 + "url": "https://github.com/sponsors/sindresorhus" 20586 + } 20587 + }, 20588 + "node_modules/react-email/node_modules/string-width": { 20589 + "version": "7.2.0", 20590 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", 20591 + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", 20592 + "license": "MIT", 20593 + "dependencies": { 20594 + "emoji-regex": "^10.3.0", 20595 + "get-east-asian-width": "^1.0.0", 20596 + "strip-ansi": "^7.1.0" 20597 + }, 20598 + "engines": { 20599 + "node": ">=18" 20600 + }, 20601 + "funding": { 20602 + "url": "https://github.com/sponsors/sindresorhus" 20603 + } 20604 + }, 20605 + "node_modules/react-email/node_modules/strip-ansi": { 20606 + "version": "7.2.0", 20607 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", 20608 + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", 20609 + "license": "MIT", 20610 + "dependencies": { 20611 + "ansi-regex": "^6.2.2" 20612 + }, 20613 + "engines": { 20614 + "node": ">=12" 20615 + }, 20616 + "funding": { 20617 + "url": "https://github.com/chalk/strip-ansi?sponsor=1" 20618 + } 20619 + }, 20620 + "node_modules/react-email/node_modules/tailwindcss": { 20621 + "version": "4.2.3", 20622 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.3.tgz", 20623 + "integrity": "sha512-fA/NX5gMf0ooCLISgB0wScaWgaj6rjTN2SVAwleURjiya7ITNkV+VMmoHtKkldP6CIZoYCZyxb8zP/e2TWoEtQ==", 20624 + "license": "MIT" 20625 + }, 20626 + "node_modules/react-email/node_modules/tsconfig-paths": { 20627 + "version": "4.2.0", 20628 + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", 20629 + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", 20630 + "license": "MIT", 20631 + "dependencies": { 20632 + "json5": "^2.2.2", 20633 + "minimist": "^1.2.6", 20634 + "strip-bom": "^3.0.0" 20635 + }, 20636 + "engines": { 20637 + "node": ">=6" 20638 + } 20639 + }, 17487 20640 "node_modules/react-is": { 17488 20641 "version": "16.13.1", 17489 20642 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", ··· 18066 21219 "version": "2.0.2", 18067 21220 "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 18068 21221 "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 18069 - "dev": true, 18070 21222 "engines": { 18071 21223 "node": ">=0.10.0" 18072 21224 } ··· 18308 21460 "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", 18309 21461 "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" 18310 21462 }, 21463 + "node_modules/schema-utils": { 21464 + "version": "4.3.3", 21465 + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", 21466 + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", 21467 + "license": "MIT", 21468 + "optional": true, 21469 + "peer": true, 21470 + "dependencies": { 21471 + "@types/json-schema": "^7.0.9", 21472 + "ajv": "^8.9.0", 21473 + "ajv-formats": "^2.1.1", 21474 + "ajv-keywords": "^5.1.0" 21475 + }, 21476 + "engines": { 21477 + "node": ">= 10.13.0" 21478 + }, 21479 + "funding": { 21480 + "type": "opencollective", 21481 + "url": "https://opencollective.com/webpack" 21482 + } 21483 + }, 21484 + "node_modules/selderee": { 21485 + "version": "0.11.0", 21486 + "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", 21487 + "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==", 21488 + "license": "MIT", 21489 + "dependencies": { 21490 + "parseley": "^0.12.0" 21491 + }, 21492 + "funding": { 21493 + "url": "https://ko-fi.com/killymxi" 21494 + } 21495 + }, 18311 21496 "node_modules/selfsigned": { 18312 21497 "version": "2.4.1", 18313 21498 "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", ··· 18624 21809 "version": "4.1.0", 18625 21810 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 18626 21811 "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 18627 - "dev": true, 18628 21812 "engines": { 18629 21813 "node": ">=14" 18630 21814 }, ··· 18651 21835 "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", 18652 21836 "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" 18653 21837 }, 21838 + "node_modules/socket.io": { 21839 + "version": "4.8.3", 21840 + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", 21841 + "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", 21842 + "license": "MIT", 21843 + "dependencies": { 21844 + "accepts": "~1.3.4", 21845 + "base64id": "~2.0.0", 21846 + "cors": "~2.8.5", 21847 + "debug": "~4.4.1", 21848 + "engine.io": "~6.6.0", 21849 + "socket.io-adapter": "~2.5.2", 21850 + "socket.io-parser": "~4.2.4" 21851 + }, 21852 + "engines": { 21853 + "node": ">=10.2.0" 21854 + } 21855 + }, 21856 + "node_modules/socket.io-adapter": { 21857 + "version": "2.5.6", 21858 + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", 21859 + "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==", 21860 + "license": "MIT", 21861 + "dependencies": { 21862 + "debug": "~4.4.1", 21863 + "ws": "~8.18.3" 21864 + } 21865 + }, 21866 + "node_modules/socket.io-adapter/node_modules/ws": { 21867 + "version": "8.18.3", 21868 + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", 21869 + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", 21870 + "license": "MIT", 21871 + "engines": { 21872 + "node": ">=10.0.0" 21873 + }, 21874 + "peerDependencies": { 21875 + "bufferutil": "^4.0.1", 21876 + "utf-8-validate": ">=5.0.2" 21877 + }, 21878 + "peerDependenciesMeta": { 21879 + "bufferutil": { 21880 + "optional": true 21881 + }, 21882 + "utf-8-validate": { 21883 + "optional": true 21884 + } 21885 + } 21886 + }, 21887 + "node_modules/socket.io-parser": { 21888 + "version": "4.2.6", 21889 + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz", 21890 + "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==", 21891 + "license": "MIT", 21892 + "dependencies": { 21893 + "@socket.io/component-emitter": "~3.1.0", 21894 + "debug": "~4.4.1" 21895 + }, 21896 + "engines": { 21897 + "node": ">=10.0.0" 21898 + } 21899 + }, 18654 21900 "node_modules/sonic-boom": { 18655 21901 "version": "3.8.1", 18656 21902 "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.1.tgz", ··· 18664 21910 "version": "0.6.1", 18665 21911 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 18666 21912 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 18667 - "dev": true, 21913 + "devOptional": true, 18668 21914 "engines": { 18669 21915 "node": ">=0.10.0" 18670 21916 } ··· 18682 21928 "version": "0.5.21", 18683 21929 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 18684 21930 "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 18685 - "dev": true, 21931 + "devOptional": true, 18686 21932 "dependencies": { 18687 21933 "buffer-from": "^1.0.0", 18688 21934 "source-map": "^0.6.0" ··· 18736 21982 "license": "MIT", 18737 21983 "engines": { 18738 21984 "node": ">= 0.8" 21985 + } 21986 + }, 21987 + "node_modules/stdin-discarder": { 21988 + "version": "0.2.2", 21989 + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", 21990 + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", 21991 + "license": "MIT", 21992 + "engines": { 21993 + "node": ">=18" 21994 + }, 21995 + "funding": { 21996 + "url": "https://github.com/sponsors/sindresorhus" 18739 21997 } 18740 21998 }, 18741 21999 "node_modules/stop-iteration-iterator": { ··· 18931 22189 "version": "3.0.0", 18932 22190 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 18933 22191 "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 18934 - "dev": true, 18935 22192 "engines": { 18936 22193 "node": ">=4" 18937 22194 } ··· 18965 22222 } 18966 22223 } 18967 22224 }, 22225 + "node_modules/stubborn-fs": { 22226 + "version": "2.0.0", 22227 + "resolved": "https://registry.npmjs.org/stubborn-fs/-/stubborn-fs-2.0.0.tgz", 22228 + "integrity": "sha512-Y0AvSwDw8y+nlSNFXMm2g6L51rBGdAQT20J3YSOqxC53Lo3bjWRtr2BKcfYoAf352WYpsZSTURrA0tqhfgudPA==", 22229 + "license": "MIT", 22230 + "dependencies": { 22231 + "stubborn-utils": "^1.0.1" 22232 + } 22233 + }, 22234 + "node_modules/stubborn-utils": { 22235 + "version": "1.0.2", 22236 + "resolved": "https://registry.npmjs.org/stubborn-utils/-/stubborn-utils-1.0.2.tgz", 22237 + "integrity": "sha512-zOh9jPYI+xrNOyisSelgym4tolKTJCQd5GBhK0+0xJvcYDcwlOoxF/rnFKQ2KRZknXSG9jWAp66fwP6AxN9STg==", 22238 + "license": "MIT" 22239 + }, 18968 22240 "node_modules/style-to-object": { 18969 22241 "version": "1.0.14", 18970 22242 "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", ··· 19051 22323 "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" 19052 22324 } 19053 22325 }, 22326 + "node_modules/tagged-tag": { 22327 + "version": "1.0.0", 22328 + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", 22329 + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", 22330 + "license": "MIT", 22331 + "engines": { 22332 + "node": ">=20" 22333 + }, 22334 + "funding": { 22335 + "url": "https://github.com/sponsors/sindresorhus" 22336 + } 22337 + }, 19054 22338 "node_modules/tailwindcss": { 19055 22339 "version": "4.1.13", 19056 22340 "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.13.tgz", ··· 19059 22343 "license": "MIT" 19060 22344 }, 19061 22345 "node_modules/tapable": { 19062 - "version": "2.2.1", 19063 - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 19064 - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 19065 - "dev": true, 22346 + "version": "2.3.2", 22347 + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", 22348 + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", 22349 + "devOptional": true, 22350 + "license": "MIT", 19066 22351 "engines": { 19067 22352 "node": ">=6" 22353 + }, 22354 + "funding": { 22355 + "type": "opencollective", 22356 + "url": "https://opencollective.com/webpack" 19068 22357 } 19069 22358 }, 19070 22359 "node_modules/tar": { ··· 19099 22388 "integrity": "sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ==", 19100 22389 "license": "ISC" 19101 22390 }, 22391 + "node_modules/terser": { 22392 + "version": "5.46.1", 22393 + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", 22394 + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", 22395 + "license": "BSD-2-Clause", 22396 + "optional": true, 22397 + "peer": true, 22398 + "dependencies": { 22399 + "@jridgewell/source-map": "^0.3.3", 22400 + "acorn": "^8.15.0", 22401 + "commander": "^2.20.0", 22402 + "source-map-support": "~0.5.20" 22403 + }, 22404 + "bin": { 22405 + "terser": "bin/terser" 22406 + }, 22407 + "engines": { 22408 + "node": ">=10" 22409 + } 22410 + }, 22411 + "node_modules/terser-webpack-plugin": { 22412 + "version": "5.4.0", 22413 + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", 22414 + "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", 22415 + "license": "MIT", 22416 + "optional": true, 22417 + "peer": true, 22418 + "dependencies": { 22419 + "@jridgewell/trace-mapping": "^0.3.25", 22420 + "jest-worker": "^27.4.5", 22421 + "schema-utils": "^4.3.0", 22422 + "terser": "^5.31.1" 22423 + }, 22424 + "engines": { 22425 + "node": ">= 10.13.0" 22426 + }, 22427 + "funding": { 22428 + "type": "opencollective", 22429 + "url": "https://opencollective.com/webpack" 22430 + }, 22431 + "peerDependencies": { 22432 + "webpack": "^5.1.0" 22433 + }, 22434 + "peerDependenciesMeta": { 22435 + "@swc/core": { 22436 + "optional": true 22437 + }, 22438 + "esbuild": { 22439 + "optional": true 22440 + }, 22441 + "uglify-js": { 22442 + "optional": true 22443 + } 22444 + } 22445 + }, 22446 + "node_modules/terser/node_modules/commander": { 22447 + "version": "2.20.3", 22448 + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 22449 + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 22450 + "license": "MIT", 22451 + "optional": true, 22452 + "peer": true 22453 + }, 19102 22454 "node_modules/thread-stream": { 19103 22455 "version": "2.7.0", 19104 22456 "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.7.0.tgz", ··· 19128 22480 "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", 19129 22481 "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", 19130 22482 "license": "MIT" 22483 + }, 22484 + "node_modules/tinyexec": { 22485 + "version": "1.1.1", 22486 + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.1.1.tgz", 22487 + "integrity": "sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==", 22488 + "license": "MIT", 22489 + "engines": { 22490 + "node": ">=18" 22491 + } 19131 22492 }, 19132 22493 "node_modules/tinyglobby": { 19133 22494 "version": "0.2.15", ··· 19468 22829 "license": "MIT", 19469 22830 "peer": true 19470 22831 }, 22832 + "node_modules/uint8array-extras": { 22833 + "version": "1.5.0", 22834 + "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", 22835 + "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", 22836 + "license": "MIT", 22837 + "engines": { 22838 + "node": ">=18" 22839 + }, 22840 + "funding": { 22841 + "url": "https://github.com/sponsors/sindresorhus" 22842 + } 22843 + }, 19471 22844 "node_modules/uint8arrays": { 19472 22845 "version": "3.0.0", 19473 22846 "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", ··· 19648 23021 } 19649 23022 }, 19650 23023 "node_modules/update-browserslist-db": { 19651 - "version": "1.1.4", 19652 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", 19653 - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", 19654 - "dev": true, 23024 + "version": "1.2.3", 23025 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", 23026 + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", 23027 + "devOptional": true, 19655 23028 "funding": [ 19656 23029 { 19657 23030 "type": "opencollective", ··· 19666 23039 "url": "https://github.com/sponsors/ai" 19667 23040 } 19668 23041 ], 23042 + "license": "MIT", 19669 23043 "dependencies": { 19670 23044 "escalade": "^3.2.0", 19671 23045 "picocolors": "^1.1.1" ··· 19832 23206 "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", 19833 23207 "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" 19834 23208 }, 23209 + "node_modules/watchpack": { 23210 + "version": "2.5.1", 23211 + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", 23212 + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", 23213 + "license": "MIT", 23214 + "optional": true, 23215 + "peer": true, 23216 + "dependencies": { 23217 + "glob-to-regexp": "^0.4.1", 23218 + "graceful-fs": "^4.1.2" 23219 + }, 23220 + "engines": { 23221 + "node": ">=10.13.0" 23222 + } 23223 + }, 19835 23224 "node_modules/web-namespaces": { 19836 23225 "version": "2.0.1", 19837 23226 "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", ··· 19858 23247 "node": ">=12" 19859 23248 } 19860 23249 }, 23250 + "node_modules/webpack": { 23251 + "version": "5.106.2", 23252 + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.106.2.tgz", 23253 + "integrity": "sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==", 23254 + "license": "MIT", 23255 + "optional": true, 23256 + "peer": true, 23257 + "dependencies": { 23258 + "@types/eslint-scope": "^3.7.7", 23259 + "@types/estree": "^1.0.8", 23260 + "@types/json-schema": "^7.0.15", 23261 + "@webassemblyjs/ast": "^1.14.1", 23262 + "@webassemblyjs/wasm-edit": "^1.14.1", 23263 + "@webassemblyjs/wasm-parser": "^1.14.1", 23264 + "acorn": "^8.16.0", 23265 + "acorn-import-phases": "^1.0.3", 23266 + "browserslist": "^4.28.1", 23267 + "chrome-trace-event": "^1.0.2", 23268 + "enhanced-resolve": "^5.20.0", 23269 + "es-module-lexer": "^2.0.0", 23270 + "eslint-scope": "5.1.1", 23271 + "events": "^3.2.0", 23272 + "glob-to-regexp": "^0.4.1", 23273 + "graceful-fs": "^4.2.11", 23274 + "loader-runner": "^4.3.1", 23275 + "mime-db": "^1.54.0", 23276 + "neo-async": "^2.6.2", 23277 + "schema-utils": "^4.3.3", 23278 + "tapable": "^2.3.0", 23279 + "terser-webpack-plugin": "^5.3.17", 23280 + "watchpack": "^2.5.1", 23281 + "webpack-sources": "^3.3.4" 23282 + }, 23283 + "bin": { 23284 + "webpack": "bin/webpack.js" 23285 + }, 23286 + "engines": { 23287 + "node": ">=10.13.0" 23288 + }, 23289 + "funding": { 23290 + "type": "opencollective", 23291 + "url": "https://opencollective.com/webpack" 23292 + }, 23293 + "peerDependenciesMeta": { 23294 + "webpack-cli": { 23295 + "optional": true 23296 + } 23297 + } 23298 + }, 19861 23299 "node_modules/webpack-bundle-analyzer": { 19862 23300 "version": "4.10.1", 19863 23301 "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", ··· 19915 23353 } 19916 23354 } 19917 23355 }, 23356 + "node_modules/webpack-sources": { 23357 + "version": "3.3.4", 23358 + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", 23359 + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", 23360 + "license": "MIT", 23361 + "optional": true, 23362 + "peer": true, 23363 + "engines": { 23364 + "node": ">=10.13.0" 23365 + } 23366 + }, 23367 + "node_modules/webpack/node_modules/eslint-scope": { 23368 + "version": "5.1.1", 23369 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 23370 + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 23371 + "license": "BSD-2-Clause", 23372 + "optional": true, 23373 + "peer": true, 23374 + "dependencies": { 23375 + "esrecurse": "^4.3.0", 23376 + "estraverse": "^4.1.1" 23377 + }, 23378 + "engines": { 23379 + "node": ">=8.0.0" 23380 + } 23381 + }, 23382 + "node_modules/webpack/node_modules/estraverse": { 23383 + "version": "4.3.0", 23384 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 23385 + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 23386 + "license": "BSD-2-Clause", 23387 + "optional": true, 23388 + "peer": true, 23389 + "engines": { 23390 + "node": ">=4.0" 23391 + } 23392 + }, 23393 + "node_modules/webpack/node_modules/mime-db": { 23394 + "version": "1.54.0", 23395 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", 23396 + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", 23397 + "license": "MIT", 23398 + "optional": true, 23399 + "peer": true, 23400 + "engines": { 23401 + "node": ">= 0.6" 23402 + } 23403 + }, 19918 23404 "node_modules/whatwg-url": { 19919 23405 "version": "14.1.0", 19920 23406 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.1.0.tgz", ··· 19927 23413 "engines": { 19928 23414 "node": ">=18" 19929 23415 } 23416 + }, 23417 + "node_modules/when-exit": { 23418 + "version": "2.1.5", 23419 + "resolved": "https://registry.npmjs.org/when-exit/-/when-exit-2.1.5.tgz", 23420 + "integrity": "sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==", 23421 + "license": "MIT" 19930 23422 }, 19931 23423 "node_modules/which": { 19932 23424 "version": "2.0.2", ··· 20713 24205 "dev": true, 20714 24206 "engines": { 20715 24207 "node": ">=10" 24208 + }, 24209 + "funding": { 24210 + "url": "https://github.com/sponsors/sindresorhus" 24211 + } 24212 + }, 24213 + "node_modules/yoctocolors": { 24214 + "version": "2.1.2", 24215 + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", 24216 + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", 24217 + "license": "MIT", 24218 + "engines": { 24219 + "node": ">=18" 20716 24220 }, 20717 24221 "funding": { 20718 24222 "url": "https://github.com/sponsors/sindresorhus"
+5 -1
package.json
··· 14 14 "build-feed-service": "esbuild feeds/index.ts --outfile=feeds/dist/index.js --bundle --platform=node", 15 15 "start-appview-dev": "tsx --env-file='./.env.local' --watch appview/index.ts", 16 16 "start-feed-service-dev": "npx tsx --env-file='./.env.local' --watch feeds/index.ts", 17 - "start-appview-prod": "npm run build-appview && node appview/dist/index.js" 17 + "start-appview-prod": "npm run build-appview && node appview/dist/index.js", 18 + "email:dev": "email dev" 18 19 }, 19 20 "keywords": [], 20 21 "author": "", ··· 40 41 "@radix-ui/react-popover": "^1.1.15", 41 42 "@radix-ui/react-slider": "^1.3.6", 42 43 "@radix-ui/react-tooltip": "^1.2.8", 44 + "@react-email/components": "^1.0.12", 43 45 "@react-spring/web": "^10.0.0-beta.0", 44 46 "@rocicorp/undo": "^0.2.1", 45 47 "@supabase/ssr": "^0.3.0", ··· 81 83 "react-aria-components": "^1.8.0", 82 84 "react-day-picker": "^9.3.0", 83 85 "react-dom": "19.2.1", 86 + "react-email": "^6.0.0", 84 87 "react-use-measure": "^2.1.1", 85 88 "recharts": "^3.7.0", 86 89 "redlock": "^5.0.0-beta.2", ··· 107 110 "devDependencies": { 108 111 "@atproto/lex-cli": "^0.9.5", 109 112 "@cloudflare/workers-types": "^4.20240512.0", 113 + "@react-email/ui": "^6.0.0", 110 114 "@tailwindcss/postcss": "^4.1.13", 111 115 "@types/katex": "^0.16.7", 112 116 "@types/luxon": "^3.7.1",
+291
specs/2026-04-20-newsletter-mode.md
··· 1 + # Newsletter Mode 2 + 3 + **Status**: draft 4 + 5 + ## Goal 6 + 7 + Let publication owners opt in to sending posts as emails to their subscribers. Newsletter mode is appview-specific configuration (not part of the AT-Proto publication record), so all state lives in Postgres. 8 + 9 + ## Data Model 10 + 11 + ### `publication_newsletter_settings` — per-publication newsletter configuration 12 + 13 + A dedicated table rather than a `metadata` jsonb column on `publications`, because sender-email verification has a real lifecycle (enable → verify → rotate → revoke) that benefits from typed columns, and because "list publications with newsletter enabled" is a query we'll want cheap once metering lands. 14 + 15 + - `publication` (text, PK, FK → `publications.uri` ON DELETE CASCADE) 16 + - `enabled` (boolean, not null, default false) 17 + - `enabled_at` (timestamptz, nullable) — first time newsletter was turned on 18 + - `reply_to_email` (text, nullable) — owner's address; replies from readers go here 19 + - `reply_to_verified_at` (timestamptz, nullable) — null means unverified; set once the confirmation code flow completes 20 + - `created_at` (timestamptz, not null, default now()) 21 + - `updated_at` (timestamptz, not null, default now()) 22 + 23 + All sends go From `newsletters@leaflet.pub` (or similar, a domain we control); no per-publication sender verification needed. 24 + 25 + Indexes: 26 + - Partial index on `enabled WHERE enabled` — for ops/billing reconciliation queries. 27 + 28 + RLS: 29 + - Writes: publication owner only (same ACL as `publication_domains`). 30 + - Reads: `enabled` is effectively public (surfaced on the subscribe UI), but `sender_email` and verification state are owner-only. Either split into two tables or enforce at the RPC layer. 31 + 32 + ### Migration sketch 33 + 34 + ```sql 35 + create table "public"."publication_newsletter_settings" ( 36 + "publication" text primary key 37 + references publications(uri) on delete cascade, 38 + "enabled" boolean not null default false, 39 + "enabled_at" timestamptz, 40 + "reply_to_email" text, 41 + "reply_to_verified_at" timestamptz, 42 + "created_at" timestamptz not null default now(), 43 + "updated_at" timestamptz not null default now() 44 + ); 45 + 46 + create index publication_newsletter_settings_enabled_idx 47 + on publication_newsletter_settings (enabled) where enabled; 48 + 49 + alter table "public"."publication_newsletter_settings" 50 + enable row level security; 51 + 52 + -- grants + RLS policies TBD 53 + ``` 54 + 55 + Plus: 56 + - Add matching `pgTable` in `drizzle/schema.ts`. 57 + - Run `npm run generate-db-types` to refresh Supabase types. 58 + - Extend `get_publication_data` (or add a new RPC) to join this row into the dashboard payload. 59 + 60 + ### `publication_email_subscribers` — per-publication email subscriber list 61 + 62 + Replaces the two legacy tables that are being dropped (see below). One row per `(publication, email)`. Unsubscribes are soft — the row stays, state transitions to `unsubscribed`. This lets us honor re-subscribe requests cleanly and keeps history intact for the events table. 63 + 64 + Columns: 65 + - `id` (uuid, PK, default `gen_random_uuid()`) 66 + - `publication` (text, not null, FK → `publications.uri` ON DELETE CASCADE) 67 + - `email` (text, not null) 68 + - `identity_id` (uuid, nullable, FK → `identities.id` ON DELETE SET NULL) — set if the subscriber is a logged-in Leaflet user at signup time 69 + - `state` (text, not null, default `'pending'`) — one of `pending` (awaiting confirmation), `confirmed`, `unsubscribed`. A text check constraint keeps this honest. 70 + - `confirmation_code` (text, nullable) — cleared once confirmed 71 + - `unsubscribe_token` (uuid, not null, default `gen_random_uuid()`, unique) — opaque token used in Postmark `List-Unsubscribe` URLs 72 + - `created_at` (timestamptz, not null, default now()) 73 + - `confirmed_at` (timestamptz, nullable) 74 + - `unsubscribed_at` (timestamptz, nullable) 75 + 76 + Indexes / constraints: 77 + - `unique (publication, email)` — one record per address per publication; a re-subscribe updates the existing row back to `pending`/`confirmed` rather than inserting. 78 + - Partial index on `(publication) WHERE state = 'confirmed'` — counts and send targeting hit this. 79 + - Unique index on `unsubscribe_token`. 80 + 81 + RLS: 82 + - Inserts by anon: allowed (subscribe form), but only with `state = 'pending'`. 83 + - Reads of individual rows: public by `unsubscribe_token` (manage-subscription link); full list is owner-only. 84 + - Updates: service role + the owner. 85 + 86 + ### `publication_email_subscriber_events` — append-only event log 87 + 88 + One table per event type would balloon; instead, one append-only log covering the lifecycle. Useful for debugging delivery issues, computing timeseries, and later billing reconciliation. 89 + 90 + Columns: 91 + - `id` (uuid, PK, default `gen_random_uuid()`) 92 + - `subscriber` (uuid, not null, FK → `publication_email_subscribers.id` ON DELETE CASCADE) 93 + - `publication` (text, not null, FK → `publications.uri` ON DELETE CASCADE) — denormalized for cheap per-publication queries 94 + - `event_type` (text, not null) — `subscribe_requested`, `confirmation_sent`, `confirmed`, `unsubscribe_requested`, `resubscribed`, `post_sent`, `bounce`, `complaint`. Check constraint enforces the enum. 95 + - `occurred_at` (timestamptz, not null, default now()) 96 + - `metadata` (jsonb, nullable) — event-specific payload (e.g. `{ "document": "at://…" }` for `post_sent`, `{ "reason": "…" }` for `bounce`) 97 + 98 + Indexes: 99 + - `(subscriber, occurred_at desc)` — per-subscriber timeline. 100 + - `(publication, event_type, occurred_at desc)` — "how many confirms this week" etc. 101 + 102 + This is the single source of truth for "when did X happen" — subscribe confirmations, unsubscribes, per-post sends, and Postmark bounce/complaint webhooks all land here. Columns on `publication_email_subscribers` like `confirmed_at` / `unsubscribed_at` are convenience caches derivable from this log. 103 + 104 + ### `publication_post_sends` — per-post send record 105 + 106 + One row per `(publication, document)` send attempt. Primary job is idempotency: the publish action checks this table before triggering a send so republishing/retrying can't double-email. Secondary job is cheap dashboard counts ("emailed N subscribers") without scanning the events log. 107 + 108 + Columns: 109 + - `publication` (text, not null, FK → `publications.uri` ON DELETE CASCADE) 110 + - `document` (text, not null, FK → `documents.uri` ON DELETE CASCADE) 111 + - `status` (text, not null, default `'pending'`) — `pending`, `sending`, `sent`, `failed`. Check constraint enforces the enum. 112 + - `subscriber_count` (int, nullable) — snapshot of confirmed subscribers at send time; null until the batch is built 113 + - `started_at` (timestamptz, not null, default now()) 114 + - `completed_at` (timestamptz, nullable) — set when `status` moves to `sent` or `failed` 115 + - `error` (text, nullable) — populated when `status = 'failed'` 116 + 117 + Primary key: `(publication, document)` — the unique constraint is the idempotency guarantee. Inserting with `ON CONFLICT DO NOTHING` is the race-safe "reserve this send" pattern. 118 + 119 + Indexes: 120 + - PK covers the common lookup. 121 + - `(publication, started_at desc)` — for the dashboard's recent-sends list. 122 + 123 + Per-recipient delivery detail (which addresses got it, bounces, complaints) stays in `publication_email_subscriber_events`; this table is only the post-level aggregate. 124 + 125 + ### Tables to drop 126 + 127 + Both are replaced by the above and have no remaining real consumers after the newsletter flow lands: 128 + 129 + - `subscribers_to_publications` — old email-keyed stub from `20250321233105_add_subscribers_to_publications_table.sql`. Only writer is `actions/subscribeToPublicationWithEmail.ts`; nothing reads it. Drop the table + the action + `unsubscribeFromPublication.ts`. 130 + - `email_subscriptions_to_entity` — the mailbox-era table from `20240821203026_add_email_subscription_tables.sql`. Consumers: `actions/subscriptions/{subscribeToMailboxWithEmail,sendPostToSubscribers,confirmEmailSubscription,deleteSubscription}.ts`, plus `app/emails/unsubscribe/route.ts` and `migrate_user_to_standard.ts`. Mailbox flow is being retired; drop the table and those actions/routes. 131 + 132 + Audit before the drop migration runs: verify no live writes in the last 30 days for either table (quick `select max(created_at)` sanity check). 133 + 134 + ### Migration sketch (additions) 135 + 136 + ```sql 137 + create table "public"."publication_email_subscribers" ( 138 + "id" uuid primary key default gen_random_uuid(), 139 + "publication" text not null 140 + references publications(uri) on delete cascade, 141 + "email" text not null, 142 + "identity_id" uuid 143 + references identities(id) on delete set null, 144 + "state" text not null default 'pending' 145 + check (state in ('pending', 'confirmed', 'unsubscribed')), 146 + "confirmation_code" text, 147 + "unsubscribe_token" uuid not null default gen_random_uuid(), 148 + "created_at" timestamptz not null default now(), 149 + "confirmed_at" timestamptz, 150 + "unsubscribed_at" timestamptz, 151 + unique (publication, email), 152 + unique (unsubscribe_token) 153 + ); 154 + 155 + create index publication_email_subscribers_confirmed_idx 156 + on publication_email_subscribers (publication) 157 + where state = 'confirmed'; 158 + 159 + create table "public"."publication_email_subscriber_events" ( 160 + "id" uuid primary key default gen_random_uuid(), 161 + "subscriber" uuid not null 162 + references publication_email_subscribers(id) on delete cascade, 163 + "publication" text not null 164 + references publications(uri) on delete cascade, 165 + "event_type" text not null check (event_type in ( 166 + 'subscribe_requested', 'confirmation_sent', 'confirmed', 167 + 'unsubscribe_requested', 'resubscribed', 168 + 'post_sent', 'bounce', 'complaint' 169 + )), 170 + "occurred_at" timestamptz not null default now(), 171 + "metadata" jsonb 172 + ); 173 + 174 + create index publication_email_subscriber_events_subscriber_idx 175 + on publication_email_subscriber_events (subscriber, occurred_at desc); 176 + 177 + create index publication_email_subscriber_events_publication_idx 178 + on publication_email_subscriber_events (publication, event_type, occurred_at desc); 179 + 180 + create table "public"."publication_post_sends" ( 181 + "publication" text not null 182 + references publications(uri) on delete cascade, 183 + "document" text not null 184 + references documents(uri) on delete cascade, 185 + "status" text not null default 'pending' 186 + check (status in ('pending', 'sending', 'sent', 'failed')), 187 + "subscriber_count" integer, 188 + "started_at" timestamptz not null default now(), 189 + "completed_at" timestamptz, 190 + "error" text, 191 + primary key (publication, document) 192 + ); 193 + 194 + create index publication_post_sends_publication_idx 195 + on publication_post_sends (publication, started_at desc); 196 + 197 + alter table "public"."publication_email_subscribers" enable row level security; 198 + alter table "public"."publication_email_subscriber_events" enable row level security; 199 + alter table "public"."publication_post_sends" enable row level security; 200 + 201 + -- drop legacy 202 + drop table "public"."subscribers_to_publications"; 203 + drop table "public"."email_subscriptions_to_entity"; 204 + ``` 205 + 206 + Plus: 207 + - Delete the accompanying actions/routes: `actions/subscribeToPublicationWithEmail.ts`, `actions/unsubscribeFromPublication.ts`, `actions/subscriptions/*.ts`, `app/emails/unsubscribe/route.ts`. Any references in `migrate_user_to_standard.ts` need cleaning up too. 208 + - Remove the dropped tables from `drizzle/schema.ts` and `drizzle/relations.ts`; add the two new tables. 209 + - Regenerate Supabase types. 210 + 211 + ## Delivery (Postmark + Inngest) 212 + 213 + ### From / Reply-To 214 + 215 + - **From:** fixed `newsletters@leaflet.pub` for every publication. No per-publication DKIM/SPF setup. 216 + - **Reply-To:** publication owner's verified `reply_to_email`. Replies land in the owner's inbox. 217 + - Reply-To verification reuses the same confirmation-code mechanism as subscriber confirmations (code emailed, owner pastes it back). No DNS involved. 218 + 219 + ### Message streams 220 + 221 + - `broadcast` — newsletter sends. Honors Postmark's native suppression list and one-click `List-Unsubscribe`. 222 + - transactional (existing `outbound` or a dedicated stream) — subscriber confirmation codes and reply-to verification codes. Not suppression-gated. 223 + 224 + ### Sending path (per-post) 225 + 226 + 1. Publish action inserts `publication_post_sends` with `status = 'pending'` using `INSERT … ON CONFLICT DO NOTHING`. The PK doubles as the idempotency guard — a repeat publish is a no-op. 227 + 2. Action fires an Inngest event (e.g. `newsletter/post.send.requested`) with publication URI + document URI. 228 + 3. Inngest function: 229 + - Snapshots `confirmed` subscribers, writes `subscriber_count` and flips `status = 'sending'`. 230 + - Renders the email via the React Email templates in `emails/` (see "Template rendering" below). 231 + - Chunks into batches of ≤500 recipients per `/email/batch` call (Postmark's batch size cap). 232 + - Appends one `post_sent` event per recipient to `publication_email_subscriber_events`. 233 + - Uses Inngest step retries for per-batch failures. 234 + - On terminal completion, updates `status` to `sent` or `failed` + `completed_at` + `error`. 235 + 236 + ### Postmark webhooks 237 + 238 + New appview endpoint (e.g. `app/api/postmark/webhook`) receives: 239 + 240 + - `Bounce` — append `bounce` event; on hard bounce transition subscriber to `unsubscribed`. 241 + - `SpamComplaint` — append `complaint` event; transition to `unsubscribed`. 242 + - `SubscriptionChange` — fires when a reader uses Postmark's one-click `List-Unsubscribe`. Append `unsubscribe_requested` + transition to `unsubscribed`. 243 + - `Delivery` / `Open` / `Click` — not captured for now; revisit if product wants open/click analytics. 244 + 245 + ### Template rendering 246 + 247 + Ported from `feature/follow-via-email` (commit `c09ca71e`). Lives in `emails/`: 248 + 249 + - `emails/post.tsx` — newsletter post template. Also exports shared primitives used by the other templates: `Text`, `Heading`, `LinkBlock`, `CodeBlock`, `BlockNotSupported`, `List`, `LeafletWatermark`. 250 + - `emails/leafletConfirmEmail.tsx` — code-based confirmation email for Leaflet-level email verification (reply-to verification, etc). 251 + - `emails/pubConfirmEmail.tsx` — code-based confirmation email for publication subscribe flow. 252 + - `emails/static/` — bundled icon assets (`leaflet.png`, `comment.png`, `external-link.png`, `quote.png`). 253 + 254 + Built on [React Email](https://react.email) per the [manual setup guide](https://react.email/docs/getting-started/manual-setup): 255 + 256 + - `@react-email/components` (prod) — primitive components (`Html`, `Body`, `Section`, `Tailwind`, etc.) 257 + - `react-email` (prod) — provides the `email` CLI used by the `email:dev` script 258 + - `@react-email/ui` (dev) — preview server UI 259 + 260 + The deprecated `@react-email/preview-server` has been dropped. Local iteration runs via `npm run email:dev` (invokes `email dev` against `emails/`). 261 + 262 + Each template ships its own inlined Tailwind config (via `@react-email/components`'s `Tailwind` wrapper) because email clients strip external stylesheets. 263 + 264 + **Status at port time:** scaffolding only. `PostEmail` currently renders hardcoded placeholder content (demo lists, demo code block, etc.); it is not yet wired to real post blocks. The confirm-email templates are closer to shippable but also contain some placeholder copy. 265 + 266 + **Remaining work on the renderer:** 267 + 268 + - Pass real props (title, author, cover image, body blocks, post URL, unsubscribe token) into each template. 269 + - Implement a block-type → email-component mapping so `PostEmail` can walk the actual block list instead of rendering demo content. `components/Blocks/Block.tsx` is already imported in `post.tsx` but unused — decide whether to reuse the on-site renderer (likely too coupled to DOM features email strips) or continue the pattern of email-native primitives in `emails/post.tsx`. 270 + - Static assets need to be served from a public, absolute URL in production emails (Postmark fetches `Img src` as-is; relative `/static/*.png` won't resolve for recipients). Point them at a CDN or `app/static/` route. 271 + - Render path in the Inngest send function: call `render()` from `@react-email/components` with the template and props to produce `HtmlBody` / `TextBody` for the Postmark batch payload. 272 + 273 + ### Suppression ownership 274 + 275 + Postmark is the source of truth for suppressions. Flow: 276 + 277 + - Postmark webhook → we mirror the state into `publication_email_subscribers.state`. 278 + - Our in-app unsubscribe (via `unsubscribe_token`) calls Postmark's Suppressions API first, then writes the local row. 279 + - Resubscribing a previously-unsubscribed reader requires unsuppressing via Postmark's API before the next broadcast will reach them. 280 + 281 + ## Open questions / deferred 282 + 283 + - **Preview / test send** — authors sending a test email to themselves before broadcasting. 284 + - **Scheduled / backdated sends** — does a backdated publish still trigger a send? Probably not; spec should nail down. 285 + - **Resubscribe UX** — specifically, what the subscribe form does when `state = 'unsubscribed'` (silent resubscribe vs re-confirm). Tied to the Postmark unsuppress call. 286 + - **Confirmation rate limiting / CAPTCHA** — the anon subscribe endpoint is spammable. 287 + - **Identity linking** — backfilling `identity_id` when a subscriber later logs in. 288 + - **Retention** — how long `unsubscribed` rows and the events log stick around (GDPR angle). 289 + - **Stripe metering** — where the usage-reporting cron reads subscriber counts from. 290 + - **Subscriber-side auth for manage/unsubscribe** — `unsubscribe_token` is sketched; confirm that's sufficient or if we want short-lived signed links too. 291 + - **Naming** — `publications.record` (the AT-Proto mirror) vs appview-only columns. Current plan: appview-only state never touches `record`.