@userfront/core
Version:
Userfront core JS library
8 lines • 57.7 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Userfront=t()}(this,(function(){"use strict";function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,r=(o=Object.create(null),e=>{const n=t.call(e);return o[n]||(o[n]=n.slice(8,-1).toLowerCase())});var o;const s=e=>(e=e.toLowerCase(),t=>r(t)===e),a=e=>t=>typeof t===e,{isArray:i}=Array,c=a("undefined");const u=s("ArrayBuffer");const d=a("string"),l=a("function"),f=a("number"),h=e=>null!==e&&"object"==typeof e,p=e=>{if("object"!==r(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)},m=s("Date"),w=s("File"),y=s("Blob"),g=s("FileList"),b=s("URLSearchParams"),[R,k,E,T]=["ReadableStream","Request","Response","Headers"].map(s);function v(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),i(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let a;for(r=0;r<s;r++)a=o[r],t.call(null,e[a],a,e)}}function O(e,t){t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,U=e=>!c(e)&&e!==S;const P=(C="undefined"!=typeof Uint8Array&&n(Uint8Array),e=>C&&e instanceof C);var C;const A=s("HTMLFormElement"),x=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),N=s("RegExp"),_=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};v(n,((n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)})),Object.defineProperties(e,r)};const j=s("AsyncFunction"),F=(q="function"==typeof setImmediate,I=l(S.postMessage),q?setImmediate:I?(L=`axios@${Math.random()}`,B=[],S.addEventListener("message",(({source:e,data:t})=>{e===S&&t===L&&B.length&&B.shift()()}),!1),e=>{B.push(e),S.postMessage(L,"*")}):e=>setTimeout(e));var q,I,L,B;const D="undefined"!=typeof queueMicrotask?queueMicrotask.bind(S):"undefined"!=typeof process&&process.nextTick||F;var M={isArray:i,isArrayBuffer:u,isBuffer:function(e){return null!==e&&!c(e)&&null!==e.constructor&&!c(e.constructor)&&l(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:e=>{let t;return e&&("function"==typeof FormData&&e instanceof FormData||l(e.append)&&("formdata"===(t=r(e))||"object"===t&&l(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&u(e.buffer),t},isString:d,isNumber:f,isBoolean:e=>!0===e||!1===e,isObject:h,isPlainObject:p,isReadableStream:R,isRequest:k,isResponse:E,isHeaders:T,isUndefined:c,isDate:m,isFile:w,isBlob:y,isRegExp:N,isFunction:l,isStream:e=>h(e)&&l(e.pipe),isURLSearchParams:b,isTypedArray:P,isFileList:g,forEach:v,merge:function e(){const{caseless:t}=U(this)&&this||{},n={},r=(r,o)=>{const s=t&&O(n,o)||o;p(n[s])&&p(r)?n[s]=e(n[s],r):p(r)?n[s]=e({},r):i(r)?n[s]=r.slice():n[s]=r};for(let e=0,t=arguments.length;e<t;e++)arguments[e]&&v(arguments[e],r);return n},extend:(t,n,r,{allOwnKeys:o}={})=>(v(n,((n,o)=>{r&&l(n)?t[o]=e(n,r):t[o]=n}),{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,a,i;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),a=s.length;a-- >0;)i=s[a],o&&!o(i,e,t)||c[i]||(t[i]=e[i],c[i]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:r,kindOfTest:s,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(i(e))return e;let t=e.length;if(!f(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:A,hasOwnProperty:x,hasOwnProp:x,reduceDescriptors:_,freezeMethods:e=>{_(e,((t,n)=>{if(l(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];l(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return i(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:O,global:S,isContextDefined:U,isSpecCompliantForm:function(e){return!!(e&&l(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(h(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=i(e)?[]:{};return v(e,((e,t)=>{const s=n(e,r+1);!c(s)&&(o[t]=s)})),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:j,isThenable:e=>e&&(h(e)||l(e))&&l(e.then)&&l(e.catch),setImmediate:F,asap:D};function $(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}M.inherits($,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:M.toJSONObject(this.config),code:this.code,status:this.status}}});const z=$.prototype,J={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{J[e]={value:e}})),Object.defineProperties($,J),Object.defineProperty(z,"isAxiosError",{value:!0}),$.from=(e,t,n,r,o,s)=>{const a=Object.create(z);return M.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),$.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,s&&Object.assign(a,s),a};function W(e){return M.isPlainObject(e)||M.isArray(e)}function H(e){return M.endsWith(e,"[]")?e.slice(0,-2):e}function K(e,t,n){return e?e.concat(t).map((function(e,t){return e=H(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}const V=M.toFlatObject(M,{},null,(function(e){return/^is[A-Z]/.test(e)}));function X(e,t,n){if(!M.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=M.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!M.isUndefined(t[e])}))).metaTokens,o=n.visitor||u,s=n.dots,a=n.indexes,i=(n.Blob||"undefined"!=typeof Blob&&Blob)&&M.isSpecCompliantForm(t);if(!M.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(M.isDate(e))return e.toISOString();if(!i&&M.isBlob(e))throw new $("Blob is not supported. Use a Buffer instead.");return M.isArrayBuffer(e)||M.isTypedArray(e)?i&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let i=e;if(e&&!o&&"object"==typeof e)if(M.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(M.isArray(e)&&function(e){return M.isArray(e)&&!e.some(W)}(e)||(M.isFileList(e)||M.endsWith(n,"[]"))&&(i=M.toArray(e)))return n=H(n),i.forEach((function(e,r){!M.isUndefined(e)&&null!==e&&t.append(!0===a?K([n],r,s):null===a?n:n+"[]",c(e))})),!1;return!!W(e)||(t.append(K(o,n,s),c(e)),!1)}const d=[],l=Object.assign(V,{defaultVisitor:u,convertValue:c,isVisitable:W});if(!M.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!M.isUndefined(n)){if(-1!==d.indexOf(n))throw Error("Circular reference detected in "+r.join("."));d.push(n),M.forEach(n,(function(n,s){!0===(!(M.isUndefined(n)||null===n)&&o.call(t,n,M.isString(s)?s.trim():s,r,l))&&e(n,r?r.concat(s):[s])})),d.pop()}}(e),t}function G(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Q(e,t){this._pairs=[],e&&X(e,this,t)}const Z=Q.prototype;function Y(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ee(e,t,n){if(!t)return e;const r=n&&n.encode||Y;M.isFunction(n)&&(n={serialize:n});const o=n&&n.serialize;let s;if(s=o?o(t,n):M.isURLSearchParams(t)?t.toString():new Q(t,n).toString(r),s){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+s}return e}Z.append=function(e,t){this._pairs.push([e,t])},Z.toString=function(e){const t=e?function(t){return e.call(this,t,G)}:G;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};class te{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){M.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var ne={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},re={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Q,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]};const oe="undefined"!=typeof window&&"undefined"!=typeof document,se="object"==typeof navigator&&navigator||void 0,ae=oe&&(!se||["ReactNative","NativeScript","NS"].indexOf(se.product)<0),ie="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ce=oe&&window.location.href||"http://localhost";var ue={...Object.freeze({__proto__:null,hasBrowserEnv:oe,hasStandardBrowserEnv:ae,hasStandardBrowserWebWorkerEnv:ie,navigator:se,origin:ce}),...re};function de(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const a=Number.isFinite(+s),i=o>=e.length;if(s=!s&&M.isArray(r)?r.length:s,i)return M.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!a;r[s]&&M.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&M.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!a}if(M.isFormData(e)&&M.isFunction(e.entries)){const n={};return M.forEachEntry(e,((e,r)=>{t(function(e){return M.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}(e),r,n,0)})),n}return null}const le={transitional:ne,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=M.isObject(e);o&&M.isHTMLForm(e)&&(e=new FormData(e));if(M.isFormData(e))return r?JSON.stringify(de(e)):e;if(M.isArrayBuffer(e)||M.isBuffer(e)||M.isStream(e)||M.isFile(e)||M.isBlob(e)||M.isReadableStream(e))return e;if(M.isArrayBufferView(e))return e.buffer;if(M.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return X(e,new ue.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return ue.isNode&&M.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((s=M.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return X(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(M.isString(e))try{return(t||JSON.parse)(e),M.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||le.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(M.isResponse(e)||M.isReadableStream(e))return e;if(e&&M.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(e){if(n){if("SyntaxError"===e.name)throw $.from(e,$.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ue.classes.FormData,Blob:ue.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};M.forEach(["delete","get","head","post","put","patch"],(e=>{le.headers[e]={}}));const fe=M.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const he=Symbol("internals");function pe(e){return e&&String(e).trim().toLowerCase()}function me(e){return!1===e||null==e?e:M.isArray(e)?e.map(me):String(e)}function we(e,t,n,r,o){return M.isFunction(r)?r.call(this,t,n):(o&&(t=n),M.isString(t)?M.isString(r)?-1!==t.indexOf(r):M.isRegExp(r)?r.test(t):void 0:void 0)}let ye=class{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=pe(t);if(!o)throw new Error("header name must be a non-empty string");const s=M.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=me(e))}const s=(e,t)=>M.forEach(e,((e,n)=>o(e,n,t)));if(M.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(M.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&fe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t})(e),t);else if(M.isHeaders(e))for(const[t,r]of e.entries())o(r,t,n);else null!=e&&o(t,e,n);return this}get(e,t){if(e=pe(e)){const n=M.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(M.isFunction(t))return t.call(this,e,n);if(M.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=pe(e)){const n=M.findKey(this,e);return!(!n||void 0===this[n]||t&&!we(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=pe(e)){const o=M.findKey(n,e);!o||t&&!we(0,n[o],o,t)||(delete n[o],r=!0)}}return M.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!we(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return M.forEach(this,((r,o)=>{const s=M.findKey(n,o);if(s)return t[s]=me(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}(o):String(o).trim();a!==o&&delete t[o],t[a]=me(r),n[a]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return M.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&M.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=(this[he]=this[he]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=pe(e);t[r]||(!function(e,t){const n=M.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}(n,e),t[r]=!0)}return M.isArray(e)?e.forEach(r):r(e),this}};function ge(e,t){const n=this||le,r=t||n,o=ye.from(r.headers);let s=r.data;return M.forEach(e,(function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)})),o.normalize(),s}function be(e){return!(!e||!e.__CANCEL__)}function Re(e,t,n){$.call(this,null==e?"canceled":e,$.ERR_CANCELED,t,n),this.name="CanceledError"}function ke(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new $("Request failed with status code "+n.status,[$.ERR_BAD_REQUEST,$.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}ye.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),M.reduceDescriptors(ye.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),M.freezeMethods(ye),M.inherits(Re,$,{__CANCEL__:!0});const Ee=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,a=0;return t=void 0!==t?t:1e3,function(i){const c=Date.now(),u=r[a];o||(o=c),n[s]=i,r[s]=c;let d=a,l=0;for(;d!==s;)l+=n[d++],d%=e;if(s=(s+1)%e,s===a&&(a=(a+1)%e),c-o<t)return;const f=u&&c-u;return f?Math.round(1e3*l/f):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const a=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e.apply(null,t)};return[(...e)=>{const t=Date.now(),i=t-o;i>=s?a(e,t):(n=e,r||(r=setTimeout((()=>{r=null,a(n)}),s-i)))},()=>n&&a(n)]}((n=>{const s=n.loaded,a=n.lengthComputable?n.total:void 0,i=s-r,c=o(i);r=s;e({loaded:s,total:a,progress:a?s/a:void 0,bytes:i,rate:c||void 0,estimated:c&&a&&s<=a?(a-s)/c:void 0,event:n,lengthComputable:null!=a,[t?"download":"upload"]:!0})}),n)},Te=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ve=e=>(...t)=>M.asap((()=>e(...t)));var Oe=ue.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,ue.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(ue.origin),ue.navigator&&/(msie|trident)/i.test(ue.navigator.userAgent)):()=>!0,Se=ue.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const a=[e+"="+encodeURIComponent(t)];M.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),M.isString(r)&&a.push("path="+r),M.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Ue(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&r||0==n?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Pe=e=>e instanceof ye?{...e}:e;function Ce(e,t){t=t||{};const n={};function r(e,t,n,r){return M.isPlainObject(e)&&M.isPlainObject(t)?M.merge.call({caseless:r},e,t):M.isPlainObject(t)?M.merge({},t):M.isArray(t)?t.slice():t}function o(e,t,n,o){return M.isUndefined(t)?M.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!M.isUndefined(t))return r(void 0,t)}function a(e,t){return M.isUndefined(t)?M.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function i(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:i,headers:(e,t,n)=>o(Pe(e),Pe(t),0,!0)};return M.forEach(Object.keys(Object.assign({},e,t)),(function(r){const s=c[r]||o,a=s(e[r],t[r],r);M.isUndefined(a)&&s!==i||(n[r]=a)})),n}var Ae=e=>{const t=Ce({},e);let n,{data:r,withXSRFToken:o,xsrfHeaderName:s,xsrfCookieName:a,headers:i,auth:c}=t;if(t.headers=i=ye.from(i),t.url=ee(Ue(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),M.isFormData(r))if(ue.hasStandardBrowserEnv||ue.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(!1!==(n=i.getContentType())){const[e,...t]=n?n.split(";").map((e=>e.trim())).filter(Boolean):[];i.setContentType([e||"multipart/form-data",...t].join("; "))}if(ue.hasStandardBrowserEnv&&(o&&M.isFunction(o)&&(o=o(t)),o||!1!==o&&Oe(t.url))){const e=s&&a&&Se.read(a);e&&i.set(s,e)}return t};var xe="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){const r=Ae(e);let o=r.data;const s=ye.from(r.headers).normalize();let a,i,c,u,d,{responseType:l,onUploadProgress:f,onDownloadProgress:h}=r;function p(){u&&u(),d&&d(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let m=new XMLHttpRequest;function w(){if(!m)return;const r=ye.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());ke((function(e){t(e),p()}),(function(e){n(e),p()}),{data:l&&"text"!==l&&"json"!==l?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=w:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(w)},m.onabort=function(){m&&(n(new $("Request aborted",$.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new $("Network Error",$.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||ne;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new $(t,o.clarifyTimeoutError?$.ETIMEDOUT:$.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&M.forEach(s.toJSON(),(function(e,t){m.setRequestHeader(t,e)})),M.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),l&&"json"!==l&&(m.responseType=r.responseType),h&&([c,d]=Ee(h,!0),m.addEventListener("progress",c)),f&&m.upload&&([i,u]=Ee(f),m.upload.addEventListener("progress",i),m.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(a=t=>{m&&(n(!t||t.type?new Re(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const y=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);y&&-1===ue.protocols.indexOf(y)?n(new $("Unsupported protocol "+y+":",$.ERR_BAD_REQUEST,e)):m.send(o||null)}))};const Ne=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof $?t:new Re(t instanceof Error?t.message:t))}};let s=t&&setTimeout((()=>{s=null,o(new $(`timeout ${t} of ms exceeded`,$.ETIMEDOUT))}),t);const a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach((e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)})),e=null)};e.forEach((e=>e.addEventListener("abort",o)));const{signal:i}=r;return i.unsubscribe=()=>M.asap(a),i}},_e=function*(e,t){let n=e.byteLength;if(n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},je=async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}},Fe=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of je(e))yield*_e(n,t)}(e,t);let s,a=0,i=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return i(),void e.close();let s=r.byteLength;if(n){let e=a+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(e){throw i(e),e}},cancel:e=>(i(e),o.return())},{highWaterMark:2})},qe="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,Ie=qe&&"function"==typeof ReadableStream,Le=qe&&("function"==typeof TextEncoder?(Be=new TextEncoder,e=>Be.encode(e)):async e=>new Uint8Array(await new Response(e).arrayBuffer()));var Be;const De=(e,...t)=>{try{return!!e(...t)}catch(e){return!1}},Me=Ie&&De((()=>{let e=!1;const t=new Request(ue.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),$e=Ie&&De((()=>M.isReadableStream(new Response("").body))),ze={stream:$e&&(e=>e.body)};var Je;qe&&(Je=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!ze[e]&&(ze[e]=M.isFunction(Je[e])?t=>t[e]():(t,n)=>{throw new $(`Response type '${e}' is not supported`,$.ERR_NOT_SUPPORT,n)})})));const We=async(e,t)=>{const n=M.toFiniteNumber(e.getContentLength());return null==n?(async e=>{if(null==e)return 0;if(M.isBlob(e))return e.size;if(M.isSpecCompliantForm(e)){const t=new Request(ue.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return M.isArrayBufferView(e)||M.isArrayBuffer(e)?e.byteLength:(M.isURLSearchParams(e)&&(e+=""),M.isString(e)?(await Le(e)).byteLength:void 0)})(t):n};const He={http:null,xhr:xe,fetch:qe&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:a,onDownloadProgress:i,onUploadProgress:c,responseType:u,headers:d,withCredentials:l="same-origin",fetchOptions:f}=Ae(e);u=u?(u+"").toLowerCase():"text";let h,p=Ne([o,s&&s.toAbortSignal()],a);const m=p&&p.unsubscribe&&(()=>{p.unsubscribe()});let w;try{if(c&&Me&&"get"!==n&&"head"!==n&&0!==(w=await We(d,r))){let e,n=new Request(t,{method:"POST",body:r,duplex:"half"});if(M.isFormData(r)&&(e=n.headers.get("content-type"))&&d.setContentType(e),n.body){const[e,t]=Te(w,Ee(ve(c)));r=Fe(n.body,65536,e,t)}}M.isString(l)||(l=l?"include":"omit");const o="credentials"in Request.prototype;h=new Request(t,{...f,signal:p,method:n.toUpperCase(),headers:d.normalize().toJSON(),body:r,duplex:"half",credentials:o?l:void 0});let s=await fetch(h);const a=$e&&("stream"===u||"response"===u);if($e&&(i||a&&m)){const e={};["status","statusText","headers"].forEach((t=>{e[t]=s[t]}));const t=M.toFiniteNumber(s.headers.get("content-length")),[n,r]=i&&Te(t,Ee(ve(i),!0))||[];s=new Response(Fe(s.body,65536,n,(()=>{r&&r(),m&&m()})),e)}u=u||"text";let y=await ze[M.findKey(ze,u)||"text"](s,e);return!a&&m&&m(),await new Promise(((t,n)=>{ke(t,n,{data:y,headers:ye.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:h})}))}catch(t){if(m&&m(),t&&"TypeError"===t.name&&/fetch/i.test(t.message))throw Object.assign(new $("Network Error",$.ERR_NETWORK,e,h),{cause:t.cause||t});throw $.from(t,t&&t.code,e,h)}})};M.forEach(He,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));const Ke=e=>`- ${e}`,Ve=e=>M.isFunction(e)||null===e||!1===e;var Xe=e=>{e=M.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s<t;s++){let t;if(n=e[s],r=n,!Ve(n)&&(r=He[(t=String(n)).toLowerCase()],void 0===r))throw new $(`Unknown adapter '${t}'`);if(r)break;o[t||"#"+s]=r}if(!r){const e=Object.entries(o).map((([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));throw new $("There is no suitable adapter to dispatch the request "+(t?e.length>1?"since :\n"+e.map(Ke).join("\n"):" "+Ke(e[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function Ge(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Re(null,e)}function Qe(e){Ge(e),e.headers=ye.from(e.headers),e.data=ge.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Xe(e.adapter||le.adapter)(e).then((function(t){return Ge(e),t.data=ge.call(e,e.transformResponse,t),t.headers=ye.from(t.headers),t}),(function(t){return be(t)||(Ge(e),t&&t.response&&(t.response.data=ge.call(e,e.transformResponse,t.response),t.response.headers=ye.from(t.response.headers))),Promise.reject(t)}))}const Ze="1.8.3",Ye={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{Ye[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const et={};Ye.transitional=function(e,t,n){function r(e,t){return"[Axios v1.8.3] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new $(r(o," has been removed"+(t?" in "+t:"")),$.ERR_DEPRECATED);return t&&!et[o]&&(et[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},Ye.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};var tt={assertOptions:function(e,t,n){if("object"!=typeof e)throw new $("options must be an object",$.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],a=t[s];if(a){const t=e[s],n=void 0===t||a(t,s,e);if(!0!==n)throw new $("option "+s+" must be "+n,$.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new $("Unknown option "+s,$.ERR_BAD_OPTION)}},validators:Ye};const nt=tt.validators;let rt=class{constructor(e){this.defaults=e,this.interceptors={request:new te,response:new te}}async request(e,t){try{return await this._request(e,t)}catch(e){if(e instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const n=t.stack?t.stack.replace(/^.+\n/,""):"";try{e.stack?n&&!String(e.stack).endsWith(n.replace(/^.+\n.+\n/,""))&&(e.stack+="\n"+n):e.stack=n}catch(e){}}throw e}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=Ce(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&tt.assertOptions(n,{silentJSONParsing:nt.transitional(nt.boolean),forcedJSONParsing:nt.transitional(nt.boolean),clarifyTimeoutError:nt.transitional(nt.boolean)},!1),null!=r&&(M.isFunction(r)?t.paramsSerializer={serialize:r}:tt.assertOptions(r,{encode:nt.function,serialize:nt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),tt.assertOptions(t,{baseUrl:nt.spelling("baseURL"),withXsrfToken:nt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&M.merge(o.common,o[t.method]);o&&M.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=ye.concat(s,o);const a=[];let i=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(i=i&&e.synchronous,a.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let d,l=0;if(!i){const e=[Qe.bind(this),void 0];for(e.unshift.apply(e,a),e.push.apply(e,c),d=e.length,u=Promise.resolve(t);l<d;)u=u.then(e[l++],e[l++]);return u}d=a.length;let f=t;for(l=0;l<d;){const e=a[l++],t=a[l++];try{f=e(f)}catch(e){t.call(this,e);break}}try{u=Qe.call(this,f)}catch(e){return Promise.reject(e)}for(l=0,d=c.length;l<d;)u=u.then(c[l++],c[l++]);return u}getUri(e){return ee(Ue((e=Ce(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}};M.forEach(["delete","get","head","options"],(function(e){rt.prototype[e]=function(t,n){return this.request(Ce(n||{},{method:e,url:t,data:(n||{}).data}))}})),M.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,o){return this.request(Ce(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}rt.prototype[e]=t(),rt.prototype[e+"Form"]=t(!0)}));const ot={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ot).forEach((([e,t])=>{ot[t]=e}));const st=function t(n){const r=new rt(n),o=e(rt.prototype.request,r);return M.extend(o,rt.prototype,r,{allOwnKeys:!0}),M.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(Ce(n,e))},o}(le);st.Axios=rt,st.CanceledError=Re,st.CancelToken=class e{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise((function(e){t=e}));const n=this;this.promise.then((e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new Re(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e((function(e){t=e})),cancel:t}}},st.isCancel=be,st.VERSION=Ze,st.toFormData=X,st.AxiosError=$,st.Cancel=st.CanceledError,st.all=function(e){return Promise.all(e)},st.spread=function(e){return function(t){return e.apply(null,t)}},st.isAxiosError=function(e){return M.isObject(e)&&!0===e.isAxiosError},st.mergeConfig=Ce,st.AxiosHeaders=ye,st.formToJSON=e=>de(M.isHTMLForm(e)?new FormData(e):e),st.getAdapter=Xe,st.HttpStatusCode=ot,st.default=st;const{Axios:at,AxiosError:it,CanceledError:ct,isCancel:ut,CancelToken:dt,VERSION:lt,all:ft,Cancel:ht,isAxiosError:pt,spread:mt,toFormData:wt,AxiosHeaders:yt,HttpStatusCode:gt,formToJSON:bt,getAdapter:Rt,mergeConfig:kt}=st,Et={user:{},tokens:{},mode:"live"};function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var vt={exports:{}};
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/!function(e){var t;t=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function o(){}function s(t,n,s){if("undefined"!=typeof document){"number"==typeof(s=e({path:"/"},o.defaults,s)).expires&&(s.expires=new Date(1*new Date+864e5*s.expires)),s.expires=s.expires?s.expires.toUTCString():"";try{var a=JSON.stringify(n);/^[\{\[]/.test(a)&&(n=a)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var i="";for(var c in s)s[c]&&(i+="; "+c,!0!==s[c]&&(i+="="+s[c].split(";")[0]));return document.cookie=t+"="+n+i}}function a(e,n){if("undefined"!=typeof document){for(var o={},s=document.cookie?document.cookie.split("; "):[],a=0;a<s.length;a++){var i=s[a].split("="),c=i.slice(1).join("=");n||'"'!==c.charAt(0)||(c=c.slice(1,-1));try{var u=t(i[0]);if(c=(r.read||r)(c,u)||t(c),n)try{c=JSON.parse(c)}catch(e){}if(o[u]=c,e===u)break}catch(e){}}return e?o[e]:o}}return o.set=s,o.get=function(e){return a(e,!1)},o.getJSON=function(e){return a(e,!0)},o.remove=function(t,n){s(t,"",e(n,{expires:-1}))},o.defaults={},o.withConverter=n,o}((function(){}))},e.exports=t()}(vt);var Ot=Tt(vt.exports);function St(e){try{const t=e.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join(""));return JSON.parse(n)}catch(e){console.error("Problem decoding JWT payload",e)}}function Ut(e){try{if(!e)return!1;const t=St(e);return new Date(1e3*t.exp)>new Date}catch(e){return!1}}function Pt(e){if(e){if("string"==typeof e)throw new Error(e);if(e?.response?.data?.message)throw new Error(e.response.data.message);throw e}}function Ct(){return"undefined"!=typeof window}const At=Et.user;function xt(e){return e.replace(/([^:]\/)\/+/g,"$1")}async function Nt(e,t){const n=xt(`${Et.baseUrl}${e}`);return st.get(n,t)}async function _t(e,t,n){const r=xt(`${Et.baseUrl}${e}`);return st.post(r,t,n)}async function jt(e,t,n){const r=xt(`${Et.baseUrl}${e}`);return st.put(r,t,n)}function Ft(e,t,n){const r=`${n}.${Et.tenantId}`;t=t||{secure:"live"===Et.mode,sameSite:"Lax"},"refresh"===n&&(t.sameSite="Strict"),Ot.set(r,e,t)}function qt(e){let t,n;try{const e=window.location.pathname,r=window.location.hostname,o=r.split(".").slice(-2).join(".");t=[void 0,e,"/"],n=[void 0,r,`.${r}`,o,`.${o}`]}catch(e){t=[void 0,"/"],n=[void 0]}t.map((t=>{n.map((n=>{const r={};n&&(r.domain=n),t&&(r.path=t),Ot.remove(e,r)}))}))}function It(){qt(Et.tokens.accessTokenName),qt(Et.tokens.idTokenName),qt(Et.tokens.refreshTokenName),Et.tokens.accessToken=void 0,Et.tokens.idToken=void 0,Et.tokens.refreshToken=void 0,function(){for(const e in Et.user)"function"!=typeof Et.user[e]&&delete Et.user[e]}()}function Lt(){return!!Gt.firstFactorToken}function Bt(){return Gt.firstFactorToken?{authorization:`Bearer ${Gt.firstFactorToken}`}:{}}function Dt(){Gt.secondFactors=[],Gt.firstFactorToken=null}async function Mt(){try{return!!tn()||!!Ut(Et.tokens.refreshToken)&&(await Yt(),tn())}catch(e){return!1}}async function $t(){return{isLoggedIn:await Mt(),needsSecondFactor:Lt(),firstFactors:Gt.firstFactors,secondFactors:Gt.secondFactors,resetMfaState:Dt}}const zt={codeChallenge:"",get usePkce(){return!!zt.codeChallenge}};function Jt(){Ct()&&(window.localStorage.removeItem("uf_pkce_code_challenge"),window.localStorage.removeItem("uf_pkce_code_challenge_expiresAt"))}function Wt(){if(!Ct())return;const e=Kt("code_challenge");if(e)return zt.codeChallenge=e,function(e){if(!Ct())return;if(!e)return Jt();zt.codeChallenge=e;const t=Date.now()+3e5;try{window.localStorage.setItem("uf_pkce_code_challenge",e),window.localStorage.setItem("uf_pkce_code_challenge_expiresAt",t)}catch(e){}}(e),!0;const t=function(){if(!Ct())return;const e=window.localStorage.getItem("uf_pkce_code_challenge");if(e){const t=window.localStorage.getItem("uf_pkce_code_challenge_expiresAt");if(t&&parseInt(t,10)>Date.now())return e}}();return t?(zt.codeChallenge=t,!0):(Jt(),!1)}function Ht(){return zt.usePkce?{code_challenge:zt.codeChallenge}:{}}function Kt(e){if("object"==typeof window&&"object"==typeof window.location&&window.location.href&&!(window.location.href.indexOf(`${e}=`)<0))return decodeURIComponent(window.location.href.split(`${e}=`)[1].split("&")[0])}const Vt=(e,t)=>{if(!1===e)return;if(!0===e){return void Xt(Kt("redirect")||t.redirectTo||"/")}Xt(e||Kt("redirect")||t.redirectTo||"/")};function Xt(e){if(!e||"object"!=typeof document||"object"!=typeof window)return;try{document&&window}catch(e){return}const t=document.createElement("a");t.href=e;let n=`${t.pathname}${t.hash}${t.search}`;t.pathname!==window.location.pathname&&window.location.assign(n)}const Gt={firstFactors:[],secondFactors:[],firstFactorToken:null};function Qt(e){Ft(e.access.value,e.access.cookieOptions,"access"),Ft(e.id.value,e.id.cookieOptions,"id"),e.refresh&&e.refresh.value&&Ft(e.refresh.value,e.refresh.cookieOptions,"refresh"),en()}async function Zt({data:e,redirect:t,handleUpstreamResponse:n,handleMfaRequired:r,handlePkceRequired:o,handleTokens:s,handleRedirect:a}){let i=t||Kt("redirect")||e.redirectTo||"/";if("function"==typeof n&&await n(e.upstreamResponse,e),e.hasOwnProperty("firstFactorToken"))return"function"==typeof r?await r(e.firstFactorToken,e):function(e,t){t.isMfaRequired?(Gt.firstFactorToken=e,Gt.secondFactors=t.authentication.secondFactors):"OK"===t.message&&Dt()}(e.firstFactorToken,e),e;if(e.hasOwnProperty("tokens")&&("function"==typeof s?await s(e.tokens,e):await async function(e){Qt(e)}(e.tokens)),e.hasOwnProperty("authorizationCode")){if(!i)throw new Error("Missing PKCE redirect url");if("function"!=typeof o)return function(e,t){if(!t||!e)return;zt.usePkce||console.warn("Redirecting with a PKCE authorization code, but no PKCE challenge code is present in the client. This is unexpected.");const n=new URL(t);n.searchParams.set("authorization_code",e),Jt(),window.location.assign(n.href)}(e.authorizationCode,i),e;await o(e.authorizationCode,i,e)}return e.hasOwnProperty("redirectTo")&&!1!==t&&("function"==typeof a?await a(i,e):Vt(i,e)),e}async function Yt(){try{await async function(){const e=Ot.get(Et.tokens.refreshTokenName);try{const{data:t,status:n}=await Nt("/auth/refresh",{headers:{authorization:`Bearer ${e}`}});if(200!==n)throw new Error(t.message||"Problem with request");if(t.tokens)return Qt(t.tokens),t;throw new Error("Problem setting cookies")}catch(e){Pt(e)}}()}catch(e){console.warn(`Refresh failed: ${e.message}`)}}function en(){["access","id","refresh"].map((e=>{try{const t=Ot.get(Et.tokens[`${e}TokenName`]);Et.tokens[`${e}Token`]=t,"id"===e&&t&&function(){if(!Et.tokens.idToken)return console.warn("Cannot define user: missing ID token");Et.user=Et.user||{};const e=St(Et.tokens.idToken),t=["email","phoneNumber","username","name","image","data","createdAt","updatedAt","mode","userId","userUuid","tenantId","isEmailConfirmed","isPhoneNumberConfirmed","confirmedEmailAt","confirmedPhoneNumberAt","isMfaRequired","isConfirmed"];for(const n of t){if("update"===n)return;Et.user[n]=e[n]}}()}catch(t){console.warn(`Problem setting ${e} token.`)}}))}function tn(){return Ut(Et.tokens.accessToken)}Et.tokens=Et.tokens||{},Et.tokens.refresh=Yt;const nn=Et.tokens;async function rn({method:e,password:t,existingPassword:n,uuid:r,token:o,redirect:s,handleUpstreamResponse:a,handleMfaRequired:i,handlePkceRequired:c,handleTokens:u,handleRedirect:d}){switch(e){case"link":return sn({uuid:r,token:o,password:t,redirect:s,handleUpstreamResponse:a,handleMfaRequired:i,handlePkceRequired:c,handleTokens:u,handleRedirect:d});case"jwt":return an({password:t,existingPassword:n});default:if(o=o||Kt("token"),(r=r||Kt("uuid"))&&o)return sn({uuid:r,token:o,password:t,redirect:s,handleUpstreamResponse:a,handleMfaRequired:i,handlePkceRequired:c,handleTokens:u,handleRedirect:d});if(Et.tokens.accessToken)return an({password:t,existingPassword:n});throw new Error("updatePassword() was called without link credentials (token & uuid) or a JWT access token.")}}const on=rn;async function sn({uuid:e,token:t,password:n,redirect:r,handleUpstreamResponse:o,handleMfaRequired:s,handlePkceRequired:a,handleTokens:i,handleRedirect:c}){try{if(t=t||Kt("token"),e=e||Kt("uuid"),!t||!e)throw new Error("Missing token or uuid");const{tenantId:u}=Et,{data:d}=await jt(`/tenants/${u}/auth/reset`,{uuid:e,token:t,password:n});return Zt({data:d,redirect:r,handleUpstreamResponse:o,handleMfaRequired:s,handlePkceRequired:a,handleTokens:i,handleRedirect:c})}catch(e){Pt(e)}}async function an({password:e,existingPassword:t}){try{if(!Et.tokens.accessToken)throw new Error('updatePassword({ method: "jwt" }) was called without a JWT access token.');const{tenantId:n}=Et,{data:r}=await jt(`/tenants/${n}/auth/basic`,{password:e,existingPassword:t},{headers:{Authorization:`Bearer ${Et.tokens.accessToken}`}});return r}catch(e){Pt(e)}}function cn({provider:e,redirect:t,providerId:n}){const r=function({provider:e,redirect:t,providerId:n}){if(!e)throw new Error("Missing provider");if(!Et.tenantId)throw new Error("Missing tenantId");if("custom"===e&&!n)throw new Error("Missing providerId");const r=new URL(`${Et.baseUrl}auth/${e}/login`);r.searchParams.append("origin",window.location.origin),r.searchParams.append("tenant_id",Et.tenantId),"custom"===e&&r.searchParams.append("provider_id",n);let o=t||Kt("redirect");return!1===t&&(o="object"==typeof document&&document.location.pathname),o&&r.searchParams.append("redirect",o),r.toString()}({provider:e,redirect:t,providerId:n});window.location.assign(r)}async function un({email:e,name:t,username:n,userData:r,options:o}){try{const{tenantId:s}=Et,{data:a}=await _t(`/tenants/${s}/auth/link`,{email:e,name:t,username:n,data:r,options:o});return a}catch(e){Pt(e)}}function dn({channel:e,phoneNumber:t,email:n}){if("sms"!==e&&"email"!==e)throw new Error("Invalid channel");if(!Lt()){if("sms"===e&&!t)throw new Error('SMS verification code requires "phoneNumber"');if("email"===e&&!n)throw new Error('Email verification code requires "email"')}}async function ln({channel:e="sms",phoneNumber:t,email:n,name:r,username:o,data:s}){try{dn({channel:e,phoneNumber:t,email:n});const{tenantId:a}=Et,{data:i}=await _t(`/tenants/${a}/auth/code`,{channel:e,email:n,phoneNumber:t,name:r,username:o,data:s},{headers:Bt()});return i}catch(e){Pt(e)}}const fn=/((^127\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^192\.168\.))\d{1,3}\.\d{1,3}/g,hn={value:"live",reason:void 0,setMode:pn};async function pn(){try{const{data:t}=await Nt(`/tenants/${Et.tenantId}/mode`);return hn.value=t.mode||"test",hn.reason=wn(hn.value),Et.mode=hn.value,e=t.authentication,Et.tenantId?e&&"object"==typeof e&&Array.isArray(e.firstFactors)?Gt.firstFactors=e.firstFactors:console.warn("setFirstFactors: invalid factors passed."):console.warn("setFirstFactors: tried to set factors without a tenantId set."),t}catch(e){hn.value="test",Et.mode=hn.value}var e}function mn(){const e=function(e){try{const t=e||window.location.hostname;return!(!t.match(/localhost/g)&&!t.match(fn))}catch(e){return!0}}()||!function(){try{return"https:"===window.location.protocol}catch(e){return!1}}()?"test":"live";hn.value=e,hn.reason=wn(e),Et.mode=e}function wn(e){try{return"live"===e?"domain":"http:"===window.location.protocol?"http":"https:"!==window.location.protocol?"protocol":"domain"}catch(e){}}mn(),Et.user.update=async function(e){return!e||Object.keys(e).length<1?console.warn("Missing user properties to update"):(await jt("/self",e,{headers:{authorization:`Bearer ${Et.tokens.accessToken}`}}),await Yt(),Et.user)},Et.user.hasRole=function(e,{tenantId:t}={}){try{if(!Et.tokens.accessToken||!Et.tenantId)return!1;const{authorization:n}=St(Et.tokens.accessToken);return!!n&&(!(!n[t=t||Et.tenantId]||!n[t].roles)&&n[t].roles.indexOf(e)>-1)}catch(e){return!1}},Et.user.updatePassword=rn,Et.user.getTotp=async function(){try{if(Lt()){const{data:e}=await Nt("/auth/totp",{headers:Bt()});return e}if(!Et.tokens.accessToken)throw new Error("getTotp() was called without a JWT access token.");const{data:e}=await Nt("/auth/totp",{headers:{Authorization:`Bearer ${Et.tokens.accessToken}`}});return e}catch(e){Pt(e)}};let yn=[];let gn=!1;var bn={addInitCallback:function(e){e&&"function"==typeof e&&yn.push(e)},init:function(e,t={}){if(!e)return console.warn("Userfront initialized without tenantId");if("undefined"!=typeof window||t.supressNodeWarning||console.warn("`window` is not found. Is Userfront core.js running from a browser? If not running from a browser, you will need to explicitly set `axios.defaults.headers.common['Origin']` for API calls. To disable this warning init core.js with `{ supressNodeWarning: true }`"),Et.tenantId=e,Et.baseUrl=t.baseUrl||t.options?.baseUrl||"https://api.userfront.com/v0/",Et.baseUrl.endsWith("/")||(Et.baseUrl+="/"),t.domain){Et.domain=t.domain;const e=`https://${Et.domain}`;st.defaults.headers.common["x-application-id"]=e,st.defaults.headers.common["x-origin"]=e}st.defaults.headers.common["x-userfront-source"]="core-js",t.userfrontSource&&(st.defaults.headers.common["x-userfront-source"]=t.userfrontSource),Et.tokens=Et.tokens||{},Et.tokens.accessTokenName=`access.${Et.tenantId}`,Et.tokens.idTokenName=`id.${Et.tenantId}`,Et.tokens.refreshTokenName=`refresh.${Et.tenantId}`,en(),mn(),Dt(),Gt.firstFactors=[];try{yn.length>0&&yn.forEach((t=>{t&&"function"==typeof t&&t({tenantId:e})})),yn=[]}catch(e){}},registerUrlChangedEventListener:function(){if(!gn){gn=!0;try{history.pushState=(e=history.pushState,function(){var t=e.apply(this,arguments);return window.dispatchEvent(new Event("pushstate")),window.dispatchEvent(new Event("urlchanged")),t}),history.replaceState=(e=>function(){var t=e.apply(this,arguments);return window.dispatchEvent(new Event("replacestate")),window.dispatchEvent(new Event("urlchanged")),t})(history.replaceState),window.addEventListener("popstate",(()=>{window.dispatchEvent(new Event("urlchanged"))}))}catch(e){}var e}},logout:async function({method:e,redirect:t}={}){if("saml"===e)return async function(){if(!Et.tokens.accessToken)throw new Error("Please log in to authorize your logout request.");try{const{data:e}=await Nt("/auth/saml/idp/token",{headers:{authorization:`Bearer ${Et.tokens.accessToken}`}});window.location.assign(`${Et.baseUrl}auth/saml/idp/logout?tenant_id=${Et.tenantId}&token=${e.token}&uuid=${Et.user.u