1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3298],{90469:function(e,t){t.Q=function(e,t){if("string"!=typeof e)throw TypeError("argument str must be a string");var r={},n=e.length;if(n<2)return r;var i=t&&t.decode||l,a=0,o=0,u=0;do{if(-1===(o=e.indexOf("=",a)))break;if(-1===(u=e.indexOf(";",a)))u=n;else if(o>u){a=e.lastIndexOf(";",o-1)+1;continue}var d=s(e,a,o),p=c(e,o,d),h=e.slice(d,p);if(!r.hasOwnProperty(h)){var f=s(e,o+1,u),y=c(e,u,f);34===e.charCodeAt(f)&&34===e.charCodeAt(y-1)&&(f++,y--);var m=e.slice(f,y);r[h]=function(e,t){try{return t(e)}catch(t){return e}}(m,i)}a=u+1}while(a<n);return r},t.q=function(e,t,s){var c=s&&s.encode||encodeURIComponent;if("function"!=typeof c)throw TypeError("option encode is invalid");if(!n.test(e))throw TypeError("argument name is invalid");var l=c(t);if(!i.test(l))throw TypeError("argument val is invalid");var u=e+"="+l;if(!s)return u;if(null!=s.maxAge){var d=Math.floor(s.maxAge);if(!isFinite(d))throw TypeError("option maxAge is invalid");u+="; Max-Age="+d}if(s.domain){if(!a.test(s.domain))throw TypeError("option domain is invalid");u+="; Domain="+s.domain}if(s.path){if(!o.test(s.path))throw TypeError("option path is invalid");u+="; Path="+s.path}if(s.expires){var p=s.expires;if("[object Date]"!==r.call(p)||isNaN(p.valueOf()))throw TypeError("option expires is invali
1d");u+="; Expires="+p.toUTCString()}if(s.httpOnly&&(u+="; HttpOnly"),s.secure&&(u+="; Secure"),s.partitioned&&(u+="; Partitioned"),s.priority)switch("string"==typeof s.priority?s.priority.toLowerCase():s.priority){case"low":u+="; Priority=Low";break;case"medium":u+="; Priority=Medium";break;case"high":u+="; Priority=High";break;default:throw TypeError("option priority is invalid")}if(s.sameSite)switch("string"==typeof s.sameSite?s.sameSite.toLowerCase():s.sameSite){case!0:case"strict":u+="; SameSite=Strict";break;case"lax":u+="; SameSite=Lax";break;case"none":u+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return u};var r=Object.prototype.toString,n=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,i=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,a=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,o=/^[\u0020-\u003A\u003D-\u007E]*$/;function s(e,t,r){do{var n=e.charCodeAt(t);if(32!==n&&9!==n)return t}while(++t<r);return r}function c(e,t,r){for(;t>r;){var n=e.charCodeAt(--t);if(32!==n&&9!==n)return t+1}return r}
1function l(e){return -1!==e.indexOf("%")?decodeURIComponent(e):e}},51057:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"DraftMode",{enumerable:!0,get:function(){return a}});let n=r(51845),i=r(86999);class a{get isEnabled(){return this._provider.isEnabled}enable(){let e=n.staticGenerationAsyncStorage.getStore();return e&&(0,i.trackDynamicDataAccessed)(e,"draftMode().enable()"),this._provider.enable()}disable(){let e=n.staticGenerationAsyncStorage.getStore();return e&&(0,i.trackDynamicDataAccessed)(e,"draftMode().disable()"),this._provider.disable()}constructor(e){this._provider=e}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},72439:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cookies:function(){return p},draftMode:function(){return h},headers:function(){return d}});let n=r(40692),i=r(22637),a=r(99767),o=r(90295),s=r(51057),c=r(86999),l=r(51845),u=r(20544);function d(){let e="headers",t=l.staticGenerationAsyncStorage.getStore();if(t){if(t.forceStatic)return i.HeadersAdapter.seal(new Headers({}));(0,c.trackDynamicDataAccessed)(t,e)}return(0,u.getExpectedRequestStore)(e).headers}function p(){let e="cookies",t=l.staticGenerationAsyncStorage.getStore();if(t){if(t.forceStatic)return n.RequestCookiesAdapter.seal(new a.RequestCookies(new Headers({})));(0,c.trackDynamicDataAccessed)(t,e)}let r=(0,u.getExpectedRequestStore)(e),i=o.actionAsyncStorage.getStore();return(null==i?void 0:i.isAction)||(null==i?void 0:i.isAppRoute)?r.mutableCookies:r.cookies}function h(){let e=(0,u.getExpectedRequestStore)("draftMode");return new s.DraftMode(e.draftMode)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},22637:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HeadersAdapter:function(){return a},ReadonlyHeadersError:function(){return i}});let n=r(30650);class i extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers")}static callable(){throw new i}}class a extends Headers{constructor(e){super(),this.headers=new Proxy(e,{get(t,r,i){if("symbol"==typeof r)return n.ReflectAdapter.get(t,r,i);let a=r.toLowerCase(),o=Object.keys(e).find(e=>e.toLowerCase()===a);if(void 0!==o)return n.ReflectAdapter.get(t,o,i)},set(t,r,i,a){if("symbol"==typeof r)return n.ReflectAdapter.set(t,r,i,a);let o=r.toLowerCase(),s=Object.keys(e).find(e=>e.toLowerCase()===o);return n.ReflectAdapter.set(t,s??r,i,a)},has(t,r){if("symbol"==typeof r)return n.ReflectAdapter.has(t,r);let i=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===i);return void 0!==a&&n.ReflectAdapter.has(t,a)},deleteProperty(t,r){if("symbol"==typeof r)return n.ReflectAdapter.deleteProperty(t,r);let i=r.toLowerCase(),a=Object.keys(e).find(e=>e.toLowerCase()===i);return void 0===a||n.ReflectAdapter.deleteProperty(t,a)}})}static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"append":case"delete":case"set":return i.callable;default:return n.ReflectAdapter.get(e,t,r)}}})}merge(e){return Array.isArray(e)?e.join(", "):e}static from(e){return e instanceof Headers?e:new a(e)}append(e,t){let r=this.headers[e];"string"==typeof r?this.headers[e]=[r,t]:Array.isArray(r)?r.push(t):this.headers[e]=t}delete(e){delete this.headers[e]}get(e){let t=this.headers[e];return void 0!==t?this.merge(t):null}has(e){return void 0!==this.headers[e]}set(e,t){this.headers[e]=t}forEach(e,t){for(let[r,n]of this.entries())e.call(t,n,r,this)}*entries(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase(),r=this.get(t);yield[t,r]}}*keys(){for(let e of Object.keys(this.headers)){let t=e.toLowerCase();yield t}}*values(){for(let e of Object.keys(this.headers)){let t=this.get(e);yield t}}[Symbol.iterator](){return this.entries()}}}
1,40692:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MutableRequestCookiesAdapter:function(){return d},ReadonlyRequestCookiesError:function(){return o},RequestCookiesAdapter:function(){return s},appendMutableCookies:function(){return u},getModifiedCookieValues:function(){return l}});let n=r(99767),i=r(30650),a=r(51845);class o extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options")}static callable(){throw new o}}class s{static seal(e){return new Proxy(e,{get(e,t,r){switch(t){case"clear":case"delete":case"set":return o.callable;default:return i.ReflectAdapter.get(e,t,r)}}})}}let c=Symbol.for("next.mutated.cookies");function l(e){let t=e[c];return t&&Array.isArray(t)&&0!==t.length?t:[]}function u(e,t){let r=l(t);if(0===r.length)return!1;let i=new n.ResponseCookies(e),a=i.getAll();for(let e of r)i.set(e);for(let e of a)i.set(e);return!0}class d{static wrap(e,t){let r=new n.ResponseCookies(new Headers);for(let t of e.getAll())r.set(t);let o=[],s=new Set,l=()=>{let e=a.staticGenerationAsyncStorage.getStore();if(e&&(e.pathWasRevalidated=!0),o=r.getAll().filter(e=>s.has(e.name)),t){let e=[];for(let t of o){let r=new n.ResponseCookies(new Headers);r.set(t),e.push(r.toString())}t(e)}};return new Proxy(r,{get(e,t,r){switch(t){case c:return o;case"delete":return function(...t){s.add("string"==typeof t[0]?t[0]:t[0].name);try{e.delete(...t)}finally{l()}};case"set":return function(...t){s.add("string"==typeof t[0]?t[0]:t[0].name);try{return e.set(...t)}finally{l()}};default:return i.ReflectAdapter.get(e,t,r)}}})}}},26280:function(e,t,r){r.d(t,{Ab:function(){return C},BX:function(){return $},D7:function(){return x},FW:function(){return D},GX:function(){return P},Hi:function(){return p},JK:function(){return o},Mq:function(){return c},Ng:function(){return s},Rk:function(){return R},UC:function(){return d},V1:function(){return E},X0:function(){return v},Xp:function(){return y},Xw:function(){return b},dq:function(){return a},dw:function(){return j},gS:function(){return h},iV:function(){return _},j7:function(){return H},k7:function(){return u},kA:function(){return U},l4:function(){return n},lA:function(){return T},li:function(){return k},pI:function(){return I},vV:function(){return W},xP:function(){return m},xQ:function(){return l},xo:function(){return f},yQ:function(){return w},yv:function(){return g}});class n extends Error{constructor(e,t){e instanceof Error?super(void 0,{cause:{err:e,...e.cause,...t}}):"string"==typeof e?(t instanceof Error&&(t={err:t,...t.cause}),super(e,t)):super(void 0,e),this.name=this.constructor.name,this.type=this.constructor.type??"AuthError",this.kind=this.constructor.kind??"error",Error.captureStackTrace?.(this,this.constructor);let r=`https://errors.authjs.dev#${this.type.toLowerCase()}`;this.message+=`${this.message?". ":""}Read more at ${r}`}}class i extends n{}i.kind="signIn";class a extends n{}a.type="AdapterError";class o extends n{}o.type="AccessDenied";class s extends n{}s.type="CallbackRouteError";class c extends n{}c.type="ErrorPageLoop";class l extends n{}l.type="EventError";class u extends n{}u.type="InvalidCallbackUrl";class d extends i{constructor(){super(...arguments),this.code="credentials"}}d.type="CredentialsSignin";class p extends n{}p.type="InvalidEndpoints";class h extends n{}h.type="InvalidCheck";class f extends n{}f.type="JWTSessionError";class y extends n{}y.type="MissingAdapter";class m extends n{}m.type="MissingAdapterMethods";class w extends n{}w.type="MissingAuthorize";class g extends n{}g.type="MissingSecret";class b extends i{}b.type="OAuthAccountNotLinked";class _ extends i{}_.type="OAuthCallbackError";class v extends n{}v.type="OAuthProfileParseError";class k extends n{}k.type="SessionTokenError";class A extends i{}A.type="OAuthSignInError";class S extends i{}S.type="EmailSignInError";class E extends n{}E.type="SignOutError";class x extends n{}x.type="UnknownAction";class T extends n{}T.type="UnsupportedStrategy";class C extends n{}C.type="InvalidProvider";class U extends n{}U.type="UntrustedHost";class P extends n{}P.type="Verification";class R extends i{}R.type="MissingCSRF";let O=new Set(["CredentialsSignin","OAuthAccountNotLinked","OAuthCallbackError","AccessDenied","Verification","MissingCSRF","AccountNotLinked","WebAuthnVerificationError"]);function I(e){return e instanceof n&&O.has(e.type)}class H extends n{}H.type="DuplicateConditionalUI";class $ extends n{}$.type="MissingWebAuthnAutocomplete";class W extends n{}W.type="WebAuthnVerificationError";class D extends i{}D.type="AccountNotLinked";class j extends n{}j.type="ExperimentalFeatureNotEnabled"},27167:function(e,t,r){r.d(t,{Z:function(){return n}});function n(e){return{id:"credentials",name:"Credentials",type:"credentials",credentials:{},authorize:()=>null,options:e}}},80517:function(e,t,r){let n,i,a,o,s;r.d(t,{ZP:function(){return ac}});var c=function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},l=function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};function u(e){let t=e?"__Secure-":"";return{sessionToken:{name:`${t}authjs.session-token`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e}},callbackUrl:{name:`${t}authjs.callback-url`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e}},csrfToken:{name:`${e?"__Host-":""}authjs.csrf-token`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e}},pkceCodeVerifier:{name:`${t}authjs.pkce.code_verifier`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e,maxAge:900}},state:{name:`${t}authjs.state`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e,maxAge:900}},nonce:{name:`${t}authjs.nonce`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e}},webauthnChallenge:{name:`${t}authjs.challenge`,options:{httpOnly:!0,sameSite:"lax",path:"/",secure:e,maxAge:900}}}}class d{constructor(e,t,r){if(tz.add(this),tV.set(this,{}),tq.set(this,void 0),tG.set(this,void 0),c(this,tG,r,"f"),c(this,tq,e,"f"),!t)return;let{name:n}=e;for(let[e,r]of Object.entries(t))e.startsWith(n)&&r&&(l(this,tV,"f")[e]=r)}get value(){return Object.keys(l(this,tV,"f")).sort((e,t)=>
1parseInt(e.split(".").pop()||"0")-parseInt(t.split(".").pop()||"0")).map(e=>l(this,tV,"f")[e]).join("")}chunk(e,t){let r=l(this,tz,"m",tY).call(this);for(let n of l(this,tz,"m",tX).call(this,{name:l(this,tq,"f").name,value:e,options:{...l(this,tq,"f").options,...t}}))r[n.name]=n;return Object.values(r)}clean(){return Object.values(l(this,tz,"m",tY).call(this))}}tV=new WeakMap,tq=new WeakMap,tG=new WeakMap,tz=new WeakSet,tX=function(e){let t=Math.ceil(e.value.length/3936);if(1===t)return l(this,tV,"f")[e.name]=e.value,[e];let r=[];for(let n=0;n<t;n++){let t=`${e.name}.${n}`,i=e.value.substr(3936*n,3936);r.push({...e,name:t,value:i}),l(this,tV,"f")[t]=i}return l(this,tG,"f").debug("CHUNKING_SESSION_COOKIE",{message:"Session cookie exceeds allowed 4096 bytes.",emptyCookieSize:160,valueSize:e.value.length,chunks:r.map(e=>e.value.length+160)}),r},tY=function(){let e={};for(let t in l(this,tV,"f"))delete l(this,tV,"f")?.[t],e[t]={name:t,value:"",options:{...l(this,tq,"f").options,maxAge:0}};return e};var p=r(26280);let h=!1;function f(e,t){try{return/^https?:/.test(new URL(e,e.startsWith("/")?t:void 0).protocol)}catch{return!1}}let y=!1,m=!1,w=!1,g=["createVerificationToken","useVerificationToken","getUserByEmail"],b=["createUser","getUser","getUserByEmail","getUserByAccount","updateUser","linkAccount","createSession","getSessionAndUser","updateSession","deleteSession"],_=["createUser","getUser","linkAccount","getAccount","getAuthenticator","createAuthenticator","listAuthenticatorsByUserId","updateAuthenticatorCounter"],v=()=>{if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw Error("unable to locate global object")};var k=async(e,t,r,n,i)=>{let{crypto:{subtle:a}}=v();return new Uint8Array(await a.deriveBits({name:"HKDF",hash:`SHA-${e.substr(3)}`,salt:r,info:n},await a.importKey("raw",t,"HKDF",!1,["deriveBits"]),i<<3))};function A(e,t){if("string"==typeof e)return new TextEncoder().encode(e);if(!(e instanceof Uint8Array))throw TypeError(`"${t}"" must be an instance of Uint8Array or a string`);return e}async function S(e,t,r,n,i){return k(function(e){switch(e){case"sha256":case"sha384":case"sha512":case"sha1":return e;default:throw TypeError('unsupported "digest" value')}}(e),function(e){let t=A(e,"ikm");if(!t.byteLength)throw TypeError('"ikm" must be at least one byte in length');return t}(t),A(r,"salt"),function(e){let t=A(e,"info");if(t.byteLength>1024)throw TypeError('"info" must not contain more than 1024 bytes');return t}(n),function(e,t){if("number"!=typeof e||!Number.isInteger(e)||e<1)throw TypeError('"keylen" must be a positive integer');if(e>255*(parseInt(t.substr(3),10)>>3||20))throw TypeError('"keylen" too large');return e}(i,e))}var E=crypto;let x=e=>e instanceof CryptoKey,T=async(e,t)=>{let r=`SHA-${e.slice(-3)}`;return new Uint8Array(await E.subtle.digest(r,t))},C=new TextEncoder,U=new TextDecoder;function P(...e){let t=new Uint8Array(e.reduce((e,{length:t})=>e+t,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function R(e,t,r){if(t<0||t>=4294967296)throw RangeError(`value must be >= 0 and <= ${4294967296-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,255&t],r)}function O(e){let t=new Uint8Array(8);return R(t,Math.floor(e/4294967296),0),R(t,e%4294967296,4),t}function I(e){let t=new Uint8Array(4);return R(t,e),t}function H(e){return P(I(e.length),e)}async function $(e,t,r){let n=Math.ceil((t>>3)/32),i=new Uint8Array(32*n);for(let t=0;t<n;t++){let n=new Uint8Array(4+e.length+r.length);n.set(I(t+1)),n.set(e,4),n.set(r,4+e.length),i.set(await T("sha256",n),32*t)}return i.slice(0,t>>3)}let W=e=>{let t=e;"string"==typeof t&&(t=C.encode(t));let r=[];for(let e=0;e<t.length;e+=32768)r.push(String.fromCharCode.apply(null,t.subarray(e,e+32768)));return btoa(r.join(""))},D=e=>W(e).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"),j=e=>{let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r},K=e=>{let t=e;t instanceof Uint8Array&&(t=U.decode(t)),t=t.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"");try{return j(t)}catch{throw TypeError("The input to be decoded is not correctly encoded.")}};
1class L extends Error{constructor(e,t){super(e,t),this.code="ERR_JOSE_GENERIC",this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}}L.code="ERR_JOSE_GENERIC";class J extends L{constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.code="ERR_JWT_CLAIM_VALIDATION_FAILED",this.claim=r,this.reason=n,this.payload=t}}J.code="ERR_JWT_CLAIM_VALIDATION_FAILED";class N extends L{constructor(e,t,r="unspecified",n="unspecified"){super(e,{cause:{claim:r,reason:n,payload:t}}),this.code="ERR_JWT_EXPIRED",this.claim=r,this.reason=n,this.payload=t}}N.code="ERR_JWT_EXPIRED";class M extends L{constructor(){super(...arguments),this.code="ERR_JOSE_ALG_NOT_ALLOWED"}}M.code="ERR_JOSE_ALG_NOT_ALLOWED";class B extends L{constructor(){super(...arguments),this.code="ERR_JOSE_NOT_SUPPORTED"}}B.code="ERR_JOSE_NOT_SUPPORTED";class F extends L{constructor(e="decryption operation failed",t){super(e,t),this.code="ERR_JWE_DECRYPTION_FAILED"}}F.code="ERR_JWE_DECRYPTION_FAILED";class z extends L{constructor(){super(...arguments),this.code="ERR_JWE_INVALID"}}z.code="ERR_JWE_INVALID";class V extends L{constructor(){super(...arguments),this.code="ERR_JWS_INVALID"}}V.code="ERR_JWS_INVALID";class q extends L{constructor(){super(...arguments),this.code="ERR_JWT_INVALID"}}q.code="ERR_JWT_INVALID";class G extends L{constructor(){super(...arguments),this.code="ERR_JWK_INVALID"}}G.code="ERR_JWK_INVALID";class X extends L{constructor(){super(...arguments),this.code="ERR_JWKS_INVALID"}}X.code="ERR_JWKS_INVALID";class Y extends L{constructor(e="no applicable key found in the JSON Web Key Set",t){super(e,t),this.code="ERR_JWKS_NO_MATCHING_KEY"}}Y.code="ERR_JWKS_NO_MATCHING_KEY";class Q extends L{constructor(e="multiple matching keys found in the JSON Web Key Set",t){super(e,t),this.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS"}}Q.code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";class Z extends L{constructor(e="request timed out",t){super(e,t),this.code="ERR_JWKS_TIMEOUT"}}Z.code="ERR_JWKS_TIMEOUT";class ee extends L{constructor(e="signature verification failed",t){super(e,t),this.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED"}}function et(e){if(!("object"==typeof e&&null!==e)||"[object Object]"!==Object.prototype.toString.call(e))return!1;if(null===Object.getPrototypeOf(e))return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}ee.code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";let er=(e,t)=>{if("string"!=typeof e||!e)throw new G(`${t} missing or invalid`)};async function en(e,t){let r;if(!et(e))throw TypeError("JWK must be an object");if(t??(t="sha256"),"sha256"!==t&&"sha384"!==t&&"sha512"!==t)throw TypeError('digestAlgorithm must one of "sha256", "sha384", or "sha512"');switch(e.kty){case"EC":er(e.crv,'"crv" (Curve) Parameter'),er(e.x,'"x" (X Coordinate) Parameter'),er(e.y,'"y" (Y Coordinate) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case"OKP":er(e.crv,'"crv" (Subtype of Key Pair) Parameter'),er(e.x,'"x" (Public Key) Parameter'),r={crv:e.crv,kty:e.kty,x:e.x};break;case"RSA":er(e.e,'"e" (Exponent) Parameter'),er(e.n,'"n" (Modulus) Parameter'),r={e:e.e,kty:e.kty,n:e.n};break;case"oct":er(e.k,'"k" (Key Value) Parameter'),r={k:e.k,kty:e.kty};break;default:throw new B('"kty" (Key Type) Parameter missing or unsupported')}let n=C.encode(JSON.stringify(r));return D(await T(t,n))}let ei=Symbol();var ea=E.getRandomValues.bind(E);function eo(e){switch(e){case"A128GCM":case"A128GCMKW":case"A192GCM":case"A192GCMKW":case"A256GCM":case"A256GCMKW":return 96;case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return 128;default:throw new B(`Unsupported JWE Algorithm: ${e}`)}}var es=e=>ea(new Uint8Array(eo(e)>>3)),ec=(e,t)=>{if(t.length<<3!==eo(e))throw new z("Invalid Initialization Vector length")},el=(e,t)=>{let r=e.byteLength<<3;if(r!==t)throw new z(`Invalid Content Encryption Key length. Expected ${t} bits, got ${r} bits`)};function eu(e,t="algorithm.name"){return TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function ed(e,t){return e.name===t}function ep(e,t,...r){switch(t){case"A128GCM":case"A192GCM":case"A256GCM":{if(!ed(e.algorithm,"AES-GCM"))throw eu("AES-GCM");let r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw eu(r,"algorithm.length");break}
1case"A128KW":case"A192KW":case"A256KW":{if(!ed(e.algorithm,"AES-KW"))throw eu("AES-KW");let r=parseInt(t.slice(1,4),10);if(e.algorithm.length!==r)throw eu(r,"algorithm.length");break}case"ECDH":switch(e.algorithm.name){case"ECDH":case"X25519":case"X448":break;default:throw eu("ECDH, X25519, or X448")}break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":if(!ed(e.algorithm,"PBKDF2"))throw eu("PBKDF2");break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":{if(!ed(e.algorithm,"RSA-OAEP"))throw eu("RSA-OAEP");let r=parseInt(t.slice(9),10)||1;if(parseInt(e.algorithm.hash.name.slice(4),10)!==r)throw eu(`SHA-${r}`,"algorithm.hash");break}default:throw TypeError("CryptoKey does not support this operation")}!function(e,t){if(t.length&&!t.some(t=>e.usages.includes(t))){let e="CryptoKey does not support this operation, its usages must include ";if(t.length>2){let r=t.pop();e+=`one of ${t.join(", ")}, or ${r}.`}else 2===t.length?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw TypeError(e)}}(e,r)}function eh(e,t,...r){if((r=r.filter(Boolean)).length>2){let t=r.pop();e+=`one of type ${r.join(", ")}, or ${t}.`}else 2===r.length?e+=`one of type ${r[0]} or ${r[1]}.`:e+=`of type ${r[0]}.`;return null==t?e+=` Received ${t}`:"function"==typeof t&&t.name?e+=` Received function ${t.name}`:"object"==typeof t&&null!=t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}var ef=(e,...t)=>eh("Key must be ",e,...t);function ey(e,t,...r){return eh(`Key for the ${e} algorithm must be `,t,...r)}var em=e=>!!x(e)||e?.[Symbol.toStringTag]==="KeyObject";let ew=["CryptoKey"];async function eg(e,t,r,n,i){if(!(r instanceof Uint8Array))throw TypeError(ef(r,"Uint8Array"));let a=parseInt(e.slice(1,4),10),o=await E.subtle.importKey("raw",r.subarray(a>>3),"AES-CBC",!1,["encrypt"]),s=await E.subtle.importKey("raw",r.subarray(0,a>>3),{hash:`SHA-${a<<1}`,name:"HMAC"},!1,["sign"]),c=new Uint8Array(await E.subtle.encrypt({iv:n,name:"AES-CBC"},o,t)),l=P(i,n,c,O(i.length<<3));return{ciphertext:c,tag:new Uint8Array((await E.subtle.sign("HMAC",s,l)).slice(0,a>>3)),iv:n}}async function eb(e,t,r,n,i){let a;r instanceof Uint8Array?a=await E.subtle.importKey("raw",r,"AES-GCM",!1,["encrypt"]):(ep(r,e,"encrypt"),a=r);let o=new Uint8Array(await E.subtle.encrypt({additionalData:i,iv:n,name:"AES-GCM",tagLength:128},a,t)),s=o.slice(-16);return{ciphertext:o.slice(0,-16),tag:s,iv:n}}let e_=async(e,t,r,n,i)=>{if(!x(r)&&!(r instanceof Uint8Array))throw TypeError(ef(r,...ew,"Uint8Array"));switch(n?ec(e,n):n=es(e),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return r instanceof Uint8Array&&el(r,parseInt(e.slice(-3),10)),eg(e,t,r,n,i);case"A128GCM":case"A192GCM":case"A256GCM":return r instanceof Uint8Array&&el(r,parseInt(e.slice(1,4),10)),eb(e,t,r,n,i);default:throw new B("Unsupported JWE Content Encryption Algorithm")}};var ev=[{hash:"SHA-256",name:"HMAC"},!0,["sign"]];function ek(e,t){if(e.algorithm.length!==parseInt(t.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${t}`)}function eA(e,t,r){if(x(e))return ep(e,t,r),e;if(e instanceof Uint8Array)return E.subtle.importKey("raw",e,"AES-KW",!0,[r]);throw TypeError(ef(e,...ew,"Uint8Array"))}let eS=async(e,t,r)=>{let n=await eA(t,e,"wrapKey");ek(n,e);let i=await E.subtle.importKey("raw",r,...ev);return new Uint8Array(await E.subtle.wrapKey("raw",i,n,"AES-KW"))},eE=async(e,t,r)=>{let n=await eA(t,e,"unwrapKey");ek(n,e);let i=await E.subtle.unwrapKey("raw",r,n,"AES-KW",...ev);return new Uint8Array(await E.subtle.exportKey("raw",i))};async function ex(e,t,r,n,i=new Uint8Array(0),a=new Uint8Array(0)){let o;if(!x(e))throw TypeError(ef(e,...ew));if(ep(e,"ECDH"),!x(t))throw TypeError(ef(t,...ew));ep(t,"ECDH","deriveBits");let s=P(H(C.encode(r)),H(i),H(a),I(n));return o="X25519"===e.algorithm.name?256:"X448"===e.algorithm.name?448:Math.ceil(parseInt(e.algorithm.namedCurve.substr(-3),10)/8)<<3,$(new Uint8Array(await E.subtle.deriveBits({name:e.algorithm.name,public:e},t,o)),n,s)}async function eT(e){if(!x(e))throw TypeError(ef(e,...ew));return E.subtle.generateKey(e.algorithm,!0,["deriveBits"])}function eC(e){if(!x(e))throw TypeError(ef(e,...ew));return["P-256","P-384","P-521"].includes(e.algorithm.namedCurve)||"X25519"===e.algorithm.name||"X448"===e.algorithm.name}async function eU(e,t,r,n){!function(e){if(!(e instanceof Uint8Array)||e.length<8)throw new z("PBES2 Salt Input must be 8 or more octets")}(e);let i=P(C.encode(t),new Uint8Array([0]),e),a=parseInt(t.slice(13,16),10),o={hash:`SHA-${t.slice(8,11)}`,iterations:r,name:"PBKDF2",salt:i},s=await function(e,t){if(e instanceof Uint8Array)return E.subtle.importKey("raw",e,"PBKDF2",!1,["deriveBits"]);if(x(e))return ep(e,t,"deriveBits","deriveKey"),e;throw TypeError(ef(e,...ew,"Uint8Array"))}(n,t);if(s.usages.includes("deriveBits"))return new Uint8Array(await E.subtle.deriveBits(o,s,a));if(s.usages.includes("deriveKey"))return E.subtle.deriveKey(o,s,{length:a,name:"AES-KW"},!1,["wrapKey","unwrapKey"]);throw TypeError('PBKDF2 key "usages" must include "deriveBits" or "deriveKey"')}let eP=async(e,t,r,n=2048,i=ea(new Uint8Array(16)))=>{let a=await eU(i,e,n,t);return{encryptedKey:await eS(e.slice(-6),a,r),p2c:n,p2s:D(i)}},eR=async(e,t,r,n,i)=>{let a=await eU(i,e,n,t);return eE(e.slice(-6),a,r)};function eO(e){switch(e){case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":return"RSA-OAEP";default:throw new B(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}var eI=(e,t)=>{if(e.startsWith("RS")||e.startsWith("PS")){let{modulusLength:r}=t.algorithm;if("number"!=typeof r||r<2048)throw TypeError(`${e}
1 requires key modulusLength to be 2048 bits or larger`)}};let eH=async(e,t,r)=>{if(!x(t))throw TypeError(ef(t,...ew));if(ep(t,e,"encrypt","wrapKey"),eI(e,t),t.usages.includes("encrypt"))return new Uint8Array(await E.subtle.encrypt(eO(e),t,r));if(t.usages.includes("wrapKey")){let n=await E.subtle.importKey("raw",r,...ev);return new Uint8Array(await E.subtle.wrapKey("raw",n,t,eO(e)))}throw TypeError('RSA-OAEP key "usages" must include "encrypt" or "wrapKey" for this operation')},e$=async(e,t,r)=>{if(!x(t))throw TypeError(ef(t,...ew));if(ep(t,e,"decrypt","unwrapKey"),eI(e,t),t.usages.includes("decrypt"))return new Uint8Array(await E.subtle.decrypt(eO(e),t,r));if(t.usages.includes("unwrapKey")){let n=await E.subtle.unwrapKey("raw",r,t,eO(e),...ev);return new Uint8Array(await E.subtle.exportKey("raw",n))}throw TypeError('RSA-OAEP key "usages" must include "decrypt" or "unwrapKey" for this operation')};function eW(e){return et(e)&&"string"==typeof e.kty}let eD=async e=>{if(!e.alg)throw TypeError('"alg" argument is required when "jwk.alg" is not present');let{algorithm:t,keyUsages:r}=function(e){let t,r;switch(e.kty){case"RSA":switch(e.alg){case"PS256":case"PS384":case"PS512":t={name:"RSA-PSS",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RS256":case"RS384":case"RS512":t={name:"RSASSA-PKCS1-v1_5",hash:`SHA-${e.alg.slice(-3)}`},r=e.d?["sign"]:["verify"];break;case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":t={name:"RSA-OAEP",hash:`SHA-${parseInt(e.alg.slice(-3),10)||1}`},r=e.d?["decrypt","unwrapKey"]:["encrypt","wrapKey"];break;default:throw new B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"EC":switch(e.alg){case"ES256":t={name:"ECDSA",namedCurve:"P-256"},r=e.d?["sign"]:["verify"];break;case"ES384":t={name:"ECDSA",namedCurve:"P-384"},r=e.d?["sign"]:["verify"];break;case"ES512":t={name:"ECDSA",namedCurve:"P-521"},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:"ECDH",namedCurve:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;case"OKP":switch(e.alg){case"Ed25519":t={name:"Ed25519"},r=e.d?["sign"]:["verify"];break;case"EdDSA":t={name:e.crv},r=e.d?["sign"]:["verify"];break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":t={name:e.crv},r=e.d?["deriveBits"]:[];break;default:throw new B('Invalid or unsupported JWK "alg" (Algorithm) Parameter value')}break;default:throw new B('Invalid or unsupported JWK "kty" (Key Type) Parameter value')}return{algorithm:t,keyUsages:r}}(e),n=[t,e.ext??!1,e.key_ops??r],i={...e};return delete i.alg,delete i.use,E.subtle.importKey("jwk",i,...n)},ej=e=>K(e),eK=e=>e?.[Symbol.toStringTag]==="KeyObject",eL=async(e,t,r,n,i=!1)=>{let a=e.get(t);if(a?.[n])return a[n];let o=await eD({...r,alg:n});return i&&Object.freeze(t),a?a[n]=o:e.set(t,{[n]:o}),o};var eJ=(e,t)=>{if(eK(e)){let r=e.export({format:"jwk"});return(delete r.d,delete r.dp,delete r.dq,delete r.p,delete r.q,delete r.qi,r.k)?ej(r.k):(i||(i=new WeakMap),eL(i,e,r,t))}return eW(e)?e.k?K(e.k):(i||(i=new WeakMap),eL(i,e,e,t,!0)):e},eN=(e,t)=>{if(eK(e)){let r=e.export({format:"jwk"});return r.k?ej(r.k):(n||(n=new WeakMap),eL(n,e,r,t))}return eW(e)?e.k?K(e.k):(n||(n=new WeakMap),eL(n,e,e,t,!0)):e};function eM(e){switch(e){case"A128GCM":return 128;case"A192GCM":return 192;case"A256GCM":case"A128CBC-HS256":return 256;case"A192CBC-HS384":return 384;case"A256CBC-HS512":return 512;default:throw new B(`Unsupported JWE Algorithm: ${e}`)}}var eB=e=>ea(new Uint8Array(eM(e)>>3));let eF=async e=>{if(e instanceof Uint8Array)return{kty:"oct",k:D(e)};if(!x(e))throw TypeError(ef(e,...ew,"Uint8Array"));if(!e.extractable)throw TypeError("non-extractable CryptoKey cannot be exported as a JWK");let{ext:t,key_ops:r,alg:n,use:i,...a}=await E.subtle.exportKey("jwk",e);return a};async function ez(e){return eF(e)}let eV=e=>e?.[Symbol.toStringTag],eq=(e,t,r)=>{if(void 0!==t.use&&"sig"!==t.use)throw TypeError("Invalid key for this operation, when present its use must be sig");if(void 0!==t.key_ops&&t.key_ops.includes?.(r)!==!0)throw TypeError(`Invalid key for this operation, when present its key_ops must include ${r}`);if(void 0!==t.alg&&t.alg!==e)throw TypeError(`Invalid key for this operation, when present its alg must be ${e}`);return!0},eG=(e,t,r,n)=>{if(!(t instanceof Uint8Array)){if(n&&eW(t)){if(eW(t)&&"oct"===t.kty&&"string"==typeof t.k&&eq(e,t,r))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!em(t))throw TypeError(ey(e,t,...ew,"Uint8Array",n?"JSON Web Key":null));if("secret"!==t.type)throw TypeError(`${eV(t)} instances for symmetric algorithms must be of type "secret"`)}},eX=(e,t,r,n)=>{if(n&&eW(t))switch(r){case"sign":if("oct"!==t.kty&&"string"==typeof t.d&&eq(e,t,r))return;throw TypeError("JSON Web Key for this operation be a private JWK");case"verify":if("oct"!==t.kty&&void 0===t.d&&eq(e,t,r))return;throw TypeError("JSON Web Key for this operation be a public JWK")}if(!em(t))throw TypeError(ey(e,t,...ew,n?"JSON Web Key":null));if("secret"===t.type)throw TypeError(`${eV(t)} instances for asymmetric algorithms must not be of type "secret"`);if("sign"===r&&"public"===t.type)throw TypeError(`${eV(t)} instances for asymmetric algorithm signing must be of type "private"`);if("decrypt"===r&&"public"===t.type)throw TypeError(`${eV(t)} instances for asymmetric algorithm decryption must be of type "private"`);if(t.algorithm&&"verify"===r&&"private"===t.type)throw TypeError(`${eV(t)} instances for asymmetric algorithm verifying must be of type "public"`);
1if(t.algorithm&&"encrypt"===r&&"private"===t.type)throw TypeError(`${eV(t)} instances for asymmetric algorithm encryption must be of type "public"`)};function eY(e,t,r,n){t.startsWith("HS")||"dir"===t||t.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(t)?eG(t,r,n,e):eX(t,r,n,e)}var eQ=eY.bind(void 0,!1);eY.bind(void 0,!0);var eZ=(e,t)=>{if(!(e instanceof Uint8Array))throw TypeError("First argument must be a buffer");if(!(t instanceof Uint8Array))throw TypeError("Second argument must be a buffer");if(e.length!==t.length)throw TypeError("Input buffers must have the same length");let r=e.length,n=0,i=-1;for(;++i<r;)n|=e[i]^t[i];return 0===n};async function e0(e,t,r,n,i,a){let o,s;if(!(t instanceof Uint8Array))throw TypeError(ef(t,"Uint8Array"));let c=parseInt(e.slice(1,4),10),l=await E.subtle.importKey("raw",t.subarray(c>>3),"AES-CBC",!1,["decrypt"]),u=await E.subtle.importKey("raw",t.subarray(0,c>>3),{hash:`SHA-${c<<1}`,name:"HMAC"},!1,["sign"]),d=P(a,n,r,O(a.length<<3)),p=new Uint8Array((await E.subtle.sign("HMAC",u,d)).slice(0,c>>3));try{o=eZ(i,p)}catch{}if(!o)throw new F;
1try{s=new Uint8Array(await E.subtle.decrypt({iv:n,name:"AES-CBC"},l,r))}catch{}if(!s)throw new F;return s}async function e1(e,t,r,n,i,a){let o;t instanceof Uint8Array?o=await E.subtle.importKey("raw",t,"AES-GCM",!1,["decrypt"]):(ep(t,e,"decrypt"),o=t);try{return new Uint8Array(await E.subtle.decrypt({additionalData:a,iv:n,name:"AES-GCM",tagLength:128},o,P(r,i)))}catch{throw new F}}let e2=async(e,t,r,n,i,a)=>{if(!x(t)&&!(t instanceof Uint8Array))throw TypeError(ef(t,...ew,"Uint8Array"));if(!n)throw new z("JWE Initialization Vector missing");if(!i)throw new z("JWE Authentication Tag missing");switch(ec(e,n),e){case"A128CBC-HS256":case"A192CBC-HS384":case"A256CBC-HS512":return t instanceof Uint8Array&&el(t,parseInt(e.slice(-3),10)),e0(e,t,r,n,i,a);case"A128GCM":case"A192GCM":case"A256GCM":return t instanceof Uint8Array&&el(t,parseInt(e.slice(1,4),10)),e1(e,t,r,n,i,a);default:throw new B("Unsupported JWE Content Encryption Algorithm")}};async function e5(e,t,r,n){let i=e.slice(0,7),a=await e_(i,r,t,n,new Uint8Array(0));return{encryptedKey:a.ciphertext,iv:D(a.iv),tag:D(a.tag)}}async function e6(e,t,r,n,i){return e2(e.slice(0,7),t,r,n,i,new Uint8Array(0))}async function e8(e,t,r,n,i={}){let a,o,s;switch(eQ(e,r,"encrypt"),r=await eJ?.(r,e)||r,e){case"dir":s=r;break;case"ECDH-ES":case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{if(!eC(r))throw new B("ECDH with the provided key is not allowed or not supported by your javascript runtime");let{apu:c,apv:l}=i,{epk:u}=i;u||(u=(await eT(r)).privateKey);let{x:d,y:p,crv:h,kty:f}=await ez(u),y=await ex(r,u,"ECDH-ES"===e?t:e,"ECDH-ES"===e?eM(t):parseInt(e.slice(-5,-2),10),c,l);if(o={epk:{x:d,crv:h,kty:f}},"EC"===f&&(o.epk.y=p),c&&(o.apu=D(c)),l&&(o.apv=D(l)),"ECDH-ES"===e){s=y;break}s=n||eB(t);let m=e.slice(-6);a=await eS(m,y,s);break}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":s=n||eB(t),a=await eH(e,r,s);break;case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{s=n||eB(t);let{p2c:c,p2s:l}=i;({encryptedKey:a,...o}=await eP(e,r,s,c,l));break}case"A128KW":case"A192KW":case"A256KW":s=n||eB(t),a=await eS(e,r,s);break;case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{s=n||eB(t);let{iv:c}=i;({encryptedKey:a,...o}=await e5(e,r,s,c));break}default:throw new B('Invalid or unsupported "alg" (JWE Algorithm) header value')}return{cek:s,encryptedKey:a,parameters:o}}var e4=(...e)=>{let t;let r=e.filter(Boolean);if(0===r.length||1===r.length)return!0;for(let e of r){let r=Object.keys(e);if(!t||0===t.size){t=new Set(r);continue}for(let e of r){if(t.has(e))return!1;t.add(e)}}return!0},e3=function(e,t,r,n,i){let a;if(void 0!==i.crit&&n?.crit===void 0)throw new e('"crit" (Critical) Header Parameter MUST be integrity protected');if(!n||void 0===n.crit)return new Set;if(!Array.isArray(n.crit)||0===n.crit.length||n.crit.some(e=>"string"!=typeof e||0===e.length))throw new e('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');for(let o of(a=void 0!==r?new Map([...Object.entries(r),...t.entries()]):t,n.crit)){if(!a.has(o))throw new B(`Extension Header Parameter "${o}" is not recognized`);if(void 0===i[o])throw new e(`Extension Header Parameter "${o}" is missing`);if(a.get(o)&&void 0===n[o])throw new e(`Extension Header Parameter "${o}" MUST be integrity protected`)}return new Set(n.crit)};class e9{constructor(e){if(!(e instanceof Uint8Array))throw TypeError("plaintext must be an instance of Uint8Array");this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw TypeError("setSharedUnprotectedHeader can only be called once");return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError("setUnprotectedHeader can only be called once");return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError("setInitializationVector can only be called once");return this._iv=e,this}async encrypt(e,t){let r,n,i,a,o;if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new z("either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()");if(!e4(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new z("JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint");let s={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if(e3(z,new Map,t?.crit,this._protectedHeader,s),void 0!==s.zip)throw new B('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');let{alg:c,enc:l}=s;if("string"!=typeof c||!c)throw new z('JWE "alg" (Algorithm) Header Parameter missing or invalid');if("string"!=typeof l||!l)throw new z('JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid');if(this._cek&&("dir"===c||"ECDH-ES"===c))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${c}`);{let i;({cek:n,encryptedKey:r,parameters:i}=await e8(c,l,e,this._cek,this._keyManagementParameters)),i&&(t&&ei in t?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...i}:this.setUnprotectedHeader(i):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...i}:this.setProtectedHeader(i))}a=this._protectedHeader?C.encode(D(JSON.stringify(this._protectedHeader))):C.encode(""),this._aad?(o=D(this._aad),i=P(a,C.encode("."),C.encode(o))):i=a;let{ciphertext:u,tag:d,iv:p}
1=await e_(l,this._plaintext,n,this._iv,i),h={ciphertext:D(u)};return p&&(h.iv=D(p)),d&&(h.tag=D(d)),r&&(h.encrypted_key=D(r)),o&&(h.aad=o),this._protectedHeader&&(h.protected=U.decode(a)),this._sharedUnprotectedHeader&&(h.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(h.header=this._unprotectedHeader),h}}class e7{constructor(e){this._flattened=new e9(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){let r=await this._flattened.encrypt(e,t);return[r.protected,r.encrypted_key,r.iv,r.ciphertext,r.tag].join(".")}}var te=e=>Math.floor(e.getTime()/1e3);let tt=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;var tr=e=>{let t;let r=tt.exec(e);if(!r||r[4]&&r[1])throw TypeError("Invalid time period format");let n=parseFloat(r[2]);switch(r[3].toLowerCase()){case"sec":case"secs":case"second":case"seconds":case"s":t=Math.round(n);break;case"minute":case"minutes":case"min":case"mins":case"m":t=Math.round(60*n);break;case"hour":case"hours":case"hr":case"hrs":case"h":t=Math.round(3600*n);break;case"day":case"days":case"d":t=Math.round(86400*n);break;case"week":case"weeks":case"w":t=Math.round(604800*n);break;default:t=Math.round(31557600*n)}return"-"===r[1]||"ago"===r[4]?-t:t};function tn(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}class ti{constructor(e={}){if(!et(e))throw TypeError("JWT Claims Set MUST be an object");this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return"number"==typeof e?this._payload={...this._payload,nbf:tn("setNotBefore",e)}:e instanceof Date?this._payload={...this._payload,nbf:tn("setNotBefore",te(e))}:this._payload={...this._payload,nbf:te(new Date)+tr(e)},this}setExpirationTime(e){return"number"==typeof e?this._payload={...this._payload,exp:tn("setExpirationTime",e)}:e instanceof Date?this._payload={...this._payload,exp:tn("setExpirationTime",te(e))}:this._payload={...this._payload,exp:te(new Date)+tr(e)},this}setIssuedAt(e){return void 0===e?this._payload={...this._payload,iat:te(new Date)}:e instanceof Date?this._payload={...this._payload,iat:tn("setIssuedAt",te(e))}:"string"==typeof e?this._payload={...this._payload,iat:tn("setIssuedAt",te(new Date)+tr(e))}:this._payload={...this._payload,iat:tn("setIssuedAt",e)},this}}class ta extends ti{setProtectedHeader(e){if(this._protectedHeader)throw TypeError("setProtectedHeader can only be called once");return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError("setKeyManagementParameters can only be called once");return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError("setContentEncryptionKey can only be called once");return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError("setInitializationVector can only be called once");return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,t){let r=new e7(C.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),r.setProtectedHeader(this._protectedHeader),this._iv&&r.setInitializationVector(this._iv),this._cek&&r.setContentEncryptionKey(this._cek),this._keyManagementParameters&&r.setKeyManagementParameters(this._keyManagementParameters),r.encrypt(e,t)}}async function to(e,t){if(!et(e))throw TypeError("JWK must be an object");switch(t||(t=e.alg),e.kty){case"oct":if("string"!=typeof e.k||!e.k)throw TypeError('missing "k" (Key Value) Parameter value');return K(e.k);case"RSA":if("oth"in e&&void 0!==e.oth)throw new B('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return eD({...e,alg:t});default:throw new B('Unsupported "kty" (Key Type) Parameter value')}}async function ts(e,t,r,n,i){switch(eQ(e,t,"decrypt"),t=await eN?.(t,e)||t,e){case"dir":if(void 0!==r)throw new z("Encountered unexpected JWE Encrypted Key");return t;case"ECDH-ES":if(void 0!==r)throw new z("Encountered unexpected JWE Encrypted Key");case"ECDH-ES+A128KW":case"ECDH-ES+A192KW":case"ECDH-ES+A256KW":{let i,a;if(!et(n.epk))throw new z('JOSE Header "epk" (Ephemeral Public Key) missing or invalid');if(!eC(t))throw new B("ECDH with the provided key is not allowed or not supported by your javascript runtime");let o=await to(n.epk,e);if(void 0!==n.apu){if("string"!=typeof n.apu)throw new z('JOSE Header "apu" (Agreement PartyUInfo) invalid');try{i=K(n.apu)}catch{throw new z("Failed to base64url decode the apu")}}if(void 0!==n.apv){if("string"!=typeof n.apv)throw new z('JOSE Header "apv" (Agreement PartyVInfo) invalid');try{a=K(n.apv)}catch{throw new z("Failed to base64url decode the apv")}}let s=await ex(o,t,"ECDH-ES"===e?n.enc:e,"ECDH-ES"===e?eM(n.enc):parseInt(e.slice(-5,-2),10),i,a);if("ECDH-ES"===e)return s;if(void 0===r)throw new z("JWE Encrypted Key missing");return eE(e.slice(-6),s,r)}case"RSA1_5":case"RSA-OAEP":case"RSA-OAEP-256":case"RSA-OAEP-384":case"RSA-OAEP-512":if(void 0===r)throw new z("JWE Encrypted Key missing");return e$(e,t,r);case"PBES2-HS256+A128KW":case"PBES2-HS384+A192KW":case"PBES2-HS512+A256KW":{let a;if(void 0===r)throw new z("JWE Encrypted Key missing");if("number"!=typeof n.p2c)throw new z('JOSE Header "p2c" (PBES2 Count) missing or invalid');let o=i?.maxPBES2Count||1e4;if(n.p2c>o)throw new z('JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds');if("string"!=typeof n.p2s)throw new z('JOSE Header "p2s" (PBES2 Salt) missing or invalid');try{a=K(n.p2s)}catch{throw new z("Failed to base64url decode the p2s")}return eR(e,t,r,n.p2c,a)}
1case"A128KW":case"A192KW":case"A256KW":if(void 0===r)throw new z("JWE Encrypted Key missing");return eE(e,t,r);case"A128GCMKW":case"A192GCMKW":case"A256GCMKW":{let i,a;if(void 0===r)throw new z("JWE Encrypted Key missing");if("string"!=typeof n.iv)throw new z('JOSE Header "iv" (Initialization Vector) missing or invalid');if("string"!=typeof n.tag)throw new z('JOSE Header "tag" (Authentication Tag) missing or invalid');try{i=K(n.iv)}catch{throw new z("Failed to base64url decode the iv")}try{a=K(n.tag)}catch{throw new z("Failed to base64url decode the tag")}return e6(e,t,r,i,a)}default:throw new B('Invalid or unsupported "alg" (JWE Algorithm) header value')}}var tc=(e,t)=>{if(void 0!==t&&(!Array.isArray(t)||t.some(e=>"string"!=typeof e)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)};async function tl(e,t,r){let n,i,a,o,s,c,l;if(!et(e))throw new z("Flattened JWE must be an object");if(void 0===e.protected&&void 0===e.header&&void 0===e.unprotected)throw new z("JOSE Header missing");if(void 0!==e.iv&&"string"!=typeof e.iv)throw new z("JWE Initialization Vector incorrect type");if("string"!=typeof e.ciphertext)throw new z("JWE Ciphertext missing or incorrect type");if(void 0!==e.tag&&"string"!=typeof e.tag)throw new z("JWE Authentication Tag incorrect type");if(void 0!==e.protected&&"string"!=typeof e.protected)throw new z("JWE Protected Header incorrect type");if(void 0!==e.encrypted_key&&"string"!=typeof e.encrypted_key)throw new z("JWE Encrypted Key incorrect type");if(void 0!==e.aad&&"string"!=typeof e.aad)throw new z("JWE AAD incorrect type");if(void 0!==e.header&&!et(e.header))throw new z("JWE Shared Unprotected Header incorrect type");if(void 0!==e.unprotected&&!et(e.unprotected))throw new z("JWE Per-Recipient Unprotected Header incorrect type");if(e.protected)try{let t=K(e.protected);n=JSON.parse(U.decode(t))}catch{throw new z("JWE Protected Header is invalid")}if(!e4(n,e.header,e.unprotected))throw new z("JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint");let u={...n,...e.header,...e.unprotected};if(e3(z,new Map,r?.crit,n,u),void 0!==u.zip)throw new B('JWE "zip" (Compression Algorithm) Header Parameter is not supported.');let{alg:d,enc:p}=u;if("string"!=typeof d||!d)throw new z("missing JWE Algorithm (alg) in JWE Header");if("string"!=typeof p||!p)throw new z("missing JWE Encryption Algorithm (enc) in JWE Header");let h=r&&tc("keyManagementAlgorithms",r.keyManagementAlgorithms),f=r&&tc("contentEncryptionAlgorithms",r.contentEncryptionAlgorithms);if(h&&!h.has(d)||!h&&d.startsWith("PBES2"))throw new M('"alg" (Algorithm) Header Parameter value not allowed');if(f&&!f.has(p))throw new M('"enc" (Encryption Algorithm) Header Parameter value not allowed');if(void 0!==e.encrypted_key)try{i=K(e.encrypted_key)}catch{throw new z("Failed to base64url decode the encrypted_key")}let y=!1;"function"==typeof t&&(t=await t(n,e),y=!0);try{a=await ts(d,t,i,u,r)}catch(e){if(e instanceof TypeError||e instanceof z||e instanceof B)throw e;a=eB(p)}if(void 0!==e.iv)try{o=K(e.iv)}catch{throw new z("Failed to base64url decode the iv")}if(void 0!==e.tag)try{s=K(e.tag)}catch{throw new z("Failed to base64url decode the tag")}let m=C.encode(e.protected??"");c=void 0!==e.aad?P(m,C.encode("."),C.encode(e.aad)):m;try{l=K(e.ciphertext)}catch{throw new z("Failed to base64url decode the ciphertext")}let w={plaintext:await e2(p,a,l,o,s,c)};if(void 0!==e.protected&&(w.protectedHeader=n),void 0!==e.aad)try{w.additionalAuthenticatedData=K(e.aad)}catch{throw new z("Failed to base64url decode the aad")}return(void 0!==e.unprotected&&(w.sharedUnprotectedHeader=e.unprotected),void 0!==e.header&&(w.unprotectedHeader=e.header),y)?{...w,key:t}:w}async function tu(e,t,r){if(e instanceof Uint8Array&&(e=U.decode(e)),"string"!=typeof e)throw new z("Compact JWE must be a string or Uint8Array");let{0:n,1:i,2:a,3:o,4:s,length:c}=e.split(".");if(5!==c)throw new z("Invalid Compact JWE");let l=await tl({ciphertext:o,iv:a||void 0,protected:n,tag:s||void 0,encrypted_key:i||void 0},t,r),u={plaintext:l.plaintext,protectedHeader:l.protectedHeader};return"function"==typeof t?{...u,key:l.key}:u}let td=e=>e.toLowerCase().replace(/^application\//,""),tp=(e,t)=>"string"==typeof e?t.includes(e):!!Array.isArray(e)&&t.some(Set.prototype.has.bind(new Set(e)));var th=(e,t,r={})=>{let n,i;try{n=JSON.parse(U.decode(t))}catch{}if(!et(n))throw new q("JWT Claims Set must be a top-level JSON object");let{typ:a}=r;if(a&&("string"!=typeof e.typ||td(e.typ)!==td(a)))throw new J('unexpected "typ" JWT header value',n,"typ","check_failed");let{requiredClaims:o=[],issuer:s,subject:c,audience:l,maxTokenAge:u}=r,d=[...o];for(let e of(void 0!==u&&d.push("iat"),void 0!==l&&d.push("aud"),void 0!==c&&d.push("sub"),void 0!==s&&d.push("iss"),new Set(d.reverse())))if(!(e in n))throw new J(`missing required "${e}" claim`,n,e,"missing");if(s&&!(Array.isArray(s)?s:[s]).includes(n.iss))throw new J('unexpected "iss" claim value',n,"iss","check_failed");if(c&&n.sub!==c)throw new J('unexpected "sub" claim value',n,"sub","check_failed");if(l&&!tp(n.aud,"string"==typeof l?[l]:l))throw new J('unexpected "aud" claim value',n,"aud","check_failed");switch(typeof r.clockTolerance){case"string":i=tr(r.clockTolerance);break;case"number":i=r.clockTolerance;break;case"undefined":i=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:p}=r,h=te(p||new Date);if((void 0!==n.iat||u)&&"number"!=typeof n.iat)throw new J('"iat" claim must be a number',n,"iat","invali
1d");if(void 0!==n.nbf){if("number"!=typeof n.nbf)throw new J('"nbf" claim must be a number',n,"nbf","invalid");if(n.nbf>h+i)throw new J('"nbf" claim timestamp check failed',n,"nbf","check_failed")}if(void 0!==n.exp){if("number"!=typeof n.exp)throw new J('"exp" claim must be a number',n,"exp","invalid");if(n.exp<=h-i)throw new N('"exp" claim timestamp check failed',n,"exp","check_failed")}if(u){let e=h-n.iat;if(e-i>("number"==typeof u?u:tr(u)))throw new N('"iat" claim timestamp check failed (too far in the past)',n,"iat","check_failed");if(e<0-i)throw new J('"iat" claim timestamp check failed (it should be in the past)',n,"iat","check_failed")}return n};async function tf(e,t,r){let n=await tu(e,t,r),i=th(n.protectedHeader,n.plaintext,r),{protectedHeader:a}=n;if(void 0!==a.iss&&a.iss!==i.iss)throw new J('replicated "iss" claim header parameter mismatch',i,"iss","mismatch");if(void 0!==a.sub&&a.sub!==i.sub)throw new J('replicated "sub" claim header parameter mismatch',i,"sub","mismatch");if(void 0!==a.aud&&JSON.stringify(a.aud)!==JSON.stringify(i.aud))throw new J('replicated "aud" claim header parameter mismatch',i,"aud","mismatch");let o={payload:i,protectedHeader:a};return"function"==typeof t?{...o,key:n.key}:o}var ty=r(90469);let tm=()=>Date.now()/1e3|0,tw="A256CBC-HS512";async function tg(e){let{token:t={},secret:r,maxAge:n=2592e3,salt:i}=e,a=Array.isArray(r)?r:[r],o=await t_(tw,a[0],i),s=await en({kty:"oct",k:D(o)},`sha${o.byteLength<<3}`);return await new ta(t).setProtectedHeader({alg:"dir",enc:tw,kid:s}).setIssuedAt().setExpirationTime(tm()+n).setJti(crypto.randomUUID()).encrypt(o)}async function tb(e){let{token:t,secret:r,salt:n}=e,i=Array.isArray(r)?r:[r];if(!t)return null;let{payload:a}=await tf(t,async({kid:e,enc:t})=>{for(let r of i){let i=await t_(t,r,n);if(void 0===e||e===await en({kty:"oct",k:D(i)},`sha${i.byteLength<<3}`))return i}throw Error("no matching decryption secret")},{clockTolerance:15,keyManagementAlgorithms:["dir"],contentEncryptionAlgorithms:[tw,"A256GCM"]});return a}async function t_(e,t,r){let n;switch(e){case"A256CBC-HS512":n=64;break;case"A256GCM":n=32;break;default:throw Error("Unsupported JWT Content Encryption Algorithm")}return await S("sha256",t,r,`Auth.js Generated Encryption Key (${r})`,n)}async function tv({options:e,paramValue:t,cookieValue:r}){let{url:n,callbacks:i}=e,a=n.origin;return t?a=await i.redirect({url:t,baseUrl:n.origin}):r&&(a=await i.redirect({url:r,baseUrl:n.origin})),{callbackUrl:a,callbackUrlCookie:a!==r?a:void 0}}let tk="\x1b[31m",tA="\x1b[0m",tS={error(e){let t=e instanceof p.l4?e.type:e.name;if(console.error(`${tk}[auth][error]${tA} ${t}: ${e.message}`),e.cause&&"object"==typeof e.cause&&"err"in e.cause&&e.cause.err instanceof Error){let{err:t,...r}=e.cause;console.error(`${tk}[auth][cause]${tA}:`,t.stack),r&&console.error(`${tk}[auth][details]${tA}:`,JSON.stringify(r,null,2))}else e.stack&&console.error(e.stack.replace(/.*/,"").substring(1))},warn(e){let t=`https://warnings.authjs.dev#${e}`;console.warn(`\x1b[33m[auth][warn][${e}]${tA}`,`Read more: ${t}`)},debug(e,t){console.log(`\x1b[90m[auth][debug]:${tA} ${e}`,JSON.stringify(t,null,2))}};function tE(e){let t={...tS};return e.debug||(t.debug=()=>{}),e.logger?.error&&(t.error=e.logger.error),e.logger?.warn&&(t.warn=e.logger.warn),e.logger?.debug&&(t.debug=e.logger.debug),e.logger??(e.logger=t),t}let tx=["providers","session","csrf","signin","signout","callback","verify-request","error","webauthn-options"];async function tT(e){if(!("body"in e)||!e.body||"POST"!==e.method)return;let t=e.headers.get("content-type");return t?.includes("application/json")?await e.json():t?.includes("application/x-www-form-urlencoded")?Object.fromEntries(new URLSearchParams(await e.text())):void 0}async function tC(e,t){try{if("GET"!==e.method&&"POST"!==e.method)throw new p.D7("Only GET and POST requests are supported");t.basePath??(t.basePath="/auth");let r=new URL(e.url),{action:n,providerId:i}=function(e,t){let r=e.match(RegExp(`^${t}(.+)`));if(null===r)throw new p.D7(`Cannot parse action at ${e}`);
1let n=r.at(-1).replace(/^\//,"").split("/").filter(Boolean);if(1!==n.length&&2!==n.length)throw new p.D7(`Cannot parse action at ${e}`);let[i,a]=n;if(!tx.includes(i)||a&&!["signin","callback","webauthn-options"].includes(i))throw new p.D7(`Cannot parse action at ${e}`);return{action:i,providerId:a}}(r.pathname,t.basePath);return{url:r,action:n,providerId:i,method:e.method,headers:Object.fromEntries(e.headers),body:e.body?await tT(e):void 0,cookies:(0,ty.Q)(e.headers.get("cookie")??"")??{},error:r.searchParams.get("error")??void 0,query:Object.fromEntries(r.searchParams)}}catch(n){let r=tE(t);r.error(n),r.debug("request",e)}}function tU(e){let t=new Headers(e.headers);e.cookies?.forEach(e=>{let{name:r,value:n,options:i}=e,a=ty.q(r,n,i);t.has("Set-Cookie")?t.append("Set-Cookie",a):t.set("Set-Cookie",a)});let r=e.body;"application/json"===t.get("content-type")?r=JSON.stringify(e.body):"application/x-www-form-urlencoded"===t.get("content-type")&&(r=new URLSearchParams(e.body).toString());let n=new Response(r,{headers:t,status:e.redirect?302:e.status??200});return e.redirect&&n.headers.set("Location",e.redirect),n}async function tP(e){let t=new TextEncoder().encode(e);return Array.from(new Uint8Array(await crypto.subtle.digest("SHA-256",t))).map(e=>e.toString(16).padStart(2,"0")).join("").toString()}function tR(e){let t=e=>("0"+e.toString(16)).slice(-2);return Array.from(crypto.getRandomValues(new Uint8Array(e))).reduce((e,r)=>e+t(r),"")}async function tO({options:e,cookieValue:t,isPost:r,bodyValue:n}){if(t){let[i,a]=t.split("|");if(a===await tP(`${i}${e.secret}`))return{csrfTokenVerified:r&&i===n,csrfToken:i}}let i=tR(32),a=await tP(`${i}${e.secret}`);return{cookie:`${i}|${a}`,csrfToken:i}}function tI(e,t){if(!t)throw new p.Rk(`CSRF token was missing during an action ${e}`)}function tH(e){return null!==e&&"object"==typeof e}function t$(e,...t){if(!t.length)return e;let r=t.shift();if(tH(e)&&tH(r))for(let t in r)tH(r[t])?(tH(e[t])||(e[t]=Array.isArray(r[t])?[]:{}),t$(e[t],r[t])):void 0!==r[t]&&(e[t]=r[t]);return t$(e,...t)}let tW=Symbol("skip-csrf-check"),tD=Symbol("return-type-raw"),tj=Symbol("custom-fetch"),tK=Symbol("conform-internal"),tL=e=>tN({id:e.sub??e.id??crypto.randomUUID(),name:e.name??e.nickname??e.preferred_username,email:e.email,image:e.picture}),tJ=e=>tN({access_token:e.access_token,id_token:e.id_token,refresh_token:e.refresh_token,expires_at:e.expires_at,scope:e.scope,token_type:e.token_type,session_state:e.session_state});function tN(e){let t={};for(let[r,n]of Object.entries(e))void 0!==n&&(t[r]=n);return t}function tM(e,t){if(!e&&t)return;if("string"==typeof e)return{url:new URL(e)};let r=new URL(e?.url??"https://authjs.dev");if(e?.params!=null)for(let[t,n]of Object.entries(e.params))"claims"===t&&(n=JSON.stringify(n)),r.searchParams.set(t,String(n));return{url:r,request:e?.request,conform:e?.conform,...e?.clientPrivateKey?{clientPrivateKey:e?.clientPrivateKey}:null}}let tB={signIn:()=>!0,redirect:({url:e,baseUrl:t})=>e.startsWith("/")?`${t}${e}`:new URL(e).origin===t?e:t,session:({session:e})=>({user:{name:e.user?.name,email:e.user?.email,image:e.user?.image},expires:e.expires?.toISOString?.()??e.expires}),jwt:({token:e})=>e};async function tF({authOptions:e,providerId:t,action:r,url:n,cookies:i,callbackUrl:a,csrfToken:o,csrfDisabled:s,isPost:c}){var l;let d=tE(e),{providers:h,provider:f}=function(e){let{providerId:t,config:r}=e,n=new URL(r.basePath??"/auth",e.url.origin),i=r.providers.map(e=>{let t="function"==typeof e?e():e,{options:i,...a}=t,o=i?.id??a.id,s=t$(a,i,{signinUrl:`${n}/signin/${o}`,callbackUrl:`${n}/callback/${o}`});if("oauth"===t.type||"oidc"===t.type){s.redirectProxyUrl??(s.redirectProxyUrl=i?.redirectProxyUrl??r.redirectProxyUrl);let e=function(e){e.issuer&&(e.wellKnown??(e.wellKnown=`${e.issuer}/.well-known/openid-configuration`));let t=tM(e.authorization,e.issuer);t&&!t.url?.searchParams.has("scope")&&t.url.searchParams.set("scope","openid profile email");let r=tM(e.token,e.issuer),n=tM(e.userinfo,e.issuer),i=e.checks??["pkce"];return e.redirectProxyUrl&&(i.includes("state")||i.push("state"),e.redirectProxyUrl=`${e.redirectProxyUrl}/callback/${e.id}`),{...e,authorization:t,token:r,checks:i,userinfo:n,profile:e.profile??tL,account:e.account??tJ}}(s);return e.authorization?.url.searchParams.get("response_mode")==="form_post"&&delete e.redirectProxyUrl,e[tj]??(e[tj]=i?.[tj]),e}return s});return{providers:i,provider:i.find(({id:e})=>e===t)}}({url:n,providerId:t,config:e}),y=!1;if((f?.type==="oauth"||f?.type==="oidc")&&f.redirectProxyUrl)try{y=new URL(f.redirectProxyUrl).origin===n.origin}catch{throw TypeError(`redirectProxyUrl must be a valid URL. Received: ${f.redirectProxyUrl}`)}let m={debug:!1,pages:{},theme:{colorScheme:"auto",logo:"",brandColor:"",buttonText:""},...e,url:n,action:r,provider:f,cookies:t$(u(e.useSecureCookies??"https:"===n.protocol),e.cookies),providers:h,session:{strategy:e.adapter?"database":"jwt",maxAge:2592e3,updateAge:86400,generateSessionToken:()=>crypto.randomUUID(),...e.session},jwt:{secret:e.secret,maxAge:e.session?.maxAge??2592e3,encode:tg,decode:tb,...e.jwt},events:Object.keys(l=e.events??{}).reduce((e,t)=>
1(e[t]=async(...e)=>{try{let r=l[t];return await r(...e)}catch(e){d.error(new p.xQ(e))}},e),{}),adapter:function(e,t){if(e)return Object.keys(e).reduce((r,n)=>(r[n]=async(...r)=>{try{t.debug(`adapter_${n}`,{args:r});let i=e[n];return await i(...r)}catch(r){let e=new p.dq(r);throw t.error(e),e}},r),{})}(e.adapter,d),callbacks:{...tB,...e.callbacks},logger:d,callbackUrl:n.origin,isOnRedirectProxy:y,experimental:{...e.experimental}},w=[];if(s)m.csrfTokenVerified=!0;else{let{csrfToken:e,cookie:t,csrfTokenVerified:r}=await tO({options:m,cookieValue:i?.[m.cookies.csrfToken.name],isPost:c,bodyValue:o});m.csrfToken=e,m.csrfTokenVerified=r,t&&w.push({name:m.cookies.csrfToken.name,value:t,options:m.cookies.csrfToken.options})}let{callbackUrl:g,callbackUrlCookie:b}=await tv({options:m,cookieValue:i?.[m.cookies.callbackUrl.name],paramValue:a});return m.callbackUrl=g,b&&w.push({name:m.cookies.callbackUrl.name,value:b,options:m.cookies.callbackUrl.options}),{options:m,cookies:w}}var tz,tV,tq,tG,tX,tY,tQ,tZ,t0,t1,t2,t5={},t6=[],t8=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function t4(e,t){for(var r in t)e[r]=t[r];return e}function t3(e){var t=e.parentNode;t&&t.removeChild(e)}function t9(e,t,r,n,i){var a={type:e,props:t,key:r,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==i?++t0:i};return null==i&&null!=tZ.vnode&&tZ.vnode(a),a}function t7(e){return e.children}function re(e,t){this.props=e,this.context=t}function rt(e,t){if(null==t)return e.__?rt(e.__,e.__.__k.indexOf(e)+1):null;for(var r;t<e.__k.length;t++)if(null!=(r=e.__k[t])&&null!=r.__e)return r.__e;return"function"==typeof e.type?rt(e):null}function rr(e){(!e.__d&&(e.__d=!0)&&t1.push(e)&&!rn.__r++||t2!==tZ.debounceRendering)&&((t2=tZ.debounceRendering)||setTimeout)(rn)}function rn(){for(var e;rn.__r=t1.length;)e=t1.sort(function(e,t){return e.__v.__b-t.__v.__b}),t1=[],e.some(function(e){var t,r,n,i,a;e.__d&&(i=(n=e.__v).__e,(a=e.__P)&&(t=[],(r=t4({},n)).__v=n.__v+1,ru(a,n,r,e.__n,void 0!==a.ownerSVGElement,null!=n.__h?[i]:null,t,null==i?rt(n):i,n.__h),function(e,t){tZ.__c&&tZ.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){tZ.__e(e,t.__v)}})}(t,n),n.__e!=i&&function e(t){var r,n;if(null!=(t=t.__)&&null!=t.__c){for(t.__e=t.__c.base=null,r=0;r<t.__k.length;r++)if(null!=(n=t.__k[r])&&null!=n.__e){t.__e=t.__c.base=n.__e;break}return e(t)}}(n)))})}function ri(e,t,r,n,i,a,o,s,c,l){var u,d,p,h,f,y,m,w=n&&n.__k||t6,g=w.length;for(r.__k=[],u=0;u<t.length;u++)if(null!=(h=r.__k[u]=null==(h=t[u])||"boolean"==typeof h?null:"string"==typeof h||"number"==typeof h||"bigint"==typeof h?t9(null,h,null,null,h):Array.isArray(h)?t9(t7,{children:h},null,null,null):h.__b>0?t9(h.type,h.props,h.key,h.ref?h.ref:null,h.__v):h)){if(h.__=r,h.__b=r.__b+1,null===(p=w[u])||p&&h.key==p.key&&h.type===p.type)w[u]=void 0;else for(d=0;d<g;d++){if((p=w[d])&&h.key==p.key&&h.type===p.type){w[d]=void 0;break}p=null}ru(e,h,p=p||t5,i,a,o,s,c,l),f=h.__e,(d=h.ref)&&p.ref!=d&&(m||(m=[]),p.ref&&m.push(p.ref,null,h),m.push(d,h.__c||f,h)),null!=f?(null==y&&(y=f),"function"==typeof h.type&&h.__k===p.__k?h.__d=c=function e(t,r,n){for(var i,a=t.__k,o=0;a&&o<a.length;o++)(i=a[o])&&(i.__=t,r="function"==typeof i.type?e(i,r,n):ra(n,i,i,a,i.__e,r));return r}(h,c,e):c=ra(e,h,p,w,f,c),"function"==typeof r.type&&(r.__d=c)):c&&p.__e==c&&c.parentNode!=e&&(c=rt(p))}for(r.__e=y,u=g;u--;)null!=w[u]&&function e(t,r,n){var i,a;if(tZ.unmount&&tZ.unmount(t),(i=t.ref)&&(i.current&&i.current!==t.__e||rd(i,null,r)),null!=(i=t.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){tZ.__e(e,r)}i.base=i.__P=null,t.__c=void 0}if(i=t.__k)for(a=0;a<i.length;a++)i[a]&&e(i[a],r,n||"function"!=typeof t.type);n||null==t.__e||t3(t.__e),t.__=t.__e=t.__d=void 0}(w[u],w[u]);if(m)for(u=0;u<m.length;u++)rd(m[u],m[++u],m[++u])}function ra(e,t,r,n,i,a){var o,s,c;if(void 0!==t.__d)o=t.__d,t.__d=void 0;else if(null==r||i!=a||null==i.parentNode)e:if(null==a||a.parentNode!==e)e.appendChild(i),o=null;else{for(s=a,c=0;(s=s.nextSibling)&&c<n.length;c+=1)if(s==i)break e;e.insertBefore(i,a),o=a}return void 0!==o?o:i.nextSibling}function ro(e,t,r){"-"===t[0]?e.setProperty(t,r):e[t]=null==r?"":"number"!=typeof r||t8.test(t)?r:r+"px"}function rs(e,t,r,n,i){var a;e:if("style"===t){if("string"==typeof r)e.style.cssText=r;else{if("string"==typeof n&&(e.style.cssText=n=""),n)for(t in n)r&&t in r||ro(e.style,t,"");if(r)for(t in r)n&&r[t]===n[t]||ro(e.style,t,r[t])}}
vendor: 1,717 bytes, line 1
1else if("o"===t[0]&&"n"===t[1])a=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase() in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=r,r?n||e.addEventListener(t,a?rl:rc,a):e.removeEventListener(t,a?rl:rc,a);else if("dangerouslySetInnerHTML"!==t){if(i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=null==r?"":r;break e}catch(e){}"function"==typeof r||(null==r||!1===r&&-1==t.indexOf("-")?e.removeAttribute(t):e.setAttribute(t,r))}}function rc(e){this.l[e.type+!1](tZ.event?tZ.event(e):e)}function rl(e){this.l[e.type+!0](tZ.event?tZ.event(e):e)}function ru(e,t,r,n,i,a,o,s,c){var l,u,d,p,h,f,y,m,w,g,b,_,v,k,A,S=t.type;if(void 0!==t.constructor)return null;null!=r.__h&&(c=r.__h,s=t.__e=r.__e,t.__h=null,a=[s]),(l=tZ.__b)&&l(t);try{e:if("function"==typeof S){if(m=t.props,w=(l=S.contextType)&&n[l.__c],g=l?w?w.props.value:l.__:n,r.__c?y=(u=t.__c=r.__c).__=u.__E:("prototype"in S&&S.prototype.render?t.__c=u=new S(m,g):(t.__c=u=new re(m,g),u.constructor=S,u.render=rp),w&&w.sub(u),u.props=m,u.state||(u.state={}),u.context=g,u.__n=n,d=u.__d=!0,u.__h=[],u._sb=[]),null==u.__s&&(u.__s=u.state),null!=S.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=t4({},u.__s)),t4(u.__s,S.getDerivedStateFromProps(m,u.__s))),p=u.props,h=u.state,d)null==S.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(null==S.getDerivedStateFromProps&&m!==p&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(m,g),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(m,u.__s,g)||t.__v===r.__v){for(u.props=m,u.
1state=u.__s,t.__v!==r.__v&&(u.__d=!1),u.__v=t,t.__e=r.__e,t.__k=r.__k,t.__k.forEach(function(e){e&&(e.__=t)}),b=0;b<u._sb.length;b++)u.__h.push(u._sb[b]);u._sb=[],u.__h.length&&o.push(u);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(m,u.__s,g),null!=u.componentDidUpdate&&u.__h.push(function(){u.componentDidUpdate(p,h,f)})}if(u.context=g,u.props=m,u.__v=t,u.__P=e,_=tZ.__r,v=0,"prototype"in S&&S.prototype.render){for(u.state=u.__s,u.__d=!1,_&&_(t),l=u.render(u.props,u.state,u.context),k=0;k<u._sb.length;k++)u.__h.push(u._sb[k]);u._sb=[]}else do u.__d=!1,_&&_(t),l=u.render(u.props,u.state,u.context),u.state=u.__s;while(u.__d&&++v<25);u.state=u.__s,null!=u.getChildContext&&(n=t4(t4({},n),u.getChildContext())),d||null==u.getSnapshotBeforeUpdate||(f=u.getSnapshotBeforeUpdate(p,h)),A=null!=l&&l.type===t7&&null==l.key?l.props.children:l,ri(e,Array.isArray(A)?A:[A],t,r,n,i,a,o,s,c),u.base=t.__e,t.__h=null,u.__h.length&&o.push(u),y&&(u.__E=u.__=null),u.__e=!1}else null==a&&t.__v===r.__v?(t.__k=r.__k,t.__e=r.__e):t.__e=function(e,t,r,n,i,a,o,s){var c,l,u,d=r.props,p=t.props,h=t.type,f=0;if("svg"===h&&(i=!0),null!=a){for(;f<a.length;f++)if((c=a[f])&&"setAttribute"in c==!!h&&(h?c.localName===h:3===c.nodeType)){e=c,a[f]=null;break}}if(null==e){if(null===h)return document.createTextNode(p);e=i?document.createElementNS("http://www.w3.org/2000/svg",h):document.createElement(h,p.is&&p),a=null,s=!1}if(null===h)d===p||s&&e.data===p||(e.data=p);else{if(a=a&&tQ.call(e.childNodes),l=(d=r.props||t5).dangerouslySetInnerHTML,u=p.dangerouslySetInnerHTML,!s){if(null!=a)for(d={},f=0;f<e.attributes.length;f++)d[e.attributes[f].name]=e.attributes[f].value;(u||l)&&(u&&(l&&u.__html==l.__html||u.__html===e.innerHTML)||(e.innerHTML=u&&u.__html||""))}if(function(e,t,r,n,i){var a;for(a in r)"children"===a||"key"===a||a in t||rs(e,a,null,r[a],n);for(a in t)i&&"function"!=typeof t[a]||"children"===a||"key"===a||"value"===a||"checked"===a||r[a]===t[a]||rs(e,a,t[a],r[a],n)}(e,p,d,i,s),u)t.__k=[];else if(ri(e,Array.isArray(f=t.props.children)?f:[f],t,r,n,i&&"foreignObject"!==h,a,o,a?a[0]:r.__k&&rt(r,0),s),null!=a)for(f=a.length;f--;)null!=a[f]&&t3(a[f]);s||("value"in p&&void 0!==(f=p.value)&&(f!==e.value||"progress"===h&&!f||"option"===h&&f!==d.value)&&rs(e,"value",f,d.value,!1),"checked"in p&&void 0!==(f=p.checked)&&f!==e.checked&&rs(e,"checked",f,d.checked,!1))}return e}(r.__e,t,r,n,i,a,o,c);(l=tZ.diffed)&&l(t)}catch(e){t.__v=null,(c||null!=a)&&(t.__e=s,t.__h=!!c,a[a.indexOf(s)]=null),tZ.__e(e,t,r)}}function rd(e,t,r){try{"function"==typeof e?e(t):e.current=t}catch(e){tZ.__e(e,r)}}function rp(e,t,r){return this.constructor(e,r)}tQ=t6.slice,tZ={__e:function(e,t,r,n){for(var i,a,o;t=t.__;)if((i=t.__c)&&!i.__)try{if((a=i.constructor)&&null!=a.getDerivedStateFromError&&(i.setState(a.getDerivedStateFromError(e)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,n||{}),o=i.__d),o)return i.__E=i}catch(t){e=t}throw e}},t0=0,re.prototype.setState=function(e,t){var r;r=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=t4({},this.state),"function"==typeof e&&(e=e(t4({},r),this.props)),e&&t4(r,e),null!=e&&this.__v&&(t&&this._sb.push(t),rr(this))},re.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),rr(this))},re.prototype.render=t7,t1=[],rn.__r=0;var rh=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i,rf=/^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/,ry=/[\s\n\\/='"\0<>]/,rm=/^xlink:?./,rw=/["&<]/;function rg(e){if(!1===rw.test(e+=""))return e;for(var t=0,r=0,n="",i="";r<e.length;r++){switch(e.charCodeAt(r)){case 34:i=""";break;case 38:i="&";break;case 60:i="<";break;default:continue}r!==t&&(n+=e.slice(t,r)),n+=i,t=r+1}return r!==t&&(n+=e.slice(t,r)),n}var rb=function(e,t){return String(e).replace(/(\n+)/g,"$1"+(t||" "))},r_=function(e,t,r){return String(e).length>(t||40)||!r&&-1!==String(e).indexOf("\n")||-1!==String(e).indexOf("<")},rv={},rk=/([A-Z])/g;function rA(e){var t="";for(var r in e){var n=e[r];null!=n&&""!==n&&(t&&(t+=" "),t+="-"==r[0]?r:rv[r]||(rv[r]=r.replace(rk,"-$1").toLowerCase()),t="number"==typeof n&&!1===rh.test(r)?t+": "+n+"px;":t+": "+n+";")}return t||void 0}function rS(e,t){return Array.isArray(t)?t.reduce(rS,e):null!=t&&!1!==t&&e.push(t),e}function rE(){this.__d=!0}function rx(e,t){return{__v:e,context:t,props:e.props,setState:rE,force
1Update:rE,__d:!0,__h:[]}}function rT(e,t){var r=e.contextType,n=r&&t[r.__c];return null!=r?n?n.props.value:r.__:t}var rC=[],rU={shallow:!0};rR.render=rR;var rP=[];function rR(e,t,r){t=t||{};var n,i=tZ.__s;return tZ.__s=!0,n=r&&(r.pretty||r.voidElements||r.sortAttributes||r.shallow||r.allAttributes||r.xml||r.attributeHook)?function e(t,r,n,i,a,o){if(null==t||"boolean"==typeof t)return"";if("object"!=typeof t)return rg(t);var s=n.pretty,c=s&&"string"==typeof s?s:" ";if(Array.isArray(t)){for(var l="",u=0;u<t.length;u++)s&&u>0&&(l+="\n"),l+=e(t[u],r,n,i,a,o);return l}var d,p=t.type,h=t.props,f=!1;if("function"==typeof p){if(f=!0,!n.shallow||!i&&!1!==n.renderRootComponent){if(p===t7){var y=[];return rS(y,t.props.children),e(y,r,n,!1!==n.shallowHighOrder,a,o)}var m,w=t.__c=rx(t,r);tZ.__b&&tZ.__b(t);var g=tZ.__r;if(p.prototype&&"function"==typeof p.prototype.render){var b=rT(p,r);(w=t.__c=new p(h,b)).__v=t,w._dirty=w.__d=!0,w.props=h,null==w.state&&(w.state={}),null==w._nextState&&null==w.__s&&(w._nextState=w.__s=w.state),w.context=b,p.getDerivedStateFromProps?w.state=Object.assign({},w.state,p.getDerivedStateFromProps(w.props,w.state)):w.componentWillMount&&(w.componentWillMount(),w.state=w._nextState!==w.state?w._nextState:w.__s!==w.state?w.__s:w.state),g&&g(t),m=w.render(w.props,w.state,w.context)}else for(var _=rT(p,r),v=0;w.__d&&v++<25;)w.__d=!1,g&&g(t),m=p.call(t.__c,h,_);return w.getChildContext&&(r=Object.assign({},r,w.getChildContext())),tZ.diffed&&tZ.diffed(t),e(m,r,n,!1!==n.shallowHighOrder,a,o)}p=(d=p).displayName||d!==Function&&d.name||function(e){var t=(Function.prototype.toString.call(e).match(/^\s*function\s+([^( ]+)/)||"")[1];if(!t){for(var r=-1,n=rC.length;n--;)if(rC[n]===e){r=n;break}r<0&&(r=rC.push(e)-1),t="UnnamedComponent"+r}return t}(d)}var k,A,S="<"+p;if(h){var E=Object.keys(h);n&&!0===n.sortAttributes&&E.sort();for(var x=0;x<E.length;x++){var T=E[x],C=h[T];if("children"!==T){if(!ry.test(T)&&(n&&n.allAttributes||"key"!==T&&"ref"!==T&&"__self"!==T&&"__source"!==T)){if("defaultValue"===T)T="value";else if("defaultChecked"===T)T="checked";else if("defaultSelected"===T)T="selected";else if("className"===T){if(void 0!==h.class)continue;T="class"}else a&&rm.test(T)&&(T=T.toLowerCase().replace(/^xlink:?/,"xlink:"));if("htmlFor"===T){if(h.for)continue;T="for"}"style"===T&&C&&"object"==typeof C&&(C=rA(C)),"a"===T[0]&&"r"===T[1]&&"boolean"==typeof C&&(C=String(C));var U=n.attributeHook&&n.attributeHook(T,C,r,n,f);if(U||""===U)S+=U;else if("dangerouslySetInnerHTML"===T)A=C&&C.__html;else if("textarea"===p&&"value"===T)k=C;else if((C||0===C||""===C)&&"function"!=typeof C){if(!(!0!==C&&""!==C||(C=T,n&&n.xml))){S=S+" "+T;continue}if("value"===T){if("select"===p){o=C;continue}"option"===p&&o==C&&void 0===h.selected&&(S+=" selected")}S=S+" "+T+'="'+rg(C)+'"'}}}else k=C}}if(s){var P=S.replace(/\n\s*/," ");P===S||~P.indexOf("\n")?s&&~S.indexOf("\n")&&(S+="\n"):S=P}if(S+=">",ry.test(p))throw Error(p+" is not a valid HTML tag name in "+S);var R,O=rf.test(p)||n.voidElements&&n.voidElements.test(p),I=[];if(A)s&&r_(A)&&(A="\n"+c+rb(A,c)),S+=A;else if(null!=k&&rS(R=[],k).length){for(var H=s&&~S.indexOf("\n"),$=!1,W=0;W<R.length;W++){var D=R[W];if(null!=D&&!1!==D){var j=e(D,r,n,!0,"svg"===p||"foreignObject"!==p&&a,o);if(s&&!H&&r_(j)&&(H=!0),j){if(s){var K=j.length>0&&"<"!=j[0];$&&K?I[I.length-1]+=j:I.push(j),$=K}else I.push(j)}}}if(s&&H)for(var L=I.length;L--;)I[L]="\n"+c+rb(I[L],c)}if(I.length||A)S+=I.join("");else if(n&&n.xml)return S.substring(0,S.length-1)+" />";return!O||R||A?(s&&~S.indexOf("\n")&&(S+="\n"),S=S+"</"+p+">"):S=S.replace(/>$/," />"),S}(e,t,r):function e(t,r,n,i){if(null==t||!0===t||!1===t||""===t)return"";if("object"!=typeof t)return rg(t);if(rO(t)){for(var a="",o=0;o<t.length;o++)a+=e(t[o],r,n,i);return a}tZ.__b&&tZ.__b(t);var s=t.type,c=t.props;if("function"==typeof s){if(s===t7)return e(t.props.children,r,n,i);f=s.prototype&&"function"==typeof s.prototype.render?(l=r,d=rT(u=t.type,l),p=new u(t.props,d),t.__c=p,p.__v=t,p.__d=!0,p.props=t.props,null==p.state&&(p.state={}),null==p.__s&&(p.__s=p.state),p.context=d,u.getDerivedStateFromProps?p.state=rI({},p.state,u.getDerivedStateFromProps(p.props,p.state)):p.componentWillMount&&(p.componentWillMount(),p.state=p.__s!==p.state?p.__s:p.state),(h=tZ.__r)&&h(t),p.render(p.props,p.state,p.context)):function(e,t){var r,n=rx(e,t),i=rT(e.type,t);e.__c=n;for(var a=tZ.__r,o=0;n.__d&&o++<25;)n.__d=!1,a&&a(e),r=e.type.call(n,e.props,i);return r}(t,r);
1var l,u,d,p,h,f,y=t.__c;y.getChildContext&&(r=rI({},r,y.getChildContext()));var m=e(f,r,n,i);return tZ.diffed&&tZ.diffed(t),m}var w,g,b="<";if(b+=s,c)for(var _ in w=c.children,c){var v,k,A,S=c[_];if(!("key"===_||"ref"===_||"__self"===_||"__source"===_||"children"===_||"className"===_&&"class"in c||"htmlFor"===_&&"for"in c||ry.test(_))){if(k=_="className"===(v=_)?"class":"htmlFor"===v?"for":"defaultValue"===v?"value":"defaultChecked"===v?"checked":"defaultSelected"===v?"selected":n&&rm.test(v)?v.toLowerCase().replace(/^xlink:?/,"xlink:"):v,A=S,S="style"===k&&null!=A&&"object"==typeof A?rA(A):"a"===k[0]&&"r"===k[1]&&"boolean"==typeof A?String(A):A,"dangerouslySetInnerHTML"===_)g=S&&S.__html;else if("textarea"===s&&"value"===_)w=S;else if((S||0===S||""===S)&&"function"!=typeof S){if(!0===S||""===S){S=_,b=b+" "+_;continue}if("value"===_){if("select"===s){i=S;continue}"option"!==s||i!=S||"selected"in c||(b+=" selected")}b=b+" "+_+'="'+rg(S)+'"'}}}var E=b;if(b+=">",ry.test(s))throw Error(s+" is not a valid HTML tag name in "+b);var x="",T=!1;if(g)x+=g,T=!0;else if("string"==typeof w)x+=rg(w),T=!0;else if(rO(w))for(var C=0;C<w.length;C++){var U=w[C];if(null!=U&&!1!==U){var P=e(U,r,"svg"===s||"foreignObject"!==s&&n,i);P&&(x+=P,T=!0)}}else if(null!=w&&!1!==w&&!0!==w){var R=e(w,r,"svg"===s||"foreignObject"!==s&&n,i);R&&(x+=R,T=!0)}if(tZ.diffed&&tZ.diffed(t),T)b+=x;else if(rf.test(s))return E+" />";return b+"</"+s+">"}(e,t,!1,void 0),tZ.__c&&tZ.__c(e,rP),tZ.__s=i,rP.length=0,n}var rO=Array.isArray,rI=Object.assign;rR.shallowRender=function(e,t){return rR(e,t,rU)};var rH=0;function r$(e,t,r,n,i){var a,o,s={};for(o in t)"ref"==o?a=t[o]:s[o]=t[o];var c={type:e,props:s,key:r,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--rH,__source:i,__self:n};if("function"==typeof e&&(a=e.defaultProps))for(o in a)void 0===s[o]&&(s[o]=a[o]);return tZ.vnode&&tZ.vnode(c),c}async function rW(e,t){let r=window.SimpleWebAuthnBrowser;async function n(r){let n=new URL(`${e}/webauthn-options/${t}`);r&&n.searchParams.append("action",r),a().forEach(e=>{n.searchParams.append(e.name,e.value)});let i=await fetch(n);if(!i.ok){console.error("Failed to fetch options",i);return}return i.json()}function i(){let e=`#${t}-form`,r=document.querySelector(e);if(!r)throw Error(`Form '${e}' not found`);return r}function a(){return Array.from(i().querySelectorAll("input[data-form-field]"))}async function o(e,t){let r=i();if(e){let t=document.createElement("input");t.type="hidden",t.name="action",t.value=e,r.appendChild(t)}if(t){let e=document.createElement("input");e.type="hidden",e.name="data",e.value=JSON.stringify(t),r.appendChild(e)}return r.submit()}async function s(e,t){let n=await r.startAuthentication(e,t);return await o("authenticate",n)}async function c(e){a().forEach(e=>{if(e.required&&!e.value)throw Error(`Missing required field: ${e.name}`)});let t=await r.startRegistration(e);return await o("register",t)}async function l(){if(!r.browserSupportsWebAuthnAutofill())return;let e=await n("authenticate");if(!e){console.error("Failed to fetch option for autofill authentication");return}try{await s(e.options,!0)}catch(e){console.error(e)}}(async function(){let e=i();if(!r.browserSupportsWebAuthn()){e.style.display="none";return}e&&e.addEventListener("submit",async e=>{e.preventDefault();let t=await n(void 0);if(!t){console.error("Failed to fetch options for form submission");return}if("authenticate"===t.action)try{await s(t.options,!1)}catch(e){console.error(e)}else if("register"===t.action)try{await c(t.options)}catch(e){console.error(e)}})})(),l()}let rD={default:"Unable to sign in.",Signin:"Try signing in with a different account.",OAuthSignin:"Try signing in with a different account.",OAuthCallbackError:"Try signing in with a different account.",OAuthCreateAccount:"Try signing in with a different account.",EmailCreateAccount:"Try signing in with a different account.",Callback:"Try signing in with a different account.",OAuthAccountNotLinked:"To confirm your identity, sign in with the same account you used originally.",EmailSignin:"The e-mail could not be sent.",CredentialsSignin:"Sign in failed. Check the details you provided are correct.",SessionRequired:"Please sign in to access this page."};var rj=`:root { 2 --border-width: 1px; 3 --border-radius: 0.5rem; 4 --color-error: #c94b4b; 5 --color-info: #157efb; 6 --color-info-hover: #0f6ddb; 7 --color-info-text: #fff; 8} 9 10.__next-auth-theme-auto, 11.__next-auth-theme-light { 12 --color-background: #ececec; 13 --color-background-hover: rgba(236, 236, 236, 0.8); 14 --color-background-card: #fff; 15 --color-text: #000; 16 --color-primary: #444; 17 --color-control-border: #bbb; 18 --color-button-active-background: #f9f9f9; 19 --color-button-active-border: #aaa; 20 --color-separator: #ccc; 21} 22 23.__next-auth-theme-dark { 24 --color-background: #161b22; 25 --color-background-hover: rgba(22, 27, 34, 0.8); 26 --color-background-card: #0d1117; 27 --color-text: #fff; 28 --color-primary: #ccc; 29 --color-control-border: #555; 30 --color-button-active-background: #060606; 31 --color-button-active-border: #666; 32 --color-separator: #444; 33} 34 35@media (prefers-color-scheme: dark) { 36 .__next-auth-theme-auto { 37 --color-background: #161b22; 38 --color-background-hover: rgba(22, 27, 34, 0.8); 39 --color-background-card: #0d1117; 40 --color-text: #fff; 41 --color-primary: #ccc; 42 --color-control-border: #555; 43 --color-button-active-background: #060606; 44 --color-button-active-border: #666; 45 --color-separator: #444; 46 } 47 48 button, 49 a.button { 50 color: var(--provider-dark-color, var(--color-primary)) !important; 51 background-color: var( 52 --provider-dark-bg, 53 var(--color-background) 54 ) !important; 55 } 56 57 :is(button,a.button):hover { 58 background-color: var( 59 --provider-dark-bg-hover, 60 var(--color-background-hover) 61 ) !important; 62 } 63 64 :is(button,a.button) span { 65 color: var(--provider-dark-bg) !important; 66 } 67} 68 69html { 70 box-sizing: border-box; 71} 72 73*, 74*:before, 75*:after { 76 box-sizing: inherit; 77 margin: 0; 78 padding: 0; 79} 80 81body { 82 background-color: var(--color-background); 83 margin: 0; 84 padding: 0; 85 font-family: 86 ui-sans-serif, 87 system-ui, 88 -apple-system, 89 BlinkMacSystemFont, 90 "Segoe UI", 91 Roboto, 92 "Helvetica Neue", 93 Arial, 94 "Noto Sans", 95 sans-serif, 96 "Apple Color Emoji", 97 "Segoe UI Emoji", 98 "Segoe UI Symbol", 99 "Noto Color Emoji"; 100} 101 102h1 { 103 margin-bottom: 1.5rem; 104 padding: 0 1rem; 105 font-weight: 400; 106 color: var(--color-text); 107} 108 109p { 110 margin-bottom: 1.5rem; 111 padding: 0 1rem; 112 color: var(--color-text); 113} 114 115form { 116 margin: 0; 117 padding: 0; 118} 119 120label { 121 font-weight: 500; 122 text-align: left; 123 margin-bottom: 0.25rem; 124 display: block; 125 color: var(--color-text); 126} 127 128input[type] { 129 box-sizing: border-box; 130 display: block; 131 width: 100%; 132 padding: 0.5rem 1rem; 133 border: var(--border-width) solid var(--color-control-border); 134 background: var(--color-background-card); 135 font-size: 1rem; 136 border-radius: var(--border-radius); 137 color: var(--color-text); 138} 139 140p { 141 font-size: 1.1rem; 142 line-height: 2rem; 143} 144 145a.button { 146 text-decoration: none; 147 line-height: 1rem; 148} 149 150a.button:link, 151 a.button:visited { 152 background-color: var(--color-background); 153 color: var(--color-primary); 154 } 155 156button, 157a.button { 158 padding: 0.75rem 1rem; 159 color: var(--provider-color, var(--color-primary)); 160 background-color: var(--provider-bg, var(--color-background)); 161 border: 1px solid #00000031; 162 font-size: 0.9rem; 163 height: 50px; 164 border-radius: var(--border-radius); 165 transition: background-color 250ms ease-in-out; 166 font-weight: 300; 167 position: relative; 168 display: flex; 169 align-items: center; 170 justify-content: space-between; 171} 172 173:is(button,a.button):hover { 174 background-color: var(--provider-bg-hover, var(--color-background-hover)); 175 cursor: pointer; 176 } 177 178:is(button,a.button):active { 179 cursor: pointer; 180 } 181 182:is(button,a.button) span { 183 color: #fff; 184 } 185 186#submitButton { 187 color: var(--button-text-color, var(--color-info-text)); 188 background-color: var(--brand-color, var(--color-info)); 189 width: 100%; 190} 191 192#submitButton:hover { 193 background-color: var( 194 --button-hover-bg, 195 var(--color-info-hover) 196 ) !important; 197 } 198 199a.site { 200 color: var(--color-primary); 201 text-decoration: none; 202 font-size: 1rem; 203 line-height: 2rem; 204} 205 206a.site:hover { 207 text-decoration: underline; 208 } 209 210.page { 211 position: absolute; 212 width: 100%; 213 height: 100%; 214 display: grid; 215 place-items: center; 216 margin: 0; 217 padding: 0; 218 box-sizing: border-box; 219} 220 221.page > div { 222 text-align: center; 223 } 224 225.error a.button { 226 padding-left: 2rem; 227 padding-right: 2rem; 228 margin-top: 0.5rem; 229 } 230 231.error .message { 232 margin-bottom: 1.5rem; 233 } 234 235.signin input[type="text"] { 236 margin-left: auto; 237 margin-right: auto; 238 display: block; 239 } 240 241.signin hr { 242 display: block; 243 border: 0; 244 border-top: 1px solid var(--color-separator); 245 margin: 2rem auto 1rem auto; 246 overflow: visible; 247 } 248 249.signin hr::before { 250 content: "or"; 251 background: var(--color-background-card); 252 color: #888; 253 padding: 0 0.4rem; 254 position: relative; 255 top: -0.7rem; 256 } 257 258.signin .error { 259 background: #f5f5f5; 260 font-weight: 500; 261 border-radius: 0.3rem; 262 background: var(--color-error); 263 } 264 265.signin .error p { 266 text-align: left; 267 padding: 0.5rem 1rem; 268 font-size: 0.9rem; 269 line-height: 1.2rem; 270 color: var(--color-info-text); 271 } 272 273.signin > div, 274 .signin form { 275 display: block; 276 } 277 278.signin > div input[type], .signin form input[type] { 279 margin-bottom: 0.5rem; 280 } 281 282.signin > div button, .signin form button { 283 width: 100%; 284 } 285 286.signin .provider + .provider { 287 margin-top: 1rem; 288 } 289 290.logo { 291 display: inline-block; 292 max-width: 150px; 293 margin: 1.25rem 0; 294 max-height: 70px; 295} 296 297.card { 298 background-color: var(--color-background-card); 299 border-radius: 1rem; 300 padding: 1.25rem 2rem; 301} 302 303.card .header { 304 color: var(--color-primary); 305 } 306 307.card input[type]::-moz-placeholder { 308 color: color-mix( 309 in srgb, 310 var(--color-text) 20%, 311 var(--color-button-active-background) 312 ); 313 } 314 315.card input[type]::placeholder { 316 color: color-mix( 317 in srgb, 318 var(--color-text) 20%, 319 var(--color-button-active-background) 320 ); 321 } 322 323.card input[type] { 324 background: color-mix(in srgb, var(--color-background-card) 95%, black); 325 } 326 327.section-header { 328 color: var(--color-text); 329} 330 331@media screen and (min-width: 450px) { 332 .card { 333 margin: 2rem 0; 334 width: 368px; 335 } 336} 337 338@media screen and (max-width: 450px) { 339 .card { 340 margin: 1rem 0; 341 width: 343px; 342 } 343} 344`;function rK({html:e,title:t,status:r,cookies:n,theme:i,headTags:a}){return{cookies:n,status:r,headers:{"Content-Type":"text/html"},body:`<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>${rj}</style><title>${t}</title>${a??""}</head><body class="__next-auth-theme-${i?.colorScheme??"auto"}"><div class="page">${rR(e)}</div></body></html>`}}function rL(e){let{url:t,theme:r,query:n,cookies:i,pages:a,providers:o}=e;return{csrf:(e,t,r)=>e?(t.logger.warn("csrf-disabled"),r.push({name:t.cookies.csrfToken.name,value:"",options:{...t.cookies.csrfToken.options,maxAge:0}}),{status:404,cookies:r}):{headers:{"Content-Type":"application/json"},body:{csrfToken:t.csrfToken},cookies:r},providers:e=>({headers:{"Content-Type":"application/json"},body:e.reduce((e,{id:t,name:r,type:n,signinUrl:i,callbackUrl:a})=>(e[t]={id:t,name:r,type:n,signinUrl:i,callbackUrl:a},e),{})}),signin(t,s){if(t)throw new p.D7("Unsupported action");if(a?.signIn){let t=`${a.signIn}${a.signIn.includes("?")?"&":"?"}${new URLSearchParams({callbackUrl:e.callbackUrl??"/"})}`;return s&&(t=`${t}&${new URLSearchParams({error:s})}`),{redirect:t,cookies:i}}let c=o?.find(e=>"webauthn"===e.type&&e.enableConditionalUI&&!!e.simpleWebAuthnBrowserVersion),l="";if(c){let{simpleWebAuthnBrowserVersion:e}=c;l=`<script src="https://unpkg.com/@simplewebauthn/browser@${e}/dist/bundle/index.umd.min.js" crossorigin="anonymous"></script>`}return rK({cookies:i,theme:r,html:function(e){let{csrfToken:t,providers:r=[],callbackUrl:n,theme:i,email:a,error:o}=e;"undefined"!=typeof document&&i?.brandColor&&document.documentElement.style.setProperty("--brand-color",i.brandColor),"undefined"!=typeof document&&i?.buttonText&&document.documentElement.style.setProperty("--button-text-color",i.buttonText);let s=o&&(rD[o]??rD.default),c=r.find(e=>"webauthn"===e.type&&e.enableConditionalUI)?.id;return r$("div",{className:"signin",children:[i?.brandColor&&r$("style",{dangerouslySetInnerHTML:{__html:`:root {--brand-color: ${i.brandColor}}`}}),i?.buttonText&&r$("style",{dangerouslySetInnerHTML:{__html:` 345 :root { 346 --button-text-color: ${i.buttonText} 347 } 348 `}}),r$("div",{className:"card",children:[s&&r$("div",{className:"error",children:r$("p",{children:s})}),i?.logo&&r$("img",{src:i.logo,alt:"Logo",className:"logo"}),r.map((e,i)=>{let o,s,c;("oauth"===e.type||"oidc"===e.type)&&({bg:o="#fff",brandColor:s,logo:c=`https://authjs.dev/img/providers/${e.id}.svg`}=e.style??{});let l=s??o??"#fff";return r$("div",{className:"provider",children:["oauth"===e.type||"oidc"===e.type?r$("form",{action:e.signinUrl,method:"POST",children:[r$("input",{type:"hidden",name:"csrfToken",value:t}),n&&r$("input",{type:"hidden",name:"callbackUrl",value:n}),r$("button",{type:"submit",className:"button",style:{"--provider-bg":"#fff","--provider-bg-hover":`color-mix(in srgb, ${l} 30%, #fff)`,"--provider-dark-bg":"#161b22","--provider-dark-bg-hover":`color-mix(in srgb, ${l} 30%, #000)`},tabIndex:0,children:[r$("span",{style:{filter:"invert(1) grayscale(1) brightness(1.3) contrast(9000)","mix-blend-mode":"luminosity",opacity:.95},children:["Sign in with ",e.name]}),c&&r$("img",{loading:"lazy",height:24,src:c})]})]}):null,("email"===e.type||"credentials"===e.type||"webauthn"===e.type)&&i>
3480&&"email"!==r[i-1].type&&"credentials"!==r[i-1].type&&"webauthn"!==r[i-1].type&&r$("hr",{}),"email"===e.type&&r$("form",{action:e.signinUrl,method:"POST",children:[r$("input",{type:"hidden",name:"csrfToken",value:t}),r$("label",{className:"section-header",htmlFor:`input-email-for-${e.id}-provider`,children:"Email"}),r$("input",{id:`input-email-for-${e.id}-provider`,autoFocus:!0,type:"email",name:"email",value:a,placeholder:"[email protected]",required:!0}),r$("button",{id:"submitButton",type:"submit",tabIndex:0,children:["Sign in with ",e.name]})]}),"credentials"===e.type&&r$("form",{action:e.callbackUrl,method:"POST",children:[r$("input",{type:"hidden",name:"csrfToken",value:t}),Object.keys(e.credentials).map(t=>r$("div",{children:[r$("label",{className:"section-header",htmlFor:`input-${t}-for-${e.id}-provider`,children:e.credentials[t].label??t}),r$("input",{name:t,id:`input-${t}-for-${e.id}-provider`,type:e.credentials[t].type??"text",placeholder:e.credentials[t].placeholder??"",...e.credentials[t]})]},`input-group-${e.id}`)),r$("button",{id:"submitButton",type:"submit",tabIndex:0,children:["Sign in with ",e.name]})]}),"webauthn"===e.type&&r$("form",{action:e.callbackUrl,method:"POST",id:`${e.id}-form`,children:[r$("input",{type:"hidden",name:"csrfToken",value:t}),Object.keys(e.formFields).map(t=>r$("div",{children:[r$("label",{className:"section-header",htmlFor:`input-${t}-for-${e.id}-provider`,children:e.formFields[t].label??t}),r$("input",{name:t,"data-form-field":!0,id:`input-${t}-for-${e.id}-provider`,type:e.formFields[t].type??"text",placeholder:e.formFields[t].placeholder??"",...e.formFields[t]})]},`input-group-${e.id}`)),r$("button",{id:`submitButton-${e.id}`,type:"submit",tabIndex:0,children:["Sign in with ",e.name]})]}),("email"===e.type||"credentials"===e.type||"webauthn"===e.type)&&i+1<r.length&&r$("hr",{})]},e.id)})]}),c&&r$(t7,{children:r$("script",{dangerouslySetInnerHTML:{__html:` 349const currentURL = window.location.href; 350const authURL = currentURL.substring(0, currentURL.lastIndexOf('/')); 351(${rW})(authURL, "${c}"); 352`}})})]})}({csrfToken:e.csrfToken,providers:e.providers?.filter(e=>["email","oauth","oidc"].includes(e.type)||"credentials"===e.type&&e.credentials||"webauthn"===e.type&&e.formFields||!1),callbackUrl:e.callbackUrl,theme:e.theme,error:s,...n}),title:"Sign In",headTags:l})},signout:()=>a?.signOut?{redirect:a.signOut,cookies:i}:rK({cookies:i,theme:r,html:function(e){let{url:t,csrfToken:r,theme:n}=e;return r$("div",{className:"signout",children:[n?.brandColor&&r$("style",{dangerouslySetInnerHTML:{__html:` 353 :root { 354 --brand-color: ${n.brandColor} 355 } 356 `}}),n?.buttonText&&r$("style",{dangerouslySetInnerHTML:{__html:` 357 :root { 358 --button-text-color: ${n.buttonText} 359 } 360 `}}),r$("div",{className:"card",children:[n?.logo&&r$("img",{src:n.logo,alt:"Logo",className:"logo"}),r$("h1",{children:"Signout"}),r$("p",{children:"Are you sure you want to sign out?"}),r$("form",{action:t?.toString(),method:"POST",children:[r$("input",{type:"hidden",name:"csrfToken",value:r}),r$("button",{id:"submitButton",type:"submit",children:"Sign out"})]})]})]})}({csrfToken:e.csrfToken,url:t,theme:r}),title:"Sign Out"}),verifyRequest:e=>a?.verifyRequest?{redirect:a.verifyRequest,cookies:i}:rK({cookies:i,theme:r,html:function(e){let{url:t,theme:r}=e;return r$("div",{className:"verify-request",children:[r.brandColor&&r$("style",{dangerouslySetInnerHTML:{__html:` 361 :root { 362 --brand-color: ${r.brandColor} 363 } 364 `}}),r$("div",{className:"card",children:[r.logo&&r$("img",{src:r.logo,alt:"Logo",className:"logo"}),r$("h1",{children:"Check your email"}),r$("p",{children:"A sign in link has been sent to your email address."}),r$("p",{children:r$("a",{className:"site",href:t.origin,children:t.host})})]})]})}({url:t,theme:r,...e}),title:"Verify Request"}),error:e=>a?.error?{redirect:`${a.error}${a.error.includes("?")?"&":"?"}error=${e}`,cookies:i}:rK({cookies:i,theme:r,...function(e){let{url:t,error:r="default",theme:n}=e,i=`${t}/signin`,a={default:{status:200,heading:"Error",message:r$("p",{children:r$("a",{className:"site",href:t?.origin,children:t?.host})})},Configuration:{status:500,heading:"Server error",message:r$("div",{children:[r$("p",{children:"There is a problem with the server configuration."}),r$("p",{children:"Check the server logs for more information."})]})},AccessDenied:{status:403,heading:"Access Denied",message:r$("div",{children:[r$("p",{children:"You do not have permission to sign in."}),r$("p",{children:r$("a",{className:"button",href:i,children:"Sign in"})})]})},Verification:{status:403,heading:"Unable to sign in",message:r$("div",{children:[r$("p",{children:"The sign in link is no longer valid."}),r$("p",{children:"It may have been used already or it may have expired."})]}),signin:r$("a",{className:"button",href:i,children:"Sign in"})}},{status:o,heading:s,message:c,signin:l}=a[r]??a.default;return{status:o,html:r$("div",{className:"error",children:[n?.brandColor&&r$("style",{dangerouslySetInnerHTML:{__html:` 365 :root { 366 --brand-color: ${n?.brandColor} 367 } 368 `}}),r$("div",{className:"card",children:[n?.logo&&r$("img",{src:n?.logo,alt:"Logo",className:"logo"}),r$("h1",{children:s}),r$("div",{className:"message",children:c}),l]})]})}}({url:t,theme:r,error:e}),title:"Error"})}}
368function rJ(e,t=Date.now()){return new Date(t+1e3*e)}async function rN(e,t,r,n){if(!r?.providerAccountId||!r.type)throw Error("Missing or invalid provider account");if(!["email","oauth","oidc","webauthn"].includes(r.type))throw Error("Provider not supported");let{adapter:i,jwt:a,events:o,session:{strategy:s,generateSessionToken:c}}=n;if(!i)return{user:t,account:r};let l=r,{createUser:u,updateUser:d,getUser:h,getUserByAccount:f,getUserByEmail:y,linkAccount:m,createSession:w,getSessionAndUser:g,deleteSession:b}=i,_=null,v=null,k=!1,A="jwt"===s;if(e){if(A)try{let t=n.cookies.sessionToken.name;(_=await a.decode({...a,token:e,salt:t}))&&"sub"in _&&_.sub&&(v=await h(_.sub))}catch{}else{let t=await g(e);t&&(_=t.session,v=t.user)}}if("email"===l.type){let r=await y(t.email);return r?(v?.id!==r.id&&!A&&e&&await b(e),v=await d({id:r.id,emailVerified:new Date}),await o.updateUser?.({user:v})):(v=await u({...t,emailVerified:new Date}),await o.createUser?.({user:v}),k=!0),{session:_=A?{}:await w({sessionToken:c(),userId:v.id,expires:rJ(n.session.maxAge)}),user:v,isNewUser:k}}if("webauthn"===l.type){let e=await f({providerAccountId:l.providerAccountId,provider:l.provider});if(e){if(v){if(e.id===v.id){let e={...l,userId:v.id};return{session:_,user:v,isNewUser:k,account:e}}throw new p.FW("The account is already associated with another user",{provider:l.provider})}_=A?{}:await w({sessionToken:c(),userId:e.id,expires:rJ(n.session.maxAge)});let t={...l,userId:e.id};return{session:_,user:e,isNewUser:k,account:t}}{if(v){await m({...l,userId:v.id}),await o.linkAccount?.({user:v,account:l,profile:t});let e={...l,userId:v.id};return{session:_,user:v,isNewUser:k,account:e}}if(t.email?await y(t.email):null)throw new p.FW("Another account already exists with the same e-mail address",{provider:l.provider});v=await u({...t}),await o.createUser?.({user:v}),await m({...l,userId:v.id}),await o.linkAccount?.({user:v,account:l,profile:t}),_=A?{}:await w({sessionToken:c(),userId:v.id,expires:rJ(n.session.maxAge)});let e={...l,userId:v.id};return{session:_,user:v,isNewUser:!0,account:e}}}let S=await f({providerAccountId:l.providerAccountId,provider:l.provider});if(S){if(v){if(S.id===v.id)return{session:_,user:v,isNewUser:k};throw new p.Xw("The account is already associated with another user",{provider:l.provider})}return{session:_=A?{}:await w({sessionToken:c(),userId:S.id,expires:rJ(n.session.maxAge)}),user:S,isNewUser:k}}{let{provider:e}=n,{type:r,provider:i,providerAccountId:a,userId:s,...d}=l;if(l=Object.assign(e.account(d)??{},{providerAccountId:a,provider:i,type:r,userId:s}),v)return await m({...l,userId:v.id}),await o.linkAccount?.({user:v,account:l,profile:t}),{session:_,user:v,isNewUser:k};let h=t.email?await y(t.email):null;if(h){let e=n.provider;if(e?.allowDangerousEmailAccountLinking)v=h,k=!1;else throw new p.Xw("Another account already exists with the same e-mail address",{provider:l.provider})}else v=await u({...t,emailVerified:null}),k=!0;return await o.createUser?.({user:v}),await m({...l,userId:v.id}),await o.linkAccount?.({user:v,account:l,profile:t}),{session:_=A?{}:await w({sessionToken:c(),userId:v.id,expires:rJ(n.session.maxAge)}),user:v,isNewUser:k}}}function rM(e,t){if(null==e)return!1;try{return e instanceof t||Object.getPrototypeOf(e)[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}catch{return!1}}"undefined"!=typeof navigator&&navigator.userAgent?.startsWith?.("Mozilla/5.0 ")||(a="oauth4webapi/v3.5.2");let rB="ERR_INVALID_ARG_VALUE",rF="ERR_INVALID_ARG_TYPE";function rz(e,t,r){let n=TypeError(e,{cause:r});return Object.assign(n,{code:t}),n}let rV=Symbol(),rq=Symbol(),rG=Symbol(),rX=Symbol(),rY=Symbol(),rQ=Symbol();Symbol();let rZ=new TextEncoder,r0=new TextDecoder;function r1(e){return"string"==typeof e?rZ.encode(e):r0.decode(e)}function r2(e){return"string"==typeof e?s(e):o(e)}Uint8Array.prototype.toBase64?o=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:"base64url",omitPadding:!0})):o=e=>{e instanceof ArrayBuffer&&(e=new Uint8Array(e));let t=[];for(let r=0;r<e.byteLength;r+=32768)t.push(String.fromCharCode.apply(null,e.subarray(r,r+32768)));return btoa(t.join("")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},Uint8Array.fromBase64?s=e=>{try{return Uint8Array.fromBase64(e,{alphabet:"base64url"})}catch(e){throw rz("The input to be decoded is not correctly encoded.",rB,e)}}:s=e=>{try{let t=atob(e.replace(/-/g,"+").replace(/_/g,"/").replace(/\s/g,"")),r=new
368Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r}catch(e){throw rz("The input to be decoded is not correctly encoded.",rB,e)}};class r5 extends Error{code;constructor(e,t){super(e,t),this.name=this.constructor.name,this.code=n5,Error.captureStackTrace?.(this,this.constructor)}}class r6 extends Error{code;constructor(e,t){super(e,t),this.name=this.constructor.name,t?.code&&(this.code=t?.code),Error.captureStackTrace?.(this,this.constructor)}}function r8(e,t,r){return new r6(e,{code:t,cause:r})}function r4(e){return!(null===e||"object"!=typeof e||Array.isArray(e))}function r3(e){rM(e,Headers)&&(e=Object.fromEntries(e.entries()));let t=new Headers(e);if(a&&!t.has("user-agent")&&t.set("user-agent",a),t.has("authorization"))throw rz('"options.headers" must not include the "authorization" header name',rB);return t}function r9(e){if("function"==typeof e&&(e=e()),!(e instanceof AbortSignal))throw rz('"options.signal" must return or be an instance of AbortSignal',rF);return e}function r7(e){return e.includes("//")?e.replace("//","/"):e}async function ne(e,t,r,n){if(!(e instanceof URL))throw rz(`"${t}" must be an instance of URL`,rF);nm(e,n?.[rV]!==!0);let i=r(new URL(e.href)),a=r3(n?.headers);return a.set("accept","application/json"),(n?.[rX]||fetch)(i.href,{body:void 0,headers:Object.fromEntries(a.entries()),method:"GET",redirect:"manual",signal:n?.signal?r9(n.signal):void 0})}async function nt(e,t){return ne(e,"issuerIdentifier",e=>{var r;switch(t?.algorithm){case void 0:case"oidc":e.pathname=r7(`${e.pathname}/.well-known/openid-configuration`);break;case"oauth2":r=".well-known/oauth-authorization-server","/"===e.pathname?e.pathname=r:e.pathname=r7(`${r}/${e.pathname}`);break;default:throw rz('"options.algorithm" must be "oidc" (default), or "oauth2"',rB)}return e},t)}function nr(e,t,r,n,i){try{if("number"!=typeof e||!Number.isFinite(e))throw rz(`${r} must be a number`,rF,i);if(e>0)return;if(t){if(0!==e)throw rz(`${r} must be a non-negative number`,rB,i);return}throw rz(`${r} must be a positive number`,rB,i)}catch(e){if(n)throw r8(e.message,n,i);throw e}}function nn(e,t,r,n){try{if("string"!=typeof e)throw rz(`${t} must be a string`,rF,n);if(0===e.length)throw rz(`${t} must not be empty`,rB,n)}catch(e){if(r)throw r8(e.message,r,n);throw e}}async function ni(e,t){if(!(e instanceof URL)&&e!==ig)throw rz('"expectedIssuerIdentifier" must be an instance of URL',rF);if(!rM(t,Response))throw rz('"response" must be an instance of Response',rF);if(200!==t.status)throw r8('"response" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',n7,t);ic(t);let r=await im(t);if(nn(r.issuer,'"response" body "issuer" property',n3,{body:r}),e!==ig&&new URL(r.issuer).href!==e.href)throw r8('"response" body "issuer" property does not match the expected value',ia,{expected:e.href,body:r,attribute:"issuer"});return r}function na(e){!function(e,t){if(nI(e)!==t)throw function(e,...t){let r='"response" content-type must be ';if(t.length>2){let e=t.pop();r+=`${t.join(", ")}, or ${e}`}else 2===t.length?r+=`${t[0]} or ${t[1]}`:r+=t[0];return r8(r,n9,e)}(e,t)}(e,"application/json")}function no(){return r2(crypto.getRandomValues(new Uint8Array(32)))}async function ns(e){return nn(e,"codeVerifier"),r2(await crypto.subtle.digest("SHA-256",r1(e)))}function nc(e){let t=e?.[rq];return"number"==typeof t&&Number.isFinite(t)?t:0}function nl(e){let t=e?.[rG];return"number"==typeof t&&Number.isFinite(t)&&-1!==Math.sign(t)?t:30}function nu(){return Math.floor(Date.now()/1e3)}function nd(e){if("object"!=typeof e||null===e)throw rz('"as" must be an object',rF);nn(e.issuer,'"as.issuer"')}function np(e){if("object"!=typeof e||null===e)throw rz('"client" must be an object',rF);nn(e.client_id,'"client.client_id"')}function nh(e,t){let r=nu()+nc(t);return{jti:no(),aud:e.issuer,exp:r+60,iat:r,nbf:r,iss:t.client_id,sub:t.client_id}}async function nf(e,t,r){if(!r.usages.includes("sign"))throw rz('CryptoKey instances used for signing assertions must include "sign" in their "usages"',rB);let n=`${r2(r1(JSON.stringify(e)))}.${r2(r1(JSON.stringify(t)))}`,i=r2(await crypto.subtle.sign(function(e){switch(e.algorithm.name){case"ECDSA":return{name:e.algorithm.name,hash:function(e){let{algorithm:t}=e;switch(t.namedCurve){case"P-256":return"SHA-256";case"P-384":return"SHA-384";case"P-521":return"SHA-512";default:throw new r5("unsupported ECDSA namedCurve",{cause:e})}}(e)};case"RSA-PSS":switch(il(e),e.algorithm.hash.name){case"SHA-256":case"SHA-384":case"SHA-512":return{name:e.algorithm.name,saltLength:parseInt(e.algorithm.hash.name.slice(-3),10)>>3};default:throw new r5("unsupported RSA-PSS hash name",{cause:e})}case"RSASSA-PKCS1-v1_5":return il(e),e.algorithm.name;case"Ed25519":return e.algorithm.name}throw new r5("unsupported CryptoKey algorithm name",{cause:e})}(r),r,r1(n)));return`${n}.${i}`}let ny=URL.parse?(e,t)=>URL.parse(e,t):(e,t)=>{try{return new URL(e,t)}catch{return null}};function nm(e,t){if(t&&"https:"!==e.protocol)throw r8("only requests to HTTPS are allowed",ie,e);if("https:"!==e.protocol&&"http:"!==e.protocol)throw r8("only HTTP and HTTPS requests are allowed",it,e)}function nw(e,t,r,n){let i;if("string"!=typeof e||!(i=ny(e)))throw r8(`authorization server metadata does not contain a valid ${r?`"as.mtls_endpoint_aliases.${t}"`:`"as.${t}"`}`,void 0===e?io:is,{attribute:r?`mtls_endpoint_aliases.${t}`:t});return nm(i,n),i}function ng(e,t,r,n){return r&&e.mtls_endpoint_aliases&&t in e.mtls_endpoint_aliases?nw(e.mtls_endpoint_aliases[t],t,r,n):nw(e[t],t,r,n)}
368class nb extends Error{cause;code;error;status;error_description;response;constructor(e,t){super(e,t),this.name=this.constructor.name,this.code=n2,this.cause=t.cause,this.error=t.cause.error,this.status=t.response.status,this.error_description=t.cause.error_description,Object.defineProperty(this,"response",{enumerable:!1,value:t.response}),Error.captureStackTrace?.(this,this.constructor)}}class n_ extends Error{cause;code;error;error_description;constructor(e,t){super(e,t),this.name=this.constructor.name,this.code=n6,this.cause=t.cause,this.error=t.cause.get("error"),this.error_description=t.cause.get("error_description")??void 0,Error.captureStackTrace?.(this,this.constructor)}}class nv extends Error{cause;code;response;status;constructor(e,t){super(e,t),this.name=this.constructor.name,this.code=n1,this.cause=t.cause,this.status=t.response.status,this.response=t.response,Object.defineProperty(this,"response",{enumerable:!1}),Error.captureStackTrace?.(this,this.constructor)}}let nk="[a-zA-Z0-9!#$%&\\'\\*\\+\\-\\.\\^_`\\|~]+",nA=RegExp("^[,\\s]*("+nk+")\\s(.*)"),nS=RegExp("^[,\\s]*("+nk+')\\s*=\\s*"((?:[^"\\\\]|\\\\.)*)"[,\\s]*(.*)'),nE=RegExp("^[,\\s]*("+nk+")\\s*=\\s*("+nk+")[,\\s]*(.*)"),nx=RegExp("^([a-zA-Z0-9\\-\\._\\~\\+\\/]+[=]{0,2})(?:$|[,\\s])(.*)");async function nT(e){if(e.status>399&&e.status<500){ic(e),na(e);try{let t=await e.clone().json();if(r4(t)&&"string"==typeof t.error&&t.error.length)return t}catch{}}}async function nC(e,t,r){if(e.status!==t){let t;if(t=await nT(e))throw await e.body?.cancel(),new nb("server responded with an error in the response body",{cause:t,response:e});throw r8(`"response" is not a conform ${r} response (unexpected HTTP status code)`,n7,e)}}function nU(e){if(!nz.has(e))throw rz('"options.DPoP" is not a valid DPoPHandle',rB)}async function nP(e,t,r,n,i,a){if(nn(e,'"accessToken"'),!(r instanceof URL))throw rz('"url" must be an instance of URL',rF);nm(r,a?.[rV]!==!0),n=r3(n),a?.DPoP&&(nU(a.DPoP),await a.DPoP.addProof(r,n,t.toUpperCase(),e)),n.set("authorization",`${n.has("dpop")?"DPoP":"Bearer"} ${e}`);let o=await (a?.[rX]||fetch)(r.href,{body:i,headers:Object.fromEntries(n.entries()),method:t,redirect:"manual",signal:a?.signal?r9(a.signal):void 0});return a?.DPoP?.cacheNonce(o),o}async function nR(e,t,r,n){nd(e),np(t);let i=ng(e,"userinfo_endpoint",t.use_mtls_endpoint_aliases,n?.[rV]!==!0),a=r3(n?.headers);return t.userinfo_signed_response_alg?a.set("accept","application/jwt"):(a.set("accept","application/json"),a.append("accept","application/jwt")),nP(r,"GET",i,a,null,{...n,[rq]:nc(t)})}let nO=Symbol();function nI(e){return e.headers.get("content-type")?.split(";")[0]}async function nH(e,t,r,n,i){let a;if(nd(e),np(t),!rM(n,Response))throw rz('"response" must be an instance of Response',rF);if(nJ(n),200!==n.status)throw r8('"response" is not a conform UserInfo Endpoint response (unexpected HTTP status code)',n7,n);if(ic(n),"application/jwt"===nI(n)){let{claims:r,jwt:o}=await iu(await n.text(),id.bind(void 0,t.userinfo_signed_response_alg,e.userinfo_signing_alg_values_supported,void 0),nc(t),nl(t),i?.[rQ]).then(nN.bind(void 0,t.client_id)).then(nB.bind(void 0,e));nj.set(n,o),a=r}else{if(t.userinfo_signed_response_alg)throw r8("JWT UserInfo Response expected",n8,n);a=await im(n)}if(nn(a.sub,'"response" body "sub" property',n3,{body:a}),r===nO);else if(nn(r,'"expectedSubject"'),a.sub!==r)throw r8('unexpected "response" body "sub" property value',ia,{expected:r,body:a,attribute:"sub"});return a}async function n$(e,t,r,n,i,a,o){return await r(e,t,i,a),a.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),(o?.[rX]||fetch)(n.href,{body:i,headers:Object.fromEntries(a.entries()),method:"POST",redirect:"manual",signal:o?.signal?r9(o.signal):void 0})}async function nW(e,t,r,n,i,a){let o=ng(e,"token_endpoint",t.use_mtls_endpoint_aliases,a?.[rV]!==!0);i.set("grant_type",n);let s=r3(a?.headers);s.set("accept","application/json"),a?.DPoP!==void 0&&(nU(a.DPoP),await a.DPoP.addProof(o,s,"POST"));let c=await n$(e,t,r,o,i,s,a);return a?.DPoP?.cacheNonce(c),c}let nD=new WeakMap,nj=new WeakMap;function nK(e){if(!e.id_token)return;let t=nD.get(e);if(!t)throw rz('"ref" was already garbage collected or did not resolve from the proper sources',rB);return t}async function nL(e,t,r,n,i){if(nd(e),np(t),!rM(r,Response))throw rz('"response" must be an instance of Response',rF);nJ(r),await nC(r,200,"Token Endpoint"),ic(r);let a=await im(r);if(nn(a.access_token,'"response" body "access_token" property',n3,{body:a}),nn(a.token_type,'"response" body "token_type" property',n3,{body:a}),a.token_type=a.token_type.toLowerCase(),"dpop"!==a.token_type&&"bearer"!==a.token_type)throw new r5("unsupported `token_type` value",{cause:{body:a}});if(void 0!==a.expires_in){let e="number"!=typeof a.expires_in?parseFloat(a.expires_in):a.expires_in;nr(e,!1,'"response" body "expires_in" property',n3,{body:a}),a.expires_in=e}if(void 0!==a.refresh_token&&nn(a.refresh_token,'"response" body "refresh_token" property',n3,{body:a}),void 0!==a.scope&&"string"!=typeof a.scope)throw r8('"response" body "scope" property must be a string',n3,{body:a});if(void 0!==a.id_token){nn(a.id_token,'"response" body "id_token" property',n3,{body:a});let o=["aud","exp","iat","iss","sub"];!0===t.require_auth_time&&o.push("auth_time"),void 0!==t.default_max_age&&(nr(t.default_max_age,!1,'"client.default_max_age"'),o.push("auth_time")),n?.length&&o.push(...n);let{claims:s,jwt:c}=await iu(a.id_token,id.bind(void 0,t.id_token_signed_response_alg,e.id_token_signing_alg_values_supported,"RS256"),nc(t),nl(t),i?.[rQ]).then(nG.bind(void 0,o)).then(nF.bind(void 0,e)).then(nM.bind(void 0,t.client_id));if(Array.isArray(s.aud)&&1!==s.aud.length){if(void 0===s.azp)throw r8('ID Token "aud" (audience) claim includes additional untrusted audiences',ii,{claims:s,claim:"aud"});if(s.azp!==t.client_id)throw r8('unexpected ID Token "azp" (authorized party) claim value',ii,{expected:t.client_id,claims:s,claim:"azp"})}void 0!==s.auth_time&&nr(s.auth_time,!1,'ID Token "auth_time" (authentication time)',n3,{claims:s}),nj.set(r,c),nD.set(a,s)}return a}function nJ(e){let t;if(t=function(e){if(!rM(e,Response))throw rz('"response" must be an instance of Response',rF);let t=e.headers.get("www-authenticate");if(null===t)return;let r=[],n=t;for(;n;){let e,t=n.match(nA),i=t?.["1"].toLowerCase();if(n=t?.["2"],!i)return;let a={};for(;n;){let r,i;if(t=n.match(nS)){if([,r,i,n]=t,i.includes("\\"))try{i=JSON.parse(`"${i}"`)}catch{}a[r.toLowerCase()]=i;continue}if(t=n.match(nE)){[,r,i,n]=t,a[r.toLowerCase()]=i;continue}if(t=n.match(nx)){if(Object.keys(a).length)break;[,e,n]=t;break}return}let o={scheme:i,parameters:a};e&&(o.token68=e),r.push(o)}if(r.length)return r}(e))throw new nv("server responded with a challenge in the WWW-Authenticate HTTP Header",{cause:t,response:e})}function nN(e,t){return void 0!==t.claims.aud?nM(e,t):t}function nM(e,t){if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e))throw r8('unexpected JWT "aud" (audience) claim value',ii,{expected:e,claims:t.claims,claim:"aud"})}else if(t.claims.aud!==e)throw r8('unexpected JWT "aud" (audience) claim value',ii,{expected:e,claims:t.claims,claim:"aud"});return t}function nB(e,t){return void 0!==t.claims.iss?nF(e,t):t}function nF(e,t){let r=e[ib]?.(t)??e.issuer;if(t.claims.iss!==r)throw r8('unexpected JWT "iss" (issuer) claim value',ii,{expected:r,claims:t.claims,claim:"iss"});return t}let nz=new WeakSet;async function nV(e,t,r,n,i,a,o){if(nd(e),np(t),!nz.has(n))throw rz('"callbackParameters" must be an instance of URLSearchParams obtained from "validateAuthResponse()", or "validateJwtAuthResponse()',rB);nn(i,'"redirectUri"');let s=ip(n,"code");if(!s)throw r8('no authorization code in "callbackParameters"',n3);let c=new URLSearchParams(o?.additionalParameters);
368return c.set("redirect_uri",i),c.set("code",s),a!==iw&&(nn(a,'"codeVerifier"'),c.set("code_verifier",a)),nW(e,t,r,"authorization_code",c,o)}let nq={aud:"audience",c_hash:"code hash",client_id:"client id",exp:"expiration time",iat:"issued at",iss:"issuer",jti:"jwt id",nonce:"nonce",s_hash:"state hash",sub:"subject",ath:"access token hash",htm:"http method",htu:"http uri",cnf:"confirmation",auth_time:"authentication time"};function nG(e,t){for(let r of e)if(void 0===t.claims[r])throw r8(`JWT "${r}" (${nq[r]}) claim missing`,n3,{claims:t.claims});return t}let nX=Symbol(),nY=Symbol();async function nQ(e,t,r,n){return"string"==typeof n?.expectedNonce||"number"==typeof n?.maxAge||n?.requireIdToken?nZ(e,t,r,n.expectedNonce,n.maxAge,{[rQ]:n[rQ]}):n0(e,t,r,n)}async function nZ(e,t,r,n,i,a){let o=[];switch(n){case void 0:n=nX;break;case nX:break;default:nn(n,'"expectedNonce" argument'),o.push("nonce")}switch(i??=t.default_max_age){case void 0:i=nY;break;case nY:break;default:nr(i,!1,'"maxAge" argument'),o.push("auth_time")}let s=await nL(e,t,r,o,a);nn(s.id_token,'"response" body "id_token" property',n3,{body:s});let c=nK(s);if(i!==nY){let e=nu()+nc(t),r=nl(t);if(c.auth_time+i<e-r)throw r8("too much time has elapsed since the last End-User authentication",ir,{claims:c,now:e,tolerance:r,claim:"auth_time"})}if(n===nX){if(void 0!==c.nonce)throw r8('unexpected ID Token "nonce" claim value',ii,{expected:void 0,claims:c,claim:"nonce"})}else if(c.nonce!==n)throw r8('unexpected ID Token "nonce" claim value',ii,{expected:n,claims:c,claim:"nonce"});return s}async function n0(e,t,r,n){let i=await nL(e,t,r,void 0,n),a=nK(i);if(a){if(void 0!==t.default_max_age){nr(t.default_max_age,!1,'"client.default_max_age"');let e=nu()+nc(t),r=nl(t);if(a.auth_time+t.default_max_age<e-r)throw r8("too much time has elapsed since the last End-User authentication",ir,{claims:a,now:e,tolerance:r,claim:"auth_time"})}if(void 0!==a.nonce)throw r8('unexpected ID Token "nonce" claim value',ii,{expected:void 0,claims:a,claim:"nonce"})}return i}let n1="OAUTH_WWW_AUTHENTICATE_CHALLENGE",n2="OAUTH_RESPONSE_BODY_ERROR",n5="OAUTH_UNSUPPORTED_OPERATION",n6="OAUTH_AUTHORIZATION_RESPONSE_ERROR",n8="OAUTH_JWT_USERINFO_EXPECTED",n4="OAUTH_PARSE_ERROR",n3="OAUTH_INVALID_RESPONSE",n9="OAUTH_RESPONSE_IS_NOT_JSON",n7="OAUTH_RESPONSE_IS_NOT_CONFORM",ie="OAUTH_HTTP_REQUEST_FORBIDDEN",it="OAUTH_REQUEST_PROTOCOL_FORBIDDEN",ir="OAUTH_JWT_TIMESTAMP_CHECK_FAILED",ii="OAUTH_JWT_CLAIM_COMPARISON_FAILED",ia="OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED",io="OAUTH_MISSING_SERVER_METADATA",is="OAUTH_INVALID_SERVER_METADATA";function ic(e){if(e.bodyUsed)throw rz('"response" body has been used already',rB)}function il(e){let{algorithm:t}=e;if("number"!=typeof t.modulusLength||t.modulusLength<2048)throw new r5(`unsupported ${t.name} modulusLength`,{cause:e})}async function iu(e,t,r,n,i){let a,o,{0:s,1:c,length:l}=e.split(".");if(5===l){if(void 0!==i)e=await i(e),{0:s,1:c,length:l}=e.split(".");else throw new r5("JWE decryption is not configured",{cause:e})}if(3!==l)throw r8("Invalid JWT",n3,e);try{a=JSON.parse(r1(r2(s)))}catch(e){throw r8("failed to parse JWT Header body as base64url encoded JSON",n4,e)}
368if(!r4(a))throw r8("JWT Header must be a top level object",n3,e);if(t(a),void 0!==a.crit)throw new r5('no JWT "crit" header parameter extensions are supported',{cause:{header:a}});try{o=JSON.parse(r1(r2(c)))}catch(e){throw r8("failed to parse JWT Payload body as base64url encoded JSON",n4,e)}if(!r4(o))throw r8("JWT Payload must be a top level object",n3,e);let u=nu()+r;if(void 0!==o.exp){if("number"!=typeof o.exp)throw r8('unexpected JWT "exp" (expiration time) claim type',n3,{claims:o});if(o.exp<=u-n)throw r8('unexpected JWT "exp" (expiration time) claim value, expiration is past current timestamp',ir,{claims:o,now:u,tolerance:n,claim:"exp"})}if(void 0!==o.iat&&"number"!=typeof o.iat)throw r8('unexpected JWT "iat" (issued at) claim type',n3,{claims:o});if(void 0!==o.iss&&"string"!=typeof o.iss)throw r8('unexpected JWT "iss" (issuer) claim type',n3,{claims:o});if(void 0!==o.nbf){if("number"!=typeof o.nbf)throw r8('unexpected JWT "nbf" (not before) claim type',n3,{claims:o});if(o.nbf>u+n)throw r8('unexpected JWT "nbf" (not before) claim value',ir,{claims:o,now:u,tolerance:n,claim:"nbf"})}if(void 0!==o.aud&&"string"!=typeof o.aud&&!Array.isArray(o.aud))throw r8('unexpected JWT "aud" (audience) claim type',n3,{claims:o});return{header:a,claims:o,jwt:e}}function id(e,t,r,n){if(void 0!==e){if("string"==typeof e?n.alg!==e:!e.includes(n.alg))throw r8('unexpected JWT "alg" header parameter',n3,{header:n,expected:e,reason:"client configuration"});return}if(Array.isArray(t)){if(!t.includes(n.alg))throw r8('unexpected JWT "alg" header parameter',n3,{header:n,expected:t,reason:"authorization server metadata"});return}if(void 0!==r){if("string"==typeof r?n.alg!==r:"function"==typeof r?!r(n.alg):!r.includes(n.alg))throw r8('unexpected JWT "alg" header parameter',n3,{header:n,expected:r,reason:"default value"});return}throw r8('missing client or server configuration to verify used JWT "alg" header parameter',void 0,{client:e,issuer:t,fallback:r})}function ip(e,t){let{0:r,length:n}=e.getAll(t);if(n>1)throw r8(`"${t}" parameter must be provided only once`,n3);return r}let ih=Symbol(),iy=Symbol();async function im(e,t=na){let r;try{r=await e.json()}catch(r){throw t(e),r8('failed to parse "response" body as JSON',n4,r)}if(!r4(r))throw r8('"response" body must be a top level object',n3,{body:r});return r}let iw=Symbol(),ig=Symbol(),ib=Symbol();async function i_(e,t,r){let{cookies:n,logger:i}=r,a=n[e],o=new Date;o.setTime(o.getTime()+9e5),i.debug(`CREATE_${e.toUpperCase()}`,{name:a.name,payload:t,COOKIE_TTL:900,expires:o});let s=await tg({...r.jwt,maxAge:900,token:{value:t},salt:a.name}),c={...a.options,expires:o};return{name:a.name,value:s,options:c}}async function iv(e,t,r){try{let{logger:n,cookies:i,jwt:a}=r;if(n.debug(`PARSE_${e.toUpperCase()}`,{cookie:t}),!t)throw new p.gS(`${e} cookie was missing`);let o=await tb({...a,token:t,salt:i[e].name});if(o?.value)return o.value;throw Error("Invalid cookie")}catch(t){throw new p.gS(`${e} value could not be parsed`,{cause:t})}}function ik(e,t,r){let{logger:n,cookies:i}=t,a=i[e];n.debug(`CLEAR_${e.toUpperCase()}`,{cookie:a}),r.push({name:a.name,value:"",options:{...i[e].options,maxAge:0}})}function iA(e,t){return async function(r,n,i){let{provider:a,logger:o}=i;if(!a?.checks?.includes(e))return;let s=r?.[i.cookies[t].name];o.debug(`USE_${t.toUpperCase()}`,{value:s});let c=await iv(t,s,i);return ik(t,i,n),c}}let iS={async create(e){let t=no(),r=await ns(t);return{cookie:await i_("pkceCodeVerifier",t,e),value:r}},use:iA("pkce","pkceCodeVerifier")},iE="encodedState",ix={async create(e,t){let{provider:r}=e;if(!r.checks.includes("state")){if(t)throw new p.gS("State data was provided but the provider is not configured to use state");return}let n={origin:t,random:no()},i=await tg({secret:e.jwt.secret,token:n,salt:iE,maxAge:900});return{cookie:await i_("state",i,e),value:i}},use:iA("state","state"),async decode(e,t){try{t.logger.debug("DECODE_STATE",{state:e});let r=await tb({secret:t.jwt.secret,token:e,salt:iE});if(r)return r;throw Error("Invalid state")}catch(e){throw new p.gS("State could not be decoded",{cause:e})}}},iT={async create(e){if(!e.provider.checks.includes("nonce"))return;let t=no();return{cookie:await i_("nonce",t,e),value:t}},use:iA("nonce","nonce")},iC="encodedWebauthnChallenge",iU={create:async(e,t,r)=>({cookie:await i_("webauthnChallenge",await tg({secret:e.jwt.secret,token:{challenge:t,registerData:r},salt:iC,maxAge:900}),e)}),async use(e,t,r){let n=t?.[e.cookies.webauthnChallenge.name],i=await iv("webauthnChallenge",n,e),a=await tb({secret:e.jwt.secret,token:i,salt:iC});if(ik("webauthnChallenge",e,r),!a)throw new p.gS("WebAuthn challenge was missing");return a}};function iP(e){return encodeURIComponent(e).replace(/%20/g,"+")}async function iR(e,t,r){let n,i,a;let{logger:o,provider:s}=r,{token:c,userinfo:l}=s;if(c?.url&&"authjs.dev"!==c.url.host||l?.url&&"authjs.dev"!==l.url.host)n={issuer:s.issuer??"https://authjs.dev",token_endpoint:c?.url.toString(),userinfo_endpoint:l?.url.toString()};else{let e=new URL(s.issuer),t=await nt(e,{[rV]:!0,[rX]:s[tj]});if(!(n=await ni(e,t)).token_endpoint)throw TypeError("TODO: Authorization server did not provide a token endpoint.");if(!n.userinfo_endpoint)throw TypeError("TODO: Authorization server did not provide a userinfo endpoint.")}let u={client_id:s.clientId,...s.client};switch(u.token_endpoint_auth_method){case void 0:case"client_secret_basic":i=(e,t,r,n)=>{n.set("authorization",function(e,t){let r=iP(e),n=iP(t),i=btoa(`${r}:${n}`);return`Basic ${i}`}(s.clientId,s.clientSecret))};break;case"client_secret_post":var d;nn(d=s.clientSecret,'"clientSecret"'),i=(e,t,r,n)=>{r.set("client_id",t.client_id),r.set("client_secret",d)};break;case"client_secret_jwt":i=function(e,t){let r;nn(e,'"clientSecret"');let n=void 0;return async(t,i,a,o)=>
368{r||=await crypto.subtle.importKey("raw",r1(e),{hash:"SHA-256",name:"HMAC"},!1,["sign"]);let s={alg:"HS256"},c=nh(t,i);n?.(s,c);let l=`${r2(r1(JSON.stringify(s)))}.${r2(r1(JSON.stringify(c)))}`,u=await crypto.subtle.sign(r.algorithm,r,r1(l));a.set("client_id",i.client_id),a.set("client_assertion_type","urn:ietf:params:oauth:client-assertion-type:jwt-bearer"),a.set("client_assertion",`${l}.${r2(new Uint8Array(u))}`)}}(s.clientSecret);break;case"private_key_jwt":i=function(e,t){let{key:r,kid:n}=e instanceof CryptoKey?{key:e}:e?.key instanceof CryptoKey?(void 0!==e.kid&&nn(e.kid,'"kid"'),{key:e.key,kid:e.kid}):{};return!function(e,t){if(function(e,t){if(!(e instanceof CryptoKey))throw rz(`${t} must be a CryptoKey`,rF)}(e,t),"private"!==e.type)throw rz(`${t} must be a private CryptoKey`,rB)}(r,'"clientPrivateKey.key"'),async(e,i,a,o)=>{let s={alg:function(e){switch(e.algorithm.name){case"RSA-PSS":return function(e){switch(e.algorithm.hash.name){case"SHA-256":return"PS256";case"SHA-384":return"PS384";case"SHA-512":return"PS512";default:throw new r5("unsupported RsaHashedKeyAlgorithm hash name",{cause:e})}}(e);case"RSASSA-PKCS1-v1_5":return function(e){switch(e.algorithm.hash.name){case"SHA-256":return"RS256";case"SHA-384":return"RS384";case"SHA-512":return"RS512";default:throw new r5("unsupported RsaHashedKeyAlgorithm hash name",{cause:e})}}(e);case"ECDSA":return function(e){switch(e.algorithm.namedCurve){case"P-256":return"ES256";case"P-384":return"ES384";case"P-521":return"ES512";default:throw new r5("unsupported EcKeyAlgorithm namedCurve",{cause:e})}}(e);
368case"Ed25519":case"EdDSA":return"Ed25519";default:throw new r5("unsupported CryptoKey algorithm name",{cause:e})}}(r),kid:n},c=nh(e,i);t?.[rY]?.(s,c),a.set("client_id",i.client_id),a.set("client_assertion_type","urn:ietf:params:oauth:client-assertion-type:jwt-bearer"),a.set("client_assertion",await nf(s,c,r))}}(s.token.clientPrivateKey,{[rY](e,t){t.aud=[n.issuer,n.token_endpoint]}});break;case"none":i=(e,t,r,n)=>{r.set("client_id",t.client_id)};break;default:throw Error("unsupported client authentication method")}let h=[],f=await ix.use(t,h,r);try{a=function(e,t,r,n){var i;if(nd(e),np(t),r instanceof URL&&(r=r.searchParams),!(r instanceof URLSearchParams))throw rz('"parameters" must be an instance of URLSearchParams, or URL',rF);if(ip(r,"response"))throw r8('"parameters" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',n3,{parameters:r});let a=ip(r,"iss"),o=ip(r,"state");if(!a&&e.authorization_response_iss_parameter_supported)throw r8('response parameter "iss" (issuer) missing',n3,{parameters:r});if(a&&a!==e.issuer)throw r8('unexpected "iss" (issuer) response parameter value',n3,{expected:e.issuer,parameters:r});switch(n){case void 0:case iy:if(void 0!==o)throw r8('unexpected "state" response parameter encountered',n3,{expected:void 0,parameters:r});break;case ih:break;default:if(nn(n,'"expectedState" argument'),o!==n)throw r8(void 0===o?'response parameter "state" missing':'unexpected "state" response parameter value',n3,{expected:n,parameters:r})}if(ip(r,"error"))throw new n_("authorization response from the server is an error",{cause:r});let s=ip(r,"id_token"),c=ip(r,"token");if(void 0!==s||void 0!==c)throw new r5("implicit and hybrid flows are not supported");return i=new URLSearchParams(r),nz.add(i),i}(n,u,new URLSearchParams(e),s.checks.includes("state")?f:ih)}catch(e){if(e instanceof n_){let t={providerId:s.id,...Object.fromEntries(e.cause.entries())};throw o.debug("OAuthCallbackError",t),new p.iV("OAuth Provider returned an error",t)}throw e}let y=await iS.use(t,h,r),m=s.callbackUrl;!r.isOnRedirectProxy&&s.redirectProxyUrl&&(m=s.redirectProxyUrl);let w=await nV(n,u,i,a,m,y??"decoy",{[rV]:!0,[rX]:(...e)=>(s.checks.includes("pkce")||e[1].body.delete("code_verifier"),(s[tj]??fetch)(...e))});s.token?.conform&&(w=await s.token.conform(w.clone())??w);let g={},b="oidc"===s.type;if(s[tK])switch(s.id){case"microsoft-entra-id":case"azure-ad":{let{tid:e}=function(e){let t,r;if("string"!=typeof e)throw new q("JWTs must use Compact JWS serialization, JWT must be a string");let{1:n,length:i}=e.split(".");if(5===i)throw new q("Only JWTs using Compact JWS serialization can be decoded");if(3!==i)throw new q("Invalid JWT");if(!n)throw new q("JWTs must contain a payload");try{t=K(n)}catch{throw new q("Failed to base64url decode the payload")}try{r=JSON.parse(U.decode(t))}catch{throw new q("Failed to parse the decoded payload as JSON")}if(!et(r))throw new q("Invalid JWT Claims Set");return r}((await w.clone().json()).id_token);if("string"==typeof e){let t=n.issuer?.match(/microsoftonline\.com\/(\w+)\/v2\.0/)?.[1]??"common",r=new URL(n.issuer.replace(t,e)),i=await nt(r,{[rX]:s[tj]});n=await ni(r,i)}}}let _=await nQ(n,u,w,{expectedNonce:await iT.use(t,h,r),requireIdToken:b});if(b){let t=nK(_);if(g=t,s[tK]&&"apple"===s.id)try{g.user=JSON.parse(e?.user)}catch{}if(!1===s.idToken){let e=await nR(n,u,_.access_token,{[rX]:s[tj],[rV]:!0});g=await nH(n,u,t.sub,e)}}else if(l?.request){let e=await l.request({tokens:_,provider:s});e instanceof Object&&(g=e)}else if(l?.url){let e=await nR(n,u,_.access_token,{[rX]:s[tj]});g=await e.json()}else throw TypeError("No userinfo endpoint configured");return _.expires_in&&(_.expires_at=Math.floor(Date.now()/1e3)+Number(_.expires_in)),{...await iO(g,s,_,o),profile:g,cookies:h}}async function iO(e,t,r,n){try{let n=await t.profile(e,r);return{user:{...n,id:crypto.randomUUID(),email:n.email?.toLowerCase()},account:{...r,provider:t.id,type:t.type,providerAccountId:n.id??crypto.randomUUID()}}}catch(r){n.debug("getProfile error details",e),n.error(new p.X0(r,{provider:t.id}))}}var iI=r(82957).lW;
368async function iH(e,t,r,n){let i=await iK(e,t,r),{cookie:a}=await iU.create(e,i.challenge,r);return{status:200,cookies:[...n??[],a],body:{action:"register",options:i},headers:{"Content-Type":"application/json"}}}async function i$(e,t,r,n){let i=await ij(e,t,r),{cookie:a}=await iU.create(e,i.challenge);return{status:200,cookies:[...n??[],a],body:{action:"authenticate",options:i},headers:{"Content-Type":"application/json"}}}async function iW(e,t,r){let n;let{adapter:i,provider:a}=e,o=t.body&&"string"==typeof t.body.data?JSON.parse(t.body.data):void 0;if(!o||"object"!=typeof o||!("id"in o)||"string"!=typeof o.id)throw new p.l4("Invalid WebAuthn Authentication response");let s=iN(iJ(o.id)),c=await i.getAuthenticator(s);if(!c)throw new p.l4(`WebAuthn authenticator not found in database: ${JSON.stringify({credentialID:s})}`);let{challenge:l}=await iU.use(e,t.cookies,r);try{let r=a.getRelayingParty(e,t);n=await a.simpleWebAuthn.verifyAuthenticationResponse({...a.verifyAuthenticationOptions,expectedChallenge:l,response:o,authenticator:{...c,credentialDeviceType:c.credentialDeviceType,transports:iM(c.transports),credentialID:iJ(c.credentialID),credentialPublicKey:iJ(c.credentialPublicKey)},expectedOrigin:r.origin,expectedRPID:r.id})}catch(e){throw new p.vV(e)}let{verified:u,authenticationInfo:d}=n;if(!u)throw new p.vV("WebAuthn authentication response could not be verified");try{let{newCounter:e}=d;await i.updateAuthenticatorCounter(c.credentialID,e)}catch(e){throw new p.dq(`Failed to update authenticator counter. This may cause future authentication attempts to fail. ${JSON.stringify({credentialID:s,oldCounter:c.counter,newCounter:d.newCounter})}`,e)}let h=await i.getAccount(c.providerAccountId,a.id);if(!h)throw new p.l4(`WebAuthn account not found in database: ${JSON.stringify({credentialID:s,providerAccountId:c.providerAccountId})}`);let f=await i.getUser(h.userId);if(!f)throw new p.l4(`WebAuthn user not found in database: ${JSON.stringify({credentialID:s,providerAccountId:c.providerAccountId,userID:h.userId})}`);return{account:h,user:f}}async function iD(e,t,r){var n;let i;let{provider:a}=e,o=t.body&&"string"==typeof t.body.data?JSON.parse(t.body.data):void 0;if(!o||"object"!=typeof o||!("id"in o)||"string"!=typeof o.id)throw new p.l4("Invalid WebAuthn Registration response");let{challenge:s,registerData:c}=await iU.use(e,t.cookies,r);if(!c)throw new p.l4("Missing user registration data in WebAuthn challenge cookie");try{let r=a.getRelayingParty(e,t);i=await a.simpleWebAuthn.verifyRegistrationResponse({...a.verifyRegistrationOptions,expectedChallenge:s,response:o,expectedOrigin:r.origin,expectedRPID:r.id})}catch(e){throw new p.vV(e)}if(!i.verified||!i.registrationInfo)throw new p.vV("WebAuthn registration response could not be verified");let l={providerAccountId:iN(i.registrationInfo.credentialID),provider:e.provider.id,type:a.type},u={providerAccountId:l.providerAccountId,counter:i.registrationInfo.counter,credentialID:iN(i.registrationInfo.credentialID),credentialPublicKey:iN(i.registrationInfo.credentialPublicKey),credentialBackedUp:i.registrationInfo.credentialBackedUp,credentialDeviceType:i.registrationInfo.credentialDeviceType,transports:(n=o.response.transports,n?.join(","))};return{user:c,account:l,authenticator:u}}async function ij(e,t,r){let{provider:n,adapter:i}=e,a=r&&r.id?await i.listAuthenticatorsByUserId(r.id):null,o=n.getRelayingParty(e,t);return await n.simpleWebAuthn.generateAuthenticationOptions({...n.authenticationOptions,rpID:o.id,allowCredentials:a?.map(e=>({id:iJ(e.credentialID),type:"public-key",transports:iM(e.transports)}))})}async function iK(e,t,r){let{provider:n,adapter:i}=e,a=r.id?await i.listAuthenticatorsByUserId(r.id):null,o=tR(32),s=n.getRelayingParty(e,t);return await n.simpleWebAuthn.generateRegistrationOptions({...n.registrationOptions,userID:o,userName:r.email,userDisplayName:r.name??void 0,rpID:s.id,rpName:s.name,excludeCredentials:a?.map(e=>({id:iJ(e.credentialID),type:"public-key",transports:iM(e.transports)}))})}function iL(e){let{provider:t,adapter:r}=e;if(!r)throw new p.Xp("An adapter is required for the WebAuthn provider");if(!t||"webauthn"!==t.type)throw new p.Ab("Provider must be WebAuthn");return{...e,provider:t,adapter:r}}function iJ(e){return new Uint8Array(iI.from(e,"base64"))}function iN(e){return iI.from(e).toString("base64")}function iM(e){return e?e.split(","):void 0}async function iB(e,t,r,n){if(!t.provider)throw new p.Ab("Callback route called without provider");let{query:i,body:a,method:o,headers:s}=e,{provider:c,adapter:l,url:u,callbackUrl:d,pages:h,jwt:f,events:y,callbacks:m,session:{strategy:w,maxAge:g},logger:b}=t,_="jwt"===w;try{if("oauth"===c.type||"oidc"===c.type){let o;let s=c.authorization?.url.searchParams.get("response_mode")==="form_post"?a:i;if(t.isOnRedirectProxy&&s?.state){let e=await ix.decode(s.state,t);if(e?.origin&&new URL(e.origin).origin!==t.url.origin){let t=`${e.origin}?${new URLSearchParams(s)}`;return b.debug("Proxy redirecting to",t),{redirect:t,cookies:n}}}let p=await iR(s,e.cookies,t);p.cookies.length&&n.push(...p.cookies),b.debug("authorization result",p);let{user:w,account:v,profile:k}=p;if(!w||!v||!k)return{redirect:`${u}/signin`,cookies:n};if(l){let{getUserByAccount:e}=l;o=await e({providerAccountId:v.providerAccountId,provider:c.id})}let A=await iF({user:o??w,account:v,profile:k},t);if(A)return{redirect:A,cookies:n};let{user:S,session:E,isNewUser:x}=await rN(r.value,w,v,t);if(_){let e={name:S.name,email:S.email,picture:S.image,sub:S.id?.toString()},i=await m.jwt({token:e,user:S,account:v,profile:k,isNewUser:x,trigger:x?"signUp":"signIn"});if(null===i)n.push(...r.clean());else{let e=t.cookies.sessionToken.name,a=await f.encode({...f,token:i,salt:e}),o=new Date;o.setTime(o.getTime()+1e3*g);let s=r.chunk(a,{expires:o});n.push(...s)}}else n.push({name:t.cookies.sessionToken.name,value:E.sessionToken,options:{...t.cookies.sessionToken.options,expires:E.expires}});if(await y.signIn?.({user:S,account:v,profile:k,isNewUser:x}),x&&h.newUser)return{redirect:`${h.newUser}${h.newUser.includes("?")?"&":"?"}${new URLSearchParams({callbackUrl:d})}`,cookies:n};return{redirect:d,cookies:n}}if("email"===c.type){let e=i?.token,a=i?.email;if(!e){let t=TypeError("Missing token. The sign-in URL was manually opened without token or the link was not sent correctly in the email.",{cause:{hasToken:!!e}});throw t.name="Configuration",t}let o=c.secret??t.secret,s=await l.useVerificationToken({identifier:a,token:await tP(`${e}${o}`)}),u=!!s,w=u&&s.expires.valueOf()<Date.now();if(!u||w||a&&s.identifier!==a)throw new p.GX({hasInvite:u,expired:w});let{identifier:b}=s,v=await l.getUserByEmail(b)??{id:crypto.randomUUID(),email:b,emailVerified:null},k={providerAccountId:v.email,userId:v.id,type:"email",provider:c.id},A=await iF({user:v,account:k},t);if(A)return{redirect:A,cookies:n};let{user:S,session:E,isNewUser:x}=await rN(r.value,v,k,t);
368if(_){let e={name:S.name,email:S.email,picture:S.image,sub:S.id?.toString()},i=await m.jwt({token:e,user:S,account:k,isNewUser:x,trigger:x?"signUp":"signIn"});if(null===i)n.push(...r.clean());else{let e=t.cookies.sessionToken.name,a=await f.encode({...f,token:i,salt:e}),o=new Date;o.setTime(o.getTime()+1e3*g);let s=r.chunk(a,{expires:o});n.push(...s)}}else n.push({name:t.cookies.sessionToken.name,value:E.sessionToken,options:{...t.cookies.sessionToken.options,expires:E.expires}});if(await y.signIn?.({user:S,account:k,isNewUser:x}),x&&h.newUser)return{redirect:`${h.newUser}${h.newUser.includes("?")?"&":"?"}${new URLSearchParams({callbackUrl:d})}`,cookies:n};return{redirect:d,cookies:n}}if("credentials"===c.type&&"POST"===o){let e=a??{};Object.entries(i??{}).forEach(([e,t])=>u.searchParams.set(e,t));let l=await c.authorize(e,new Request(u,{headers:s,method:o,body:JSON.stringify(a)}));if(l)l.id=l.id?.toString()??crypto.randomUUID();else throw new p.UC;let h={providerAccountId:l.id,type:"credentials",provider:c.id},w=await iF({user:l,account:h,credentials:e},t);if(w)return{redirect:w,cookies:n};let b={name:l.name,email:l.email,picture:l.image,sub:l.id},_=await m.jwt({token:b,user:l,account:h,isNewUser:!1,trigger:"signIn"});if(null===_)n.push(...r.clean());else{let e=t.cookies.sessionToken.name,i=await f.encode({...f,token:_,salt:e}),a=new Date;a.setTime(a.getTime()+1e3*g);let o=r.chunk(i,{expires:a});n.push(...o)}return await y.signIn?.({user:l,account:h}),{redirect:d,cookies:n}}if("webauthn"===c.type&&"POST"===o){let i,a,o;let s=e.body?.action;if("string"!=typeof s||"authenticate"!==s&&"register"!==s)throw new p.l4("Invalid action parameter");let c=iL(t);switch(s){case"authenticate":{let t=await iW(c,e,n);i=t.user,a=t.account;break}case"register":{let r=await iD(t,e,n);i=r.user,a=r.account,o=r.authenticator}}await iF({user:i,account:a},t);let{user:l,isNewUser:u,session:w,account:b}=await rN(r.value,i,a,t);if(!b)throw new p.l4("Error creating or finding account");if(o&&l.id&&await c.adapter.createAuthenticator({...o,userId:l.id}),_){let e={name:l.name,email:l.email,picture:l.image,sub:l.id?.toString()},i=await m.jwt({token:e,user:l,account:b,isNewUser:u,trigger:u?"signUp":"signIn"});if(null===i)n.push(...r.clean());else{let e=t.cookies.sessionToken.name,a=await f.encode({...f,token:i,salt:e}),o=new Date;o.setTime(o.getTime()+1e3*g);let s=r.chunk(a,{expires:o});n.push(...s)}}else n.push({name:t.cookies.sessionToken.name,value:w.sessionToken,options:{...t.cookies.sessionToken.options,expires:w.expires}});if(await y.signIn?.({user:l,account:b,isNewUser:u}),u&&h.newUser)return{redirect:`${h.newUser}${h.newUser.includes("?")?"&":"?"}${new URLSearchParams({callbackUrl:d})}`,cookies:n};return{redirect:d,cookies:n}}throw new p.Ab(`Callback for provider type (${c.type}) is not supported`)}catch(t){if(t instanceof p.l4)throw t;let e=new p.Ng(t,{provider:c.id});throw b.debug("callback route error details",{method:o,query:i,body:a}),e}}async function iF(e,t){let r;let{signIn:n,redirect:i}=t.callbacks;try{r=await n(e)}catch(e){if(e instanceof p.l4)throw e;throw new p.JK(e)}if(!r)throw new p.JK("AccessDenied");if("string"==typeof r)return await i({url:r,baseUrl:t.url.origin})}async function iz(e,t,r,n,i){let{adapter:a,jwt:o,events:s,callbacks:c,logger:l,session:{strategy:u,maxAge:d}}=e,h={body:null,headers:{"Content-Type":"application/json"},cookies:r},f=t.value;if(!f)return h;if("jwt"===u){try{let r=e.cookies.sessionToken.name,a=await o.decode({...o,token:f,salt:r});if(!a)throw Error("Invalid JWT");let l=await c.jwt({token:a,...n&&{trigger:"update"},session:i}),u=rJ(d);if(null!==l){let e={user:{name:l.name,email:l.email,image:l.picture},expires:u.toISOString()},n=await c.session({session:e,token:l});h.body=n;let i=await o.encode({...o,token:l,salt:r}),a=t.chunk(i,{expires:u});h.cookies?.push(...a),await s.session?.({session:n,token:l})}else h.cookies?.push(...t.clean())}catch(e){l.error(new p.xo(e)),h.cookies?.push(...t.clean())}return h}try{let{getSessionAndUser:r,deleteSession:o,updateSession:l}=a,u=await r(f);if(u&&u.session.expires.valueOf()<Date.now()&&(await o(f),u=null),u){let{user:t,session:r}=u,a=e.session.updateAge,o=r.expires.valueOf()-1e3*d+1e3*a,p=rJ(d);o<=Date.now()&&await l({sessionToken:f,expires:p});let y=await c.session({session:{...r,user:t},user:t,newSession:i,...n?{trigger:"update"}:{}});h.body=y,h.cookies?.push({name:e.cookies.sessionToken.name,value:f,options:{...e.cookies.sessionToken.options,expires:p}}),await s.session?.({session:y})}else f&&h.cookies?.push(...t.clean())}catch(e){l.error(new p.li(e))}return h}async function iV(e,t){let r,n;let{logger:i,provider:a}=t,o=a.authorization?.url;if(!o||"authjs.dev"===o.host){let e=new URL(a.issuer),t=await nt(e,{[rX]:a[tj],[rV]:!0}),r=await ni(e,t);if(!r.authorization_endpoint)throw TypeError("Authorization server did not provide an authorization endpoint.");o=new URL(r.authorization_endpoint)}let s=o.searchParams,c=a.callbackUrl;!t.isOnRedirectProxy&&a.redirectProxyUrl&&(c=a.redirectProxyUrl,n=a.callbackUrl,i.debug("using redirect proxy",{redirect_uri:c,data:n}));let l=Object.assign({response_type:"code",client_id:a.clientId,redirect_uri:c,...a.authorization?.params},Object.fromEntries(a.authorization?.url.searchParams??[]),e);for(let e in l)s.set(e,l[e]);let u=[];a.authorization?.url.searchParams.get("response_mode")==="form_post"&&(t.cookies.state.options.sameSite="none",t.cookies.state.options.secure=!0,t.cookies.nonce.options.sameSite="none",t.cookies.nonce.options.secure=!0);let d=await ix.create(t,n);if(d&&(s.set("state",d.value),u.push(d.cookie)),a.checks?.includes("pkce")){if(r&&!r.code_challenge_methods_supported?.includes("S256"))"oidc"===a.type&&(a.checks=["nonce"]);else{let{value:e,cookie:r}=await iS.create(t);
368s.set("code_challenge",e),s.set("code_challenge_method","S256"),u.push(r)}}let p=await iT.create(t);return p&&(s.set("nonce",p.value),u.push(p.cookie)),"oidc"!==a.type||o.searchParams.has("scope")||o.searchParams.set("scope","openid profile email"),i.debug("authorization url is ready",{url:o,cookies:u,provider:a}),{redirect:o.toString(),cookies:u}}async function iq(e,t){let r;let{body:n}=e,{provider:i,callbacks:a,adapter:o}=t,s=(i.normalizeIdentifier??function(e){if(!e)throw Error("Missing email from request body.");let[t,r]=e.toLowerCase().trim().split("@");return r=r.split(",")[0],`${t}@${r}`})(n?.email),c={id:crypto.randomUUID(),email:s,emailVerified:null},l=await o.getUserByEmail(s)??c,u={providerAccountId:s,userId:l.id,type:"email",provider:i.id};try{r=await a.signIn({user:l,account:u,email:{verificationRequest:!0}})}catch(e){throw new p.JK(e)}if(!r)throw new p.JK("AccessDenied");if("string"==typeof r)return{redirect:await a.redirect({url:r,baseUrl:t.url.origin})};let{callbackUrl:d,theme:h}=t,f=await i.generateVerificationToken?.()??tR(32),y=new Date(Date.now()+(i.maxAge??86400)*1e3),m=i.secret??t.secret,w=new URL(t.basePath,t.url.origin),g=i.sendVerificationRequest({identifier:s,token:f,expires:y,url:`${w}/callback/${i.id}?${new URLSearchParams({callbackUrl:d,token:f,email:s})}`,provider:i,theme:h,request:new Request(e.url,{headers:e.headers,method:e.method,body:"POST"===e.method?JSON.stringify(e.body??{}):void 0})}),b=o.createVerificationToken?.({identifier:s,token:await tP(`${f}${m}`),expires:y});return await Promise.all([g,b]),{redirect:`${w}/verify-request?${new URLSearchParams({provider:i.id,type:i.type})}`}}async function iG(e,t,r){let n=`${r.url.origin}${r.basePath}/signin`;if(!r.provider)return{redirect:n,cookies:t};switch(r.provider.type){case"oauth":case"oidc":{let{redirect:n,cookies:i}=await iV(e.query,r);return i&&t.push(...i),{redirect:n,cookies:t}}case"email":return{...await iq(e,r),cookies:t};default:return{redirect:n,cookies:t}}}async function iX(e,t,r){let{jwt:n,events:i,callbackUrl:a,logger:o,session:s}=r,c=t.value;if(!c)return{redirect:a,cookies:e};try{if("jwt"===s.strategy){let e=r.cookies.sessionToken.name,t=await n.decode({...n,token:c,salt:e});await i.signOut?.({token:t})}else{let e=await r.adapter?.deleteSession(c);await i.signOut?.({session:e})}}catch(e){o.error(new p.V1(e))}return e.push(...t.clean()),{redirect:a,cookies:e}}async function iY(e,t){let{adapter:r,jwt:n,session:{strategy:i}}=e,a=t.value;if(!a)return null;if("jwt"===i){let t=e.cookies.sessionToken.name,r=await n.decode({...n,token:a,salt:t});if(r&&r.sub)return{id:r.sub,name:r.name,email:r.email,image:r.picture}}else{let e=await r?.getSessionAndUser(a);if(e)return e.user}return null}async function iQ(e,t,r,n){let i=iL(t),{provider:a}=i,{action:o}=e.query??{};if("register"!==o&&"authenticate"!==o&&void 0!==o)return{status:400,body:{error:"Invalid action"},cookies:n,headers:{"Content-Type":"application/json"}};let s=await iY(t,r),c=s?{user:s,exists:!0}:await a.getUserInfo(t,e),l=c?.user;switch(function(e,t,r){let{user:n,exists:i=!1}=r??{};switch(e){case"authenticate":return"authenticate";case"register":if(n&&t===i)return"register";break;case void 0:if(!t){if(!n||i)return"authenticate";return"register"}}return null}(o,!!s,c)){case"authenticate":return i$(i,e,l,n);case"register":if("string"==typeof l?.email)return iH(i,e,l,n);break;default:return{status:400,body:{error:"Invalid request"},cookies:n,headers:{"Content-Type":"application/json"}}}}async function iZ(e,t){let{action:r,providerId:n,error:i,method:a}=e,o=t.skipCSRFCheck===tW,{options:s,cookies:c}=await tF({authOptions:t,action:r,providerId:n,url:e.url,callbackUrl:e.body?.callbackUrl??e.query?.callbackUrl,csrfToken:e.body?.csrfToken,cookies:e.cookies,isPost:"POST"===a,csrfDisabled:o}),l=new d(s.cookies.sessionToken,e.cookies,s.logger);if("GET"===a){let t=rL({...s,query:e.query,cookies:c});switch(r){case"callback":return await iB(e,s,l,c);case"csrf":return t.csrf(o,s,c);case"error":return t.error(i);case"providers":return t.providers(s.providers);case"session":return await iz(s,l,c);case"signin":return t.signin(n,i);case"signout":return t.signout();case"verify-request":return t.verifyRequest();case"webauthn-options":return await iQ(e,s,l,c)}}else{let{csrfTokenVerified:t}=s;switch(r){case"callback":return"credentials"===s.provider.type&&tI(r,t),await iB(e,s,l,c);case"session":return tI(r,t),await iz(s,l,c,!0,e.body?.data);case"signin":return tI(r,t),await iG(e,c,s);case"signout":return tI(r,t),await iX(c,l,s)}}throw new p.D7(`Cannot handle action: ${r}`)}function i0(e,t,r,n,i){let a;let o=i?.basePath,s=n.AUTH_URL??n.NEXTAUTH_URL;if(s)a=new URL(s),o&&"/"!==o&&"/"!==a.pathname&&(a.pathname!==o&&tE(i).warn("env-url-basepath-mismatch"),a.pathname="/");else{let e=r.get("x-forwarded-host")??r.get("host"),n=r.get("x-forwarded-proto")??t??"https",i=n.endsWith(":")?n:n+":";a=new URL(`${i}//${e}`)}let c=a.toString().replace(/\/$/,"");
368if(o){let t=o?.replace(/(^\/|\/$)/g,"")??"";return new URL(`${c}/${t}/${e}`)}return new URL(`${c}/${e}`)}async function i1(e,t){let r=tE(t),n=await tC(e,t);if(!n)return Response.json("Bad request.",{status:400});let i=function(e,t){let{url:r}=e,n=[];if(!h&&t.debug&&n.push("debug-enabled"),!t.trustHost)return new p.kA(`Host must be trusted. URL was: ${e.url}`);if(!t.secret?.length)return new p.yv("Please define a `secret`");let i=e.query?.callbackUrl;if(i&&!f(i,r.origin))return new p.k7(`Invalid callback URL. Received: ${i}`);let{callbackUrl:a}=u(t.useSecureCookies??"https:"===r.protocol),o=e.cookies?.[t.cookies?.callbackUrl?.name??a.name];if(o&&!f(o,r.origin))return new p.k7(`Invalid callback URL. Received: ${o}`);let s=!1;for(let e of t.providers){let t="function"==typeof e?e():e;if(("oauth"===t.type||"oidc"===t.type)&&!(t.issuer??t.options?.issuer)){let e;let{authorization:r,token:n,userinfo:i}=t;if("string"==typeof r||r?.url?"string"==typeof n||n?.url?"string"==typeof i||i?.url||(e="userinfo"):e="token":e="authorization",e)return new p.Hi(`Provider "${t.id}" is missing both \`issuer\` and \`${e}\` endpoint config. At least one of them is required`)}if("credentials"===t.type)y=!0;else if("email"===t.type)m=!0;else if("webauthn"===t.type){var c;if(w=!0,t.simpleWebAuthnBrowserVersion&&(c=t.simpleWebAuthnBrowserVersion,!/^v\d+(?:\.\d+){0,2}$/.test(c)))return new p.l4(`Invalid provider config for "${t.id}": simpleWebAuthnBrowserVersion "${t.simpleWebAuthnBrowserVersion}" must be a valid semver string.`);if(t.enableConditionalUI){if(s)return new p.j7("Multiple webauthn providers have 'enableConditionalUI' set to True. Only one provider can have this option enabled at a time");if(s=!0,!Object.values(t.formFields).some(e=>e.autocomplete&&e.autocomplete.toString().indexOf("webauthn")>-1))return new p.BX(`Provider "${t.id}" has 'enableConditionalUI' set to True, but none of its formFields have 'webauthn' in their autocomplete param`)}}}if(y){let e=t.session?.strategy==="database",r=!t.providers.some(e=>
368"credentials"!==("function"==typeof e?e():e).type);if(e&&r)return new p.lA("Signing in with credentials only supported if JWT strategy is enabled");if(t.providers.some(e=>{let t="function"==typeof e?e():e;return"credentials"===t.type&&!t.authorize}))return new p.yQ("Must define an authorize() handler to use credentials authentication provider")}let{adapter:l,session:d}=t,v=[];if(m||d?.strategy==="database"||!d?.strategy&&l){if(m){if(!l)return new p.Xp("Email login requires an adapter");v.push(...g)}else{if(!l)return new p.Xp("Database session requires an adapter");v.push(...b)}}if(w){if(!t.experimental?.enableWebAuthn)return new p.dw("WebAuthn is an experimental feature. To enable it, set `experimental.enableWebAuthn` to `true` in your config");if(n.push("experimental-webauthn"),!l)return new p.Xp("WebAuthn requires an adapter");v.push(..._)}if(l){let e=v.filter(e=>!(e in l));if(e.length)return new p.xP(`Required adapter methods were missing: ${e.join(", ")}`)}return h||(h=!0),n}(n,t);if(Array.isArray(i))i.forEach(r.warn);else if(i){if(r.error(i),!new Set(["signin","signout","error","verify-request"]).has(n.action)||"GET"!==n.method)return Response.json({message:"There was a problem with the server configuration. Check the server logs for more information."},{status:500});let{pages:e,theme:a}=t,o=e?.error&&n.url.searchParams.get("callbackUrl")?.startsWith(e.error);if(!e?.error||o)return o&&r.error(new p.Mq(`The error page ${e?.error} should not require authentication`)),tU(rL({theme:a}).error("Configuration"));let s=`${n.url.origin}${e.error}?error=Configuration`;return Response.redirect(s)}let a=e.headers?.has("X-Auth-Return-Redirect"),o=t.raw===tD;try{let e=await iZ(n,t);if(o)return e;let r=tU(e),i=r.headers.get("Location");if(!a||!i)return r;return Response.json({url:i},{headers:r.headers})}catch(d){r.error(d);let i=d instanceof p.l4;if(i&&o&&!a)throw d;if("POST"===e.method&&"session"===n.action)return Response.json(null,{status:400});let s=new URLSearchParams({error:(0,p.pI)(d)?d.type:"Configuration"});d instanceof p.UC&&s.set("code",d.code);let c=i&&d.kind||"error",l=t.pages?.[c]??`${t.basePath}/${c.toLowerCase()}`,u=`${n.url.origin}${l}?${s}`;if(a)return Response.json({url:u});return Response.redirect(u)}}var i2=r(99027),i5=r(25566);function i6(e){let t=i5.env.AUTH_URL??i5.env.NEXTAUTH_URL;if(!t)return e;let{origin:r}=new URL(t),{href:n,origin:i}=e.nextUrl;return new i2.NextRequest(n.replace(i,r),e)}function i8(e){try{e.secret??(e.secret=i5.env.AUTH_SECRET??i5.env.NEXTAUTH_SECRET);let t=i5.env.AUTH_URL??i5.env.NEXTAUTH_URL;if(!t)return;let{pathname:r}=new URL(t);if("/"===r)return;e.basePath||(e.basePath=r)}catch{}finally{e.basePath||(e.basePath="/api/auth"),function(e,t,r=!1){try{let n=e.AUTH_URL;n&&(t.basePath?r||tE(t).warn("env-url-basepath-redundant"):t.basePath=new URL(n).pathname)}catch{}finally{t.basePath??(t.basePath="/auth")}if(!t.secret?.length){t.secret=[];let r=e.AUTH_SECRET;for(let n of(r&&t.secret.push(r),[1,2,3])){let r=e[`AUTH_SECRET_${n}`];r&&t.secret.unshift(r)}}t.redirectProxyUrl??(t.redirectProxyUrl=e.AUTH_REDIRECT_PROXY_URL),t.trustHost??(t.trustHost=!!(e.AUTH_URL??e.AUTH_TRUST_HOST??e.VERCEL??e.CF_PAGES??"production"!==e.NODE_ENV)),t.providers=t.providers.map(t=>{let{id:r}="function"==typeof t?t({}):t,n=r.toUpperCase().replace(/-/g,"_"),i=e[`AUTH_${n}_ID`],a=e[`AUTH_${n}_SECRET`],o=e[`AUTH_${n}_ISSUER`],s=e[`AUTH_${n}_KEY`],c="function"==typeof t?t({clientId:i,clientSecret:a,issuer:o,apiKey:s}):t;return"oauth"===c.type||"oidc"===c.type?(c.clientId??(c.clientId=i),c.clientSecret??(c.clientSecret=a),c.issuer??(c.issuer=o)):"email"===c.type&&(c.apiKey??(c.apiKey=s)),c})}(i5.env,e,!0)}}var i4=r(72439),i3=r(25566);async function i9(e,t){return i1(new Request(i0("session",e.get("x-forwarded-proto"),e,i3.env,t),{headers:{cookie:e.get("cookie")??""}}),{...t,callbacks:{...t.callbacks,async session(...e){let r=await t.callbacks?.session?.(...e)??{...e[0].session,expires:e[0].session.expires?.toISOString?.()??e[0].session.expires};return{user:e[0].user??e[0].token,...r}}}})}function i7(e){return"function"==typeof e}function ae(e,t){return"function"==typeof e?async(...r)=>{if(!r.length){let r=await (0,i4.headers)(),n=await e(void 0);return t?.(n),i9(r,n).then(e=>e.json())}if(r[0]instanceof Request){let n=r[0],i=r[1],a=await e(n);return t?.(a),at([n,i],a)}if(i7(r[0])){let n=r[0];return async(...r)=>{let i=await e(r[0]);return t?.(i),at(r,i,n)}}let n="req"in r[0]?r[0].req:r[0],i="res"in r[0]?r[0].res:r[1],a=await e(n);return t?.(a),i9(new Headers(n.headers),a).then(async e=>{let t=await e.json();for(let t of e.headers.getSetCookie())"headers"in i?i.headers.append("set-cookie",t):i.appendHeader("set-cookie",t);return t})}:(...t)=>{if(!t.length)return Promise.resolve((0,i4.headers)()).then(t=>i9(t,e).then(e=>e.json()));if(t[0]instanceof Request)return at([t[0],t[1]],e);if(i7(t[0])){let r=t[0];return async(...t)=>at(t,e,r).then(e=>e)}let r="req"in t[0]?t[0].req:t[0],n="res"in t[0]?t[0].res:t[1];return i9(new Headers(r.headers),e).then(async e=>{let t=await e.json();for(let t of e.headers.getSetCookie())"headers"in n?n.headers.append("set-cookie",t):n.appendHeader("set-cookie",t);return t})}}async function at(e,t,r){let n=i6(e[0]),i=await i9(n.headers,t),a=await i.json(),o=!0;t.callbacks?.authorized&&(o=await t.callbacks.authorized({request:n,auth:a}));let s=i2.NextResponse.next?.();if(o instanceof Response){s=o;let e=o.headers.get("Location"),{pathname:r}=n.nextUrl;e&&function(e,t,r){let n=t.replace(`${e}/`,""),i=Object.values(r.pages??{});return(ar.has(n)||i.includes(t))&&t===e}(r,new URL(e).pathname,t)&&(o=!0)}else if(r)n.auth=a,s=await r(n,e[1])??i2.NextResponse.next();else if(!o){let e=t.pages?.signIn??`${t.basePath}/signin`;if(n.nextUrl.pathname!==e){let t=n.nextUrl.clone();t.pathname=e,t.searchParams.set("callbackUrl",n.nextUrl.href),s=i2.NextResponse.redirect(t)}}let c=new Response(s?.body,s);for(let e of i.headers.getSetCookie())c.headers.append("set-cookie",e);return c}let ar=new Set(["providers","session","csrf","signin","signout","callback","verify-request","error"]);var an=r(99376),ai=r(25566);async function aa(e,t={},r,n){let i=new Headers(await (0,i4.headers)()),{redirect:a=!0,redirectTo:o,...s}=t instanceof FormData?Object.fromEntries(t):t,c=o?.toString()??i.get("Referer")??"/",l=i0("signin",i.get("x-forwarded-proto"),i,ai.env,n);if(!e)return l.searchParams.append("callbackUrl",c),a&&(0,an.redirect)(l.toString()),l.toString();let u=`${l}/${e}?${new URLSearchParams(r)}`,d={};for(let t of n.providers){let{options:r,...n}="function"==typeof t?t():t,i=r?.id??n.id;if(i===e){d={id:i,type:r?.type??n.type};break}}if(!d.id){let e=`${l}?${new URLSearchParams({callbackUrl:c})}`;return a&&(0,an.redirect)(e),e}"credentials"===d.type&&(u=u.replace("signin","callback")),i.set("Content-Type","application/x-www-form-urlencoded");
368let p=new Request(u,{method:"POST",headers:i,body:new URLSearchParams({...s,callbackUrl:c})}),h=await i1(p,{...n,raw:tD,skipCSRFCheck:tW}),f=await (0,i4.cookies)();for(let e of h?.cookies??[])f.set(e.name,e.value,e.options);let y=(h instanceof Response?h.headers.get("Location"):h.redirect)??u;return a?(0,an.redirect)(y):y}async function ao(e,t){let r=new Headers(await (0,i4.headers)());r.set("Content-Type","application/x-www-form-urlencoded");let n=i0("signout",r.get("x-forwarded-proto"),r,ai.env,t),i=new URLSearchParams({callbackUrl:e?.redirectTo??r.get("Referer")??"/"}),a=new Request(n,{method:"POST",headers:r,body:i}),o=await i1(a,{...t,raw:tD,skipCSRFCheck:tW}),s=await (0,i4.cookies)();for(let e of o?.cookies??[])s.set(e.name,e.value,e.options);return e?.redirect??!0?(0,an.redirect)(o.redirect):o}async function as(e,t){let r=new Headers(await (0,i4.headers)());r.set("Content-Type","application/json");let n=new Request(i0("session",r.get("x-forwarded-proto"),r,ai.env,t),{method:"POST",headers:r,body:JSON.stringify({data:e})}),i=await i1(n,{...t,raw:tD,skipCSRFCheck:tW}),a=await (0,i4.cookies)();for(let e of i?.cookies??[])a.set(e.name,e.value,e.options);return i.body}function ac(e){if("function"==typeof e){let t=async t=>{let r=await e(t);return i8(r),i1(i6(t),r)};return{handlers:{GET:t,POST:t},auth:ae(e,e=>i8(e)),signIn:async(t,r,n)=>{let i=await e(void 0);return i8(i),aa(t,r,n,i)},signOut:async t=>{let r=await e(void 0);return i8(r),ao(t,r)},unstable_update:async t=>{let r=await e(void 0);return i8(r),as(t,r)}}}i8(e);let t=t=>i1(i6(t),e);return{handlers:{GET:t,POST:t},auth:ae(e),signIn:(t,r,n)=>aa(t,r,n,e),signOut:t=>ao(t,e),unstable_update:t=>as(t,e)}}}}]);
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.