@wandelbots/wandelbots-js-react-components 4.3.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/3d.cjs.js +1 -1
- package/dist/3d.es.js +1 -1
- package/dist/{MotionGroupVisualizer-BgvrTXeT.js → MotionGroupVisualizer-Catdk92m.js} +339 -376
- package/dist/{MotionGroupVisualizer-BgvrTXeT.js.map → MotionGroupVisualizer-Catdk92m.js.map} +1 -1
- package/dist/MotionGroupVisualizer-DePl371W.cjs +2 -0
- package/dist/{MotionGroupVisualizer-C_fyiA-X.cjs.map → MotionGroupVisualizer-DePl371W.cjs.map} +1 -1
- package/dist/{auth0-spa-js.production.esm-mvPojIrB.js → auth0-spa-js.production.esm-DNao6_S5.js} +1478 -1457
- package/dist/auth0-spa-js.production.esm-DNao6_S5.js.map +1 -0
- package/dist/auth0-spa-js.production.esm-DaBMfOV8.cjs +5 -0
- package/dist/auth0-spa-js.production.esm-DaBMfOV8.cjs.map +1 -0
- package/dist/components/robots/MotionGroupVisualizer.d.ts.map +1 -1
- package/dist/core.cjs.js +1 -1
- package/dist/core.es.js +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +3 -3
- package/dist/{interpolation-6ZZN4S_x.js → interpolation-Chyc6Hfo.js} +3054 -2868
- package/dist/interpolation-Chyc6Hfo.js.map +1 -0
- package/dist/interpolation-CiEw5jkz.cjs +20 -0
- package/dist/interpolation-CiEw5jkz.cjs.map +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
- package/dist/{theming-gUgI75AD.js → theming-CZbXnFej.js} +2 -2
- package/dist/{theming-gUgI75AD.js.map → theming-CZbXnFej.js.map} +1 -1
- package/dist/{theming-Cqo-msxF.cjs → theming-b98f6nXs.cjs} +2 -2
- package/dist/{theming-Cqo-msxF.cjs.map → theming-b98f6nXs.cjs.map} +1 -1
- package/package.json +2 -3
- package/src/components/robots/MotionGroupVisualizer.tsx +33 -75
- package/dist/MotionGroupVisualizer-C_fyiA-X.cjs +0 -2
- package/dist/auth0-spa-js.production.esm-D_IhPirK.cjs +0 -5
- package/dist/auth0-spa-js.production.esm-D_IhPirK.cjs.map +0 -1
- package/dist/auth0-spa-js.production.esm-mvPojIrB.js.map +0 -1
- package/dist/interpolation-6ZZN4S_x.js.map +0 -1
- package/dist/interpolation-CyO6DaVa.cjs +0 -20
- package/dist/interpolation-CyO6DaVa.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth0-spa-js.production.esm-mvPojIrB.js","sources":["../node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js"],"sourcesContent":["function e(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n}\"function\"==typeof SuppressedError&&SuppressedError;const t={timeoutInSeconds:60},n={name:\"auth0-spa-js\",version:\"2.15.0\"},o=()=>Date.now();class r extends Error{constructor(e,t){super(t),this.error=e,this.error_description=t,Object.setPrototypeOf(this,r.prototype)}static fromPayload(e){let{error:t,error_description:n}=e;return new r(t,n)}}class i extends r{constructor(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;super(e,t),this.state=n,this.appState=o,Object.setPrototypeOf(this,i.prototype)}}class a extends r{constructor(e,t,n,o){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;super(e,t),this.connection=n,this.state=o,this.appState=r,Object.setPrototypeOf(this,a.prototype)}}class s extends r{constructor(){super(\"timeout\",\"Timeout\"),Object.setPrototypeOf(this,s.prototype)}}class c extends s{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,c.prototype)}}class u extends r{constructor(e){super(\"cancelled\",\"Popup closed\"),this.popup=e,Object.setPrototypeOf(this,u.prototype)}}class l extends r{constructor(){super(\"popup_open\",\"Unable to open a popup for loginWithPopup - window.open returned `null`\"),Object.setPrototypeOf(this,l.prototype)}}class d extends r{constructor(e,t,n,o){super(e,t),this.mfa_token=n,this.mfa_requirements=o,Object.setPrototypeOf(this,d.prototype)}}class h extends r{constructor(e,t){super(\"missing_refresh_token\",\"Missing Refresh Token (audience: '\".concat(m(e,[\"default\"]),\"', scope: '\").concat(m(t),\"')\")),this.audience=e,this.scope=t,Object.setPrototypeOf(this,h.prototype)}}class p extends r{constructor(e,t){super(\"missing_scopes\",\"Missing requested scopes after refresh (audience: '\".concat(m(e,[\"default\"]),\"', missing scope: '\").concat(m(t),\"')\")),this.audience=e,this.scope=t,Object.setPrototypeOf(this,p.prototype)}}class f extends r{constructor(e){super(\"use_dpop_nonce\",\"Server rejected DPoP proof: wrong nonce\"),this.newDpopNonce=e,Object.setPrototypeOf(this,f.prototype)}}function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e&&!t.includes(e)?e:\"\"}const y=()=>window.crypto,w=()=>{const e=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.\";let t=\"\";return Array.from(y().getRandomValues(new Uint8Array(43))).forEach((n=>t+=e[n%e.length])),t},g=e=>btoa(e),v=[{key:\"name\",type:[\"string\"]},{key:\"version\",type:[\"string\",\"number\"]},{key:\"env\",type:[\"object\"]}],b=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return Object.keys(e).reduce(((n,o)=>{if(t&&\"env\"===o)return n;const r=v.find((e=>e.key===o));return r&&r.type.includes(typeof e[o])&&(n[o]=e[o]),n}),{})},_=t=>{var{clientId:n}=t,o=e(t,[\"clientId\"]);return new URLSearchParams((e=>Object.keys(e).filter((t=>void 0!==e[t])).reduce(((t,n)=>Object.assign(Object.assign({},t),{[n]:e[n]})),{}))(Object.assign({client_id:n},o))).toString()},k=async e=>{const t=y().subtle.digest({name:\"SHA-256\"},(new TextEncoder).encode(e));return await t},S=e=>(e=>decodeURIComponent(atob(e).split(\"\").map((e=>\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2))).join(\"\")))(e.replace(/_/g,\"/\").replace(/-/g,\"+\")),E=e=>{const t=new Uint8Array(e);return(e=>{const t={\"+\":\"-\",\"/\":\"_\",\"=\":\"\"};return e.replace(/[+/=]/g,(e=>t[e]))})(window.btoa(String.fromCharCode(...Array.from(t))))};var A=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},T={},P={};Object.defineProperty(P,\"__esModule\",{value:!0});var R=function(){function e(){var e=this;this.locked=new Map,this.addToLocked=function(t,n){var o=e.locked.get(t);void 0===o?void 0===n?e.locked.set(t,[]):e.locked.set(t,[n]):void 0!==n&&(o.unshift(n),e.locked.set(t,o))},this.isLocked=function(t){return e.locked.has(t)},this.lock=function(t){return new Promise((function(n,o){e.isLocked(t)?e.addToLocked(t,n):(e.addToLocked(t),n())}))},this.unlock=function(t){var n=e.locked.get(t);if(void 0!==n&&0!==n.length){var o=n.pop();e.locked.set(t,n),void 0!==o&&setTimeout(o,0)}else e.locked.delete(t)}}return e.getInstance=function(){return void 0===e.instance&&(e.instance=new e),e.instance},e}();P.default=function(){return R.getInstance()};var I=A&&A.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):new n((function(t){t(e.value)})).then(a,s)}c((o=o.apply(e,t||[])).next())}))},x=A&&A.__generator||function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError(\"Generator is already executing.\");for(;a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},O=A;Object.defineProperty(T,\"__esModule\",{value:!0});var C=P,j={key:function(e){return I(O,void 0,void 0,(function(){return x(this,(function(e){throw new Error(\"Unsupported\")}))}))},getItem:function(e){return I(O,void 0,void 0,(function(){return x(this,(function(e){throw new Error(\"Unsupported\")}))}))},clear:function(){return I(O,void 0,void 0,(function(){return x(this,(function(e){return[2,window.localStorage.clear()]}))}))},removeItem:function(e){return I(O,void 0,void 0,(function(){return x(this,(function(e){throw new Error(\"Unsupported\")}))}))},setItem:function(e,t){return I(O,void 0,void 0,(function(){return x(this,(function(e){throw new Error(\"Unsupported\")}))}))},keySync:function(e){return window.localStorage.key(e)},getItemSync:function(e){return window.localStorage.getItem(e)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(e){return window.localStorage.removeItem(e)},setItemSync:function(e,t){return window.localStorage.setItem(e,t)}};function D(e){return new Promise((function(t){return setTimeout(t,e)}))}function K(e){for(var t=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\",n=\"\",o=0;o<e;o++){n+=t[Math.floor(Math.random()*t.length)]}return n}var L=function(){function e(t){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+K(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=t,void 0===e.waiters&&(e.waiters=[])}return e.prototype.acquireLock=function(t,n){return void 0===n&&(n=5e3),I(this,void 0,void 0,(function(){var o,r,i,a,s,c,u;return x(this,(function(l){switch(l.label){case 0:o=Date.now()+K(4),r=Date.now()+n,i=\"browser-tabs-lock-key-\"+t,a=void 0===this.storageHandler?j:this.storageHandler,l.label=1;case 1:return Date.now()<r?[4,D(30)]:[3,8];case 2:return l.sent(),null!==a.getItemSync(i)?[3,5]:(s=this.id+\"-\"+t+\"-\"+o,[4,D(Math.floor(25*Math.random()))]);case 3:return l.sent(),a.setItemSync(i,JSON.stringify({id:this.id,iat:o,timeoutKey:s,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,D(30)];case 4:return l.sent(),null!==(c=a.getItemSync(i))&&(u=JSON.parse(c)).id===this.id&&u.iat===o?(this.acquiredIatSet.add(o),this.refreshLockWhileAcquired(i,o),[2,!0]):[3,7];case 5:return e.lockCorrector(void 0===this.storageHandler?j:this.storageHandler),[4,this.waitForSomethingToChange(r)];case 6:l.sent(),l.label=7;case 7:return o=Date.now()+K(4),[3,1];case 8:return[2,!1]}}))}))},e.prototype.refreshLockWhileAcquired=function(e,t){return I(this,void 0,void 0,(function(){var n=this;return x(this,(function(o){return setTimeout((function(){return I(n,void 0,void 0,(function(){var n,o,r;return x(this,(function(i){switch(i.label){case 0:return[4,C.default().lock(t)];case 1:return i.sent(),this.acquiredIatSet.has(t)?(n=void 0===this.storageHandler?j:this.storageHandler,null===(o=n.getItemSync(e))?(C.default().unlock(t),[2]):((r=JSON.parse(o)).timeRefreshed=Date.now(),n.setItemSync(e,JSON.stringify(r)),C.default().unlock(t),this.refreshLockWhileAcquired(e,t),[2])):(C.default().unlock(t),[2])}}))}))}),1e3),[2]}))}))},e.prototype.waitForSomethingToChange=function(t){return I(this,void 0,void 0,(function(){return x(this,(function(n){switch(n.label){case 0:return[4,new Promise((function(n){var o=!1,r=Date.now(),i=!1;function a(){if(i||(window.removeEventListener(\"storage\",a),e.removeFromWaiting(a),clearTimeout(s),i=!0),!o){o=!0;var t=50-(Date.now()-r);t>0?setTimeout(n,t):n(null)}}window.addEventListener(\"storage\",a),e.addToWaiting(a);var s=setTimeout(a,Math.max(0,t-Date.now()))}))];case 1:return n.sent(),[2]}}))}))},e.addToWaiting=function(t){this.removeFromWaiting(t),void 0!==e.waiters&&e.waiters.push(t)},e.removeFromWaiting=function(t){void 0!==e.waiters&&(e.waiters=e.waiters.filter((function(e){return e!==t})))},e.notifyWaiters=function(){void 0!==e.waiters&&e.waiters.slice().forEach((function(e){return e()}))},e.prototype.releaseLock=function(e){return I(this,void 0,void 0,(function(){return x(this,(function(t){switch(t.label){case 0:return[4,this.releaseLock__private__(e)];case 1:return[2,t.sent()]}}))}))},e.prototype.releaseLock__private__=function(t){return I(this,void 0,void 0,(function(){var n,o,r,i;return x(this,(function(a){switch(a.label){case 0:return n=void 0===this.storageHandler?j:this.storageHandler,o=\"browser-tabs-lock-key-\"+t,null===(r=n.getItemSync(o))?[2]:(i=JSON.parse(r)).id!==this.id?[3,2]:[4,C.default().lock(i.iat)];case 1:a.sent(),this.acquiredIatSet.delete(i.iat),n.removeItemSync(o),C.default().unlock(i.iat),e.notifyWaiters(),a.label=2;case 2:return[2]}}))}))},e.lockCorrector=function(t){for(var n=Date.now()-5e3,o=t,r=[],i=0;;){var a=o.keySync(i);if(null===a)break;r.push(a),i++}for(var s=!1,c=0;c<r.length;c++){var u=r[c];if(u.includes(\"browser-tabs-lock-key\")){var l=o.getItemSync(u);if(null!==l){var d=JSON.parse(l);(void 0===d.timeRefreshed&&d.timeAcquired<n||void 0!==d.timeRefreshed&&d.timeRefreshed<n)&&(o.removeItemSync(u),s=!0)}}}s&&e.notifyWaiters()},e.waiters=void 0,e}(),U=T.default=L;class N{async runWithLock(e,t,n){const o=new AbortController,r=setTimeout((()=>o.abort()),t);try{return await navigator.locks.request(e,{mode:\"exclusive\",signal:o.signal},(async e=>{if(clearTimeout(r),!e)throw new Error(\"Lock not available\");return await n()}))}catch(e){if(clearTimeout(r),\"AbortError\"===(null==e?void 0:e.name))throw new s;throw e}}}class W{constructor(){this.activeLocks=new Set,this.lock=new U,this.pagehideHandler=()=>{this.activeLocks.forEach((e=>this.lock.releaseLock(e))),this.activeLocks.clear()}}async runWithLock(e,t,n){let o=!1;for(let n=0;n<10&&!o;n++)o=await this.lock.acquireLock(e,t);if(!o)throw new s;this.activeLocks.add(e),1===this.activeLocks.size&&\"undefined\"!=typeof window&&window.addEventListener(\"pagehide\",this.pagehideHandler);try{return await n()}finally{this.activeLocks.delete(e),await this.lock.releaseLock(e),0===this.activeLocks.size&&\"undefined\"!=typeof window&&window.removeEventListener(\"pagehide\",this.pagehideHandler)}}}function z(){return\"undefined\"!=typeof navigator&&\"function\"==typeof(null===(e=navigator.locks)||void 0===e?void 0:e.request)?new N:new W;var e}let H=null;const M=new TextEncoder,J=new TextDecoder;function V(e){return\"string\"==typeof e?M.encode(e):J.decode(e)}function F(e){if(\"number\"!=typeof e.modulusLength||e.modulusLength<2048)throw new X(`${e.name} modulusLength must be at least 2048 bits`)}async function G(e,t,n){if(!1===n.usages.includes(\"sign\"))throw new TypeError('private CryptoKey instances used for signing assertions must include \"sign\" in their \"usages\"');const o=`${q(V(JSON.stringify(e)))}.${q(V(JSON.stringify(t)))}`;return`${o}.${q(await crypto.subtle.sign(function(e){switch(e.algorithm.name){case\"ECDSA\":return{name:e.algorithm.name,hash:\"SHA-256\"};case\"RSA-PSS\":return F(e.algorithm),{name:e.algorithm.name,saltLength:32};case\"RSASSA-PKCS1-v1_5\":return F(e.algorithm),{name:e.algorithm.name};case\"Ed25519\":return{name:e.algorithm.name}}throw new B}(n),n,V(o)))}`}let Z;if(Uint8Array.prototype.toBase64)Z=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:\"base64url\",omitPadding:!0}));else{const e=32768;Z=t=>{t instanceof ArrayBuffer&&(t=new Uint8Array(t));const n=[];for(let o=0;o<t.byteLength;o+=e)n.push(String.fromCharCode.apply(null,t.subarray(o,o+e)));return btoa(n.join(\"\")).replace(/=/g,\"\").replace(/\\+/g,\"-\").replace(/\\//g,\"_\")}}function q(e){return Z(e)}class B extends Error{constructor(e){var t;super(null!=e?e:\"operation not supported\"),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}class X extends Error{constructor(e){var t;super(e),this.name=this.constructor.name,null===(t=Error.captureStackTrace)||void 0===t||t.call(Error,this,this.constructor)}}function Y(e){switch(e.algorithm.name){case\"RSA-PSS\":return function(e){if(\"SHA-256\"===e.algorithm.hash.name)return\"PS256\";throw new B(\"unsupported RsaHashedKeyAlgorithm hash name\")}(e);case\"RSASSA-PKCS1-v1_5\":return function(e){if(\"SHA-256\"===e.algorithm.hash.name)return\"RS256\";throw new B(\"unsupported RsaHashedKeyAlgorithm hash name\")}(e);case\"ECDSA\":return function(e){if(\"P-256\"===e.algorithm.namedCurve)return\"ES256\";throw new B(\"unsupported EcKeyAlgorithm namedCurve\")}(e);case\"Ed25519\":return\"Ed25519\";default:throw new B(\"unsupported CryptoKey algorithm name\")}}function Q(e){return e instanceof CryptoKey}function $(e){return Q(e)&&\"public\"===e.type}async function ee(e,t,n,o,r,i){const a=null==e?void 0:e.privateKey,s=null==e?void 0:e.publicKey;if(!Q(c=a)||\"private\"!==c.type)throw new TypeError('\"keypair.privateKey\" must be a private CryptoKey');var c;if(!$(s))throw new TypeError('\"keypair.publicKey\" must be a public CryptoKey');if(!0!==s.extractable)throw new TypeError('\"keypair.publicKey.extractable\" must be true');if(\"string\"!=typeof t)throw new TypeError('\"htu\" must be a string');if(\"string\"!=typeof n)throw new TypeError('\"htm\" must be a string');if(void 0!==o&&\"string\"!=typeof o)throw new TypeError('\"nonce\" must be a string or undefined');if(void 0!==r&&\"string\"!=typeof r)throw new TypeError('\"accessToken\" must be a string or undefined');if(void 0!==i&&(\"object\"!=typeof i||null===i||Array.isArray(i)))throw new TypeError('\"additional\" must be an object');return G({alg:Y(a),typ:\"dpop+jwt\",jwk:await te(s)},Object.assign(Object.assign({},i),{iat:Math.floor(Date.now()/1e3),jti:crypto.randomUUID(),htm:n,nonce:o,htu:t,ath:r?q(await crypto.subtle.digest(\"SHA-256\",V(r))):void 0}),a)}async function te(e){const{kty:t,e:n,n:o,x:r,y:i,crv:a}=await crypto.subtle.exportKey(\"jwk\",e);return{kty:t,crv:a,e:n,n:o,x:r,y:i}}const ne=[\"authorization_code\",\"refresh_token\",\"urn:ietf:params:oauth:grant-type:token-exchange\",\"http://auth0.com/oauth/grant-type/mfa-oob\",\"http://auth0.com/oauth/grant-type/mfa-otp\",\"http://auth0.com/oauth/grant-type/mfa-recovery-code\"];function oe(){return async function(e,t){var n;let o;if(\"string\"!=typeof e||0===e.length)throw new TypeError('\"alg\" must be a non-empty string');switch(e){case\"PS256\":o={name:\"RSA-PSS\",hash:\"SHA-256\",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])};break;case\"RS256\":o={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-256\",modulusLength:2048,publicExponent:new Uint8Array([1,0,1])};break;case\"ES256\":o={name:\"ECDSA\",namedCurve:\"P-256\"};break;case\"Ed25519\":o={name:\"Ed25519\"};break;default:throw new B}return crypto.subtle.generateKey(o,null!==(n=null==t?void 0:t.extractable)&&void 0!==n&&n,[\"sign\",\"verify\"])}(\"ES256\",{extractable:!1})}function re(e){return async function(e){if(!$(e))throw new TypeError('\"publicKey\" must be a public CryptoKey');if(!0!==e.extractable)throw new TypeError('\"publicKey.extractable\" must be true');const t=await te(e);let n;switch(t.kty){case\"EC\":n={crv:t.crv,kty:t.kty,x:t.x,y:t.y};break;case\"OKP\":n={crv:t.crv,kty:t.kty,x:t.x};break;case\"RSA\":n={e:t.e,kty:t.kty,n:t.n};break;default:throw new B(\"unsupported JWK kty\")}return q(await crypto.subtle.digest({name:\"SHA-256\"},V(JSON.stringify(n))))}(e.publicKey)}function ie(e){let{keyPair:t,url:n,method:o,nonce:r,accessToken:i}=e;const a=function(e){const t=new URL(e);return t.search=\"\",t.hash=\"\",t.href}(n);return ee(t,a,o,r,i)}const ae=async(e,t)=>{const n=await fetch(e,t);return{ok:n.ok,json:await n.json(),headers:(o=n.headers,[...o].reduce(((e,t)=>{let[n,o]=t;return e[n]=o,e}),{}))};var o},se=async(e,t,n)=>{const o=new AbortController;let r;return t.signal=o.signal,Promise.race([ae(e,t),new Promise(((e,t)=>{r=setTimeout((()=>{o.abort(),t(new Error(\"Timeout when executing 'fetch'\"))}),n)}))]).finally((()=>{clearTimeout(r)}))},ce=async(e,t,n,o,r,i,a,s)=>((e,t)=>new Promise((function(n,o){const r=new MessageChannel;r.port1.onmessage=function(e){e.data.error?o(new Error(e.data.error)):n(e.data),r.port1.close()},t.postMessage(e,[r.port2])})))({auth:{audience:t,scope:n},timeout:r,fetchUrl:e,fetchOptions:o,useFormData:a,useMrrt:s},i),ue=async function(e,t,n,o,r,i){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1e4,s=arguments.length>7?arguments[7]:void 0;return r?ce(e,t,n,o,a,r,i,s):se(e,o,a)};async function le(t,n,o,i,a,s,c,u,l,p){if(l){const e=await l.generateProof({url:t,method:a.method||\"GET\",nonce:await l.getNonce()});a.headers=Object.assign(Object.assign({},a.headers),{dpop:e})}let m,y=null;for(let e=0;e<3;e++)try{m=await ue(t,o,i,a,s,c,n,u),y=null;break}catch(e){y=e}if(y)throw y;const w=m.json,{error:g,error_description:v}=w,b=e(w,[\"error\",\"error_description\"]),{headers:_,ok:k}=m;let S;if(l&&(S=_[\"dpop-nonce\"],S&&await l.setNonce(S)),!k){const e=v||\"HTTP error. Unable to fetch \".concat(t);if(\"mfa_required\"===g)throw new d(g,e,b.mfa_token,b.mfa_requirements);if(\"missing_refresh_token\"===g)throw new h(o,i);if(\"use_dpop_nonce\"===g){if(!l||!S||p)throw new f(S);return le(t,n,o,i,a,s,c,u,l,!0)}throw new r(g||\"request_error\",e)}return b}async function de(t,o){var{baseUrl:r,timeout:i,audience:a,scope:s,auth0Client:c,useFormData:u,useMrrt:l,dpop:d}=t,h=e(t,[\"baseUrl\",\"timeout\",\"audience\",\"scope\",\"auth0Client\",\"useFormData\",\"useMrrt\",\"dpop\"]);const p=\"urn:ietf:params:oauth:grant-type:token-exchange\"===h.grant_type,f=\"refresh_token\"===h.grant_type&&l,m=Object.assign(Object.assign(Object.assign(Object.assign({},h),p&&a&&{audience:a}),p&&s&&{scope:s}),f&&{audience:a,scope:s}),y=u?_(m):JSON.stringify(m),w=(g=h.grant_type,ne.includes(g));var g;return await le(\"\".concat(r,\"/oauth/token\"),i,a||\"default\",s,{method:\"POST\",body:y,headers:{\"Content-Type\":u?\"application/x-www-form-urlencoded\":\"application/json\",\"Auth0-Client\":btoa(JSON.stringify(b(c||n)))}},o,u,l,w?d:void 0)}const he=e=>Array.from(new Set(e)),pe=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return he(t.filter(Boolean).join(\" \").trim().split(/\\s+/)).join(\" \")},fe=(e,t,n)=>{let o;return n&&(o=e[n]),o||(o=e.default),pe(o,t)};class me{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"@@auth0spajs@@\",n=arguments.length>2?arguments[2]:void 0;this.prefix=t,this.suffix=n,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join(\"::\")}static fromKey(e){const[t,n,o,r]=e.split(\"::\");return new me({clientId:n,scope:r,audience:o},t)}static fromCacheEntry(e){const{scope:t,audience:n,client_id:o}=e;return new me({scope:t,audience:n,clientId:o})}}class ye{set(e,t){localStorage.setItem(e,JSON.stringify(t))}get(e){const t=window.localStorage.getItem(e);if(t)try{return JSON.parse(t)}catch(e){return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter((e=>e.startsWith(\"@@auth0spajs@@\")))}}class we{constructor(){this.enclosedCache=function(){let e={};return{set(t,n){e[t]=n},get(t){const n=e[t];if(n)return n},remove(t){delete e[t]},allKeys:()=>Object.keys(e)}}()}}class ge{constructor(e,t,n){this.cache=e,this.keyManifest=t,this.nowProvider=n||o}async setIdToken(e,t,n){var o;const r=this.getIdTokenCacheKey(e);await this.cache.set(r,{id_token:t,decodedToken:n}),await(null===(o=this.keyManifest)||void 0===o?void 0:o.add(r))}async getIdToken(e){const t=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!t&&e.scope&&e.audience){const t=await this.get(e);if(!t)return;if(!t.id_token||!t.decodedToken)return;return{id_token:t.id_token,decodedToken:t.decodedToken}}if(t)return{id_token:t.id_token,decodedToken:t.decodedToken}}async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3?arguments[3]:void 0;var r;let i=await this.cache.get(e.toKey());if(!i){const t=await this.getCacheKeys();if(!t)return;const r=this.matchExistingCacheKey(e,t);if(r&&(i=await this.cache.get(r)),!i&&n&&\"cache-only\"!==o)return this.getEntryWithRefreshToken(e,t)}if(!i)return;const a=await this.nowProvider(),s=Math.floor(a/1e3);return i.expiresAt-t<s?i.body.refresh_token?this.modifiedCachedEntry(i,e):(await this.cache.remove(e.toKey()),void await(null===(r=this.keyManifest)||void 0===r?void 0:r.remove(e.toKey()))):i.body}async modifiedCachedEntry(e,t){return e.body={refresh_token:e.body.refresh_token,audience:e.body.audience,scope:e.body.scope},await this.cache.set(t.toKey(),e),{refresh_token:e.body.refresh_token,audience:e.body.audience,scope:e.body.scope}}async set(e){var t;const n=new me({clientId:e.client_id,scope:e.scope,audience:e.audience}),o=await this.wrapCacheEntry(e);await this.cache.set(n.toKey(),o),await(null===(t=this.keyManifest)||void 0===t?void 0:t.add(n.toKey()))}async remove(e,t,n){const o=new me({clientId:e,scope:n,audience:t});await this.cache.remove(o.toKey())}async clear(e){var t;const n=await this.getCacheKeys();n&&(await n.filter((t=>!e||t.includes(e))).reduce((async(e,t)=>{await e,await this.cache.remove(t)}),Promise.resolve()),await(null===(t=this.keyManifest)||void 0===t?void 0:t.clear()))}async wrapCacheEntry(e){const t=await this.nowProvider();return{body:e,expiresAt:Math.floor(t/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?null===(e=await this.keyManifest.get())||void 0===e?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new me({clientId:e},\"@@auth0spajs@@\",\"@@user@@\").toKey()}matchExistingCacheKey(e,t){return t.filter((t=>{var n;const o=me.fromKey(t),r=new Set(o.scope&&o.scope.split(\" \")),i=(null===(n=e.scope)||void 0===n?void 0:n.split(\" \"))||[],a=o.scope&&i.reduce(((e,t)=>e&&r.has(t)),!0);return\"@@auth0spajs@@\"===o.prefix&&o.clientId===e.clientId&&o.audience===e.audience&&a}))[0]}async getEntryWithRefreshToken(e,t){var n;for(const o of t){const t=me.fromKey(o);if(\"@@auth0spajs@@\"===t.prefix&&t.clientId===e.clientId){const t=await this.cache.get(o);if(null===(n=null==t?void 0:t.body)||void 0===n?void 0:n.refresh_token)return this.modifiedCachedEntry(t,e)}}}async updateEntry(e,t){var n;const o=await this.getCacheKeys();if(o)for(const r of o){const o=await this.cache.get(r);(null===(n=null==o?void 0:o.body)||void 0===n?void 0:n.refresh_token)===e&&(o.body.refresh_token=t,await this.cache.set(r,o))}}}class ve{constructor(e,t,n){this.storage=e,this.clientId=t,this.cookieDomain=n,this.storageKey=\"\".concat(\"a0.spajs.txs\",\".\").concat(this.clientId)}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}}const be=e=>\"number\"==typeof e,_e=[\"iss\",\"aud\",\"exp\",\"nbf\",\"iat\",\"jti\",\"azp\",\"nonce\",\"auth_time\",\"at_hash\",\"c_hash\",\"acr\",\"amr\",\"sub_jwk\",\"cnf\",\"sip_from_tag\",\"sip_date\",\"sip_callid\",\"sip_cseq_num\",\"sip_via_branch\",\"orig\",\"dest\",\"mky\",\"events\",\"toe\",\"txn\",\"rph\",\"sid\",\"vot\",\"vtm\"],ke=e=>{if(!e.id_token)throw new Error(\"ID token is required but missing\");const t=(e=>{const t=e.split(\".\"),[n,o,r]=t;if(3!==t.length||!n||!o||!r)throw new Error(\"ID token could not be decoded\");const i=JSON.parse(S(o)),a={__raw:e},s={};return Object.keys(i).forEach((e=>{a[e]=i[e],_e.includes(e)||(s[e]=i[e])})),{encoded:{header:n,payload:o,signature:r},header:JSON.parse(S(n)),claims:a,user:s}})(e.id_token);if(!t.claims.iss)throw new Error(\"Issuer (iss) claim must be a string present in the ID token\");if(t.claims.iss!==e.iss)throw new Error('Issuer (iss) claim mismatch in the ID token; expected \"'.concat(e.iss,'\", found \"').concat(t.claims.iss,'\"'));if(!t.user.sub)throw new Error(\"Subject (sub) claim must be a string present in the ID token\");if(\"RS256\"!==t.header.alg)throw new Error('Signature algorithm of \"'.concat(t.header.alg,'\" is not supported. Expected the ID token to be signed with \"RS256\".'));if(!t.claims.aud||\"string\"!=typeof t.claims.aud&&!Array.isArray(t.claims.aud))throw new Error(\"Audience (aud) claim must be a string or array of strings present in the ID token\");if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e.aud))throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but was not one of \"').concat(t.claims.aud.join(\", \"),'\"'));if(t.claims.aud.length>1){if(!t.claims.azp)throw new Error(\"Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values\");if(t.claims.azp!==e.aud)throw new Error('Authorized Party (azp) claim mismatch in the ID token; expected \"'.concat(e.aud,'\", found \"').concat(t.claims.azp,'\"'))}}else if(t.claims.aud!==e.aud)throw new Error('Audience (aud) claim mismatch in the ID token; expected \"'.concat(e.aud,'\" but found \"').concat(t.claims.aud,'\"'));if(e.nonce){if(!t.claims.nonce)throw new Error(\"Nonce (nonce) claim must be a string present in the ID token\");if(t.claims.nonce!==e.nonce)throw new Error('Nonce (nonce) claim mismatch in the ID token; expected \"'.concat(e.nonce,'\", found \"').concat(t.claims.nonce,'\"'))}if(e.max_age&&!be(t.claims.auth_time))throw new Error(\"Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified\");if(null==t.claims.exp||!be(t.claims.exp))throw new Error(\"Expiration Time (exp) claim must be a number present in the ID token\");if(!be(t.claims.iat))throw new Error(\"Issued At (iat) claim must be a number present in the ID token\");const n=e.leeway||60,o=new Date(e.now||Date.now()),r=new Date(0);if(r.setUTCSeconds(t.claims.exp+n),o>r)throw new Error(\"Expiration Time (exp) claim error in the ID token; current time (\".concat(o,\") is after expiration time (\").concat(r,\")\"));if(null!=t.claims.nbf&&be(t.claims.nbf)){const e=new Date(0);if(e.setUTCSeconds(t.claims.nbf-n),o<e)throw new Error(\"Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (\".concat(o,\") is before \").concat(e))}if(null!=t.claims.auth_time&&be(t.claims.auth_time)){const r=new Date(0);if(r.setUTCSeconds(parseInt(t.claims.auth_time)+e.max_age+n),o>r)throw new Error(\"Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (\".concat(o,\") is after last auth at \").concat(r))}if(e.organization){const n=e.organization.trim();if(n.startsWith(\"org_\")){const e=n;if(!t.claims.org_id)throw new Error(\"Organization ID (org_id) claim must be a string present in the ID token\");if(e!==t.claims.org_id)throw new Error('Organization ID (org_id) claim mismatch in the ID token; expected \"'.concat(e,'\", found \"').concat(t.claims.org_id,'\"'))}else{const e=n.toLowerCase();if(!t.claims.org_name)throw new Error(\"Organization Name (org_name) claim must be a string present in the ID token\");if(e!==t.claims.org_name)throw new Error('Organization Name (org_name) claim mismatch in the ID token; expected \"'.concat(e,'\", found \"').concat(t.claims.org_name,'\"'))}}return t};var Se=A&&A.__assign||function(){return Se=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Se.apply(this,arguments)};function Ee(e,t){if(!t)return\"\";var n=\"; \"+e;return!0===t?n:n+\"=\"+t}function Ae(e,t,n){return encodeURIComponent(e).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\\(/g,\"%28\").replace(/\\)/g,\"%29\")+\"=\"+encodeURIComponent(t).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(e){if(\"number\"==typeof e.expires){var t=new Date;t.setMilliseconds(t.getMilliseconds()+864e5*e.expires),e.expires=t}return Ee(\"Expires\",e.expires?e.expires.toUTCString():\"\")+Ee(\"Domain\",e.domain)+Ee(\"Path\",e.path)+Ee(\"Secure\",e.secure)+Ee(\"SameSite\",e.sameSite)}(n)}function Te(){return function(e){for(var t={},n=e?e.split(\"; \"):[],o=/(%[\\dA-F]{2})+/gi,r=0;r<n.length;r++){var i=n[r].split(\"=\"),a=i.slice(1).join(\"=\");'\"'===a.charAt(0)&&(a=a.slice(1,-1));try{t[i[0].replace(o,decodeURIComponent)]=a.replace(o,decodeURIComponent)}catch(e){}}return t}(document.cookie)}var Pe=function(e){return Te()[e]};function Re(e,t,n){document.cookie=Ae(e,t,Se({path:\"/\"},n))}var Ie=Re;var xe=function(e,t){Re(e,\"\",Se(Se({},t),{expires:-1}))};const Oe={get(e){const t=Pe(e);if(void 0!==t)return JSON.parse(t)},save(e,t,n){let o={};\"https:\"===window.location.protocol&&(o={secure:!0,sameSite:\"none\"}),(null==n?void 0:n.daysUntilExpire)&&(o.expires=n.daysUntilExpire),(null==n?void 0:n.cookieDomain)&&(o.domain=n.cookieDomain),Ie(e,JSON.stringify(t),o)},remove(e,t){let n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),xe(e,n)}},Ce={get(e){const t=Oe.get(e);return t||Oe.get(\"\".concat(\"_legacy_\").concat(e))},save(e,t,n){let o={};\"https:\"===window.location.protocol&&(o={secure:!0}),(null==n?void 0:n.daysUntilExpire)&&(o.expires=n.daysUntilExpire),(null==n?void 0:n.cookieDomain)&&(o.domain=n.cookieDomain),Ie(\"\".concat(\"_legacy_\").concat(e),JSON.stringify(t),o),Oe.save(e,t,n)},remove(e,t){let n={};(null==t?void 0:t.cookieDomain)&&(n.domain=t.cookieDomain),xe(e,n),Oe.remove(e,t),Oe.remove(\"\".concat(\"_legacy_\").concat(e),t)}},je={get(e){if(\"undefined\"==typeof sessionStorage)return;const t=sessionStorage.getItem(e);return null!=t?JSON.parse(t):void 0},save(e,t){sessionStorage.setItem(e,JSON.stringify(t))},remove(e){sessionStorage.removeItem(e)}};var De;!function(e){e.Code=\"code\",e.ConnectCode=\"connect_code\"}(De||(De={}));class Ke{}function Le(e,t,n){var o=void 0===t?null:t,r=function(e,t){var n=atob(e);if(t){for(var o=new Uint8Array(n.length),r=0,i=n.length;r<i;++r)o[r]=n.charCodeAt(r);return String.fromCharCode.apply(null,new Uint16Array(o.buffer))}return n}(e,void 0!==n&&n),i=r.indexOf(\"\\n\",10)+1,a=r.substring(i)+(o?\"//# sourceMappingURL=\"+o:\"\"),s=new Blob([a],{type:\"application/javascript\"});return URL.createObjectURL(s)}var Ue,Ne,We,ze,He=(Ue=\"Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHQpe2xldHtlcnJvcjpyLGVycm9yX2Rlc2NyaXB0aW9uOnN9PXQ7cmV0dXJuIG5ldyBlKHIscyl9fWNsYXNzIHQgZXh0ZW5kcyBle2NvbnN0cnVjdG9yKGUscyl7c3VwZXIoIm1pc3NpbmdfcmVmcmVzaF90b2tlbiIsIk1pc3NpbmcgUmVmcmVzaCBUb2tlbiAoYXVkaWVuY2U6ICciLmNvbmNhdChyKGUsWyJkZWZhdWx0Il0pLCInLCBzY29wZTogJyIpLmNvbmNhdChyKHMpLCInKSIpKSx0aGlzLmF1ZGllbmNlPWUsdGhpcy5zY29wZT1zLE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLHQucHJvdG90eXBlKX19ZnVuY3Rpb24gcihlKXtsZXQgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06W107cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+IiIuY29uY2F0KGUsInwiKS5jb25jYXQodCk7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jIGU9PntsZXQgcixjLHtkYXRhOnt0aW1lb3V0OmksYXV0aDphLGZldGNoVXJsOmYsZmV0Y2hPcHRpb25zOmwsdXNlRm9ybURhdGE6cCx1c2VNcnJ0Omh9LHBvcnRzOlt1XX09ZSxkPXt9O2NvbnN0e2F1ZGllbmNlOmcsc2NvcGU6eX09YXx8e307dHJ5e2NvbnN0IGU9cD8oZT0+e2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtcyhlKSxyPXt9O3JldHVybiB0LmZvckVhY2goKChlLHQpPT57clt0XT1lfSkpLHJ9KShsLmJvZHkpOkpTT04ucGFyc2UobC5ib2R5KTtpZighZS5yZWZyZXNoX3Rva2VuJiYicmVmcmVzaF90b2tlbiI9PT1lLmdyYW50X3R5cGUpe2lmKGM9KChlLHQpPT5vW24oZSx0KV0pKGcseSksIWMmJmgpe2NvbnN0IGU9by5sYXRlc3RfcmVmcmVzaF90b2tlbix0PSgoZSx0KT0+e2NvbnN0IHI9T2JqZWN0LmtleXMobykuZmluZCgocj0+e2lmKCJsYXRlc3RfcmVmcmVzaF90b2tlbiIhPT1yKXtjb25zdCBzPSgoZSx0KT0+dC5zdGFydHNXaXRoKCIiLmNvbmNhdChlLCJ8IikpKSh0LHIpLG89ci5zcGxpdCgifCIpWzFdLnNwbGl0KCIgIiksbj1lLnNwbGl0KCIgIikuZXZlcnkoKGU9Pm8uaW5jbHVkZXMoZSkpKTtyZXR1cm4gcyYmbn19KSk7cmV0dXJuISFyfSkoeSxnKTtlJiYhdCYmKGM9ZSl9aWYoIWMpdGhyb3cgbmV3IHQoZyx5KTtsLmJvZHk9cD9zKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7cmVmcmVzaF90b2tlbjpjfSkpOkpTT04uc3RyaW5naWZ5KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7cmVmcmVzaF90b2tlbjpjfSkpfWxldCBhLGs7ImZ1bmN0aW9uIj09dHlwZW9mIEFib3J0Q29udHJvbGxlciYmKGE9bmV3IEFib3J0Q29udHJvbGxlcixsLnNpZ25hbD1hLnNpZ25hbCk7dHJ5e2s9YXdhaXQgUHJvbWlzZS5yYWNlKFsoaj1pLG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsaikpKSksZmV0Y2goZixPYmplY3QuYXNzaWduKHt9LGwpKV0pfWNhdGNoKGUpe3JldHVybiB2b2lkIHUucG9zdE1lc3NhZ2Uoe2Vycm9yOmUubWVzc2FnZX0pfWlmKCFrKXJldHVybiBhJiZhLmFib3J0KCksdm9pZCB1LnBvc3RNZXNzYWdlKHtlcnJvcjoiVGltZW91dCB3aGVuIGV4ZWN1dGluZyAnZmV0Y2gnIn0pO189ay5oZWFkZXJzLGQ9Wy4uLl9dLnJlZHVjZSgoKGUsdCk9PntsZXRbcixzXT10O3JldHVybiBlW3JdPXMsZX0pLHt9KSxyPWF3YWl0IGsuanNvbigpLHIucmVmcmVzaF90b2tlbj8oaCYmKG8ubGF0ZXN0X3JlZnJlc2hfdG9rZW49ci5yZWZyZXNoX3Rva2VuLE89YyxiPXIucmVmcmVzaF90b2tlbixPYmplY3QuZW50cmllcyhvKS5mb3JFYWNoKChlPT57bGV0W3Qscl09ZTtyPT09TyYmKG9bdF09Yil9KSkpLCgoZSx0LHIpPT57b1tuKHQscildPWV9KShyLnJlZnJlc2hfdG9rZW4sZyx5KSxkZWxldGUgci5yZWZyZXNoX3Rva2VuKTooKGUsdCk9PntkZWxldGUgb1tuKGUsdCldfSkoZyx5KSx1LnBvc3RNZXNzYWdlKHtvazprLm9rLGpzb246cixoZWFkZXJzOmR9KX1jYXRjaChlKXt1LnBvc3RNZXNzYWdlKHtvazohMSxqc29uOntlcnJvcjplLmVycm9yLGVycm9yX2Rlc2NyaXB0aW9uOmUubWVzc2FnZX0saGVhZGVyczpkfSl9dmFyIE8sYixfLGp9KSl9KCk7Cgo=\",Ne=null,We=!1,function(e){return ze=ze||Le(Ue,Ne,We),new Worker(ze,e)});const Me={};class Je{constructor(e,t){this.cache=e,this.clientId=t,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var t;const n=new Set((null===(t=await this.cache.get(this.manifestKey))||void 0===t?void 0:t.keys)||[]);n.add(e),await this.cache.set(this.manifestKey,{keys:[...n]})}async remove(e){const t=await this.cache.get(this.manifestKey);if(t){const n=new Set(t.keys);return n.delete(e),n.size>0?await this.cache.set(this.manifestKey,{keys:[...n]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return\"\".concat(\"@@auth0spajs@@\",\"::\").concat(e)}}const Ve={memory:()=>(new we).enclosedCache,localstorage:()=>new ye},Fe=e=>Ve[e],Ge=t=>{const{openUrl:n,onRedirect:o}=t,r=e(t,[\"openUrl\",\"onRedirect\"]);return Object.assign(Object.assign({},r),{openUrl:!1===n||n?n:o})},Ze=(e,t)=>{const n=(null==t?void 0:t.split(\" \"))||[];return((null==e?void 0:e.split(\" \"))||[]).every((e=>n.includes(e)))},qe={NONCE:\"nonce\",KEYPAIR:\"keypair\"};class Be{constructor(e){this.clientId=e}getVersion(){return 1}createDbHandle(){const e=window.indexedDB.open(\"auth0-spa-js\",this.getVersion());return new Promise(((t,n)=>{e.onupgradeneeded=()=>Object.values(qe).forEach((t=>e.result.createObjectStore(t))),e.onerror=()=>n(e.error),e.onsuccess=()=>t(e.result)}))}async getDbHandle(){return this.dbHandle||(this.dbHandle=await this.createDbHandle()),this.dbHandle}async executeDbRequest(e,t,n){const o=n((await this.getDbHandle()).transaction(e,t).objectStore(e));return new Promise(((e,t)=>{o.onsuccess=()=>e(o.result),o.onerror=()=>t(o.error)}))}buildKey(e){const t=e?\"_\".concat(e):\"auth0\";return\"\".concat(this.clientId,\"::\").concat(t)}setNonce(e,t){return this.save(qe.NONCE,this.buildKey(t),e)}setKeyPair(e){return this.save(qe.KEYPAIR,this.buildKey(),e)}async save(e,t,n){await this.executeDbRequest(e,\"readwrite\",(e=>e.put(n,t)))}findNonce(e){return this.find(qe.NONCE,this.buildKey(e))}findKeyPair(){return this.find(qe.KEYPAIR,this.buildKey())}find(e,t){return this.executeDbRequest(e,\"readonly\",(e=>e.get(t)))}async deleteBy(e,t){const n=await this.executeDbRequest(e,\"readonly\",(e=>e.getAllKeys()));null==n||n.filter(t).map((t=>this.executeDbRequest(e,\"readwrite\",(e=>e.delete(t)))))}deleteByClientId(e,t){return this.deleteBy(e,(e=>\"string\"==typeof e&&e.startsWith(\"\".concat(t,\"::\"))))}clearNonces(){return this.deleteByClientId(qe.NONCE,this.clientId)}clearKeyPairs(){return this.deleteByClientId(qe.KEYPAIR,this.clientId)}}class Xe{constructor(e){this.storage=new Be(e)}getNonce(e){return this.storage.findNonce(e)}setNonce(e,t){return this.storage.setNonce(e,t)}async getOrGenerateKeyPair(){let e=await this.storage.findKeyPair();return e||(e=await oe(),await this.storage.setKeyPair(e)),e}async generateProof(e){const t=await this.getOrGenerateKeyPair();return ie(Object.assign({keyPair:t},e))}async calculateThumbprint(){return re(await this.getOrGenerateKeyPair())}async clear(){await Promise.all([this.storage.clearNonces(),this.storage.clearKeyPairs()])}}var Ye;!function(e){e.Bearer=\"Bearer\",e.DPoP=\"DPoP\"}(Ye||(Ye={}));class Qe{constructor(e,t){this.hooks=t,this.config=Object.assign(Object.assign({},e),{fetch:e.fetch||(\"undefined\"==typeof window?fetch:window.fetch.bind(window))})}isAbsoluteUrl(e){return/^(https?:)?\\/\\//i.test(e)}buildUrl(e,t){if(t){if(this.isAbsoluteUrl(t))return t;if(e)return\"\".concat(e.replace(/\\/?\\/$/,\"\"),\"/\").concat(t.replace(/^\\/+/,\"\"))}throw new TypeError(\"`url` must be absolute or `baseUrl` non-empty.\")}getAccessToken(e){return this.config.getAccessToken?this.config.getAccessToken(e):this.hooks.getAccessToken(e)}extractUrl(e){return\"string\"==typeof e?e:e instanceof URL?e.href:e.url}buildBaseRequest(e,t){if(!this.config.baseUrl)return new Request(e,t);const n=this.buildUrl(this.config.baseUrl,this.extractUrl(e)),o=e instanceof Request?new Request(n,e):n;return new Request(o,t)}setAuthorizationHeader(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ye.Bearer;e.headers.set(\"authorization\",\"\".concat(n,\" \").concat(t))}async setDpopProofHeader(e,t){if(!this.config.dpopNonceId)return;const n=await this.hooks.getDpopNonce(),o=await this.hooks.generateDpopProof({accessToken:t,method:e.method,nonce:n,url:e.url});e.headers.set(\"dpop\",o)}async prepareRequest(e,t){const n=await this.getAccessToken(t);let o,r;\"string\"==typeof n?(o=this.config.dpopNonceId?Ye.DPoP:Ye.Bearer,r=n):(o=n.token_type,r=n.access_token),this.setAuthorizationHeader(e,r,o),o===Ye.DPoP&&await this.setDpopProofHeader(e,r)}getHeader(e,t){return Array.isArray(e)?new Headers(e).get(t)||\"\":\"function\"==typeof e.get?e.get(t)||\"\":e[t]||\"\"}hasUseDpopNonceError(e){if(401!==e.status)return!1;const t=this.getHeader(e.headers,\"www-authenticate\");return t.includes(\"invalid_dpop_nonce\")||t.includes(\"use_dpop_nonce\")}async handleResponse(e,t){const n=this.getHeader(e.headers,\"dpop-nonce\");if(n&&await this.hooks.setDpopNonce(n),!this.hasUseDpopNonceError(e))return e;if(!n||!t.onUseDpopNonceError)throw new f(n);return t.onUseDpopNonceError()}async internalFetchWithAuth(e,t,n,o){const r=this.buildBaseRequest(e,t);await this.prepareRequest(r,o);const i=await this.config.fetch(r);return this.handleResponse(i,n)}fetchWithAuth(e,t,n){const o={onUseDpopNonceError:()=>this.internalFetchWithAuth(e,t,Object.assign(Object.assign({},o),{onUseDpopNonceError:void 0}),n)};return this.internalFetchWithAuth(e,t,o,n)}}class $e{constructor(e,t){this.myAccountFetcher=e,this.apiBase=t}async connectAccount(e){const t=await this.myAccountFetcher.fetchWithAuth(\"\".concat(this.apiBase,\"v1/connected-accounts/connect\"),{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(e)});return this._handleResponse(t)}async completeAccount(e){const t=await this.myAccountFetcher.fetchWithAuth(\"\".concat(this.apiBase,\"v1/connected-accounts/complete\"),{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(e)});return this._handleResponse(t)}async _handleResponse(e){let t;try{t=await e.text(),t=JSON.parse(t)}catch(n){throw new et({type:\"invalid_json\",status:e.status,title:\"Invalid JSON response\",detail:t||String(n)})}if(e.ok)return t;throw new et(t)}}class et extends Error{constructor(e){let{type:t,status:n,title:o,detail:r,validation_errors:i}=e;super(r),this.name=\"MyAccountApiError\",this.type=t,this.status=n,this.title=o,this.detail=r,this.validation_errors=i,Object.setPrototypeOf(this,et.prototype)}}const tt={otp:{authenticatorTypes:[\"otp\"]},sms:{authenticatorTypes:[\"oob\"],oobChannels:[\"sms\"]},email:{authenticatorTypes:[\"oob\"],oobChannels:[\"email\"]},push:{authenticatorTypes:[\"oob\"],oobChannels:[\"auth0\"]},voice:{authenticatorTypes:[\"oob\"],oobChannels:[\"voice\"]}},nt=\"http://auth0.com/oauth/grant-type/mfa-otp\",ot=\"http://auth0.com/oauth/grant-type/mfa-oob\",rt=\"http://auth0.com/oauth/grant-type/mfa-recovery-code\";function it(e,t){this.v=e,this.k=t}function at(e,t,n){if(\"function\"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError(\"Private element is not present on this object\")}function st(e){return new it(e,0)}function ct(e,t){if(t.has(e))throw new TypeError(\"Cannot initialize the same private elements twice on an object\")}function ut(e,t){return e.get(at(e,t))}function lt(e,t,n){ct(e,t),t.set(e,n)}function dt(e,t,n){return e.set(at(e,t),n),n}function ht(e,t,n){return(t=function(e){var t=function(e,t){if(\"object\"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||\"default\");if(\"object\"!=typeof o)return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}(e,\"string\");return\"symbol\"==typeof t?t:t+\"\"}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pt(Object(n),!0).forEach((function(t){ht(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mt(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function yt(e){return function(){return new wt(e.apply(this,arguments))}}function wt(e){var t,n;function o(t,n){try{var i=e[t](n),a=i.value,s=a instanceof it;Promise.resolve(s?a.v:a).then((function(n){if(s){var c=\"return\"===t?\"return\":\"next\";if(!a.k||n.done)return o(c,n);n=e[c](n).value}r(i.done?\"return\":\"normal\",n)}),(function(e){o(\"throw\",e)}))}catch(e){r(\"throw\",e)}}function r(e,r){switch(e){case\"return\":t.resolve({value:r,done:!0});break;case\"throw\":t.reject(r);break;default:t.resolve({value:r,done:!1})}(t=t.next)?o(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise((function(i,a){var s={key:e,arg:r,resolve:i,reject:a,next:null};n?n=n.next=s:(t=n=s,o(e,r))}))},\"function\"!=typeof e.return&&(this.return=void 0)}var gt,vt;let bt;if(wt.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},wt.prototype.next=function(e){return this._invoke(\"next\",e)},wt.prototype.throw=function(e){return this._invoke(\"throw\",e)},wt.prototype.return=function(e){return this._invoke(\"return\",e)},\"undefined\"==typeof navigator||null===(gt=navigator.userAgent)||void 0===gt||null===(vt=gt.startsWith)||void 0===vt||!vt.call(gt,\"Mozilla/5.0 \")){const e=\"v3.8.3\";bt=\"\".concat(\"oauth4webapi\",\"/\").concat(e)}function _t(e,t){if(null==e)return!1;try{return e instanceof t||Object.getPrototypeOf(e)[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}catch(e){return!1}}function kt(e,t,n){const o=new TypeError(e,{cause:n});return Object.assign(o,{code:t}),o}const St=Symbol(),Et=Symbol(),At=Symbol(),Tt=Symbol(),Pt=Symbol(),Rt=Symbol(),It=new TextEncoder,xt=new TextDecoder;function Ot(e){return\"string\"==typeof e?It.encode(e):xt.decode(e)}let Ct,jt;if(Uint8Array.prototype.toBase64)Ct=e=>(e instanceof ArrayBuffer&&(e=new Uint8Array(e)),e.toBase64({alphabet:\"base64url\",omitPadding:!0}));else{const e=32768;Ct=t=>{t instanceof ArrayBuffer&&(t=new Uint8Array(t));const n=[];for(let o=0;o<t.byteLength;o+=e)n.push(String.fromCharCode.apply(null,t.subarray(o,o+e)));return btoa(n.join(\"\")).replace(/=/g,\"\").replace(/\\+/g,\"-\").replace(/\\//g,\"_\")}}function Dt(e){return\"string\"==typeof e?jt(e):Ct(e)}jt=Uint8Array.fromBase64?e=>{try{return Uint8Array.fromBase64(e,{alphabet:\"base64url\"})}catch(e){throw kt(\"The input to be decoded is not correctly encoded.\",\"ERR_INVALID_ARG_VALUE\",e)}}:e=>{try{const t=atob(e.replace(/-/g,\"+\").replace(/_/g,\"/\").replace(/\\s/g,\"\")),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}catch(e){throw kt(\"The input to be decoded is not correctly encoded.\",\"ERR_INVALID_ARG_VALUE\",e)}};class Kt extends Error{constructor(e,t){var n;super(e,t),ht(this,\"code\",void 0),this.name=this.constructor.name,this.code=Kn,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}class Lt extends Error{constructor(e,t){var n;super(e,t),ht(this,\"code\",void 0),this.name=this.constructor.name,null!=t&&t.code&&(this.code=null==t?void 0:t.code),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}function Ut(e,t,n){return new Lt(e,{code:t,cause:n})}function Nt(e,t){if(function(e,t){if(!(e instanceof CryptoKey))throw kt(\"\".concat(t,\" must be a CryptoKey\"),\"ERR_INVALID_ARG_TYPE\")}(e,t),\"private\"!==e.type)throw kt(\"\".concat(t,\" must be a private CryptoKey\"),\"ERR_INVALID_ARG_VALUE\")}function Wt(e){return null!==e&&\"object\"==typeof e&&!Array.isArray(e)}function zt(e){_t(e,Headers)&&(e=Object.fromEntries(e.entries()));const t=new Headers(null!=e?e:{});if(bt&&!t.has(\"user-agent\")&&t.set(\"user-agent\",bt),t.has(\"authorization\"))throw kt('\"options.headers\" must not include the \"authorization\" header name',\"ERR_INVALID_ARG_VALUE\");return t}function Ht(e,t){if(void 0!==t){if(\"function\"==typeof t&&(t=t(e.href)),!(t instanceof AbortSignal))throw kt('\"options.signal\" must return or be an instance of AbortSignal',\"ERR_INVALID_ARG_TYPE\");return t}}function Mt(e){return e.includes(\"//\")?e.replace(\"//\",\"/\"):e}async function Jt(e,t){return async function(e,t,n,o){if(!(e instanceof URL))throw kt('\"'.concat(t,'\" must be an instance of URL'),\"ERR_INVALID_ARG_TYPE\");on(e,!0!==(null==o?void 0:o[St]));const r=n(new URL(e.href)),i=zt(null==o?void 0:o.headers);return i.set(\"accept\",\"application/json\"),((null==o?void 0:o[Tt])||fetch)(r.href,{body:void 0,headers:Object.fromEntries(i.entries()),method:\"GET\",redirect:\"manual\",signal:Ht(r,null==o?void 0:o.signal)})}(e,\"issuerIdentifier\",(e=>{switch(null==t?void 0:t.algorithm){case void 0:case\"oidc\":!function(e,t){e.pathname=Mt(\"\".concat(e.pathname,\"/\").concat(t))}(e,\".well-known/openid-configuration\");break;case\"oauth2\":!function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];\"/\"===e.pathname?e.pathname=t:e.pathname=Mt(\"\".concat(t,\"/\").concat(n?e.pathname:e.pathname.replace(/(\\/)$/,\"\")))}(e,\".well-known/oauth-authorization-server\");break;default:throw kt('\"options.algorithm\" must be \"oidc\" (default), or \"oauth2\"',\"ERR_INVALID_ARG_VALUE\")}return e}),t)}function Vt(e,t,n,o,r){try{if(\"number\"!=typeof e||!Number.isFinite(e))throw kt(\"\".concat(n,\" must be a number\"),\"ERR_INVALID_ARG_TYPE\",r);if(e>0)return;if(t){if(0!==e)throw kt(\"\".concat(n,\" must be a non-negative number\"),\"ERR_INVALID_ARG_VALUE\",r);return}throw kt(\"\".concat(n,\" must be a positive number\"),\"ERR_INVALID_ARG_VALUE\",r)}catch(e){if(o)throw Ut(e.message,o,r);throw e}}function Ft(e,t,n,o){try{if(\"string\"!=typeof e)throw kt(\"\".concat(t,\" must be a string\"),\"ERR_INVALID_ARG_TYPE\",o);if(0===e.length)throw kt(\"\".concat(t,\" must not be empty\"),\"ERR_INVALID_ARG_VALUE\",o)}catch(e){if(n)throw Ut(e.message,n,o);throw e}}function Gt(e){!function(e,t){if(wn(e)!==t)throw function(e){let t='\"response\" content-type must be ';for(var n=arguments.length,o=new Array(n>1?n-1:0),r=1;r<n;r++)o[r-1]=arguments[r];if(o.length>2){const e=o.pop();t+=\"\".concat(o.join(\", \"),\", or \").concat(e)}else 2===o.length?t+=\"\".concat(o[0],\" or \").concat(o[1]):t+=o[0];return Ut(t,Wn,e)}(e,t)}(e,\"application/json\")}function Zt(){return Dt(crypto.getRandomValues(new Uint8Array(32)))}function qt(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 Kt(\"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 Kt(\"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 Kt(\"unsupported EcKeyAlgorithm namedCurve\",{cause:e})}}(e);case\"Ed25519\":case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":return e.algorithm.name;case\"EdDSA\":return\"Ed25519\";default:throw new Kt(\"unsupported CryptoKey algorithm name\",{cause:e})}}function Bt(e){const t=null==e?void 0:e[Et];return\"number\"==typeof t&&Number.isFinite(t)?t:0}function Xt(e){const t=null==e?void 0:e[At];return\"number\"==typeof t&&Number.isFinite(t)&&-1!==Math.sign(t)?t:30}function Yt(){return Math.floor(Date.now()/1e3)}function Qt(e){if(\"object\"!=typeof e||null===e)throw kt('\"as\" must be an object',\"ERR_INVALID_ARG_TYPE\");Ft(e.issuer,'\"as.issuer\"')}function $t(e){if(\"object\"!=typeof e||null===e)throw kt('\"client\" must be an object',\"ERR_INVALID_ARG_TYPE\");Ft(e.client_id,'\"client.client_id\"')}function en(e){return Ft(e,'\"clientSecret\"'),(t,n,o,r)=>{o.set(\"client_id\",n.client_id),o.set(\"client_secret\",e)}}function tn(e,t){const{key:n,kid:o}=(r=e)instanceof CryptoKey?{key:r}:(null==r?void 0:r.key)instanceof CryptoKey?(void 0!==r.kid&&Ft(r.kid,'\"kid\"'),{key:r.key,kid:r.kid}):{};var r;return Nt(n,'\"clientPrivateKey.key\"'),async(e,r,i,a)=>{var s;const c={alg:qt(n),kid:o},u=function(e,t){const n=Yt()+Bt(t);return{jti:Zt(),aud:e.issuer,exp:n+60,iat:n,nbf:n,iss:t.client_id,sub:t.client_id}}(e,r);null==t||null===(s=t[Pt])||void 0===s||s.call(t,c,u),i.set(\"client_id\",r.client_id),i.set(\"client_assertion_type\",\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\"),i.set(\"client_assertion\",await async function(e,t,n){if(!n.usages.includes(\"sign\"))throw kt('CryptoKey instances used for signing assertions must include \"sign\" in their \"usages\"',\"ERR_INVALID_ARG_VALUE\");const o=\"\".concat(Dt(Ot(JSON.stringify(e))),\".\").concat(Dt(Ot(JSON.stringify(t)))),r=Dt(await crypto.subtle.sign(function(e){switch(e.algorithm.name){case\"ECDSA\":return{name:e.algorithm.name,hash:Xn(e)};case\"RSA-PSS\":switch(Bn(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 Kt(\"unsupported RSA-PSS hash name\",{cause:e})}case\"RSASSA-PKCS1-v1_5\":return Bn(e),e.algorithm.name;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":case\"Ed25519\":return e.algorithm.name}throw new Kt(\"unsupported CryptoKey algorithm name\",{cause:e})}(n),n,Ot(o)));return\"\".concat(o,\".\").concat(r)}(c,u,n))}}const nn=URL.parse?(e,t)=>URL.parse(e,t):(e,t)=>{try{return new URL(e,t)}catch(e){return null}};function on(e,t){if(t&&\"https:\"!==e.protocol)throw Ut(\"only requests to HTTPS are allowed\",Hn,e);if(\"https:\"!==e.protocol&&\"http:\"!==e.protocol)throw Ut(\"only HTTP and HTTPS requests are allowed\",Mn,e)}function rn(e,t,n,o){let r;if(\"string\"!=typeof e||!(r=nn(e)))throw Ut(\"authorization server metadata does not contain a valid \".concat(n?'\"as.mtls_endpoint_aliases.'.concat(t,'\"'):'\"as.'.concat(t,'\"')),void 0===e?Gn:Zn,{attribute:n?\"mtls_endpoint_aliases.\".concat(t):t});return on(r,o),r}function an(e,t,n,o){return n&&e.mtls_endpoint_aliases&&t in e.mtls_endpoint_aliases?rn(e.mtls_endpoint_aliases[t],t,n,o):rn(e[t],t,n,o)}class sn extends Error{constructor(e,t){var n;super(e,t),ht(this,\"cause\",void 0),ht(this,\"code\",void 0),ht(this,\"error\",void 0),ht(this,\"status\",void 0),ht(this,\"error_description\",void 0),ht(this,\"response\",void 0),this.name=this.constructor.name,this.code=Dn,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}),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}class cn extends Error{constructor(e,t){var n,o;super(e,t),ht(this,\"cause\",void 0),ht(this,\"code\",void 0),ht(this,\"error\",void 0),ht(this,\"error_description\",void 0),this.name=this.constructor.name,this.code=Ln,this.cause=t.cause,this.error=t.cause.get(\"error\"),this.error_description=null!==(n=t.cause.get(\"error_description\"))&&void 0!==n?n:void 0,null===(o=Error.captureStackTrace)||void 0===o||o.call(Error,this,this.constructor)}}class un extends Error{constructor(e,t){var n;super(e,t),ht(this,\"cause\",void 0),ht(this,\"code\",void 0),ht(this,\"response\",void 0),ht(this,\"status\",void 0),this.name=this.constructor.name,this.code=jn,this.cause=t.cause,this.status=t.response.status,this.response=t.response,Object.defineProperty(this,\"response\",{enumerable:!1}),null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}const ln=\"[a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+\",dn=new RegExp(\"^[,\\\\s]*(\"+ln+\")\"),hn=new RegExp('^[,\\\\s]*([a-zA-Z0-9!#$%&\\\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)\\\\s*=\\\\s*\"((?:[^\"\\\\\\\\]|\\\\\\\\[\\\\s\\\\S])*)\"[,\\\\s]*(.*)'),pn=new RegExp(\"^[,\\\\s]*([a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)\\\\s*=\\\\s*([a-zA-Z0-9!#$%&\\\\'\\\\*\\\\+\\\\-\\\\.\\\\^_`\\\\|~]+)[,\\\\s]*(.*)\"),fn=new RegExp(\"^([a-zA-Z0-9\\\\-\\\\._\\\\~\\\\+\\\\/]+={0,2})(?:$|[,\\\\s])(.*)\");async function mn(e,t,n){if(e.status!==t){let t;var o;if(function(e){let t;if(t=function(e){if(!_t(e,Response))throw kt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");const t=e.headers.get(\"www-authenticate\");if(null===t)return;const n=[];let o=t;for(;o;){var r;let e=o.match(dn);const t=null===(r=e)||void 0===r?void 0:r[1].toLowerCase();if(!t)return;const i=o.substring(e[0].length);if(i&&!i.match(/^[\\s,]/))return;const a=i.match(/^\\s+(.*)$/),s=!!a;o=a?a[1]:void 0;const c={};let u;if(s)for(;o;){let t,n;if(e=o.match(hn)){if([,t,n,o]=e,n.includes(\"\\\\\"))try{n=JSON.parse('\"'.concat(n,'\"'))}catch(e){}c[t.toLowerCase()]=n}else{if(!(e=o.match(pn))){if(e=o.match(fn)){if(Object.keys(c).length)break;[,u,o]=e;break}return}[,t,n,o]=e,c[t.toLowerCase()]=n}}else o=i||void 0;const l={scheme:t,parameters:c};u&&(l.token68=u),n.push(l)}return n.length?n:void 0}(e))throw new un(\"server responded with a challenge in the WWW-Authenticate HTTP Header\",{cause:t,response:e})}(e),t=await async function(e){if(e.status>399&&e.status<500){qn(e),Gt(e);try{const t=await e.clone().json();if(Wt(t)&&\"string\"==typeof t.error&&t.error.length)return t}catch(e){}}}(e))throw await(null===(o=e.body)||void 0===o?void 0:o.cancel()),new sn(\"server responded with an error in the response body\",{cause:t,response:e});throw Ut('\"response\" is not a conform '.concat(n,\" response (unexpected HTTP status code)\"),zn,e)}}function yn(e){if(!Tn.has(e))throw kt('\"options.DPoP\" is not a valid DPoPHandle',\"ERR_INVALID_ARG_VALUE\")}function wn(e){var t;return null===(t=e.headers.get(\"content-type\"))||void 0===t?void 0:t.split(\";\")[0]}async function gn(e,t,n,o,r,i,a){return await n(e,t,r,i),i.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"),((null==a?void 0:a[Tt])||fetch)(o.href,{body:r,headers:Object.fromEntries(i.entries()),method:\"POST\",redirect:\"manual\",signal:Ht(o,null==a?void 0:a.signal)})}async function vn(e,t,n,o,r,i){var a;const s=an(e,\"token_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==i?void 0:i[St]));r.set(\"grant_type\",o);const c=zt(null==i?void 0:i.headers);c.set(\"accept\",\"application/json\"),void 0!==(null==i?void 0:i.DPoP)&&(yn(i.DPoP),await i.DPoP.addProof(s,c,\"POST\"));const u=await gn(e,t,n,s,r,c,i);return null==i||null===(a=i.DPoP)||void 0===a||a.cacheNonce(u,s),u}const bn=new WeakMap,_n=new WeakMap;function kn(e){if(!e.id_token)return;const t=bn.get(e);if(!t)throw kt('\"ref\" was already garbage collected or did not resolve from the proper sources',\"ERR_INVALID_ARG_VALUE\");return t}async function Sn(e,t,n,o,r,i){if(Qt(e),$t(t),!_t(n,Response))throw kt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await mn(n,200,\"Token Endpoint\"),qn(n);const a=await oo(n);if(Ft(a.access_token,'\"response\" body \"access_token\" property',Nn,{body:a}),Ft(a.token_type,'\"response\" body \"token_type\" property',Nn,{body:a}),a.token_type=a.token_type.toLowerCase(),void 0!==a.expires_in){let e=\"number\"!=typeof a.expires_in?parseFloat(a.expires_in):a.expires_in;Vt(e,!0,'\"response\" body \"expires_in\" property',Nn,{body:a}),a.expires_in=e}if(void 0!==a.refresh_token&&Ft(a.refresh_token,'\"response\" body \"refresh_token\" property',Nn,{body:a}),void 0!==a.scope&&\"string\"!=typeof a.scope)throw Ut('\"response\" body \"scope\" property must be a string',Nn,{body:a});if(void 0!==a.id_token){Ft(a.id_token,'\"response\" body \"id_token\" property',Nn,{body:a});const i=[\"aud\",\"exp\",\"iat\",\"iss\",\"sub\"];!0===t.require_auth_time&&i.push(\"auth_time\"),void 0!==t.default_max_age&&(Vt(t.default_max_age,!0,'\"client.default_max_age\"'),i.push(\"auth_time\")),null!=o&&o.length&&i.push(...o);const{claims:s,jwt:c}=await async function(e,t,n,o,r){let i,a,{0:s,1:c,length:u}=e.split(\".\");if(5===u){if(void 0===r)throw new Kt(\"JWE decryption is not configured\",{cause:e});e=await r(e),({0:s,1:c,length:u}=e.split(\".\"))}if(3!==u)throw Ut(\"Invalid JWT\",Nn,e);try{i=JSON.parse(Ot(Dt(s)))}catch(e){throw Ut(\"failed to parse JWT Header body as base64url encoded JSON\",Un,e)}if(!Wt(i))throw Ut(\"JWT Header must be a top level object\",Nn,e);if(t(i),void 0!==i.crit)throw new Kt('no JWT \"crit\" header parameter extensions are supported',{cause:{header:i}});try{a=JSON.parse(Ot(Dt(c)))}catch(e){throw Ut(\"failed to parse JWT Payload body as base64url encoded JSON\",Un,e)}if(!Wt(a))throw Ut(\"JWT Payload must be a top level object\",Nn,e);const l=Yt()+n;if(void 0!==a.exp){if(\"number\"!=typeof a.exp)throw Ut('unexpected JWT \"exp\" (expiration time) claim type',Nn,{claims:a});if(a.exp<=l-o)throw Ut('unexpected JWT \"exp\" (expiration time) claim value, expiration is past current timestamp',Jn,{claims:a,now:l,tolerance:o,claim:\"exp\"})}if(void 0!==a.iat&&\"number\"!=typeof a.iat)throw Ut('unexpected JWT \"iat\" (issued at) claim type',Nn,{claims:a});if(void 0!==a.iss&&\"string\"!=typeof a.iss)throw Ut('unexpected JWT \"iss\" (issuer) claim type',Nn,{claims:a});if(void 0!==a.nbf){if(\"number\"!=typeof a.nbf)throw Ut('unexpected JWT \"nbf\" (not before) claim type',Nn,{claims:a});if(a.nbf>l+o)throw Ut('unexpected JWT \"nbf\" (not before) claim value',Jn,{claims:a,now:l,tolerance:o,claim:\"nbf\"})}if(void 0!==a.aud&&\"string\"!=typeof a.aud&&!Array.isArray(a.aud))throw Ut('unexpected JWT \"aud\" (audience) claim type',Nn,{claims:a});return{header:i,claims:a,jwt:e}}(a.id_token,Qn.bind(void 0,t.id_token_signed_response_alg,e.id_token_signing_alg_values_supported,\"RS256\"),Bt(t),Xt(t),r).then(In.bind(void 0,i)).then(An.bind(void 0,e)).then(En.bind(void 0,t.client_id));if(Array.isArray(s.aud)&&1!==s.aud.length){if(void 0===s.azp)throw Ut('ID Token \"aud\" (audience) claim includes additional untrusted audiences',Vn,{claims:s,claim:\"aud\"});if(s.azp!==t.client_id)throw Ut('unexpected ID Token \"azp\" (authorized party) claim value',Vn,{expected:t.client_id,claims:s,claim:\"azp\"})}void 0!==s.auth_time&&Vt(s.auth_time,!0,'ID Token \"auth_time\" (authentication time)',Nn,{claims:s}),_n.set(n,c),bn.set(a,s)}if(void 0!==(null==i?void 0:i[a.token_type]))i[a.token_type](n,a);else if(\"dpop\"!==a.token_type&&\"bearer\"!==a.token_type)throw new Kt(\"unsupported `token_type` value\",{cause:{body:a}});return a}function En(e,t){if(Array.isArray(t.claims.aud)){if(!t.claims.aud.includes(e))throw Ut('unexpected JWT \"aud\" (audience) claim value',Vn,{expected:e,claims:t.claims,claim:\"aud\"})}else if(t.claims.aud!==e)throw Ut('unexpected JWT \"aud\" (audience) claim value',Vn,{expected:e,claims:t.claims,claim:\"aud\"});return t}function An(e,t){var n,o;const r=null!==(n=null===(o=e[io])||void 0===o?void 0:o.call(e,t))&&void 0!==n?n:e.issuer;if(t.claims.iss!==r)throw Ut('unexpected JWT \"iss\" (issuer) claim value',Vn,{expected:r,claims:t.claims,claim:\"iss\"});return t}const Tn=new WeakSet;const Pn=Symbol();const Rn={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 In(e,t){for(const n of e)if(void 0===t.claims[n])throw Ut('JWT \"'.concat(n,'\" (').concat(Rn[n],\") claim missing\"),Nn,{claims:t.claims});return t}const xn=Symbol(),On=Symbol();async function Cn(e,t,n,o){return\"string\"==typeof(null==o?void 0:o.expectedNonce)||\"number\"==typeof(null==o?void 0:o.maxAge)||null!=o&&o.requireIdToken?async function(e,t,n,o,r,i,a){const s=[];switch(o){case void 0:o=xn;break;case xn:break;default:Ft(o,'\"expectedNonce\" argument'),s.push(\"nonce\")}switch(null!=r||(r=t.default_max_age),r){case void 0:r=On;break;case On:break;default:Vt(r,!0,'\"maxAge\" argument'),s.push(\"auth_time\")}const c=await Sn(e,t,n,s,i,a);Ft(c.id_token,'\"response\" body \"id_token\" property',Nn,{body:c});const u=kn(c);if(r!==On){const e=Yt()+Bt(t),n=Xt(t);if(u.auth_time+r<e-n)throw Ut(\"too much time has elapsed since the last End-User authentication\",Jn,{claims:u,now:e,tolerance:n,claim:\"auth_time\"})}if(o===xn){if(void 0!==u.nonce)throw Ut('unexpected ID Token \"nonce\" claim value',Vn,{expected:void 0,claims:u,claim:\"nonce\"})}else if(u.nonce!==o)throw Ut('unexpected ID Token \"nonce\" claim value',Vn,{expected:o,claims:u,claim:\"nonce\"});return c}(e,t,n,o.expectedNonce,o.maxAge,o[Rt],o.recognizedTokenTypes):async function(e,t,n,o,r){const i=await Sn(e,t,n,void 0,o,r),a=kn(i);if(a){if(void 0!==t.default_max_age){Vt(t.default_max_age,!0,'\"client.default_max_age\"');const e=Yt()+Bt(t),n=Xt(t);if(a.auth_time+t.default_max_age<e-n)throw Ut(\"too much time has elapsed since the last End-User authentication\",Jn,{claims:a,now:e,tolerance:n,claim:\"auth_time\"})}if(void 0!==a.nonce)throw Ut('unexpected ID Token \"nonce\" claim value',Vn,{expected:void 0,claims:a,claim:\"nonce\"})}return i}(e,t,n,null==o?void 0:o[Rt],null==o?void 0:o.recognizedTokenTypes)}const jn=\"OAUTH_WWW_AUTHENTICATE_CHALLENGE\",Dn=\"OAUTH_RESPONSE_BODY_ERROR\",Kn=\"OAUTH_UNSUPPORTED_OPERATION\",Ln=\"OAUTH_AUTHORIZATION_RESPONSE_ERROR\",Un=\"OAUTH_PARSE_ERROR\",Nn=\"OAUTH_INVALID_RESPONSE\",Wn=\"OAUTH_RESPONSE_IS_NOT_JSON\",zn=\"OAUTH_RESPONSE_IS_NOT_CONFORM\",Hn=\"OAUTH_HTTP_REQUEST_FORBIDDEN\",Mn=\"OAUTH_REQUEST_PROTOCOL_FORBIDDEN\",Jn=\"OAUTH_JWT_TIMESTAMP_CHECK_FAILED\",Vn=\"OAUTH_JWT_CLAIM_COMPARISON_FAILED\",Fn=\"OAUTH_JSON_ATTRIBUTE_COMPARISON_FAILED\",Gn=\"OAUTH_MISSING_SERVER_METADATA\",Zn=\"OAUTH_INVALID_SERVER_METADATA\";function qn(e){if(e.bodyUsed)throw kt('\"response\" body has been used already',\"ERR_INVALID_ARG_VALUE\")}function Bn(e){const{algorithm:t}=e;if(\"number\"!=typeof t.modulusLength||t.modulusLength<2048)throw new Kt(\"unsupported \".concat(t.name,\" modulusLength\"),{cause:e})}function Xn(e){const{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 Kt(\"unsupported ECDSA namedCurve\",{cause:e})}}async function Yn(e){if(\"POST\"!==e.method)throw kt(\"form_post responses are expected to use the POST method\",\"ERR_INVALID_ARG_VALUE\",{cause:e});if(\"application/x-www-form-urlencoded\"!==wn(e))throw kt(\"form_post responses are expected to use the application/x-www-form-urlencoded content-type\",\"ERR_INVALID_ARG_VALUE\",{cause:e});return async function(e){if(e.bodyUsed)throw kt(\"form_post Request instances must contain a readable body\",\"ERR_INVALID_ARG_VALUE\",{cause:e});return e.text()}(e)}function Qn(e,t,n,o){if(void 0===e)if(Array.isArray(t)){if(!t.includes(o.alg))throw Ut('unexpected JWT \"alg\" header parameter',Nn,{header:o,expected:t,reason:\"authorization server metadata\"})}else{if(void 0===n)throw Ut('missing client or server configuration to verify used JWT \"alg\" header parameter',void 0,{client:e,issuer:t,fallback:n});if(\"string\"==typeof n?o.alg!==n:\"function\"==typeof n?!n(o.alg):!n.includes(o.alg))throw Ut('unexpected JWT \"alg\" header parameter',Nn,{header:o,expected:n,reason:\"default value\"})}else if(\"string\"==typeof e?o.alg!==e:!e.includes(o.alg))throw Ut('unexpected JWT \"alg\" header parameter',Nn,{header:o,expected:e,reason:\"client configuration\"})}function $n(e,t){const{0:n,length:o}=e.getAll(t);if(o>1)throw Ut('\"'.concat(t,'\" parameter must be provided only once'),Nn);return n}const eo=Symbol(),to=Symbol();function no(e,t,n,o){if(Qt(e),$t(t),n instanceof URL&&(n=n.searchParams),!(n instanceof URLSearchParams))throw kt('\"parameters\" must be an instance of URLSearchParams, or URL',\"ERR_INVALID_ARG_TYPE\");if($n(n,\"response\"))throw Ut('\"parameters\" contains a JARM response, use validateJwtAuthResponse() instead of validateAuthResponse()',Nn,{parameters:n});const r=$n(n,\"iss\"),i=$n(n,\"state\");if(!r&&e.authorization_response_iss_parameter_supported)throw Ut('response parameter \"iss\" (issuer) missing',Nn,{parameters:n});if(r&&r!==e.issuer)throw Ut('unexpected \"iss\" (issuer) response parameter value',Nn,{expected:e.issuer,parameters:n});switch(o){case void 0:case to:if(void 0!==i)throw Ut('unexpected \"state\" response parameter encountered',Nn,{expected:void 0,parameters:n});break;case eo:break;default:if(Ft(o,'\"expectedState\" argument'),i!==o)throw Ut(void 0===i?'response parameter \"state\" missing':'unexpected \"state\" response parameter value',Nn,{expected:o,parameters:n})}if($n(n,\"error\"))throw new cn(\"authorization response from the server is an error\",{cause:n});const a=$n(n,\"id_token\"),s=$n(n,\"token\");if(void 0!==a||void 0!==s)throw new Kt(\"implicit and hybrid flows are not supported\");return c=new URLSearchParams(n),Tn.add(c),c;var c}async function oo(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gt;try{t=await e.json()}catch(t){throw n(e),Ut('failed to parse \"response\" body as JSON',Un,t)}if(!Wt(t))throw Ut('\"response\" body must be a top level object',Nn,{body:t});return t}const ro=Symbol(),io=Symbol(),ao=new TextEncoder,so=new TextDecoder;function co(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){const o=e.charCodeAt(n);if(o>127)throw new TypeError(\"non-ASCII string encountered in encode()\");t[n]=o}return t}function uo(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(e);const t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function lo(e){if(Uint8Array.fromBase64)return Uint8Array.fromBase64(\"string\"==typeof e?e:so.decode(e),{alphabet:\"base64url\"});let t=e;t instanceof Uint8Array&&(t=so.decode(t)),t=t.replace(/-/g,\"+\").replace(/_/g,\"/\");try{return uo(t)}catch(e){throw new TypeError(\"The input to be decoded is not correctly encoded.\")}}class ho extends Error{constructor(e,t){var n;super(e,t),ht(this,\"code\",\"ERR_JOSE_GENERIC\"),this.name=this.constructor.name,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}ht(ho,\"code\",\"ERR_JOSE_GENERIC\");class po extends ho{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"unspecified\",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"unspecified\";super(e,{cause:{claim:n,reason:o,payload:t}}),ht(this,\"code\",\"ERR_JWT_CLAIM_VALIDATION_FAILED\"),ht(this,\"claim\",void 0),ht(this,\"reason\",void 0),ht(this,\"payload\",void 0),this.claim=n,this.reason=o,this.payload=t}}ht(po,\"code\",\"ERR_JWT_CLAIM_VALIDATION_FAILED\");class fo extends ho{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"unspecified\",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"unspecified\";super(e,{cause:{claim:n,reason:o,payload:t}}),ht(this,\"code\",\"ERR_JWT_EXPIRED\"),ht(this,\"claim\",void 0),ht(this,\"reason\",void 0),ht(this,\"payload\",void 0),this.claim=n,this.reason=o,this.payload=t}}ht(fo,\"code\",\"ERR_JWT_EXPIRED\");class mo extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JOSE_ALG_NOT_ALLOWED\")}}ht(mo,\"code\",\"ERR_JOSE_ALG_NOT_ALLOWED\");class yo extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JOSE_NOT_SUPPORTED\")}}ht(yo,\"code\",\"ERR_JOSE_NOT_SUPPORTED\");ht(class extends ho{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"decryption operation failed\",arguments.length>1?arguments[1]:void 0),ht(this,\"code\",\"ERR_JWE_DECRYPTION_FAILED\")}},\"code\",\"ERR_JWE_DECRYPTION_FAILED\");ht(class extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JWE_INVALID\")}},\"code\",\"ERR_JWE_INVALID\");class wo extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JWS_INVALID\")}}ht(wo,\"code\",\"ERR_JWS_INVALID\");class go extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JWT_INVALID\")}}ht(go,\"code\",\"ERR_JWT_INVALID\");ht(class extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JWK_INVALID\")}},\"code\",\"ERR_JWK_INVALID\");class vo extends ho{constructor(){super(...arguments),ht(this,\"code\",\"ERR_JWKS_INVALID\")}}ht(vo,\"code\",\"ERR_JWKS_INVALID\");class bo extends ho{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"no applicable key found in the JSON Web Key Set\",arguments.length>1?arguments[1]:void 0),ht(this,\"code\",\"ERR_JWKS_NO_MATCHING_KEY\")}}ht(bo,\"code\",\"ERR_JWKS_NO_MATCHING_KEY\");class _o extends ho{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"multiple matching keys found in the JSON Web Key Set\",arguments.length>1?arguments[1]:void 0),ht(this,Symbol.asyncIterator,void 0),ht(this,\"code\",\"ERR_JWKS_MULTIPLE_MATCHING_KEYS\")}}ht(_o,\"code\",\"ERR_JWKS_MULTIPLE_MATCHING_KEYS\");class ko extends ho{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"request timed out\",arguments.length>1?arguments[1]:void 0),ht(this,\"code\",\"ERR_JWKS_TIMEOUT\")}}ht(ko,\"code\",\"ERR_JWKS_TIMEOUT\");class So extends ho{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"signature verification failed\",arguments.length>1?arguments[1]:void 0),ht(this,\"code\",\"ERR_JWS_SIGNATURE_VERIFICATION_FAILED\")}}ht(So,\"code\",\"ERR_JWS_SIGNATURE_VERIFICATION_FAILED\");const Eo=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"algorithm.name\";return new TypeError(\"CryptoKey does not support this operation, its \".concat(t,\" must be \").concat(e))},Ao=(e,t)=>e.name===t;function To(e){return parseInt(e.name.slice(4),10)}function Po(e,t,n){switch(t){case\"HS256\":case\"HS384\":case\"HS512\":{if(!Ao(e.algorithm,\"HMAC\"))throw Eo(\"HMAC\");const n=parseInt(t.slice(2),10);if(To(e.algorithm.hash)!==n)throw Eo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"RS256\":case\"RS384\":case\"RS512\":{if(!Ao(e.algorithm,\"RSASSA-PKCS1-v1_5\"))throw Eo(\"RSASSA-PKCS1-v1_5\");const n=parseInt(t.slice(2),10);if(To(e.algorithm.hash)!==n)throw Eo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"PS256\":case\"PS384\":case\"PS512\":{if(!Ao(e.algorithm,\"RSA-PSS\"))throw Eo(\"RSA-PSS\");const n=parseInt(t.slice(2),10);if(To(e.algorithm.hash)!==n)throw Eo(\"SHA-\".concat(n),\"algorithm.hash\");break}case\"Ed25519\":case\"EdDSA\":if(!Ao(e.algorithm,\"Ed25519\"))throw Eo(\"Ed25519\");break;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":if(!Ao(e.algorithm,t))throw Eo(t);break;case\"ES256\":case\"ES384\":case\"ES512\":{if(!Ao(e.algorithm,\"ECDSA\"))throw Eo(\"ECDSA\");const n=function(e){switch(e){case\"ES256\":return\"P-256\";case\"ES384\":return\"P-384\";case\"ES512\":return\"P-521\";default:throw new Error(\"unreachable\")}}(t);if(e.algorithm.namedCurve!==n)throw Eo(n,\"algorithm.namedCurve\");break}default:throw new TypeError(\"CryptoKey does not support this operation\")}!function(e,t){if(t&&!e.usages.includes(t))throw new TypeError(\"CryptoKey does not support this operation, its usages must include \".concat(t,\".\"))}(e,n)}function Ro(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];if((o=o.filter(Boolean)).length>2){const t=o.pop();e+=\"one of type \".concat(o.join(\", \"),\", or \").concat(t,\".\")}else 2===o.length?e+=\"one of type \".concat(o[0],\" or \").concat(o[1],\".\"):e+=\"of type \".concat(o[0],\".\");if(null==t)e+=\" Received \".concat(t);else if(\"function\"==typeof t&&t.name)e+=\" Received function \".concat(t.name);else if(\"object\"==typeof t&&null!=t){var i;null!==(i=t.constructor)&&void 0!==i&&i.name&&(e+=\" Received an instance of \".concat(t.constructor.name))}return e}const Io=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];return Ro(\"Key for the \".concat(e,\" algorithm must be \"),t,...o)},xo=e=>{if(\"CryptoKey\"===(null==e?void 0:e[Symbol.toStringTag]))return!0;try{return e instanceof CryptoKey}catch(e){return!1}},Oo=e=>\"KeyObject\"===(null==e?void 0:e[Symbol.toStringTag]),Co=e=>xo(e)||Oo(e);function jo(e){if(\"object\"!=typeof(t=e)||null===t||\"[object Object]\"!==Object.prototype.toString.call(e))return!1;var t;if(null===Object.getPrototypeOf(e))return!0;let n=e;for(;null!==Object.getPrototypeOf(n);)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}const Do=(e,t)=>{if(e.byteLength!==t.length)return!1;for(let n=0;n<e.byteLength;n++)if(e[n]!==t[n])return!1;return!0},Ko=e=>{const t=e.data[e.pos++];if(128&t){const n=127&t;let o=0;for(let t=0;t<n;t++)o=o<<8|e.data[e.pos++];return o}return t},Lo=(e,t,n)=>{if(e.data[e.pos++]!==t)throw new Error(n)},Uo=(e,t)=>{const n=e.data.subarray(e.pos,e.pos+t);return e.pos+=t,n};const No=e=>{const t=(e=>{Lo(e,6,\"Expected algorithm OID\");const t=Ko(e);return Uo(e,t)})(e);if(Do(t,[43,101,110]))return\"X25519\";if(!Do(t,[42,134,72,206,61,2,1]))throw new Error(\"Unsupported key algorithm\");Lo(e,6,\"Expected curve OID\");const n=Ko(e),o=Uo(e,n);for(const{name:e,oid:t}of[{name:\"P-256\",oid:[42,134,72,206,61,3,1,7]},{name:\"P-384\",oid:[43,129,4,0,34]},{name:\"P-521\",oid:[43,129,4,0,35]}])if(Do(o,t))return e;throw new Error(\"Unsupported named curve\")},Wo=async(e,t,n,o)=>{var r;let i,a;const s=\"spki\"===e,c=()=>s?[\"verify\"]:[\"sign\"];switch(n){case\"PS256\":case\"PS384\":case\"PS512\":i={name:\"RSA-PSS\",hash:\"SHA-\".concat(n.slice(-3))},a=c();break;case\"RS256\":case\"RS384\":case\"RS512\":i={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-\".concat(n.slice(-3))},a=c();break;case\"RSA-OAEP\":case\"RSA-OAEP-256\":case\"RSA-OAEP-384\":case\"RSA-OAEP-512\":i={name:\"RSA-OAEP\",hash:\"SHA-\".concat(parseInt(n.slice(-3),10)||1)},a=s?[\"encrypt\",\"wrapKey\"]:[\"decrypt\",\"unwrapKey\"];break;case\"ES256\":case\"ES384\":case\"ES512\":i={name:\"ECDSA\",namedCurve:{ES256:\"P-256\",ES384:\"P-384\",ES512:\"P-521\"}[n]},a=c();break;case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":try{const e=o.getNamedCurve(t);i=\"X25519\"===e?{name:\"X25519\"}:{name:\"ECDH\",namedCurve:e}}catch(e){throw new yo(\"Invalid or unsupported key format\")}a=s?[]:[\"deriveBits\"];break;case\"Ed25519\":case\"EdDSA\":i={name:\"Ed25519\"},a=c();break;case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":i={name:n},a=c();break;default:throw new yo('Invalid or unsupported \"alg\" (Algorithm) value')}return crypto.subtle.importKey(e,t,i,null!==(r=null==o?void 0:o.extractable)&&void 0!==r?r:!!s,a)},zo=(e,t,n)=>{var o;const r=((e,t)=>uo(e.replace(t,\"\")))(e,/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\\s)/g);let i=n;return null!=t&&null!==(o=t.startsWith)&&void 0!==o&&o.call(t,\"ECDH-ES\")&&(i||(i={}),i.getNamedCurve=e=>{const t={data:e,pos:0};return function(e){Lo(e,48,\"Invalid PKCS#8 structure\"),Ko(e),Lo(e,2,\"Expected version field\");const t=Ko(e);e.pos+=t,Lo(e,48,\"Expected algorithm identifier\");const n=Ko(e);e.pos}(t),No(t)}),Wo(\"pkcs8\",r,t,i)};async function Ho(e){var t,n;if(!e.alg)throw new TypeError('\"alg\" argument is required when \"jwk.alg\" is not present');const{algorithm:o,keyUsages:r}=function(e){let t,n;switch(e.kty){case\"AKP\":switch(e.alg){case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":t={name:e.alg},n=e.priv?[\"sign\"]:[\"verify\"];break;default:throw new yo('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"RSA\":switch(e.alg){case\"PS256\":case\"PS384\":case\"PS512\":t={name:\"RSA-PSS\",hash:\"SHA-\".concat(e.alg.slice(-3))},n=e.d?[\"sign\"]:[\"verify\"];break;case\"RS256\":case\"RS384\":case\"RS512\":t={name:\"RSASSA-PKCS1-v1_5\",hash:\"SHA-\".concat(e.alg.slice(-3))},n=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-\".concat(parseInt(e.alg.slice(-3),10)||1)},n=e.d?[\"decrypt\",\"unwrapKey\"]:[\"encrypt\",\"wrapKey\"];break;default:throw new yo('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"EC\":switch(e.alg){case\"ES256\":t={name:\"ECDSA\",namedCurve:\"P-256\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ES384\":t={name:\"ECDSA\",namedCurve:\"P-384\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ES512\":t={name:\"ECDSA\",namedCurve:\"P-521\"},n=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},n=e.d?[\"deriveBits\"]:[];break;default:throw new yo('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;case\"OKP\":switch(e.alg){case\"Ed25519\":case\"EdDSA\":t={name:\"Ed25519\"},n=e.d?[\"sign\"]:[\"verify\"];break;case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":t={name:e.crv},n=e.d?[\"deriveBits\"]:[];break;default:throw new yo('Invalid or unsupported JWK \"alg\" (Algorithm) Parameter value')}break;default:throw new yo('Invalid or unsupported JWK \"kty\" (Key Type) Parameter value')}return{algorithm:t,keyUsages:n}}(e),i=ft({},e);return\"AKP\"!==i.kty&&delete i.alg,delete i.use,crypto.subtle.importKey(\"jwk\",i,o,null!==(t=e.ext)&&void 0!==t?t:!e.d&&!e.priv,null!==(n=e.key_ops)&&void 0!==n?n:r)}const Mo=e=>jo(e)&&\"string\"==typeof e.kty;let Jo;const Vo=async function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];Jo||(Jo=new WeakMap);let r=Jo.get(e);if(null!=r&&r[n])return r[n];const i=await Ho(ft(ft({},t),{},{alg:n}));return o&&Object.freeze(e),r?r[n]=i:Jo.set(e,{[n]:i}),i};async function Fo(e,t){if(e instanceof Uint8Array)return e;if(xo(e))return e;if(Oo(e)){if(\"secret\"===e.type)return e.export();if(\"toCryptoKey\"in e&&\"function\"==typeof e.toCryptoKey)try{return((e,t)=>{Jo||(Jo=new WeakMap);let n=Jo.get(e);if(null!=n&&n[t])return n[t];const o=\"public\"===e.type,r=!!o;let i;if(\"x25519\"===e.asymmetricKeyType){switch(t){case\"ECDH-ES\":case\"ECDH-ES+A128KW\":case\"ECDH-ES+A192KW\":case\"ECDH-ES+A256KW\":break;default:throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\")}i=e.toCryptoKey(e.asymmetricKeyType,r,o?[]:[\"deriveBits\"])}if(\"ed25519\"===e.asymmetricKeyType){if(\"EdDSA\"!==t&&\"Ed25519\"!==t)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");i=e.toCryptoKey(e.asymmetricKeyType,r,[o?\"verify\":\"sign\"])}switch(e.asymmetricKeyType){case\"ml-dsa-44\":case\"ml-dsa-65\":case\"ml-dsa-87\":if(t!==e.asymmetricKeyType.toUpperCase())throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");i=e.toCryptoKey(e.asymmetricKeyType,r,[o?\"verify\":\"sign\"])}if(\"rsa\"===e.asymmetricKeyType){let n;switch(t){case\"RSA-OAEP\":n=\"SHA-1\";break;case\"RS256\":case\"PS256\":case\"RSA-OAEP-256\":n=\"SHA-256\";break;case\"RS384\":case\"PS384\":case\"RSA-OAEP-384\":n=\"SHA-384\";break;case\"RS512\":case\"PS512\":case\"RSA-OAEP-512\":n=\"SHA-512\";break;default:throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\")}if(t.startsWith(\"RSA-OAEP\"))return e.toCryptoKey({name:\"RSA-OAEP\",hash:n},r,o?[\"encrypt\"]:[\"decrypt\"]);i=e.toCryptoKey({name:t.startsWith(\"PS\")?\"RSA-PSS\":\"RSASSA-PKCS1-v1_5\",hash:n},r,[o?\"verify\":\"sign\"])}if(\"ec\"===e.asymmetricKeyType){var a;const n=new Map([[\"prime256v1\",\"P-256\"],[\"secp384r1\",\"P-384\"],[\"secp521r1\",\"P-521\"]]).get(null===(a=e.asymmetricKeyDetails)||void 0===a?void 0:a.namedCurve);if(!n)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");\"ES256\"===t&&\"P-256\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),\"ES384\"===t&&\"P-384\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),\"ES512\"===t&&\"P-521\"===n&&(i=e.toCryptoKey({name:\"ECDSA\",namedCurve:n},r,[o?\"verify\":\"sign\"])),t.startsWith(\"ECDH-ES\")&&(i=e.toCryptoKey({name:\"ECDH\",namedCurve:n},r,o?[]:[\"deriveBits\"]))}if(!i)throw new TypeError(\"given KeyObject instance cannot be used for this algorithm\");return n?n[t]=i:Jo.set(e,{[t]:i}),i})(e,t)}catch(e){if(e instanceof TypeError)throw e}let n=e.export({format:\"jwk\"});return Vo(e,n,t)}if(Mo(e))return e.k?lo(e.k):Vo(e,e,t,!0);throw new Error(\"unreachable\")}const Go=e=>null==e?void 0:e[Symbol.toStringTag],Zo=(e,t,n)=>{if(void 0!==t.use){let e;switch(n){case\"sign\":case\"verify\":e=\"sig\";break;case\"encrypt\":case\"decrypt\":e=\"enc\"}if(t.use!==e)throw new TypeError('Invalid key for this operation, its \"use\" must be \"'.concat(e,'\" when present'))}if(void 0!==t.alg&&t.alg!==e)throw new TypeError('Invalid key for this operation, its \"alg\" must be \"'.concat(e,'\" when present'));if(Array.isArray(t.key_ops)){var o,r;let i;switch(!0){case\"sign\"===n||\"verify\"===n:case\"dir\"===e:case e.includes(\"CBC-HS\"):i=n;break;case e.startsWith(\"PBES2\"):i=\"deriveBits\";break;case/^A\\d{3}(?:GCM)?(?:KW)?$/.test(e):i=!e.includes(\"GCM\")&&e.endsWith(\"KW\")?\"encrypt\"===n?\"wrapKey\":\"unwrapKey\":n;break;case\"encrypt\"===n&&e.startsWith(\"RSA\"):i=\"wrapKey\";break;case\"decrypt\"===n:i=e.startsWith(\"RSA\")?\"unwrapKey\":\"deriveBits\"}if(i&&!1===(null===(o=t.key_ops)||void 0===o||null===(r=o.includes)||void 0===r?void 0:r.call(o,i)))throw new TypeError('Invalid key for this operation, its \"key_ops\" must include \"'.concat(i,'\" when present'))}return!0};function qo(e,t,n){switch(e.substring(0,2)){case\"A1\":case\"A2\":case\"di\":case\"HS\":case\"PB\":((e,t,n)=>{if(!(t instanceof Uint8Array)){if(Mo(t)){if((e=>\"oct\"===e.kty&&\"string\"==typeof e.k)(t)&&Zo(e,t,n))return;throw new TypeError('JSON Web Key for symmetric algorithms must have JWK \"kty\" (Key Type) equal to \"oct\" and the JWK \"k\" (Key Value) present')}if(!Co(t))throw new TypeError(Io(e,t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\",\"Uint8Array\"));if(\"secret\"!==t.type)throw new TypeError(\"\".concat(Go(t),' instances for symmetric algorithms must be of type \"secret\"'))}})(e,t,n);break;default:((e,t,n)=>{if(Mo(t))switch(n){case\"decrypt\":case\"sign\":if((e=>\"oct\"!==e.kty&&(\"AKP\"===e.kty&&\"string\"==typeof e.priv||\"string\"==typeof e.d))(t)&&Zo(e,t,n))return;throw new TypeError(\"JSON Web Key for this operation must be a private JWK\");case\"encrypt\":case\"verify\":if((e=>\"oct\"!==e.kty&&void 0===e.d&&void 0===e.priv)(t)&&Zo(e,t,n))return;throw new TypeError(\"JSON Web Key for this operation must be a public JWK\")}if(!Co(t))throw new TypeError(Io(e,t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\"));if(\"secret\"===t.type)throw new TypeError(\"\".concat(Go(t),' instances for asymmetric algorithms must not be of type \"secret\"'));if(\"public\"===t.type)switch(n){case\"sign\":throw new TypeError(\"\".concat(Go(t),' instances for asymmetric algorithm signing must be of type \"private\"'));case\"decrypt\":throw new TypeError(\"\".concat(Go(t),' instances for asymmetric algorithm decryption must be of type \"private\"'))}if(\"private\"===t.type)switch(n){case\"verify\":throw new TypeError(\"\".concat(Go(t),' instances for asymmetric algorithm verifying must be of type \"public\"'));case\"encrypt\":throw new TypeError(\"\".concat(Go(t),' instances for asymmetric algorithm encryption must be of type \"public\"'))}})(e,t,n)}}var Bo,Xo;let Yo,Qo;if(\"undefined\"==typeof navigator||null===(Bo=navigator.userAgent)||void 0===Bo||null===(Xo=Bo.startsWith)||void 0===Xo||!Xo.call(Bo,\"Mozilla/5.0 \")){const e=\"v6.8.1\";Qo=\"\".concat(\"openid-client\",\"/\").concat(e),Yo={\"user-agent\":Qo}}const $o=e=>er.get(e);let er,tr;function nr(e){return void 0!==e?en(e):(tr||(tr=new WeakMap),(e,t,n,o)=>{let r;return(r=tr.get(t))||(!function(e,t){if(\"string\"!=typeof e)throw ar(\"\".concat(t,\" must be a string\"),ir);if(0===e.length)throw ar(\"\".concat(t,\" must not be empty\"),rr)}(t.client_secret,'\"metadata.client_secret\"'),r=en(t.client_secret),tr.set(t,r)),r(e,t,n,o)})}const or=Tt,rr=\"ERR_INVALID_ARG_VALUE\",ir=\"ERR_INVALID_ARG_TYPE\";function ar(e,t,n){const o=new TypeError(e,{cause:n});return Object.assign(o,{code:t}),o}function sr(e){return async function(e){return Ft(e,\"codeVerifier\"),Dt(await crypto.subtle.digest(\"SHA-256\",Ot(e)))}(e)}function cr(){return Zt()}class ur extends Error{constructor(e,t){var n;super(e,t),ht(this,\"code\",void 0),this.name=this.constructor.name,this.code=null==t?void 0:t.code,null===(n=Error.captureStackTrace)||void 0===n||n.call(Error,this,this.constructor)}}function lr(e,t,n){return new ur(e,{cause:t,code:n})}function dr(e){if(e instanceof TypeError||e instanceof ur||e instanceof sn||e instanceof cn||e instanceof un)throw e;if(e instanceof Lt)switch(e.code){case Hn:throw lr(\"only requests to HTTPS are allowed\",e,e.code);case Mn:throw lr(\"only requests to HTTP or HTTPS are allowed\",e,e.code);case zn:throw lr(\"unexpected HTTP response status code\",e.cause,e.code);case Wn:throw lr(\"unexpected response content-type\",e.cause,e.code);case Un:throw lr(\"parsing error occured\",e,e.code);case Nn:throw lr(\"invalid response encountered\",e,e.code);case Vn:throw lr(\"unexpected JWT claim value encountered\",e,e.code);case Fn:throw lr(\"unexpected JSON attribute value encountered\",e,e.code);case Jn:throw lr(\"JWT timestamp claim value failed validation\",e,e.code);default:throw lr(e.message,e,e.code)}if(e instanceof Kt)throw lr(\"unsupported operation\",e,e.code);if(e instanceof DOMException)switch(e.name){case\"OperationError\":throw lr(\"runtime operation error\",e,Kn);case\"NotSupportedError\":throw lr(\"runtime unsupported operation\",e,Kn);case\"TimeoutError\":throw lr(\"operation timed out\",e,\"OAUTH_TIMEOUT\");case\"AbortError\":throw lr(\"operation aborted\",e,\"OAUTH_ABORT\")}throw new ur(\"something went wrong\",{cause:e})}async function hr(e,t,n,o,r){const i=await async function(e,t){var n,o;if(!(e instanceof URL))throw ar('\"server\" must be an instance of URL',ir);const r=!e.href.includes(\"/.well-known/\"),i=null!==(n=null==t?void 0:t.timeout)&&void 0!==n?n:30,a=AbortSignal.timeout(1e3*i),s=await(r?Jt(e,{algorithm:null==t?void 0:t.algorithm,[Tt]:null==t?void 0:t[or],[St]:null==t||null===(o=t.execute)||void 0===o?void 0:o.includes(br),signal:a,headers:new Headers(Yo)}):((null==t?void 0:t[or])||fetch)((on(e,null==t||null===(c=t.execute)||void 0===c||!c.includes(br)),e.href),{headers:Object.fromEntries(new Headers(ft({accept:\"application/json\"},Yo)).entries()),body:void 0,method:\"GET\",redirect:\"manual\",signal:a})).then((e=>async function(e,t){const n=e;if(!(n instanceof URL)&&n!==ro)throw kt('\"expectedIssuerIdentifier\" must be an instance of URL',\"ERR_INVALID_ARG_TYPE\");if(!_t(t,Response))throw kt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");if(200!==t.status)throw Ut('\"response\" is not a conform Authorization Server Metadata response (unexpected HTTP status code)',zn,t);qn(t);const o=await oo(t);if(Ft(o.issuer,'\"response\" body \"issuer\" property',Nn,{body:o}),n!==ro&&new URL(o.issuer).href!==n.href)throw Ut('\"response\" body \"issuer\" property does not match the expected value',Fn,{expected:n.href,body:o,attribute:\"issuer\"});return o}(ro,e))).catch(dr);var c;r&&new URL(s.issuer).href!==e.href&&(function(e,t,n){return!(\"https://login.microsoftonline.com\"!==e.origin||null!=n&&n.algorithm&&\"oidc\"!==n.algorithm||(t[pr]=!0,0))}(e,s,t)||function(e,t){return!(!e.hostname.endsWith(\".b2clogin.com\")||null!=t&&t.algorithm&&\"oidc\"!==t.algorithm)}(e,t)||(()=>{throw new ur(\"discovered metadata issuer does not match the expected issuer\",{code:Fn,cause:{expected:e.href,body:s,attribute:\"issuer\"}})})());return s}(e,r),a=new fr(i,t,n,o);let s=$o(a);if(null!=r&&r[or]&&(s.fetch=r[or]),null!=r&&r.timeout&&(s.timeout=r.timeout),null!=r&&r.execute)for(const e of r.execute)e(a);return a}new TextDecoder;const pr=Symbol();class fr{constructor(e,t,n,o){var r,i,a,s,c;if(\"string\"!=typeof t||!t.length)throw ar('\"clientId\" must be a non-empty string',ir);if(\"string\"==typeof n&&(n={client_secret:n}),void 0!==(null===(r=n)||void 0===r?void 0:r.client_id)&&t!==n.client_id)throw ar('\"clientId\" and \"metadata.client_id\" must be the same',rr);const u=ft(ft({},structuredClone(n)),{},{client_id:t});let l;u[Et]=null!==(i=null===(a=n)||void 0===a?void 0:a[Et])&&void 0!==i?i:0,u[At]=null!==(s=null===(c=n)||void 0===c?void 0:c[At])&&void 0!==s?s:30,l=o||(\"string\"==typeof u.client_secret&&u.client_secret.length?nr(u.client_secret):(e,t,n,o)=>{n.set(\"client_id\",t.client_id)});let d=Object.freeze(u);const h=structuredClone(e);pr in e&&(h[io]=t=>{let{claims:{tid:n}}=t;return e.issuer.replace(\"{tenantid}\",n)});let p=Object.freeze(h);er||(er=new WeakMap),er.set(this,{__proto__:null,as:p,c:d,auth:l,tlsOnly:!0,jwksCache:{}})}serverMetadata(){const e=structuredClone($o(this).as);return function(e){Object.defineProperties(e,function(e){return{supportsPKCE:{__proto__:null,value(){var t;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"S256\";return!0===(null===(t=e.code_challenge_methods_supported)||void 0===t?void 0:t.includes(n))}}}}(e))}(e),e}clientMetadata(){return structuredClone($o(this).c)}get timeout(){return $o(this).timeout}set timeout(e){$o(this).timeout=e}get[or](){return $o(this).fetch}set[or](e){$o(this).fetch=e}}function mr(e){Object.defineProperties(e,function(e){let t;if(void 0!==e.expires_in){const n=new Date;n.setSeconds(n.getSeconds()+e.expires_in),t=n.getTime()}return{expiresIn:{__proto__:null,value(){if(t){const e=Date.now();return t>e?Math.floor((t-e)/1e3):0}}},claims:{__proto__:null,value(){try{return kn(this)}catch(e){return}}}}}(e))}async function yr(e,t,n){var o;let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=null===(o=e.headers.get(\"retry-after\"))||void 0===o?void 0:o.trim();if(void 0===i)return;let a;if(/^\\d+$/.test(i))a=parseInt(i,10);else{const e=new Date(i);if(Number.isFinite(e.getTime())){const t=new Date,n=e.getTime()-t.getTime();n>0&&(a=Math.ceil(n/1e3))}}if(r&&!Number.isFinite(a))throw new Lt(\"invalid Retry-After header value\",{cause:e});a>t&&await wr(a-t,n)}function wr(e,t){return new Promise(((n,o)=>{const r=e=>{try{t.throwIfAborted()}catch(e){return void o(e)}if(e<=0)return void n();const i=Math.min(e,5);setTimeout((()=>r(e-i)),1e3*i)};r(e)}))}async function gr(e,t){Tr(e);const{as:n,c:o,auth:r,fetch:i,tlsOnly:a,timeout:s}=$o(e);return async function(e,t,n,o,r){Qt(e),$t(t);const i=an(e,\"backchannel_authentication_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==r?void 0:r[St])),a=new URLSearchParams(o);a.set(\"client_id\",t.client_id);const s=zt(null==r?void 0:r.headers);return s.set(\"accept\",\"application/json\"),gn(e,t,n,i,a,s,r)}(n,o,r,t,{[Tt]:i,[St]:!a,headers:new Headers(Yo),signal:Pr(s)}).then((e=>async function(e,t,n){if(Qt(e),$t(t),!_t(n,Response))throw kt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await mn(n,200,\"Backchannel Authentication Endpoint\"),qn(n);const o=await oo(n);Ft(o.auth_req_id,'\"response\" body \"auth_req_id\" property',Nn,{body:o});let r=\"number\"!=typeof o.expires_in?parseFloat(o.expires_in):o.expires_in;return Vt(r,!0,'\"response\" body \"expires_in\" property',Nn,{body:o}),o.expires_in=r,void 0!==o.interval&&Vt(o.interval,!1,'\"response\" body \"interval\" property',Nn,{body:o}),o}(n,o,e))).catch(dr)}async function vr(e,t,n,o){var r,i;Tr(e),n=new URLSearchParams(n);let a=null!==(r=t.interval)&&void 0!==r?r:5;const s=null!==(i=null==o?void 0:o.signal)&&void 0!==i?i:AbortSignal.timeout(1e3*t.expires_in);try{await wr(a,s)}catch(e){dr(e)}const{as:c,c:u,auth:l,fetch:d,tlsOnly:h,nonRepudiation:p,timeout:f,decrypt:m}=$o(e),y=(r,i)=>vr(e,ft(ft({},t),{},{interval:r}),n,ft(ft({},o),{},{signal:s,flag:i})),w=await async function(e,t,n,o,r){Qt(e),$t(t),Ft(o,'\"authReqId\"');const i=new URLSearchParams(null==r?void 0:r.additionalParameters);return i.set(\"auth_req_id\",o),vn(e,t,n,\"urn:openid:params:grant-type:ciba\",i,r)}(c,u,l,t.auth_req_id,{[Tt]:d,[St]:!h,additionalParameters:n,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Yo),signal:s.aborted?s:Pr(f)}).catch(dr);var g;if(503===w.status&&w.headers.has(\"retry-after\"))return await yr(w,a,s,!0),await(null===(g=w.body)||void 0===g?void 0:g.cancel()),y(a);const v=async function(e,t,n,o){return Sn(e,t,n,void 0,null==o?void 0:o[Rt],null==o?void 0:o.recognizedTokenTypes)}(c,u,w,{[Rt]:m});let b;try{b=await v}catch(e){if(Rr(e,o))return y(a,Ir);if(e instanceof sn)switch(e.error){case\"slow_down\":a+=5;case\"authorization_pending\":return await yr(e.response,a,s),y(a)}dr(e)}return b.id_token&&await(null==p?void 0:p(w)),mr(b),b}function br(e){$o(e).tlsOnly=!1}async function _r(e,t,n,o,r){if(Tr(e),!((null==r?void 0:r.flag)===Ir||t instanceof URL||function(e,t){try{return Object.getPrototypeOf(e)[Symbol.toStringTag]===t}catch(e){return!1}}(t,\"Request\")))throw ar('\"currentUrl\" must be an instance of URL, or Request',ir);let i,a;const{as:s,c:c,auth:u,fetch:l,tlsOnly:d,jarm:h,hybrid:p,nonRepudiation:f,timeout:m,decrypt:y,implicit:w}=$o(e);if((null==r?void 0:r.flag)===Ir)i=r.authResponse,a=r.redirectUri;else{if(!(t instanceof URL)){const e=t;switch(t=new URL(t.url),e.method){case\"GET\":break;case\"POST\":const n=new URLSearchParams(await Yn(e));if(p)t.hash=n.toString();else for(const[e,o]of n.entries())t.searchParams.append(e,o);break;default:throw ar(\"unexpected Request HTTP method\",rr)}}switch(a=function(e){return(e=new URL(e)).search=\"\",e.hash=\"\",e.href}(t),!0){case!!h:i=await h(t,null==n?void 0:n.expectedState);break;case!!p:i=await p(t,null==n?void 0:n.expectedNonce,null==n?void 0:n.expectedState,null==n?void 0:n.maxAge);break;case!!w:throw new TypeError(\"authorizationCodeGrant() cannot be used by response_type=id_token clients\");default:try{i=no(s,c,t.searchParams,null==n?void 0:n.expectedState)}catch(e){dr(e)}}}const g=await async function(e,t,n,o,r,i,a){if(Qt(e),$t(t),!Tn.has(o))throw kt('\"callbackParameters\" must be an instance of URLSearchParams obtained from \"validateAuthResponse()\", or \"validateJwtAuthResponse()',\"ERR_INVALID_ARG_VALUE\");Ft(r,'\"redirectUri\"');const s=$n(o,\"code\");if(!s)throw Ut('no authorization code in \"callbackParameters\"',Nn);const c=new URLSearchParams(null==a?void 0:a.additionalParameters);return c.set(\"redirect_uri\",r),c.set(\"code\",s),i!==Pn&&(Ft(i,'\"codeVerifier\"'),c.set(\"code_verifier\",i)),vn(e,t,n,\"authorization_code\",c,a)}(s,c,u,i,a,(null==n?void 0:n.pkceCodeVerifier)||Pn,{additionalParameters:o,[Tt]:l,[St]:!d,DPoP:null==r?void 0:r.DPoP,headers:new Headers(Yo),signal:Pr(m)}).catch(dr);\"string\"!=typeof(null==n?void 0:n.expectedNonce)&&\"number\"!=typeof(null==n?void 0:n.maxAge)||(n.idTokenExpected=!0);const v=Cn(s,c,g,{expectedNonce:null==n?void 0:n.expectedNonce,maxAge:null==n?void 0:n.maxAge,requireIdToken:null==n?void 0:n.idTokenExpected,[Rt]:y});let b;try{b=await v}catch(t){if(Rr(t,r))return _r(e,void 0,n,o,ft(ft({},r),{},{flag:Ir,authResponse:i,redirectUri:a}));dr(t)}return b.id_token&&await(null==f?void 0:f(g)),mr(b),b}async function kr(e,t,n,o){Tr(e),n=new URLSearchParams(n);const{as:r,c:i,auth:a,fetch:s,tlsOnly:c,nonRepudiation:u,timeout:l,decrypt:d}=$o(e),h=await async function(e,t,n,o,r){Qt(e),$t(t),Ft(o,'\"refreshToken\"');const i=new URLSearchParams(null==r?void 0:r.additionalParameters);return i.set(\"refresh_token\",o),vn(e,t,n,\"refresh_token\",i,r)}(r,i,a,t,{[Tt]:s,[St]:!c,additionalParameters:n,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Yo),signal:Pr(l)}).catch(dr),p=async function(e,t,n,o){return Sn(e,t,n,void 0,null==o?void 0:o[Rt],null==o?void 0:o.recognizedTokenTypes)}(r,i,h,{[Rt]:d});let f;try{f=await p}catch(r){if(Rr(r,o))return kr(e,t,n,ft(ft({},o),{},{flag:Ir}));dr(r)}return f.id_token&&await(null==u?void 0:u(h)),mr(f),f}async function Sr(e,t,n){Tr(e),t=new URLSearchParams(t);const{as:o,c:r,auth:i,fetch:a,tlsOnly:s,timeout:c}=$o(e),u=await async function(e,t,n,o,r){return Qt(e),$t(t),vn(e,t,n,\"client_credentials\",new URLSearchParams(o),r)}(o,r,i,t,{[Tt]:a,[St]:!s,DPoP:null==n?void 0:n.DPoP,headers:new Headers(Yo),signal:Pr(c)}).catch(dr),l=async function(e,t,n,o){return Sn(e,t,n,void 0,null==o?void 0:o[Rt],null==o?void 0:o.recognizedTokenTypes)}(o,r,u);let d;try{d=await l}catch(o){if(Rr(o,n))return Sr(e,t,ft(ft({},n),{},{flag:Ir}));dr(o)}return mr(d),d}function Er(e,t){Tr(e);const{as:n,c:o,tlsOnly:r,hybrid:i,jarm:a,implicit:s}=$o(e),c=an(n,\"authorization_endpoint\",!1,r);if((t=new URLSearchParams(t)).has(\"client_id\")||t.set(\"client_id\",o.client_id),!t.has(\"request_uri\")&&!t.has(\"request\")){if(t.has(\"response_type\")||t.set(\"response_type\",i?\"code id_token\":s?\"id_token\":\"code\"),s&&!t.has(\"nonce\"))throw ar(\"response_type=id_token clients must provide a nonce parameter in their authorization request parameters\",rr);a&&t.set(\"response_mode\",\"jwt\")}for(const[e,n]of t.entries())c.searchParams.append(e,n);return c}async function Ar(e,t,n){Tr(e);const o=Er(e,t),{as:r,c:i,auth:a,fetch:s,tlsOnly:c,timeout:u}=$o(e),l=await async function(e,t,n,o,r){var i;Qt(e),$t(t);const a=an(e,\"pushed_authorization_request_endpoint\",t.use_mtls_endpoint_aliases,!0!==(null==r?void 0:r[St])),s=new URLSearchParams(o);s.set(\"client_id\",t.client_id);const c=zt(null==r?void 0:r.headers);c.set(\"accept\",\"application/json\"),void 0!==(null==r?void 0:r.DPoP)&&(yn(r.DPoP),await r.DPoP.addProof(a,c,\"POST\"));const u=await gn(e,t,n,a,s,c,r);return null==r||null===(i=r.DPoP)||void 0===i||i.cacheNonce(u,a),u}(r,i,a,o.searchParams,{[Tt]:s,[St]:!c,DPoP:null==n?void 0:n.DPoP,headers:new Headers(Yo),signal:Pr(u)}).catch(dr),d=async function(e,t,n){if(Qt(e),$t(t),!_t(n,Response))throw kt('\"response\" must be an instance of Response',\"ERR_INVALID_ARG_TYPE\");await mn(n,201,\"Pushed Authorization Request Endpoint\"),qn(n);const o=await oo(n);Ft(o.request_uri,'\"response\" body \"request_uri\" property',Nn,{body:o});let r=\"number\"!=typeof o.expires_in?parseFloat(o.expires_in):o.expires_in;return Vt(r,!0,'\"response\" body \"expires_in\" property',Nn,{body:o}),o.expires_in=r,o}(r,i,l);let h;try{h=await d}catch(o){if(Rr(o,n))return Ar(e,t,ft(ft({},n),{},{flag:Ir}));dr(o)}return Er(e,{request_uri:h.request_uri})}function Tr(e){if(!(e instanceof fr))throw ar('\"config\" must be an instance of Configuration',ir);if(Object.getPrototypeOf(e)!==fr.prototype)throw ar(\"subclassing Configuration is not allowed\",rr)}function Pr(e){return e?AbortSignal.timeout(1e3*e):void 0}function Rr(e,t){return!(null==t||!t.DPoP||t.flag===Ir)&&function(e){if(e instanceof un){const{0:t,length:n}=e.cause;return 1===n&&\"dpop\"===t.scheme&&\"use_dpop_nonce\"===t.parameters.error}return e instanceof sn&&\"use_dpop_nonce\"===e.error}(e)}Object.freeze(fr.prototype);const Ir=Symbol();async function xr(e,t,n,o){Tr(e);const{as:r,c:i,auth:a,fetch:s,tlsOnly:c,timeout:u,decrypt:l}=$o(e),d=await async function(e,t,n,o,r,i){return Qt(e),$t(t),Ft(o,'\"grantType\"'),vn(e,t,n,o,new URLSearchParams(r),i)}(r,i,a,t,new URLSearchParams(n),{[Tt]:s,[St]:!c,DPoP:null==o?void 0:o.DPoP,headers:new Headers(Yo),signal:Pr(u)}).then((e=>{let n;return\"urn:ietf:params:oauth:grant-type:token-exchange\"===t&&(n={n_a:()=>{}}),async function(e,t,n,o){return Sn(e,t,n,void 0,null==o?void 0:o[Rt],null==o?void 0:o.recognizedTokenTypes)}(r,i,e,{[Rt]:l,recognizedTokenTypes:n})})).catch(dr);return mr(d),d}async function Or(e,t,n){if(t instanceof Uint8Array){if(!e.startsWith(\"HS\"))throw new TypeError(function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return Ro(\"Key must be \",e,...n)}(t,\"CryptoKey\",\"KeyObject\",\"JSON Web Key\"));return crypto.subtle.importKey(\"raw\",t,{hash:\"SHA-\".concat(e.slice(-3)),name:\"HMAC\"},!1,[n])}return Po(t,e,n),t}async function Cr(e,t,n,o){const r=await Or(e,t,\"verify\");!function(e,t){if(e.startsWith(\"RS\")||e.startsWith(\"PS\")){const{modulusLength:n}=t.algorithm;if(\"number\"!=typeof n||n<2048)throw new TypeError(\"\".concat(e,\" requires key modulusLength to be 2048 bits or larger\"))}}(e,r);const i=function(e,t){const n=\"SHA-\".concat(e.slice(-3));switch(e){case\"HS256\":case\"HS384\":case\"HS512\":return{hash:n,name:\"HMAC\"};case\"PS256\":case\"PS384\":case\"PS512\":return{hash:n,name:\"RSA-PSS\",saltLength:parseInt(e.slice(-3),10)>>3};case\"RS256\":case\"RS384\":case\"RS512\":return{hash:n,name:\"RSASSA-PKCS1-v1_5\"};case\"ES256\":case\"ES384\":case\"ES512\":return{hash:n,name:\"ECDSA\",namedCurve:t.namedCurve};case\"Ed25519\":case\"EdDSA\":return{name:\"Ed25519\"};case\"ML-DSA-44\":case\"ML-DSA-65\":case\"ML-DSA-87\":return{name:e};default:throw new yo(\"alg \".concat(e,\" is not supported either by JOSE or your javascript runtime\"))}}(e,r.algorithm);try{return await crypto.subtle.verify(i,r,n,o)}catch(e){return!1}}async function jr(e,t,n){if(!jo(e))throw new wo(\"Flattened JWS must be an object\");if(void 0===e.protected&&void 0===e.header)throw new wo('Flattened JWS must have either of the \"protected\" or \"header\" members');if(void 0!==e.protected&&\"string\"!=typeof e.protected)throw new wo(\"JWS Protected Header incorrect type\");if(void 0===e.payload)throw new wo(\"JWS Payload missing\");if(\"string\"!=typeof e.signature)throw new wo(\"JWS Signature missing or incorrect type\");if(void 0!==e.header&&!jo(e.header))throw new wo(\"JWS Unprotected Header incorrect type\");let o={};if(e.protected)try{const t=lo(e.protected);o=JSON.parse(so.decode(t))}catch(e){throw new wo(\"JWS Protected Header is invalid\")}if(!function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const o=t.filter(Boolean);if(0===o.length||1===o.length)return!0;let r;for(const e of o){const t=Object.keys(e);if(r&&0!==r.size)for(const e of t){if(r.has(e))return!1;r.add(e)}else r=new Set(t)}return!0}(o,e.header))throw new wo(\"JWS Protected and JWS Unprotected Header Parameter names must be disjoint\");const r=ft(ft({},o),e.header),i=function(e,t,n,o,r){if(void 0!==r.crit&&void 0===(null==o?void 0:o.crit))throw new e('\"crit\" (Critical) Header Parameter MUST be integrity protected');if(!o||void 0===o.crit)return new Set;if(!Array.isArray(o.crit)||0===o.crit.length||o.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');let i;i=void 0!==n?new Map([...Object.entries(n),...t.entries()]):t;for(const t of o.crit){if(!i.has(t))throw new yo('Extension Header Parameter \"'.concat(t,'\" is not recognized'));if(void 0===r[t])throw new e('Extension Header Parameter \"'.concat(t,'\" is missing'));if(i.get(t)&&void 0===o[t])throw new e('Extension Header Parameter \"'.concat(t,'\" MUST be integrity protected'))}return new Set(o.crit)}(wo,new Map([[\"b64\",!0]]),null==n?void 0:n.crit,o,r);let a=!0;if(i.has(\"b64\")&&(a=o.b64,\"boolean\"!=typeof a))throw new wo('The \"b64\" (base64url-encode payload) Header Parameter must be a boolean');const{alg:s}=r;if(\"string\"!=typeof s||!s)throw new wo('JWS \"alg\" (Algorithm) Header Parameter missing or invalid');const c=n&&function(e,t){if(void 0!==t&&(!Array.isArray(t)||t.some((e=>\"string\"!=typeof e))))throw new TypeError('\"'.concat(e,'\" option must be an array of strings'));if(t)return new Set(t)}(\"algorithms\",n.algorithms);if(c&&!c.has(s))throw new mo('\"alg\" (Algorithm) Header Parameter value not allowed');if(a){if(\"string\"!=typeof e.payload)throw new wo(\"JWS Payload must be a string\")}else if(\"string\"!=typeof e.payload&&!(e.payload instanceof Uint8Array))throw new wo(\"JWS Payload must be a string or an Uint8Array instance\");let u=!1;\"function\"==typeof t&&(t=await t(o,e),u=!0),qo(s,t,\"verify\");const l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const o=t.reduce(((e,t)=>{let{length:n}=t;return e+n}),0),r=new Uint8Array(o);let i=0;for(const e of t)r.set(e,i),i+=e.length;return r}(void 0!==e.protected?co(e.protected):new Uint8Array,co(\".\"),\"string\"==typeof e.payload?a?co(e.payload):ao.encode(e.payload):e.payload);let d;try{d=lo(e.signature)}catch(e){throw new wo(\"Failed to base64url decode the signature\")}const h=await Fo(t,s);if(!await Cr(s,h,d,l))throw new So;let p;if(a)try{p=lo(e.payload)}catch(e){throw new wo(\"Failed to base64url decode the payload\")}else p=\"string\"==typeof e.payload?ao.encode(e.payload):e.payload;const f={payload:p};return void 0!==e.protected&&(f.protectedHeader=o),void 0!==e.header&&(f.unprotectedHeader=e.header),u?ft(ft({},f),{},{key:h}):f}const Dr=e=>Math.floor(e.getTime()/1e3),Kr=/^(\\+|\\-)? ?(\\d+|\\d+\\.\\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;function Lr(e){const t=Kr.exec(e);if(!t||t[4]&&t[1])throw new TypeError(\"Invalid time period format\");const n=parseFloat(t[2]);let o;switch(t[3].toLowerCase()){case\"sec\":case\"secs\":case\"second\":case\"seconds\":case\"s\":o=Math.round(n);break;case\"minute\":case\"minutes\":case\"min\":case\"mins\":case\"m\":o=Math.round(60*n);break;case\"hour\":case\"hours\":case\"hr\":case\"hrs\":case\"h\":o=Math.round(3600*n);break;case\"day\":case\"days\":case\"d\":o=Math.round(86400*n);break;case\"week\":case\"weeks\":case\"w\":o=Math.round(604800*n);break;default:o=Math.round(31557600*n)}return\"-\"===t[1]||\"ago\"===t[4]?-o:o}const Ur=e=>e.includes(\"/\")?e.toLowerCase():\"application/\".concat(e.toLowerCase()),Nr=(e,t)=>\"string\"==typeof e?t.includes(e):!!Array.isArray(e)&&t.some(Set.prototype.has.bind(new Set(e)));async function Wr(e,t,n){var o;const r=await async function(e,t,n){if(e instanceof Uint8Array&&(e=so.decode(e)),\"string\"!=typeof e)throw new wo(\"Compact JWS must be a string or Uint8Array\");const{0:o,1:r,2:i,length:a}=e.split(\".\");if(3!==a)throw new wo(\"Invalid Compact JWS\");const s=await jr({payload:r,protected:o,signature:i},t,n),c={payload:s.payload,protectedHeader:s.protectedHeader};return\"function\"==typeof t?ft(ft({},c),{},{key:s.key}):c}(e,t,n);if(null!==(o=r.protectedHeader.crit)&&void 0!==o&&o.includes(\"b64\")&&!1===r.protectedHeader.b64)throw new go(\"JWTs MUST NOT use unencoded payload\");const i=function(e,t){let n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{n=JSON.parse(so.decode(t))}catch(e){}if(!jo(n))throw new go(\"JWT Claims Set must be a top-level JSON object\");const{typ:r}=o;if(r&&(\"string\"!=typeof e.typ||Ur(e.typ)!==Ur(r)))throw new po('unexpected \"typ\" JWT header value',n,\"typ\",\"check_failed\");const{requiredClaims:i=[],issuer:a,subject:s,audience:c,maxTokenAge:u}=o,l=[...i];void 0!==u&&l.push(\"iat\"),void 0!==c&&l.push(\"aud\"),void 0!==s&&l.push(\"sub\"),void 0!==a&&l.push(\"iss\");for(const e of new Set(l.reverse()))if(!(e in n))throw new po('missing required \"'.concat(e,'\" claim'),n,e,\"missing\");if(a&&!(Array.isArray(a)?a:[a]).includes(n.iss))throw new po('unexpected \"iss\" claim value',n,\"iss\",\"check_failed\");if(s&&n.sub!==s)throw new po('unexpected \"sub\" claim value',n,\"sub\",\"check_failed\");if(c&&!Nr(n.aud,\"string\"==typeof c?[c]:c))throw new po('unexpected \"aud\" claim value',n,\"aud\",\"check_failed\");let d;switch(typeof o.clockTolerance){case\"string\":d=Lr(o.clockTolerance);break;case\"number\":d=o.clockTolerance;break;case\"undefined\":d=0;break;default:throw new TypeError(\"Invalid clockTolerance option type\")}const{currentDate:h}=o,p=Dr(h||new Date);if((void 0!==n.iat||u)&&\"number\"!=typeof n.iat)throw new po('\"iat\" claim must be a number',n,\"iat\",\"invalid\");if(void 0!==n.nbf){if(\"number\"!=typeof n.nbf)throw new po('\"nbf\" claim must be a number',n,\"nbf\",\"invalid\");if(n.nbf>p+d)throw new po('\"nbf\" claim timestamp check failed',n,\"nbf\",\"check_failed\")}if(void 0!==n.exp){if(\"number\"!=typeof n.exp)throw new po('\"exp\" claim must be a number',n,\"exp\",\"invalid\");if(n.exp<=p-d)throw new fo('\"exp\" claim timestamp check failed',n,\"exp\",\"check_failed\")}if(u){const e=p-n.iat;if(e-d>(\"number\"==typeof u?u:Lr(u)))throw new fo('\"iat\" claim timestamp check failed (too far in the past)',n,\"iat\",\"check_failed\");if(e<0-d)throw new po('\"iat\" claim timestamp check failed (it should be in the past)',n,\"iat\",\"check_failed\")}return n}(r.protectedHeader,r.payload,n),a={payload:i,protectedHeader:r.protectedHeader};return\"function\"==typeof t?ft(ft({},a),{},{key:r.key}):a}function zr(e){return jo(e)}var Hr,Mr,Jr=new WeakMap,Vr=new WeakMap;class Fr{constructor(e){if(lt(this,Jr,void 0),lt(this,Vr,new WeakMap),!function(e){return e&&\"object\"==typeof e&&Array.isArray(e.keys)&&e.keys.every(zr)}(e))throw new vo(\"JSON Web Key Set malformed\");dt(Jr,this,structuredClone(e))}jwks(){return ut(Jr,this)}async getKey(e,t){const{alg:n,kid:o}=ft(ft({},e),null==t?void 0:t.header),r=function(e){switch(\"string\"==typeof e&&e.slice(0,2)){case\"RS\":case\"PS\":return\"RSA\";case\"ES\":return\"EC\";case\"Ed\":return\"OKP\";case\"ML\":return\"AKP\";default:throw new yo('Unsupported \"alg\" value for a JSON Web Key Set')}}(n),i=ut(Jr,this).keys.filter((e=>{let t=r===e.kty;if(t&&\"string\"==typeof o&&(t=o===e.kid),!t||\"string\"!=typeof e.alg&&\"AKP\"!==r||(t=n===e.alg),t&&\"string\"==typeof e.use&&(t=\"sig\"===e.use),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(\"verify\")),t)switch(n){case\"ES256\":t=\"P-256\"===e.crv;break;case\"ES384\":t=\"P-384\"===e.crv;break;case\"ES512\":t=\"P-521\"===e.crv;break;case\"Ed25519\":case\"EdDSA\":t=\"Ed25519\"===e.crv}return t})),{0:a,length:s}=i;if(0===s)throw new bo;if(1!==s){const e=new _o,t=ut(Vr,this);throw e[Symbol.asyncIterator]=yt((function*(){for(const e of i)try{yield yield st(Gr(t,e,n))}catch(e){}})),e}return Gr(ut(Vr,this),a,n)}}async function Gr(e,t,n){const o=e.get(t)||e.set(t,{}).get(t);if(void 0===o[n]){const e=await async function(e,t,n){var o;if(!jo(e))throw new TypeError(\"JWK must be an object\");let r;switch(null!=t||(t=e.alg),null!=r||(r=null!==(o=null==n?void 0:n.extractable)&&void 0!==o?o:e.ext),e.kty){case\"oct\":if(\"string\"!=typeof e.k||!e.k)throw new TypeError('missing \"k\" (Key Value) Parameter value');return lo(e.k);case\"RSA\":if(\"oth\"in e&&void 0!==e.oth)throw new yo('RSA JWK \"oth\" (Other Primes Info) Parameter value is not supported');return Ho(ft(ft({},e),{},{alg:t,ext:r}));case\"AKP\":if(\"string\"!=typeof e.alg||!e.alg)throw new TypeError('missing \"alg\" (Algorithm) Parameter value');if(void 0!==t&&t!==e.alg)throw new TypeError(\"JWK alg and alg option value mismatch\");return Ho(ft(ft({},e),{},{ext:r}));case\"EC\":case\"OKP\":return Ho(ft(ft({},e),{},{alg:t,ext:r}));default:throw new yo('Unsupported \"kty\" (Key Type) Parameter value')}}(ft(ft({},t),{},{ext:!0}),n);if(e instanceof Uint8Array||\"public\"!==e.type)throw new vo(\"JSON Web Key Set members must be public keys\");o[n]=e}return o[n]}function Zr(e){const t=new Fr(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>structuredClone(t.jwks()),enumerable:!1,configurable:!1,writable:!1}}),n}let qr;if(\"undefined\"==typeof navigator||null===(Hr=navigator.userAgent)||void 0===Hr||null===(Mr=Hr.startsWith)||void 0===Mr||!Mr.call(Hr,\"Mozilla/5.0 \")){const e=\"v6.1.3\";qr=\"\".concat(\"jose\",\"/\").concat(e)}const Br=Symbol();const Xr=Symbol();var Yr=new WeakMap,Qr=new WeakMap,$r=new WeakMap,ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,oi=new WeakMap,ri=new WeakMap,ii=new WeakMap,ai=new WeakMap;class si{constructor(e,t){if(lt(this,Yr,void 0),lt(this,Qr,void 0),lt(this,$r,void 0),lt(this,ei,void 0),lt(this,ti,void 0),lt(this,ni,void 0),lt(this,oi,void 0),lt(this,ri,void 0),lt(this,ii,void 0),lt(this,ai,void 0),!(e instanceof URL))throw new TypeError(\"url must be an instance of URL\");var n,o;dt(Yr,this,new URL(e.href)),dt(Qr,this,\"number\"==typeof(null==t?void 0:t.timeoutDuration)?null==t?void 0:t.timeoutDuration:5e3),dt($r,this,\"number\"==typeof(null==t?void 0:t.cooldownDuration)?null==t?void 0:t.cooldownDuration:3e4),dt(ei,this,\"number\"==typeof(null==t?void 0:t.cacheMaxAge)?null==t?void 0:t.cacheMaxAge:6e5),dt(oi,this,new Headers(null==t?void 0:t.headers)),qr&&!ut(oi,this).has(\"User-Agent\")&&ut(oi,this).set(\"User-Agent\",qr),ut(oi,this).has(\"accept\")||(ut(oi,this).set(\"accept\",\"application/json\"),ut(oi,this).append(\"accept\",\"application/jwk-set+json\")),dt(ri,this,null==t?void 0:t[Br]),void 0!==(null==t?void 0:t[Xr])&&(dt(ai,this,null==t?void 0:t[Xr]),n=null==t?void 0:t[Xr],o=ut(ei,this),\"object\"==typeof n&&null!==n&&\"uat\"in n&&\"number\"==typeof n.uat&&!(Date.now()-n.uat>=o)&&\"jwks\"in n&&jo(n.jwks)&&Array.isArray(n.jwks.keys)&&Array.prototype.every.call(n.jwks.keys,jo)&&(dt(ti,this,ut(ai,this).uat),dt(ii,this,Zr(ut(ai,this).jwks))))}pendingFetch(){return!!ut(ni,this)}coolingDown(){return\"number\"==typeof ut(ti,this)&&Date.now()<ut(ti,this)+ut($r,this)}fresh(){return\"number\"==typeof ut(ti,this)&&Date.now()<ut(ti,this)+ut(ei,this)}jwks(){var e;return null===(e=ut(ii,this))||void 0===e?void 0:e.jwks()}async getKey(e,t){ut(ii,this)&&this.fresh()||await this.reload();try{return await ut(ii,this).call(this,e,t)}catch(n){if(n instanceof bo&&!1===this.coolingDown())return await this.reload(),ut(ii,this).call(this,e,t);throw n}}async reload(){ut(ni,this)&&(\"undefined\"!=typeof WebSocketPair||\"undefined\"!=typeof navigator&&\"Cloudflare-Workers\"===navigator.userAgent||\"undefined\"!=typeof EdgeRuntime&&\"vercel\"===EdgeRuntime)&&dt(ni,this,void 0),ut(ni,this)||dt(ni,this,async function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:fetch;const r=await o(e,{method:\"GET\",signal:n,redirect:\"manual\",headers:t}).catch((e=>{if(\"TimeoutError\"===e.name)throw new ko;throw e}));if(200!==r.status)throw new ho(\"Expected 200 OK from the JSON Web Key Set HTTP response\");try{return await r.json()}catch(e){throw new ho(\"Failed to parse the JSON Web Key Set HTTP response as JSON\")}}(ut(Yr,this).href,ut(oi,this),AbortSignal.timeout(ut(Qr,this)),ut(ri,this)).then((e=>{dt(ii,this,Zr(e)),ut(ai,this)&&(ut(ai,this).uat=Date.now(),ut(ai,this).jwks=e),dt(ti,this,Date.now()),dt(ni,this,void 0)})).catch((e=>{throw dt(ni,this,void 0),e}))),await ut(ni,this)}}const ci=[\"mfaToken\"],ui=[\"mfaToken\"];var li,di,hi,pi,fi,mi,yi,wi,gi=class extends Error{constructor(e,t){super(t),ht(this,\"code\",void 0),this.name=\"NotSupportedError\",this.code=e}},vi=class extends Error{constructor(e,t,n){super(t),ht(this,\"cause\",void 0),ht(this,\"code\",void 0),this.code=e,this.cause=n&&{error:n.error,error_description:n.error_description,message:n.message}}},bi=class extends vi{constructor(e,t){super(\"token_by_code_error\",e,t),this.name=\"TokenByCodeError\"}},_i=class extends vi{constructor(e,t){super(\"token_by_client_credentials_error\",e,t),this.name=\"TokenByClientCredentialsError\"}},ki=class extends vi{constructor(e,t){super(\"token_by_refresh_token_error\",e,t),this.name=\"TokenByRefreshTokenError\"}},Si=class extends vi{constructor(e,t){super(\"token_for_connection_error\",e,t),this.name=\"TokenForConnectionErrorCode\"}},Ei=class extends vi{constructor(e,t){super(\"token_exchange_error\",e,t),this.name=\"TokenExchangeError\"}},Ai=class extends Error{constructor(e){super(e),ht(this,\"code\",\"verify_logout_token_error\"),this.name=\"VerifyLogoutTokenError\"}},Ti=class extends vi{constructor(e){super(\"backchannel_authentication_error\",\"There was an error when trying to use Client-Initiated Backchannel Authentication.\",e),ht(this,\"code\",\"backchannel_authentication_error\"),this.name=\"BackchannelAuthenticationError\"}},Pi=class extends vi{constructor(e){super(\"build_authorization_url_error\",\"There was an error when trying to build the authorization URL.\",e),this.name=\"BuildAuthorizationUrlError\"}},Ri=class extends vi{constructor(e){super(\"build_link_user_url_error\",\"There was an error when trying to build the Link User URL.\",e),this.name=\"BuildLinkUserUrlError\"}},Ii=class extends vi{constructor(e){super(\"build_unlink_user_url_error\",\"There was an error when trying to build the Unlink User URL.\",e),this.name=\"BuildUnlinkUserUrlError\"}},xi=class extends Error{constructor(){super(\"The client secret or client assertion signing key must be provided.\"),ht(this,\"code\",\"missing_client_auth_error\"),this.name=\"MissingClientAuthError\"}};function Oi(e){return Object.entries(e).filter((e=>{let[,t]=e;return void 0!==t})).reduce(((e,t)=>ft(ft({},e),{},{[t[0]]:t[1]})),{})}var Ci=class extends Error{constructor(e,t,n){super(t),ht(this,\"cause\",void 0),ht(this,\"code\",void 0),this.code=e,this.cause=n&&{error:n.error,error_description:n.error_description,message:n.message}}},ji=class extends Ci{constructor(e,t){super(\"mfa_list_authenticators_error\",e,t),this.name=\"MfaListAuthenticatorsError\"}},Di=class extends Ci{constructor(e,t){super(\"mfa_enrollment_error\",e,t),this.name=\"MfaEnrollmentError\"}},Ki=class extends Ci{constructor(e,t){super(\"mfa_delete_authenticator_error\",e,t),this.name=\"MfaDeleteAuthenticatorError\"}},Li=class extends Ci{constructor(e,t){super(\"mfa_challenge_error\",e,t),this.name=\"MfaChallengeError\"}};function Ui(e){return{id:e.id,authenticatorType:e.authenticator_type,active:e.active,name:e.name,oobChannels:e.oob_channels,type:e.type}}var Ni=(li=new WeakMap,di=new WeakMap,hi=new WeakMap,class{constructor(e){var t;lt(this,li,void 0),lt(this,di,void 0),lt(this,hi,void 0),dt(li,this,\"https://\".concat(e.domain)),dt(di,this,e.clientId),dt(hi,this,null!==(t=e.customFetch)&&void 0!==t?t:function(){return fetch(...arguments)})}async listAuthenticators(e){const t=\"\".concat(ut(li,this),\"/mfa/authenticators\"),{mfaToken:n}=e,o=await ut(hi,this).call(this,t,{method:\"GET\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"}});if(!o.ok){const e=await o.json();throw new ji(e.error_description||\"Failed to list authenticators\",e)}return(await o.json()).map(Ui)}async enrollAuthenticator(e){const t=\"\".concat(ut(li,this),\"/mfa/associate\"),{mfaToken:n}=e,o=mt(e,ci),r={authenticator_types:o.authenticatorTypes};\"oobChannels\"in o&&(r.oob_channels=o.oobChannels),\"phoneNumber\"in o&&o.phoneNumber&&(r.phone_number=o.phoneNumber),\"email\"in o&&o.email&&(r.email=o.email);const i=await ut(hi,this).call(this,t,{method:\"POST\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"},body:JSON.stringify(r)});if(!i.ok){const e=await i.json();throw new Di(e.error_description||\"Failed to enroll authenticator\",e)}return function(e){if(\"otp\"===e.authenticator_type)return{authenticatorType:\"otp\",secret:e.secret,barcodeUri:e.barcode_uri,recoveryCodes:e.recovery_codes,id:e.id};if(\"oob\"===e.authenticator_type)return{authenticatorType:\"oob\",oobChannel:e.oob_channel,oobCode:e.oob_code,bindingMethod:e.binding_method,id:e.id};throw new Error(\"Unexpected authenticator type: \".concat(e.authenticator_type))}(await i.json())}async deleteAuthenticator(e){const{authenticatorId:t,mfaToken:n}=e,o=\"\".concat(ut(li,this),\"/mfa/authenticators/\").concat(encodeURIComponent(t)),r=await ut(hi,this).call(this,o,{method:\"DELETE\",headers:{Authorization:\"Bearer \".concat(n),\"Content-Type\":\"application/json\"}});if(!r.ok){const e=await r.json();throw new Ki(e.error_description||\"Failed to delete authenticator\",e)}}async challengeAuthenticator(e){const t=\"\".concat(ut(li,this),\"/mfa/challenge\"),{mfaToken:n}=e,o=mt(e,ui),r={mfa_token:n,client_id:ut(di,this),challenge_type:o.challengeType};o.authenticatorId&&(r.authenticator_id=o.authenticatorId);const i=await ut(hi,this).call(this,t,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(r)});if(!i.ok){const e=await i.json();throw new Li(e.error_description||\"Failed to challenge authenticator\",e)}return function(e){const t={challengeType:e.challenge_type};return void 0!==e.oob_code&&(t.oobCode=e.oob_code),void 0!==e.binding_method&&(t.bindingMethod=e.binding_method),t}(await i.json())}}),Wi=class e{constructor(e,t,n,o,r,i,a){ht(this,\"accessToken\",void 0),ht(this,\"idToken\",void 0),ht(this,\"refreshToken\",void 0),ht(this,\"expiresAt\",void 0),ht(this,\"scope\",void 0),ht(this,\"claims\",void 0),ht(this,\"authorizationDetails\",void 0),ht(this,\"tokenType\",void 0),ht(this,\"issuedTokenType\",void 0),this.accessToken=e,this.idToken=n,this.refreshToken=o,this.expiresAt=t,this.scope=r,this.claims=i,this.authorizationDetails=a}static fromTokenEndpointResponse(t){const n=t.id_token?t.claims():void 0,o=new e(t.access_token,Math.floor(Date.now()/1e3)+Number(t.expires_in),t.id_token,t.refresh_token,t.scope,n,t.authorization_details);return o.tokenType=t.token_type,o.issuedTokenType=t.issued_token_type,o}},zi=\"openid profile email offline_access\",Hi=Object.freeze(new Set([\"grant_type\",\"client_id\",\"client_secret\",\"client_assertion\",\"client_assertion_type\",\"subject_token\",\"subject_token_type\",\"requested_token_type\",\"actor_token\",\"actor_token_type\",\"audience\",\"aud\",\"resource\",\"resources\",\"resource_indicator\",\"scope\",\"connection\",\"login_hint\",\"organization\",\"assertion\"]));function Mi(e){if(null==e)throw new Ei(\"subject_token is required\");if(\"string\"!=typeof e)throw new Ei(\"subject_token must be a string\");if(0===e.trim().length)throw new Ei(\"subject_token cannot be blank or whitespace\");if(e!==e.trim())throw new Ei(\"subject_token must not include leading or trailing whitespace\");if(/^bearer\\s+/i.test(e))throw new Ei(\"subject_token must not include the 'Bearer ' prefix\")}function Ji(e,t){if(t)for(const[n,o]of Object.entries(t))if(!Hi.has(n))if(Array.isArray(o)){if(o.length>20)throw new Ei(\"Parameter '\".concat(n,\"' exceeds maximum array size of \").concat(20));o.forEach((t=>{e.append(n,t)}))}else e.append(n,o)}var Vi=(pi=new WeakMap,fi=new WeakMap,mi=new WeakMap,yi=new WeakMap,wi=new WeakSet,class{constructor(e){if(function(e,t){ct(e,t),t.add(e)}(this,wi),lt(this,pi,void 0),lt(this,fi,void 0),lt(this,mi,void 0),lt(this,yi,void 0),ht(this,\"mfa\",void 0),dt(mi,this,e),e.useMtls&&!e.customFetch)throw new gi(\"mtls_without_custom_fetch_not_supported\",\"Using mTLS without a custom fetch implementation is not supported\");this.mfa=new Ni({domain:ut(mi,this).domain,clientId:ut(mi,this).clientId,customFetch:ut(mi,this).customFetch})}async buildAuthorizationUrl(e){const{serverMetadata:t}=await at(wi,this,Fi).call(this);if(null!=e&&e.pushedAuthorizationRequests&&!t.pushed_authorization_request_endpoint)throw new gi(\"par_not_supported_error\",\"The Auth0 tenant does not have pushed authorization requests enabled. Learn how to enable it here: https://auth0.com/docs/get-started/applications/configure-par\");try{return await at(wi,this,Bi).call(this,e)}catch(e){throw new Pi(e)}}async buildLinkUserUrl(e){try{const t=await at(wi,this,Bi).call(this,{authorizationParams:ft(ft({},e.authorizationParams),{},{requested_connection:e.connection,requested_connection_scope:e.connectionScope,scope:\"openid link_account offline_access\",id_token_hint:e.idToken})});return{linkUserUrl:t.authorizationUrl,codeVerifier:t.codeVerifier}}catch(e){throw new Ri(e)}}async buildUnlinkUserUrl(e){try{const t=await at(wi,this,Bi).call(this,{authorizationParams:ft(ft({},e.authorizationParams),{},{requested_connection:e.connection,scope:\"openid unlink_account\",id_token_hint:e.idToken})});return{unlinkUserUrl:t.authorizationUrl,codeVerifier:t.codeVerifier}}catch(e){throw new Ii(e)}}async backchannelAuthentication(e){const{configuration:t,serverMetadata:n}=await at(wi,this,Fi).call(this),o=Oi(ft(ft({},ut(mi,this).authorizationParams),null==e?void 0:e.authorizationParams)),r=new URLSearchParams(ft(ft({scope:zi},o),{},{client_id:ut(mi,this).clientId,binding_message:e.bindingMessage,login_hint:JSON.stringify({format:\"iss_sub\",iss:n.issuer,sub:e.loginHint.sub})}));e.requestedExpiry&&r.append(\"requested_expiry\",e.requestedExpiry.toString()),e.authorizationDetails&&r.append(\"authorization_details\",JSON.stringify(e.authorizationDetails));try{const e=await gr(t,r),n=await vr(t,e);return Wi.fromTokenEndpointResponse(n)}catch(e){throw new Ti(e)}}async initiateBackchannelAuthentication(e){const{configuration:t,serverMetadata:n}=await at(wi,this,Fi).call(this),o=Oi(ft(ft({},ut(mi,this).authorizationParams),null==e?void 0:e.authorizationParams)),r=new URLSearchParams(ft(ft({scope:zi},o),{},{client_id:ut(mi,this).clientId,binding_message:e.bindingMessage,login_hint:JSON.stringify({format:\"iss_sub\",iss:n.issuer,sub:e.loginHint.sub})}));e.requestedExpiry&&r.append(\"requested_expiry\",e.requestedExpiry.toString()),e.authorizationDetails&&r.append(\"authorization_details\",JSON.stringify(e.authorizationDetails));try{const e=await gr(t,r);return{authReqId:e.auth_req_id,expiresIn:e.expires_in,interval:e.interval}}catch(e){throw new Ti(e)}}async backchannelAuthenticationGrant(e){let{authReqId:t}=e;const{configuration:n}=await at(wi,this,Fi).call(this),o=new URLSearchParams({auth_req_id:t});try{const e=await xr(n,\"urn:openid:params:grant-type:ciba\",o);return Wi.fromTokenEndpointResponse(e)}catch(e){throw new Ti(e)}}async getTokenForConnection(e){var t;if(e.refreshToken&&e.accessToken)throw new Si(\"Either a refresh or access token should be specified, but not both.\");const n=null!==(t=e.accessToken)&&void 0!==t?t:e.refreshToken;if(!n)throw new Si(\"Either a refresh or access token must be specified.\");try{return await this.exchangeToken({connection:e.connection,subjectToken:n,subjectTokenType:e.accessToken?\"urn:ietf:params:oauth:token-type:access_token\":\"urn:ietf:params:oauth:token-type:refresh_token\",loginHint:e.loginHint})}catch(e){if(e instanceof Ei)throw new Si(e.message,e.cause);throw e}}async exchangeToken(e){return\"connection\"in e?at(wi,this,Gi).call(this,e):at(wi,this,Zi).call(this,e)}async getTokenByCode(e,t){const{configuration:n}=await at(wi,this,Fi).call(this);try{const o=await _r(n,e,{pkceCodeVerifier:t.codeVerifier});return Wi.fromTokenEndpointResponse(o)}catch(e){throw new bi(\"There was an error while trying to request a token.\",e)}}async getTokenByRefreshToken(e){const{configuration:t}=await at(wi,this,Fi).call(this);try{const n=await kr(t,e.refreshToken);return Wi.fromTokenEndpointResponse(n)}catch(e){throw new ki(\"The access token has expired and there was an error while trying to refresh it.\",e)}}async getTokenByClientCredentials(e){const{configuration:t}=await at(wi,this,Fi).call(this);try{const n=new URLSearchParams({audience:e.audience});e.organization&&n.append(\"organization\",e.organization);const o=await Sr(t,n);return Wi.fromTokenEndpointResponse(o)}catch(e){throw new _i(\"There was an error while trying to request a token.\",e)}}async buildLogoutUrl(e){const{configuration:t,serverMetadata:n}=await at(wi,this,Fi).call(this);if(!n.end_session_endpoint){const t=new URL(\"https://\".concat(ut(mi,this).domain,\"/v2/logout\"));return t.searchParams.set(\"returnTo\",e.returnTo),t.searchParams.set(\"client_id\",ut(mi,this).clientId),t}return function(e,t){Tr(e);const{as:n,c:o,tlsOnly:r}=$o(e),i=an(n,\"end_session_endpoint\",!1,r);(t=new URLSearchParams(t)).has(\"client_id\")||t.set(\"client_id\",o.client_id);for(const[e,n]of t.entries())i.searchParams.append(e,n);return i}(t,{post_logout_redirect_uri:e.returnTo})}async verifyLogoutToken(e){const{serverMetadata:t}=await at(wi,this,Fi).call(this);ut(yi,this)||dt(yi,this,function(e,t){const n=new si(e,t),o=async(e,t)=>n.getKey(e,t);return Object.defineProperties(o,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>n.pendingFetch(),enumerable:!0,configurable:!1},jwks:{value:()=>n.jwks(),enumerable:!0,configurable:!1,writable:!1}}),o}(new URL(t.jwks_uri),{[Br]:ut(mi,this).customFetch}));const{payload:n}=await Wr(e.logoutToken,ut(yi,this),{issuer:t.issuer,audience:ut(mi,this).clientId,algorithms:[\"RS256\"],requiredClaims:[\"iat\"]});if(!(\"sid\"in n)&&!(\"sub\"in n))throw new Ai('either \"sid\" or \"sub\" (or both) claims must be present');if(\"sid\"in n&&\"string\"!=typeof n.sid)throw new Ai('\"sid\" claim must be a string');if(\"sub\"in n&&\"string\"!=typeof n.sub)throw new Ai('\"sub\" claim must be a string');if(\"nonce\"in n)throw new Ai('\"nonce\" claim is prohibited');if(!(\"events\"in n))throw new Ai('\"events\" claim is missing');if(\"object\"!=typeof n.events||null===n.events)throw new Ai('\"events\" claim must be an object');if(!(\"http://schemas.openid.net/event/backchannel-logout\"in n.events))throw new Ai('\"http://schemas.openid.net/event/backchannel-logout\" member is missing in the \"events\" claim');if(\"object\"!=typeof n.events[\"http://schemas.openid.net/event/backchannel-logout\"])throw new Ai('\"http://schemas.openid.net/event/backchannel-logout\" member in the \"events\" claim must be an object');return{sid:n.sid,sub:n.sub}}});async function Fi(){if(ut(pi,this)&&ut(fi,this))return{configuration:ut(pi,this),serverMetadata:ut(fi,this)};const e=await at(wi,this,qi).call(this);return dt(pi,this,await hr(new URL(\"https://\".concat(ut(mi,this).domain)),ut(mi,this).clientId,{use_mtls_endpoint_aliases:ut(mi,this).useMtls},e,{[or]:ut(mi,this).customFetch})),dt(fi,this,ut(pi,this).serverMetadata()),ut(pi,this)[or]=ut(mi,this).customFetch||fetch,{configuration:ut(pi,this),serverMetadata:ut(fi,this)}}async function Gi(e){var t,n;const{configuration:o}=await at(wi,this,Fi).call(this);if(\"audience\"in e||\"resource\"in e)throw new Ei(\"audience and resource parameters are not supported for Token Vault exchanges\");Mi(e.subjectToken);const r=new URLSearchParams({connection:e.connection,subject_token:e.subjectToken,subject_token_type:null!==(t=e.subjectTokenType)&&void 0!==t?t:\"urn:ietf:params:oauth:token-type:access_token\",requested_token_type:null!==(n=e.requestedTokenType)&&void 0!==n?n:\"http://auth0.com/oauth/token-type/federated-connection-access-token\"});e.loginHint&&r.append(\"login_hint\",e.loginHint),e.scope&&r.append(\"scope\",e.scope),Ji(r,e.extra);try{const e=await xr(o,\"urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token\",r);return Wi.fromTokenEndpointResponse(e)}catch(t){throw new Ei(\"Failed to exchange token for connection '\".concat(e.connection,\"'.\"),t)}}async function Zi(e){const{configuration:t}=await at(wi,this,Fi).call(this);Mi(e.subjectToken);const n=new URLSearchParams({subject_token_type:e.subjectTokenType,subject_token:e.subjectToken});e.audience&&n.append(\"audience\",e.audience),e.scope&&n.append(\"scope\",e.scope),e.requestedTokenType&&n.append(\"requested_token_type\",e.requestedTokenType),e.organization&&n.append(\"organization\",e.organization),Ji(n,e.extra);try{const e=await xr(t,\"urn:ietf:params:oauth:grant-type:token-exchange\",n);return Wi.fromTokenEndpointResponse(e)}catch(t){throw new Ei(\"Failed to exchange token of type '\".concat(e.subjectTokenType,\"'\").concat(e.audience?\" for audience '\".concat(e.audience,\"'\"):\"\",\".\"),t)}}async function qi(){if(!ut(mi,this).clientSecret&&!ut(mi,this).clientAssertionSigningKey&&!ut(mi,this).useMtls)throw new xi;if(ut(mi,this).useMtls)return(e,t,n,o)=>{n.set(\"client_id\",t.client_id)};let e=ut(mi,this).clientAssertionSigningKey;return!e||e instanceof CryptoKey||(e=await async function(e,t,n){if(\"string\"!=typeof e||0!==e.indexOf(\"-----BEGIN PRIVATE KEY-----\"))throw new TypeError('\"pkcs8\" must be PKCS#8 formatted string');return zo(e,t,n)}(e,ut(mi,this).clientAssertionSigningAlg||\"RS256\")),e?function(e,t){return tn(e,t)}(e):nr(ut(mi,this).clientSecret)}async function Bi(e){const{configuration:t}=await at(wi,this,Fi).call(this),n=cr(),o=await sr(n),r=Oi(ft(ft({},ut(mi,this).authorizationParams),null==e?void 0:e.authorizationParams)),i=new URLSearchParams(ft(ft({scope:zi},r),{},{client_id:ut(mi,this).clientId,code_challenge:o,code_challenge_method:\"S256\"}));return{authorizationUrl:null!=e&&e.pushedAuthorizationRequests?await Ar(t,i):await Er(t,i),codeVerifier:n}}class Xi extends r{constructor(e,t){super(e,t),Object.setPrototypeOf(this,Xi.prototype)}static fromPayload(e){let{error:t,error_description:n}=e;return new Xi(t,n)}}class Yi extends Xi{constructor(e,t){super(e,t),Object.setPrototypeOf(this,Yi.prototype)}}class Qi extends Xi{constructor(e,t){super(e,t),Object.setPrototypeOf(this,Qi.prototype)}}class $i extends Xi{constructor(e,t){super(e,t),Object.setPrototypeOf(this,$i.prototype)}}class ea extends Xi{constructor(e,t){super(e,t),Object.setPrototypeOf(this,ea.prototype)}}class ta extends Xi{constructor(e,t){super(e,t),Object.setPrototypeOf(this,ta.prototype)}}class na{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e5;this.contexts=new Map,this.ttlMs=e}set(e,t){this.cleanup(),this.contexts.set(e,Object.assign(Object.assign({},t),{createdAt:Date.now()}))}get(e){const t=this.contexts.get(e);if(t){if(!(Date.now()-t.createdAt>this.ttlMs))return t;this.contexts.delete(e)}}remove(e){this.contexts.delete(e)}cleanup(){const e=Date.now();for(const[t,n]of this.contexts)e-n.createdAt>this.ttlMs&&this.contexts.delete(t)}get size(){return this.contexts.size}}class oa{constructor(e,t){this.authJsMfaClient=e,this.auth0Client=t,this.contextManager=new na}setMFAAuthDetails(e,t,n,o){this.contextManager.set(e,{scope:t,audience:n,mfaRequirements:o})}async getAuthenticators(e){var t,n;const o=this.contextManager.get(e);if(!(null===(t=null==o?void 0:o.mfaRequirements)||void 0===t?void 0:t.challenge)||0===o.mfaRequirements.challenge.length)throw new Yi(\"invalid_request\",\"challengeType is required and must contain at least one challenge type, please check mfa_required error payload\");const r=o.mfaRequirements.challenge.map((e=>e.type));try{return(await this.authJsMfaClient.listAuthenticators({mfaToken:e})).filter((e=>!!e.type&&r.includes(e.type)))}catch(e){if(e instanceof ji)throw new Yi(null===(n=e.cause)||void 0===n?void 0:n.error,e.message);throw e}}async enroll(e){var t;const n=function(e){const t=tt[e.factorType];return Object.assign(Object.assign(Object.assign({mfaToken:e.mfaToken,authenticatorTypes:t.authenticatorTypes},t.oobChannels&&{oobChannels:t.oobChannels}),\"phoneNumber\"in e&&{phoneNumber:e.phoneNumber}),\"email\"in e&&{email:e.email})}(e);try{return await this.authJsMfaClient.enrollAuthenticator(n)}catch(e){if(e instanceof Di)throw new Qi(null===(t=e.cause)||void 0===t?void 0:t.error,e.message);throw e}}async challenge(e){var t;try{const t={challengeType:e.challengeType,mfaToken:e.mfaToken};return e.authenticatorId&&(t.authenticatorId=e.authenticatorId),await this.authJsMfaClient.challengeAuthenticator(t)}catch(e){if(e instanceof Li)throw new $i(null===(t=e.cause)||void 0===t?void 0:t.error,e.message);throw e}}async getEnrollmentFactors(e){const t=this.contextManager.get(e);if(!t||!t.mfaRequirements)throw new ta(\"mfa_context_not_found\",\"MFA context not found for this MFA token. Please retry the original request to get a new MFA token.\");return t.mfaRequirements.enroll&&0!==t.mfaRequirements.enroll.length?t.mfaRequirements.enroll:[]}async verify(e){const t=this.contextManager.get(e.mfaToken);if(!t)throw new ea(\"mfa_context_not_found\",\"MFA context not found for this MFA token. Please retry the original request to get a new MFA token.\");const n=function(e){return\"otp\"in e&&e.otp?nt:\"oobCode\"in e&&e.oobCode?ot:\"recoveryCode\"in e&&e.recoveryCode?rt:void 0}(e);if(!n)throw new ea(\"invalid_request\",\"Unable to determine grant type. Provide one of: otp, oobCode, or recoveryCode.\");const o=t.scope,r=t.audience;try{const t=await this.auth0Client._requestTokenForMfa({grant_type:n,mfaToken:e.mfaToken,scope:o,audience:r,otp:e.otp,oob_code:e.oobCode,binding_code:e.bindingCode,recovery_code:e.recoveryCode});return this.contextManager.remove(e.mfaToken),t}catch(e){if(e instanceof d)this.setMFAAuthDetails(e.mfa_token,o,r,e.mfa_requirements);else if(e instanceof ea)throw new ea(e.error,e.error_description);throw e}}}class ra{constructor(e){let t,n;if(this.userCache=(new we).enclosedCache,this.defaultOptions={authorizationParams:{scope:\"openid profile email\"},useRefreshTokensFallback:!1,useFormData:!0},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),\"undefined\"!=typeof window&&(()=>{if(!y())throw new Error(\"For security reasons, `window.crypto` is required to run `auth0-spa-js`.\");if(void 0===y().subtle)throw new Error(\"\\n auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.\\n \")})(),this.lockManager=(H||(H=z()),H),e.cache&&e.cacheLocation&&console.warn(\"Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`.\"),e.cache)n=e.cache;else{if(t=e.cacheLocation||\"memory\",!Fe(t))throw new Error('Invalid cache location \"'.concat(t,'\"'));n=Fe(t)()}var r;this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=!1===e.legacySameSiteCookie?Oe:Ce,this.orgHintCookieName=(r=this.options.clientId,\"auth0.\".concat(r,\".organization_hint\")),this.isAuthenticatedCookieName=(e=>\"auth0.\".concat(e,\".is.authenticated\"))(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:je;var a;this.scope=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];if(\"object\"!=typeof e)return{default:pe(t,e,...o)};let i={default:pe(t,...o)};return Object.keys(e).forEach((n=>{const r=e[n];i[n]=pe(t,r,...o)})),i}(this.options.authorizationParams.scope,\"openid\",this.options.useRefreshTokens?\"offline_access\":\"\"),this.transactionManager=new ve(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||o,this.cacheManager=new ge(n,n.allKeys?void 0:new Je(n,this.options.clientId),this.nowProvider),this.dpop=this.options.useDpop?new Xe(this.options.clientId):void 0,this.domainUrl=(a=this.options.domain,/^https?:\\/\\//.test(a)?a:\"https://\".concat(a)),this.tokenIssuer=((e,t)=>e?e.startsWith(\"https://\")?e:\"https://\".concat(e,\"/\"):\"\".concat(t,\"/\"))(this.options.issuer,this.domainUrl);const s=\"\".concat(this.domainUrl,\"/me/\"),c=this.createFetcher(Object.assign(Object.assign({},this.options.useDpop&&{dpopNonceId:\"__auth0_my_account_api__\"}),{getAccessToken:()=>this.getTokenSilently({authorizationParams:{scope:\"create:me:connected_accounts\",audience:s},detailedResponse:!0})}));this.myAccountApi=new $e(c,s),this.authJsClient=new Vi({domain:this.options.domain,clientId:this.options.clientId}),this.mfa=new oa(this.authJsClient.mfa,this),\"undefined\"!=typeof window&&window.Worker&&this.options.useRefreshTokens&&\"memory\"===t&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new He)}getConfiguration(){return Object.freeze({domain:this.options.domain,clientId:this.options.clientId})}_url(e){const t=this.options.auth0Client||n,o=b(t,!0),r=encodeURIComponent(btoa(JSON.stringify(o)));return\"\".concat(this.domainUrl).concat(e,\"&auth0Client=\").concat(r)}_authorizeUrl(e){return this._url(\"/authorize?\".concat(_(e)))}async _verifyIdToken(e,t,n){const o=await this.nowProvider();return ke({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:t,organization:n,leeway:this.options.leeway,max_age:(r=this.options.authorizationParams.max_age,\"string\"!=typeof r?r:parseInt(r,10)||void 0),now:o});var r}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,t,n){var o;const r=g(w()),i=g(w()),a=w(),s=await k(a),c=E(s),u=await(null===(o=this.dpop)||void 0===o?void 0:o.calculateThumbprint()),l=((e,t,n,o,r,i,a,s,c)=>Object.assign(Object.assign(Object.assign({client_id:e.clientId},e.authorizationParams),n),{scope:fe(t,n.scope,n.audience),response_type:\"code\",response_mode:s||\"query\",state:o,nonce:r,redirect_uri:a||e.authorizationParams.redirect_uri,code_challenge:i,code_challenge_method:\"S256\",dpop_jkt:c}))(this.options,this.scope,e,r,i,c,e.redirect_uri||this.options.authorizationParams.redirect_uri||n,null==t?void 0:t.response_mode,u),d=this._authorizeUrl(l);return{nonce:i,code_verifier:a,scope:l.scope,audience:l.audience||\"default\",redirect_uri:l.redirect_uri,state:r,url:d}}async loginWithPopup(e,t){var n;if(e=e||{},!(t=t||{}).popup&&(t.popup=(e=>{const t=window.screenX+(window.innerWidth-400)/2,n=window.screenY+(window.innerHeight-600)/2;return window.open(e,\"auth0:authorize:popup\",\"left=\".concat(t,\",top=\").concat(n,\",width=\").concat(400,\",height=\").concat(600,\",resizable,scrollbars=yes,status=1\"))})(\"\"),!t.popup))throw new l;const o=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:\"web_message\"},window.location.origin);t.popup.location.href=o.url;const i=await(e=>new Promise(((t,n)=>{let o;const i=setInterval((()=>{e.popup&&e.popup.closed&&(clearInterval(i),clearTimeout(a),window.removeEventListener(\"message\",o,!1),n(new u(e.popup)))}),1e3),a=setTimeout((()=>{clearInterval(i),n(new c(e.popup)),window.removeEventListener(\"message\",o,!1)}),1e3*(e.timeoutInSeconds||60));o=function(s){if(s.data&&\"authorization_response\"===s.data.type){if(clearTimeout(a),clearInterval(i),window.removeEventListener(\"message\",o,!1),!1!==e.closePopup&&e.popup.close(),s.data.response.error)return n(r.fromPayload(s.data.response));t(s.data.response)}},window.addEventListener(\"message\",o)})))(Object.assign(Object.assign({},t),{timeoutInSeconds:t.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(o.state!==i.state)throw new r(\"state_mismatch\",\"Invalid state\");const a=(null===(n=e.authorizationParams)||void 0===n?void 0:n.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:o.audience,scope:o.scope,code_verifier:o.code_verifier,grant_type:\"authorization_code\",code:i.code,redirect_uri:o.redirect_uri},{nonceIn:o.nonce,organization:a})}async getUser(){var e;const t=await this._getIdTokenFromCache();return null===(e=null==t?void 0:t.decodedToken)||void 0===e?void 0:e.user}async getIdTokenClaims(){var e;const t=await this._getIdTokenFromCache();return null===(e=null==t?void 0:t.decodedToken)||void 0===e?void 0:e.claims}async loginWithRedirect(){var t;const n=Ge(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{openUrl:o,fragment:r,appState:i}=n,a=e(n,[\"openUrl\",\"fragment\",\"appState\"]),s=(null===(t=a.authorizationParams)||void 0===t?void 0:t.organization)||this.options.authorizationParams.organization,c=await this._prepareAuthorizeUrl(a.authorizationParams||{}),{url:u}=c,l=e(c,[\"url\"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},l),{appState:i,response_type:De.Code}),s&&{organization:s}));const d=r?\"\".concat(u,\"#\").concat(r):u;o?await o(d):window.location.assign(d)}async handleRedirectCallback(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.href).split(\"?\").slice(1);if(0===e.length)throw new Error(\"There are no query params available for parsing.\");const t=this.transactionManager.get();if(!t)throw new r(\"missing_transaction\",\"Invalid state\");this.transactionManager.remove();const n=(e=>{e.indexOf(\"#\")>-1&&(e=e.substring(0,e.indexOf(\"#\")));const t=new URLSearchParams(e);return{state:t.get(\"state\"),code:t.get(\"code\")||void 0,connect_code:t.get(\"connect_code\")||void 0,error:t.get(\"error\")||void 0,error_description:t.get(\"error_description\")||void 0}})(e.join(\"\"));return t.response_type===De.ConnectCode?this._handleConnectAccountRedirectCallback(n,t):this._handleLoginRedirectCallback(n,t)}async _handleLoginRedirectCallback(e,t){const{code:n,state:o,error:a,error_description:s}=e;if(a)throw new i(a,s||a,o,t.appState);if(!t.code_verifier||t.state&&t.state!==o)throw new r(\"state_mismatch\",\"Invalid state\");const c=t.organization,u=t.nonce,l=t.redirect_uri;return await this._requestToken(Object.assign({audience:t.audience,scope:t.scope,code_verifier:t.code_verifier,grant_type:\"authorization_code\",code:n},l?{redirect_uri:l}:{}),{nonceIn:u,organization:c}),{appState:t.appState,response_type:De.Code}}async _handleConnectAccountRedirectCallback(e,t){const{connect_code:n,state:o,error:i,error_description:s}=e;if(i)throw new a(i,s||i,t.connection,o,t.appState);if(!n)throw new r(\"missing_connect_code\",\"Missing connect code\");if(!(t.code_verifier&&t.state&&t.auth_session&&t.redirect_uri&&t.state===o))throw new r(\"state_mismatch\",\"Invalid state\");const c=await this.myAccountApi.completeAccount({auth_session:t.auth_session,connect_code:n,redirect_uri:t.redirect_uri,code_verifier:t.code_verifier});return Object.assign(Object.assign({},c),{appState:t.appState,response_type:De.ConnectCode})}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get(\"auth0.is.authenticated\"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(\"auth0.is.authenticated\")}try{await this.getTokenSilently(e)}catch(e){}}async getTokenSilently(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n;const o=Object.assign(Object.assign({cacheMode:\"on\"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:fe(this.scope,null===(t=e.authorizationParams)||void 0===t?void 0:t.scope,(null===(n=e.authorizationParams)||void 0===n?void 0:n.audience)||this.options.authorizationParams.audience)})}),r=await((e,t)=>{let n=Me[t];return n||(n=e().finally((()=>{delete Me[t],n=null})),Me[t]=n),n})((()=>this._getTokenSilently(o)),\"\".concat(this.options.clientId,\"::\").concat(o.authorizationParams.audience,\"::\").concat(o.authorizationParams.scope));return e.detailedResponse?r:null==r?void 0:r.access_token}async _getTokenSilently(t){const{cacheMode:n}=t,o=e(t,[\"cacheMode\"]);if(\"off\"!==n){const e=await this._getEntryFromCache({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||\"default\",clientId:this.options.clientId,cacheMode:n});if(e)return e}if(\"cache-only\"===n)return;const r=(i=this.options.clientId,a=o.authorizationParams.audience||\"default\",\"\".concat(\"auth0.lock.getTokenSilently\",\".\").concat(i,\".\").concat(a));var i,a;return await this.lockManager.runWithLock(r,5e3,(async()=>{if(\"off\"!==n){const e=await this._getEntryFromCache({scope:o.authorizationParams.scope,audience:o.authorizationParams.audience||\"default\",clientId:this.options.clientId});if(e)return e}const e=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(o):await this._getTokenFromIFrame(o),{id_token:t,token_type:r,access_token:i,oauthTokenScope:a,expires_in:s}=e;return Object.assign(Object.assign({id_token:t,token_type:r,access_token:i},a?{scope:a}:null),{expires_in:s})}))}async getTokenWithPopup(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var o,r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:fe(this.scope,null===(o=e.authorizationParams)||void 0===o?void 0:o.scope,(null===(r=e.authorizationParams)||void 0===r?void 0:r.audience)||this.options.authorizationParams.audience)})});n=Object.assign(Object.assign({},t),n),await this.loginWithPopup(i,n);return(await this.cacheManager.get(new me({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||\"default\",clientId:this.options.clientId}),void 0,this.options.useMrrt)).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(t){null!==t.clientId?t.clientId=t.clientId||this.options.clientId:delete t.clientId;const n=t.logoutParams||{},{federated:o}=n,r=e(n,[\"federated\"]),i=o?\"&federated\":\"\";return this._url(\"/v2/logout?\".concat(_(Object.assign({clientId:t.clientId},r))))+i}async logout(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var n;const o=Ge(t),{openUrl:r}=o,i=e(o,[\"openUrl\"]);null===t.clientId?await this.cacheManager.clear():await this.cacheManager.clear(t.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove(\"@@user@@\"),await(null===(n=this.dpop)||void 0===n?void 0:n.clear());const a=this._buildLogoutUrl(i);r?await r(a):!1!==r&&window.location.assign(a)}async _getTokenFromIFrame(e){const t=(n=this.options.clientId,\"\".concat(\"auth0.lock.getTokenFromIFrame\",\".\").concat(n));var n;try{return await this.lockManager.runWithLock(t,5e3,(async()=>{const t=Object.assign(Object.assign({},e.authorizationParams),{prompt:\"none\"}),n=this.cookieStorage.get(this.orgHintCookieName);n&&!t.organization&&(t.organization=n);const{url:o,state:i,nonce:a,code_verifier:c,redirect_uri:u,scope:l,audience:d}=await this._prepareAuthorizeUrl(t,{response_mode:\"web_message\"},window.location.origin);if(window.crossOriginIsolated)throw new r(\"login_required\",\"The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.\");const h=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds;let p;try{p=new URL(this.domainUrl).origin}catch(e){p=this.domainUrl}const f=await function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:60;return new Promise(((o,i)=>{const a=window.document.createElement(\"iframe\");a.setAttribute(\"width\",\"0\"),a.setAttribute(\"height\",\"0\"),a.style.display=\"none\";const c=()=>{window.document.body.contains(a)&&(window.document.body.removeChild(a),window.removeEventListener(\"message\",u,!1))};let u;const l=setTimeout((()=>{i(new s),c()}),1e3*n);u=function(e){if(e.origin!=t)return;if(!e.data||\"authorization_response\"!==e.data.type)return;const n=e.source;n&&n.close(),e.data.response.error?i(r.fromPayload(e.data.response)):o(e.data.response),clearTimeout(l),window.removeEventListener(\"message\",u,!1),setTimeout(c,2e3)},window.addEventListener(\"message\",u,!1),window.document.body.appendChild(a),a.setAttribute(\"src\",e)}))}(o,p,h);if(i!==f.state)throw new r(\"state_mismatch\",\"Invalid state\");const m=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:c,code:f.code,grant_type:\"authorization_code\",redirect_uri:u,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:t.organization});return Object.assign(Object.assign({},m),{scope:l,oauthTokenScope:m.scope,audience:d})}))}catch(e){throw\"login_required\"===e.error&&this.logout({openUrl:!1}),e}}async _getTokenUsingRefreshToken(e){var t,n;const o=await this.cacheManager.get(new me({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||\"default\",clientId:this.options.clientId}),void 0,this.options.useMrrt);if(!(o&&o.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new h(e.authorizationParams.audience||\"default\",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=\"number\"==typeof e.timeoutInSeconds?1e3*e.timeoutInSeconds:null,a=((e,t,n,o)=>{var r;if(e&&n&&o){if(t.audience!==n)return t.scope;const e=o.split(\" \"),i=(null===(r=t.scope)||void 0===r?void 0:r.split(\" \"))||[],a=i.every((t=>e.includes(t)));return e.length>=i.length&&a?o:t.scope}return t.scope})(this.options.useMrrt,e.authorizationParams,null==o?void 0:o.audience,null==o?void 0:o.scope);try{const t=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:\"refresh_token\",refresh_token:o&&o.refresh_token,redirect_uri:r}),i&&{timeout:i}),{scopesToRequest:a});if(t.refresh_token&&(null==o?void 0:o.refresh_token)&&await this.cacheManager.updateEntry(o.refresh_token,t.refresh_token),this.options.useMrrt){if(s=null==o?void 0:o.audience,c=null==o?void 0:o.scope,u=e.authorizationParams.audience,l=e.authorizationParams.scope,s!==u||!Ze(l,c)){if(!Ze(a,t.scope)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);await this.cacheManager.remove(this.options.clientId,e.authorizationParams.audience,e.authorizationParams.scope);const n=((e,t)=>{const n=(null==e?void 0:e.split(\" \"))||[],o=(null==t?void 0:t.split(\" \"))||[];return n.filter((e=>-1==o.indexOf(e))).join(\",\")})(a,t.scope);throw new p(e.authorizationParams.audience||\"default\",n)}}}return Object.assign(Object.assign({},t),{scope:e.authorizationParams.scope,oauthTokenScope:t.scope,audience:e.authorizationParams.audience||\"default\"})}catch(o){if(o.message){if(o.message.includes(\"user is blocked\"))throw await this.logout({openUrl:!1}),o;if((o.message.includes(\"Missing Refresh Token\")||o.message.includes(\"invalid refresh token\"))&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e)}throw o instanceof d&&this.mfa.setMFAAuthDetails(o.mfa_token,null===(t=e.authorizationParams)||void 0===t?void 0:t.scope,null===(n=e.authorizationParams)||void 0===n?void 0:n.audience,o.mfa_requirements),o}var s,c,u,l}async _saveEntryInCache(t){const{id_token:n,decodedToken:o}=t,r=e(t,[\"id_token\",\"decodedToken\"]);this.userCache.set(\"@@user@@\",{id_token:n,decodedToken:o}),await this.cacheManager.setIdToken(this.options.clientId,t.id_token,t.decodedToken),await this.cacheManager.set(r)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||\"default\",t=this.scope[e],n=await this.cacheManager.getIdToken(new me({clientId:this.options.clientId,audience:e,scope:t})),o=this.userCache.get(\"@@user@@\");return n&&n.id_token===(null==o?void 0:o.id_token)?o:(this.userCache.set(\"@@user@@\",n),n)}async _getEntryFromCache(e){let{scope:t,audience:n,clientId:o,cacheMode:r}=e;const i=await this.cacheManager.get(new me({scope:t,audience:n,clientId:o}),60,this.options.useMrrt,r);if(i&&i.access_token){const{token_type:e,access_token:t,oauthTokenScope:n,expires_in:o}=i,r=await this._getIdTokenFromCache();return r&&Object.assign(Object.assign({id_token:r.id_token,token_type:e||\"Bearer\",access_token:t},n?{scope:n}:null),{expires_in:o})}}async _requestToken(e,t){var n,o;const{nonceIn:r,organization:i,scopesToRequest:a}=t||{},s=await de(Object.assign(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs,useMrrt:this.options.useMrrt,dpop:this.dpop},e),{scope:a||e.scope}),this.worker),c=await this._verifyIdToken(s.id_token,r,i);if(\"authorization_code\"===e.grant_type){const e=await this._getIdTokenFromCache();(null===(o=null===(n=null==e?void 0:e.decodedToken)||void 0===n?void 0:n.claims)||void 0===o?void 0:o.sub)&&e.decodedToken.claims.sub!==c.claims.sub&&(await this.cacheManager.clear(this.options.clientId),this.userCache.remove(\"@@user@@\"))}return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},s),{decodedToken:c,scope:e.scope,audience:e.audience||\"default\"}),s.scope?{oauthTokenScope:s.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||c.claims.org_id),Object.assign(Object.assign({},s),{decodedToken:c})}async loginWithCustomTokenExchange(e){return this._requestToken(Object.assign(Object.assign({},e),{grant_type:\"urn:ietf:params:oauth:grant-type:token-exchange\",subject_token:e.subject_token,subject_token_type:e.subject_token_type,scope:fe(this.scope,e.scope,e.audience||this.options.authorizationParams.audience),audience:e.audience||this.options.authorizationParams.audience,organization:e.organization||this.options.authorizationParams.organization}))}async exchangeToken(e){return this.loginWithCustomTokenExchange(e)}_assertDpop(e){if(!e)throw new Error(\"`useDpop` option must be enabled before using DPoP.\")}getDpopNonce(e){return this._assertDpop(this.dpop),this.dpop.getNonce(e)}setDpopNonce(e,t){return this._assertDpop(this.dpop),this.dpop.setNonce(e,t)}generateDpopProof(e){return this._assertDpop(this.dpop),this.dpop.generateProof(e)}createFetcher(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Qe(e,{isDpopEnabled:()=>!!this.options.useDpop,getAccessToken:e=>{var t;return this.getTokenSilently({authorizationParams:{scope:null===(t=null==e?void 0:e.scope)||void 0===t?void 0:t.join(\" \"),audience:null==e?void 0:e.audience},detailedResponse:!0})},getDpopNonce:()=>this.getDpopNonce(e.dpopNonceId),setDpopNonce:t=>this.setDpopNonce(t,e.dpopNonceId),generateDpopProof:e=>this.generateDpopProof(e)})}async connectAccountWithRedirect(e){const{openUrl:t,appState:n,connection:o,scopes:r,authorization_params:i,redirectUri:a=this.options.authorizationParams.redirect_uri||window.location.origin}=e;if(!o)throw new Error(\"connection is required\");const s=g(w()),c=w(),u=await k(c),l=E(u),{connect_uri:d,connect_params:h,auth_session:p}=await this.myAccountApi.connectAccount({connection:o,scopes:r,redirect_uri:a,state:s,code_challenge:l,code_challenge_method:\"S256\",authorization_params:i});this.transactionManager.create({state:s,code_verifier:c,auth_session:p,redirect_uri:a,appState:n,connection:o,response_type:De.ConnectCode});const f=new URL(d);f.searchParams.set(\"ticket\",h.ticket),t?await t(f.toString()):window.location.assign(f)}async _requestTokenForMfa(t,n){const{mfaToken:o}=t,r=e(t,[\"mfaToken\"]);return this._requestToken(Object.assign(Object.assign({},r),{mfa_token:o}),n)}}async function ia(e){const t=new ra(e);return await t.checkSession(),t}export{ra as Auth0Client,i as AuthenticationError,me as CacheKey,a as ConnectError,r as GenericError,we as InMemoryCache,ye as LocalStorageCache,oa as MfaApiClient,$i as MfaChallengeError,Qi as MfaEnrollmentError,ta as MfaEnrollmentFactorsError,Xi as MfaError,Yi as MfaListAuthenticatorsError,d as MfaRequiredError,ea as MfaVerifyError,h as MissingRefreshTokenError,et as MyAccountApiError,u as PopupCancelledError,l as PopupOpenError,c as PopupTimeoutError,De as ResponseType,s as TimeoutError,f as UseDpopNonceError,Ke as User,ia as createAuth0Client};\n//# sourceMappingURL=auth0-spa-js.production.esm.js.map\n"],"names":["e","t","n","o","r","i","a","s","c","u","l","d","h","m","p","f","y","w","g","v","b","_","k","S","E","A","T","P","R","I","x","O","C","j","D","K","L","U","N","W","z","H","M","J","V","F","X","G","q","B","Z","Y","Q","$","ee","te","ne","oe","re","ie","ae","se","ce","ue","le","de","he","pe","fe","me","ye","we","ge","ve","be","_e","ke","Se","Ee","Ae","Te","Pe","Re","Ie","xe","Oe","Ce","je","De","Le","Ue","Ne","We","ze","He","Me","Je","Ve","Fe","Ge","Ze","qe","Be","Xe","Ye","Qe","$e","et","tt","nt","ot","rt","it","at","st","ct","ut","lt","dt","ht","pt","ft","mt","yt","wt","vt","bt","_t","kt","St","Et","At","Tt","Rt","It","xt","Ot","Ct","jt","Dt","Kt","Kn","Lt","Ut","Nt","Wt","zt","Ht","Mt","Jt","on","Vt","Ft","Gt","wn","Wn","Zt","qt","Bt","Xt","Yt","Qt","$t","en","tn","Xn","Bn","nn","Hn","Mn","rn","Gn","Zn","an","sn","Dn","cn","Ln","un","jn","ln","dn","hn","pn","fn","mn","qn","zn","yn","Tn","gn","vn","bn","_n","Sn","oo","Nn","Un","Jn","Qn","In","An","En","Vn","io","Pn","Rn","xn","On","Cn","Fn","Yn","$n","eo","to","no","ro","ao","so","co","uo","lo","ho","po","fo","mo","yo","wo","go","vo","bo","_o","ko","So","Eo","Ao","To","Po","Ro","Io","xo","Oo","Co","jo","Do","Ko","Lo","Uo","No","Wo","zo","Ho","Mo","Jo","Vo","Fo","Go","Zo","qo","Bo","Xo","Yo","Qo","$o","er","tr","nr","ar","ir","rr","or","sr","cr","ur","lr","dr","hr","br","pr","fr","mr","yr","wr","gr","Tr","Pr","vr","Rr","Ir","_r","kr","Sr","Er","Ar","xr","Or","Cr","jr","Dr","Kr","Lr","Ur","Nr","Wr","zr","Hr","Mr","Jr","Vr","Fr","Gr","Zr","qr","Br","Xr","Yr","Qr","$r","ei","ti","ni","oi","ri","ii","ai","si","ci","ui","li","di","hi","pi","fi","mi","yi","wi","gi","vi","bi","_i","ki","Si","Ei","Ai","Ti","Pi","Ri","Ii","xi","Oi","Ci","ji","Di","Ki","Li","Ui","Ni","Wi","zi","Hi","Mi","Ji","Vi","Fi","Bi","Gi","Zi","qi","Xi","Yi","Qi","$i","ea","ta","na","oa","ra"],"mappings":"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","x_google_ignoreList":[0]}
|