UNPKG

converse-ai-support-library

Version:

A React component library for floating contact buttons (email, chat, call)

1,204 lines (1,202 loc) 3.78 MB
import require$$0$1, { useState, useRef, useEffect } from "react"; function getDefaultExportFromCjs(ln) { return ln && ln.__esModule && Object.prototype.hasOwnProperty.call(ln, "default") ? ln.default : ln; } function getAugmentedNamespace(ln) { if (Object.prototype.hasOwnProperty.call(ln, "__esModule")) return ln; var eA = ln.default; if (typeof eA == "function") { var tA = function rA() { var nA = !1; try { nA = this instanceof rA; } catch { } return nA ? Reflect.construct(eA, arguments, this.constructor) : eA.apply(this, arguments); }; tA.prototype = eA.prototype; } else tA = {}; return Object.defineProperty(tA, "__esModule", { value: !0 }), Object.keys(ln).forEach(function(rA) { var nA = Object.getOwnPropertyDescriptor(ln, rA); Object.defineProperty(tA, rA, nA.get ? nA : { enumerable: !0, get: function() { return ln[rA]; } }); }), tA; } var jsxRuntime = { exports: {} }, reactJsxRuntime_production_min = {}; /** * @license React * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var hasRequiredReactJsxRuntime_production_min; function requireReactJsxRuntime_production_min() { if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min; hasRequiredReactJsxRuntime_production_min = 1; var ln = require$$0$1, eA = Symbol.for("react.element"), tA = Symbol.for("react.fragment"), rA = Object.prototype.hasOwnProperty, nA = ln.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, AA = { key: !0, ref: !0, __self: !0, __source: !0 }; function sA(aA, iA, uA) { var lA, yA = {}, pA = null, PA = null; uA !== void 0 && (pA = "" + uA), iA.key !== void 0 && (pA = "" + iA.key), iA.ref !== void 0 && (PA = iA.ref); for (lA in iA) rA.call(iA, lA) && !AA.hasOwnProperty(lA) && (yA[lA] = iA[lA]); if (aA && aA.defaultProps) for (lA in iA = aA.defaultProps, iA) yA[lA] === void 0 && (yA[lA] = iA[lA]); return { $$typeof: eA, type: aA, key: pA, ref: PA, props: yA, _owner: nA.current }; } return reactJsxRuntime_production_min.Fragment = tA, reactJsxRuntime_production_min.jsx = sA, reactJsxRuntime_production_min.jsxs = sA, reactJsxRuntime_production_min; } var reactJsxRuntime_development = {}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var hasRequiredReactJsxRuntime_development; function requireReactJsxRuntime_development() { return hasRequiredReactJsxRuntime_development || (hasRequiredReactJsxRuntime_development = 1, process.env.NODE_ENV !== "production" && function() { var ln = require$$0$1, eA = Symbol.for("react.element"), tA = Symbol.for("react.portal"), rA = Symbol.for("react.fragment"), nA = Symbol.for("react.strict_mode"), AA = Symbol.for("react.profiler"), sA = Symbol.for("react.provider"), aA = Symbol.for("react.context"), iA = Symbol.for("react.forward_ref"), uA = Symbol.for("react.suspense"), lA = Symbol.for("react.suspense_list"), yA = Symbol.for("react.memo"), pA = Symbol.for("react.lazy"), PA = Symbol.for("react.offscreen"), gA = Symbol.iterator, fA = "@@iterator"; function VA(EA) { if (EA === null || typeof EA != "object") return null; var tu = gA && EA[gA] || EA[fA]; return typeof tu == "function" ? tu : null; } var vA = ln.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function mA(EA) { { for (var tu = arguments.length, uu = new Array(tu > 1 ? tu - 1 : 0), mu = 1; mu < tu; mu++) uu[mu - 1] = arguments[mu]; dA("error", EA, uu); } } function dA(EA, tu, uu) { { var mu = vA.ReactDebugCurrentFrame, Pu = mu.getStackAddendum(); Pu !== "" && (tu += "%s", uu = uu.concat([Pu])); var wu = uu.map(function(bu) { return String(bu); }); wu.unshift("Warning: " + tu), Function.prototype.apply.call(console[EA], console, wu); } } var hA = !1, bA = !1, xA = !1, CA = !1, OA = !1, LA; LA = Symbol.for("react.module.reference"); function YA(EA) { return !!(typeof EA == "string" || typeof EA == "function" || EA === rA || EA === AA || OA || EA === nA || EA === uA || EA === lA || CA || EA === PA || hA || bA || xA || typeof EA == "object" && EA !== null && (EA.$$typeof === pA || EA.$$typeof === yA || EA.$$typeof === sA || EA.$$typeof === aA || EA.$$typeof === iA || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. EA.$$typeof === LA || EA.getModuleId !== void 0)); } function HA(EA, tu, uu) { var mu = EA.displayName; if (mu) return mu; var Pu = tu.displayName || tu.name || ""; return Pu !== "" ? uu + "(" + Pu + ")" : uu; } function ZA(EA) { return EA.displayName || "Context"; } function JA(EA) { if (EA == null) return null; if (typeof EA.tag == "number" && mA("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof EA == "function") return EA.displayName || EA.name || null; if (typeof EA == "string") return EA; switch (EA) { case rA: return "Fragment"; case tA: return "Portal"; case AA: return "Profiler"; case nA: return "StrictMode"; case uA: return "Suspense"; case lA: return "SuspenseList"; } if (typeof EA == "object") switch (EA.$$typeof) { case aA: var tu = EA; return ZA(tu) + ".Consumer"; case sA: var uu = EA; return ZA(uu._context) + ".Provider"; case iA: return HA(EA, EA.render, "ForwardRef"); case yA: var mu = EA.displayName || null; return mu !== null ? mu : JA(EA.type) || "Memo"; case pA: { var Pu = EA, wu = Pu._payload, bu = Pu._init; try { return JA(bu(wu)); } catch { return null; } } } return null; } var WA = Object.assign, DA = 0, MA, XA, wA, qA, kA, SA, jA; function oA() { } oA.__reactDisabledLog = !0; function zA() { { if (DA === 0) { MA = console.log, XA = console.info, wA = console.warn, qA = console.error, kA = console.group, SA = console.groupCollapsed, jA = console.groupEnd; var EA = { configurable: !0, enumerable: !0, value: oA, writable: !0 }; Object.defineProperties(console, { info: EA, log: EA, warn: EA, error: EA, group: EA, groupCollapsed: EA, groupEnd: EA }); } DA++; } } function cA() { { if (DA--, DA === 0) { var EA = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: WA({}, EA, { value: MA }), info: WA({}, EA, { value: XA }), warn: WA({}, EA, { value: wA }), error: WA({}, EA, { value: qA }), group: WA({}, EA, { value: kA }), groupCollapsed: WA({}, EA, { value: SA }), groupEnd: WA({}, EA, { value: jA }) }); } DA < 0 && mA("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var TA = vA.ReactCurrentDispatcher, NA; function BA(EA, tu, uu) { { if (NA === void 0) try { throw Error(); } catch (Pu) { var mu = Pu.stack.trim().match(/\n( *(at )?)/); NA = mu && mu[1] || ""; } return ` ` + NA + EA; } } var UA = !1, RA; { var KA = typeof WeakMap == "function" ? WeakMap : Map; RA = new KA(); } function nu(EA, tu) { if (!EA || UA) return ""; { var uu = RA.get(EA); if (uu !== void 0) return uu; } var mu; UA = !0; var Pu = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var wu; wu = TA.current, TA.current = null, zA(); try { if (tu) { var bu = function() { throw Error(); }; if (Object.defineProperty(bu.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(bu, []); } catch (cu) { mu = cu; } Reflect.construct(EA, [], bu); } else { try { bu.call(); } catch (cu) { mu = cu; } EA.call(bu.prototype); } } else { try { throw Error(); } catch (cu) { mu = cu; } EA(); } } catch (cu) { if (cu && mu && typeof cu.stack == "string") { for (var zu = cu.stack.split(` `), ku = mu.stack.split(` `), Nu = zu.length - 1, FA = ku.length - 1; Nu >= 1 && FA >= 0 && zu[Nu] !== ku[FA]; ) FA--; for (; Nu >= 1 && FA >= 0; Nu--, FA--) if (zu[Nu] !== ku[FA]) { if (Nu !== 1 || FA !== 1) do if (Nu--, FA--, FA < 0 || zu[Nu] !== ku[FA]) { var IA = ` ` + zu[Nu].replace(" at new ", " at "); return EA.displayName && IA.includes("<anonymous>") && (IA = IA.replace("<anonymous>", EA.displayName)), typeof EA == "function" && RA.set(EA, IA), IA; } while (Nu >= 1 && FA >= 0); break; } } } finally { UA = !1, TA.current = wu, cA(), Error.prepareStackTrace = Pu; } var _A = EA ? EA.displayName || EA.name : "", ru = _A ? BA(_A) : ""; return typeof EA == "function" && RA.set(EA, ru), ru; } function Au(EA, tu, uu) { return nu(EA, !1); } function $A(EA) { var tu = EA.prototype; return !!(tu && tu.isReactComponent); } function GA(EA, tu, uu) { if (EA == null) return ""; if (typeof EA == "function") return nu(EA, $A(EA)); if (typeof EA == "string") return BA(EA); switch (EA) { case uA: return BA("Suspense"); case lA: return BA("SuspenseList"); } if (typeof EA == "object") switch (EA.$$typeof) { case iA: return Au(EA.render); case yA: return GA(EA.type, tu, uu); case pA: { var mu = EA, Pu = mu._payload, wu = mu._init; try { return GA(wu(Pu), tu, uu); } catch { } } } return ""; } var QA = Object.prototype.hasOwnProperty, eu = {}, su = vA.ReactDebugCurrentFrame; function ou(EA) { if (EA) { var tu = EA._owner, uu = GA(EA.type, EA._source, tu ? tu.type : null); su.setExtraStackFrame(uu); } else su.setExtraStackFrame(null); } function hu(EA, tu, uu, mu, Pu) { { var wu = Function.call.bind(QA); for (var bu in EA) if (wu(EA, bu)) { var zu = void 0; try { if (typeof EA[bu] != "function") { var ku = Error((mu || "React class") + ": " + uu + " type `" + bu + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof EA[bu] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw ku.name = "Invariant Violation", ku; } zu = EA[bu](tu, bu, mu, uu, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (Nu) { zu = Nu; } zu && !(zu instanceof Error) && (ou(Pu), mA("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", mu || "React class", uu, bu, typeof zu), ou(null)), zu instanceof Error && !(zu.message in eu) && (eu[zu.message] = !0, ou(Pu), mA("Failed %s type: %s", uu, zu.message), ou(null)); } } } var du = Array.isArray; function gu(EA) { return du(EA); } function iu(EA) { { var tu = typeof Symbol == "function" && Symbol.toStringTag, uu = tu && EA[Symbol.toStringTag] || EA.constructor.name || "Object"; return uu; } } function lu(EA) { try { return vu(EA), !1; } catch { return !0; } } function vu(EA) { return "" + EA; } function au(EA) { if (lu(EA)) return mA("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", iu(EA)), vu(EA); } var fu = vA.ReactCurrentOwner, Vu = { key: !0, ref: !0, __self: !0, __source: !0 }, Fu, Su; function Lu(EA) { if (QA.call(EA, "ref")) { var tu = Object.getOwnPropertyDescriptor(EA, "ref").get; if (tu && tu.isReactWarning) return !1; } return EA.ref !== void 0; } function Wu(EA) { if (QA.call(EA, "key")) { var tu = Object.getOwnPropertyDescriptor(EA, "key").get; if (tu && tu.isReactWarning) return !1; } return EA.key !== void 0; } function Gu(EA, tu) { typeof EA.ref == "string" && fu.current; } function Xu(EA, tu) { { var uu = function() { Fu || (Fu = !0, mA("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", tu)); }; uu.isReactWarning = !0, Object.defineProperty(EA, "key", { get: uu, configurable: !0 }); } } function Ku(EA, tu) { { var uu = function() { Su || (Su = !0, mA("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", tu)); }; uu.isReactWarning = !0, Object.defineProperty(EA, "ref", { get: uu, configurable: !0 }); } } var rl = function(EA, tu, uu, mu, Pu, wu, bu) { var zu = { // This tag allows us to uniquely identify this as a React Element $$typeof: eA, // Built-in properties that belong on the element type: EA, key: tu, ref: uu, props: bu, // Record the component responsible for creating this element. _owner: wu }; return zu._store = {}, Object.defineProperty(zu._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(zu, "_self", { configurable: !1, enumerable: !1, writable: !1, value: mu }), Object.defineProperty(zu, "_source", { configurable: !1, enumerable: !1, writable: !1, value: Pu }), Object.freeze && (Object.freeze(zu.props), Object.freeze(zu)), zu; }; function ll(EA, tu, uu, mu, Pu) { { var wu, bu = {}, zu = null, ku = null; uu !== void 0 && (au(uu), zu = "" + uu), Wu(tu) && (au(tu.key), zu = "" + tu.key), Lu(tu) && (ku = tu.ref, Gu(tu, Pu)); for (wu in tu) QA.call(tu, wu) && !Vu.hasOwnProperty(wu) && (bu[wu] = tu[wu]); if (EA && EA.defaultProps) { var Nu = EA.defaultProps; for (wu in Nu) bu[wu] === void 0 && (bu[wu] = Nu[wu]); } if (zu || ku) { var FA = typeof EA == "function" ? EA.displayName || EA.name || "Unknown" : EA; zu && Xu(bu, FA), ku && Ku(bu, FA); } return rl(EA, zu, ku, Pu, mu, fu.current, bu); } } var Iu = vA.ReactCurrentOwner, Qu = vA.ReactDebugCurrentFrame; function _u(EA) { if (EA) { var tu = EA._owner, uu = GA(EA.type, EA._source, tu ? tu.type : null); Qu.setExtraStackFrame(uu); } else Qu.setExtraStackFrame(null); } var cl; cl = !1; function il(EA) { return typeof EA == "object" && EA !== null && EA.$$typeof === eA; } function fl() { { if (Iu.current) { var EA = JA(Iu.current.type); if (EA) return ` Check the render method of \`` + EA + "`."; } return ""; } } function al(EA) { return ""; } var Uu = {}; function Yu(EA) { { var tu = fl(); if (!tu) { var uu = typeof EA == "string" ? EA : EA.displayName || EA.name; uu && (tu = ` Check the top-level render call using <` + uu + ">."); } return tu; } } function dl(EA, tu) { { if (!EA._store || EA._store.validated || EA.key != null) return; EA._store.validated = !0; var uu = Yu(tu); if (Uu[uu]) return; Uu[uu] = !0; var mu = ""; EA && EA._owner && EA._owner !== Iu.current && (mu = " It was passed a child from " + JA(EA._owner.type) + "."), _u(EA), mA('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', uu, mu), _u(null); } } function nl(EA, tu) { { if (typeof EA != "object") return; if (gu(EA)) for (var uu = 0; uu < EA.length; uu++) { var mu = EA[uu]; il(mu) && dl(mu, tu); } else if (il(EA)) EA._store && (EA._store.validated = !0); else if (EA) { var Pu = VA(EA); if (typeof Pu == "function" && Pu !== EA.entries) for (var wu = Pu.call(EA), bu; !(bu = wu.next()).done; ) il(bu.value) && dl(bu.value, tu); } } } function vl(EA) { { var tu = EA.type; if (tu == null || typeof tu == "string") return; var uu; if (typeof tu == "function") uu = tu.propTypes; else if (typeof tu == "object" && (tu.$$typeof === iA || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. tu.$$typeof === yA)) uu = tu.propTypes; else return; if (uu) { var mu = JA(tu); hu(uu, EA.props, "prop", mu, EA); } else if (tu.PropTypes !== void 0 && !cl) { cl = !0; var Pu = JA(tu); mA("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", Pu || "Unknown"); } typeof tu.getDefaultProps == "function" && !tu.getDefaultProps.isReactClassApproved && mA("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function ml(EA) { { for (var tu = Object.keys(EA.props), uu = 0; uu < tu.length; uu++) { var mu = tu[uu]; if (mu !== "children" && mu !== "key") { _u(EA), mA("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", mu), _u(null); break; } } EA.ref !== null && (_u(EA), mA("Invalid attribute `ref` supplied to `React.Fragment`."), _u(null)); } } var gl = {}; function Al(EA, tu, uu, mu, Pu, wu) { { var bu = YA(EA); if (!bu) { var zu = ""; (EA === void 0 || typeof EA == "object" && EA !== null && Object.keys(EA).length === 0) && (zu += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var ku = al(); ku ? zu += ku : zu += fl(); var Nu; EA === null ? Nu = "null" : gu(EA) ? Nu = "array" : EA !== void 0 && EA.$$typeof === eA ? (Nu = "<" + (JA(EA.type) || "Unknown") + " />", zu = " Did you accidentally export a JSX literal instead of a component?") : Nu = typeof EA, mA("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Nu, zu); } var FA = ll(EA, tu, uu, Pu, wu); if (FA == null) return FA; if (bu) { var IA = tu.children; if (IA !== void 0) if (mu) if (gu(IA)) { for (var _A = 0; _A < IA.length; _A++) nl(IA[_A], EA); Object.freeze && Object.freeze(IA); } else mA("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); else nl(IA, EA); } if (QA.call(tu, "key")) { var ru = JA(EA), cu = Object.keys(tu).filter(function(Mu) { return Mu !== "key"; }), pu = cu.length > 0 ? "{key: someKey, " + cu.join(": ..., ") + ": ...}" : "{key: someKey}"; if (!gl[ru + pu]) { var yu = cu.length > 0 ? "{" + cu.join(": ..., ") + ": ...}" : "{}"; mA(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`, pu, ru, yu, ru), gl[ru + pu] = !0; } } return EA === rA ? ml(FA) : vl(FA), FA; } } function Hu(EA, tu, uu) { return Al(EA, tu, uu, !0); } function hl(EA, tu, uu) { return Al(EA, tu, uu, !1); } var yl = hl, bl = Hu; reactJsxRuntime_development.Fragment = rA, reactJsxRuntime_development.jsx = yl, reactJsxRuntime_development.jsxs = bl; }()), reactJsxRuntime_development; } var hasRequiredJsxRuntime; function requireJsxRuntime() { return hasRequiredJsxRuntime || (hasRequiredJsxRuntime = 1, process.env.NODE_ENV === "production" ? jsxRuntime.exports = requireReactJsxRuntime_production_min() : jsxRuntime.exports = requireReactJsxRuntime_development()), jsxRuntime.exports; } var jsxRuntimeExports = requireJsxRuntime(), vapi = {}; function e(ln, eA) { if (ln == null) return {}; var tA, rA, nA = function(sA, aA) { if (sA == null) return {}; var iA = {}; for (var uA in sA) if ({}.hasOwnProperty.call(sA, uA)) { if (aA.indexOf(uA) !== -1) continue; iA[uA] = sA[uA]; } return iA; }(ln, eA); if (Object.getOwnPropertySymbols) { var AA = Object.getOwnPropertySymbols(ln); for (rA = 0; rA < AA.length; rA++) tA = AA[rA], eA.indexOf(tA) === -1 && {}.propertyIsEnumerable.call(ln, tA) && (nA[tA] = ln[tA]); } return nA; } function t(ln, eA) { if (!(ln instanceof eA)) throw new TypeError("Cannot call a class as a function"); } function n(ln) { return n = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(eA) { return typeof eA; } : function(eA) { return eA && typeof Symbol == "function" && eA.constructor === Symbol && eA !== Symbol.prototype ? "symbol" : typeof eA; }, n(ln); } function r(ln) { var eA = function(tA, rA) { if (n(tA) != "object" || !tA) return tA; var nA = tA[Symbol.toPrimitive]; if (nA !== void 0) { var AA = nA.call(tA, rA); if (n(AA) != "object") return AA; throw new TypeError("@@toPrimitive must return a primitive value."); } return String(tA); }(ln, "string"); return n(eA) == "symbol" ? eA : eA + ""; } function i(ln, eA) { for (var tA = 0; tA < eA.length; tA++) { var rA = eA[tA]; rA.enumerable = rA.enumerable || !1, rA.configurable = !0, "value" in rA && (rA.writable = !0), Object.defineProperty(ln, r(rA.key), rA); } } function o(ln, eA, tA) { return eA && i(ln.prototype, eA), tA && i(ln, tA), Object.defineProperty(ln, "prototype", { writable: !1 }), ln; } function s(ln, eA) { if (eA && (n(eA) == "object" || typeof eA == "function")) return eA; if (eA !== void 0) throw new TypeError("Derived constructors may only return object or undefined"); return function(tA) { if (tA === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return tA; }(ln); } function a(ln) { return a = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(eA) { return eA.__proto__ || Object.getPrototypeOf(eA); }, a(ln); } function c(ln, eA) { return c = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(tA, rA) { return tA.__proto__ = rA, tA; }, c(ln, eA); } function l(ln, eA) { if (typeof eA != "function" && eA !== null) throw new TypeError("Super expression must either be null or a function"); ln.prototype = Object.create(eA && eA.prototype, { constructor: { value: ln, writable: !0, configurable: !0 } }), Object.defineProperty(ln, "prototype", { writable: !1 }), eA && c(ln, eA); } function u(ln, eA, tA) { return (eA = r(eA)) in ln ? Object.defineProperty(ln, eA, { value: tA, enumerable: !0, configurable: !0, writable: !0 }) : ln[eA] = tA, ln; } function d(ln, eA, tA, rA, nA, AA, sA) { try { var aA = ln[AA](sA), iA = aA.value; } catch (uA) { return void tA(uA); } aA.done ? eA(iA) : Promise.resolve(iA).then(rA, nA); } function p(ln) { return function() { var eA = this, tA = arguments; return new Promise(function(rA, nA) { var AA = ln.apply(eA, tA); function sA(iA) { d(AA, rA, nA, sA, aA, "next", iA); } function aA(iA) { d(AA, rA, nA, sA, aA, "throw", iA); } sA(void 0); }); }; } function h$1(ln, eA) { (eA == null || eA > ln.length) && (eA = ln.length); for (var tA = 0, rA = Array(eA); tA < eA; tA++) rA[tA] = ln[tA]; return rA; } function f(ln, eA) { return function(tA) { if (Array.isArray(tA)) return tA; }(ln) || function(tA, rA) { var nA = tA == null ? null : typeof Symbol < "u" && tA[Symbol.iterator] || tA["@@iterator"]; if (nA != null) { var AA, sA, aA, iA, uA = [], lA = !0, yA = !1; try { if (aA = (nA = nA.call(tA)).next, rA === 0) { if (Object(nA) !== nA) return; lA = !1; } else for (; !(lA = (AA = aA.call(nA)).done) && (uA.push(AA.value), uA.length !== rA); lA = !0) ; } catch (pA) { yA = !0, sA = pA; } finally { try { if (!lA && nA.return != null && (iA = nA.return(), Object(iA) !== iA)) return; } finally { if (yA) throw sA; } } return uA; } }(ln, eA) || function(tA, rA) { if (tA) { if (typeof tA == "string") return h$1(tA, rA); var nA = {}.toString.call(tA).slice(8, -1); return nA === "Object" && tA.constructor && (nA = tA.constructor.name), nA === "Map" || nA === "Set" ? Array.from(tA) : nA === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(nA) ? h$1(tA, rA) : void 0; } }(ln, eA) || function() { throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); }(); } function v$1(ln) { return ln && ln.__esModule && Object.prototype.hasOwnProperty.call(ln, "default") ? ln.default : ln; } var g, m = { exports: {} }, y = function() { if (g) return m.exports; g = 1; var ln, eA = typeof Reflect == "object" ? Reflect : null, tA = eA && typeof eA.apply == "function" ? eA.apply : function(fA, VA, vA) { return Function.prototype.apply.call(fA, VA, vA); }; ln = eA && typeof eA.ownKeys == "function" ? eA.ownKeys : Object.getOwnPropertySymbols ? function(fA) { return Object.getOwnPropertyNames(fA).concat(Object.getOwnPropertySymbols(fA)); } : function(fA) { return Object.getOwnPropertyNames(fA); }; var rA = Number.isNaN || function(fA) { return fA != fA; }; function nA() { nA.init.call(this); } m.exports = nA, m.exports.once = function(fA, VA) { return new Promise(function(vA, mA) { function dA(bA) { fA.removeListener(VA, hA), mA(bA); } function hA() { typeof fA.removeListener == "function" && fA.removeListener("error", dA), vA([].slice.call(arguments)); } gA(fA, VA, hA, { once: !0 }), VA !== "error" && function(bA, xA, CA) { typeof bA.on == "function" && gA(bA, "error", xA, CA); }(fA, dA, { once: !0 }); }); }, nA.EventEmitter = nA, nA.prototype._events = void 0, nA.prototype._eventsCount = 0, nA.prototype._maxListeners = void 0; var AA = 10; function sA(fA) { if (typeof fA != "function") throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof fA); } function aA(fA) { return fA._maxListeners === void 0 ? nA.defaultMaxListeners : fA._maxListeners; } function iA(fA, VA, vA, mA) { var dA, hA, bA, xA; if (sA(vA), (hA = fA._events) === void 0 ? (hA = fA._events = /* @__PURE__ */ Object.create(null), fA._eventsCount = 0) : (hA.newListener !== void 0 && (fA.emit("newListener", VA, vA.listener ? vA.listener : vA), hA = fA._events), bA = hA[VA]), bA === void 0) bA = hA[VA] = vA, ++fA._eventsCount; else if (typeof bA == "function" ? bA = hA[VA] = mA ? [vA, bA] : [bA, vA] : mA ? bA.unshift(vA) : bA.push(vA), (dA = aA(fA)) > 0 && bA.length > dA && !bA.warned) { bA.warned = !0; var CA = new Error("Possible EventEmitter memory leak detected. " + bA.length + " " + String(VA) + " listeners added. Use emitter.setMaxListeners() to increase limit"); CA.name = "MaxListenersExceededWarning", CA.emitter = fA, CA.type = VA, CA.count = bA.length, xA = CA, console && console.warn && console.warn(xA); } return fA; } function uA() { if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments); } function lA(fA, VA, vA) { var mA = { fired: !1, wrapFn: void 0, target: fA, type: VA, listener: vA }, dA = uA.bind(mA); return dA.listener = vA, mA.wrapFn = dA, dA; } function yA(fA, VA, vA) { var mA = fA._events; if (mA === void 0) return []; var dA = mA[VA]; return dA === void 0 ? [] : typeof dA == "function" ? vA ? [dA.listener || dA] : [dA] : vA ? function(hA) { for (var bA = new Array(hA.length), xA = 0; xA < bA.length; ++xA) bA[xA] = hA[xA].listener || hA[xA]; return bA; }(dA) : PA(dA, dA.length); } function pA(fA) { var VA = this._events; if (VA !== void 0) { var vA = VA[fA]; if (typeof vA == "function") return 1; if (vA !== void 0) return vA.length; } return 0; } function PA(fA, VA) { for (var vA = new Array(VA), mA = 0; mA < VA; ++mA) vA[mA] = fA[mA]; return vA; } function gA(fA, VA, vA, mA) { if (typeof fA.on == "function") mA.once ? fA.once(VA, vA) : fA.on(VA, vA); else { if (typeof fA.addEventListener != "function") throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof fA); fA.addEventListener(VA, function dA(hA) { mA.once && fA.removeEventListener(VA, dA), vA(hA); }); } } return Object.defineProperty(nA, "defaultMaxListeners", { enumerable: !0, get: function() { return AA; }, set: function(fA) { if (typeof fA != "number" || fA < 0 || rA(fA)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + fA + "."); AA = fA; } }), nA.init = function() { this._events !== void 0 && this._events !== Object.getPrototypeOf(this)._events || (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0; }, nA.prototype.setMaxListeners = function(fA) { if (typeof fA != "number" || fA < 0 || rA(fA)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + fA + "."); return this._maxListeners = fA, this; }, nA.prototype.getMaxListeners = function() { return aA(this); }, nA.prototype.emit = function(fA) { for (var VA = [], vA = 1; vA < arguments.length; vA++) VA.push(arguments[vA]); var mA = fA === "error", dA = this._events; if (dA !== void 0) mA = mA && dA.error === void 0; else if (!mA) return !1; if (mA) { var hA; if (VA.length > 0 && (hA = VA[0]), hA instanceof Error) throw hA; var bA = new Error("Unhandled error." + (hA ? " (" + hA.message + ")" : "")); throw bA.context = hA, bA; } var xA = dA[fA]; if (xA === void 0) return !1; if (typeof xA == "function") tA(xA, this, VA); else { var CA = xA.length, OA = PA(xA, CA); for (vA = 0; vA < CA; ++vA) tA(OA[vA], this, VA); } return !0; }, nA.prototype.addListener = function(fA, VA) { return iA(this, fA, VA, !1); }, nA.prototype.on = nA.prototype.addListener, nA.prototype.prependListener = function(fA, VA) { return iA(this, fA, VA, !0); }, nA.prototype.once = function(fA, VA) { return sA(VA), this.on(fA, lA(this, fA, VA)), this; }, nA.prototype.prependOnceListener = function(fA, VA) { return sA(VA), this.prependListener(fA, lA(this, fA, VA)), this; }, nA.prototype.removeListener = function(fA, VA) { var vA, mA, dA, hA, bA; if (sA(VA), (mA = this._events) === void 0) return this; if ((vA = mA[fA]) === void 0) return this; if (vA === VA || vA.listener === VA) --this._eventsCount == 0 ? this._events = /* @__PURE__ */ Object.create(null) : (delete mA[fA], mA.removeListener && this.emit("removeListener", fA, vA.listener || VA)); else if (typeof vA != "function") { for (dA = -1, hA = vA.length - 1; hA >= 0; hA--) if (vA[hA] === VA || vA[hA].listener === VA) { bA = vA[hA].listener, dA = hA; break; } if (dA < 0) return this; dA === 0 ? vA.shift() : function(xA, CA) { for (; CA + 1 < xA.length; CA++) xA[CA] = xA[CA + 1]; xA.pop(); }(vA, dA), vA.length === 1 && (mA[fA] = vA[0]), mA.removeListener !== void 0 && this.emit("removeListener", fA, bA || VA); } return this; }, nA.prototype.off = nA.prototype.removeListener, nA.prototype.removeAllListeners = function(fA) { var VA, vA, mA; if ((vA = this._events) === void 0) return this; if (vA.removeListener === void 0) return arguments.length === 0 ? (this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0) : vA[fA] !== void 0 && (--this._eventsCount == 0 ? this._events = /* @__PURE__ */ Object.create(null) : delete vA[fA]), this; if (arguments.length === 0) { var dA, hA = Object.keys(vA); for (mA = 0; mA < hA.length; ++mA) (dA = hA[mA]) !== "removeListener" && this.removeAllListeners(dA); return this.removeAllListeners("removeListener"), this._events = /* @__PURE__ */ Object.create(null), this._eventsCount = 0, this; } if (typeof (VA = vA[fA]) == "function") this.removeListener(fA, VA); else if (VA !== void 0) for (mA = VA.length - 1; mA >= 0; mA--) this.removeListener(fA, VA[mA]); return this; }, nA.prototype.listeners = function(fA) { return yA(this, fA, !0); }, nA.prototype.rawListeners = function(fA) { return yA(this, fA, !1); }, nA.listenerCount = function(fA, VA) { return typeof fA.listenerCount == "function" ? fA.listenerCount(VA) : pA.call(fA, VA); }, nA.prototype.listenerCount = pA, nA.prototype.eventNames = function() { return this._eventsCount > 0 ? ln(this._events) : []; }, m.exports; }(), b = v$1(y), _ = Object.prototype.hasOwnProperty; function w$1(ln, eA, tA) { for (tA of ln.keys()) if (S(tA, eA)) return tA; } function S(ln, eA) { var tA, rA, nA; if (ln === eA) return !0; if (ln && eA && (tA = ln.constructor) === eA.constructor) { if (tA === Date) return ln.getTime() === eA.getTime(); if (tA === RegExp) return ln.toString() === eA.toString(); if (tA === Array) { if ((rA = ln.length) === eA.length) for (; rA-- && S(ln[rA], eA[rA]); ) ; return rA === -1; } if (tA === Set) { if (ln.size !== eA.size) return !1; for (rA of ln) if ((nA = rA) && typeof nA == "object" && !(nA = w$1(eA, nA)) || !eA.has(nA)) return !1; return !0; } if (tA === Map) { if (ln.size !== eA.size) return !1; for (rA of ln) if ((nA = rA[0]) && typeof nA == "object" && !(nA = w$1(eA, nA)) || !S(rA[1], eA.get(nA))) return !1; return !0; } if (tA === ArrayBuffer) ln = new Uint8Array(ln), eA = new Uint8Array(eA); else if (tA === DataView) { if ((rA = ln.byteLength) === eA.byteLength) for (; rA-- && ln.getInt8(rA) === eA.getInt8(rA); ) ; return rA === -1; } if (ArrayBuffer.isView(ln)) { if ((rA = ln.byteLength) === eA.byteLength) for (; rA-- && ln[rA] === eA[rA]; ) ; return rA === -1; } if (!tA || typeof ln == "object") { for (tA in rA = 0, ln) if (_.call(ln, tA) && ++rA && !_.call(eA, tA) || !(tA in eA) || !S(ln[tA], eA[tA])) return !1; return Object.keys(eA).length === rA; } } return ln != ln && eA != eA; } const k = { "Amazon Silk": "amazon_silk", "Android Browser": "android", Bada: "bada", BlackBerry: "blackberry", Chrome: "chrome", Chromium: "chromium", Electron: "electron", Epiphany: "epiphany", Firefox: "firefox", Focus: "focus", Generic: "generic", "Google Search": "google_search", Googlebot: "googlebot", "Internet Explorer": "ie", "K-Meleon": "k_meleon", Maxthon: "maxthon", "Microsoft Edge": "edge", "MZ Browser": "mz", "NAVER Whale Browser": "naver", Opera: "opera", "Opera Coast": "opera_coast", PhantomJS: "phantomjs", Puffin: "puffin", QupZilla: "qupzilla", QQ: "qq", QQLite: "qqlite", Safari: "safari", Sailfish: "sailfish", "Samsung Internet for Android": "samsung_internet", SeaMonkey: "seamonkey", Sleipnir: "sleipnir", Swing: "swing", Tizen: "tizen", "UC Browser": "uc", Vivaldi: "vivaldi", "WebOS Browser": "webos", WeChat: "wechat", "Yandex Browser": "yandex", Roku: "roku" }, M = { amazon_silk: "Amazon Silk", android: "Android Browser", bada: "Bada", blackberry: "BlackBerry", chrome: "Chrome", chromium: "Chromium", electron: "Electron", epiphany: "Epiphany", firefox: "Firefox", focus: "Focus", generic: "Generic", googlebot: "Googlebot", google_search: "Google Search", ie: "Internet Explorer", k_meleon: "K-Meleon", maxthon: "Maxthon", edge: "Microsoft Edge", mz: "MZ Browser", naver: "NAVER Whale Browser", opera: "Opera", opera_coast: "Opera Coast", phantomjs: "PhantomJS", puffin: "Puffin", qupzilla: "QupZilla", qq: "QQ Browser", qqlite: "QQ Browser Lite", safari: "Safari", sailfish: "Sailfish", samsung_internet: "Samsung Internet for Android", seamonkey: "SeaMonkey", sleipnir: "Sleipnir", swing: "Swing", tizen: "Tizen", uc: "UC Browser", vivaldi: "Vivaldi", webos: "WebOS Browser", wechat: "WeChat", yandex: "Yandex Browser" }, C = { tablet: "tablet", mobile: "mobile", desktop: "desktop", tv: "tv" }, E = { WindowsPhone: "Windows Phone", Windows: "Windows", MacOS: "macOS", iOS: "iOS", Android: "Android", WebOS: "WebOS", BlackBerry: "BlackBerry", Bada: "Bada", Tizen: "Tizen", Linux: "Linux", ChromeOS: "Chrome OS", PlayStation4: "PlayStation 4", Roku: "Roku" }, T = { EdgeHTML: "EdgeHTML", Blink: "Blink", Trident: "Trident", Presto: "Presto", Gecko: "Gecko", WebKit: "WebKit" }; class O { static getFirstMatch(eA, tA) { const rA = tA.match(eA); return rA && rA.length > 0 && rA[1] || ""; } static getSecondMatch(eA, tA) { const rA = tA.match(eA); return rA && rA.length > 1 && rA[2] || ""; } static matchAndReturnConst(eA, tA, rA) { if (eA.test(tA)) return rA; } static getWindowsVersionName(eA) { switch (eA) { case "NT": return "NT"; case "XP": case "NT 5.1": return "XP"; case "NT 5.0": return "2000"; case "NT 5.2": return "2003"; case "NT 6.0": return "Vista"; case "NT 6.1": return "7"; case "NT 6.2": return "8"; case "NT 6.3": return "8.1"; case "NT 10.0": return "10"; default: return; } } static getMacOSVersionName(eA) { const tA = eA.split(".").splice(0, 2).map((rA) => parseInt(rA, 10) || 0); if (tA.push(0), tA[0] === 10) switch (tA[1]) { case 5: return "Leopard"; case 6: return "Snow Leopard"; case 7: return "Lion"; case 8: return "Mountain Lion"; case 9: return "Mavericks"; case 10: return "Yosemite"; case 11: return "El Capitan"; case 12: return "Sierra"; case 13: return "High Sierra"; case 14: return "Mojave"; case 15: return "Catalina"; default: return; } } static getAndroidVersionName(eA) { const tA = eA.split(".").splice(0, 2).map((rA) => parseInt(rA, 10) || 0); if (tA.push(0), !(tA[0] === 1 && tA[1] < 5)) return tA[0] === 1 && tA[1] < 6 ? "Cupcake" : tA[0] === 1 && tA[1] >= 6 ? "Donut" : tA[0] === 2 && tA[1] < 2 ? "Eclair" : tA[0] === 2 && tA[1] === 2 ? "Froyo" : tA[0] === 2 && tA[1] > 2 ? "Gingerbread" : tA[0] === 3 ? "Honeycomb" : tA[0] === 4 && tA[1] < 1 ? "Ice Cream Sandwich" : tA[0] === 4 && tA[1] < 4 ? "Jelly Bean" : tA[0] === 4 && tA[1] >= 4 ? "KitKat" : tA[0] === 5 ? "Lollipop" : tA[0] === 6 ? "Marshmallow" : tA[0] === 7 ? "Nougat" : tA[0] === 8 ? "Oreo" : tA[0] === 9 ? "Pie" : void 0; } static getVersionPrecision(eA) { return eA.split(".").length; } static compareVersions(eA, tA, rA = !1) { const nA = O.getVersionPrecision(eA), AA = O.getVersionPrecision(tA); let sA = Math.max(nA, AA), aA = 0; const iA = O.map([eA, tA], (uA) => { const lA = sA - O.getVersionPrecision(uA), yA = uA + new Array(lA + 1).join(".0"); return O.map(yA.split("."), (pA) => new Array(20 - pA.length).join("0") + pA).reverse(); }); for (rA && (aA = sA - Math.min(nA, AA)), sA -= 1; sA >= aA; ) { if (iA[0][sA] > iA[1][sA]) return 1; if (iA[0][sA] === iA[1][sA]) { if (sA === aA) return 0; sA -= 1; } else if (iA[0][sA] < iA[1][sA]) return -1; } } static map(eA, tA) { const rA = []; let nA; if (Array.prototype.map) return Array.prototype.map.call(eA, tA); for (nA = 0; nA < eA.length; nA += 1) rA.push(tA(eA[nA])); return rA; } static find(eA, tA) { let rA, nA; if (Array.prototype.find) return Array.prototype.find.call(eA, tA); for (rA = 0, nA = eA.length; rA < nA; rA += 1) { const AA = eA[rA]; if (tA(AA, rA)) return AA; } } static assign(eA, ...tA) { const rA = eA; let nA, AA; if (Object.assign) return Object.assign(eA, ...tA); for (nA = 0, AA = tA.length; nA < AA; nA += 1) { const sA = tA[nA]; typeof sA == "object" && sA !== null && Object.keys(sA).forEach((aA) => { rA[aA] = sA[aA]; }); } return eA; } static getBrowserAlias(eA) { return k[eA]; } static getBrowserTypeByAlias(eA) { return M[eA] || ""; } } const P = /version\/(\d+(\.?_?\d+)+)/i, A = [{ test: [/googlebot/i], describe(ln) { const eA = { name: "Googlebot" }, tA = O.getFirstMatch(/googlebot\/(\d+(\.\d+))/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/opera/i], describe(ln) { const eA = { name: "Opera" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/opr\/|opios/i], describe(ln) { const eA = { name: "Opera" }, tA = O.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/SamsungBrowser/i], describe(ln) { const eA = { name: "Samsung Internet for Android" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/Whale/i], describe(ln) { const eA = { name: "NAVER Whale Browser" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/MZBrowser/i], describe(ln) { const eA = { name: "MZ Browser" }, tA = O.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/focus/i], describe(ln) { const eA = { name: "Focus" }, tA = O.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/swing/i], describe(ln) { const eA = { name: "Swing" }, tA = O.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/coast/i], describe(ln) { const eA = { name: "Opera Coast" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/opt\/\d+(?:.?_?\d+)+/i], describe(ln) { const eA = { name: "Opera Touch" }, tA = O.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/yabrowser/i], describe(ln) { const eA = { name: "Yandex Browser" }, tA = O.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/ucbrowser/i], describe(ln) { const eA = { name: "UC Browser" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/Maxthon|mxios/i], describe(ln) { const eA = { name: "Maxthon" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/epiphany/i], describe(ln) { const eA = { name: "Epiphany" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/puffin/i], describe(ln) { const eA = { name: "Puffin" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/sleipnir/i], describe(ln) { const eA = { name: "Sleipnir" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/k-meleon/i], describe(ln) { const eA = { name: "K-Meleon" }, tA = O.getFirstMatch(P, ln) || O.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/micromessenger/i], describe(ln) { const eA = { name: "WeChat" }, tA = O.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/qqbrowser/i], describe(ln) { const eA = { name: /qqbrowserlite/i.test(ln) ? "QQ Browser Lite" : "QQ Browser" }, tA = O.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i, ln) || O.getFirstMatch(P, ln); return tA && (eA.version = tA), eA; } }, { test: [/msie|trident/i], describe(ln) { const eA = { name: "Internet Explorer" }, tA = O.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/\sedg\//i], describe(ln) { const eA = { name: "Microsoft Edge" }, tA = O.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/edg([ea]|ios)/i], describe(ln) { const eA = { name: "Microsoft Edge" }, tA = O.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/vivaldi/i], describe(ln) { const eA = { name: "Vivaldi" }, tA = O.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/seamonkey/i], describe(ln) { const eA = { name: "SeaMonkey" }, tA = O.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/sailfish/i], describe(ln) { const eA = { name: "Sailfish" }, tA = O.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/silk/i], describe(ln) { const eA = { name: "Amazon Silk" }, tA = O.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i, ln); return tA && (eA.version = tA), eA; } }, { test: [/phantom/i], describe(ln) { const eA = { name: "PhantomJS" }, tA =