1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5012],{7567:(e,t,r)=>{r.d(t,{A:()=>i});var n=r(41077);function i(e,t,r,i){if(!e||i===r||null==i||!t)return;let a=(0,n.DT)(t),{name:l,...s}=e;s.path||(s.path=""!==a?a:"/");let o=`${l}=${i};`;for(let[e,t]of Object.entries(s))o+=`${"maxAge"===e?"max-age":e}`,"boolean"!=typeof t&&(o+="="+t),o+=";";document.cookie=o}},13761:(e,t,r)=>{r.d(t,{$:()=>o,r:()=>s});var n=r(71920);r(33980);var i=r(93983),a=r(59460),l=r(85710);let s=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:t,size:r,asChild:a=!1,...o}){let u=a?i.DX:"button";return(0,n.jsx)(u,{"data-slot":"button",className:(0,l.cn)(s({variant:t,size:r,className:e})),...o})}},15475:(e,t,r)=>{r.d(t,{hO:()=>o,sG:()=>s});var n=r(33980),i=r(33741),a=r(93983),l=r(71920),s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,t)=>{let r=n.forwardRef((e,r)=>{let{asChild:n,...i}=e,s=n?a.DX:t;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,l.jsx)(s,{...i,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function o(e,t){e&&i.flushSync(()=>e.dispatchEvent(t))}},22596:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(954).A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},34821:(e,t,r)=>{r.d(t,{b:()=>s});var n=r(33980),i=r(15475),a=r(71920),l=n.forwardRef((e,t)=>(0,a.jsx)(i.sG.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));l.displayName="Label";var s=l},41077:(e,t,r)=>{r.d(t,{DT:()=>o,FP:()=>l,TK:()=>i,Zn:()=>a,aM:()=>s,x3:()=>u});var n=r(95708);function i(e){return"string"==typeof e?{pathname:e}:e}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.append(r,String(e))}):t.set(r,String(n));return"?"+t.toString()}function l({pathname:e,locale:t,params:r,pathnames:i,query:l}){function s(e){let s,o=i[e];return o?(s=(0,n.Wl)(o,t,e),r&&Object.entries(r).forEach(([e,t])=>{let r,n;Array.isArray(t)?(r=`(\\[)?\\[...${e}\\](\\])?`,n=t.map(e=>String(e)).join("/")):(r=`\\[${e}\\]`,n=String(t)),s=s.replace(RegExp(r,"g"),n)}),s=new URL(s=s.replace(/\[\[\.\.\..+\]\]/g,""),"http://l").pathname):s=e,s=(0,n.po)(s),l&&(s+=a(l)),s}if("string"==typeof e)return s(e);{let{pathname:t,...r}=e;return{...r,pathname:s(t)}}}function s(e,t,r){let i=(0,n.FD)(Object.keys(r)),a=decodeURI(t);for(let t of i){let i=r[t];if("string"==typeof i){if((0,n.ql)(i,a))return t}else if((0,n.ql)((0,n.Wl)(i,e,t),a))return t}return t}function o(e,t=window.location.pathname){return"/"===e?t:t.replace(e,"")}
1function u(e,t,r,i){let a,{mode:l}=r.localePrefix;return void 0!==i?a=i:(0,n._x)(e)&&("always"===l?a=!0:"as-needed"===l&&(a=r.domains?!r.domains.some(e=>e.defaultLocale===t):t!==r.defaultLocale)),a?(0,n.PJ)((0,n.XP)(t,r.localePrefix),e):e}},50830:(e,t,r)=>{r.d(t,{T:()=>m});var n=r(71920),i=r(33980),a=r(47419),l=r.n(a),s=r(38300),o=r(22596),u=r(72869),c=r(13761),d=r(87063),f=r(78173);function p(e){return(0,n.jsxs)("svg",{viewBox:"0 0 48 48","aria-hidden":"true",focusable:"false",...e,children:[(0,n.jsx)("path",{fill:"#FFC107",d:"M43.6 20.5H42V20H24v8h11.3C33.7 32.7 29.3 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.9 1.2 8 3.1l5.7-5.7C34.2 6.2 29.4 4 24 4 12.9 4 4 12.9 4 24s8.9 20 20 20 20-8.9 20-20c0-1.3-.1-2.7-.4-3.5Z"}),(0,n.jsx)("path",{fill:"#FF3D00",d:"M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.9 1.2 8 3.1l5.7-5.7C34.2 6.2 29.4 4 24 4 16.3 4 9.6 8.3 6.3 14.7Z"}),(0,n.jsx)("path",{fill:"#4CAF50",d:"M24 44c5.3 0 10.1-2.1 13.7-5.4l-6.3-5.3C29.5 34.8 26.9 36 24 36c-5.3 0-9.7-3.3-11.3-8l-6.6 5.1C9.4 39.6 16.3 44 24 44Z"}),(0,n.jsx)("path",{fill:"#1976D2",d:"M43.6 20.5H42V20H24v8h11.3c-1.1 2.8-3.4 5.2-6.3 6.6l.1.1 6.3 5.3C39.3 36.4 44 30.8 44 24c0-1.3-.1-2.7-.4-3.5Z"})]})}function m({mode:e,socialProviders:t=["google","github"],authMethod:r="password"}){let a=(0,s.useRouter)(),m=t.filter(e=>"google"===e||"github"!==e),[g,h]=(0,i.useState)("email"),[v,x]=(0,i.useState)(""),[b,y]=(0,i.useState)(""),[j,w]=(0,i.useState)(""),[N,C]=(0,i.useState)(""),[k,S]=(0,i.useState)(""),[$,D]=(0,i.useState)(!1);async function F(e){e.preventDefault(),S(""),D(!0);let{error:t}=await u.y.signIn.email({email:b,password:j,callbackURL:"/"},{onError:e=>{403===e.error.status&&S("Please verify your email address")}});if(t){S(t.message??"Sign in failed"),D(!1);return}await P(),a.push("/"),a.refresh(),D(!1)}async function R(e){e.preventDefault(),S(""),D(!0);let{error:t}=await u.y.signUp.email({name:v||"User",email:b,password:j,callbackURL:"/"});if(t){S(t.message??"Sign up failed"),D(!1);return}a.push("/"),a.refresh(),D(!1)}async function O(e){e.preventDefault(),S(""),D(!0);let{error:t}=await u.y.emailOtp.sendVerificationOtp({email:b,type:"sign-in"});if(t){S(t.message??"Failed to send code"),D(!1);return}h("otp"),D(!1)}async function A(e){e.preventDefault(),S(""),D(!0);let{error:t}=await u.y.signIn.emailOtp({email:b,otp:N});if(t){S(t.message??"Invalid code"),D(!1);return}await P(),a.push("/"),a.refresh(),D(!1)}async function E(e){S(""),D(!0);let{error:t}=await u.y.signIn.social({provider:e,callbackURL:"/"});if(t){S(t.message??"Social sign-in failed"),D(!1);return}}async function P(){try{await fetch("/api/login-record",{method:"POST"})}catch(e){console.error("Unable to record login",e)}}return(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card p-8 shadow-sm",children:[k&&(0,n.jsxs)("div",{className:"mb-6 flex items-center gap-2 rounded-md bg-destructive/10 p-3 text-sm text-destructive",children:[(0,n.jsx)(o.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{children:k})]}),m.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"space-y-3",children:[m.includes("google")?(0,n.jsxs)(c.$,{type:"button",variant:"outline",className:"w-full justify-center gap-2",disabled:$,onClick:()=>E("google"),children:[(0,n.jsx)(p,{className:"h-5 w-5"}),"Continue with Google"]}):null,m.includes("github")?(0,n.jsxs)(c.$,{type:"button",variant:"outline",className:"w-full justify-center gap-2",disabled:$,onClick:()=>E("github"),children:[(0,n.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",className:"h-5 w-5 fill-current",children:(0,n.jsx)("path",{d:"M12 .5C5.73.5.75 5.6.75 12.1c0 5.2 3.26 9.6 7.78 11.16.57.11.78-.25.78-.55 0-.27-.01-.98-.02-1.92-3.17.7-3.84-1.56-3.84-1.56-.52-1.36-1.27-1.72-1.27-1.72-1.04-.73.08-.72.08-.72 1.15.08 1.75 1.22 1.75 1.22 1.02 1.79 2.67 1.27 3.32.97.1-.76.4-1.27.72-1.56-2.53-.29-5.2-1.3-5.2-5.78 0-1.28.44-2.33 1.16-3.15-.12-.29-.5-1.47.11-3.06 0 0 .95-.31 3.12 1.2.9-.26 1.87-.38 2.83-.39.96.01 1.93.13 2.83.39 2.17-1.51 3.12-1.2 3.12-1.2.61 1.59.23 2.77.11 3.06.72.82 1.16 1.87 1.16 3.15 0 4.49-2.67 5.49-5.22 5.78.41.36.77 1.08.77 2.18 0 1.57-.02 2.83-.02 3.22 0 .31.2.67.79.55 4.52-1.56 7.78-5.96 7.78-11.16C23.25 5.6 18.27.5 12 .5Z"})}),"Continue with GitHub"]}):null]}),(0,n.jsxs)("div",{className:"my-6 flex items-center gap-3",children:[(0,n.jsx)("div",{className:"h-px flex-1 bg-border"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"OR"}),(0,n.jsx)("div",{className:"h-px flex-1 bg-border"})]})]}):null,"password"===r?(0,n.jsxs)("form",{onSubmit:"login"===e?F:R,className:"space-y-6",children:["register"===e?(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:`${e}-name`,children:"Name"}),(0,n.jsx)(d.p,{id:`${e}
1-name`,type:"text",placeholder:"John Doe",value:v,onChange:e=>x(e.target.value),required:!0,autoComplete:"name"})]}):null,(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:`${e}-email`,children:"Email"}),(0,n.jsx)(d.p,{id:`${e}-email`,type:"email",placeholder:"[email protected]",value:b,onChange:e=>y(e.target.value),required:!0,autoComplete:"email"})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:`${e}-password`,children:"Password"}),(0,n.jsx)(d.p,{id:`${e}-password`,type:"password",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢",value:j,onChange:e=>w(e.target.value),required:!0,autoComplete:"login"===e?"current-password":"new-password",minLength:8}),"register"===e?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Must be at least 8 characters"}):null]}),(0,n.jsx)(c.$,{type:"submit",className:"w-full",disabled:$,children:$?"login"===e?"Signing in...":"Creating account...":"login"===e?"Sign in":"Create account"})]}):"email"===g?(0,n.jsxs)("form",{onSubmit:O,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:`${e}-email`,children:"Email"}),(0,n.jsx)(d.p,{id:`${e}-email`,type:"email",placeholder:"[email protected]",value:b,onChange:e=>y(e.target.value),required:!0,autoComplete:"email"})]}),(0,n.jsx)(c.$,{type:"submit",className:"w-full",disabled:$,children:$?"Sending code...":"Send login code"})]}):(0,n.jsxs)("form",{onSubmit:A,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(f.J,{htmlFor:`${e}-otp`,children:"Code"}),(0,n.jsx)(d.p,{id:`${e}-otp`,inputMode:"numeric",autoComplete:"one-time-code",placeholder:"123456",value:N,onChange:e=>C(e.target.value),required:!0}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Sent to ",b]})]}),(0,n.jsxs)("div",{className:"flex gap-3",children:[(0,n.jsx)(c.$,{type:"button",variant:"outline",className:"flex-1",disabled:$,onClick:()=>h("email"),children:"Change email"}),(0,n.jsx)(c.$,{type:"submit",className:"flex-1",disabled:$,children:$?"Signing in...":"Sign in"})]})]}),(0,n.jsx)("div",{className:"mt-6 text-center text-sm",children:"login"===e?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Don't have an account? "}),(0,n.jsx)(l(),{href:"/register",className:"font-medium hover:underline",children:"Sign up"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Already have an account? "}),(0,n.jsx)(l(),{href:"/login",className:"font-medium hover:underline",children:"Sign in"})]})})]})}},59460:(e,t,r)=>{r.d(t,{F:()=>l});var n=r(31314);let i=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=n.$,l=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:l,defaultVariants:s}=t,o=Object.keys(l).map(e=>{let t=null==r?void 0:r[e],n=null==s?void 0:s[e];if(null===t)return null;let a=i(t)||i(n);return l[e][a]}),u=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return a(e,o,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...i}=t;return Object.entries(i).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...s,...u}[t]):({...s,...u})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},65025:(e,t,r)=>{r.d(t,{default:()=>u});var n=r(47419),i=r(38300),a=r(33980),l=r(57580),s=r(7567),o=r(71920),u=(0,a.forwardRef)(function({href:e,locale:t,localeCookie:r,onClick:a,prefetch:u,...c},d){let f=(0,l.Ym)(),p=null!=t&&t!==f,m=(0,i.usePathname)();return p&&(u=!1),(0,o.jsx)(n,{ref:d,href:e,hrefLang:p?t:void 0,onClick:function(e){(0,s.A)(r,m,f,t),a&&a(e)},prefetch:u,...c})})},72869:(e,t,r)=>{r.d(t,{y:()=>l});var n=r(65664),i=r(95023);let a="482582148726-41pfuik3hh5gj1t50uhregh7p5vt42eq.apps.googleusercontent.com",l=(0,n.MB)({plugins:[(0,i.N$)(),(0,i.tT)(),...a&&1?[(0,i.ll)({clientId:a})]:[]]})},77607:(e,t,r)=>{r.d(t,{s:()=>l,t:()=>a});var n=r(33980);function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...e){return t=>{let r=!1,n=e.map(e=>{let n=i(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():i(e[t],null)}}}}function l(...e){return n.useCallback(a(...e),e)}},78173:(e,t,r)=>{r.d(t,{J:()=>l});var n=r(71920);r(33980);var i=r(34821),a=r(85710);function l({className:e,...t}){return(0,n.jsx)(i.b,{"data-slot":"label",className:(0,a.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}},85710:(e,t,r)=>{r.d(t,{cn:()=>a});var n=r(31314),i=r(96488);function a(...e){return(0,i.QP)((0,n.$)(e))}},87063:(e,t,r)=>{r.d(t,{p:()=>a});var n=r(71920);r(33980);var i=r(85710);function a({className:e,type:t,...r}){return(0,n.jsx)("input",{type:t,"data-slot":"input",className:(0,i.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}},93983:(e,t,r)=>{r.d(t,{DX:()=>l,xV:()=>o});var n=r(33980),i=r(77607),a=r(71920),l=n.forwardRef((e,t)=>
1{let{children:r,...i}=e,l=n.Children.toArray(r),o=l.find(u);if(o){let e=o.props.children,r=l.map(t=>t!==o?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,a.jsx)(s,{...i,ref:t,children:n.isValidElement(e)?n.cloneElement(e,void 0,r):null})}return(0,a.jsx)(s,{...i,ref:t,children:r})});l.displayName="Slot";var s=n.forwardRef((e,t)=>{let{children:r,...a}=e;if(n.isValidElement(r)){var l;let e,s,o=(l=r,(s=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(s=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref);return n.cloneElement(r,{...function(e,t){let r={...t};for(let n in t){let i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...e)=>{a(...e),i(...e)}:i&&(r[n]=i):"style"===n?r[n]={...i,...a}:"className"===n&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}(a,r.props),ref:t?(0,i.t)(t,o):o})}return n.Children.count(r)>1?n.Children.only(null):null});s.displayName="SlotClone";var o=({children:e})=>(0,a.jsx)(a.Fragment,{children:e});function u(e){return n.isValidElement(e)&&e.type===o}},95708:(e,t,r)=>{r.d(t,{FD:()=>v,MY:()=>a,PJ:()=>l,Wl:()=>o,XP:()=>d,_x:()=>i,bL:()=>f,po:()=>u,ql:()=>c,wO:()=>s,yL:()=>x});var n=r(35688);function i(e){let t;return("object"==typeof e?null==e.host&&null==e.hostname:!/^[a-z]+:/i.test(e))&&(null==(t="object"==typeof e?e.pathname:e)||!!t.startsWith("/"))}function a(e,t){return e.replace(RegExp(`^${t}`),"")||"/"}function l(e,t){let r=e;return/^\/(\?.*)?$/.test(t)&&(t=t.slice(1)),r+=t}function s(e,t){return t===e||t.startsWith(`${e}/`)}function o(e,t,r){return"string"==typeof e?e:e[t]||r}function u(e){let t=function(){try{return"true"===n.env._next_intl_trailing_slash}catch{return!1}}(),[r,...i]=e.split("#"),a=i.join("#"),l=r;if("/"!==l){let e=l.endsWith("/");t&&!e?l+="/":!t&&e&&(l=l.slice(0,-1))}return a&&(l+="#"+a),l}function c(e,t){let r,n=u(e),i=u(t);return(r=n.replace(/\/\[\[(\.\.\.[^\]]+)\]\]/g,"(?:/(.*))?").replace(/\[\[(\.\.\.[^\]]+)\]\]/g,"(?:/(.*))?").replace(/\[(\.\.\.[^\]]+)\]/g,"(.+)").replace(/\[([^\]]+)\]/g,"([^/]+)"),RegExp(`^${r}$`)).test(i)}function d(e,t){return"never"!==t.mode&&t.prefixes?.[e]||f(e)}function f(e){return"/"+e}function p(e){return e.includes("[[...")}function m(e){return e.includes("[...")}function g(e){return e.includes("[")}function h(e,t){let r=e.split("/"),n=t.split("/"),i=Math.max(r.length,n.length);for(let e=0;e<i;e++){let t=r[e],i=n[e];if(!t&&i)return -1;if(t&&!i)return 1;if(t||i){if(!g(t)&&g(i))return -1;if(g(t)&&!g(i))return 1;if(!m(t)&&m(i))return -1;if(m(t)&&!m(i))return 1;if(!p(t)&&p(i))return -1;if(p(t)&&!p(i))return 1}}return 0}function v(e){return e.sort(h)}function x(e){return"function"==typeof e.then}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.