metal-presale
Version:
SDK for Metal Presales - Client and Server utilities
1,440 lines (1,438 loc) • 153 kB
JavaScript
import { MetalPresalesServer as Hr } from "./server-sdk.js";
var ke = { exports: {} }, He = {}, Xe = {}, $e = {}, Lt;
function Xr() {
return Lt || (Lt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "detectDomainLocale", {
enumerable: !0,
get: function() {
return o;
}
});
function o(h, f, s) {
if (h) {
s && (s = s.toLowerCase());
for (const t of h) {
var d, a;
const l = (d = t.domain) == null ? void 0 : d.split(":", 1)[0].toLowerCase();
if (f === l || s === t.defaultLocale.toLowerCase() || (a = t.locales) != null && a.some((E) => E.toLowerCase() === s))
return t;
}
}
}
}($e)), $e;
}
var Fe = {}, Ge = {}, Mt;
function $r() {
return Mt || (Mt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "removeTrailingSlash", {
enumerable: !0,
get: function() {
return o;
}
});
function o(h) {
return h.replace(/\/$/, "") || "/";
}
}(Ge)), Ge;
}
var Be = {}, We = {}, qt;
function Ct() {
return qt || (qt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "parsePath", {
enumerable: !0,
get: function() {
return o;
}
});
function o(h) {
const f = h.indexOf("#"), s = h.indexOf("?"), d = s > -1 && (f < 0 || s < f);
return d || f > -1 ? {
pathname: h.substring(0, d ? s : f),
query: d ? h.substring(s, f > -1 ? f : void 0) : "",
hash: f > -1 ? h.slice(f) : ""
} : {
pathname: h,
query: "",
hash: ""
};
}
}(We)), We;
}
var Ut;
function Dr() {
return Ut || (Ut = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "addPathPrefix", {
enumerable: !0,
get: function() {
return h;
}
});
const o = Ct();
function h(f, s) {
if (!f.startsWith("/") || !s)
return f;
const { pathname: d, query: a, hash: t } = (0, o.parsePath)(f);
return "" + s + d + a + t;
}
}(Be)), Be;
}
var Ye = {}, Ht;
function Fr() {
return Ht || (Ht = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "addPathSuffix", {
enumerable: !0,
get: function() {
return h;
}
});
const o = Ct();
function h(f, s) {
if (!f.startsWith("/") || !s)
return f;
const { pathname: d, query: a, hash: t } = (0, o.parsePath)(f);
return "" + d + s + a + t;
}
}(Ye)), Ye;
}
var ze = {}, Ve = {}, Xt;
function It() {
return Xt || (Xt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "pathHasPrefix", {
enumerable: !0,
get: function() {
return h;
}
});
const o = Ct();
function h(f, s) {
if (typeof f != "string")
return !1;
const { pathname: d } = (0, o.parsePath)(f);
return d === s || d.startsWith(s + "/");
}
}(Ve)), Ve;
}
var $t;
function Gr() {
return $t || ($t = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "addLocale", {
enumerable: !0,
get: function() {
return f;
}
});
const o = Dr(), h = It();
function f(s, d, a, t) {
if (!d || d === a) return s;
const l = s.toLowerCase();
return !t && ((0, h.pathHasPrefix)(l, "/api") || (0, h.pathHasPrefix)(l, "/" + d.toLowerCase())) ? s : (0, o.addPathPrefix)(s, "/" + d);
}
}(ze)), ze;
}
var Ft;
function Br() {
return Ft || (Ft = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "formatNextPathnameInfo", {
enumerable: !0,
get: function() {
return d;
}
});
const o = $r(), h = Dr(), f = Fr(), s = Gr();
function d(a) {
let t = (0, s.addLocale)(a.pathname, a.locale, a.buildId ? void 0 : a.defaultLocale, a.ignorePrefix);
return (a.buildId || !a.trailingSlash) && (t = (0, o.removeTrailingSlash)(t)), a.buildId && (t = (0, f.addPathSuffix)((0, h.addPathPrefix)(t, "/_next/data/" + a.buildId), a.pathname === "/" ? "index.json" : ".json")), t = (0, h.addPathPrefix)(t, a.basePath), !a.buildId && a.trailingSlash ? t.endsWith("/") ? t : (0, f.addPathSuffix)(t, "/") : (0, o.removeTrailingSlash)(t);
}
}(Fe)), Fe;
}
var Ke = {}, Gt;
function Wr() {
return Gt || (Gt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "getHostname", {
enumerable: !0,
get: function() {
return o;
}
});
function o(h, f) {
let s;
if (f != null && f.host && !Array.isArray(f.host))
s = f.host.toString().split(":", 1)[0];
else if (h.hostname)
s = h.hostname;
else return;
return s.toLowerCase();
}
}(Ke)), Ke;
}
var Qe = {}, Ze = {}, Bt;
function Yr() {
return Bt || (Bt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "normalizeLocalePath", {
enumerable: !0,
get: function() {
return h;
}
});
const o = /* @__PURE__ */ new WeakMap();
function h(f, s) {
if (!s) return {
pathname: f
};
let d = o.get(s);
d || (d = s.map((u) => u.toLowerCase()), o.set(s, d));
let a;
const t = f.split("/", 2);
if (!t[1]) return {
pathname: f
};
const l = t[1].toLowerCase(), E = d.indexOf(l);
return E < 0 ? {
pathname: f
} : (a = s[E], f = f.slice(a.length + 1) || "/", {
pathname: f,
detectedLocale: a
});
}
}(Ze)), Ze;
}
var Je = {}, Wt;
function zr() {
return Wt || (Wt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "removePathPrefix", {
enumerable: !0,
get: function() {
return h;
}
});
const o = It();
function h(f, s) {
if (!(0, o.pathHasPrefix)(f, s))
return f;
const d = f.slice(s.length);
return d.startsWith("/") ? d : "/" + d;
}
}(Je)), Je;
}
var Yt;
function Vr() {
return Yt || (Yt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "getNextPathnameInfo", {
enumerable: !0,
get: function() {
return s;
}
});
const o = Yr(), h = zr(), f = It();
function s(d, a) {
var t;
const { basePath: l, i18n: E, trailingSlash: u } = (t = a.nextConfig) != null ? t : {}, m = {
pathname: d,
trailingSlash: d !== "/" ? d.endsWith("/") : u
};
l && (0, f.pathHasPrefix)(m.pathname, l) && (m.pathname = (0, h.removePathPrefix)(m.pathname, l), m.basePath = l);
let A = m.pathname;
if (m.pathname.startsWith("/_next/data/") && m.pathname.endsWith(".json")) {
const k = m.pathname.replace(/^\/_next\/data\//, "").replace(/\.json$/, "").split("/"), X = k[0];
m.buildId = X, A = k[1] !== "index" ? "/" + k.slice(1).join("/") : "/", a.parseData === !0 && (m.pathname = A);
}
if (E) {
let k = a.i18nProvider ? a.i18nProvider.analyze(m.pathname) : (0, o.normalizeLocalePath)(m.pathname, E.locales);
m.locale = k.detectedLocale;
var x;
m.pathname = (x = k.pathname) != null ? x : m.pathname, !k.detectedLocale && m.buildId && (k = a.i18nProvider ? a.i18nProvider.analyze(A) : (0, o.normalizeLocalePath)(A, E.locales), k.detectedLocale && (m.locale = k.detectedLocale));
}
return m;
}
}(Qe)), Qe;
}
var zt;
function kr() {
return zt || (zt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "NextURL", {
enumerable: !0,
get: function() {
return l;
}
});
const o = Xr(), h = Br(), f = Wr(), s = Vr(), d = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;
function a(E, u) {
return new URL(String(E).replace(d, "localhost"), u && String(u).replace(d, "localhost"));
}
const t = Symbol("NextURLInternal");
class l {
constructor(u, m, A) {
let x, k;
typeof m == "object" && "pathname" in m || typeof m == "string" ? (x = m, k = A || {}) : k = A || m || {}, this[t] = {
url: a(u, x ?? k.base),
options: k,
basePath: ""
}, this.analyze();
}
analyze() {
var u, m, A, x, k;
const X = (0, s.getNextPathnameInfo)(this[t].url.pathname, {
nextConfig: this[t].options.nextConfig,
parseData: !process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE,
i18nProvider: this[t].options.i18nProvider
}), p = (0, f.getHostname)(this[t].url, this[t].options.headers);
this[t].domainLocale = this[t].options.i18nProvider ? this[t].options.i18nProvider.detectDomainLocale(p) : (0, o.detectDomainLocale)((m = this[t].options.nextConfig) == null || (u = m.i18n) == null ? void 0 : u.domains, p);
const R = ((A = this[t].domainLocale) == null ? void 0 : A.defaultLocale) || ((k = this[t].options.nextConfig) == null || (x = k.i18n) == null ? void 0 : x.defaultLocale);
this[t].url.pathname = X.pathname, this[t].defaultLocale = R, this[t].basePath = X.basePath ?? "", this[t].buildId = X.buildId, this[t].locale = X.locale ?? R, this[t].trailingSlash = X.trailingSlash;
}
formatPathname() {
return (0, h.formatNextPathnameInfo)({
basePath: this[t].basePath,
buildId: this[t].buildId,
defaultLocale: this[t].options.forceLocale ? void 0 : this[t].defaultLocale,
locale: this[t].locale,
pathname: this[t].url.pathname,
trailingSlash: this[t].trailingSlash
});
}
formatSearch() {
return this[t].url.search;
}
get buildId() {
return this[t].buildId;
}
set buildId(u) {
this[t].buildId = u;
}
get locale() {
return this[t].locale ?? "";
}
set locale(u) {
var m, A;
if (!this[t].locale || !(!((A = this[t].options.nextConfig) == null || (m = A.i18n) == null) && m.locales.includes(u)))
throw Object.defineProperty(new TypeError(`The NextURL configuration includes no locale "${u}"`), "__NEXT_ERROR_CODE", {
value: "E597",
enumerable: !1,
configurable: !0
});
this[t].locale = u;
}
get defaultLocale() {
return this[t].defaultLocale;
}
get domainLocale() {
return this[t].domainLocale;
}
get searchParams() {
return this[t].url.searchParams;
}
get host() {
return this[t].url.host;
}
set host(u) {
this[t].url.host = u;
}
get hostname() {
return this[t].url.hostname;
}
set hostname(u) {
this[t].url.hostname = u;
}
get port() {
return this[t].url.port;
}
set port(u) {
this[t].url.port = u;
}
get protocol() {
return this[t].url.protocol;
}
set protocol(u) {
this[t].url.protocol = u;
}
get href() {
const u = this.formatPathname(), m = this.formatSearch();
return `${this.protocol}//${this.host}${u}${m}${this.hash}`;
}
set href(u) {
this[t].url = a(u), this.analyze();
}
get origin() {
return this[t].url.origin;
}
get pathname() {
return this[t].url.pathname;
}
set pathname(u) {
this[t].url.pathname = u;
}
get hash() {
return this[t].url.hash;
}
set hash(u) {
this[t].url.hash = u;
}
get search() {
return this[t].url.search;
}
set search(u) {
this[t].url.search = u;
}
get password() {
return this[t].url.password;
}
set password(u) {
this[t].url.password = u;
}
get username() {
return this[t].url.username;
}
set username(u) {
this[t].url.username = u;
}
get basePath() {
return this[t].basePath;
}
set basePath(u) {
this[t].basePath = u.startsWith("/") ? u : `/${u}`;
}
toString() {
return this.href;
}
toJSON() {
return this.href;
}
[Symbol.for("edge-runtime.inspect.custom")]() {
return {
href: this.href,
origin: this.origin,
protocol: this.protocol,
username: this.username,
password: this.password,
host: this.host,
hostname: this.hostname,
port: this.port,
pathname: this.pathname,
search: this.search,
searchParams: this.searchParams,
hash: this.hash
};
}
clone() {
return new l(String(this), this[t].options);
}
}
}(Xe)), Xe;
}
var et = {}, tt = {}, Vt;
function Kr() {
return Vt || (Vt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
});
function o(F, ge) {
for (var Ae in ge) Object.defineProperty(F, Ae, {
enumerable: !0,
get: ge[Ae]
});
}
o(c, {
ACTION_SUFFIX: function() {
return m;
},
APP_DIR_ALIAS: function() {
return ue;
},
CACHE_ONE_YEAR: function() {
return y;
},
DOT_NEXT_ALIAS: function() {
return ie;
},
ESLINT_DEFAULT_DIRS: function() {
return w;
},
GSP_NO_RETURNED_VALUE: function() {
return he;
},
GSSP_COMPONENT_MEMBER_ERROR: function() {
return ye;
},
GSSP_NO_RETURNED_VALUE: function() {
return ve;
},
INFINITE_CACHE: function() {
return P;
},
INSTRUMENTATION_HOOK_FILENAME: function() {
return W;
},
MATCHED_PATH_HEADER: function() {
return s;
},
MIDDLEWARE_FILENAME: function() {
return I;
},
MIDDLEWARE_LOCATION_REGEXP: function() {
return Q;
},
NEXT_BODY_SUFFIX: function() {
return k;
},
NEXT_CACHE_IMPLICIT_TAG_ID: function() {
return N;
},
NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {
return p;
},
NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {
return R;
},
NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {
return n;
},
NEXT_CACHE_TAGS_HEADER: function() {
return X;
},
NEXT_CACHE_TAG_MAX_ITEMS: function() {
return g;
},
NEXT_CACHE_TAG_MAX_LENGTH: function() {
return S;
},
NEXT_DATA_SUFFIX: function() {
return A;
},
NEXT_INTERCEPTION_MARKER_PREFIX: function() {
return f;
},
NEXT_META_SUFFIX: function() {
return x;
},
NEXT_QUERY_PARAM_PREFIX: function() {
return h;
},
NEXT_RESUME_HEADER: function() {
return _;
},
NON_STANDARD_NODE_ENV: function() {
return we;
},
PAGES_DIR_ALIAS: function() {
return ne;
},
PRERENDER_REVALIDATE_HEADER: function() {
return d;
},
PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {
return a;
},
PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {
return j;
},
ROOT_DIR_ALIAS: function() {
return oe;
},
RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {
return M;
},
RSC_ACTION_ENCRYPTION_ALIAS: function() {
return v;
},
RSC_ACTION_PROXY_ALIAS: function() {
return pe;
},
RSC_ACTION_VALIDATE_ALIAS: function() {
return ce;
},
RSC_CACHE_WRAPPER_ALIAS: function() {
return Ee;
},
RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS: function() {
return r;
},
RSC_MOD_REF_PROXY_ALIAS: function() {
return de;
},
RSC_PREFETCH_SUFFIX: function() {
return t;
},
RSC_SEGMENTS_DIR_SUFFIX: function() {
return l;
},
RSC_SEGMENT_SUFFIX: function() {
return E;
},
RSC_SUFFIX: function() {
return u;
},
SERVER_PROPS_EXPORT_ERROR: function() {
return te;
},
SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {
return J;
},
SERVER_PROPS_SSG_CONFLICT: function() {
return U;
},
SERVER_RUNTIME: function() {
return O;
},
SSG_FALLBACK_EXPORT_ERROR: function() {
return b;
},
SSG_GET_INITIAL_PROPS_CONFLICT: function() {
return $;
},
STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {
return fe;
},
UNSTABLE_REVALIDATE_RENAME_ERROR: function() {
return Re;
},
WEBPACK_LAYERS: function() {
return se;
},
WEBPACK_RESOURCE_QUERIES: function() {
return le;
}
});
const h = "nxtP", f = "nxtI", s = "x-matched-path", d = "x-prerender-revalidate", a = "x-prerender-revalidate-if-generated", t = ".prefetch.rsc", l = ".segments", E = ".segment.rsc", u = ".rsc", m = ".action", A = ".json", x = ".meta", k = ".body", X = "x-next-cache-tags", p = "x-next-revalidated-tags", R = "x-next-revalidate-tag-token", _ = "next-resume", g = 128, S = 256, n = 1024, N = "_N_T_", y = 31536e3, P = 4294967294, I = "middleware", Q = `(?:src/)?${I}`, W = "instrumentation", ne = "private-next-pages", ie = "private-dot-next", oe = "private-next-root-dir", ue = "private-next-app-dir", de = "private-next-rsc-mod-ref-proxy", ce = "private-next-rsc-action-validate", pe = "private-next-rsc-server-reference", Ee = "private-next-rsc-cache-wrapper", r = "private-next-rsc-track-dynamic-import", v = "private-next-rsc-action-encryption", M = "private-next-rsc-action-client-wrapper", j = "You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict", $ = "You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps", J = "You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.", U = "You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps", fe = "can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props", te = "pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export", he = "Your `getStaticProps` function did not return an object. Did you forget to add a `return`?", ve = "Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?", Re = "The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.", ye = "can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member", we = 'You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env', b = "Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export", w = [
"app",
"pages",
"components",
"lib",
"src"
], O = {
edge: "edge",
experimentalEdge: "experimental-edge",
nodejs: "nodejs"
}, D = {
/**
* The layer for the shared code between the client and server bundles.
*/
shared: "shared",
/**
* The layer for server-only runtime and picking up `react-server` export conditions.
* Including app router RSC pages and app router custom routes and metadata routes.
*/
reactServerComponents: "rsc",
/**
* Server Side Rendering layer for app (ssr).
*/
serverSideRendering: "ssr",
/**
* The browser client bundle layer for actions.
*/
actionBrowser: "action-browser",
/**
* The Node.js bundle layer for the API routes.
*/
apiNode: "api-node",
/**
* The Edge Lite bundle layer for the API routes.
*/
apiEdge: "api-edge",
/**
* The layer for the middleware code.
*/
middleware: "middleware",
/**
* The layer for the instrumentation hooks.
*/
instrument: "instrument",
/**
* The layer for assets on the edge.
*/
edgeAsset: "edge-asset",
/**
* The browser client bundle layer for App directory.
*/
appPagesBrowser: "app-pages-browser",
/**
* The browser client bundle layer for Pages directory.
*/
pagesDirBrowser: "pages-dir-browser",
/**
* The Edge Lite bundle layer for Pages directory.
*/
pagesDirEdge: "pages-dir-edge",
/**
* The Node.js bundle layer for Pages directory.
*/
pagesDirNode: "pages-dir-node"
}, se = {
...D,
GROUP: {
builtinReact: [
D.reactServerComponents,
D.actionBrowser
],
serverOnly: [
D.reactServerComponents,
D.actionBrowser,
D.instrument,
D.middleware
],
neutralTarget: [
// pages api
D.apiNode,
D.apiEdge
],
clientOnly: [
D.serverSideRendering,
D.appPagesBrowser
],
bundled: [
D.reactServerComponents,
D.actionBrowser,
D.serverSideRendering,
D.appPagesBrowser,
D.shared,
D.instrument,
D.middleware
],
appPages: [
// app router pages and layouts
D.reactServerComponents,
D.serverSideRendering,
D.appPagesBrowser,
D.actionBrowser
]
}
}, le = {
edgeSSREntry: "__next_edge_ssr_entry__",
metadata: "__next_metadata__",
metadataRoute: "__next_metadata_route__",
metadataImageMeta: "__next_metadata_image_meta__"
};
}(tt)), tt;
}
var Kt;
function jr() {
return Kt || (Kt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
});
function o(l, E) {
for (var u in E) Object.defineProperty(l, u, {
enumerable: !0,
get: E[u]
});
}
o(c, {
fromNodeOutgoingHttpHeaders: function() {
return f;
},
normalizeNextQueryParam: function() {
return t;
},
splitCookiesString: function() {
return s;
},
toNodeOutgoingHttpHeaders: function() {
return d;
},
validateURL: function() {
return a;
}
});
const h = Kr();
function f(l) {
const E = new Headers();
for (let [u, m] of Object.entries(l)) {
const A = Array.isArray(m) ? m : [
m
];
for (let x of A)
typeof x > "u" || (typeof x == "number" && (x = x.toString()), E.append(u, x));
}
return E;
}
function s(l) {
var E = [], u = 0, m, A, x, k, X;
function p() {
for (; u < l.length && /\s/.test(l.charAt(u)); )
u += 1;
return u < l.length;
}
function R() {
return A = l.charAt(u), A !== "=" && A !== ";" && A !== ",";
}
for (; u < l.length; ) {
for (m = u, X = !1; p(); )
if (A = l.charAt(u), A === ",") {
for (x = u, u += 1, p(), k = u; u < l.length && R(); )
u += 1;
u < l.length && l.charAt(u) === "=" ? (X = !0, u = k, E.push(l.substring(m, x)), m = u) : u = x + 1;
} else
u += 1;
(!X || u >= l.length) && E.push(l.substring(m, l.length));
}
return E;
}
function d(l) {
const E = {}, u = [];
if (l)
for (const [m, A] of l.entries())
m.toLowerCase() === "set-cookie" ? (u.push(...s(A)), E[m] = u.length === 1 ? u[0] : u) : E[m] = A;
return E;
}
function a(l) {
try {
return String(new URL(String(l)));
} catch (E) {
throw Object.defineProperty(new Error(`URL is malformed "${String(l)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {
cause: E
}), "__NEXT_ERROR_CODE", {
value: "E61",
enumerable: !1,
configurable: !0
});
}
}
function t(l) {
const E = [
h.NEXT_QUERY_PARAM_PREFIX,
h.NEXT_INTERCEPTION_MARKER_PREFIX
];
for (const u of E)
if (l !== u && l.startsWith(u))
return l.substring(u.length);
return null;
}
}(et)), et;
}
var rt = {}, Qt;
function Qr() {
return Qt || (Qt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
});
function o(d, a) {
for (var t in a) Object.defineProperty(d, t, {
enumerable: !0,
get: a[t]
});
}
o(c, {
PageSignatureError: function() {
return h;
},
RemovedPageError: function() {
return f;
},
RemovedUAError: function() {
return s;
}
});
class h extends Error {
constructor({ page: a }) {
super(`The middleware "${a}" accepts an async API directly with the form:
export function middleware(request, event) {
return NextResponse.redirect('/new-location')
}
Read more: https://nextjs.org/docs/messages/middleware-new-signature
`);
}
}
class f extends Error {
constructor() {
super("The request.page has been deprecated in favour of `URLPattern`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n ");
}
}
class s extends Error {
constructor() {
super("The request.ua has been removed in favour of `userAgent` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n ");
}
}
}(rt)), rt;
}
var nt = {}, ot, Zt;
function Zr() {
if (Zt) return ot;
Zt = 1;
var c = Object.defineProperty, o = Object.getOwnPropertyDescriptor, h = Object.getOwnPropertyNames, f = Object.prototype.hasOwnProperty, s = (n, N) => {
for (var y in N)
c(n, y, { get: N[y], enumerable: !0 });
}, d = (n, N, y, P) => {
if (N && typeof N == "object" || typeof N == "function")
for (let I of h(N))
!f.call(n, I) && I !== y && c(n, I, { get: () => N[I], enumerable: !(P = o(N, I)) || P.enumerable });
return n;
}, a = (n) => d(c({}, "__esModule", { value: !0 }), n), t = {};
s(t, {
RequestCookies: () => R,
ResponseCookies: () => _,
parseCookie: () => E,
parseSetCookie: () => u,
stringifyCookie: () => l
}), ot = a(t);
function l(n) {
var N;
const y = [
"path" in n && n.path && `Path=${n.path}`,
"expires" in n && (n.expires || n.expires === 0) && `Expires=${(typeof n.expires == "number" ? new Date(n.expires) : n.expires).toUTCString()}`,
"maxAge" in n && typeof n.maxAge == "number" && `Max-Age=${n.maxAge}`,
"domain" in n && n.domain && `Domain=${n.domain}`,
"secure" in n && n.secure && "Secure",
"httpOnly" in n && n.httpOnly && "HttpOnly",
"sameSite" in n && n.sameSite && `SameSite=${n.sameSite}`,
"partitioned" in n && n.partitioned && "Partitioned",
"priority" in n && n.priority && `Priority=${n.priority}`
].filter(Boolean), P = `${n.name}=${encodeURIComponent((N = n.value) != null ? N : "")}`;
return y.length === 0 ? P : `${P}; ${y.join("; ")}`;
}
function E(n) {
const N = /* @__PURE__ */ new Map();
for (const y of n.split(/; */)) {
if (!y)
continue;
const P = y.indexOf("=");
if (P === -1) {
N.set(y, "true");
continue;
}
const [I, Q] = [y.slice(0, P), y.slice(P + 1)];
try {
N.set(I, decodeURIComponent(Q ?? "true"));
} catch {
}
}
return N;
}
function u(n) {
if (!n)
return;
const [[N, y], ...P] = E(n), {
domain: I,
expires: Q,
httponly: W,
maxage: ne,
path: ie,
samesite: oe,
secure: ue,
partitioned: de,
priority: ce
} = Object.fromEntries(
P.map(([Ee, r]) => [
Ee.toLowerCase().replace(/-/g, ""),
r
])
), pe = {
name: N,
value: decodeURIComponent(y),
domain: I,
...Q && { expires: new Date(Q) },
...W && { httpOnly: !0 },
...typeof ne == "string" && { maxAge: Number(ne) },
path: ie,
...oe && { sameSite: x(oe) },
...ue && { secure: !0 },
...ce && { priority: X(ce) },
...de && { partitioned: !0 }
};
return m(pe);
}
function m(n) {
const N = {};
for (const y in n)
n[y] && (N[y] = n[y]);
return N;
}
var A = ["strict", "lax", "none"];
function x(n) {
return n = n.toLowerCase(), A.includes(n) ? n : void 0;
}
var k = ["low", "medium", "high"];
function X(n) {
return n = n.toLowerCase(), k.includes(n) ? n : void 0;
}
function p(n) {
if (!n)
return [];
var N = [], y = 0, P, I, Q, W, ne;
function ie() {
for (; y < n.length && /\s/.test(n.charAt(y)); )
y += 1;
return y < n.length;
}
function oe() {
return I = n.charAt(y), I !== "=" && I !== ";" && I !== ",";
}
for (; y < n.length; ) {
for (P = y, ne = !1; ie(); )
if (I = n.charAt(y), I === ",") {
for (Q = y, y += 1, ie(), W = y; y < n.length && oe(); )
y += 1;
y < n.length && n.charAt(y) === "=" ? (ne = !0, y = W, N.push(n.substring(P, Q)), P = y) : y = Q + 1;
} else
y += 1;
(!ne || y >= n.length) && N.push(n.substring(P, n.length));
}
return N;
}
var R = class {
constructor(n) {
this._parsed = /* @__PURE__ */ new Map(), this._headers = n;
const N = n.get("cookie");
if (N) {
const y = E(N);
for (const [P, I] of y)
this._parsed.set(P, { name: P, value: I });
}
}
[Symbol.iterator]() {
return this._parsed[Symbol.iterator]();
}
/**
* The amount of cookies received from the client
*/
get size() {
return this._parsed.size;
}
get(...n) {
const N = typeof n[0] == "string" ? n[0] : n[0].name;
return this._parsed.get(N);
}
getAll(...n) {
var N;
const y = Array.from(this._parsed);
if (!n.length)
return y.map(([I, Q]) => Q);
const P = typeof n[0] == "string" ? n[0] : (N = n[0]) == null ? void 0 : N.name;
return y.filter(([I]) => I === P).map(([I, Q]) => Q);
}
has(n) {
return this._parsed.has(n);
}
set(...n) {
const [N, y] = n.length === 1 ? [n[0].name, n[0].value] : n, P = this._parsed;
return P.set(N, { name: N, value: y }), this._headers.set(
"cookie",
Array.from(P).map(([I, Q]) => l(Q)).join("; ")
), this;
}
/**
* Delete the cookies matching the passed name or names in the request.
*/
delete(n) {
const N = this._parsed, y = Array.isArray(n) ? n.map((P) => N.delete(P)) : N.delete(n);
return this._headers.set(
"cookie",
Array.from(N).map(([P, I]) => l(I)).join("; ")
), y;
}
/**
* Delete all the cookies in the cookies in the request.
*/
clear() {
return this.delete(Array.from(this._parsed.keys())), this;
}
/**
* Format the cookies in the request as a string for logging
*/
[Symbol.for("edge-runtime.inspect.custom")]() {
return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
}
toString() {
return [...this._parsed.values()].map((n) => `${n.name}=${encodeURIComponent(n.value)}`).join("; ");
}
}, _ = class {
constructor(n) {
this._parsed = /* @__PURE__ */ new Map();
var N, y, P;
this._headers = n;
const I = (P = (y = (N = n.getSetCookie) == null ? void 0 : N.call(n)) != null ? y : n.get("set-cookie")) != null ? P : [], Q = Array.isArray(I) ? I : p(I);
for (const W of Q) {
const ne = u(W);
ne && this._parsed.set(ne.name, ne);
}
}
/**
* {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.
*/
get(...n) {
const N = typeof n[0] == "string" ? n[0] : n[0].name;
return this._parsed.get(N);
}
/**
* {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.
*/
getAll(...n) {
var N;
const y = Array.from(this._parsed.values());
if (!n.length)
return y;
const P = typeof n[0] == "string" ? n[0] : (N = n[0]) == null ? void 0 : N.name;
return y.filter((I) => I.name === P);
}
has(n) {
return this._parsed.has(n);
}
/**
* {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.
*/
set(...n) {
const [N, y, P] = n.length === 1 ? [n[0].name, n[0].value, n[0]] : n, I = this._parsed;
return I.set(N, S({ name: N, value: y, ...P })), g(I, this._headers), this;
}
/**
* {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.
*/
delete(...n) {
const [N, y] = typeof n[0] == "string" ? [n[0]] : [n[0].name, n[0]];
return this.set({ ...y, name: N, value: "", expires: /* @__PURE__ */ new Date(0) });
}
[Symbol.for("edge-runtime.inspect.custom")]() {
return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
}
toString() {
return [...this._parsed.values()].map(l).join("; ");
}
};
function g(n, N) {
N.delete("set-cookie");
for (const [, y] of n) {
const P = l(y);
N.append("set-cookie", P);
}
}
function S(n = { name: "", value: "" }) {
return typeof n.expires == "number" && (n.expires = new Date(n.expires)), n.maxAge && (n.expires = new Date(Date.now() + n.maxAge * 1e3)), (n.path === null || n.path === void 0) && (n.path = "/"), n;
}
return ot;
}
var Jt;
function Nt() {
return Jt || (Jt = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
});
function o(f, s) {
for (var d in s) Object.defineProperty(f, d, {
enumerable: !0,
get: s[d]
});
}
o(c, {
RequestCookies: function() {
return h.RequestCookies;
},
ResponseCookies: function() {
return h.ResponseCookies;
},
stringifyCookie: function() {
return h.stringifyCookie;
}
});
const h = Zr();
}(nt)), nt;
}
var er;
function Jr() {
return er || (er = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
});
function o(l, E) {
for (var u in E) Object.defineProperty(l, u, {
enumerable: !0,
get: E[u]
});
}
o(c, {
INTERNALS: function() {
return a;
},
NextRequest: function() {
return t;
}
});
const h = kr(), f = jr(), s = Qr(), d = Nt(), a = Symbol("internal request");
class t extends Request {
constructor(E, u = {}) {
const m = typeof E != "string" && "url" in E ? E.url : String(E);
(0, f.validateURL)(m), process.env.NEXT_RUNTIME !== "edge" && u.body && u.duplex !== "half" && (u.duplex = "half"), E instanceof Request ? super(E, u) : super(m, u);
const A = new h.NextURL(m, {
headers: (0, f.toNodeOutgoingHttpHeaders)(this.headers),
nextConfig: u.nextConfig
});
this[a] = {
cookies: new d.RequestCookies(this.headers),
nextUrl: A,
url: process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE ? m : A.toString()
};
}
[Symbol.for("edge-runtime.inspect.custom")]() {
return {
cookies: this.cookies,
nextUrl: this.nextUrl,
url: this.url,
// rest of props come from Request
bodyUsed: this.bodyUsed,
cache: this.cache,
credentials: this.credentials,
destination: this.destination,
headers: Object.fromEntries(this.headers),
integrity: this.integrity,
keepalive: this.keepalive,
method: this.method,
mode: this.mode,
redirect: this.redirect,
referrer: this.referrer,
referrerPolicy: this.referrerPolicy,
signal: this.signal
};
}
get cookies() {
return this[a].cookies;
}
get nextUrl() {
return this[a].nextUrl;
}
/**
* @deprecated
* `page` has been deprecated in favour of `URLPattern`.
* Read more: https://nextjs.org/docs/messages/middleware-request-page
*/
get page() {
throw new s.RemovedPageError();
}
/**
* @deprecated
* `ua` has been removed in favour of \`userAgent\` function.
* Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
*/
get ua() {
throw new s.RemovedUAError();
}
get url() {
return this[a].url;
}
}
}(He)), He;
}
var st = {}, it = {}, tr;
function en() {
return tr || (tr = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "ReflectAdapter", {
enumerable: !0,
get: function() {
return o;
}
});
class o {
static get(f, s, d) {
const a = Reflect.get(f, s, d);
return typeof a == "function" ? a.bind(f) : a;
}
static set(f, s, d, a) {
return Reflect.set(f, s, d, a);
}
static has(f, s) {
return Reflect.has(f, s);
}
static deleteProperty(f, s) {
return Reflect.deleteProperty(f, s);
}
}
}(it)), it;
}
var rr;
function tn() {
return rr || (rr = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "NextResponse", {
enumerable: !0,
get: function() {
return E;
}
});
const o = Nt(), h = kr(), f = jr(), s = en(), d = Nt(), a = Symbol("internal response"), t = /* @__PURE__ */ new Set([
301,
302,
303,
307,
308
]);
function l(u, m) {
var A;
if (!(u == null || (A = u.request) == null) && A.headers) {
if (!(u.request.headers instanceof Headers))
throw Object.defineProperty(new Error("request.headers must be an instance of Headers"), "__NEXT_ERROR_CODE", {
value: "E119",
enumerable: !1,
configurable: !0
});
const x = [];
for (const [k, X] of u.request.headers)
m.set("x-middleware-request-" + k, X), x.push(k);
m.set("x-middleware-override-headers", x.join(","));
}
}
class E extends Response {
constructor(m, A = {}) {
super(m, A);
const x = this.headers, k = new d.ResponseCookies(x), X = new Proxy(k, {
get(p, R, _) {
switch (R) {
case "delete":
case "set":
return (...g) => {
const S = Reflect.apply(p[R], p, g), n = new Headers(x);
return S instanceof d.ResponseCookies && x.set("x-middleware-set-cookie", S.getAll().map((N) => (0, o.stringifyCookie)(N)).join(",")), l(A, n), S;
};
default:
return s.ReflectAdapter.get(p, R, _);
}
}
});
this[a] = {
cookies: X,
url: A.url ? new h.NextURL(A.url, {
headers: (0, f.toNodeOutgoingHttpHeaders)(x),
nextConfig: A.nextConfig
}) : void 0
};
}
[Symbol.for("edge-runtime.inspect.custom")]() {
return {
cookies: this.cookies,
url: this.url,
// rest of props come from Response
body: this.body,
bodyUsed: this.bodyUsed,
headers: Object.fromEntries(this.headers),
ok: this.ok,
redirected: this.redirected,
status: this.status,
statusText: this.statusText,
type: this.type
};
}
get cookies() {
return this[a].cookies;
}
static json(m, A) {
const x = Response.json(m, A);
return new E(x.body, x);
}
static redirect(m, A) {
const x = typeof A == "number" ? A : (A == null ? void 0 : A.status) ?? 307;
if (!t.has(x))
throw Object.defineProperty(new RangeError('Failed to execute "redirect" on "response": Invalid status code'), "__NEXT_ERROR_CODE", {
value: "E529",
enumerable: !1,
configurable: !0
});
const k = typeof A == "object" ? A : {}, X = new Headers(k == null ? void 0 : k.headers);
return X.set("Location", (0, f.validateURL)(m)), new E(null, {
...k,
headers: X,
status: x
});
}
static rewrite(m, A) {
const x = new Headers(A == null ? void 0 : A.headers);
return x.set("x-middleware-rewrite", (0, f.validateURL)(m)), l(A, x), new E(null, {
...A,
headers: x
});
}
static next(m) {
const A = new Headers(m == null ? void 0 : m.headers);
return A.set("x-middleware-next", "1"), l(m, A), new E(null, {
...m,
headers: A
});
}
}
}(st)), st;
}
var at = {}, nr;
function rn() {
return nr || (nr = 1, function(c) {
Object.defineProperty(c, "__esModule", {
value: !0
}), Object.defineProperty(c, "ImageResponse", {
enumerable: !0,
get: function() {
return o;
}
});
function o() {
throw Object.defineProperty(new Error('ImageResponse moved from "next/server" to "next/og" since Next.js 14, please import from "next/og" instead'), "__NEXT_ERROR_CODE", {
value: "E183",
enumerable: !1,
configurable: !0
});
}
}(at)), at;
}
var ut = {}, ct = { exports: {} }, or;
function nn() {
return or || (or = 1, (() => {
var c = { 226: function(s, d) {
(function(a, t) {
var l = "1.0.35", E = "", u = "?", m = "function", A = "undefined", x = "object", k = "string", X = "major", p = "model", R = "name", _ = "type", g = "vendor", S = "version", n = "architecture", N = "console", y = "mobile", P = "tablet", I = "smarttv", Q = "wearable", W = "embedded", ne = 350, ie = "Amazon", oe = "Apple", ue = "ASUS", de = "BlackBerry", ce = "Browser", pe = "Chrome", Ee = "Edge", r = "Firefox", v = "Google", M = "Huawei", j = "LG", $ = "Microsoft", J = "Motorola", U = "Opera", fe = "Samsung", te = "Sharp", he = "Sony", ve = "Xiaomi", Re = "Zebra", ye = "Facebook", we = "Chromium OS", b = "Mac OS", w = function(Y, Z) {
var H = {};
for (var ee in Y)
Z[ee] && Z[ee].length % 2 === 0 ? H[ee] = Z[ee].concat(Y[ee]) : H[ee] = Y[ee];
return H;
}, O = function(Y) {
for (var Z = {}, H = 0; H < Y.length; H++)
Z[Y[H].toUpperCase()] = Y[H];
return Z;
}, D = function(Y, Z) {
return typeof Y === k ? se(Z).indexOf(se(Y)) !== -1 : !1;
}, se = function(Y) {
return Y.toLowerCase();
}, le = function(Y) {
return typeof Y === k ? Y.replace(/[^\d\.]/g, E).split(".")[0] : t;
}, F = function(Y, Z) {
if (typeof Y === k)
return Y = Y.replace(/^\s\s*/, E), typeof Z === A ? Y : Y.substring(0, ne);
}, ge = function(Y, Z) {
for (var H = 0, ee, be, _e, K, q, e; H < Z.length && !q; ) {
var i = Z[H], T = Z[H + 1];
for (ee = be = 0; ee < i.length && !q && i[ee]; )
if (q = i[ee++].exec(Y), q)
for (_e = 0; _e < T.length; _e++)
e = q[++be], K = T[_e], typeof K === x && K.length > 0 ? K.length === 2 ? typeof K[1] == m ? this[K[0]] = K[1].call(this, e) : this[K[0]] = K[1] : K.length === 3 ? typeof K[1] === m && !(K[1].exec && K[1].test) ? this[K[0]] = e ? K[1].call(this, e, K[2]) : t : this[K[0]] = e ? e.replace(K[1], K[2]) : t : K.length === 4 && (this[K[0]] = e ? K[3].call(this, e.replace(K[1], K[2])) : t) : this[K] = e || t;
H += 2;
}
}, Ae = function(Y, Z) {
for (var H in Z)
if (typeof Z[H] === x && Z[H].length > 0) {
for (var ee = 0; ee < Z[H].length; ee++)
if (D(Z[H][ee], Y))
return H === u ? t : H;
} else if (D(Z[H], Y))
return H === u ? t : H;
return Y;
}, De = { "1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/" }, Ce = { ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2e3: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", 10: ["NT 6.4", "NT 10.0"], RT: "ARM" }, Ie = { browser: [[/\b(?:crmo|crios)\/([\w\.]+)/i], [S, [R, "Chrome"]], [/edg(?:e|ios|a)?\/([\w\.]+)/i], [S, [R, "Edge"]], [/(opera mini)\/([-\w\.]+)/i, /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i], [R, S], [/opios[\/ ]+([\w\.]+)/i], [S, [R, U + " Mini"]], [/\bopr\/([\w\.]+)/i], [S, [R, U]], [/(kindle)\/([\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, /(ba?idubrowser)[\/ ]?([\w\.]+)/i, /(?:ms|\()(ie) ([\w\.]+)/i, /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i, /(heytap|ovi)browser\/([\d\.]+)/i, /(weibo)__([\d\.]+)/i], [R, S], [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], [S, [R, "UC" + ce]], [/microm.+\bqbcore\/([\w\.]+)/i, /\bqbcore\/([\w\.]+).+microm/i], [S, [R, "WeChat(Win) Desktop"]], [/micromessenger\/([\w\.]+)/i], [S, [R, "WeChat"]], [/konqueror\/([\w\.]+)/i], [S, [R, "Konqueror"]], [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], [S, [R, "IE"]], [/ya(?:search)?browser\/([\w\.]+)/i], [S, [R, "Yandex"]], [/(avast|avg)\/([\w\.]+)/i], [[R, /(.+)/, "$1 Secure " + ce], S], [/\bfocus\/([\w\.]+)/i], [S, [R, r + " Focus"]], [/\bopt\/([\w\.]+)/i], [S, [R, U + " Touch"]], [/coc_coc\w+\/([\w\.]+)/i], [S, [R, "Coc Coc"]], [/dolfin\/([\w\.]+)/i], [S, [R, "Dolphin"]], [/coast\/([\w\.]+)/i], [S, [R, U + " Coast"]], [/miuibrowser\/([\w\.]+)/i], [S, [R, "MIUI " + ce]], [/fxios\/([-\w\.]+)/i], [S, [R, r]], [/\bqihu|(qi?ho?o?|360)browser/i], [[R, "360 " + ce]], [/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i], [[R, /(.+)/, "$1 " + ce], S], [/(comodo_dragon)\/([\w\.]+)/i], [[R, /_/g, " "], S], [/(electron)\/([\w\.]+) safari/i, /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i], [R, S], [/(metasr)[\/ ]?([\w\.]+)/i, /(lbbrowser)/i, /\[(linkedin)app\]/i], [R], [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], [[R, ye], S], [/(kakao(?:talk|story))[\/ ]([\w\.]+)/i, /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, /safari (line)\/([\w\.]+)/i, /\b(line)\/([\w\.]+)\/iab/i, /(chromium|instagram)[\/ ]([-\w\.]+)/i], [R, S], [/\bgsa\/([\w\.]+) .*safari\//i], [S, [R, "GSA"]], [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], [S, [R, "TikTok"]], [/headlesschrome(?:\/([\w\.]+)| )/i], [S, [R, pe + " Headless"]], [/ wv\).+(chrome)\/([\w\.]+)/i], [[R, pe + " WebView"], S], [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], [S, [R, "Android " + ce]], [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], [R, S], [/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i], [S, [R, "Mobile Safari"]], [/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i], [S, R], [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], [R, [S, Ae, De]], [/(webkit|khtml)\/([\w\.]+)/i], [R, S], [/(navigator|netscape\d?)\/([-\w\.]+)/i], [[R, "Netscape"], S], [/mobile vr; rv:([\w\.]+)\).+firefox/i], [S, [R, r + " Reality"]], [/ekiohf.+(flow)\/([\w\.]+)/i, /(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, /(firefox)\/([\w\.]+)/i, /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, /(links) \(([\w\.]+)/i, /panasonic;(viera)/i], [R, S], [/(cobalt)\/([\w\.]+)/i], [R, [S, /master.|lts./, ""]]], cpu: [[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i], [[n, "amd64"]], [/(ia32(?=;))/i], [[n, se]], [/((?:i[346]|x)86)[;\)]/i], [[n, "ia32"]], [/\b(aarch64|arm(v?8e?l?|_?64))\b/i], [[n, "arm64"]], [/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i], [[n, "armhf"]], [/windows (ce|mobile); ppc;/i], [[n, "arm"]], [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i], [[n, /ower/, E, se]], [/(sun4\w)[;\)]/i], [[n, "sparc"]], [/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i], [[n, se]]], device: [[/\b(sch-i[89]0\d|shw-m38