@junobuild/analytics 0.2.13 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ var I="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var u=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=I[r[t]&63];return e};var A="http://localhost:5987";var m=t=>t==null,s=t=>!m(t),d=t=>s(t)&&t!=="",V=t=>!d(t);var L="__bigint__",C=(t,e)=>typeof e=="bigint"?{[L]:`${e}`}:e;var b=class extends Error{constructor(r,n){super(`[${r}] Orbiter Error: ${n}`);this.status=r;this.statusText=n}},v=class{#e;constructor({container:e,orbiterId:r}){let i=s(e)&&e!==!1?e===!0?A:e:"https://icp0.io",{protocol:o,host:c}=new URL(i);this.#e=`${o}//${r}.${c}`}postPageViews=async({request:e})=>await this.post({path:"/views",payload:e});postTrackEvents=async({request:e})=>await this.post({path:"/events",payload:e});postPerformanceMetrics=async({request:e})=>await this.post({path:"/metrics",payload:e});post=async({path:e,payload:r})=>{let n=await fetch(`${this.#e}${e}`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json"},body:JSON.stringify(r,C)});if(!n.ok)throw new b(n.status,n.statusText);return await n.json()}};var S=class{#e;#t;constructor(e){this.#e=e,this.#t=new v(e)}setPageView=async e=>{let r={...this.satelliteId(),page_views:[e]};return await this.#t.postPageViews({request:r})};setTrackEvent=async e=>{let r={...this.satelliteId(),track_events:[e]};return await this.#t.postTrackEvents({request:r})};setPerformanceMetric=async e=>{let r={...this.satelliteId(),performance_metrics:[e]};return await this.#t.postPerformanceMetrics({request:r})};satelliteId(){return{satellite_id:this.#e.satelliteId}}};var O=()=>BigInt(Date.now())*BigInt(1e6);var f=()=>({collected_at:O()}),P=()=>{let{userAgent:t}=navigator;return s(t)?{user_agent:t}:{}},U=()=>{let{location:{search:t}}=document,e=new URLSearchParams(t),r=e.get("utm_source");if(m(r)||V(r))return{withCampaign:!1};let n=e.get("utm_medium"),i=e.get("utm_campaign"),o=e.get("utm_term"),c=e.get("utm_content");return{withCampaign:!0,campaign:{utm_source:r,...d(n)&&{utm_medium:n},...d(i)&&{utm_campaign:i},...d(o)&&{utm_term:o},...d(c)&&{utm_content:c}}}};var E=class t{async startPerformance({sessionId:e,postPerformanceMetric:r}){let{onCLS:n,onFCP:i,onINP:o,onLCP:c,onTTFB:g}=await import("./web-vitals-IB5RPD7K.js"),l=h=>{(async()=>await t.setPerformanceMetric({metric:{...h,sessionId:e},postPerformanceMetric:r}))()};n(l),i(l),o(l),c(l),g(l)}static setPerformanceMetric=async({metric:e,postPerformanceMetric:r})=>{let n=t.mapPerformanceMetric(e);if(n==="unknown"){console.warn("Performance metric ignored. Unknown metric name.",e);return}await r({key:{key:u(),...f()},performance_metric:n})};static mapPerformanceMetric({sessionId:e,name:r,value:n,delta:i,id:o,navigationType:c}){let l=(()=>{switch(r){case"CLS":case"FCP":case"INP":case"LCP":case"TTFB":return r;default:return"unknown"}})();if(l==="unknown")return l;let p=(()=>{switch(c){case"navigate":return"Navigate";case"restore":return"Restore";case"reload":return"Reload";case"back-forward":return"BackForward";case"back-forward-cache":return"BackForwardCache";case"prerender":return"Prerender";default:return}})(),q={value:n,delta:i,id:o,...s(p)&&{navigation_type:p}},{location:{href:R}}=document;return{href:R,metric_name:l,session_id:e,data:{WebVitalsMetric:q},...P()}}};var T=class{async parseUserAgent(e){if(m(e))return;let r=await import("./ua-parser-DMUY4BWA.js"),n=new r.default(e),{browser:i,os:o,device:c}=n.getResult();if(!(m(i.name)||m(o.name)))return{browser:i.name,os:o.name,device:c?.type}}};var M=class extends Error{},k=(t,e)=>{if(t==null)throw new M(e)};var N=()=>typeof window<"u";var F="Unable to connect to the analytics services. Did you call `initOrbiter`?",w=t=>{m(t)&&console.warn(F)};var j=()=>{if(!(typeof crypto>"u"))return u()},y=j(),a,_e=t=>(a={orbiter:new S(t),userAgent:t.options?.userAgentParser===!0?new T:null,performance:t.options?.performance===!0?new E:null},{cleanup(){a=null}}),be=()=>{let t=async()=>await B(),e=new Proxy(history.pushState,{apply:async(r,n,i)=>{r.apply(n,i),await t()}});return history.pushState=e,addEventListener("popstate",t,{passive:!0}),{cleanup(){e=null,removeEventListener("popstate",t,!1)}}},x="No session ID initialized.",$=async()=>{if(!N())return;k(y,x);let{title:t,location:{href:e},referrer:r}=document,{innerWidth:n,innerHeight:i,screen:o}=window,{timeZone:c}=Intl.DateTimeFormat().resolvedOptions(),{user_agent:g}=P(),l=s(a?.userAgent)?await a?.userAgent.parseUserAgent(g):void 0,{withCampaign:h,campaign:p}=U(),R={title:t,href:(()=>{if(!h)return e;try{let _=new URL(e);return Object.keys(p??{}).forEach(D=>_.searchParams.delete(D)),_.href}catch{return e}})(),...s(r)&&r!==""&&{referrer:r},device:{inner_width:n,inner_height:i,screen_width:o?.availWidth,screen_height:o?.availHeight},time_zone:c,session_id:y,user_agent:g,...s(l)&&{client:l},...s(p)&&{campaign:p}};w(a),await a?.orbiter?.setPageView({key:{key:u(),...f()},page_view:R})},Me=async()=>{if(!N()||m(a?.performance))return;k(y,x),w(a);let t=async e=>{w(a),await a?.orbiter?.setPerformanceMetric(e)};await a.performance.startPerformance({sessionId:y,postPerformanceMetric:t})},xe=()=>{B()},B=async()=>{await $()},qe=t=>{W(t)},W=async t=>{N()&&(k(y,x),w(a),await a?.orbiter?.setTrackEvent({key:{key:u(),...f()},track_event:{...t,session_id:y,...P(),...f()}}))};export{k as a,_e as b,be as c,$ as d,Me as e,xe as f,B as g,qe as h,W as i};
2
+ //# sourceMappingURL=chunk-JYTRXD5Y.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../node_modules/nanoid/url-alphabet/index.js", "../../../../node_modules/nanoid/index.browser.js", "../../src/constants/container.constants.ts", "../../src/utils/dfinity/nullish.utils.ts", "../../src/utils/dfinity/json.utils.ts", "../../src/api/orbiter.api.ts", "../../src/services/orbiter.services.ts", "../../src/utils/date.utils.ts", "../../src/utils/analytics.utils.ts", "../../src/services/performance.services.ts", "../../src/services/user-agent.services.ts", "../../src/utils/dfinity/asserts.utils.ts", "../../src/utils/env.utils.ts", "../../src/utils/log.utils.ts", "../../src/tracker.ts"],
4
4
  "sourcesContent": ["export let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n", "/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n", "export const DOCKER_CONTAINER_WEB_URL = 'http://localhost:5987';\n", "/**\n * Checks if a given argument is null or undefined.\n *\n * @template T - The type of the argument.\n * @param {T | undefined | null} argument - The argument to check.\n * @returns {argument is undefined | null} `true` if the argument is null or undefined; otherwise, `false`.\n */\nexport const isNullish = <T>(argument: T | undefined | null): argument is undefined | null =>\n argument === null || argument === undefined;\n\n/**\n * Checks if a given argument is neither null nor undefined.\n *\n * @template T - The type of the argument.\n * @param {T | undefined | null} argument - The argument to check.\n * @returns {argument is NonNullable<T>} `true` if the argument is not null or undefined; otherwise, `false`.\n */\nexport const nonNullish = <T>(argument: T | undefined | null): argument is NonNullable<T> =>\n !isNullish(argument);\n\n/**\n * Checks if a given value is not null, not undefined, and not an empty string.\n *\n * @param {string | undefined | null} value - The value to check.\n * @returns {boolean} `true` if the value is not null, not undefined, and not an empty string; otherwise, `false`.\n */\nexport const notEmptyString = (value: string | undefined | null): value is string =>\n nonNullish(value) && value !== '';\n\n/**\n * Checks if a given value is null, undefined, or an empty string.\n *\n * @param {string | undefined | null} value - The value to check.\n * @returns {value is undefined | null | \"\"} Type predicate indicating if the value is null, undefined, or an empty string.\n */\nexport const isEmptyString = (value: string | undefined | null): value is undefined | null | '' =>\n !notEmptyString(value);\n", "import {nonNullish} from './nullish.utils';\n\nconst JSON_KEY_BIGINT = '__bigint__';\n\n/**\n * A custom replacer for `JSON.stringify` that converts specific types not natively supported\n * by the API into JSON-compatible formats.\n *\n * Supported conversions:\n * - `BigInt` \u2192 `{ \"__bigint__\": string }`\n *\n * @param {string} _key - Ignored. Only provided for API compatibility.\n * @param {unknown} value - The value to transform before stringification.\n * @returns {unknown} The transformed value if it matches a known type, otherwise the original value.\n */\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === 'bigint') {\n return {[JSON_KEY_BIGINT]: `${value}`};\n }\n\n return value;\n};\n\n/**\n * A custom reviver for `JSON.parse` that reconstructs specific types from their JSON-encoded representations.\n *\n * This reverses the transformations applied by `jsonReplacer`, restoring the original types.\n *\n * Supported conversions:\n * - `{ \"__bigint__\": string }` \u2192 `BigInt`\n *\n * @param {string} _key - Ignored but provided for API compatibility.\n * @param {unknown} value - The parsed value to transform.\n * @returns {unknown} The reconstructed value if it matches a known type, otherwise the original value.\n */\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const jsonReviver = (_key: string, value: unknown): unknown => {\n const mapValue = <T>(key: string): T => (value as Record<string, T>)[key];\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_BIGINT in value) {\n return BigInt(mapValue(JSON_KEY_BIGINT));\n }\n\n return value;\n};\n", "import {DOCKER_CONTAINER_WEB_URL} from '../constants/container.constants';\nimport type {Environment} from '../types/env';\nimport type {\n SetPageViewsRequest,\n SetPerformanceMetricsRequest,\n SetTrackEventsRequest\n} from '../types/orbiter';\nimport {jsonReplacer} from '../utils/dfinity/json.utils';\nimport {nonNullish} from '../utils/dfinity/nullish.utils';\n\ntype ApiPath = '/views' | '/events' | '/metrics';\n\nexport class ApiError extends Error {\n constructor(\n private readonly status: number,\n private readonly statusText: string\n ) {\n super(`[${status}] Orbiter Error: ${statusText}`);\n }\n}\n\nexport class OrbiterApi {\n readonly #apiUrl: string;\n\n constructor({container, orbiterId}: Environment) {\n const localActor = nonNullish(container) && container !== false;\n\n const hostDomain = localActor\n ? container === true\n ? DOCKER_CONTAINER_WEB_URL\n : container\n : 'https://icp0.io';\n\n const {protocol, host} = new URL(hostDomain);\n\n this.#apiUrl = `${protocol}//${orbiterId}.${host}`;\n }\n\n postPageViews = async ({request: payload}: {request: SetPageViewsRequest}): Promise<null> =>\n await this.post<SetPageViewsRequest, null>({\n path: '/views',\n payload\n });\n\n postTrackEvents = async ({request: payload}: {request: SetTrackEventsRequest}): Promise<null> =>\n await this.post<SetTrackEventsRequest, null>({\n path: '/events',\n payload\n });\n\n postPerformanceMetrics = async ({\n request: payload\n }: {\n request: SetPerformanceMetricsRequest;\n }): Promise<null> =>\n await this.post<SetPerformanceMetricsRequest, null>({\n path: '/metrics',\n payload\n });\n\n post = async <T, R>({path, payload}: {path: ApiPath; payload: T}): Promise<R> => {\n const response = await fetch(`${this.#apiUrl}${path}`, {\n method: 'POST',\n keepalive: true,\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload, jsonReplacer)\n });\n\n if (!response.ok) {\n throw new ApiError(response.status, response.statusText);\n }\n\n return await response.json();\n };\n}\n", "import {OrbiterApi} from '../api/orbiter.api';\nimport type {Environment} from '../types/env';\nimport type {\n SatelliteIdText,\n SetPageViewRequestEntry,\n SetPageViewsRequest,\n SetPerformanceMetricRequestEntry,\n SetPerformanceMetricsRequest,\n SetTrackEventRequestEntry,\n SetTrackEventsRequest\n} from '../types/orbiter';\n\nexport class OrbiterServices {\n readonly #env: Environment;\n readonly #api: OrbiterApi;\n\n constructor(env: Environment) {\n this.#env = env;\n this.#api = new OrbiterApi(env);\n }\n\n setPageView = async (entry: SetPageViewRequestEntry): Promise<null> => {\n const request: SetPageViewsRequest = {\n ...this.satelliteId(),\n page_views: [entry]\n };\n\n return await this.#api.postPageViews({request});\n };\n\n setTrackEvent = async (entry: SetTrackEventRequestEntry): Promise<null> => {\n const request: SetTrackEventsRequest = {\n ...this.satelliteId(),\n track_events: [entry]\n };\n\n return await this.#api.postTrackEvents({request});\n };\n\n setPerformanceMetric = async (entry: SetPerformanceMetricRequestEntry): Promise<null> => {\n const request: SetPerformanceMetricsRequest = {\n ...this.satelliteId(),\n performance_metrics: [entry]\n };\n\n return await this.#api.postPerformanceMetrics({request});\n };\n\n private satelliteId(): {satellite_id: SatelliteIdText} {\n return {\n satellite_id: this.#env.satelliteId\n };\n }\n}\n", "export const nowInBigIntNanoSeconds = (): bigint => BigInt(Date.now()) * BigInt(1e6);\n", "import type {AnalyticKey, SetPageViewPayload} from '../types/orbiter';\nimport {nowInBigIntNanoSeconds} from './date.utils';\nimport {isEmptyString, isNullish, nonNullish, notEmptyString} from './dfinity/nullish.utils';\n\nexport const timestamp = (): Pick<AnalyticKey, 'collected_at'> => ({\n collected_at: nowInBigIntNanoSeconds()\n});\n\nexport const userAgent = (): Pick<SetPageViewPayload, 'user_agent'> => {\n const {userAgent} = navigator;\n return nonNullish(userAgent) ? {user_agent: userAgent} : {};\n};\n\nexport const campaign = (): {withCampaign: boolean} & Pick<SetPageViewPayload, 'campaign'> => {\n const {\n location: {search}\n } = document;\n\n const searchParams = new URLSearchParams(search);\n\n const utm_source = searchParams.get('utm_source');\n\n if (isNullish(utm_source) || isEmptyString(utm_source)) {\n return {withCampaign: false};\n }\n\n const utm_medium = searchParams.get('utm_medium');\n const utm_campaign = searchParams.get('utm_campaign');\n const utm_term = searchParams.get('utm_term');\n const utm_content = searchParams.get('utm_content');\n\n return {\n withCampaign: true,\n campaign: {\n utm_source,\n ...(notEmptyString(utm_medium) && {utm_medium}),\n ...(notEmptyString(utm_campaign) && {utm_campaign}),\n ...(notEmptyString(utm_term) && {utm_term}),\n ...(notEmptyString(utm_content) && {utm_content})\n }\n };\n};\n", "import {nanoid} from 'nanoid';\nimport type {Metric} from 'web-vitals';\nimport type {\n NavigationTypePayload,\n PerformanceMetricNamePayload,\n SetPerformanceMetricPayload,\n SetPerformanceMetricRequestEntry,\n WebVitalsMetricPayload\n} from '../types/orbiter';\nimport {timestamp, userAgent} from '../utils/analytics.utils';\nimport {nonNullish} from '../utils/dfinity/nullish.utils';\n\ntype SessionMetric = Omit<Metric, 'navigationType'> &\n Partial<Pick<Metric, 'navigationType'>> & {sessionId: string};\n\ntype PostPerformanceMetric = (entry: SetPerformanceMetricRequestEntry) => Promise<void>;\n\nexport class PerformanceServices {\n async startPerformance({\n sessionId,\n postPerformanceMetric\n }: {\n sessionId: string;\n postPerformanceMetric: PostPerformanceMetric;\n }) {\n const {onCLS, onFCP, onINP, onLCP, onTTFB} = await import('web-vitals');\n\n const setMetric = (metric: Metric) => {\n (async () => {\n await PerformanceServices.setPerformanceMetric({\n metric: {...metric, sessionId},\n postPerformanceMetric\n });\n })();\n };\n\n onCLS(setMetric);\n onFCP(setMetric);\n onINP(setMetric);\n onLCP(setMetric);\n onTTFB(setMetric);\n }\n\n private static setPerformanceMetric = async ({\n metric,\n postPerformanceMetric\n }: {\n metric: SessionMetric;\n postPerformanceMetric: PostPerformanceMetric;\n }) => {\n const data = PerformanceServices.mapPerformanceMetric(metric);\n\n if (data === 'unknown') {\n console.warn('Performance metric ignored. Unknown metric name.', metric);\n return;\n }\n\n await postPerformanceMetric({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n performance_metric: data\n });\n };\n\n private static mapPerformanceMetric({\n sessionId,\n name: metricName,\n value,\n delta,\n id,\n navigationType\n }: SessionMetric): SetPerformanceMetricPayload | 'unknown' {\n const mapMetricName = (): PerformanceMetricNamePayload | 'unknown' => {\n switch (metricName) {\n case 'CLS':\n case 'FCP':\n case 'INP':\n case 'LCP':\n case 'TTFB':\n return metricName;\n default:\n return 'unknown';\n }\n };\n\n const metric_name = mapMetricName();\n\n if (metric_name === 'unknown') {\n return metric_name;\n }\n\n const mapNavigationType = (): NavigationTypePayload | undefined => {\n switch (navigationType) {\n case 'navigate':\n return 'Navigate';\n case 'restore':\n return 'Restore';\n case 'reload':\n return 'Reload';\n case 'back-forward':\n return 'BackForward';\n case 'back-forward-cache':\n return 'BackForwardCache';\n case 'prerender':\n return 'Prerender';\n default:\n return undefined;\n }\n };\n\n const navigation_type = mapNavigationType();\n\n const data: WebVitalsMetricPayload = {\n value,\n delta,\n id,\n ...(nonNullish(navigation_type) && {navigation_type})\n };\n\n const {\n location: {href}\n } = document;\n\n const metric: SetPerformanceMetricPayload = {\n href,\n metric_name,\n session_id: sessionId,\n data: {\n WebVitalsMetric: data\n },\n ...userAgent()\n };\n\n return metric;\n }\n}\n", "import type {PageViewClientPayload} from '../types/orbiter';\nimport {isNullish} from '../utils/dfinity/nullish.utils';\n\nexport class UserAgentServices {\n async parseUserAgent(user_agent: string | undefined): Promise<PageViewClientPayload | undefined> {\n // In CI test, parsing undefined agent returns WebKit on linux\n if (isNullish(user_agent)) {\n return undefined;\n }\n\n const UAParser = await import('ua-parser-js');\n\n const parser = new UAParser.default(user_agent);\n const {browser, os, device} = parser.getResult();\n\n if (isNullish(browser.name) || isNullish(os.name)) {\n return undefined;\n }\n\n return {\n browser: browser.name,\n os: os.name,\n device: device?.type\n };\n }\n}\n", "export class InvalidPercentageError extends Error {}\nexport class NullishError extends Error {}\n\nexport const assertNonNullish: <T>(\n value: T,\n message?: string\n // eslint-disable-next-line local-rules/prefer-object-params\n) => asserts value is NonNullable<T> = <T>(value: T, message?: string): void => {\n if (value === null || value === undefined) {\n throw new NullishError(message);\n }\n};\n\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const asNonNullish = <T>(value: T, message?: string): NonNullable<T> => {\n assertNonNullish(value, message);\n return value;\n};\n\nexport const assertPercentageNumber = (percentage: number) => {\n if (percentage < 0 || percentage > 100) {\n throw new InvalidPercentageError(`${percentage} is not a valid percentage number.`);\n }\n};\n", "/**\n * Checks if the current environment is a browser.\n * @returns {boolean} True if the current environment is a browser, false otherwise.\n */\nexport const isBrowser = (): boolean => typeof window !== `undefined`;\n", "import {isNullish} from './dfinity/nullish.utils';\n\nconst ORBITER_SERVICES_UNDEFINED_MSG =\n 'Unable to connect to the analytics services. Did you call `initOrbiter`?';\n\nexport const warningOrbiterServicesNotInitialized = <T>(value: T) => {\n if (isNullish(value)) {\n console.warn(ORBITER_SERVICES_UNDEFINED_MSG);\n }\n};\n", "import {nanoid} from 'nanoid';\nimport {OrbiterServices} from './services/orbiter.services';\nimport {PerformanceServices} from './services/performance.services';\nimport {UserAgentServices} from './services/user-agent.services';\nimport type {Environment} from './types/env';\nimport type {SetPageViewPayload, SetPerformanceMetricRequestEntry} from './types/orbiter';\nimport type {TrackEvent} from './types/track';\nimport {campaign, timestamp, userAgent} from './utils/analytics.utils';\nimport {assertNonNullish} from './utils/dfinity/asserts.utils';\nimport {isNullish, nonNullish} from './utils/dfinity/nullish.utils';\nimport {isBrowser} from './utils/env.utils';\nimport {warningOrbiterServicesNotInitialized} from './utils/log.utils';\n\nconst initSessionId = (): string | undefined => {\n // I faced this issue when I used the library in Docusaurus which does not implement the crypto API when server-side rendering.\n // https://github.com/ai/nanoid/issues?q=crypto+not+defined\n if (typeof crypto === 'undefined') {\n return undefined;\n }\n\n return nanoid();\n};\n\nconst sessionId = initSessionId();\n\ninterface Services {\n orbiter: OrbiterServices;\n /**\n * Developer opt-in feature.\n */\n userAgent: UserAgentServices | null;\n performance: PerformanceServices | null;\n}\n\nlet services: Services | undefined | null;\n\nexport const initServices = (env: Environment): {cleanup: () => void} => {\n services = {\n orbiter: new OrbiterServices(env),\n userAgent: env.options?.userAgentParser === true ? new UserAgentServices() : null,\n performance: env.options?.performance === true ? new PerformanceServices() : null\n };\n\n return {\n cleanup() {\n services = null;\n }\n };\n};\n\nexport const initTrackPageViews = (): {cleanup: () => void} => {\n const trackPages = async () => await trackPageViewAsync();\n\n let pushStateProxy: typeof history.pushState | null = new Proxy(history.pushState, {\n // eslint-disable-next-line local-rules/prefer-object-params\n apply: async (\n target,\n thisArg,\n argArray: [data: unknown, unused: string, url?: string | URL | null | undefined]\n ) => {\n target.apply(thisArg, argArray);\n await trackPages();\n }\n });\n\n history.pushState = pushStateProxy;\n\n addEventListener('popstate', trackPages, {passive: true});\n\n return {\n cleanup() {\n pushStateProxy = null;\n removeEventListener('popstate', trackPages, false);\n }\n };\n};\n\nconst SESSION_ID_UNDEFINED_MSG = 'No session ID initialized.';\n\nexport const setPageView = async () => {\n if (!isBrowser()) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n const {\n title,\n location: {href},\n referrer\n } = document;\n const {innerWidth, innerHeight, screen: windowScreen} = window;\n const {timeZone} = Intl.DateTimeFormat().resolvedOptions();\n\n const {user_agent} = userAgent();\n const client = nonNullish(services?.userAgent)\n ? await services?.userAgent.parseUserAgent(user_agent)\n : undefined;\n\n const {withCampaign, campaign: campaignData} = campaign();\n\n // Not gracious but the goal is to manipulate strictly only when needed for performance reasons.\n const cleanHref = (): string => {\n if (!withCampaign) {\n return href;\n }\n\n try {\n const url = new URL(href);\n\n Object.keys(campaignData ?? {}).forEach((key) => url.searchParams.delete(key));\n\n return url.href;\n } catch {\n // Unlikely to happen\n return href;\n }\n };\n\n const page_view: SetPageViewPayload = {\n title,\n href: cleanHref(),\n ...(nonNullish(referrer) && referrer !== '' && {referrer}),\n device: {\n inner_width: innerWidth,\n inner_height: innerHeight,\n screen_width: windowScreen?.availWidth,\n screen_height: windowScreen?.availHeight\n },\n time_zone: timeZone,\n session_id: sessionId,\n user_agent,\n ...(nonNullish(client) && {client}),\n ...(nonNullish(campaignData) && {campaign: campaignData})\n };\n\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setPageView({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n page_view\n });\n};\n\nexport const startTrackPerformance = async () => {\n if (!isBrowser()) {\n return;\n }\n\n if (isNullish(services?.performance)) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n warningOrbiterServicesNotInitialized(services);\n\n const postPerformanceMetric = async (entry: SetPerformanceMetricRequestEntry) => {\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setPerformanceMetric(entry);\n };\n\n await services.performance.startPerformance({sessionId, postPerformanceMetric});\n};\n\n/**\n * Tracks a page view in Juno Analytics.\n *\n * This function does not return a promise, as it triggers the tracking request without awaiting its completion.\n * It is designed for fire-and-forget usage to avoid blocking application flow.\n */\nexport const trackPageView = () => {\n trackPageViewAsync();\n};\n\n/**\n * Tracks a page view in Juno Analytics.\n * @returns {Promise<void>} A promise that resolves when the page view is tracked.\n */\nexport const trackPageViewAsync = async (): Promise<void> => {\n await setPageView();\n};\n\n/**\n * Tracks a custom event in Juno Analytics.\n *\n * This function does not return a promise, as it triggers the tracking request without awaiting its completion.\n * It is designed for fire-and-forget usage to avoid blocking application flow.\n *\n * @param {TrackEvent} data - The event details.\n */\nexport const trackEvent = (data: TrackEvent) => {\n trackEventAsync(data);\n};\n\n/**\n * Tracks a custom event in Juno Analytics.\n * @param {TrackEvent} data - The event details.\n * @returns {Promise<void>} A promise that resolves when the event is tracked.\n */\nexport const trackEventAsync = async (data: TrackEvent): Promise<void> => {\n if (!isBrowser()) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setTrackEvent({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n track_event: {...data, session_id: sessionId, ...userAgent(), ...timestamp()}\n });\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["urlAlphabet", "nanoid", "size", "id", "bytes", "urlAlphabet", "DOCKER_CONTAINER_WEB_URL", "isNullish", "argument", "nonNullish", "notEmptyString", "value", "isEmptyString", "JSON_KEY_BIGINT", "jsonReplacer", "_key", "value", "ApiError", "status", "statusText", "OrbiterApi", "#apiUrl", "container", "orbiterId", "hostDomain", "nonNullish", "DOCKER_CONTAINER_WEB_URL", "protocol", "host", "payload", "path", "response", "jsonReplacer", "OrbiterServices", "#env", "#api", "env", "OrbiterApi", "entry", "request", "nowInBigIntNanoSeconds", "timestamp", "nowInBigIntNanoSeconds", "userAgent", "nonNullish", "campaign", "search", "searchParams", "utm_source", "isNullish", "isEmptyString", "utm_medium", "utm_campaign", "utm_term", "utm_content", "notEmptyString", "PerformanceServices", "_PerformanceServices", "sessionId", "postPerformanceMetric", "onCLS", "onFCP", "onINP", "onLCP", "onTTFB", "setMetric", "metric", "data", "nanoid", "timestamp", "metricName", "value", "delta", "id", "navigationType", "metric_name", "navigation_type", "nonNullish", "href", "userAgent", "UserAgentServices", "user_agent", "isNullish", "UAParser", "parser", "browser", "os", "device", "NullishError", "assertNonNullish", "value", "message", "isBrowser", "ORBITER_SERVICES_UNDEFINED_MSG", "warningOrbiterServicesNotInitialized", "value", "isNullish", "initSessionId", "nanoid", "sessionId", "services", "initServices", "env", "OrbiterServices", "UserAgentServices", "PerformanceServices", "initTrackPageViews", "trackPages", "trackPageViewAsync", "pushStateProxy", "target", "thisArg", "argArray", "SESSION_ID_UNDEFINED_MSG", "setPageView", "isBrowser", "assertNonNullish", "title", "href", "referrer", "innerWidth", "innerHeight", "windowScreen", "timeZone", "user_agent", "userAgent", "client", "nonNullish", "withCampaign", "campaignData", "campaign", "page_view", "url", "key", "warningOrbiterServicesNotInitialized", "timestamp", "startTrackPerformance", "isNullish", "postPerformanceMetric", "entry", "trackPageView", "trackEvent", "data", "trackEventAsync"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{a as o,b as i,c as a,d as s,e as p,f as I,g as f,h as u,i as v}from"./chunk-AY32D3XT.js";import"./chunk-YVLJX3HV.js";var d=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},m=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_ORBITER_ID??import.meta.env?.PUBLIC_ORBITER_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_ORBITER_ID??e():e()},c=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var E=e=>{let n=e?.satelliteId??d();o(n,"Satellite ID is not configured. Orbiter cannot be initialized without a target Satellite.");let t=e?.orbiterId??m();o(t,"Orbiter ID is not configured. The analytics cannot be initialized without an Orbiter.");let r=e?.container??c();return{orbiterId:t,satelliteId:n,container:r,options:e?.options}},g=e=>{let n=E(e),{cleanup:t}=i(n);s();let{cleanup:r}=a();return p(),()=>{t(),r()}};export{g as initOrbiter,u as trackEvent,v as trackEventAsync,I as trackPageView,f as trackPageViewAsync};
1
+ import{a as o,b as i,c as a,d as s,e as p,f as I,g as f,h as u,i as v}from"./chunk-JYTRXD5Y.js";import"./chunk-YVLJX3HV.js";var d=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},m=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_ORBITER_ID??import.meta.env?.PUBLIC_ORBITER_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_ORBITER_ID??e():e()},c=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()};var E=e=>{let n=e?.satelliteId??d();o(n,"Satellite ID is not configured. Orbiter cannot be initialized without a target Satellite.");let t=e?.orbiterId??m();o(t,"Orbiter ID is not configured. The analytics cannot be initialized without an Orbiter.");let r=e?.container??c();return{orbiterId:t,satelliteId:n,container:r,options:e?.options}},g=e=>{let n=E(e),{cleanup:t}=i(n);s();let{cleanup:r}=a();return p(),()=>{t(),r()}};export{g as initOrbiter,u as trackEvent,v as trackEventAsync,I as trackPageView,f as trackPageViewAsync};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h}from"./chunk-AY32D3XT.js";import"./chunk-YVLJX3HV.js";export{a as initServices,b as initTrackPageViews,c as setPageView,d as startTrackPerformance,g as trackEvent,h as trackEventAsync,e as trackPageView,f as trackPageViewAsync};
1
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h}from"./chunk-JYTRXD5Y.js";import"./chunk-YVLJX3HV.js";export{a as initServices,b as initTrackPageViews,c as setPageView,d as startTrackPerformance,g as trackEvent,h as trackEventAsync,e as trackPageView,f as trackPageViewAsync};
2
2
  //# sourceMappingURL=tracker.js.map
