1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`ec73c1400cf46ee02e0658b9b9b034c6e6887193-0417cea9-dda7-45e1-b788-17a13357fcb3-build-30321`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`c8a331ff-ab71-45fa-aec2-79353e5f698f`,e._sentryDebugIdIdentifier=`sentry-dbid-c8a331ff-ab71-45fa-aec2-79353e5f698f`)}catch{}})();import{D as e,at as t,ft as n,it as r,mt as i,w as a}from"./DXQmQWn0.js";var o=Error.captureStackTrace,s=class e extends Error{name;code;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.code=this.name=t.code,this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,o?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function c(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function l(e={}){let{docsBase:t,reporters:n=[]}=e;return new Proxy({},{get(e,r){if(typeof r!=`string`)return;let i=(e={},a={})=>{let o=c(t,r),l=new s({code:r,why:o??``,docs:o,cause:e.cause,sources:e.sources},i);for(let e of n)e(l,a);return l};return i}})}function u(e){return`https://nuxt.com/docs/4.x/errors/${e.replace(`NUXT_`,``).toLowerCase()}`}var d=[e=>{console.error(`[${e.name}]`)}],f=l({docsBase:u,reporters:d});function p(e,t={},n){for(let r in e){let i=e[r],a=n?`${n}:${r}`:r;typeof i==`object`&&i?p(i,t,a):typeof i==`function`&&(t[a]=i)}return t}var m=(()=>{if(console.createTask)return console.createTask;let e={run:e=>e()};return()=>e})();function h(e,t,n,r){for(let i=n;i<e.length;i+=1)try{let n=r?r.run(()=>e[i](...t)):e[i](...t);if(n&&typeof n.then==`function`)return Promise.resolve(n).then(()=>h(e,t,i+1,r))}catch(e){return Promise.reject(e)}}function g(e,t,n){if(e.length>0)return h(e,t,0,m(n))}function _(e,t,n){if(e.length>0){let r=m(n);return Promise.all(e.map(e=>r.run(()=>e(...t))))}}function v(e,t){for(let n of[...e])n(t)}var y=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!=`function`)return()=>{};let r=e,i;for(;this._deprecatedHooks[e];)i=this._deprecatedHooks[e],e=i.to;if(i&&!n.allowDeprecated){let e=i.message;e||=`${r} hook has been deprecated`+(i.to?`, please use ${i.to}`:``),this._deprecatedMessages||=new Set,this._deprecatedMessages.has(e)||(console.warn(e),this._deprecatedMessages.add(e))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>`_`+e.replace(/\W+/g,`_`)+`_hook_cb`,configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)}}hookOnce(e,t){let n,r=(...e)=>(typeof n==`function`&&n(),n=void 0,r=void 0,t(...e));return n=this.hook(e,r),n}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t==`string`?{to:t}:t;let n=this._hooks[e]||[];this._hooks[e]=void 0;for(let t of n)this.hook(e,t)}deprecateHooks(e){for(let t in e)this.deprecateHook(t,e[t])}addHooks(e){let t=p(e),n=Object.keys(t).map(e=>this.hook(e,t[e]));return()=>{for(let e of n)e();n.length=0}}removeHooks(e){let t=p(e);for(let e in t)this.removeHook(e,t[e])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(g,e,t)}callHookParallel(e,...t){return this.callHookWith(_,e,t)}callHookWith(e,t,n){let r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&v(this._before,r);let i=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return i instanceof Promise?i.finally(()=>{this._after&&r&&v(this._after,r)}):(this._after&&r&&v(this._after,r),i)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){let t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){let t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function b(){return new y}var x=class{_hooks;constructor(){this._hooks={}}hook(e,t){return!e||typeof t!=`function`?()=>{}:(this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&=(this.removeHook(e,t),void 0)})}removeHook(e,t){let n=this._hooks[e];if(n){let r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}callHook(e,...t){let n=this._hooks[e];if(n&&n.length!==0)return h(n,t,0)}};function S(){return globalThis.AsyncLocalStorage||globalThis.process?.getBuiltinModule?.(`node:async_hooks`)?.AsyncLocalStorage}function C(e={}){let t,n=!1,r=e=>{if(t&&t!==e)throw Error(`Context conflict`)},i;if(e.asyncContext){let t=e.AsyncLocalStorage||S();t?i=new t:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}let a=e=>i&&typeof e==`object`&&e?{__unctx_weak:new WeakRef(e)}:e,o=e=>e&&e.__unctx_weak?e.__unctx_weak.deref():e,s=()=>
1{if(i){let e=i.getStore();if(e!==void 0)return o(e)}return t};return{use:()=>{let e=s();if(e===void 0)throw Error(`Context is not available`);return e},tryUse:()=>s(),set:(e,i)=>{i||r(e),t=e,n=!0},unset:()=>{t=void 0,n=!1},call:(e,o)=>{r(e),t=e;try{return i?i.run(a(e),o):o()}finally{n||(t=void 0)}},async callAsync(e,r){t=e;let o=()=>{t=e},s=()=>t===e?o:void 0;A.add(s);try{let o=i?i.run(a(e),r):r();return n||(t=void 0),await o}finally{A.delete(s)}}}}function w(e={}){let t={};return{get(n,r={}){return t[n]||(t[n]=C({...e,...r})),t[n]}}}var T=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof global<`u`?global:typeof window<`u`?window:{},E=`__unctx__`,D=T[E]||(T[E]=w()),O=(e,t={})=>D.get(e,t),k=`__unctx_async_handlers__`,A=T[k]||(T[k]=new Set);function j(e){let t=[];for(let e of A){let n=e();n&&t.push(n)}let n=()=>{for(let e of t)e()},r=e();return r&&typeof r==`object`&&`catch`in r&&(r=r.catch(e=>{throw n(),e})),[r,n]}var M={meta:[{charset:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{key:`description`,name:`description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{key:`version`,name:`version`,content:`ec73c1400cf46ee02e0658b9b9b034c6e6887193-0417cea9-dda7-45e1-b788-17a13357fcb3-build-30321`},{key:`isproduction`,name:`isproduction`,content:!0},{property:`og:type`,content:`website`},{property:`og:site_name`,content:`MailSlurp`},{property:`og:title`,content:`MailSlurp â Build, test, and automate email`},{property:`og:description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{property:`og:image`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{property:`og:image:secure_url`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{property:`og:image:type`,content:`image/png`},{property:`og:image:width`,content:`1200`},{property:`og:image:height`,content:`630`},{property:`og:image:alt`,content:`MailSlurp â Build, test, and automate email with confidence.`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:`MailSlurp â Build, test, and automate email`},{name:`twitter:description`,content:`Build, test, and automate email with confidence. Create real inboxes, inspect messages, and verify delivery from one API.`},{name:`twitter:image`,content:`https://app.mailslurp.com/assets/social/mailslurp-og-v2.png`},{name:`theme-color`,content:`#079669`}],link:[{rel:`icon`,type:`image/x-icon`,href:`/favicon.ico`},{rel:`preconnect`,href:`https://auth.mailslurp.com`,crossorigin:`anonymous`},{rel:`preconnect`,href:`https://api.mailslurp.com`,crossorigin:`anonymous`},{rel:`dns-prefetch`,href:`//enterprise.mailslurp.com`},{rel:`dns-prefetch`,href:`//checkout.stripe.com`},{rel:`dns-prefetch`,href:`//billing.stripe.com`}],style:[],script:[{id:`auth-callback-preserve`,innerHTML:`(() => { 2 try { 3 const storageKey = "ms:auth-callback-search"; 4 const windowKey = "__msAuthCallbackSearch"; 5 const traceKey = "ms:auth-trace"; 6 const prefixes = ["/auth/complete","/auth/saml","/auth/oidc","/login","/sso","/verify","/organization","/organizations","/upgrade/callback"]; 7 const sensitiveKeys = new Set( 8 ["token","apiaccesstokenkey","access_token","refreshtoken","refresh_token","id_token","code","authorizationcode","state","samlresponse","assertion","admingranttoken","email","emailaddress","password","newpassword","confirmpassword"] 9 ); 10 const maxTraceEntries = 250; 11 const normalizePathname = (pathname = '') => 12 pathname.length > 1 ? pathname.replace(/\\/+$/, '') || '/' : pathname || '/'; 13 const authCompletePath = normalizePathname("/auth/complete/"); 14 const redactSearch = (search = '') => { 15 if (!search) { 16 return ''; 17 } 18 const params = new URLSearchParams(search.startsWith('?') ? search.slice(1) : search); 19 for (const key of Array.from(params.keys())) { 20 if (sensitiveKeys.has(key.toLowerCase())) { 21 params.set(key, '[REDACTED]'); 22 } 23 } 24 const nextSearch = params.toString(); 25 return nextSearch ? '?' + nextSearch : ''; 26 }; 27 const redactHash = (hash = '') => { 28 if (!hash) { 29 return ''; 30 } 31 const params = new URLSearchParams(hash.startsWith('#') ? hash.slice(1) : hash); 32 for (const key of Array.from(params.keys())) { 33 if (sensitiveKeys.has(key.toLowerCase())) { 34 params.set(key, '[REDACTED]'); 35 } 36 } 37 const nextHash = params.toString(); 38 return nextHash ? '#' + nextHash : ''; 39 }; 40 const redactHref = (href) => { 41 if (!href) { 42 return href; 43 }
44 try { 45 const url = new URL(String(href), window.location.origin); 46 url.search = redactSearch(url.search); 47 url.hash = redactHash(url.hash); 48 return url.toString(); 49 } catch { 50 return String(href); 51 } 52 }; 53 const appendTrace = (event, payload = {}) => { 54 try { 55 const entry = { 56 event, 57 at: new Date().toISOString(), 58 href: redactHref(window.location.href), 59 path: window.location.pathname || '', 60 search: redactSearch(window.location.search || ''), 61 hash: redactHash(window.location.hash || ''), 62 readyState: document.readyState, 63 visibilityState: document.visibilityState, 64 historyLength: window.history.length, 65 ...payload, 66 }; 67 const existing = JSON.parse(sessionStorage.getItem(traceKey) || '[]'); 68 const nextEntries = [...existing.slice(-(maxTraceEntries - 1)), entry]; 69 sessionStorage.setItem(traceKey, JSON.stringify(nextEntries)); 70 window.__MS_AUTH_TRACE__ = nextEntries; 71 console.info('[auth-trace] ' + event, entry); 72 } catch { 73 // Ignore auth trace persistence failures and continue with console logs. 74 } 75 }; 76 const isAuthCallbackPath = (pathname = '') => { 77 const normalizedPath = normalizePathname(pathname); 78 return prefixes.some( 79 (prefix) => 80 normalizedPath === prefix || normalizedPath.startsWith(prefix + '/'), 81 ); 82 }; 83 const authCompleteHashToSearch = (pathname = '', hash = '') => { 84 if (!hash || normalizePathname(pathname) !== authCompletePath) { 85 return ''; 86 } 87 const params = new URLSearchParams(hash.startsWith('#') ? hash.slice(1) : hash); 88 if (!params.has('authHandoff') && !params.has('returnTo')) { 89 return ''; 90 } 91 const nextSearch = params.toString(); 92 return nextSearch ? '?' + nextSearch : ''; 93 }; 94 const persistSearch = (urlLike) => { 95 if (!urlLike) { 96 return; 97 } 98 try { 99 const url = new URL(String(urlLike), window.location.origin); 100 const path = normalizePathname(url.pathname || window.location.pathname || ''); 101 const search = url.search || authCompleteHashToSearch(path, url.hash || ''); 102 if (!isAuthCallbackPath(path) || !search) { 103 return; 104 } 105 const payload = { 106 path, 107 search, 108 href: url.toString(), 109 capturedAt: Date.now(), 110 }; 111 window[windowKey] = payload; 112 sessionStorage.setItem(storageKey, JSON.stringify(payload)); 113 appendTrace('auth-callback-preserve-captured', { 114 callbackPath: path, 115 callbackSearch: redactSearch(search), 116 callbackHref: redactHref(payload.href), 117 }); 118 console.info('[auth-callback-preserve] captured', { 119 path, 120 search: redactSearch(search), 121 href: redactHref(payload.href), 122 }); 123 } catch { 124 // Ignore callback preservation failures for malformed intermediate URLs. 125 } 126 }; 127 const normalizeAuthCallbackUrl = () => { 128 try { 129 const currentUrl = new URL(window.location.href); 130 const path = currentUrl.pathname || window.location.pathname || ''; 131 const normalizedPath = normalizePathname(path); 132 const search = 133 currentUrl.search || 134 authCompleteHashToSearch(normalizedPath, currentUrl.hash || ''); 135 const shouldStripAuthCompleteHash = 136 normalizedPath === authCompletePath && !!currentUrl.hash; 137 if ( 138 !isAuthCallbackPath(path) || 139 (!search && !shouldStripAuthCompleteHash) || 140 (!shouldStripAuthCompleteHash && normalizedPath === path) 141 ) { 142 return; 143 } 144 const normalizedHref = 145 normalizedPath + 146 currentUrl.search + 147 (shouldStripAuthCompleteHash ? '' : currentUrl.hash || ''); 148 appendTrace('auth-callback-preserve-normalizing', { 149 fromPath: path, 150 toPath: normalizedPath, 151 callbackSearch: redactSearch(search), 152 }); 153 console.info('[auth-callback-preserve] normalizing', { 154 fromPath: path, 155 toPath: normalizedPath, 156 search: redactSearch(search), 157 }); 158 history.replaceState(history.state, document.title, normalizedHref); 159 } catch { 160 // Ignore early URL normalization failures and continue with the live URL. 161 } 162 }; 163 const wrapHistoryMethod = (method) => { 164 const original = history[method]; 165 if (typeof original !== 'function') { 166 return; 167 } 168 history[method] = function () { 169 persistSearch(window.location.href); 170 persistSearch(arguments[2]); 171 return original.apply(this, arguments); 172 }; 173 }; 174 persistSearch(window.location.href); 175 normalizeAuthCallbackUrl(); 176 persistSearch(window.location.href); 177 wrapHistoryMethod('replaceState'); 178 wrapHistoryMethod('pushState'); 179 window.addEventListener( 180 'popstate', 181 () => { 182 persistSearch(window.location.href); 183 }, 184 { passive: true }, 185 ); 186 } catch {
187 // Ignore callback preservation failures during initial page boot. 188 } 189 })();`,tagPosition:`head`}],noscript:[],htmlAttrs:{lang:`en`},title:`MailSlurp â Email testing infrastructure`},N={id:`__nuxt-loader`},P={prefetch:!0,prefetchOn:{interaction:!0,visibility:!1},componentName:`NuxtLink`},F={deep:!1},I={},L=`#__nuxt`,R=`nuxt-app`,z=36e5,B=`vite:preloadError`;function V(e=`nuxt-app`){return O(e,{asyncContext:!1})}var H=`__nuxt_plugin`;function U(e){let a=0,o={_id:e.id||`nuxt-app`,_scope:r(),provide:void 0,versions:{get nuxt(){return`4.5.2`},get vue(){return o.vueApp.version}},payload:i({...e.ssrContext?.payload||{},data:i({}),state:n({}),once:new Set,_errors:i({})}),static:{data:{}},runWithContext(e){return o._scope.active&&!t()?o._scope.run(()=>Y(o,e)):Y(o,e)},isHydrating:!0,deferHydration(){if(!o.isHydrating)return()=>{};a++;let e=!1;return()=>{if(!e&&(e=!0,a--,a===0))return o.isHydrating=!1,o.callHook(`app:suspense:resolve`)}},_asyncDataPromises:{},_asyncData:i({}),_state:i({}),_payloadRevivers:{},...e};{let e=window.__NUXT__;if(e)for(let t in e)switch(t){case`data`:case`state`:case`_errors`:Object.assign(o.payload[t],e[t]);break;default:o.payload[t]=e[t]}}o.hooks=b(),o.hook=o.hooks.hook;{let e=o.hooks.callHook;o.hooks.callHook=(t,...n)=>Promise.resolve().then(()=>e(t,...n))}o.callHook=o.hooks.callHook,o.provide=(e,t)=>{let n=`$`+e;$(o,n,t),$(o.vueApp.config.globalProperties,n,t)},$(o.vueApp,`$nuxt`,o),$(o.vueApp.config.globalProperties,`$nuxt`,o);{window.addEventListener(B,e=>{o.callHook(`app:chunkError`,{error:e.payload}),e.payload?.message?.includes(`Unable to preload CSS`)&&e.preventDefault()}),window.useNuxtApp||=Z;let e=o.hook(`app:error`,(...e)=>{f.NUXT_E1005({cause:e.length>1?e:e[0]})});o.hook(`app:mounted`,e)}let s=o.payload.config;return o.provide(`config`,s),o}function W(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function G(e,t){if(typeof t==`function`){let{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n==`object`)for(let t in n)e.provide(t,n[t])}}async function K(e,t){let n;for(let n of t)W(e,n);for(let r of t)try{await G(e,r)}catch(t){if(!e.payload.error)throw t;n||=t}if(n)throw e.payload.error||n}function q(e){if(typeof e==`function`)return e;let t=e._name||e.name;return delete e.name,Object.assign(e.setup||(()=>{}),e,{[H]:!0,_name:t})}var J=q;function Y(e,t,n){return V(e._id).set(e),e.vueApp.runWithContext(()=>n?t(...n):t())}function X(t){let n;return e()&&(n=a()?.appContext.app.$nuxt),n||=V(t).tryUse(),n||null}function Z(e){let t=X(e);if(!t)throw f.NUXT_E1001();return t}function Q(e){return Z().$config}function $(e,t,n){Object.defineProperty(e,t,{get:()=>n})}export{f as _,Z as a,l as b,R as c,I as d,P as f,x as g,j as h,J as i,N as l,L as m,U as n,Q as o,z as p,q as r,M as s,K as t,F as u,u as v,d as y};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.