@@ -1,4 +1,4 @@
1
1
  import { createRequire as topLevelCreateRequire } from 'module';
2
2
  const require = topLevelCreateRequire(import.meta.url);
3
- var Ht=Object.create;var Re=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Gt=Object.getPrototypeOf,Xt=Object.prototype.hasOwnProperty;var Kt=(t,e)=>()=>(t&&(e=t(t=0)),e);var Yt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Zt=(t,e)=>{for(var s in e)Re(t,s,{get:e[s],enumerable:!0})},Jt=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of $t(e))!Xt.call(t,l)&&l!==s&&Re(t,l,{get:()=>e[l],enumerable:!(o=Wt(e,l))||o.enumerable});return t};var Qt=(t,e,s)=>(s=t!=null?Ht(Gt(t)):{},Jt(e||!t||!t.__esModule?Re(s,"default",{value:t,enumerable:!0}):s,t));var Nt={};Zt(Nt,{CLSThresholds:()=>Ue,FCPThresholds:()=>Be,INPThresholds:()=>ze,LCPThresholds:()=>je,TTFBThresholds:()=>He,onCLS:()=>ri,onFCP:()=>St,onINP:()=>ai,onLCP:()=>si,onTTFB:()=>ci});function Xe(t,e){return Oe.get(t)||Oe.set(t,new e),Oe.get(t)}var Et,H,A,$e,Ge,te,O,Oe,Le,ie,Ke,j,xt,kt,qe,fe,he,Be,St,Ue,ri,_t,Ce,be,ni,Ve,Tt,oi,Pt,De,It,ze,ai,Fe,je,si,He,We,ci,Mt=Kt(()=>{Et=-1,H=t=>{addEventListener("pageshow",e=>{e.persisted&&(Et=e.timeStamp,t(e))},!0)},A=(t,e,s,o)=>{let l,d;return b=>{e.value>=0&&(b||o)&&(d=e.value-(l??0),(d||l===void 0)&&(l=e.value,e.delta=d,e.rating=((y,g)=>y>g[1]?"poor":y>g[0]?"needs-improvement":"good")(e.value,s),t(e)))}},$e=t=>{requestAnimationFrame(()=>requestAnimationFrame(t))},Ge=()=>{let t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart<performance.now())return t},te=()=>Ge()?.activationStart??0,O=(t,e=-1)=>{let s=Ge(),o="navigate";return Et>=0?o="back-forward-cache":s&&(document.prerendering||te()>0?o="prerender":document.wasDiscarded?o="restore":s.type&&(o=s.type.replace(/_/g,"-"))),{name:t,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:o}},Oe=new WeakMap;Le=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let s=this.o[0],o=this.o.at(-1);this.i&&s&&o&&e.startTime-o.startTime<1e3&&e.startTime-s.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},ie=(t,e,s={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){let o=new PerformanceObserver(l=>{queueMicrotask(()=>{e(l.getEntries())})});return o.observe({type:t,buffered:!0,...s}),o}}catch{}},Ke=t=>{let e=!1;return()=>{e||(t(),e=!0)}},j=-1,xt=new Set,kt=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,qe=t=>{if(document.visibilityState==="hidden"){if(t.type==="visibilitychange")for(let e of xt)e();isFinite(j)||(j=t.type==="visibilitychange"?t.timeStamp:0,removeEventListener("prerenderingchange",qe,!0))}},fe=()=>{if(j<0){let t=te();j=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(s=>s.name==="hidden"&&s.startTime>=t)?.startTime)??kt(),addEventListener("visibilitychange",qe,!0),addEventListener("prerenderingchange",qe,!0),H(()=>{setTimeout(()=>{j=kt()})})}return{get firstHiddenTime(){return j},onHidden(t){xt.add(t)}}},he=t=>{document.prerendering?addEventListener("prerenderingchange",t,!0):t()},Be=[1800,3e3],St=(t,e={})=>{he(()=>{let s=fe(),o,l=O("FCP"),d=ie("paint",b=>{for(let y of b)y.name==="first-contentful-paint"&&(d.disconnect(),y.startTime<s.firstHiddenTime&&(l.value=Math.max(y.startTime-te(),0),l.entries.push(y),o(!0)))});d&&(o=A(t,l,Be,e.reportAllChanges),H(b=>{l=O("FCP"),o=A(t,l,Be,e.reportAllChanges),$e(()=>{l.value=performance.now()-b.timeStamp,o(!0)})}))})},Ue=[.1,.25],ri=(t,e={})=>{let s=fe();St(Ke(()=>{let o,l=O("CLS",0),d=Xe(e,Le),b=g=>{for(let T of g)d.h(T);d.i>l.value&&(l.value=d.i,l.entries=d.o,o())},y=ie("layout-shift",b);y&&(o=A(t,l,Ue,e.reportAllChanges),s.onHidden(()=>{b(y.takeRecords()),o(!0)}),H(()=>{d.i=0,l=O("CLS",0),o=A(t,l,Ue,e.reportAllChanges),$e(o)}),setTimeout(o))}))},_t=0,Ce=1/0,be=0,ni=t=>{for(let e of t)e.interactionId&&(Ce=Math.min(Ce,e.interactionId),be=Math.max(be,e.interactionId),_t=be?(be-Ce)/7+1:0)},Tt=()=>Ve?_t:performance.interactionCount??0,oi=()=>{"interactionCount"in performance||Ve||(Ve=ie("event",ni,{durationThreshold:0}))},Pt=0,De=class{l=[];u=new Map;m;p;v(){Pt=Tt(),this.l.length=0,this.u.clear()}T(){let e=Math.min(this.l.length-1,Math.floor((Tt()-Pt)/50));return this.l[e]}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!=="first-input")return;let s=this.l.at(-1),o=this.u.get(e.interactionId);if(o||this.l.length<10||e.duration>s.L){if(o?e.duration>o.L?(o.entries=[e],o.L=e.duration):e.duration===o.L&&e.startTime===o.entries[0].startTime&&o.entries.push(e):(o={id:e.interactionId,entries:[e],L:e.duration},this.u.set(o.id,o),this.l.push(o)),this.l.sort((l,d)=>d.L-l.L),this.l.length>10){let l=this.l.splice(10);for(let d of l)this.u.delete(d.id)}this.p?.(o)}}},It=t=>{let e=globalThis.requestIdleCallback||setTimeout,s=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")t();else{let o=Ke(t),l=-1,d=()=>{s(l),o()};addEventListener("visibilitychange",d,{once:!0,capture:!0}),l=e(()=>{removeEventListener("visibilitychange",d,{capture:!0}),o()})}},ze=[200,500],ai=(t,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let s=fe();he(()=>{oi();let o,l=O("INP"),d=Xe(e,De),b=g=>{It(()=>{for(let i of g)d.h(i);let T=d.T();T&&T.L!==l.value&&(l.value=T.L,l.entries=T.entries,o())})},y=ie("event",b,{durationThreshold:e.durationThreshold??40});o=A(t,l,ze,e.reportAllChanges),y&&(y.observe({type:"first-input",buffered:!0}),s.onHidden(()=>{b(y.takeRecords()),o(!0)}),H(()=>{d.v(),l=O("INP"),o=A(t,l,ze,e.reportAllChanges)}))})},Fe=class{m;h(e){this.m?.(e)}},je=[2500,4e3],si=(t,e={})=>{he(()=>{let s=fe(),o,l=O("LCP"),d=Xe(e,Fe),b=g=>{e.reportAllChanges||(g=g.slice(-1));for(let T of g)d.h(T),T.startTime<s.firstHiddenTime&&(l.value=Math.max(T.startTime-te(),0),l.entries=[T],o())},y=ie("largest-contentful-paint",b);if(y){o=A(t,l,je,e.reportAllChanges);let g=Ke(()=>{b(y.takeRecords()),y.disconnect(),o(!0)}),T=i=>{i.isTrusted&&(It(g),removeEventListener(i.type,T,{capture:!0}))};for(let i of["keydown","click","visibilitychange"])addEventListener(i,T,{capture:!0});H(i=>{l=O("LCP"),o=A(t,l,je,e.reportAllChanges),$e(()=>{l.value=performance.now()-i.timeStamp,o(!0)})})}})},He=[800,1800],We=t=>{document.prerendering?he(()=>We(t)):document.readyState!=="complete"?addEventListener("load",()=>We(t),!0):setTimeout(t)},ci=(t,e={})=>{let s=O("TTFB"),o=A(t,s,He,e.reportAllChanges);We(()=>{let l=Ge();l&&(s.value=Math.max(l.responseStart-te(),0),s.entries=[l],o(!0),H(()=>{s=O("TTFB",0),o=A(t,s,He,e.reportAllChanges),o(!0)}))})}});var Rt=Yt((re,ve)=>{(function(t,e){"use strict";var s="1.0.41",o="",l="?",d="function",b="undefined",y="object",g="string",T="major",i="model",a="name",r="type",n="vendor",c="version",N="architecture",$="console",m="mobile",p="tablet",P="smarttv",E="wearable",G="embedded",Te=500,oe="Amazon",B="Apple",et="ASUS",tt="BlackBerry",ae="Browser",se="Chrome",Vt="Edge",ce="Firefox",le="Google",it="Honor",rt="Huawei",Dt="Lenovo",de="LG",Pe="Microsoft",Ee="Motorola",xe="Nvidia",nt="OnePlus",X="Opera",Se="OPPO",K="Samsung",ot="Sharp",Y="Sony",_e="Xiaomi",Ie="Zebra",at="Facebook",st="Chromium OS",ct="Mac OS",lt=" Browser",zt=function(f,h){var w={};for(var k in f)h[k]&&h[k].length%2===0?w[k]=h[k].concat(f[k]):w[k]=f[k];return w},ue=function(f){for(var h={},w=0;w<f.length;w++)h[f[w].toUpperCase()]=f[w];return h},dt=function(f,h){return typeof f===g?Z(h).indexOf(Z(f))!==-1:!1},Z=function(f){return f.toLowerCase()},Ft=function(f){return typeof f===g?f.replace(/[^\d\.]/g,o).split(".")[0]:e},Ne=function(f,h){if(typeof f===g)return f=f.replace(/^\s\s*/,o),typeof h===b?f:f.substring(0,Te)},J=function(f,h){for(var w=0,k,C,M,v,u,R;w<h.length&&!u;){var Me=h[w],pt=h[w+1];for(k=C=0;k<Me.length&&!u&&Me[k];)if(u=Me[k++].exec(f),u)for(M=0;M<pt.length;M++)R=u[++C],v=pt[M],typeof v===y&&v.length>0?v.length===2?typeof v[1]==d?this[v[0]]=v[1].call(this,R):this[v[0]]=v[1]:v.length===3?typeof v[1]===d&&!(v[1].exec&&v[1].test)?this[v[0]]=R?v[1].call(this,R,v[2]):e:this[v[0]]=R?R.replace(v[1],v[2]):e:v.length===4&&(this[v[0]]=R?v[3].call(this,R.replace(v[1],v[2])):e):this[v]=R||e;w+=2}},Q=function(f,h){for(var w in h)if(typeof h[w]===y&&h[w].length>0){for(var k=0;k<h[w].length;k++)if(dt(h[w][k],f))return w===l?e:w}else if(dt(h[w],f))return w===l?e:w;return h.hasOwnProperty("*")?h["*"]:f},jt={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},ut={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"},mt={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[c,[a,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[c,[a,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[a,c],[/opios[\/ ]+([\w\.]+)/i],[c,[a,X+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[c,[a,X+" GX"]],[/\bopr\/([\w\.]+)/i],[c,[a,X]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[c,[a,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[c,[a,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[a,c],[/quark(?:pc)?\/([-\w\.]+)/i],[c,[a,"Quark"]],[/\bddg\/([\w\.]+)/i],[c,[a,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[c,[a,"UC"+ae]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[c,[a,"WeChat"]],[/konqueror\/([\w\.]+)/i],[c,[a,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[c,[a,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[c,[a,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[c,[a,"Smart Lenovo "+ae]],[/(avast|avg)\/([\w\.]+)/i],[[a,/(.+)/,"$1 Secure "+ae],c],[/\bfocus\/([\w\.]+)/i],[c,[a,ce+" Focus"]],[/\bopt\/([\w\.]+)/i],[c,[a,X+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[c,[a,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[c,[a,"Dolphin"]],[/coast\/([\w\.]+)/i],[c,[a,X+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[c,[a,"MIUI"+lt]],[/fxios\/([\w\.-]+)/i],[c,[a,ce]],[/\bqihoobrowser\/?([\w\.]*)/i],[c,[a,"360"]],[/\b(qq)\/([\w\.]+)/i],[[a,/(.+)/,"$1Browser"],c],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[a,/(.+)/,"$1"+lt],c],[/samsungbrowser\/([\w\.]+)/i],[c,[a,K+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[c,[a,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[a,"Sogou Mobile"],c],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[a,c],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[a],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[c,a],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[a,at],c],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[a,c],[/\bgsa\/([\w\.]+) .*safari\//i],[c,[a,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[c,[a,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[c,[a,se+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[a,se+" WebView"],c],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[c,[a,"Android "+ae]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[a,c],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[c,[a,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[c,a],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[a,[c,Q,jt]],[/(webkit|khtml)\/([\w\.]+)/i],[a,c],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[a,"Netscape"],c],[/(wolvic|librewolf)\/([\w\.]+)/i],[a,c],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[c,[a,ce+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[a,[c,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[a,[c,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[N,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[N,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[N,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[N,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[N,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[N,/ower/,o,Z]],[/ sun4\w[;\)]/i],[[N,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[N,Z]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[i,[n,K],[r,p]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[i,[n,K],[r,m]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[i,[n,B],[r,m]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[i,[n,B],[r,p]],[/(macintosh);/i],[i,[n,B]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[i,[n,ot],[r,m]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[i,[n,it],[r,p]],[/honor([-\w ]+)[;\)]/i],[i,[n,it],[r,m]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[i,[n,rt],[r,p]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[i,[n,rt],[r,m]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[i,/_/g," "],[n,_e],[r,p]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[i,/_/g," "],[n,_e],[r,m]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[i,[n,Se],[r,m]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[i,[n,Q,{OnePlus:["304","403","203"],"*":Se}],[r,p]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[i,[n,"Vivo"],[r,m]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[i,[n,"Realme"],[r,m]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[i,[n,Ee],[r,m]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[i,[n,Ee],[r,p]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[i,[n,de],[r,p]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[i,[n,de],[r,m]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[i,[n,Dt],[r,p]],[/(nokia) (t[12][01])/i],[n,i,[r,p]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[i,/_/g," "],[r,m],[n,"Nokia"]],[/(pixel (c|tablet))\b/i],[i,[n,le],[r,p]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[i,[n,le],[r,m]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[i,[n,Y],[r,m]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[i,"Xperia Tablet"],[n,Y],[r,p]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[i,[n,nt],[r,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[i,[n,oe],[r,p]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[i,/(.+)/g,"Fire Phone $1"],[n,oe],[r,m]],[/(playbook);[-\w\),; ]+(rim)/i],[i,n,[r,p]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[i,[n,tt],[r,m]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[i,[n,et],[r,p]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[i,[n,et],[r,m]],[/(nexus 9)/i],[i,[n,"HTC"],[r,p]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[n,[i,/_/g," "],[r,m]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[i,[n,"TCL"],[r,p]],[/(itel) ((\w+))/i],[[n,Z],i,[r,Q,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[i,[n,"Acer"],[r,p]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[i,[n,"Meizu"],[r,m]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[i,[n,"Ulefone"],[r,m]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[i,[n,"Energizer"],[r,m]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[i,[n,"Cat"],[r,m]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[i,[n,"Smartfren"],[r,m]],[/droid.+; (a(?:015|06[35]|142p?))/i],[i,[n,"Nothing"],[r,m]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[i,[n,"Archos"],[r,p]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[i,[n,"Archos"],[r,m]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[n,i,[r,p]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[n,i,[r,m]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[n,i,[r,p]],[/(surface duo)/i],[i,[n,Pe],[r,p]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[i,[n,"Fairphone"],[r,m]],[/(u304aa)/i],[i,[n,"AT&T"],[r,m]],[/\bsie-(\w*)/i],[i,[n,"Siemens"],[r,m]],[/\b(rct\w+) b/i],[i,[n,"RCA"],[r,p]],[/\b(venue[\d ]{2,7}) b/i],[i,[n,"Dell"],[r,p]],[/\b(q(?:mv|ta)\w+) b/i],[i,[n,"Verizon"],[r,p]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[i,[n,"Barnes & Noble"],[r,p]],[/\b(tm\d{3}\w+) b/i],[i,[n,"NuVision"],[r,p]],[/\b(k88) b/i],[i,[n,"ZTE"],[r,p]],[/\b(nx\d{3}j) b/i],[i,[n,"ZTE"],[r,m]],[/\b(gen\d{3}) b.+49h/i],[i,[n,"Swiss"],[r,m]],[/\b(zur\d{3}) b/i],[i,[n,"Swiss"],[r,p]],[/\b((zeki)?tb.*\b) b/i],[i,[n,"Zeki"],[r,p]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[n,"Dragon Touch"],i,[r,p]],[/\b(ns-?\w{0,9}) b/i],[i,[n,"Insignia"],[r,p]],[/\b((nxa|next)-?\w{0,9}) b/i],[i,[n,"NextBook"],[r,p]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[n,"Voice"],i,[r,m]],[/\b(lvtel\-)?(v1[12]) b/i],[[n,"LvTel"],i,[r,m]],[/\b(ph-1) /i],[i,[n,"Essential"],[r,m]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[i,[n,"Envizen"],[r,p]],[/\b(trio[-\w\. ]+) b/i],[i,[n,"MachSpeed"],[r,p]],[/\btu_(1491) b/i],[i,[n,"Rotor"],[r,p]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[i,[n,xe],[r,p]],[/(sprint) (\w+)/i],[n,i,[r,m]],[/(kin\.[onetw]{3})/i],[[i,/\./g," "],[n,Pe],[r,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[i,[n,Ie],[r,p]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[i,[n,Ie],[r,m]],[/smart-tv.+(samsung)/i],[n,[r,P]],[/hbbtv.+maple;(\d+)/i],[[i,/^/,"SmartTV"],[n,K],[r,P]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[n,de],[r,P]],[/(apple) ?tv/i],[n,[i,B+" TV"],[r,P]],[/crkey/i],[[i,se+"cast"],[n,le],[r,P]],[/droid.+aft(\w+)( bui|\))/i],[i,[n,oe],[r,P]],[/(shield \w+ tv)/i],[i,[n,xe],[r,P]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[i,[n,ot],[r,P]],[/(bravia[\w ]+)( bui|\))/i],[i,[n,Y],[r,P]],[/(mi(tv|box)-?\w+) bui/i],[i,[n,_e],[r,P]],[/Hbbtv.*(technisat) (.*);/i],[n,i,[r,P]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[n,Ne],[i,Ne],[r,P]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[i,[r,P]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[r,P]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[n,i,[r,$]],[/droid.+; (shield)( bui|\))/i],[i,[n,xe],[r,$]],[/(playstation \w+)/i],[i,[n,Y],[r,$]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[i,[n,Pe],[r,$]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[i,[n,K],[r,E]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[n,i,[r,E]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[i,[n,Se],[r,E]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[i,[n,B],[r,E]],[/(opwwe\d{3})/i],[i,[n,nt],[r,E]],[/(moto 360)/i],[i,[n,Ee],[r,E]],[/(smartwatch 3)/i],[i,[n,Y],[r,E]],[/(g watch r)/i],[i,[n,de],[r,E]],[/droid.+; (wt63?0{2,3})\)/i],[i,[n,Ie],[r,E]],[/droid.+; (glass) \d/i],[i,[n,le],[r,E]],[/(pico) (4|neo3(?: link|pro)?)/i],[n,i,[r,E]],[/; (quest( \d| pro)?)/i],[i,[n,at],[r,E]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[n,[r,G]],[/(aeobc)\b/i],[i,[n,oe],[r,G]],[/(homepod).+mac os/i],[i,[n,B],[r,G]],[/windows iot/i],[[r,G]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[i,[r,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[i,[r,p]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[r,p]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[r,m]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[i,[n,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[c,[a,Vt+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[a,c],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[c,[a,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[a,c],[/ladybird\//i],[[a,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[c,a]],os:[[/microsoft (windows) (vista|xp)/i],[a,c],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[a,[c,Q,ut]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[c,Q,ut],[a,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[c,/_/g,"."],[a,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[a,ct],[c,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[c,a],[/(ubuntu) ([\w\.]+) like android/i],[[a,/(.+)/,"$1 Touch"],c],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[a,c],[/\(bb(10);/i],[c,[a,tt]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[c,[a,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[c,[a,ce+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[c,[a,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[c,[a,"watchOS"]],[/crkey\/([\d\.]+)/i],[c,[a,se+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[a,st],c],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[a,c],[/(sunos) ?([\w\.\d]*)/i],[[a,"Solaris"],c],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[a,c]]},x=function(f,h){if(typeof f===y&&(h=f,f=e),!(this instanceof x))return new x(f,h).getResult();var w=typeof t!==b&&t.navigator?t.navigator:e,k=f||(w&&w.userAgent?w.userAgent:o),C=w&&w.userAgentData?w.userAgentData:e,M=h?zt(mt,h):mt,v=w&&w.userAgent==k;return this.getBrowser=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.browser),u[T]=Ft(u[c]),v&&w&&w.brave&&typeof w.brave.isBrave==d&&(u[a]="Brave"),u},this.getCPU=function(){var u={};return u[N]=e,J.call(u,k,M.cpu),u},this.getDevice=function(){var u={};return u[n]=e,u[i]=e,u[r]=e,J.call(u,k,M.device),v&&!u[r]&&C&&C.mobile&&(u[r]=m),v&&u[i]=="Macintosh"&&w&&typeof w.standalone!==b&&w.maxTouchPoints&&w.maxTouchPoints>2&&(u[i]="iPad",u[r]=p),u},this.getEngine=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.engine),u},this.getOS=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.os),v&&!u[a]&&C&&C.platform&&C.platform!="Unknown"&&(u[a]=C.platform.replace(/chrome os/i,st).replace(/macos/i,ct)),u},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return k},this.setUA=function(u){return k=typeof u===g&&u.length>Te?Ne(u,Te):u,this},this.setUA(k),this};x.VERSION=s,x.BROWSER=ue([a,c,T]),x.CPU=ue([N]),x.DEVICE=ue([i,n,r,$,m,P,p,E,G]),x.ENGINE=x.OS=ue([a,c]),typeof re!==b?(typeof ve!==b&&ve.exports&&(re=ve.exports=x),re.UAParser=x):typeof define===d&&define.amd?define(function(){return x}):typeof t!==b&&(t.UAParser=x);var U=typeof t!==b&&(t.jQuery||t.Zepto);if(U&&!U.ua){var me=new x;U.ua=me.getResult(),U.ua.get=function(){return me.getUA()},U.ua.set=function(f){me.setUA(f);var h=me.getResult();for(var w in h)U.ua[w]=h[w]}}})(typeof window=="object"?window:re)});import{webcrypto as bt}from"node:crypto";var wt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ei=128,L,V;function ti(t){!L||L.length<t?(L=Buffer.allocUnsafe(t*ei),bt.getRandomValues(L),V=0):V+t>L.length&&(bt.getRandomValues(L),V=0),V+=t}function D(t=21){ti(t|=0);let e="";for(let s=V-t;s<V;s++)e+=wt[L[s]&63];return e}var ft="http://localhost:5987";var I=t=>t==null,S=t=>!I(t),z=t=>S(t)&&t!=="",ht=t=>!z(t);var ii="__bigint__",gt=(t,e)=>typeof e=="bigint"?{[ii]:`${e}`}:e;var Ae=class extends Error{constructor(s,o){super(`[${s}] Orbiter Error: ${o}`);this.status=s;this.statusText=o}status;statusText},pe=class{#e;constructor({container:e,orbiterId:s}){let l=S(e)&&e!==!1?e===!0?ft:e:"https://icp0.io",{protocol:d,host:b}=new URL(l);this.#e=`${d}//${s}.${b}`}postPageViews=async({request:e})=>await this.post({path:"/views",payload:e});postTrackEvents=async({request:e})=>await this.post({path:"/events",payload:e});postPerformanceMetrics=async({request:e})=>await this.post({path:"/metrics",payload:e});post=async({path:e,payload:s})=>{let o=await fetch(`${this.#e}${e}`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json"},body:JSON.stringify(s,gt)});if(!o.ok)throw new Ae(o.status,o.statusText);return await o.json()}};var we=class{#e;#t;constructor(e){this.#e=e,this.#t=new pe(e)}setPageView=async e=>{let s={...this.satelliteId(),page_views:[e]};return await this.#t.postPageViews({request:s})};setTrackEvent=async e=>{let s={...this.satelliteId(),track_events:[e]};return await this.#t.postTrackEvents({request:s})};setPerformanceMetric=async e=>{let s={...this.satelliteId(),performance_metrics:[e]};return await this.#t.postPerformanceMetrics({request:s})};satelliteId(){return{satellite_id:this.#e.satelliteId}}};var vt=()=>BigInt(Date.now())*BigInt(1e6);var F=()=>({collected_at:vt()}),ee=()=>{let{userAgent:t}=navigator;return S(t)?{user_agent:t}:{}},yt=()=>{let{location:{search:t}}=document,e=new URLSearchParams(t),s=e.get("utm_source");if(I(s)||ht(s))return{withCampaign:!1};let o=e.get("utm_medium"),l=e.get("utm_campaign"),d=e.get("utm_term"),b=e.get("utm_content");return{withCampaign:!0,campaign:{utm_source:s,...z(o)&&{utm_medium:o},...z(l)&&{utm_campaign:l},...z(d)&&{utm_term:d},...z(b)&&{utm_content:b}}}};var ge=class t{async startPerformance({sessionId:e,postPerformanceMetric:s}){let{onCLS:o,onFCP:l,onINP:d,onLCP:b,onTTFB:y}=await Promise.resolve().then(()=>(Mt(),Nt)),g=T=>{(async()=>await t.setPerformanceMetric({metric:{...T,sessionId:e},postPerformanceMetric:s}))()};o(g),l(g),d(g),b(g),y(g)}static setPerformanceMetric=async({metric:e,postPerformanceMetric:s})=>{let o=t.mapPerformanceMetric(e);if(o==="unknown"){console.warn("Performance metric ignored. Unknown metric name.",e);return}await s({key:{key:D(),...F()},performance_metric:o})};static mapPerformanceMetric({sessionId:e,name:s,value:o,delta:l,id:d,navigationType:b}){let g=(()=>{switch(s){case"CLS":case"FCP":case"INP":case"LCP":case"TTFB":return s;default:return"unknown"}})();if(g==="unknown")return g;let i=(()=>{switch(b){case"navigate":return"Navigate";case"restore":return"Restore";case"reload":return"Reload";case"back-forward":return"BackForward";case"back-forward-cache":return"BackForwardCache";case"prerender":return"Prerender";default:return}})(),a={value:o,delta:l,id:d,...S(i)&&{navigation_type:i}},{location:{href:r}}=document;return{href:r,metric_name:g,session_id:e,data:{WebVitalsMetric:a},...ee()}}};var ye=class{async parseUserAgent(e){if(I(e))return;let s=await Promise.resolve().then(()=>Qt(Rt(),1)),o=new s.default(e),{browser:l,os:d,device:b}=o.getResult();if(!(I(l.name)||I(d.name)))return{browser:l.name,os:d.name,device:b?.type}}};var Ye=class extends Error{},q=(t,e)=>{if(t==null)throw new Ye(e)};var ke=()=>typeof window<"u";var li="Unable to connect to the analytics services. Did you call `initOrbiter`?",ne=t=>{I(t)&&console.warn(li)};var di=()=>{if(!(typeof crypto>"u"))return D()},W=di(),_,At=t=>(_={orbiter:new we(t),userAgent:t.options?.userAgentParser===!0?new ye:null,performance:t.options?.performance===!0?new ge:null},{cleanup(){_=null}}),Ot=()=>{let t=async()=>await Qe(),e=new Proxy(history.pushState,{apply:async(s,o,l)=>{s.apply(o,l),await t()}});return history.pushState=e,addEventListener("popstate",t,{passive:!0}),{cleanup(){e=null,removeEventListener("popstate",t,!1)}}},Ze="No session ID initialized.",Je=async()=>{if(!ke())return;q(W,Ze);let{title:t,location:{href:e},referrer:s}=document,{innerWidth:o,innerHeight:l,screen:d}=window,{timeZone:b}=Intl.DateTimeFormat().resolvedOptions(),{user_agent:y}=ee(),g=S(_?.userAgent)?await _?.userAgent.parseUserAgent(y):void 0,{withCampaign:T,campaign:i}=yt(),r={title:t,href:(()=>{if(!T)return e;try{let n=new URL(e);return Object.keys(i??{}).forEach(c=>n.searchParams.delete(c)),n.href}catch{return e}})(),...S(s)&&s!==""&&{referrer:s},device:{inner_width:o,inner_height:l,screen_width:d?.availWidth,screen_height:d?.availHeight},time_zone:b,session_id:W,user_agent:y,...S(g)&&{client:g},...S(i)&&{campaign:i}};ne(_),await _?.orbiter?.setPageView({key:{key:D(),...F()},page_view:r})},Ct=async()=>{if(!ke()||I(_?.performance))return;q(W,Ze),ne(_);let t=async e=>{ne(_),await _?.orbiter?.setPerformanceMetric(e)};await _.performance.startPerformance({sessionId:W,postPerformanceMetric:t})},ui=()=>{Qe()},Qe=async()=>{await Je()},mi=t=>{Lt(t)},Lt=async t=>{ke()&&(q(W,Ze),ne(_),await _?.orbiter?.setTrackEvent({key:{key:D(),...F()},track_event:{...t,session_id:W,...ee(),...F()}}))};var qt=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??t():t()},Bt=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_ORBITER_ID??import.meta.env?.PUBLIC_ORBITER_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_ORBITER_ID??t():t()},Ut=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??t():t()};var pi=t=>{let e=t?.satelliteId??qt();q(e,"Satellite ID is not configured. Orbiter cannot be initialized without a target Satellite.");let s=t?.orbiterId??Bt();q(s,"Orbiter ID is not configured. The analytics cannot be initialized without an Orbiter.");let o=t?.container??Ut();return{orbiterId:s,satelliteId:e,container:o,options:t?.options}},rr=t=>{let e=pi(t),{cleanup:s}=At(e);Je();let{cleanup:o}=Ot();return Ct(),()=>{s(),o()}};export{rr as initOrbiter,mi as trackEvent,Lt as trackEventAsync,ui as trackPageView,Qe as trackPageViewAsync};
3
+ var Ht=Object.create;var Re=Object.defineProperty;var Wt=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Gt=Object.getPrototypeOf,Xt=Object.prototype.hasOwnProperty;var Kt=(t,e)=>()=>(t&&(e=t(t=0)),e);var Yt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Zt=(t,e)=>{for(var s in e)Re(t,s,{get:e[s],enumerable:!0})},Jt=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of $t(e))!Xt.call(t,l)&&l!==s&&Re(t,l,{get:()=>e[l],enumerable:!(o=Wt(e,l))||o.enumerable});return t};var Qt=(t,e,s)=>(s=t!=null?Ht(Gt(t)):{},Jt(e||!t||!t.__esModule?Re(s,"default",{value:t,enumerable:!0}):s,t));var Nt={};Zt(Nt,{CLSThresholds:()=>Ue,FCPThresholds:()=>Be,INPThresholds:()=>ze,LCPThresholds:()=>je,TTFBThresholds:()=>He,onCLS:()=>ri,onFCP:()=>St,onINP:()=>ai,onLCP:()=>si,onTTFB:()=>ci});function Xe(t,e){return Oe.get(t)||Oe.set(t,new e),Oe.get(t)}var Et,H,A,$e,Ge,te,O,Oe,Le,ie,Ke,j,xt,kt,qe,fe,he,Be,St,Ue,ri,_t,Ce,be,ni,Ve,Tt,oi,Pt,De,It,ze,ai,Fe,je,si,He,We,ci,Mt=Kt(()=>{Et=-1,H=t=>{addEventListener("pageshow",e=>{e.persisted&&(Et=e.timeStamp,t(e))},!0)},A=(t,e,s,o)=>{let l,d;return b=>{e.value>=0&&(b||o)&&(d=e.value-(l??0),(d||l===void 0)&&(l=e.value,e.delta=d,e.rating=((y,g)=>y>g[1]?"poor":y>g[0]?"needs-improvement":"good")(e.value,s),t(e)))}},$e=t=>{requestAnimationFrame(()=>requestAnimationFrame(t))},Ge=()=>{let t=performance.getEntriesByType("navigation")[0];if(t&&t.responseStart>0&&t.responseStart<performance.now())return t},te=()=>Ge()?.activationStart??0,O=(t,e=-1)=>{let s=Ge(),o="navigate";return Et>=0?o="back-forward-cache":s&&(document.prerendering||te()>0?o="prerender":document.wasDiscarded?o="restore":s.type&&(o=s.type.replace(/_/g,"-"))),{name:t,value:e,rating:"good",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:o}},Oe=new WeakMap;Le=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let s=this.o[0],o=this.o.at(-1);this.i&&s&&o&&e.startTime-o.startTime<1e3&&e.startTime-s.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},ie=(t,e,s={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){let o=new PerformanceObserver(l=>{queueMicrotask(()=>{e(l.getEntries())})});return o.observe({type:t,buffered:!0,...s}),o}}catch{}},Ke=t=>{let e=!1;return()=>{e||(t(),e=!0)}},j=-1,xt=new Set,kt=()=>document.visibilityState!=="hidden"||document.prerendering?1/0:0,qe=t=>{if(document.visibilityState==="hidden"){if(t.type==="visibilitychange")for(let e of xt)e();isFinite(j)||(j=t.type==="visibilitychange"?t.timeStamp:0,removeEventListener("prerenderingchange",qe,!0))}},fe=()=>{if(j<0){let t=te();j=(document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(s=>s.name==="hidden"&&s.startTime>=t)?.startTime)??kt(),addEventListener("visibilitychange",qe,!0),addEventListener("prerenderingchange",qe,!0),H(()=>{setTimeout(()=>{j=kt()})})}return{get firstHiddenTime(){return j},onHidden(t){xt.add(t)}}},he=t=>{document.prerendering?addEventListener("prerenderingchange",t,!0):t()},Be=[1800,3e3],St=(t,e={})=>{he(()=>{let s=fe(),o,l=O("FCP"),d=ie("paint",b=>{for(let y of b)y.name==="first-contentful-paint"&&(d.disconnect(),y.startTime<s.firstHiddenTime&&(l.value=Math.max(y.startTime-te(),0),l.entries.push(y),o(!0)))});d&&(o=A(t,l,Be,e.reportAllChanges),H(b=>{l=O("FCP"),o=A(t,l,Be,e.reportAllChanges),$e(()=>{l.value=performance.now()-b.timeStamp,o(!0)})}))})},Ue=[.1,.25],ri=(t,e={})=>{let s=fe();St(Ke(()=>{let o,l=O("CLS",0),d=Xe(e,Le),b=g=>{for(let T of g)d.h(T);d.i>l.value&&(l.value=d.i,l.entries=d.o,o())},y=ie("layout-shift",b);y&&(o=A(t,l,Ue,e.reportAllChanges),s.onHidden(()=>{b(y.takeRecords()),o(!0)}),H(()=>{d.i=0,l=O("CLS",0),o=A(t,l,Ue,e.reportAllChanges),$e(o)}),setTimeout(o))}))},_t=0,Ce=1/0,be=0,ni=t=>{for(let e of t)e.interactionId&&(Ce=Math.min(Ce,e.interactionId),be=Math.max(be,e.interactionId),_t=be?(be-Ce)/7+1:0)},Tt=()=>Ve?_t:performance.interactionCount??0,oi=()=>{"interactionCount"in performance||Ve||(Ve=ie("event",ni,{durationThreshold:0}))},Pt=0,De=class{l=[];u=new Map;m;p;v(){Pt=Tt(),this.l.length=0,this.u.clear()}T(){let e=Math.min(this.l.length-1,Math.floor((Tt()-Pt)/50));return this.l[e]}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!=="first-input")return;let s=this.l.at(-1),o=this.u.get(e.interactionId);if(o||this.l.length<10||e.duration>s.L){if(o?e.duration>o.L?(o.entries=[e],o.L=e.duration):e.duration===o.L&&e.startTime===o.entries[0].startTime&&o.entries.push(e):(o={id:e.interactionId,entries:[e],L:e.duration},this.u.set(o.id,o),this.l.push(o)),this.l.sort((l,d)=>d.L-l.L),this.l.length>10){let l=this.l.splice(10);for(let d of l)this.u.delete(d.id)}this.p?.(o)}}},It=t=>{let e=globalThis.requestIdleCallback||setTimeout,s=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState==="hidden")t();else{let o=Ke(t),l=-1,d=()=>{s(l),o()};addEventListener("visibilitychange",d,{once:!0,capture:!0}),l=e(()=>{removeEventListener("visibilitychange",d,{capture:!0}),o()})}},ze=[200,500],ai=(t,e={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;let s=fe();he(()=>{oi();let o,l=O("INP"),d=Xe(e,De),b=g=>{It(()=>{for(let i of g)d.h(i);let T=d.T();T&&T.L!==l.value&&(l.value=T.L,l.entries=T.entries,o())})},y=ie("event",b,{durationThreshold:e.durationThreshold??40});o=A(t,l,ze,e.reportAllChanges),y&&(y.observe({type:"first-input",buffered:!0}),s.onHidden(()=>{b(y.takeRecords()),o(!0)}),H(()=>{d.v(),l=O("INP"),o=A(t,l,ze,e.reportAllChanges)}))})},Fe=class{m;h(e){this.m?.(e)}},je=[2500,4e3],si=(t,e={})=>{he(()=>{let s=fe(),o,l=O("LCP"),d=Xe(e,Fe),b=g=>{e.reportAllChanges||(g=g.slice(-1));for(let T of g)d.h(T),T.startTime<s.firstHiddenTime&&(l.value=Math.max(T.startTime-te(),0),l.entries=[T],o())},y=ie("largest-contentful-paint",b);if(y){o=A(t,l,je,e.reportAllChanges);let g=Ke(()=>{b(y.takeRecords()),y.disconnect(),o(!0)}),T=i=>{i.isTrusted&&(It(g),removeEventListener(i.type,T,{capture:!0}))};for(let i of["keydown","click","visibilitychange"])addEventListener(i,T,{capture:!0});H(i=>{l=O("LCP"),o=A(t,l,je,e.reportAllChanges),$e(()=>{l.value=performance.now()-i.timeStamp,o(!0)})})}})},He=[800,1800],We=t=>{document.prerendering?he(()=>We(t)):document.readyState!=="complete"?addEventListener("load",()=>We(t),!0):setTimeout(t)},ci=(t,e={})=>{let s=O("TTFB"),o=A(t,s,He,e.reportAllChanges);We(()=>{let l=Ge();l&&(s.value=Math.max(l.responseStart-te(),0),s.entries=[l],o(!0),H(()=>{s=O("TTFB",0),o=A(t,s,He,e.reportAllChanges),o(!0)}))})}});var Rt=Yt((re,ve)=>{(function(t,e){"use strict";var s="1.0.41",o="",l="?",d="function",b="undefined",y="object",g="string",T="major",i="model",a="name",r="type",n="vendor",c="version",N="architecture",$="console",m="mobile",p="tablet",P="smarttv",E="wearable",G="embedded",Te=500,oe="Amazon",B="Apple",et="ASUS",tt="BlackBerry",ae="Browser",se="Chrome",Vt="Edge",ce="Firefox",le="Google",it="Honor",rt="Huawei",Dt="Lenovo",de="LG",Pe="Microsoft",Ee="Motorola",xe="Nvidia",nt="OnePlus",X="Opera",Se="OPPO",K="Samsung",ot="Sharp",Y="Sony",_e="Xiaomi",Ie="Zebra",at="Facebook",st="Chromium OS",ct="Mac OS",lt=" Browser",zt=function(f,h){var w={};for(var k in f)h[k]&&h[k].length%2===0?w[k]=h[k].concat(f[k]):w[k]=f[k];return w},ue=function(f){for(var h={},w=0;w<f.length;w++)h[f[w].toUpperCase()]=f[w];return h},dt=function(f,h){return typeof f===g?Z(h).indexOf(Z(f))!==-1:!1},Z=function(f){return f.toLowerCase()},Ft=function(f){return typeof f===g?f.replace(/[^\d\.]/g,o).split(".")[0]:e},Ne=function(f,h){if(typeof f===g)return f=f.replace(/^\s\s*/,o),typeof h===b?f:f.substring(0,Te)},J=function(f,h){for(var w=0,k,C,M,v,u,R;w<h.length&&!u;){var Me=h[w],pt=h[w+1];for(k=C=0;k<Me.length&&!u&&Me[k];)if(u=Me[k++].exec(f),u)for(M=0;M<pt.length;M++)R=u[++C],v=pt[M],typeof v===y&&v.length>0?v.length===2?typeof v[1]==d?this[v[0]]=v[1].call(this,R):this[v[0]]=v[1]:v.length===3?typeof v[1]===d&&!(v[1].exec&&v[1].test)?this[v[0]]=R?v[1].call(this,R,v[2]):e:this[v[0]]=R?R.replace(v[1],v[2]):e:v.length===4&&(this[v[0]]=R?v[3].call(this,R.replace(v[1],v[2])):e):this[v]=R||e;w+=2}},Q=function(f,h){for(var w in h)if(typeof h[w]===y&&h[w].length>0){for(var k=0;k<h[w].length;k++)if(dt(h[w][k],f))return w===l?e:w}else if(dt(h[w],f))return w===l?e:w;return h.hasOwnProperty("*")?h["*"]:f},jt={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},ut={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"},mt={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[c,[a,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[c,[a,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[a,c],[/opios[\/ ]+([\w\.]+)/i],[c,[a,X+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[c,[a,X+" GX"]],[/\bopr\/([\w\.]+)/i],[c,[a,X]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[c,[a,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[c,[a,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,/(heytap|ovi|115)browser\/([\d\.]+)/i,/(weibo)__([\d\.]+)/i],[a,c],[/quark(?:pc)?\/([-\w\.]+)/i],[c,[a,"Quark"]],[/\bddg\/([\w\.]+)/i],[c,[a,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[c,[a,"UC"+ae]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[c,[a,"WeChat"]],[/konqueror\/([\w\.]+)/i],[c,[a,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[c,[a,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[c,[a,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[c,[a,"Smart Lenovo "+ae]],[/(avast|avg)\/([\w\.]+)/i],[[a,/(.+)/,"$1 Secure "+ae],c],[/\bfocus\/([\w\.]+)/i],[c,[a,ce+" Focus"]],[/\bopt\/([\w\.]+)/i],[c,[a,X+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[c,[a,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[c,[a,"Dolphin"]],[/coast\/([\w\.]+)/i],[c,[a,X+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[c,[a,"MIUI"+lt]],[/fxios\/([\w\.-]+)/i],[c,[a,ce]],[/\bqihoobrowser\/?([\w\.]*)/i],[c,[a,"360"]],[/\b(qq)\/([\w\.]+)/i],[[a,/(.+)/,"$1Browser"],c],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[a,/(.+)/,"$1"+lt],c],[/samsungbrowser\/([\w\.]+)/i],[c,[a,K+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[c,[a,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[a,"Sogou Mobile"],c],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[a,c],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[a],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[c,a],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[a,at],c],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(chromium|instagram|snapchat)[\/ ]([-\w\.]+)/i],[a,c],[/\bgsa\/([\w\.]+) .*safari\//i],[c,[a,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[c,[a,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[c,[a,se+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[a,se+" WebView"],c],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[c,[a,"Android "+ae]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[a,c],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[c,[a,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[c,a],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[a,[c,Q,jt]],[/(webkit|khtml)\/([\w\.]+)/i],[a,c],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[a,"Netscape"],c],[/(wolvic|librewolf)\/([\w\.]+)/i],[a,c],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[c,[a,ce+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[a,[c,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[a,[c,/master.|lts./,""]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[N,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[N,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[N,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[N,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[N,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[N,/ower/,o,Z]],[/ sun4\w[;\)]/i],[[N,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[N,Z]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[i,[n,K],[r,p]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[i,[n,K],[r,m]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[i,[n,B],[r,m]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[i,[n,B],[r,p]],[/(macintosh);/i],[i,[n,B]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[i,[n,ot],[r,m]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[i,[n,it],[r,p]],[/honor([-\w ]+)[;\)]/i],[i,[n,it],[r,m]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[i,[n,rt],[r,p]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[i,[n,rt],[r,m]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[i,/_/g," "],[n,_e],[r,p]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[i,/_/g," "],[n,_e],[r,m]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[i,[n,Se],[r,m]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[i,[n,Q,{OnePlus:["304","403","203"],"*":Se}],[r,p]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[i,[n,"Vivo"],[r,m]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[i,[n,"Realme"],[r,m]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto(?! 360)[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[i,[n,Ee],[r,m]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[i,[n,Ee],[r,p]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[i,[n,de],[r,p]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,/\blg-?([\d\w]+) bui/i],[i,[n,de],[r,m]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[i,[n,Dt],[r,p]],[/(nokia) (t[12][01])/i],[n,i,[r,p]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[i,/_/g," "],[r,m],[n,"Nokia"]],[/(pixel (c|tablet))\b/i],[i,[n,le],[r,p]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[i,[n,le],[r,m]],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[i,[n,Y],[r,m]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[i,"Xperia Tablet"],[n,Y],[r,p]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[i,[n,nt],[r,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[i,[n,oe],[r,p]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[i,/(.+)/g,"Fire Phone $1"],[n,oe],[r,m]],[/(playbook);[-\w\),; ]+(rim)/i],[i,n,[r,p]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[i,[n,tt],[r,m]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[i,[n,et],[r,p]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[i,[n,et],[r,m]],[/(nexus 9)/i],[i,[n,"HTC"],[r,p]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[n,[i,/_/g," "],[r,m]],[/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i],[i,[n,"TCL"],[r,p]],[/(itel) ((\w+))/i],[[n,Z],i,[r,Q,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[i,[n,"Acer"],[r,p]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[i,[n,"Meizu"],[r,m]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[i,[n,"Ulefone"],[r,m]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[i,[n,"Energizer"],[r,m]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[i,[n,"Cat"],[r,m]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[i,[n,"Smartfren"],[r,m]],[/droid.+; (a(?:015|06[35]|142p?))/i],[i,[n,"Nothing"],[r,m]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[i,[n,"Archos"],[r,p]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[i,[n,"Archos"],[r,m]],[/(imo) (tab \w+)/i,/(infinix) (x1101b?)/i],[n,i,[r,p]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (hmd|imo) ([\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i,/(oppo) ?([\w ]+) bui/i],[n,i,[r,m]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[n,i,[r,p]],[/(surface duo)/i],[i,[n,Pe],[r,p]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[i,[n,"Fairphone"],[r,m]],[/(u304aa)/i],[i,[n,"AT&T"],[r,m]],[/\bsie-(\w*)/i],[i,[n,"Siemens"],[r,m]],[/\b(rct\w+) b/i],[i,[n,"RCA"],[r,p]],[/\b(venue[\d ]{2,7}) b/i],[i,[n,"Dell"],[r,p]],[/\b(q(?:mv|ta)\w+) b/i],[i,[n,"Verizon"],[r,p]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[i,[n,"Barnes & Noble"],[r,p]],[/\b(tm\d{3}\w+) b/i],[i,[n,"NuVision"],[r,p]],[/\b(k88) b/i],[i,[n,"ZTE"],[r,p]],[/\b(nx\d{3}j) b/i],[i,[n,"ZTE"],[r,m]],[/\b(gen\d{3}) b.+49h/i],[i,[n,"Swiss"],[r,m]],[/\b(zur\d{3}) b/i],[i,[n,"Swiss"],[r,p]],[/\b((zeki)?tb.*\b) b/i],[i,[n,"Zeki"],[r,p]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[n,"Dragon Touch"],i,[r,p]],[/\b(ns-?\w{0,9}) b/i],[i,[n,"Insignia"],[r,p]],[/\b((nxa|next)-?\w{0,9}) b/i],[i,[n,"NextBook"],[r,p]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[n,"Voice"],i,[r,m]],[/\b(lvtel\-)?(v1[12]) b/i],[[n,"LvTel"],i,[r,m]],[/\b(ph-1) /i],[i,[n,"Essential"],[r,m]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[i,[n,"Envizen"],[r,p]],[/\b(trio[-\w\. ]+) b/i],[i,[n,"MachSpeed"],[r,p]],[/\btu_(1491) b/i],[i,[n,"Rotor"],[r,p]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[i,[n,xe],[r,p]],[/(sprint) (\w+)/i],[n,i,[r,m]],[/(kin\.[onetw]{3})/i],[[i,/\./g," "],[n,Pe],[r,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[i,[n,Ie],[r,p]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[i,[n,Ie],[r,m]],[/smart-tv.+(samsung)/i],[n,[r,P]],[/hbbtv.+maple;(\d+)/i],[[i,/^/,"SmartTV"],[n,K],[r,P]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[n,de],[r,P]],[/(apple) ?tv/i],[n,[i,B+" TV"],[r,P]],[/crkey/i],[[i,se+"cast"],[n,le],[r,P]],[/droid.+aft(\w+)( bui|\))/i],[i,[n,oe],[r,P]],[/(shield \w+ tv)/i],[i,[n,xe],[r,P]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[i,[n,ot],[r,P]],[/(bravia[\w ]+)( bui|\))/i],[i,[n,Y],[r,P]],[/(mi(tv|box)-?\w+) bui/i],[i,[n,_e],[r,P]],[/Hbbtv.*(technisat) (.*);/i],[n,i,[r,P]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[n,Ne],[i,Ne],[r,P]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[i,[r,P]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[r,P]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[n,i,[r,$]],[/droid.+; (shield)( bui|\))/i],[i,[n,xe],[r,$]],[/(playstation \w+)/i],[i,[n,Y],[r,$]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[i,[n,Pe],[r,$]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[i,[n,K],[r,E]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[n,i,[r,E]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[i,[n,Se],[r,E]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[i,[n,B],[r,E]],[/(opwwe\d{3})/i],[i,[n,nt],[r,E]],[/(moto 360)/i],[i,[n,Ee],[r,E]],[/(smartwatch 3)/i],[i,[n,Y],[r,E]],[/(g watch r)/i],[i,[n,de],[r,E]],[/droid.+; (wt63?0{2,3})\)/i],[i,[n,Ie],[r,E]],[/droid.+; (glass) \d/i],[i,[n,le],[r,E]],[/(pico) (4|neo3(?: link|pro)?)/i],[n,i,[r,E]],[/; (quest( \d| pro)?)/i],[i,[n,at],[r,E]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[n,[r,G]],[/(aeobc)\b/i],[i,[n,oe],[r,G]],[/(homepod).+mac os/i],[i,[n,B],[r,G]],[/windows iot/i],[[r,G]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[i,[r,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[i,[r,p]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[r,p]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[r,m]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[i,[n,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[c,[a,Vt+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[a,c],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[c,[a,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[a,c],[/ladybird\//i],[[a,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[c,a]],os:[[/microsoft (windows) (vista|xp)/i],[a,c],[/(windows (?:phone(?: os)?|mobile|iot))[\/ ]?([\d\.\w ]*)/i],[a,[c,Q,ut]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[c,Q,ut],[a,"Windows"]],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[c,/_/g,"."],[a,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[a,ct],[c,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[c,a],[/(ubuntu) ([\w\.]+) like android/i],[[a,/(.+)/,"$1 Touch"],c],[/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i],[a,c],[/\(bb(10);/i],[c,[a,tt]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[c,[a,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[c,[a,ce+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[c,[a,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[c,[a,"watchOS"]],[/crkey\/([\d\.]+)/i],[c,[a,se+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[a,st],c],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux)(?: arm\w*| x86\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[a,c],[/(sunos) ?([\w\.\d]*)/i],[[a,"Solaris"],c],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[a,c]]},x=function(f,h){if(typeof f===y&&(h=f,f=e),!(this instanceof x))return new x(f,h).getResult();var w=typeof t!==b&&t.navigator?t.navigator:e,k=f||(w&&w.userAgent?w.userAgent:o),C=w&&w.userAgentData?w.userAgentData:e,M=h?zt(mt,h):mt,v=w&&w.userAgent==k;return this.getBrowser=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.browser),u[T]=Ft(u[c]),v&&w&&w.brave&&typeof w.brave.isBrave==d&&(u[a]="Brave"),u},this.getCPU=function(){var u={};return u[N]=e,J.call(u,k,M.cpu),u},this.getDevice=function(){var u={};return u[n]=e,u[i]=e,u[r]=e,J.call(u,k,M.device),v&&!u[r]&&C&&C.mobile&&(u[r]=m),v&&u[i]=="Macintosh"&&w&&typeof w.standalone!==b&&w.maxTouchPoints&&w.maxTouchPoints>2&&(u[i]="iPad",u[r]=p),u},this.getEngine=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.engine),u},this.getOS=function(){var u={};return u[a]=e,u[c]=e,J.call(u,k,M.os),v&&!u[a]&&C&&C.platform&&C.platform!="Unknown"&&(u[a]=C.platform.replace(/chrome os/i,st).replace(/macos/i,ct)),u},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return k},this.setUA=function(u){return k=typeof u===g&&u.length>Te?Ne(u,Te):u,this},this.setUA(k),this};x.VERSION=s,x.BROWSER=ue([a,c,T]),x.CPU=ue([N]),x.DEVICE=ue([i,n,r,$,m,P,p,E,G]),x.ENGINE=x.OS=ue([a,c]),typeof re!==b?(typeof ve!==b&&ve.exports&&(re=ve.exports=x),re.UAParser=x):typeof define===d&&define.amd?define(function(){return x}):typeof t!==b&&(t.UAParser=x);var U=typeof t!==b&&(t.jQuery||t.Zepto);if(U&&!U.ua){var me=new x;U.ua=me.getResult(),U.ua.get=function(){return me.getUA()},U.ua.set=function(f){me.setUA(f);var h=me.getResult();for(var w in h)U.ua[w]=h[w]}}})(typeof window=="object"?window:re)});import{webcrypto as bt}from"node:crypto";var wt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var ei=128,L,V;function ti(t){!L||L.length<t?(L=Buffer.allocUnsafe(t*ei),bt.getRandomValues(L),V=0):V+t>L.length&&(bt.getRandomValues(L),V=0),V+=t}function D(t=21){ti(t|=0);let e="";for(let s=V-t;s<V;s++)e+=wt[L[s]&63];return e}var ft="http://localhost:5987";var I=t=>t==null,S=t=>!I(t),z=t=>S(t)&&t!=="",ht=t=>!z(t);var ii="__bigint__",gt=(t,e)=>typeof e=="bigint"?{[ii]:`${e}`}:e;var Ae=class extends Error{constructor(s,o){super(`[${s}] Orbiter Error: ${o}`);this.status=s;this.statusText=o}},pe=class{#e;constructor({container:e,orbiterId:s}){let l=S(e)&&e!==!1?e===!0?ft:e:"https://icp0.io",{protocol:d,host:b}=new URL(l);this.#e=`${d}//${s}.${b}`}postPageViews=async({request:e})=>await this.post({path:"/views",payload:e});postTrackEvents=async({request:e})=>await this.post({path:"/events",payload:e});postPerformanceMetrics=async({request:e})=>await this.post({path:"/metrics",payload:e});post=async({path:e,payload:s})=>{let o=await fetch(`${this.#e}${e}`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json"},body:JSON.stringify(s,gt)});if(!o.ok)throw new Ae(o.status,o.statusText);return await o.json()}};var we=class{#e;#t;constructor(e){this.#e=e,this.#t=new pe(e)}setPageView=async e=>{let s={...this.satelliteId(),page_views:[e]};return await this.#t.postPageViews({request:s})};setTrackEvent=async e=>{let s={...this.satelliteId(),track_events:[e]};return await this.#t.postTrackEvents({request:s})};setPerformanceMetric=async e=>{let s={...this.satelliteId(),performance_metrics:[e]};return await this.#t.postPerformanceMetrics({request:s})};satelliteId(){return{satellite_id:this.#e.satelliteId}}};var vt=()=>BigInt(Date.now())*BigInt(1e6);var F=()=>({collected_at:vt()}),ee=()=>{let{userAgent:t}=navigator;return S(t)?{user_agent:t}:{}},yt=()=>{let{location:{search:t}}=document,e=new URLSearchParams(t),s=e.get("utm_source");if(I(s)||ht(s))return{withCampaign:!1};let o=e.get("utm_medium"),l=e.get("utm_campaign"),d=e.get("utm_term"),b=e.get("utm_content");return{withCampaign:!0,campaign:{utm_source:s,...z(o)&&{utm_medium:o},...z(l)&&{utm_campaign:l},...z(d)&&{utm_term:d},...z(b)&&{utm_content:b}}}};var ge=class t{async startPerformance({sessionId:e,postPerformanceMetric:s}){let{onCLS:o,onFCP:l,onINP:d,onLCP:b,onTTFB:y}=await Promise.resolve().then(()=>(Mt(),Nt)),g=T=>{(async()=>await t.setPerformanceMetric({metric:{...T,sessionId:e},postPerformanceMetric:s}))()};o(g),l(g),d(g),b(g),y(g)}static setPerformanceMetric=async({metric:e,postPerformanceMetric:s})=>{let o=t.mapPerformanceMetric(e);if(o==="unknown"){console.warn("Performance metric ignored. Unknown metric name.",e);return}await s({key:{key:D(),...F()},performance_metric:o})};static mapPerformanceMetric({sessionId:e,name:s,value:o,delta:l,id:d,navigationType:b}){let g=(()=>{switch(s){case"CLS":case"FCP":case"INP":case"LCP":case"TTFB":return s;default:return"unknown"}})();if(g==="unknown")return g;let i=(()=>{switch(b){case"navigate":return"Navigate";case"restore":return"Restore";case"reload":return"Reload";case"back-forward":return"BackForward";case"back-forward-cache":return"BackForwardCache";case"prerender":return"Prerender";default:return}})(),a={value:o,delta:l,id:d,...S(i)&&{navigation_type:i}},{location:{href:r}}=document;return{href:r,metric_name:g,session_id:e,data:{WebVitalsMetric:a},...ee()}}};var ye=class{async parseUserAgent(e){if(I(e))return;let s=await Promise.resolve().then(()=>Qt(Rt(),1)),o=new s.default(e),{browser:l,os:d,device:b}=o.getResult();if(!(I(l.name)||I(d.name)))return{browser:l.name,os:d.name,device:b?.type}}};var Ye=class extends Error{},q=(t,e)=>{if(t==null)throw new Ye(e)};var ke=()=>typeof window<"u";var li="Unable to connect to the analytics services. Did you call `initOrbiter`?",ne=t=>{I(t)&&console.warn(li)};var di=()=>{if(!(typeof crypto>"u"))return D()},W=di(),_,At=t=>(_={orbiter:new we(t),userAgent:t.options?.userAgentParser===!0?new ye:null,performance:t.options?.performance===!0?new ge:null},{cleanup(){_=null}}),Ot=()=>{let t=async()=>await Qe(),e=new Proxy(history.pushState,{apply:async(s,o,l)=>{s.apply(o,l),await t()}});return history.pushState=e,addEventListener("popstate",t,{passive:!0}),{cleanup(){e=null,removeEventListener("popstate",t,!1)}}},Ze="No session ID initialized.",Je=async()=>{if(!ke())return;q(W,Ze);let{title:t,location:{href:e},referrer:s}=document,{innerWidth:o,innerHeight:l,screen:d}=window,{timeZone:b}=Intl.DateTimeFormat().resolvedOptions(),{user_agent:y}=ee(),g=S(_?.userAgent)?await _?.userAgent.parseUserAgent(y):void 0,{withCampaign:T,campaign:i}=yt(),r={title:t,href:(()=>{if(!T)return e;try{let n=new URL(e);return Object.keys(i??{}).forEach(c=>n.searchParams.delete(c)),n.href}catch{return e}})(),...S(s)&&s!==""&&{referrer:s},device:{inner_width:o,inner_height:l,screen_width:d?.availWidth,screen_height:d?.availHeight},time_zone:b,session_id:W,user_agent:y,...S(g)&&{client:g},...S(i)&&{campaign:i}};ne(_),await _?.orbiter?.setPageView({key:{key:D(),...F()},page_view:r})},Ct=async()=>{if(!ke()||I(_?.performance))return;q(W,Ze),ne(_);let t=async e=>{ne(_),await _?.orbiter?.setPerformanceMetric(e)};await _.performance.startPerformance({sessionId:W,postPerformanceMetric:t})},ui=()=>{Qe()},Qe=async()=>{await Je()},mi=t=>{Lt(t)},Lt=async t=>{ke()&&(q(W,Ze),ne(_),await _?.orbiter?.setTrackEvent({key:{key:D(),...F()},track_event:{...t,session_id:W,...ee(),...F()}}))};var qt=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??t():t()},Bt=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_ORBITER_ID??import.meta.env?.PUBLIC_ORBITER_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_ORBITER_ID??t():t()},Ut=()=>{let t=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??t():t()};var pi=t=>{let e=t?.satelliteId??qt();q(e,"Satellite ID is not configured. Orbiter cannot be initialized without a target Satellite.");let s=t?.orbiterId??Bt();q(s,"Orbiter ID is not configured. The analytics cannot be initialized without an Orbiter.");let o=t?.container??Ut();return{orbiterId:s,satelliteId:e,container:o,options:t?.options}},rr=t=>{let e=pi(t),{cleanup:s}=At(e);Je();let{cleanup:o}=Ot();return Ct(),()=>{s(),o()}};export{rr as initOrbiter,mi as trackEvent,Lt as trackEventAsync,ui as trackPageView,Qe as trackPageViewAsync};
4
4
  //# sourceMappingURL=index.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../node_modules/web-vitals/dist/web-vitals.js", "../../../../node_modules/ua-parser-js/src/ua-parser.js", "../../../../node_modules/nanoid/index.js", "../../../../node_modules/nanoid/url-alphabet/index.js", "../../src/constants/container.constants.ts", "../../src/utils/dfinity/nullish.utils.ts", "../../src/utils/dfinity/json.utils.ts", "../../src/api/orbiter.api.ts", "../../src/services/orbiter.services.ts", "../../src/utils/date.utils.ts", "../../src/utils/analytics.utils.ts", "../../src/services/performance.services.ts", "../../src/services/user-agent.services.ts", "../../src/utils/dfinity/asserts.utils.ts", "../../src/utils/env.utils.ts", "../../src/utils/log.utils.ts", "../../src/tracker.ts", "../../src/utils/window.env.utils.ts", "../../src/index.ts"],
4
4
  "sourcesContent": ["let e=-1;const t=t=>{addEventListener(\"pageshow\",n=>{n.persisted&&(e=n.timeStamp,t(n))},!0)},n=(e,t,n,i)=>{let s,o;return r=>{t.value>=0&&(r||i)&&(o=t.value-(s??0),(o||void 0===s)&&(s=t.value,t.delta=o,t.rating=((e,t)=>e>t[1]?\"poor\":e>t[0]?\"needs-improvement\":\"good\")(t.value,n),e(t)))}},i=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},s=()=>{const e=performance.getEntriesByType(\"navigation\")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},o=()=>s()?.activationStart??0,r=(t,n=-1)=>{const i=s();let r=\"navigate\";e>=0?r=\"back-forward-cache\":i&&(document.prerendering||o()>0?r=\"prerender\":document.wasDiscarded?r=\"restore\":i.type&&(r=i.type.replace(/_/g,\"-\")));return{name:t,value:n,rating:\"good\",delta:0,entries:[],id:`v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:r}},c=new WeakMap;function a(e,t){return c.get(e)||c.set(e,new t),c.get(e)}class d{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}}const h=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const i=new PerformanceObserver(e=>{queueMicrotask(()=>{t(e.getEntries())})});return i.observe({type:e,buffered:!0,...n}),i}}catch{}},f=e=>{let t=!1;return()=>{t||(e(),t=!0)}};let l=-1;const u=new Set,m=()=>\"hidden\"!==document.visibilityState||document.prerendering?1/0:0,g=e=>{if(\"hidden\"===document.visibilityState){if(\"visibilitychange\"===e.type)for(const e of u)e();isFinite(l)||(l=\"visibilitychange\"===e.type?e.timeStamp:0,removeEventListener(\"prerenderingchange\",g,!0))}},p=()=>{if(l<0){const e=o(),n=document.prerendering?void 0:globalThis.performance.getEntriesByType(\"visibility-state\").find(t=>\"hidden\"===t.name&&t.startTime>=e)?.startTime;l=n??m(),addEventListener(\"visibilitychange\",g,!0),addEventListener(\"prerenderingchange\",g,!0),t(()=>{setTimeout(()=>{l=m()})})}return{get firstHiddenTime(){return l},onHidden(e){u.add(e)}}},v=e=>{document.prerendering?addEventListener(\"prerenderingchange\",e,!0):e()},y=[1800,3e3],T=(e,s={})=>{v(()=>{const c=p();let a,d=r(\"FCP\");const f=h(\"paint\",e=>{for(const t of e)\"first-contentful-paint\"===t.name&&(f.disconnect(),t.startTime<c.firstHiddenTime&&(d.value=Math.max(t.startTime-o(),0),d.entries.push(t),a(!0)))});f&&(a=n(e,d,y,s.reportAllChanges),t(t=>{d=r(\"FCP\"),a=n(e,d,y,s.reportAllChanges),i(()=>{d.value=performance.now()-t.timeStamp,a(!0)})}))})},E=[.1,.25],b=(e,s={})=>{const o=p();T(f(()=>{let c,f=r(\"CLS\",0);const l=a(s,d),u=e=>{for(const t of e)l.h(t);l.i>f.value&&(f.value=l.i,f.entries=l.o,c())},m=h(\"layout-shift\",u);m&&(c=n(e,f,E,s.reportAllChanges),o.onHidden(()=>{u(m.takeRecords()),c(!0)}),t(()=>{l.i=0,f=r(\"CLS\",0),c=n(e,f,E,s.reportAllChanges),i(c)}),setTimeout(c))}))};let L=0,P=1/0,_=0;const M=e=>{for(const t of e)t.interactionId&&(P=Math.min(P,t.interactionId),_=Math.max(_,t.interactionId),L=_?(_-P)/7+1:0)};let w;const C=()=>w?L:performance.interactionCount??0,I=()=>{\"interactionCount\"in performance||w||(w=h(\"event\",M,{durationThreshold:0}))};let F=0;class k{l=[];u=new Map;m;p;v(){F=C(),this.l.length=0,this.u.clear()}T(){const e=Math.min(this.l.length-1,Math.floor((C()-F)/50));return this.l[e]}h(e){if(this.m?.(e),!e.interactionId&&\"first-input\"!==e.entryType)return;const t=this.l.at(-1);let n=this.u.get(e.interactionId);if(n||this.l.length<10||e.duration>t.L){if(n?e.duration>n.L?(n.entries=[e],n.L=e.duration):e.duration===n.L&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],L:e.duration},this.u.set(n.id,n),this.l.push(n)),this.l.sort((e,t)=>t.L-e.L),this.l.length>10){const e=this.l.splice(10);for(const t of e)this.u.delete(t.id)}this.p?.(n)}}}const A=e=>{const t=globalThis.requestIdleCallback||setTimeout,n=globalThis.cancelIdleCallback||clearTimeout;if(\"hidden\"===document.visibilityState)e();else{const i=f(e);let s=-1;const o=()=>{n(s),i()};addEventListener(\"visibilitychange\",o,{once:!0,capture:!0}),s=t(()=>{removeEventListener(\"visibilitychange\",o,{capture:!0}),i()})}},B=[200,500],S=(e,i={})=>{if(!globalThis.PerformanceEventTiming||!(\"interactionId\"in PerformanceEventTiming.prototype))return;const s=p();v(()=>{I();let o,c=r(\"INP\");const d=a(i,k),f=e=>{A(()=>{for(const t of e)d.h(t);const t=d.T();t&&t.L!==c.value&&(c.value=t.L,c.entries=t.entries,o())})},l=h(\"event\",f,{durationThreshold:i.durationThreshold??40});o=n(e,c,B,i.reportAllChanges),l&&(l.observe({type:\"first-input\",buffered:!0}),s.onHidden(()=>{f(l.takeRecords()),o(!0)}),t(()=>{d.v(),c=r(\"INP\"),o=n(e,c,B,i.reportAllChanges)}))})};class q{m;h(e){this.m?.(e)}}const N=[2500,4e3],x=(e,s={})=>{v(()=>{const c=p();let d,l=r(\"LCP\");const u=a(s,q),m=e=>{s.reportAllChanges||(e=e.slice(-1));for(const t of e)u.h(t),t.startTime<c.firstHiddenTime&&(l.value=Math.max(t.startTime-o(),0),l.entries=[t],d())},g=h(\"largest-contentful-paint\",m);if(g){d=n(e,l,N,s.reportAllChanges);const o=f(()=>{m(g.takeRecords()),g.disconnect(),d(!0)}),c=e=>{e.isTrusted&&(A(o),removeEventListener(e.type,c,{capture:!0}))};for(const e of[\"keydown\",\"click\",\"visibilitychange\"])addEventListener(e,c,{capture:!0});t(t=>{l=r(\"LCP\"),d=n(e,l,N,s.reportAllChanges),i(()=>{l.value=performance.now()-t.timeStamp,d(!0)})})}})},H=[800,1800],O=e=>{document.prerendering?v(()=>O(e)):\"complete\"!==document.readyState?addEventListener(\"load\",()=>O(e),!0):setTimeout(e)},$=(e,i={})=>{let c=r(\"TTFB\"),a=n(e,c,H,i.reportAllChanges);O(()=>{const d=s();d&&(c.value=Math.max(d.responseStart-o(),0),c.entries=[d],a(!0),t(()=>{c=r(\"TTFB\",0),a=n(e,c,H,i.reportAllChanges),a(!0)}))})};export{E as CLSThresholds,y as FCPThresholds,B as INPThresholds,N as LCPThresholds,H as TTFBThresholds,b as onCLS,T as onFCP,S as onINP,x as onLCP,$ as onTTFB};\n", "/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.41\n Copyright \u00A9 2012-2025 Faisal Salman <f@faisalman.com>\n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.41',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 500;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HONOR = 'Honor',\n HUAWEI = 'Huawei',\n LENOVO = 'Lenovo',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n NVIDIA = 'Nvidia',\n ONEPLUS = 'OnePlus',\n OPERA = 'Opera',\n OPPO = 'OPPO',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS',\n SUFFIX_BROWSER = ' Browser';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i<arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n return typeof str1 === STR_TYPE ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n lowerize = function (str) {\n return str.toLowerCase();\n },\n majorize = function (version) {\n return typeof(version) === STR_TYPE ? version.replace(/[^\\d\\.]/g, EMPTY).split('.')[0] : undefined;\n },\n trim = function (str, len) {\n if (typeof(str) === STR_TYPE) {\n str = str.replace(/^\\s\\s*/, EMPTY);\n return typeof(len) === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return map.hasOwnProperty('*') ? map['*'] : str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bop(?:rg)?x\\/([\\w\\.]+)/i // Opera GX\n ], [VERSION, [NAME, OPERA+' GX']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i // Maxthon\n ], [VERSION, [NAME, 'Maxthon']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i, \n // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n // Trident based\n /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i, // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n /(heytap|ovi|115)browser\\/([\\d\\.]+)/i, // HeyTap/Ovi/115\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /quark(?:pc)?\\/([-\\w\\.]+)/i // Quark\n ], [VERSION, [NAME, 'Quark']], [\n /\\bddg\\/([\\w\\.]+)/i // DuckDuckGo\n ], [VERSION, [NAME, 'DuckDuckGo']], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]], [\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihoobrowser\\/?([\\w\\.]*)/i // 360\n ], [VERSION, [NAME, '360']], [\n /\\b(qq)\\/([\\w\\.]+)/i // QQ\n ], [[NAME, /(.+)/, '$1Browser'], VERSION], [\n /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, 'Sogou Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, 'Sogou Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i // QQ/2345\n ], [NAME, VERSION], [\n /(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i, // Iron\n /ome\\/([\\w\\.]+).+qihu (360)[es]e/i // 360\n ], [VERSION, NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(Klarna)\\/([\\w\\.]+)/i, // Klarna Shopping Browser for iOS & Android\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /(daum)apps[\\/ ]([\\w\\.]+)/i, // Daum App\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, // Twitter\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram/Snapchat\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(wolvic|librewolf)\\/([\\w\\.]+)/i // Wolvic/LibreWolf\n ], [NAME, VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird\n /\\b(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, [VERSION, /_/g, '.']], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /\\b((amd|x|x86[-_]?|wow|win)64)\\b/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i, // IA32 (quicktime)\n /\\b((i[346]|x)86)(pc)?\\b/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?[89]e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /( (ce|mobile); ppc;|\\/[\\w\\.]+arm\\b)/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((ppc|powerpc)(64)?)( mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n / sun4\\w[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /\\b(avr32|ia64(?=;)|68k(?=\\))|\\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]((?!sm-[lr])[-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Honor\n /\\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\\)|;)/i\n ], [MODEL, [VENDOR, HONOR], [TYPE, TABLET]], [\n /honor([-\\w ]+)[;\\)]/i\n ], [MODEL, [VENDOR, HONOR], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\\w\\. ]*(?= bui|\\)))\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /oid[^\\)]+; (2[\\dbc]{4}(182|283|rp\\w{2})[cgl]|m2105k81a?c)(?: bui|\\))/i,\n /\\b((?:red)?mi[-_ ]?pad[\\w- ]*)(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i, // Xiaomi Mi\n / ([\\w ]+) miui\\/v?\\d/i\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, OPPO], [TYPE, MOBILE]], [\n /\\b(opd2(\\d{3}a?))(?: bui|\\))/i\n ], [MODEL, [VENDOR, strMapper, { 'OnePlus' : ['304', '403', '203'], '*' : OPPO }], [TYPE, TABLET]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto(?! 360)[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv|watch)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\\d{3,4}(?:f[cu]|xu|[av])|yt\\d?-[jx]?\\d+[lfmx])( bui|;|\\)|\\/)/i,\n /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\\w- ]+?)|tb[\\w-]{6,7})( bui|;|\\)|\\/)/i\n ], [MODEL, [VENDOR, LENOVO], [TYPE, TABLET]], [\n\n // Nokia\n /(nokia) (t[12][01])/i\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n /(?:maemo|nokia).*(n900|lumia \\d+|rm-\\d+)/i,\n /nokia[-_ ]?(([-\\w\\. ]*))/i\n ], [[MODEL, /_/g, ' '], [TYPE, MOBILE], [VENDOR, 'Nokia']], [\n\n // Google\n /(pixel (c|tablet))\\b/i // Google Pixel C/Tablet\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+; (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // TCL\n /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\\w*(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n\n // itel\n /(itel) ((\\w+))/i\n ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n \n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // Energizer\n /; (energy ?\\w+)(?: bui|\\))/i,\n /; energizer ([\\w ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [\n\n // Cat\n /; cat (b35);/i,\n /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [\n\n // Smartfren\n /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [\n\n // Nothing\n /droid.+; (a(?:015|06[35]|142p?))/i\n ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [\n\n // Archos\n /; (x67 5g|tikeasy \\w+|ac[1789]\\d\\w+)( b|\\))/i,\n /archos ?(5|gamepad2?|([\\w ]*[t1789]|hello) ?\\d+[\\w ]*)( b|\\))/i\n ], [MODEL, [VENDOR, 'Archos'], [TYPE, TABLET]], [\n /archos ([\\w ]+)( b|\\))/i,\n /; (ac[3-6]\\d\\w{2,8})( b|\\))/i \n ], [MODEL, [VENDOR, 'Archos'], [TYPE, MOBILE]], [\n\n // MIXED\n /(imo) (tab \\w+)/i, // IMO\n /(infinix) (x1101b?)/i // Infinix XPad\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Infinix/Tecno/Micromax/Advan\n /; (hmd|imo) ([\\w ]+?)(?: bui|\\))/i, // HMD/IMO\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w ]+?)(?: bui|\\)|\\/)/i, // Lenovo\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /((?:tegranote|shield t(?!.+d tv))[\\w- ]*?)(?: b|\\))/i // Nvidia Tablets\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w+)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /(shield \\w+ tv)/i // Nvidia Shield TV\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mi(tv|box)-?\\w+) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n // SmartTV from Unidentified Vendors\n /droid.+; ([\\w- ]+) (?:android tv|smart[- ]?tv)/i\n ], [MODEL, [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield)( bui|\\))/i // Nvidia Portable\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]], [\n /(playstation \\w+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /\\b(sm-[lr]\\d\\d[0156][fnuw]?s?|gear live)\\b/i // Samsung Galaxy Watch\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [\n /((pebble))app/i, // Pebble\n /(asus|google|lg|oppo) ((pixel |zen)?watch[\\w ]*)( bui|\\))/i // Asus ZenWatch / LG Watch / Pixel Watch\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(ow(?:19|20)?we?[1-3]{1,3})/i // Oppo Watch\n ], [MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /(opwwe\\d{3})/i // OnePlus Watch\n ], [MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]], [\n /(moto 360)/i // Motorola 360\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]], [\n /(smartwatch 3)/i // Sony SmartWatch\n ], [MODEL, [VENDOR, SONY], [TYPE, WEARABLE]], [\n /(g watch r)/i // LG G Watch R\n ], [MODEL, [VENDOR, LG], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n\n ///////////////////\n // XR\n ///////////////////\n\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /(pico) (4|neo3(?: link|pro)?)/i // Pico\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /; (quest( \\d| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n /(homepod).+mac os/i // Apple HomePod\n ], [MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]], [\n /windows iot/i\n ], [[TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /droid .+?; ([\\w\\. -]+)( bui|\\))/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /(arkweb)\\/([\\w\\.]+)/i // ArkWeb\n ], [NAME, VERSION], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n\n /\\b(libweb)/i // LibWeb\n ], [NAME, VERSION], [\n /ladybird\\//i\n ], [[NAME, 'LibWeb']], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows (?:phone(?: os)?|mobile|iot))[\\/ ]?([\\d\\.\\w ]*)/i // Windows Phone\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /windows nt 6\\.2; (arm)/i, // Windows RT\n /windows[\\/ ]([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n // iOS/macOS\n /[adehimnop]{4,7}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ \n /(ubuntu) ([\\w\\.]+) like android/i // Ubuntu Touch\n ], [[NAME, /(.+)/, '$1 Touch'], VERSION], [\n // Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen\n /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\\w*[-\\/; ]?([\\d\\.]*)/i\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux)(?: arm\\w*| x86\\w*| ?)([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n", "import { webcrypto as crypto } from 'node:crypto'\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nconst POOL_SIZE_MULTIPLIER = 128\nlet pool, poolOffset\nfunction fillPool(bytes) {\n if (!pool || pool.length < bytes) {\n pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER)\n crypto.getRandomValues(pool)\n poolOffset = 0\n } else if (poolOffset + bytes > pool.length) {\n crypto.getRandomValues(pool)\n poolOffset = 0\n }\n poolOffset += bytes\n}\nexport function random(bytes) {\n fillPool((bytes |= 0))\n return pool.subarray(poolOffset - bytes, poolOffset)\n}\nexport function customRandom(alphabet, defaultSize, getRandom) {\n let mask = (2 << (31 - Math.clz32((alphabet.length - 1) | 1))) - 1\n let step = Math.ceil((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n if (!size) return ''\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let i = step\n while (i--) {\n id += alphabet[bytes[i] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport function customAlphabet(alphabet, size = 21) {\n return customRandom(alphabet, size, random)\n}\nexport function nanoid(size = 21) {\n fillPool((size |= 0))\n let id = ''\n for (let i = poolOffset - size; i < poolOffset; i++) {\n id += scopedUrlAlphabet[pool[i] & 63]\n }\n return id\n}\n", "export let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n", "export const DOCKER_CONTAINER_WEB_URL = 'http://localhost:5987';\n", "/**\n * Checks if a given argument is null or undefined.\n *\n * @template T - The type of the argument.\n * @param {T | undefined | null} argument - The argument to check.\n * @returns {argument is undefined | null} `true` if the argument is null or undefined; otherwise, `false`.\n */\nexport const isNullish = <T>(argument: T | undefined | null): argument is undefined | null =>\n argument === null || argument === undefined;\n\n/**\n * Checks if a given argument is neither null nor undefined.\n *\n * @template T - The type of the argument.\n * @param {T | undefined | null} argument - The argument to check.\n * @returns {argument is NonNullable<T>} `true` if the argument is not null or undefined; otherwise, `false`.\n */\nexport const nonNullish = <T>(argument: T | undefined | null): argument is NonNullable<T> =>\n !isNullish(argument);\n\n/**\n * Checks if a given value is not null, not undefined, and not an empty string.\n *\n * @param {string | undefined | null} value - The value to check.\n * @returns {boolean} `true` if the value is not null, not undefined, and not an empty string; otherwise, `false`.\n */\nexport const notEmptyString = (value: string | undefined | null): value is string =>\n nonNullish(value) && value !== '';\n\n/**\n * Checks if a given value is null, undefined, or an empty string.\n *\n * @param {string | undefined | null} value - The value to check.\n * @returns {value is undefined | null | \"\"} Type predicate indicating if the value is null, undefined, or an empty string.\n */\nexport const isEmptyString = (value: string | undefined | null): value is undefined | null | '' =>\n !notEmptyString(value);\n", "import {nonNullish} from './nullish.utils';\n\nconst JSON_KEY_BIGINT = '__bigint__';\n\n/**\n * A custom replacer for `JSON.stringify` that converts specific types not natively supported\n * by the API into JSON-compatible formats.\n *\n * Supported conversions:\n * - `BigInt` \u2192 `{ \"__bigint__\": string }`\n *\n * @param {string} _key - Ignored. Only provided for API compatibility.\n * @param {unknown} value - The value to transform before stringification.\n * @returns {unknown} The transformed value if it matches a known type, otherwise the original value.\n */\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const jsonReplacer = (_key: string, value: unknown): unknown => {\n if (typeof value === 'bigint') {\n return {[JSON_KEY_BIGINT]: `${value}`};\n }\n\n return value;\n};\n\n/**\n * A custom reviver for `JSON.parse` that reconstructs specific types from their JSON-encoded representations.\n *\n * This reverses the transformations applied by `jsonReplacer`, restoring the original types.\n *\n * Supported conversions:\n * - `{ \"__bigint__\": string }` \u2192 `BigInt`\n *\n * @param {string} _key - Ignored but provided for API compatibility.\n * @param {unknown} value - The parsed value to transform.\n * @returns {unknown} The reconstructed value if it matches a known type, otherwise the original value.\n */\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const jsonReviver = (_key: string, value: unknown): unknown => {\n const mapValue = <T>(key: string): T => (value as Record<string, T>)[key];\n\n if (nonNullish(value) && typeof value === 'object' && JSON_KEY_BIGINT in value) {\n return BigInt(mapValue(JSON_KEY_BIGINT));\n }\n\n return value;\n};\n", "import {DOCKER_CONTAINER_WEB_URL} from '../constants/container.constants';\nimport type {Environment} from '../types/env';\nimport type {\n SetPageViewsRequest,\n SetPerformanceMetricsRequest,\n SetTrackEventsRequest\n} from '../types/orbiter';\nimport {jsonReplacer} from '../utils/dfinity/json.utils';\nimport {nonNullish} from '../utils/dfinity/nullish.utils';\n\ntype ApiPath = '/views' | '/events' | '/metrics';\n\nexport class ApiError extends Error {\n constructor(\n private readonly status: number,\n private readonly statusText: string\n ) {\n super(`[${status}] Orbiter Error: ${statusText}`);\n }\n}\n\nexport class OrbiterApi {\n readonly #apiUrl: string;\n\n constructor({container, orbiterId}: Environment) {\n const localActor = nonNullish(container) && container !== false;\n\n const hostDomain = localActor\n ? container === true\n ? DOCKER_CONTAINER_WEB_URL\n : container\n : 'https://icp0.io';\n\n const {protocol, host} = new URL(hostDomain);\n\n this.#apiUrl = `${protocol}//${orbiterId}.${host}`;\n }\n\n postPageViews = async ({request: payload}: {request: SetPageViewsRequest}): Promise<null> =>\n await this.post<SetPageViewsRequest, null>({\n path: '/views',\n payload\n });\n\n postTrackEvents = async ({request: payload}: {request: SetTrackEventsRequest}): Promise<null> =>\n await this.post<SetTrackEventsRequest, null>({\n path: '/events',\n payload\n });\n\n postPerformanceMetrics = async ({\n request: payload\n }: {\n request: SetPerformanceMetricsRequest;\n }): Promise<null> =>\n await this.post<SetPerformanceMetricsRequest, null>({\n path: '/metrics',\n payload\n });\n\n post = async <T, R>({path, payload}: {path: ApiPath; payload: T}): Promise<R> => {\n const response = await fetch(`${this.#apiUrl}${path}`, {\n method: 'POST',\n keepalive: true,\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(payload, jsonReplacer)\n });\n\n if (!response.ok) {\n throw new ApiError(response.status, response.statusText);\n }\n\n return await response.json();\n };\n}\n", "import {OrbiterApi} from '../api/orbiter.api';\nimport type {Environment} from '../types/env';\nimport type {\n SatelliteIdText,\n SetPageViewRequestEntry,\n SetPageViewsRequest,\n SetPerformanceMetricRequestEntry,\n SetPerformanceMetricsRequest,\n SetTrackEventRequestEntry,\n SetTrackEventsRequest\n} from '../types/orbiter';\n\nexport class OrbiterServices {\n readonly #env: Environment;\n readonly #api: OrbiterApi;\n\n constructor(env: Environment) {\n this.#env = env;\n this.#api = new OrbiterApi(env);\n }\n\n setPageView = async (entry: SetPageViewRequestEntry): Promise<null> => {\n const request: SetPageViewsRequest = {\n ...this.satelliteId(),\n page_views: [entry]\n };\n\n return await this.#api.postPageViews({request});\n };\n\n setTrackEvent = async (entry: SetTrackEventRequestEntry): Promise<null> => {\n const request: SetTrackEventsRequest = {\n ...this.satelliteId(),\n track_events: [entry]\n };\n\n return await this.#api.postTrackEvents({request});\n };\n\n setPerformanceMetric = async (entry: SetPerformanceMetricRequestEntry): Promise<null> => {\n const request: SetPerformanceMetricsRequest = {\n ...this.satelliteId(),\n performance_metrics: [entry]\n };\n\n return await this.#api.postPerformanceMetrics({request});\n };\n\n private satelliteId(): {satellite_id: SatelliteIdText} {\n return {\n satellite_id: this.#env.satelliteId\n };\n }\n}\n", "export const nowInBigIntNanoSeconds = (): bigint => BigInt(Date.now()) * BigInt(1e6);\n", "import type {AnalyticKey, SetPageViewPayload} from '../types/orbiter';\nimport {nowInBigIntNanoSeconds} from './date.utils';\nimport {isEmptyString, isNullish, nonNullish, notEmptyString} from './dfinity/nullish.utils';\n\nexport const timestamp = (): Pick<AnalyticKey, 'collected_at'> => ({\n collected_at: nowInBigIntNanoSeconds()\n});\n\nexport const userAgent = (): Pick<SetPageViewPayload, 'user_agent'> => {\n const {userAgent} = navigator;\n return nonNullish(userAgent) ? {user_agent: userAgent} : {};\n};\n\nexport const campaign = (): {withCampaign: boolean} & Pick<SetPageViewPayload, 'campaign'> => {\n const {\n location: {search}\n } = document;\n\n const searchParams = new URLSearchParams(search);\n\n const utm_source = searchParams.get('utm_source');\n\n if (isNullish(utm_source) || isEmptyString(utm_source)) {\n return {withCampaign: false};\n }\n\n const utm_medium = searchParams.get('utm_medium');\n const utm_campaign = searchParams.get('utm_campaign');\n const utm_term = searchParams.get('utm_term');\n const utm_content = searchParams.get('utm_content');\n\n return {\n withCampaign: true,\n campaign: {\n utm_source,\n ...(notEmptyString(utm_medium) && {utm_medium}),\n ...(notEmptyString(utm_campaign) && {utm_campaign}),\n ...(notEmptyString(utm_term) && {utm_term}),\n ...(notEmptyString(utm_content) && {utm_content})\n }\n };\n};\n", "import {nanoid} from 'nanoid';\nimport type {Metric} from 'web-vitals';\nimport type {\n NavigationTypePayload,\n PerformanceMetricNamePayload,\n SetPerformanceMetricPayload,\n SetPerformanceMetricRequestEntry,\n WebVitalsMetricPayload\n} from '../types/orbiter';\nimport {timestamp, userAgent} from '../utils/analytics.utils';\nimport {nonNullish} from '../utils/dfinity/nullish.utils';\n\ntype SessionMetric = Omit<Metric, 'navigationType'> &\n Partial<Pick<Metric, 'navigationType'>> & {sessionId: string};\n\ntype PostPerformanceMetric = (entry: SetPerformanceMetricRequestEntry) => Promise<void>;\n\nexport class PerformanceServices {\n async startPerformance({\n sessionId,\n postPerformanceMetric\n }: {\n sessionId: string;\n postPerformanceMetric: PostPerformanceMetric;\n }) {\n const {onCLS, onFCP, onINP, onLCP, onTTFB} = await import('web-vitals');\n\n const setMetric = (metric: Metric) => {\n (async () => {\n await PerformanceServices.setPerformanceMetric({\n metric: {...metric, sessionId},\n postPerformanceMetric\n });\n })();\n };\n\n onCLS(setMetric);\n onFCP(setMetric);\n onINP(setMetric);\n onLCP(setMetric);\n onTTFB(setMetric);\n }\n\n private static setPerformanceMetric = async ({\n metric,\n postPerformanceMetric\n }: {\n metric: SessionMetric;\n postPerformanceMetric: PostPerformanceMetric;\n }) => {\n const data = PerformanceServices.mapPerformanceMetric(metric);\n\n if (data === 'unknown') {\n console.warn('Performance metric ignored. Unknown metric name.', metric);\n return;\n }\n\n await postPerformanceMetric({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n performance_metric: data\n });\n };\n\n private static mapPerformanceMetric({\n sessionId,\n name: metricName,\n value,\n delta,\n id,\n navigationType\n }: SessionMetric): SetPerformanceMetricPayload | 'unknown' {\n const mapMetricName = (): PerformanceMetricNamePayload | 'unknown' => {\n switch (metricName) {\n case 'CLS':\n case 'FCP':\n case 'INP':\n case 'LCP':\n case 'TTFB':\n return metricName;\n default:\n return 'unknown';\n }\n };\n\n const metric_name = mapMetricName();\n\n if (metric_name === 'unknown') {\n return metric_name;\n }\n\n const mapNavigationType = (): NavigationTypePayload | undefined => {\n switch (navigationType) {\n case 'navigate':\n return 'Navigate';\n case 'restore':\n return 'Restore';\n case 'reload':\n return 'Reload';\n case 'back-forward':\n return 'BackForward';\n case 'back-forward-cache':\n return 'BackForwardCache';\n case 'prerender':\n return 'Prerender';\n default:\n return undefined;\n }\n };\n\n const navigation_type = mapNavigationType();\n\n const data: WebVitalsMetricPayload = {\n value,\n delta,\n id,\n ...(nonNullish(navigation_type) && {navigation_type})\n };\n\n const {\n location: {href}\n } = document;\n\n const metric: SetPerformanceMetricPayload = {\n href,\n metric_name,\n session_id: sessionId,\n data: {\n WebVitalsMetric: data\n },\n ...userAgent()\n };\n\n return metric;\n }\n}\n", "import type {PageViewClientPayload} from '../types/orbiter';\nimport {isNullish} from '../utils/dfinity/nullish.utils';\n\nexport class UserAgentServices {\n async parseUserAgent(user_agent: string | undefined): Promise<PageViewClientPayload | undefined> {\n // In CI test, parsing undefined agent returns WebKit on linux\n if (isNullish(user_agent)) {\n return undefined;\n }\n\n const UAParser = await import('ua-parser-js');\n\n const parser = new UAParser.default(user_agent);\n const {browser, os, device} = parser.getResult();\n\n if (isNullish(browser.name) || isNullish(os.name)) {\n return undefined;\n }\n\n return {\n browser: browser.name,\n os: os.name,\n device: device?.type\n };\n }\n}\n", "export class InvalidPercentageError extends Error {}\nexport class NullishError extends Error {}\n\nexport const assertNonNullish: <T>(\n value: T,\n message?: string\n // eslint-disable-next-line local-rules/prefer-object-params\n) => asserts value is NonNullable<T> = <T>(value: T, message?: string): void => {\n if (value === null || value === undefined) {\n throw new NullishError(message);\n }\n};\n\n// eslint-disable-next-line local-rules/prefer-object-params\nexport const asNonNullish = <T>(value: T, message?: string): NonNullable<T> => {\n assertNonNullish(value, message);\n return value;\n};\n\nexport const assertPercentageNumber = (percentage: number) => {\n if (percentage < 0 || percentage > 100) {\n throw new InvalidPercentageError(`${percentage} is not a valid percentage number.`);\n }\n};\n", "/**\n * Checks if the current environment is a browser.\n * @returns {boolean} True if the current environment is a browser, false otherwise.\n */\nexport const isBrowser = (): boolean => typeof window !== `undefined`;\n", "import {isNullish} from './dfinity/nullish.utils';\n\nconst ORBITER_SERVICES_UNDEFINED_MSG =\n 'Unable to connect to the analytics services. Did you call `initOrbiter`?';\n\nexport const warningOrbiterServicesNotInitialized = <T>(value: T) => {\n if (isNullish(value)) {\n console.warn(ORBITER_SERVICES_UNDEFINED_MSG);\n }\n};\n", "import {nanoid} from 'nanoid';\nimport {OrbiterServices} from './services/orbiter.services';\nimport {PerformanceServices} from './services/performance.services';\nimport {UserAgentServices} from './services/user-agent.services';\nimport type {Environment} from './types/env';\nimport type {SetPageViewPayload, SetPerformanceMetricRequestEntry} from './types/orbiter';\nimport type {TrackEvent} from './types/track';\nimport {campaign, timestamp, userAgent} from './utils/analytics.utils';\nimport {assertNonNullish} from './utils/dfinity/asserts.utils';\nimport {isNullish, nonNullish} from './utils/dfinity/nullish.utils';\nimport {isBrowser} from './utils/env.utils';\nimport {warningOrbiterServicesNotInitialized} from './utils/log.utils';\n\nconst initSessionId = (): string | undefined => {\n // I faced this issue when I used the library in Docusaurus which does not implement the crypto API when server-side rendering.\n // https://github.com/ai/nanoid/issues?q=crypto+not+defined\n if (typeof crypto === 'undefined') {\n return undefined;\n }\n\n return nanoid();\n};\n\nconst sessionId = initSessionId();\n\ninterface Services {\n orbiter: OrbiterServices;\n /**\n * Developer opt-in feature.\n */\n userAgent: UserAgentServices | null;\n performance: PerformanceServices | null;\n}\n\nlet services: Services | undefined | null;\n\nexport const initServices = (env: Environment): {cleanup: () => void} => {\n services = {\n orbiter: new OrbiterServices(env),\n userAgent: env.options?.userAgentParser === true ? new UserAgentServices() : null,\n performance: env.options?.performance === true ? new PerformanceServices() : null\n };\n\n return {\n cleanup() {\n services = null;\n }\n };\n};\n\nexport const initTrackPageViews = (): {cleanup: () => void} => {\n const trackPages = async () => await trackPageViewAsync();\n\n let pushStateProxy: typeof history.pushState | null = new Proxy(history.pushState, {\n // eslint-disable-next-line local-rules/prefer-object-params\n apply: async (\n target,\n thisArg,\n argArray: [data: unknown, unused: string, url?: string | URL | null | undefined]\n ) => {\n target.apply(thisArg, argArray);\n await trackPages();\n }\n });\n\n history.pushState = pushStateProxy;\n\n addEventListener('popstate', trackPages, {passive: true});\n\n return {\n cleanup() {\n pushStateProxy = null;\n removeEventListener('popstate', trackPages, false);\n }\n };\n};\n\nconst SESSION_ID_UNDEFINED_MSG = 'No session ID initialized.';\n\nexport const setPageView = async () => {\n if (!isBrowser()) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n const {\n title,\n location: {href},\n referrer\n } = document;\n const {innerWidth, innerHeight, screen: windowScreen} = window;\n const {timeZone} = Intl.DateTimeFormat().resolvedOptions();\n\n const {user_agent} = userAgent();\n const client = nonNullish(services?.userAgent)\n ? await services?.userAgent.parseUserAgent(user_agent)\n : undefined;\n\n const {withCampaign, campaign: campaignData} = campaign();\n\n // Not gracious but the goal is to manipulate strictly only when needed for performance reasons.\n const cleanHref = (): string => {\n if (!withCampaign) {\n return href;\n }\n\n try {\n const url = new URL(href);\n\n Object.keys(campaignData ?? {}).forEach((key) => url.searchParams.delete(key));\n\n return url.href;\n } catch {\n // Unlikely to happen\n return href;\n }\n };\n\n const page_view: SetPageViewPayload = {\n title,\n href: cleanHref(),\n ...(nonNullish(referrer) && referrer !== '' && {referrer}),\n device: {\n inner_width: innerWidth,\n inner_height: innerHeight,\n screen_width: windowScreen?.availWidth,\n screen_height: windowScreen?.availHeight\n },\n time_zone: timeZone,\n session_id: sessionId,\n user_agent,\n ...(nonNullish(client) && {client}),\n ...(nonNullish(campaignData) && {campaign: campaignData})\n };\n\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setPageView({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n page_view\n });\n};\n\nexport const startTrackPerformance = async () => {\n if (!isBrowser()) {\n return;\n }\n\n if (isNullish(services?.performance)) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n warningOrbiterServicesNotInitialized(services);\n\n const postPerformanceMetric = async (entry: SetPerformanceMetricRequestEntry) => {\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setPerformanceMetric(entry);\n };\n\n await services.performance.startPerformance({sessionId, postPerformanceMetric});\n};\n\n/**\n * Tracks a page view in Juno Analytics.\n *\n * This function does not return a promise, as it triggers the tracking request without awaiting its completion.\n * It is designed for fire-and-forget usage to avoid blocking application flow.\n */\nexport const trackPageView = () => {\n trackPageViewAsync();\n};\n\n/**\n * Tracks a page view in Juno Analytics.\n * @returns {Promise<void>} A promise that resolves when the page view is tracked.\n */\nexport const trackPageViewAsync = async (): Promise<void> => {\n await setPageView();\n};\n\n/**\n * Tracks a custom event in Juno Analytics.\n *\n * This function does not return a promise, as it triggers the tracking request without awaiting its completion.\n * It is designed for fire-and-forget usage to avoid blocking application flow.\n *\n * @param {TrackEvent} data - The event details.\n */\nexport const trackEvent = (data: TrackEvent) => {\n trackEventAsync(data);\n};\n\n/**\n * Tracks a custom event in Juno Analytics.\n * @param {TrackEvent} data - The event details.\n * @returns {Promise<void>} A promise that resolves when the event is tracked.\n */\nexport const trackEventAsync = async (data: TrackEvent): Promise<void> => {\n if (!isBrowser()) {\n return;\n }\n\n assertNonNullish(sessionId, SESSION_ID_UNDEFINED_MSG);\n\n warningOrbiterServicesNotInitialized(services);\n\n await services?.orbiter?.setTrackEvent({\n key: {\n key: nanoid(),\n ...timestamp()\n },\n track_event: {...data, session_id: sessionId, ...userAgent(), ...timestamp()}\n });\n};\n", "// TODO: duplicated because those should not be bundled in web worker. We can avoid this by transforming utils into a library of modules.\ninterface ImportMeta {\n env: Record<string, string> | undefined;\n}\n\nexport const envSatelliteId = (): string | undefined => {\n const viteEnvSatelliteId = (): string | undefined =>\n typeof import.meta !== 'undefined' &&\n typeof (import.meta as unknown as ImportMeta).env !== 'undefined'\n ? ((import.meta as unknown as ImportMeta).env?.VITE_SATELLITE_ID ??\n (import.meta as unknown as ImportMeta).env?.PUBLIC_SATELLITE_ID)\n : undefined;\n\n return typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? (process.env.NEXT_PUBLIC_SATELLITE_ID ?? viteEnvSatelliteId())\n : viteEnvSatelliteId();\n};\n\nexport const envOrbiterId = (): string | undefined => {\n const viteEnvOrbiterId = (): string | undefined =>\n typeof import.meta !== 'undefined' &&\n typeof (import.meta as unknown as ImportMeta).env !== 'undefined'\n ? ((import.meta as unknown as ImportMeta).env?.VITE_ORBITER_ID ??\n (import.meta as unknown as ImportMeta).env?.PUBLIC_ORBITER_ID)\n : undefined;\n\n return typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? (process.env.NEXT_PUBLIC_ORBITER_ID ?? viteEnvOrbiterId())\n : viteEnvOrbiterId();\n};\n\nexport const envContainer = (): string | undefined => {\n const viteEnvContainer = (): string | undefined =>\n typeof import.meta !== 'undefined' &&\n typeof (import.meta as unknown as ImportMeta).env !== 'undefined'\n ? ((import.meta as unknown as ImportMeta).env?.VITE_CONTAINER ??\n (import.meta as unknown as ImportMeta).env?.PUBLIC_CONTAINER)\n : undefined;\n\n return typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? (process.env.NEXT_PUBLIC_CONTAINER ?? viteEnvContainer())\n : viteEnvContainer();\n};\n", "import {initServices, initTrackPageViews, setPageView, startTrackPerformance} from './tracker';\nimport type {Environment, UserEnvironment} from './types/env';\nimport {assertNonNullish} from './utils/dfinity/asserts.utils';\nimport {envContainer, envOrbiterId, envSatelliteId} from './utils/window.env.utils';\n\nexport {trackEvent, trackEventAsync, trackPageView, trackPageViewAsync} from './tracker';\nexport type * from './types/env';\n\nconst parseEnv = (userEnv?: UserEnvironment): Environment => {\n const satelliteId = userEnv?.satelliteId ?? envSatelliteId();\n\n assertNonNullish(\n satelliteId,\n 'Satellite ID is not configured. Orbiter cannot be initialized without a target Satellite.'\n );\n\n const orbiterId = userEnv?.orbiterId ?? envOrbiterId();\n\n assertNonNullish(\n orbiterId,\n 'Orbiter ID is not configured. The analytics cannot be initialized without an Orbiter.'\n );\n\n const container = userEnv?.container ?? envContainer();\n\n return {\n orbiterId,\n satelliteId,\n container,\n options: userEnv?.options\n };\n};\n\n/**\n * Initializes the Juno Analytics.\n *\n * Although this function is synchronous, it triggers asynchronous tracking of the initial page view\n * and, optionally, the initialization of web vitals, without awaiting their completion.\n * This design ensures better performance and avoids blocking your application's boot time.\n *\n * @param {UserEnvironment} [userEnv] - The optional user environment configuration. If no environment is provided, the variables injected by the Vite or NextJS plugins will be used.\n * @returns {() => void} A cleanup function that removes hooks (such as navigation tracking) added for analytics.\n */\nexport const initOrbiter = (userEnv?: UserEnvironment): (() => void) => {\n const env = parseEnv(userEnv);\n\n const {cleanup: analyticsServicesCleanup} = initServices(env);\n\n // Save first page as soon as possible.\n // We do not await on purpose to not block the application's boot.\n setPageView();\n\n const {cleanup: pushHistoryCleanup} = initTrackPageViews();\n\n // We do not await on purpose to not block the application's boot.\n startTrackPerformance();\n\n return () => {\n analyticsServicesCleanup();\n pushHistoryCleanup();\n };\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["web_vitals_exports", "__export", "E", "y", "B", "N", "H", "b", "T", "S", "x", "$", "a", "e", "t", "c", "n", "i", "s", "o", "r", "d", "h", "f", "l", "u", "m", "g", "p", "v", "L", "P", "_", "M", "w", "C", "I", "F", "k", "A", "q", "O", "init_web_vitals", "__esmMin", "require_ua_parser", "__commonJSMin", "exports", "module", "window", "undefined", "LIBVERSION", "EMPTY", "UNKNOWN", "FUNC_TYPE", "UNDEF_TYPE", "OBJ_TYPE", "STR_TYPE", "MAJOR", "MODEL", "NAME", "TYPE", "VENDOR", "VERSION", "ARCHITECTURE", "CONSOLE", "MOBILE", "TABLET", "SMARTTV", "WEARABLE", "EMBEDDED", "UA_MAX_LENGTH", "AMAZON", "APPLE", "ASUS", "BLACKBERRY", "BROWSER", "CHROME", "EDGE", "FIREFOX", "GOOGLE", "HONOR", "HUAWEI", "LENOVO", "LG", "MICROSOFT", "MOTOROLA", "NVIDIA", "ONEPLUS", "OPERA", "OPPO", "SAMSUNG", "SHARP", "SONY", "XIAOMI", "ZEBRA", "FACEBOOK", "CHROMIUM_OS", "MAC_OS", "SUFFIX_BROWSER", "extend", "regexes", "extensions", "mergedRegexes", "i", "enumerize", "arr", "enums", "has", "str1", "str2", "lowerize", "str", "majorize", "version", "trim", "len", "rgxMapper", "ua", "arrays", "j", "k", "p", "q", "matches", "match", "regex", "props", "strMapper", "map", "oldSafariMap", "windowsVersionMap", "UAParser", "_navigator", "_ua", "_uach", "_rgxmap", "_isSelfNav", "_browser", "_cpu", "_device", "_engine", "_os", "$", "parser", "result", "prop", "crypto", "urlAlphabet", "POOL_SIZE_MULTIPLIER", "pool", "poolOffset", "fillPool", "bytes", "crypto", "nanoid", "size", "fillPool", "id", "i", "poolOffset", "urlAlphabet", "pool", "DOCKER_CONTAINER_WEB_URL", "isNullish", "argument", "nonNullish", "notEmptyString", "value", "isEmptyString", "JSON_KEY_BIGINT", "jsonReplacer", "_key", "value", "ApiError", "status", "statusText", "OrbiterApi", "#apiUrl", "container", "orbiterId", "hostDomain", "nonNullish", "DOCKER_CONTAINER_WEB_URL", "protocol", "host", "payload", "path", "response", "jsonReplacer", "OrbiterServices", "#env", "#api", "env", "OrbiterApi", "entry", "request", "nowInBigIntNanoSeconds", "timestamp", "nowInBigIntNanoSeconds", "userAgent", "nonNullish", "campaign", "search", "searchParams", "utm_source", "isNullish", "isEmptyString", "utm_medium", "utm_campaign", "utm_term", "utm_content", "notEmptyString", "PerformanceServices", "_PerformanceServices", "sessionId", "postPerformanceMetric", "onCLS", "onFCP", "onINP", "onLCP", "onTTFB", "setMetric", "metric", "data", "nanoid", "timestamp", "metricName", "value", "delta", "id", "navigationType", "metric_name", "navigation_type", "nonNullish", "href", "userAgent", "UserAgentServices", "user_agent", "isNullish", "UAParser", "parser", "browser", "os", "device", "NullishError", "assertNonNullish", "value", "message", "isBrowser", "ORBITER_SERVICES_UNDEFINED_MSG", "warningOrbiterServicesNotInitialized", "value", "isNullish", "initSessionId", "nanoid", "sessionId", "services", "initServices", "env", "OrbiterServices", "UserAgentServices", "PerformanceServices", "initTrackPageViews", "trackPages", "trackPageViewAsync", "pushStateProxy", "target", "thisArg", "argArray", "SESSION_ID_UNDEFINED_MSG", "setPageView", "isBrowser", "assertNonNullish", "title", "href", "referrer", "innerWidth", "innerHeight", "windowScreen", "timeZone", "user_agent", "userAgent", "client", "nonNullish", "withCampaign", "campaignData", "campaign", "page_view", "url", "key", "warningOrbiterServicesNotInitialized", "timestamp", "startTrackPerformance", "isNullish", "postPerformanceMetric", "entry", "trackPageView", "trackEvent", "data", "trackEventAsync", "envSatelliteId", "viteEnvSatelliteId", "envOrbiterId", "viteEnvOrbiterId", "envContainer", "viteEnvContainer", "parseEnv", "userEnv", "satelliteId", "envSatelliteId", "assertNonNullish", "orbiterId", "envOrbiterId", "container", "envContainer", "initOrbiter", "env", "analyticsServicesCleanup", "initServices", "setPageView", "pushHistoryCleanup", "initTrackPageViews", "startTrackPerformance"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@junobuild/analytics",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "description": "Tracker for Juno analytics",
5
5
  "author": "David Dal Busco (https://daviddalbusco.com)",
6
6
  "license": "MIT",
@@ -1,2 +0,0 @@
1
- var I="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var u=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=I[r[t]&63];return e};var A="http://localhost:5987";var m=t=>t==null,s=t=>!m(t),d=t=>s(t)&&t!=="",V=t=>!d(t);var L="__bigint__",C=(t,e)=>typeof e=="bigint"?{[L]:`${e}`}:e;var b=class extends Error{constructor(r,n){super(`[${r}] Orbiter Error: ${n}`);this.status=r;this.statusText=n}status;statusText},v=class{#e;constructor({container:e,orbiterId:r}){let i=s(e)&&e!==!1?e===!0?A:e:"https://icp0.io",{protocol:o,host:c}=new URL(i);this.#e=`${o}//${r}.${c}`}postPageViews=async({request:e})=>await this.post({path:"/views",payload:e});postTrackEvents=async({request:e})=>await this.post({path:"/events",payload:e});postPerformanceMetrics=async({request:e})=>await this.post({path:"/metrics",payload:e});post=async({path:e,payload:r})=>{let n=await fetch(`${this.#e}${e}`,{method:"POST",keepalive:!0,headers:{"Content-Type":"application/json"},body:JSON.stringify(r,C)});if(!n.ok)throw new b(n.status,n.statusText);return await n.json()}};var S=class{#e;#t;constructor(e){this.#e=e,this.#t=new v(e)}setPageView=async e=>{let r={...this.satelliteId(),page_views:[e]};return await this.#t.postPageViews({request:r})};setTrackEvent=async e=>{let r={...this.satelliteId(),track_events:[e]};return await this.#t.postTrackEvents({request:r})};setPerformanceMetric=async e=>{let r={...this.satelliteId(),performance_metrics:[e]};return await this.#t.postPerformanceMetrics({request:r})};satelliteId(){return{satellite_id:this.#e.satelliteId}}};var O=()=>BigInt(Date.now())*BigInt(1e6);var f=()=>({collected_at:O()}),P=()=>{let{userAgent:t}=navigator;return s(t)?{user_agent:t}:{}},U=()=>{let{location:{search:t}}=document,e=new URLSearchParams(t),r=e.get("utm_source");if(m(r)||V(r))return{withCampaign:!1};let n=e.get("utm_medium"),i=e.get("utm_campaign"),o=e.get("utm_term"),c=e.get("utm_content");return{withCampaign:!0,campaign:{utm_source:r,...d(n)&&{utm_medium:n},...d(i)&&{utm_campaign:i},...d(o)&&{utm_term:o},...d(c)&&{utm_content:c}}}};var E=class t{async startPerformance({sessionId:e,postPerformanceMetric:r}){let{onCLS:n,onFCP:i,onINP:o,onLCP:c,onTTFB:g}=await import("./web-vitals-IB5RPD7K.js"),l=h=>{(async()=>await t.setPerformanceMetric({metric:{...h,sessionId:e},postPerformanceMetric:r}))()};n(l),i(l),o(l),c(l),g(l)}static setPerformanceMetric=async({metric:e,postPerformanceMetric:r})=>{let n=t.mapPerformanceMetric(e);if(n==="unknown"){console.warn("Performance metric ignored. Unknown metric name.",e);return}await r({key:{key:u(),...f()},performance_metric:n})};static mapPerformanceMetric({sessionId:e,name:r,value:n,delta:i,id:o,navigationType:c}){let l=(()=>{switch(r){case"CLS":case"FCP":case"INP":case"LCP":case"TTFB":return r;default:return"unknown"}})();if(l==="unknown")return l;let p=(()=>{switch(c){case"navigate":return"Navigate";case"restore":return"Restore";case"reload":return"Reload";case"back-forward":return"BackForward";case"back-forward-cache":return"BackForwardCache";case"prerender":return"Prerender";default:return}})(),q={value:n,delta:i,id:o,...s(p)&&{navigation_type:p}},{location:{href:R}}=document;return{href:R,metric_name:l,session_id:e,data:{WebVitalsMetric:q},...P()}}};var T=class{async parseUserAgent(e){if(m(e))return;let r=await import("./ua-parser-DMUY4BWA.js"),n=new r.default(e),{browser:i,os:o,device:c}=n.getResult();if(!(m(i.name)||m(o.name)))return{browser:i.name,os:o.name,device:c?.type}}};var M=class extends Error{},k=(t,e)=>{if(t==null)throw new M(e)};var N=()=>typeof window<"u";var F="Unable to connect to the analytics services. Did you call `initOrbiter`?",w=t=>{m(t)&&console.warn(F)};var j=()=>{if(!(typeof crypto>"u"))return u()},y=j(),a,_e=t=>(a={orbiter:new S(t),userAgent:t.options?.userAgentParser===!0?new T:null,performance:t.options?.performance===!0?new E:null},{cleanup(){a=null}}),be=()=>{let t=async()=>await B(),e=new Proxy(history.pushState,{apply:async(r,n,i)=>{r.apply(n,i),await t()}});return history.pushState=e,addEventListener("popstate",t,{passive:!0}),{cleanup(){e=null,removeEventListener("popstate",t,!1)}}},x="No session ID initialized.",$=async()=>{if(!N())return;k(y,x);let{title:t,location:{href:e},referrer:r}=document,{innerWidth:n,innerHeight:i,screen:o}=window,{timeZone:c}=Intl.DateTimeFormat().resolvedOptions(),{user_agent:g}=P(),l=s(a?.userAgent)?await a?.userAgent.parseUserAgent(g):void 0,{withCampaign:h,campaign:p}=U(),R={title:t,href:(()=>{if(!h)return e;try{let _=new URL(e);return Object.keys(p??{}).forEach(D=>_.searchParams.delete(D)),_.href}catch{return e}})(),...s(r)&&r!==""&&{referrer:r},device:{inner_width:n,inner_height:i,screen_width:o?.availWidth,screen_height:o?.availHeight},time_zone:c,session_id:y,user_agent:g,...s(l)&&{client:l},...s(p)&&{campaign:p}};w(a),await a?.orbiter?.setPageView({key:{key:u(),...f()},page_view:R})},Me=async()=>{if(!N()||m(a?.performance))return;k(y,x),w(a);let t=async e=>{w(a),await a?.orbiter?.setPerformanceMetric(e)};await a.performance.startPerformance({sessionId:y,postPerformanceMetric:t})},xe=()=>{B()},B=async()=>{await $()},qe=t=>{W(t)},W=async t=>{N()&&(k(y,x),w(a),await a?.orbiter?.setTrackEvent({key:{key:u(),...f()},track_event:{...t,session_id:y,...P(),...f()}}))};export{k as a,_e as b,be as c,$ as d,Me as e,xe as f,B as g,qe as h,W as i};
2
- //# sourceMappingURL=chunk-AY32D3XT.js.map