@deriv-com/analytics 1.42.1 → 1.43.0

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.
Files changed (57) hide show
  1. package/dist/browser/analytics.bundle.global.js +7 -6
  2. package/dist/browser/analytics.bundle.global.js.map +1 -1
  3. package/dist/browser/analytics.esm.mjs +1 -1
  4. package/dist/browser/analytics.esm.mjs.map +1 -1
  5. package/dist/chunk-2R54Y2IU.mjs +4 -0
  6. package/dist/chunk-2R54Y2IU.mjs.map +1 -0
  7. package/dist/chunk-34EEFBSP.mjs +5 -0
  8. package/dist/chunk-34EEFBSP.mjs.map +1 -0
  9. package/dist/chunk-MHY63WMT.mjs +9 -0
  10. package/dist/chunk-MHY63WMT.mjs.map +1 -0
  11. package/dist/chunk-TWWU2RKG.js +3 -0
  12. package/dist/chunk-TWWU2RKG.js.map +1 -0
  13. package/dist/chunk-XZPWAV3F.mjs +3 -0
  14. package/dist/chunk-XZPWAV3F.mjs.map +1 -0
  15. package/dist/{chunk-T4BXL6JM.js → chunk-ZAFMAIS7.js} +3 -3
  16. package/dist/chunk-ZAFMAIS7.js.map +1 -0
  17. package/dist/{growthbook-TBZXPHJZ.mjs → growthbook-SXLFY3KI.mjs} +2 -2
  18. package/dist/index.d.mts +5 -3
  19. package/dist/index.d.ts +5 -3
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +2 -2
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/metafile-cjs.json +1 -1
  25. package/dist/metafile-esm.json +1 -1
  26. package/dist/metafile-iife.json +1 -1
  27. package/dist/{posthog-DmVmqDsn.d.ts → posthog-BlpiD6V1.d.mts} +4 -0
  28. package/dist/{posthog-DmVmqDsn.d.mts → posthog-BlpiD6V1.d.ts} +4 -0
  29. package/dist/posthog-LBWKPBQW.mjs +5 -0
  30. package/dist/posthog-LBWKPBQW.mjs.map +1 -0
  31. package/dist/providers/growthbook/index.js +2 -2
  32. package/dist/providers/growthbook/index.mjs +1 -1
  33. package/dist/providers/posthog/index.d.mts +1 -1
  34. package/dist/providers/posthog/index.d.ts +1 -1
  35. package/dist/providers/posthog/index.js +2 -2
  36. package/dist/providers/posthog/index.js.map +1 -1
  37. package/dist/providers/posthog/index.mjs +2 -2
  38. package/dist/providers/posthog/index.mjs.map +1 -1
  39. package/dist/providers/rudderstack/index.d.mts +4 -2
  40. package/dist/providers/rudderstack/index.d.ts +4 -2
  41. package/dist/providers/rudderstack/index.js +1 -1
  42. package/dist/providers/rudderstack/index.mjs +1 -1
  43. package/package.json +16 -15
  44. package/dist/chunk-4V72P52P.mjs +0 -3
  45. package/dist/chunk-4V72P52P.mjs.map +0 -1
  46. package/dist/chunk-6BHMKTVG.js +0 -3
  47. package/dist/chunk-6BHMKTVG.js.map +0 -1
  48. package/dist/chunk-F3U33XPR.mjs +0 -9
  49. package/dist/chunk-F3U33XPR.mjs.map +0 -1
  50. package/dist/chunk-MWNJTXSL.mjs +0 -5
  51. package/dist/chunk-MWNJTXSL.mjs.map +0 -1
  52. package/dist/chunk-T4BXL6JM.js.map +0 -1
  53. package/dist/chunk-TE3DYZVQ.mjs +0 -4
  54. package/dist/chunk-TE3DYZVQ.mjs.map +0 -1
  55. package/dist/posthog-QH4OCJ4V.mjs +0 -4
  56. package/dist/posthog-QH4OCJ4V.mjs.map +0 -1
  57. /package/dist/{growthbook-TBZXPHJZ.mjs.map → growthbook-SXLFY3KI.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/urls.ts","../src/utils/helpers.ts"],"names":["cloudflareTrace","growthbookApi","rudderstackDataplane","posthogApiHost","posthogUiHost","getPosthogApiHost","hostname","allowedDomains","internalEmailDomains","createLogger","prefix","isDebugEnabled","args","isInternalEmail","email","domain","isUUID","str","countryPromise","getCountry","cookieCountry","Cookies","response","text","v","cleanObject","obj","out","i","cleaned","hasKeys","key","_flattenInto","target","value","flattenObject"],"mappings":";AAAO,IAAMA,EAAkB,iCAAA,CAClBC,CAAAA,CAAgB,4BAChBC,CAAAA,CAAuB,yCAAA,CACvBC,EAAiB,sBAAA,CACjBC,CAAAA,CAAgB,yBAEhBC,CAAAA,CAAoB,IAAc,CAC3C,GAAI,OAAO,OAAW,GAAA,CAAa,OAAOF,EAC1C,IAAMG,CAAAA,CAAW,MAAA,CAAO,QAAA,CAAS,SACjC,OAAIA,CAAAA,CAAS,SAAS,WAAW,CAAA,CAAU,sBACvCA,CAAAA,CAAS,QAAA,CAAS,WAAW,CAAA,CAAU,qBAAA,CACvCA,EAAS,QAAA,CAAS,WAAW,EAAU,qBAAA,CACpCH,CACX,EAEaI,CAAAA,CAAiB,CAAC,WAAA,CAAa,UAAA,CAAY,WAAY,YAAA,CAAc,UAAU,EAE/EC,CAAAA,CAAuB,CAChC,YACA,iBAAA,CACA,aAAA,CACA,kBACA,kBAAA,CACA,iBAAA,CACA,kBACA,YAAA,CACA,kBAAA,CACA,kBACA,OAAA,CACA,aAAA,CACA,oBACA,QAAA,CACA,WAAA,CACA,aACA,gBAAA,CACA,kBAAA,CACA,WACA,YAAA,CACA,aAAA,CACA,gBACA,wBAAA,CACA,wBACJ,ECxBO,IAAMC,CAAAA,CACT,CAACC,CAAAA,CAAgBC,CAAAA,GACjB,IAAIC,CAAAA,GAAsB,CAClBD,GAAe,EAAG,OAAA,CAAQ,GAAA,CAAI,CAAA,UAAA,EAAaD,CAAM,CAAA,CAAA,CAAI,GAAGE,CAAI,EACpE,CAAA,CAESC,EAAmBC,CAAAA,EAA2B,CACvD,IAAMC,CAAAA,CAASD,CAAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,EAAG,WAAA,GACpC,OAAKC,CAAAA,CACGP,EAA2C,QAAA,CAASO,CAAM,EAD9C,KAExB,CAAA,CAEaC,EAAUC,CAAAA,EACD,iEAAA,CACD,KAAKA,CAAG,CAAA,CAOzBC,EAAyC,IAAA,CAchCC,CAAAA,CAAa,SAA6B,CACnD,GAAID,EAAgB,OAAOA,CAAAA,CAE3B,IAAME,CAAAA,CAAgB,IAAA,CAAK,KAAA,CAAMC,kBAAAA,CAAQ,IAAI,gBAAgB,CAAA,EAAK,IAAI,CAAA,EAAG,eAAA,CAEzE,OAAAH,CAAAA,CAAAA,CAAkB,SAAY,CAC1B,GAAI,CACA,IAAMI,CAAAA,CAAW,MAAM,MAAMtB,CAAe,CAAA,CAAE,MAAM,IAAM,IAAI,EAC9D,GAAI,CAACsB,EAAU,OAAOF,CAAAA,EAAiB,GAEvC,IAAMG,CAAAA,CAAO,MAAMD,CAAAA,CAAS,IAAA,GAAO,KAAA,CAAM,IAAM,EAAE,CAAA,CACjD,OAAKC,EAEmB,MAAA,CAAO,WAAA,CAAYA,EAAK,KAAA,CAAM;AAAA,CAAI,CAAA,CAAE,IAAIC,CAAAA,EAAKA,CAAAA,CAAE,MAAM,GAAA,CAAK,CAAC,CAAC,CAAC,CAAA,CACzE,GAAA,EAAK,aAAY,EAAKJ,CAAAA,EAAiB,GAHjCA,CAAAA,EAAiB,EAIvC,MAAQ,CACJ,OAAOA,CAAAA,EAAiB,EAC5B,CACJ,CAAA,IAEOF,CACX,CAAA,CASaO,EAAeC,CAAAA,EAAkB,CAC1C,GAAIA,CAAAA,EAAO,IAAA,EAAQ,OAAOA,CAAAA,EAAQ,QAAA,CAAU,OAAOA,EAEnD,GAAI,KAAA,CAAM,QAAQA,CAAG,CAAA,CAAG,CACpB,IAAMC,CAAAA,CAAa,EAAC,CACpB,IAAA,IAASC,CAAAA,CAAI,EAAGA,CAAAA,CAAIF,CAAAA,CAAI,OAAQE,CAAAA,EAAAA,CAAK,CACjC,IAAMJ,CAAAA,CAAIC,CAAAA,CAAYC,CAAAA,CAAIE,CAAC,CAAC,CAAA,CACLJ,GAAM,IAAA,EAAMG,CAAAA,CAAI,KAAKH,CAAC,EACjD,CACA,OAAOG,CAAAA,CAAI,MAAA,CAASA,CAAAA,CAAM,MAC9B,CAEA,IAAME,CAAAA,CAA+B,GACjCC,CAAAA,CAAU,KAAA,CACd,QAAWC,CAAAA,IAAOL,CAAAA,CAAK,CACnB,GAAI,CAAC,MAAA,CAAO,UAAU,cAAA,CAAe,IAAA,CAAKA,CAAAA,CAAKK,CAAG,CAAA,CAAG,SACrD,IAAMP,CAAAA,CAAIC,CAAAA,CAAYC,CAAAA,CAAIK,CAAG,CAAC,CAAA,CAG1BP,GAAM,IAAA,EACNA,CAAAA,GAAM,IACL,OAAOA,CAAAA,EAAM,UAAY,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAC,CAAA,EAAK,MAAA,CAAO,KAAKA,CAAC,CAAA,CAAE,SAAW,CAAA,EACxE,KAAA,CAAM,QAAQA,CAAC,CAAA,EAAKA,CAAAA,CAAE,MAAA,GAAW,CAAA,GAGtCK,CAAAA,CAAQE,CAAG,CAAA,CAAIP,CAAAA,CACfM,EAAU,IAAA,EACd,CACA,OAAOA,CAAAA,CAAUD,CAAAA,CAAU,MAC/B,CAAA,CAgBMG,CAAAA,CAAe,CAACN,EAA0BO,CAAAA,GAAsC,CAClF,IAAA,IAAWF,CAAAA,IAAOL,CAAAA,CAAK,CACnB,GAAI,CAAC,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAKA,CAAAA,CAAKK,CAAG,CAAA,CAAG,SACrD,IAAMG,CAAAA,CAAQR,CAAAA,CAAIK,CAAG,CAAA,CACjBG,CAAAA,EAAS,OAAOA,CAAAA,EAAU,QAAA,EAAY,CAAC,MAAM,OAAA,CAAQA,CAAK,EAC1DF,CAAAA,CAAaE,CAAAA,CAAOD,CAAM,CAAA,CAE1BA,CAAAA,CAAOF,CAAG,CAAA,CAAIG,EAEtB,CACJ,EAEaC,CAAAA,CAAiBT,CAAAA,EAAkC,CAC5D,GAAIA,CAAAA,EAAO,MAAQ,OAAOA,CAAAA,EAAQ,QAAA,EAAY,KAAA,CAAM,OAAA,CAAQA,CAAG,EAC3D,OAAOA,CAAAA,CAEX,IAAMO,CAAAA,CAA8B,EAAC,CACrC,OAAAD,CAAAA,CAAaN,CAAAA,CAAKO,CAAM,CAAA,CACjBA,CACX","file":"chunk-T4BXL6JM.js","sourcesContent":["export const cloudflareTrace = 'https://deriv.com/cdn-cgi/trace'\nexport const growthbookApi = 'https://cdn.growthbook.io'\nexport const rudderstackDataplane = 'https://deriv-dataplane.rudderstack.com'\nexport const posthogApiHost = 'https://ph.deriv.com'\nexport const posthogUiHost = 'https://us.posthog.com'\n\nexport const getPosthogApiHost = (): string => {\n if (typeof window === 'undefined') return posthogApiHost\n const hostname = window.location.hostname\n if (hostname.includes('.deriv.me')) return 'https://ph.deriv.me'\n if (hostname.includes('.deriv.be')) return 'https://ph.deriv.be'\n if (hostname.includes('.deriv.ae')) return 'https://ph.deriv.ae'\n return posthogApiHost\n}\n\nexport const allowedDomains = ['deriv.com', 'deriv.be', 'deriv.me', 'deriv.team', 'deriv.ae'] as const\n\nexport const internalEmailDomains = [\n 'deriv.com',\n 'derivcrypto.com',\n 'besquare.my',\n 'besquare.com.my',\n 'ewallet.exchange',\n 'champion-fx.com',\n 'opalstraits.com',\n 'binary.com',\n 'binary.marketing',\n 'championgbs.com',\n '4x.my',\n 're-work.dev',\n 'regentmarkets.com',\n '4x.com',\n 'binary.me',\n 'deriv.team',\n 'firstsource.io',\n 'firstsource.tech',\n 'deriv.hr',\n 'vmgbpo.net',\n 'mailisk.net',\n 'mailosaur.net',\n 'mobileapps.mailisk.net',\n 'w3e180zd.mailosaur.net',\n] as const\n\nexport const getAllowedDomain = (): string => {\n if (typeof window === 'undefined') return '.deriv.com'\n const hostname = window.location.hostname\n\n if (hostname === 'localhost') return ''\n\n const matched = allowedDomains.find(d => hostname.includes(d))\n return matched ? `.${matched}` : '.deriv.com'\n}\n","import Cookies from 'js-cookie'\nimport { cloudflareTrace, internalEmailDomains } from './urls'\n\n/**\n * Creates a prefixed logger that only outputs when debug mode is enabled.\n * Pass a getter function so the logger always reads the latest debug state.\n *\n * @param prefix - Optional provider name appended after [ANALYTIC], e.g. '[RudderStack]'\n * @param isDebugEnabled - A function that returns the current debug flag value\n * @returns A log function with the same signature as console.log\n *\n * @example\n * // In a class\n * private log = createLogger('[RudderStack]', () => this.debug)\n *\n * // In a closure\n * const log = createLogger('', () => _debug)\n */\nexport const createLogger =\n (prefix: string, isDebugEnabled: () => boolean) =>\n (...args: any[]): void => {\n if (isDebugEnabled()) console.log(`[ANALYTIC]${prefix}`, ...args)\n }\n\nexport const isInternalEmail = (email: string): boolean => {\n const domain = email.split('@')[1]?.toLowerCase()\n if (!domain) return false\n return (internalEmailDomains as readonly string[]).includes(domain)\n}\n\nexport const isUUID = (str: string): boolean => {\n const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i\n return uuidRegex.test(str)\n}\n\ntype TraceData = {\n loc?: string\n}\n\nlet countryPromise: Promise<string> | null = null\n\n/**\n * Fetches the country information based on Cloudflare's trace data or a fallback from cookies.\n * This function attempts to retrieve the country location by first fetching trace data from Cloudflare\n * and then falling back to the location stored in the cookies if the fetch fails.\n *\n * @returns {Promise<string>} A Promise that resolves to a string representing the country code in lowercase.\n * Returns an empty string if no country data is available or if an error occurs.\n *\n * @example\n * // Returns the country code in lowercase based on Cloudflare's trace data or cookies.\n * getCountry().then(country => console.log(country));\n */\nexport const getCountry = async (): Promise<string> => {\n if (countryPromise) return countryPromise\n\n const cookieCountry = JSON.parse(Cookies.get('website_status') || '{}')?.clients_country\n\n countryPromise = (async () => {\n try {\n const response = await fetch(cloudflareTrace).catch(() => null)\n if (!response) return cookieCountry || ''\n\n const text = await response.text().catch(() => '')\n if (!text) return cookieCountry || ''\n\n const data: TraceData = Object.fromEntries(text.split('\\n').map(v => v.split('=', 2)))\n return data.loc?.toLowerCase() || cookieCountry || ''\n } catch {\n return cookieCountry || ''\n }\n })()\n\n return countryPromise\n}\n\n/**\n * Recursively cleans an object by removing undefined, null, empty strings, empty objects, and empty arrays\n * Used to sanitize event properties before sending to analytics providers\n *\n * @param obj - The object to clean\n * @returns The cleaned object, or undefined if the result would be empty\n */\nexport const cleanObject = (obj: any): any => {\n if (obj == null || typeof obj !== 'object') return obj\n\n if (Array.isArray(obj)) {\n const out: any[] = []\n for (let i = 0; i < obj.length; i++) {\n const v = cleanObject(obj[i])\n if (v !== undefined && v !== null) out.push(v)\n }\n return out.length ? out : undefined\n }\n\n const cleaned: Record<string, any> = {}\n let hasKeys = false\n for (const key in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) continue\n const v = cleanObject(obj[key])\n if (\n v === undefined ||\n v === null ||\n v === '' ||\n (typeof v === 'object' && !Array.isArray(v) && Object.keys(v).length === 0) ||\n (Array.isArray(v) && v.length === 0)\n )\n continue\n cleaned[key] = v\n hasKeys = true\n }\n return hasKeys ? cleaned : undefined\n}\n\n/**\n * Flattens a nested object structure into a single-level object\n * Lifts all nested properties to the top level without prefixing\n *\n * @param obj - The object to flatten\n * @returns A flattened object with all nested properties at the top level\n *\n * @example\n * flattenObject({ action: 'click', event_metadata: { version: 2, user_language: 'en' } })\n * // Returns: { action: 'click', version: 2, user_language: 'en' }\n *\n * flattenObject({ form_name: 'signup', cta_information: { cta_name: 'signup', section_name: 'header' } })\n * // Returns: { form_name: 'signup', cta_name: 'signup', section_name: 'header' }\n */\nconst _flattenInto = (obj: Record<string, any>, target: Record<string, any>): void => {\n for (const key in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) continue\n const value = obj[key]\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n _flattenInto(value, target)\n } else {\n target[key] = value\n }\n }\n}\n\nexport const flattenObject = (obj: any): Record<string, any> => {\n if (obj == null || typeof obj !== 'object' || Array.isArray(obj)) {\n return obj\n }\n const target: Record<string, any> = {}\n _flattenInto(obj, target)\n return target\n}\n"]}
@@ -1,4 +0,0 @@
1
- import p from'js-cookie';/* @deriv-com/analytics - NPM Package - Built with tsup */
2
- var c="https://deriv.com/cdn-cgi/trace",m="https://cdn.growthbook.io",f="https://deriv-dataplane.rudderstack.com",a="https://ph.deriv.com",y="https://us.posthog.com",h=()=>{if(typeof window>"u")return a;let t=window.location.hostname;return t.includes(".deriv.me")?"https://ph.deriv.me":t.includes(".deriv.be")?"https://ph.deriv.be":t.includes(".deriv.ae")?"https://ph.deriv.ae":a},g=["deriv.com","deriv.be","deriv.me","deriv.team","deriv.ae"],l=["deriv.com","derivcrypto.com","besquare.my","besquare.com.my","ewallet.exchange","champion-fx.com","opalstraits.com","binary.com","binary.marketing","championgbs.com","4x.my","re-work.dev","regentmarkets.com","4x.com","binary.me","deriv.team","firstsource.io","firstsource.tech","deriv.hr","vmgbpo.net","mailisk.net","mailosaur.net","mobileapps.mailisk.net","w3e180zd.mailosaur.net"];var A=(t,e)=>(...o)=>{e()&&console.log(`[ANALYTIC]${t}`,...o);},k=t=>{let e=t.split("@")[1]?.toLowerCase();return e?l.includes(e):false},b=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t),i=null,O=async()=>{if(i)return i;let t=JSON.parse(p.get("website_status")||"{}")?.clients_country;return i=(async()=>{try{let e=await fetch(c).catch(()=>null);if(!e)return t||"";let o=await e.text().catch(()=>"");return o?Object.fromEntries(o.split(`
3
- `).map(r=>r.split("=",2))).loc?.toLowerCase()||t||"":t||""}catch{return t||""}})(),i},d=t=>{if(t==null||typeof t!="object")return t;if(Array.isArray(t)){let n=[];for(let r=0;r<t.length;r++){let s=d(t[r]);s!=null&&n.push(s);}return n.length?n:void 0}let e={},o=false;for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let r=d(t[n]);r==null||r===""||typeof r=="object"&&!Array.isArray(r)&&Object.keys(r).length===0||Array.isArray(r)&&r.length===0||(e[n]=r,o=true);}return o?e:void 0},u=(t,e)=>{for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;let n=t[o];n&&typeof n=="object"&&!Array.isArray(n)?u(n,e):e[o]=n;}},D=t=>{if(t==null||typeof t!="object"||Array.isArray(t))return t;let e={};return u(t,e),e};export{m as a,f as b,y as c,h as d,g as e,A as f,k as g,b as h,O as i,d as j,D as k};//# sourceMappingURL=chunk-TE3DYZVQ.mjs.map
4
- //# sourceMappingURL=chunk-TE3DYZVQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/urls.ts","../src/utils/helpers.ts"],"names":["cloudflareTrace","growthbookApi","rudderstackDataplane","posthogApiHost","posthogUiHost","getPosthogApiHost","hostname","allowedDomains","internalEmailDomains","createLogger","prefix","isDebugEnabled","args","isInternalEmail","email","domain","isUUID","str","countryPromise","getCountry","cookieCountry","Cookies","response","text","v","cleanObject","obj","out","i","cleaned","hasKeys","key","_flattenInto","target","value","flattenObject"],"mappings":";AAAO,IAAMA,EAAkB,iCAAA,CAClBC,CAAAA,CAAgB,4BAChBC,CAAAA,CAAuB,yCAAA,CACvBC,EAAiB,sBAAA,CACjBC,CAAAA,CAAgB,yBAEhBC,CAAAA,CAAoB,IAAc,CAC3C,GAAI,OAAO,OAAW,GAAA,CAAa,OAAOF,EAC1C,IAAMG,CAAAA,CAAW,MAAA,CAAO,QAAA,CAAS,SACjC,OAAIA,CAAAA,CAAS,SAAS,WAAW,CAAA,CAAU,sBACvCA,CAAAA,CAAS,QAAA,CAAS,WAAW,CAAA,CAAU,qBAAA,CACvCA,EAAS,QAAA,CAAS,WAAW,EAAU,qBAAA,CACpCH,CACX,EAEaI,CAAAA,CAAiB,CAAC,WAAA,CAAa,UAAA,CAAY,WAAY,YAAA,CAAc,UAAU,EAE/EC,CAAAA,CAAuB,CAChC,YACA,iBAAA,CACA,aAAA,CACA,kBACA,kBAAA,CACA,iBAAA,CACA,kBACA,YAAA,CACA,kBAAA,CACA,kBACA,OAAA,CACA,aAAA,CACA,oBACA,QAAA,CACA,WAAA,CACA,aACA,gBAAA,CACA,kBAAA,CACA,WACA,YAAA,CACA,aAAA,CACA,gBACA,wBAAA,CACA,wBACJ,ECxBO,IAAMC,CAAAA,CACT,CAACC,CAAAA,CAAgBC,CAAAA,GACjB,IAAIC,CAAAA,GAAsB,CAClBD,GAAe,EAAG,OAAA,CAAQ,GAAA,CAAI,CAAA,UAAA,EAAaD,CAAM,CAAA,CAAA,CAAI,GAAGE,CAAI,EACpE,CAAA,CAESC,EAAmBC,CAAAA,EAA2B,CACvD,IAAMC,CAAAA,CAASD,CAAAA,CAAM,MAAM,GAAG,CAAA,CAAE,CAAC,CAAA,EAAG,WAAA,GACpC,OAAKC,CAAAA,CACGP,EAA2C,QAAA,CAASO,CAAM,EAD9C,KAExB,CAAA,CAEaC,EAAUC,CAAAA,EACD,iEAAA,CACD,KAAKA,CAAG,CAAA,CAOzBC,EAAyC,IAAA,CAchCC,CAAAA,CAAa,SAA6B,CACnD,GAAID,EAAgB,OAAOA,CAAAA,CAE3B,IAAME,CAAAA,CAAgB,IAAA,CAAK,KAAA,CAAMC,CAAAA,CAAQ,IAAI,gBAAgB,CAAA,EAAK,IAAI,CAAA,EAAG,eAAA,CAEzE,OAAAH,CAAAA,CAAAA,CAAkB,SAAY,CAC1B,GAAI,CACA,IAAMI,CAAAA,CAAW,MAAM,MAAMtB,CAAe,CAAA,CAAE,MAAM,IAAM,IAAI,EAC9D,GAAI,CAACsB,EAAU,OAAOF,CAAAA,EAAiB,GAEvC,IAAMG,CAAAA,CAAO,MAAMD,CAAAA,CAAS,IAAA,GAAO,KAAA,CAAM,IAAM,EAAE,CAAA,CACjD,OAAKC,EAEmB,MAAA,CAAO,WAAA,CAAYA,EAAK,KAAA,CAAM;AAAA,CAAI,CAAA,CAAE,IAAIC,CAAAA,EAAKA,CAAAA,CAAE,MAAM,GAAA,CAAK,CAAC,CAAC,CAAC,CAAA,CACzE,GAAA,EAAK,aAAY,EAAKJ,CAAAA,EAAiB,GAHjCA,CAAAA,EAAiB,EAIvC,MAAQ,CACJ,OAAOA,CAAAA,EAAiB,EAC5B,CACJ,CAAA,IAEOF,CACX,CAAA,CASaO,EAAeC,CAAAA,EAAkB,CAC1C,GAAIA,CAAAA,EAAO,IAAA,EAAQ,OAAOA,CAAAA,EAAQ,QAAA,CAAU,OAAOA,EAEnD,GAAI,KAAA,CAAM,QAAQA,CAAG,CAAA,CAAG,CACpB,IAAMC,CAAAA,CAAa,EAAC,CACpB,IAAA,IAASC,CAAAA,CAAI,EAAGA,CAAAA,CAAIF,CAAAA,CAAI,OAAQE,CAAAA,EAAAA,CAAK,CACjC,IAAMJ,CAAAA,CAAIC,CAAAA,CAAYC,CAAAA,CAAIE,CAAC,CAAC,CAAA,CACLJ,GAAM,IAAA,EAAMG,CAAAA,CAAI,KAAKH,CAAC,EACjD,CACA,OAAOG,CAAAA,CAAI,MAAA,CAASA,CAAAA,CAAM,MAC9B,CAEA,IAAME,CAAAA,CAA+B,GACjCC,CAAAA,CAAU,KAAA,CACd,QAAWC,CAAAA,IAAOL,CAAAA,CAAK,CACnB,GAAI,CAAC,MAAA,CAAO,UAAU,cAAA,CAAe,IAAA,CAAKA,CAAAA,CAAKK,CAAG,CAAA,CAAG,SACrD,IAAMP,CAAAA,CAAIC,CAAAA,CAAYC,CAAAA,CAAIK,CAAG,CAAC,CAAA,CAG1BP,GAAM,IAAA,EACNA,CAAAA,GAAM,IACL,OAAOA,CAAAA,EAAM,UAAY,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAC,CAAA,EAAK,MAAA,CAAO,KAAKA,CAAC,CAAA,CAAE,SAAW,CAAA,EACxE,KAAA,CAAM,QAAQA,CAAC,CAAA,EAAKA,CAAAA,CAAE,MAAA,GAAW,CAAA,GAGtCK,CAAAA,CAAQE,CAAG,CAAA,CAAIP,CAAAA,CACfM,EAAU,IAAA,EACd,CACA,OAAOA,CAAAA,CAAUD,CAAAA,CAAU,MAC/B,CAAA,CAgBMG,CAAAA,CAAe,CAACN,EAA0BO,CAAAA,GAAsC,CAClF,IAAA,IAAWF,CAAAA,IAAOL,CAAAA,CAAK,CACnB,GAAI,CAAC,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAKA,CAAAA,CAAKK,CAAG,CAAA,CAAG,SACrD,IAAMG,CAAAA,CAAQR,CAAAA,CAAIK,CAAG,CAAA,CACjBG,CAAAA,EAAS,OAAOA,CAAAA,EAAU,QAAA,EAAY,CAAC,MAAM,OAAA,CAAQA,CAAK,EAC1DF,CAAAA,CAAaE,CAAAA,CAAOD,CAAM,CAAA,CAE1BA,CAAAA,CAAOF,CAAG,CAAA,CAAIG,EAEtB,CACJ,EAEaC,CAAAA,CAAiBT,CAAAA,EAAkC,CAC5D,GAAIA,CAAAA,EAAO,MAAQ,OAAOA,CAAAA,EAAQ,QAAA,EAAY,KAAA,CAAM,OAAA,CAAQA,CAAG,EAC3D,OAAOA,CAAAA,CAEX,IAAMO,CAAAA,CAA8B,EAAC,CACrC,OAAAD,CAAAA,CAAaN,CAAAA,CAAKO,CAAM,CAAA,CACjBA,CACX","file":"chunk-TE3DYZVQ.mjs","sourcesContent":["export const cloudflareTrace = 'https://deriv.com/cdn-cgi/trace'\nexport const growthbookApi = 'https://cdn.growthbook.io'\nexport const rudderstackDataplane = 'https://deriv-dataplane.rudderstack.com'\nexport const posthogApiHost = 'https://ph.deriv.com'\nexport const posthogUiHost = 'https://us.posthog.com'\n\nexport const getPosthogApiHost = (): string => {\n if (typeof window === 'undefined') return posthogApiHost\n const hostname = window.location.hostname\n if (hostname.includes('.deriv.me')) return 'https://ph.deriv.me'\n if (hostname.includes('.deriv.be')) return 'https://ph.deriv.be'\n if (hostname.includes('.deriv.ae')) return 'https://ph.deriv.ae'\n return posthogApiHost\n}\n\nexport const allowedDomains = ['deriv.com', 'deriv.be', 'deriv.me', 'deriv.team', 'deriv.ae'] as const\n\nexport const internalEmailDomains = [\n 'deriv.com',\n 'derivcrypto.com',\n 'besquare.my',\n 'besquare.com.my',\n 'ewallet.exchange',\n 'champion-fx.com',\n 'opalstraits.com',\n 'binary.com',\n 'binary.marketing',\n 'championgbs.com',\n '4x.my',\n 're-work.dev',\n 'regentmarkets.com',\n '4x.com',\n 'binary.me',\n 'deriv.team',\n 'firstsource.io',\n 'firstsource.tech',\n 'deriv.hr',\n 'vmgbpo.net',\n 'mailisk.net',\n 'mailosaur.net',\n 'mobileapps.mailisk.net',\n 'w3e180zd.mailosaur.net',\n] as const\n\nexport const getAllowedDomain = (): string => {\n if (typeof window === 'undefined') return '.deriv.com'\n const hostname = window.location.hostname\n\n if (hostname === 'localhost') return ''\n\n const matched = allowedDomains.find(d => hostname.includes(d))\n return matched ? `.${matched}` : '.deriv.com'\n}\n","import Cookies from 'js-cookie'\nimport { cloudflareTrace, internalEmailDomains } from './urls'\n\n/**\n * Creates a prefixed logger that only outputs when debug mode is enabled.\n * Pass a getter function so the logger always reads the latest debug state.\n *\n * @param prefix - Optional provider name appended after [ANALYTIC], e.g. '[RudderStack]'\n * @param isDebugEnabled - A function that returns the current debug flag value\n * @returns A log function with the same signature as console.log\n *\n * @example\n * // In a class\n * private log = createLogger('[RudderStack]', () => this.debug)\n *\n * // In a closure\n * const log = createLogger('', () => _debug)\n */\nexport const createLogger =\n (prefix: string, isDebugEnabled: () => boolean) =>\n (...args: any[]): void => {\n if (isDebugEnabled()) console.log(`[ANALYTIC]${prefix}`, ...args)\n }\n\nexport const isInternalEmail = (email: string): boolean => {\n const domain = email.split('@')[1]?.toLowerCase()\n if (!domain) return false\n return (internalEmailDomains as readonly string[]).includes(domain)\n}\n\nexport const isUUID = (str: string): boolean => {\n const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i\n return uuidRegex.test(str)\n}\n\ntype TraceData = {\n loc?: string\n}\n\nlet countryPromise: Promise<string> | null = null\n\n/**\n * Fetches the country information based on Cloudflare's trace data or a fallback from cookies.\n * This function attempts to retrieve the country location by first fetching trace data from Cloudflare\n * and then falling back to the location stored in the cookies if the fetch fails.\n *\n * @returns {Promise<string>} A Promise that resolves to a string representing the country code in lowercase.\n * Returns an empty string if no country data is available or if an error occurs.\n *\n * @example\n * // Returns the country code in lowercase based on Cloudflare's trace data or cookies.\n * getCountry().then(country => console.log(country));\n */\nexport const getCountry = async (): Promise<string> => {\n if (countryPromise) return countryPromise\n\n const cookieCountry = JSON.parse(Cookies.get('website_status') || '{}')?.clients_country\n\n countryPromise = (async () => {\n try {\n const response = await fetch(cloudflareTrace).catch(() => null)\n if (!response) return cookieCountry || ''\n\n const text = await response.text().catch(() => '')\n if (!text) return cookieCountry || ''\n\n const data: TraceData = Object.fromEntries(text.split('\\n').map(v => v.split('=', 2)))\n return data.loc?.toLowerCase() || cookieCountry || ''\n } catch {\n return cookieCountry || ''\n }\n })()\n\n return countryPromise\n}\n\n/**\n * Recursively cleans an object by removing undefined, null, empty strings, empty objects, and empty arrays\n * Used to sanitize event properties before sending to analytics providers\n *\n * @param obj - The object to clean\n * @returns The cleaned object, or undefined if the result would be empty\n */\nexport const cleanObject = (obj: any): any => {\n if (obj == null || typeof obj !== 'object') return obj\n\n if (Array.isArray(obj)) {\n const out: any[] = []\n for (let i = 0; i < obj.length; i++) {\n const v = cleanObject(obj[i])\n if (v !== undefined && v !== null) out.push(v)\n }\n return out.length ? out : undefined\n }\n\n const cleaned: Record<string, any> = {}\n let hasKeys = false\n for (const key in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) continue\n const v = cleanObject(obj[key])\n if (\n v === undefined ||\n v === null ||\n v === '' ||\n (typeof v === 'object' && !Array.isArray(v) && Object.keys(v).length === 0) ||\n (Array.isArray(v) && v.length === 0)\n )\n continue\n cleaned[key] = v\n hasKeys = true\n }\n return hasKeys ? cleaned : undefined\n}\n\n/**\n * Flattens a nested object structure into a single-level object\n * Lifts all nested properties to the top level without prefixing\n *\n * @param obj - The object to flatten\n * @returns A flattened object with all nested properties at the top level\n *\n * @example\n * flattenObject({ action: 'click', event_metadata: { version: 2, user_language: 'en' } })\n * // Returns: { action: 'click', version: 2, user_language: 'en' }\n *\n * flattenObject({ form_name: 'signup', cta_information: { cta_name: 'signup', section_name: 'header' } })\n * // Returns: { form_name: 'signup', cta_name: 'signup', section_name: 'header' }\n */\nconst _flattenInto = (obj: Record<string, any>, target: Record<string, any>): void => {\n for (const key in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, key)) continue\n const value = obj[key]\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n _flattenInto(value, target)\n } else {\n target[key] = value\n }\n }\n}\n\nexport const flattenObject = (obj: any): Record<string, any> => {\n if (obj == null || typeof obj !== 'object' || Array.isArray(obj)) {\n return obj\n }\n const target: Record<string, any> = {}\n _flattenInto(obj, target)\n return target\n}\n"]}
@@ -1,4 +0,0 @@
1
- /* @deriv-com/analytics - Browser ESM Bundle (RudderStack + PostHog) - Built with tsup */
2
- import{d as Ar,e as Lr,f as Dr,g as Nr,h as qr}from"./chunk-F3U33XPR.mjs";var p=typeof window<"u"?window:void 0,Z=typeof globalThis<"u"?globalThis:p;typeof self>"u"&&(Z.self=Z),typeof File>"u"&&(Z.File=function(){});var de=Z?.navigator,b=Z?.document,ee=Z?.location,ns=Z?.fetch,os=Z!=null&&Z.XMLHttpRequest&&"withCredentials"in new Z.XMLHttpRequest?Z.XMLHttpRequest:void 0,Ur=Z?.AbortController,Zo=Z?.CompressionStream,ue=de?.userAgent,R=p??{},jr="1.372.9",ae={DEBUG:!1,LIB_VERSION:jr,LIB_NAME:"web",JS_SDK_VERSION:jr};function Hr(i,e,t,s,r,n,o){try{var a=i[n](o),l=a.value}catch(c){return void t(c)}a.done?e(l):Promise.resolve(l).then(s,r)}function _e(i){return function(){var e=this,t=arguments;return new Promise((function(s,r){var n=i.apply(e,t);function o(l){Hr(n,s,r,o,a,"next",l)}function a(l){Hr(n,s,r,o,a,"throw",l)}o(void 0)}))}}function m(){return m=Object.assign?Object.assign.bind():function(i){for(var e=1;arguments.length>e;e++){var t=arguments[e];for(var s in t)({}).hasOwnProperty.call(t,s)&&(i[s]=t[s])}return i},m.apply(null,arguments)}function Ln(i,e){if(i==null)return{};var t={};for(var s in i)if({}.hasOwnProperty.call(i,s)){if(e.indexOf(s)!==-1)continue;t[s]=i[s]}return t}function as(){return as=_e((function*(i,e,t){e===void 0&&(e=!0);try{var s=new CompressionStream("gzip"),r=s.writable.getWriter(),n=r.write(new TextEncoder().encode(i)).then((()=>r.close())).catch((function(){var l=_e((function*(c){try{yield r.abort(c)}catch{}throw c}));return function(c){return l.apply(this,arguments)}})()),o=new Response(s.readable).blob(),[a]=yield Promise.all([o,n]);return a}catch(l){if(t!=null&&t.rethrow)throw l;return e&&console.error("Failed to gzip compress data",l),null}})),as.apply(this,arguments)}var Qo=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterest","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],zr=function(i,e){if(e===void 0&&(e=[]),!i)return!1;var t=i.toLowerCase();return Qo.concat(e).some((s=>{var r=s.toLowerCase();return t.indexOf(r)!==-1}))},ea=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"];function D(i,e){return i.indexOf(e)!==-1}var Oi=function(i){return i.trim()},ls=function(i){return i.replace(/^\$/,"")},Dn=Object.prototype,Nn=Dn.hasOwnProperty,Ci=Dn.toString,q=Array.isArray||function(i){return Ci.call(i)==="[object Array]"},Oe=i=>typeof i=="function",Y=i=>i===Object(i)&&!q(i),lt=i=>{if(Y(i)){for(var e in i)if(Nn.call(i,e))return!1;return!0}return!1},E=i=>i===void 0,B=i=>Ci.call(i)=="[object String]",ti=i=>B(i)&&i.trim().length===0,Ae=i=>i===null,N=i=>E(i)||Ae(i),me=i=>Ci.call(i)=="[object Number]"&&i==i,rt=i=>me(i)&&i>0,Pe=i=>Ci.call(i)==="[object Boolean]",ta=i=>i instanceof FormData,ia=i=>D(ea,i);function qn(i){return i===null||typeof i!="object"}function oi(i,e){return{}.toString.call(i)==="[object "+e+"]"}function mr(i){return typeof Event<"u"&&(function(e,t){try{return e instanceof t}catch{return!1}})(i,Event)}var sa=[!0,"true",1,"1","yes"],Ni=i=>D(sa,i),ra=[!1,"false",0,"0","no"];function Fe(i,e,t,s,r){return e>t&&(s.warn("min cannot be greater than max."),e=t),me(i)?i>t?(s.warn(" cannot be greater than max: "+t+". Using max value instead."),t):e>i?(s.warn(" cannot be less than min: "+e+". Using min value instead."),e):i:(s.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+r),Fe(r||t,e,t,s))}var us=class{constructor(e){this.$t={},this.zt=e.zt,this.Zt=Fe(e.bucketSize,0,100,e.Gt),this.Qt=Fe(e.refillRate,0,this.Zt,e.Gt),this.Jt=Fe(e.refillInterval,0,864e5,e.Gt)}Kt(e,t){var s=Math.floor((t-e.lastAccess)/this.Jt);s>0&&(e.tokens=Math.min(e.tokens+s*this.Qt,this.Zt),e.lastAccess=e.lastAccess+s*this.Jt)}consumeRateLimit(e){var t,s=Date.now(),r=String(e),n=this.$t[r];return n?this.Kt(n,s):this.$t[r]=n={tokens:this.Zt,lastAccess:s},n.tokens===0||(n.tokens--,n.tokens===0&&((t=this.zt)==null||t.call(this,e)),n.tokens===0)}stop(){this.$t={}}},Gt,Vr,qi,pe="Mobile",ai="iOS",Me="Android",pt="Tablet",Un=Me+" "+pt,jn="iPad",Hn="Apple",zn=Hn+" Watch",Ct="Safari",gt="BlackBerry",Vn="Samsung",Bn=Vn+"Browser",Wn=Vn+" Internet",Xe="Chrome",na=Xe+" OS",Gn=Xe+" "+ai,yr="Internet Explorer",Yn=yr+" "+pe,br="Opera",oa=br+" Mini",wr="Edge",Xn="Microsoft "+wr,ht="Firefox",Kn=ht+" "+ai,qt="Nintendo",Ut="PlayStation",dt="Xbox",Jn=Me+" "+pe,Zn=pe+" "+Ct,Pt="Windows",cs=Pt+" Phone",Br="Nokia",hs="Ouya",Qn="Generic",aa=Qn+" "+pe.toLowerCase(),eo=Qn+" "+pt.toLowerCase(),ds="Konqueror",oe="(\\d+(\\.\\d+)?)",Ui=new RegExp("Version/"+oe),la=new RegExp(dt,"i"),ua=new RegExp(Ut+" \\w+","i"),ca=new RegExp(qt+" \\w+","i"),Er=new RegExp(gt+"|PlayBook|BB10","i"),ha={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},to=function(i,e){return e=e||"",D(i," OPR/")&&D(i,"Mini")?oa:D(i," OPR/")?br:Er.test(i)?gt:D(i,"IE"+pe)||D(i,"WPDesktop")?Yn:D(i,Bn)?Wn:D(i,wr)||D(i,"Edg/")?Xn:D(i,"FBIOS")?"Facebook "+pe:D(i,"UCWEB")||D(i,"UCBrowser")?"UC Browser":D(i,"CriOS")?Gn:D(i,"CrMo")||D(i,Xe)?Xe:D(i,Me)&&D(i,Ct)?Jn:D(i,"FxiOS")?Kn:D(i.toLowerCase(),ds.toLowerCase())?ds:((t,s)=>s&&D(s,Hn)||(function(r){return D(r,Ct)&&!D(r,Xe)&&!D(r,Me)})(t))(i,e)?D(i,pe)?Zn:Ct:D(i,ht)?ht:D(i,"MSIE")||D(i,"Trident/")?yr:D(i,"Gecko")?ht:""},da={[Yn]:[new RegExp("rv:"+oe)],[Xn]:[new RegExp(wr+"?\\/"+oe)],[Xe]:[new RegExp("("+Xe+"|CrMo)\\/"+oe)],[Gn]:[new RegExp("CriOS\\/"+oe)],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/"+oe)],[Ct]:[Ui],[Zn]:[Ui],[br]:[new RegExp("(Opera|OPR)\\/"+oe)],[ht]:[new RegExp(ht+"\\/"+oe)],[Kn]:[new RegExp("FxiOS\\/"+oe)],[ds]:[new RegExp("Konqueror[:/]?"+oe,"i")],[gt]:[new RegExp(gt+" "+oe),Ui],[Jn]:[new RegExp("android\\s"+oe,"i")],[Wn]:[new RegExp(Bn+"\\/"+oe)],[yr]:[new RegExp("(rv:|MSIE )"+oe)],Mozilla:[new RegExp("rv:"+oe)]},pa=function(i,e){var t=to(i,e),s=da[t];if(E(s))return null;for(var r=0;s.length>r;r++){var n=i.match(s[r]);if(n)return parseFloat(n[n.length-2])}return null},Wr=[[new RegExp(dt+"; "+dt+" (.*?)[);]","i"),i=>[dt,i&&i[1]||""]],[new RegExp(qt,"i"),[qt,""]],[new RegExp(Ut,"i"),[Ut,""]],[Er,[gt,""]],[new RegExp(Pt,"i"),(i,e)=>{if(/Phone/.test(e)||/WPDesktop/.test(e))return[cs,""];if(new RegExp(pe).test(e)&&!/IEMobile\b/.test(e))return[Pt+" "+pe,""];var t=/Windows NT ([0-9.]+)/i.exec(e);if(t&&t[1]){var s=ha[t[1]]||"";return/arm/i.test(e)&&(s="RT"),[Pt,s]}return[Pt,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,i=>i&&i[3]?[ai,[i[3],i[4],i[5]||"0"].join(".")]:[ai,""]],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,i=>{var e="";return i&&i.length>=3&&(e=E(i[2])?i[3]:i[2]),["watchOS",e]}],[new RegExp("("+Me+" (\\d+)\\.(\\d+)\\.?(\\d+)?|"+Me+")","i"),i=>i&&i[2]?[Me,[i[2],i[3],i[4]||"0"].join(".")]:[Me,""]],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,i=>{var e=["Mac OS X",""];return i&&i[1]&&(e[1]=[i[1],i[2],i[3]||"0"].join(".")),e}],[/Mac/i,["Mac OS X",""]],[/CrOS/,[na,""]],[/Linux|debian/i,["Linux",""]]],Gr=function(i){return ca.test(i)?qt:ua.test(i)?Ut:la.test(i)?dt:new RegExp(hs,"i").test(i)?hs:new RegExp("("+cs+"|WPDesktop)","i").test(i)?cs:/iPad/.test(i)?jn:/iPod/.test(i)?"iPod Touch":/iPhone/.test(i)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(i)?zn:Er.test(i)?gt:/(kobo)\s(ereader|touch)/i.test(i)?"Kobo":new RegExp(Br,"i").test(i)?Br:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(i)||/(kf[a-z]+)( bui|\)).+silk\//i.test(i)?"Kindle Fire":/(Android|ZTE)/i.test(i)?new RegExp(pe).test(i)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(i)||/pixel[\daxl ]{1,6}/i.test(i)&&!/pixel c/i.test(i)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(i)||/lmy47v/i.test(i)&&!/QTAQZ3/i.test(i)?Me:Un:new RegExp("(pda|"+pe+")","i").test(i)?aa:new RegExp(pt,"i").test(i)&&!new RegExp(pt+" pc","i").test(i)?eo:""},ga=i=>i instanceof Error,io={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},va=io.info;function so(i){if(Pe(i))return{boolValue:i};if(typeof i=="number")return Number.isFinite(i)?Number.isInteger(i)?{intValue:i}:{doubleValue:i}:{stringValue:String(i)};if(typeof i=="string")return{stringValue:i};if(q(i))return{arrayValue:{values:i.map((e=>so(e)))}};try{return{stringValue:JSON.stringify(i)}}catch{return{stringValue:String(i)}}}function Yr(i){var e=[];for(var t in i){var s=i[t];Ae(s)||E(s)||e.push({key:t,value:so(s)})}return e}function _a(i){var e=globalThis._posthogChunkIds;if(e){var t=Object.keys(e);return qi&&t.length===Vr||(Vr=t.length,qi=t.reduce(((s,r)=>{Gt||(Gt={});var n=Gt[r];if(n)s[n[0]]=n[1];else for(var o=i(r),a=o.length-1;a>=0;a--){var l=o[a],c=l?.filename,u=e[r];if(c&&u){s[c]=u,Gt[r]=[c,u];break}}return s}),{})),qi}}var ps=class{constructor(e,t,s){s===void 0&&(s=[]),this.coercers=e,this.stackParser=t,this.modifiers=s}buildFromUnknown(e,t){t===void 0&&(t={});var s=t&&t.mechanism||{handled:!0,type:"generic"},r=this.buildCoercingContext(s,t,0).apply(e),n=this.buildParsingContext(t),o=this.parseStacktrace(r,n);return{$exception_list:this.convertToExceptionList(o,s),$exception_level:"error"}}modifyFrames(e){var t=this;return _e((function*(){for(var s of e)s.stacktrace&&s.stacktrace.frames&&q(s.stacktrace.frames)&&(s.stacktrace.frames=yield t.applyModifiers(s.stacktrace.frames));return e}))()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:(t=e.syntheticException)==null?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){var s,r;return e.cause!=null&&(s=this.parseStacktrace(e.cause,t)),e.stack!=""&&e.stack!=null&&(r=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?t.skipFirstLines:0),t.chunkIdMap)),m({},e,{cause:s,stack:r})}applyChunkIds(e,t){return e.map((s=>(s.filename&&t&&(s.chunk_id=t[s.filename]),s)))}applyCoercers(e,t){for(var s of this.coercers)if(s.match(e))return s.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return _e((function*(){var s=e;for(var r of t.modifiers)s=yield r(s);return s}))()}convertToExceptionList(e,t){var s,r,n,o={type:e.type,value:e.value,mechanism:{type:(s=t.type)!==null&&s!==void 0?s:"generic",handled:(r=t.handled)===null||r===void 0||r,synthetic:(n=e.synthetic)!==null&&n!==void 0&&n}};e.stack&&(o.stacktrace={type:"raw",frames:e.stack});var a=[o];return e.cause!=null&&a.push(...this.convertToExceptionList(e.cause,m({},t,{handled:!0}))),a}buildParsingContext(e){var t;return{chunkIdMap:_a(this.stackParser),skipFirstLines:(t=e.skipFirstLines)!==null&&t!==void 0?t:1}}buildCoercingContext(e,t,s){s===void 0&&(s=0);var r=(n,o)=>{if(4>=o){var a=this.buildCoercingContext(e,t,o);return this.applyCoercers(n,a)}};return m({},t,{syntheticException:s==0?t.syntheticException:void 0,mechanism:e,apply:n=>r(n,s),next:n=>r(n,s+1)})}},vt="?";function gs(i,e,t,s,r){var n={platform:i,filename:e,function:t==="<anonymous>"?vt:t,in_app:!0};return E(s)||(n.lineno=s),E(r)||(n.colno=r),n}var ro=(i,e)=>{var t=i.indexOf("safari-extension")!==-1,s=i.indexOf("safari-web-extension")!==-1;return t||s?[i.indexOf("@")!==-1?i.split("@")[0]:vt,t?"safari-extension:"+e:"safari-web-extension:"+e]:[i,e]},fa=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ma=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,ya=/\((\S*)(?::(\d+))(?::(\d+))\)/,ba=(i,e)=>{var t=fa.exec(i);if(t){var[,s,r,n]=t;return gs(e,s,vt,+r,+n)}var o=ma.exec(i);if(o){if(o[2]&&o[2].indexOf("eval")===0){var a=ya.exec(o[2]);a&&(o[2]=a[1],o[3]=a[2],o[4]=a[3])}var[l,c]=ro(o[1]||vt,o[2]);return gs(e,c,l,o[3]?+o[3]:void 0,o[4]?+o[4]:void 0)}},wa=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Ea=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,xa=(i,e)=>{var t=wa.exec(i);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){var s=Ea.exec(t[3]);s&&(t[1]=t[1]||"eval",t[3]=s[1],t[4]=s[2],t[5]="")}var r=t[3],n=t[1]||vt;return[n,r]=ro(n,r),gs(e,r,n,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},Xr=/\(error: (.*)\)/,vs=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){var s=B(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:s?e.stack:void 0,cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return this.isDOMError(e)?"DOMError":"DOMException"}getValue(e){var t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?t+": "+e.message:t}isDOMException(e){return oi(e,"DOMException")}isDOMError(e){return oi(e,"DOMError")}},_s=class{match(e){return(t=>t instanceof Error)(e)}coerce(e,t){return{type:this.getType(e),value:this.getMessage(e,t),stack:this.getStack(e),cause:e.cause?t.next(e.cause):void 0,synthetic:!1}}getType(e){return e.name||e.constructor.name}getMessage(e,t){var s=e.message;return String(s.error&&typeof s.error.message=="string"?s.error.message:s)}getStack(e){return e.stacktrace||e.stack||void 0}},fs=class{constructor(){}match(e){return oi(e,"ErrorEvent")&&e.error!=null}coerce(e,t){var s;return t.apply(e.error)||{type:"ErrorEvent",value:e.message,stack:(s=t.syntheticException)==null?void 0:s.stack,synthetic:!0}}},ka=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i,ms=class{match(e){return typeof e=="string"}coerce(e,t){var s,[r,n]=this.getInfos(e);return{type:r??"Error",value:n??e,stack:(s=t.syntheticException)==null?void 0:s.stack,synthetic:!0}}getInfos(e){var t="Error",s=e,r=e.match(ka);return r&&(t=r[1],s=r[2]),[t,s]}},Sa=["fatal","error","warning","log","info","debug"];function no(i,e){e===void 0&&(e=40);var t=Object.keys(i);if(t.sort(),!t.length)return"[object has no keys]";for(var s=t.length;s>0;s--){var r=t.slice(0,s).join(", ");if(e>=r.length)return s===t.length?r:r.length>e?r.slice(0,e)+"...":r}return""}var ys=class{match(e){return typeof e=="object"&&e!==null}coerce(e,t){var s,r=this.getErrorPropertyFromObject(e);return r?t.apply(r):{type:this.getType(e),value:this.getValue(e),stack:(s=t.syntheticException)==null?void 0:s.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){return mr(e)?e.constructor.name:"Error"}getValue(e){if("name"in e&&typeof e.name=="string"){var t="'"+e.name+"' captured as exception";return"message"in e&&typeof e.message=="string"&&(t+=" with message: '"+e.message+"'"),t}if("message"in e&&typeof e.message=="string")return e.message;var s=this.getObjectClassName(e);return(s&&s!=="Object"?"'"+s+"'":"Object")+" captured as exception with keys: "+no(e)}isSeverityLevel(e){return B(e)&&!ti(e)&&Sa.indexOf(e)>=0}getErrorPropertyFromObject(e){for(var t in e)if({}.hasOwnProperty.call(e,t)){var s=e[t];if(ga(s))return s}}getObjectClassName(e){try{var t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{return}}},bs=class{match(e){return mr(e)}coerce(e,t){var s,r=e.constructor.name;return{type:r,value:r+" captured as exception with keys: "+no(e),stack:(s=t.syntheticException)==null?void 0:s.stack,synthetic:!0}}},ws=class{match(e){return qn(e)}coerce(e,t){var s;return{type:"Error",value:"Primitive value captured as exception: "+String(e),stack:(s=t.syntheticException)==null?void 0:s.stack,synthetic:!0}}},Es=class{match(e){return oi(e,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(e)}isCustomEventWrappingRejection(e){if(!mr(e))return!1;try{var t=e.detail;return t!=null&&typeof t=="object"&&"reason"in t}catch{return!1}}coerce(e,t){var s,r=this.getUnhandledRejectionReason(e);return qn(r)?{type:"UnhandledRejection",value:"Non-Error promise rejection captured with value: "+String(r),stack:(s=t.syntheticException)==null?void 0:s.stack,synthetic:!0}:t.apply(r)}getUnhandledRejectionReason(e){try{if("reason"in e)return e.reason;if("detail"in e&&e.detail!=null&&typeof e.detail=="object"&&"reason"in e.detail)return e.detail.reason}catch{}return e}},li="$message",ui="$timestamp",Pa=new Set([li,ui]),ji={enabled:!0,max_bytes:32768};function ci(i){var e;return i?{enabled:(e=i.enabled)!==null&&e!==void 0?e:ji.enabled,max_bytes:Fa(i.max_bytes,ji.max_bytes)}:m({},ji)}var xs=class{constructor(e){this.Yt=[],this.Xt=0,this.qt=ci(e)}setConfig(e){this.qt=ci(e),this.er()}add(e){var t=(function(r){var n=(function(u){var h=new WeakSet;try{return JSON.stringify(u,((d,g)=>{if(typeof g=="bigint")return g.toString();if(typeof g!="function"&&typeof g!="symbol"){if(g instanceof Date)return g.toISOString();if(g instanceof Error)return{name:g.name,message:g.message,stack:g.stack};if(g&&typeof g=="object"){if(h.has(g))return"[Circular]";h.add(g)}return g}}))}catch{return}})(r);if(n)try{var o=JSON.parse(n);if(!Y(o))return;var a=o,l=a[li],c=a[ui];return!B(l)||l.trim().length===0||!B(c)&&!me(c)?void 0:{step:a,json:n}}catch{return}})(e);if(t){var s=(function(r){if(typeof TextEncoder<"u")return new TextEncoder().encode(r).length;for(var n=encodeURIComponent(r),o=0,a=0;n.length>a;a++)n[a]==="%"?(o+=1,a+=2):o+=1;return o})(t.json);s>this.qt.max_bytes||(this.Yt.push({step:t.step,bytes:s}),this.Xt+=s,this.er())}}getAttachable(){return this.Yt.map((e=>e.step))}clear(){this.Yt=[],this.Xt=0}size(){return this.Yt.length}er(){for(;this.Xt>this.qt.max_bytes&&this.Yt.length>0;){var e=this.Yt.shift();e&&(this.Xt-=e.bytes)}}};function Fa(i,e){if(!me(i)||i===1/0||i===-1/0)return e;var t=Math.floor(i);return 0>t?e:t}var oo=function(i,e){var{debugEnabled:t}=e===void 0?{}:e,s={k(r){if(p&&(ae.DEBUG||R.POSTHOG_DEBUG||t)&&!E(p.console)&&p.console){for(var n=("__rrweb_original__"in p.console[r])?p.console[r].__rrweb_original__:p.console[r],o=arguments.length,a=new Array(o>1?o-1:0),l=1;o>l;l++)a[l-1]=arguments[l];n(i,...a)}},debug(){for(var r=arguments.length,n=new Array(r),o=0;r>o;o++)n[o]=arguments[o];s.k("debug",...n)},info(){for(var r=arguments.length,n=new Array(r),o=0;r>o;o++)n[o]=arguments[o];s.k("log",...n)},warn(){for(var r=arguments.length,n=new Array(r),o=0;r>o;o++)n[o]=arguments[o];s.k("warn",...n)},error(){for(var r=arguments.length,n=new Array(r),o=0;r>o;o++)n[o]=arguments[o];s.k("error",...n)},critical(){for(var r=arguments.length,n=new Array(r),o=0;r>o;o++)n[o]=arguments[o];console.error(i,...n)},uninitializedWarning(r){s.error("You must initialize PostHog before calling "+r)},createLogger:(r,n)=>oo(i+" "+r,n)};return s},w=oo("[PostHog.js]"),z=w.createLogger,Ra=z("[ExternalScriptsLoader]"),Hi=(i,e,t)=>{if(i.config.disable_external_dependency_loading)return Ra.warn(e+" was requested but loading of external scripts is disabled."),t("Loading of external scripts is disabled");var s=b?.querySelectorAll("script");if(s){for(var r,n=function(){if(s[o].src===e){var l=s[o];return l.__posthog_loading_callback_fired?{v:t()}:(l.addEventListener("load",(c=>{l.__posthog_loading_callback_fired=!0,t(void 0,c)})),l.onerror=c=>t(c),{v:void 0})}},o=0;s.length>o;o++)if(r=n())return r.v}var a=()=>{if(!b)return t("document not found");var l=b.createElement("script");if(l.type="text/javascript",l.crossOrigin="anonymous",l.src=e,l.onload=h=>{l.__posthog_loading_callback_fired=!0,t(void 0,h)},l.onerror=h=>t(h),i.config.prepare_external_dependency_script&&(l=i.config.prepare_external_dependency_script(l)),!l)return t("prepare_external_dependency_script returned null");if(i.config.external_scripts_inject_target==="head")b.head.appendChild(l);else{var c,u=b.querySelectorAll("body > script");u.length>0?(c=u[0].parentNode)==null||c.insertBefore(l,u[0]):b.body.appendChild(l)}};b!=null&&b.body?a():b?.addEventListener("DOMContentLoaded",a)};R.__PosthogExtensions__=R.__PosthogExtensions__||{},R.__PosthogExtensions__.loadExternalDependency=(i,e,t)=>{if(e!=="remote-config"){var s;if(i.config.__preview_external_dependency_versioned_paths)s=i.requestRouter.endpointFor("assets","/static/"+i.version+"/"+e+".js");else{var r="/static/"+e+".js?v="+i.version;if(e==="toolbar"){var n=3e5;r=r+"&t="+Math.floor(Date.now()/n)*n}s=i.requestRouter.endpointFor("assets",r)}Hi(i,s,t)}else{var o=i.requestRouter.endpointFor("assets","/array/"+i.config.token+"/config.js");Hi(i,o,t)}},R.__PosthogExtensions__.loadSiteApp=(i,e,t)=>{var s=i.requestRouter.endpointFor("api",e);Hi(i,s,t)};var ao="$people_distinct_id",hi="$device_id",Ft="__alias",Rt="__timers",ks="$autocapture_disabled_server_side",Ss="$heatmaps_enabled_server_side",Ps="$exception_capture_enabled_server_side",Fs="$error_tracking_suppression_rules",Rs="$error_tracking_capture_extension_exceptions",$s="$web_vitals_enabled_server_side",xr="$dead_clicks_enabled_server_side",Ts="$product_tours_enabled_server_side",Is="$web_vitals_allowed_metrics",$t="$session_recording_remote_config",lo="$replay_override_sampling",uo="$replay_override_linked_flag",co="$replay_override_url_trigger",ho="$replay_override_event_trigger",di="$sesid",kr="$session_is_sampled",ut="$enabled_feature_flags",ii="$active_feature_flags",Tt="$early_access_features",Os="$feature_flag_details",Cs="$feature_flag_payloads",Ms="$feature_flag_request_id",Ie="$override_feature_flags",nt="$override_feature_flag_payloads",It="$stored_person_properties",Ge="$stored_group_properties",As="$surveys",Ls="$surveys_activated",si="ph_product_tours",Mt="$flag_call_reported",Ds="$flag_call_reported_session_id",Ns="$feature_flag_errors",pi="$feature_flag_evaluated_at",Ee="$user_state",qs="$client_session_props",Us="$capture_rate_limit",js="$initial_campaign_params",Hs="$initial_referrer_info",gi="$initial_person_info",vi="$epp",po="__POSTHOG_TOOLBAR__",Yt="$posthog_cookieless",go="$sdk_debug_extensions_init_method",vo="$sdk_debug_extensions_init_time_ms",_o="$sdk_debug_recording_script_not_loaded",Sr="PostHog loadExternalDependency extension not found.",Ye="on_reject",Ce="always",et="anonymous",tt="identified",zs="identified_only",_i="visibilitychange",fi="beforeunload",ot="$pageview",zi="$pageleave",Vi="$identify",Kr="$groupidentify";function Xt(i,e){q(i)&&i.forEach(e)}function H(i,e){if(!N(i))if(q(i))i.forEach(e);else if(ta(i))i.forEach(((s,r)=>e(s,r)));else for(var t in i)Nn.call(i,t)&&e(i[t],t)}var W=function(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),s=1;e>s;s++)t[s-1]=arguments[s];for(var r of t)for(var n in r)r[n]!==void 0&&(i[n]=r[n]);return i};function ri(i){for(var e=Object.keys(i),t=e.length,s=new Array(t);t--;)s[t]=[e[t],i[e[t]]];return s}var Jr=function(i){try{return i()}catch{return}},$a=function(i){return function(){try{for(var e=arguments.length,t=new Array(e),s=0;e>s;s++)t[s]=arguments[s];return i.apply(this,t)}catch(r){w.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),w.critical(r)}}},Pr=function(i){var e={};return H(i,(function(t,s){(B(t)&&t.length>0||me(t))&&(e[s]=t)})),e},Ta=["herokuapp.com","vercel.app","netlify.app"];function Ia(i){var e=i?.hostname;if(!B(e))return!1;var t=e.split(".").slice(-2).join(".");for(var s of Ta)if(t===s)return!1;return!0}function K(i,e,t,s){var{capture:r=!1,passive:n=!0}=s??{};i?.addEventListener(e,t,{capture:r,passive:n})}function fo(i){return i.name==="ph_toolbar_internal"}Math.trunc||(Math.trunc=function(i){return 0>i?Math.ceil(i):Math.floor(i)}),Number.isInteger||(Number.isInteger=function(i){return me(i)&&isFinite(i)&&Math.floor(i)===i});var Vs=class i{constructor(e){if(this.bytes=e,e.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(e,t,s,r){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(s)||!Number.isInteger(r)||0>e||0>t||0>s||0>r||e>0xffffffffffff||t>4095||s>1073741823||r>4294967295)throw new RangeError("invalid field value");var n=new Uint8Array(16);return n[0]=e/Math.pow(2,40),n[1]=e/Math.pow(2,32),n[2]=e/Math.pow(2,24),n[3]=e/Math.pow(2,16),n[4]=e/Math.pow(2,8),n[5]=e,n[6]=112|t>>>8,n[7]=t,n[8]=128|s>>>24,n[9]=s>>>16,n[10]=s>>>8,n[11]=s,n[12]=r>>>24,n[13]=r>>>16,n[14]=r>>>8,n[15]=r,new i(n)}toString(){for(var e="",t=0;this.bytes.length>t;t++)e=e+(this.bytes[t]>>>4).toString(16)+(15&this.bytes[t]).toString(16),t!==3&&t!==5&&t!==7&&t!==9||(e+="-");if(e.length!==36)throw new Error("Invalid UUIDv7 was generated");return e}clone(){return new i(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(var t=0;16>t;t++){var s=this.bytes[t]-e.bytes[t];if(s!==0)return Math.sign(s)}return 0}},Bs=class{constructor(){this.S=0,this.C=0,this.I=new Ws}generate(){var e=this.generateOrAbort();if(E(e)){this.S=0;var t=this.generateOrAbort();if(E(t))throw new Error("Could not generate UUID after timestamp reset");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.S)this.S=e,this.T();else{if(this.S>=e+1e4)return;this.C++,this.C>4398046511103&&(this.S++,this.T())}return Vs.fromFieldsV7(this.S,Math.trunc(this.C/Math.pow(2,30)),this.C&Math.pow(2,30)-1,this.I.nextUint32())}T(){this.C=1024*this.I.nextUint32()+(1023&this.I.nextUint32())}},Zr,mo=i=>{if(typeof UUIDV7_DENY_WEAK_RNG<"u"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(var e=0;i.length>e;e++)i[e]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return i};p&&!E(p.crypto)&&crypto.getRandomValues&&(mo=i=>crypto.getRandomValues(i));var Ws=class{constructor(){this.M=new Uint32Array(8),this.O=1/0}nextUint32(){return this.M.length>this.O||(mo(this.M),this.O=0),this.M[this.O++]}},je=()=>Oa().toString(),Oa=()=>(Zr||(Zr=new Bs)).generate(),mt="",Ca=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i,Se={R:()=>!!b,D(i){w.error("cookieStore error: "+i)},A(i){if(b){try{for(var e=i+"=",t=b.cookie.split(";").filter((n=>n.length)),s=0;t.length>s;s++){for(var r=t[s];r.charAt(0)==" ";)r=r.substring(1,r.length);if(r.indexOf(e)===0)return decodeURIComponent(r.substring(e.length,r.length))}}catch{}return null}},F(i){var e;try{e=JSON.parse(Se.A(i))||{}}catch{}return e},N(i,e,t,s,r){if(b)try{var n="",o="",a=(function(u,h){if(h){var d=(function(v,_){if(_===void 0&&(_=b),mt)return mt;if(!_||["localhost","127.0.0.1"].includes(v))return"";for(var $=v.split("."),S=Math.min($.length,8),O="dmn_chk_"+je();!mt&&S--;){var F=$.slice(S).join("."),T=O+"=1;domain=."+F+";path=/";_.cookie=T+";max-age=3",_.cookie.includes(O)&&(_.cookie=T+";max-age=0",mt=F)}return mt})(u);if(!d){var g=(v=>{var _=v.match(Ca);return _?_[0]:""})(u);g!==d&&w.info("Warning: cookie subdomain discovery mismatch",g,d),d=g}return d?"; domain=."+d:""}return""})(b.location.hostname,s);if(t){var l=new Date;l.setTime(l.getTime()+864e5*t),n="; expires="+l.toUTCString()}r&&(o="; secure");var c=i+"="+encodeURIComponent(JSON.stringify(e))+n+"; SameSite=Lax; path=/"+a+o;return c.length>3686.4&&w.warn("cookieStore warning: large cookie, len="+c.length),b.cookie=c,c}catch{return}},q(i,e){if(b!=null&&b.cookie)try{Se.N(i,"",-1,e)}catch{return}}},Bi=null,V={R(){if(!Ae(Bi))return Bi;var i=!0;if(E(p))i=!1;else try{var e="__mplssupport__";V.N(e,"xyz"),V.A(e)!=='"xyz"'&&(i=!1),V.q(e)}catch{i=!1}return i||w.error("localStorage unsupported; falling back to cookie store"),Bi=i,i},D(i){w.error("localStorage error: "+i)},A(i){try{return p?.localStorage.getItem(i)}catch(e){V.D(e)}return null},F(i){try{return JSON.parse(V.A(i))||{}}catch{}return null},N(i,e){try{p?.localStorage.setItem(i,JSON.stringify(e))}catch(t){V.D(t)}},q(i){try{p?.localStorage.removeItem(i)}catch(e){V.D(e)}}},Ma=[hi,"distinct_id",di,kr,vi,gi,Ee],Kt={},Aa={R:()=>!0,D(i){w.error("memoryStorage error: "+i)},A:i=>Kt[i]||null,F:i=>Kt[i]||null,N(i,e){Kt[i]=e},q(i){delete Kt[i]}},ze=null,te={R(){if(!Ae(ze))return ze;if(ze=!0,E(p))ze=!1;else try{var i="__support__";te.N(i,"xyz"),te.A(i)!=='"xyz"'&&(ze=!1),te.q(i)}catch{ze=!1}return ze},D(i){w.error("sessionStorage error: ",i)},A(i){try{return p?.sessionStorage.getItem(i)}catch(e){te.D(e)}return null},F(i){try{return JSON.parse(te.A(i))||null}catch{}return null},N(i,e){try{p?.sessionStorage.setItem(i,JSON.stringify(e))}catch(t){te.D(t)}},q(i){try{p?.sessionStorage.removeItem(i)}catch(e){te.D(e)}}},Gs=class{constructor(e){this._instance=e}get qt(){return this._instance.config}get consent(){return this.rr()?0:this.ir}isOptedOut(){return this.qt.cookieless_mode===Ce||this.isRejected()||this.consent===-1&&this.qt.cookieless_mode===Ye}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===0}isRejected(){return this.consent===0||this.consent===-1&&this.qt.opt_out_capturing_by_default}optInOut(e){this.nr.N(this.sr,e?1:0,this.qt.cookie_expiration,this.qt.cross_subdomain_cookie,this.qt.secure_cookie)}reset(){this.nr.q(this.sr,this.qt.cross_subdomain_cookie)}get sr(){var{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:s}=this._instance.config;return s||(t?t+e:"__ph_opt_in_out_"+e)}get ir(){var e=this.nr.A(this.sr);return Ni(e)?1:D(ra,e)?0:-1}get nr(){var e=this.qt.opt_out_capturing_persistence_type,t=e==="localStorage"?V:Se;if(!this.ar||this.ar!==t){this.ar=t;var s=e==="localStorage"?Se:V;s.A(this.sr)&&(this.ar.A(this.sr)||this.optInOut(Ni(s.A(this.sr))),s.q(this.sr,this.qt.cross_subdomain_cookie))}return this.ar}rr(){return!!this.qt.respect_dnt&&[de?.doNotTrack,de?.msDoNotTrack,R.doNotTrack].some((e=>Ni(e)))}},Jt=z("[Dead Clicks]"),La=()=>!0,Da=i=>{var e,t=!((e=i.instance.persistence)==null||!e.get_property(xr)),s=i.instance.config.capture_dead_clicks;return Pe(s)?s:!!Y(s)||t},mi=class{get lazyLoadedDeadClicksAutocapture(){return this.ur}constructor(e,t,s){this.instance=e,this.isEnabled=t,this.onCapture=s,this.startIfEnabledOrStop()}onRemoteConfig(e){"captureDeadClicks"in e&&(this.instance.persistence&&this.instance.persistence.register({[xr]:e.captureDeadClicks}),this.startIfEnabledOrStop())}startIfEnabledOrStop(){this.isEnabled(this)?this.lr((()=>{this.hr()})):this.stop()}lr(e){var t,s;(t=R.__PosthogExtensions__)!=null&&t.initDeadClicksAutocapture&&e(),(s=R.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this.instance,"dead-clicks-autocapture",(r=>{r?Jt.error("failed to load script",r):e()}))}hr(){var e;if(b){if(!this.ur&&(e=R.__PosthogExtensions__)!=null&&e.initDeadClicksAutocapture){var t=Y(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this.ur=R.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this.ur.start(b),Jt.info("starting...")}}else Jt.error("`document` not found. Cannot start.")}stop(){this.ur&&(this.ur.stop(),this.ur=void 0,Jt.info("stopping..."))}},Wi=z("[SegmentIntegration]"),yo="posthog-js";function bo(i,e){var{organization:t,projectId:s,prefix:r,severityAllowList:n=["error"],sendExceptionsToPostHog:o=!0}=e===void 0?{}:e;return a=>{var l,c,u,h,d;if(n!=="*"&&!n.includes(a.level)||!i.__loaded)return a;a.tags||(a.tags={});var g=i.requestRouter.endpointFor("ui","/project/"+i.config.token+"/person/"+i.get_distinct_id());a.tags["PostHog Person URL"]=g,i.sessionRecordingStarted()&&(a.tags["PostHog Recording URL"]=i.get_session_replay_url({withTimestamp:!0}));var v,_=((l=a.exception)==null?void 0:l.values)||[],$=_.map((O=>m({},O,{stacktrace:O.stacktrace?m({},O.stacktrace,{type:"raw",frames:(O.stacktrace.frames||[]).map((F=>m({},F,{platform:"web:javascript"})))}):void 0}))),S={$exception_message:((c=_[0])==null?void 0:c.value)||a.message,$exception_type:(u=_[0])==null?void 0:u.type,$exception_level:a.level,$exception_list:$,$sentry_event_id:a.event_id,$sentry_exception:a.exception,$sentry_exception_message:((h=_[0])==null?void 0:h.value)||a.message,$sentry_exception_type:(d=_[0])==null?void 0:d.type,$sentry_tags:a.tags};return t&&s&&(S.$sentry_url=(r||"https://sentry.io/organizations/")+t+"/issues/?project="+s+"&query="+a.event_id),o&&((v=i.exceptions)==null||v.sendExceptionEvent(S)),a}}var Ys=class{constructor(e,t,s,r,n,o){this.name=yo,this.setupOnce=function(a){a(bo(e,{organization:t,projectId:s,prefix:r,severityAllowList:n,sendExceptionsToPostHog:o==null||o}))}}},yi=class{constructor(e){this.cr=(t,s,r)=>{r&&(r.noSessionId||r.activityTimeout||r.sessionPastMaximumLength)&&(w.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:t,changeReason:r}),this.dr=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.vr()}vr(){var e;this.pr=(e=this._instance.sessionManager)==null?void 0:e.onSessionId(this.cr)}destroy(){var e;(e=this.pr)==null||e.call(this),this.pr=void 0}doPageView(e,t){var s,r=this.gr(e,t);return this.dr={pathname:(s=p?.location.pathname)!==null&&s!==void 0?s:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),r}doPageLeave(e){var t;return this.gr(e,(t=this.dr)==null?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:(e=this.dr)==null?void 0:e.pageViewId}}gr(e,t){var s=this.dr;if(!s)return{$pageview_id:t};var r={$pageview_id:t,$prev_pageview_id:s.pageViewId},n=this._instance.scrollManager.getContext();if(n&&!this._instance.config.disable_scroll_properties){var{maxScrollHeight:o,lastScrollY:a,maxScrollY:l,maxContentHeight:c,lastContentY:u,maxContentY:h}=n;if(!(E(o)||E(a)||E(l)||E(c)||E(u)||E(h))){o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),c=Math.ceil(c),u=Math.ceil(u),h=Math.ceil(h);var d=o>1?Fe(a/o,0,1,w):1,g=o>1?Fe(l/o,0,1,w):1,v=c>1?Fe(u/c,0,1,w):1,_=c>1?Fe(h/c,0,1,w):1;r=W(r,{$prev_pageview_last_scroll:a,$prev_pageview_last_scroll_percentage:d,$prev_pageview_max_scroll:l,$prev_pageview_max_scroll_percentage:g,$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:v,$prev_pageview_max_content:h,$prev_pageview_max_content_percentage:_})}}return s.pathname&&(r.$prev_pageview_pathname=s.pathname),s.timestamp&&(r.$prev_pageview_duration=(e.getTime()-s.timestamp.getTime())/1e3),r}},Na={[ao]:{exposure:"hidden"},[Ft]:{exposure:"hidden"},__cmpns:{exposure:"hidden"},[Rt]:{exposure:"hidden"},[ks]:{exposure:"event"},[Ss]:{exposure:"hidden"},[Ps]:{exposure:"event"},[Fs]:{exposure:"hidden"},[Rs]:{exposure:"event"},[$s]:{exposure:"event"},[xr]:{exposure:"event"},[Ts]:{exposure:"hidden"},[Is]:{exposure:"event"},[$t]:{exposure:"hidden"},$session_recording_enabled_server_side:{exposure:"hidden"},[di]:{exposure:"hidden"},[kr]:{exposure:"event"},$session_past_minimum_duration:{exposure:"event"},$session_recording_url_trigger_activated_session:{exposure:"event"},$session_recording_event_trigger_activated_session:{exposure:"event"},$debug_first_full_snapshot_timestamp:{exposure:"event"},[ut]:{exposure:"derived",shouldSkipFromEventProperties:(i,e)=>e(),transformToEventProperties(i){if(!Y(i))return{};for(var e={},t=Object.keys(i),s=0;t.length>s;s++)e["$feature/"+t[s]]=i[t[s]];return e}},[ii]:{exposure:"event"},[Tt]:{exposure:"hidden"},[Os]:{exposure:"hidden"},[Cs]:{exposure:"event"},[Ms]:{exposure:"event"},[Ie]:{exposure:"event"},[nt]:{exposure:"hidden"},[It]:{exposure:"hidden"},[Ge]:{exposure:"hidden"},[As]:{exposure:"hidden"},[Ls]:{exposure:"event"},[si]:{exposure:"hidden"},$product_tours_activated:{exposure:"hidden"},$conversations_widget_session_id:{exposure:"event"},$conversations_ticket_id:{exposure:"event"},$conversations_widget_state:{exposure:"event"},$conversations_user_traits:{exposure:"event"},[Mt]:{exposure:"hidden"},[Ds]:{exposure:"hidden"},[Ns]:{exposure:"hidden"},[pi]:{exposure:"hidden"},[Ee]:{exposure:"hidden"},[qs]:{exposure:"hidden"},[Us]:{exposure:"hidden"},[js]:{exposure:"hidden"},[Hs]:{exposure:"hidden"},[gi]:{exposure:"hidden"},[vi]:{exposure:"hidden"},[lo]:{exposure:"event"},[uo]:{exposure:"event"},[co]:{exposure:"event"},[ho]:{exposure:"event"},[go]:{exposure:"event"},[vo]:{exposure:"event"},[_o]:{exposure:"event"},$sdk_debug_replay_event_trigger_status:{exposure:"event"},$sdk_debug_replay_linked_flag_trigger_status:{exposure:"event"},$sdk_debug_replay_matched_recording_trigger_groups:{exposure:"event"},$sdk_debug_replay_remote_trigger_matching_config:{exposure:"event"},$sdk_debug_replay_trigger_groups_count:{exposure:"event"},$sdk_debug_replay_url_trigger_status:{exposure:"event"},$session_recording_start_reason:{exposure:"event"}},qa=[["$posthog_sr_group_event_trigger_",{exposure:"hidden"}],["$posthog_sr_group_url_trigger_",{exposure:"hidden"}],["$posthog_sr_group_sampling_",{exposure:"hidden"}]],bi=i=>{var e=b?.createElement("a");return E(e)?null:(e.href=i,e)},wi=function(i,e){for(var t,s=((i.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&"),r=0;s.length>r;r++){var n=s[r].split("=");if(n[0]===e){t=n;break}}if(!q(t)||2>t.length)return"";var o=t[1];try{o=decodeURIComponent(o)}catch{w.error("Skipping decoding for malformed query param: "+o)}return o.replace(/\+/g," ")},jt=function(i,e,t){if(!i||!e||!e.length)return i;for(var s=i.split("#"),r=s[1],n=(s[0]||"").split("?"),o=n[1],a=n[0],l=(o||"").split("&"),c=[],u=0;l.length>u;u++){var h=l[u].split("=");q(h)&&(e.includes(h[0])?c.push(h[0]+"="+t):c.push(l[u]))}var d=a;return o!=null&&(d+="?"+c.join("&")),r!=null&&(d+="#"+r),d},Ei=function(i,e){var t=i.match(new RegExp(e+"=([^&]*)"));return t?t[1]:null},Zt="https?://(.*)",_t=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],Ua=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid",..._t],Ht="<masked>",ja=["li_fat_id"];function wo(i,e,t){if(!b)return{};var s,r=e?[..._t,...t||[]]:[],n=Eo(jt(b.URL,r,Ht),i),o=(s={},H(ja,(function(a){var l=Se.A(a);s[a]=l||null})),s);return W(o,n)}function Eo(i,e){var t=Ua.concat(e||[]),s={};return H(t,(function(r){var n=wi(i,r);s[r]=n||null})),s}function xo(i){var e=(function(n){return n?n.search(Zt+"google.([^/?]*)")===0?"google":n.search(Zt+"bing.com")===0?"bing":n.search(Zt+"yahoo.com")===0?"yahoo":n.search(Zt+"duckduckgo.com")===0?"duckduckgo":null:null})(i),t=e!="yahoo"?"q":"p",s={};if(!Ae(e)){s.$search_engine=e;var r=b?wi(b.referrer,t):"";r.length&&(s.ph_keyword=r)}return s}function Qr(){return navigator.language||navigator.userLanguage}var xi="$direct";function ko(){return b?.referrer||xi}function So(i,e){var t=i?[..._t,...e||[]]:[],s=ee?.href.substring(0,1e3);return{r:ko().substring(0,1e3),u:s?jt(s,t,Ht):void 0}}function Po(i){var e,{r:t,u:s}=i,r={$referrer:t,$referring_domain:t==null?void 0:t==xi?xi:(e=bi(t))==null?void 0:e.host};if(s){r.$current_url=s;var n=bi(s);r.$host=n?.host,r.$pathname=n?.pathname;var o=Eo(s);W(r,o)}if(t){var a=xo(t);W(r,a)}return r}function Fo(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}function Ha(){try{return new Date().getTimezoneOffset()}catch{return}}var za=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],At=class{constructor(e,t){this.qt=e,this.props={},this.mr=!1,this.yr=(s=>{var r="";return s.token&&(r=s.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),s.persistence_name?"ph_"+s.persistence_name:"ph_"+r+"_posthog"})(e),this.nr=this.br(e),this.load(),e.debug&&w.info("Persistence loaded",e.persistence,m({},this.props)),this.update_config(e,e,t),this.save()}isDisabled(){return!!this._r}br(e){za.indexOf(e.persistence.toLowerCase())===-1&&(w.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");var t=(function(r){r===void 0&&(r=[]);var n=[...Ma,...r];return m({},V,{F(o){try{var a={};try{a=Se.F(o)||{}}catch{}var l=W(a,JSON.parse(V.A(o)||"{}"));return V.N(o,l),l}catch{}return null},N(o,a,l,c,u,h){try{V.N(o,a,void 0,void 0,h);var d={};n.forEach((g=>{a[g]&&(d[g]=a[g])})),Object.keys(d).length&&Se.N(o,d,l,c,u,h)}catch(g){V.D(g)}},q(o,a){try{p?.localStorage.removeItem(o),Se.q(o,a)}catch(l){V.D(l)}}})})(e.cookie_persisted_properties||[]),s=e.persistence.toLowerCase();return s==="localstorage"&&V.R()?V:s==="localstorage+cookie"&&t.R()?t:s==="sessionstorage"&&te.R()?te:s==="memory"?Aa:s==="cookie"?Se:t.R()?t:Se}wr(e){var t=e??this.qt.feature_flag_cache_ttl_ms;if(!t||0>=t)return!1;var s=this.props[pi];return!s||typeof s!="number"||Date.now()-s>t}properties(){var e={};return H(this.props,((t,s)=>{var r=(n=>{var o=Na[n];if(o)return o;for(var[a,l]of qa)if(n.indexOf(a)===0)return l})(s);if(r?.exposure==="derived"){if(r.shouldSkipFromEventProperties!=null&&r.shouldSkipFromEventProperties(t,s===ut?()=>this.wr():()=>!1))return;r.transformToEventProperties&&W(e,r.transformToEventProperties(t))}else r&&r.exposure!=="event"||(e[s]=t)})),e}load(){if(!this._r){var e=this.nr.F(this.yr);e&&(this.props=W({},e))}}save(){this._r||this.nr.N(this.yr,this.props,this.Sr,this.kr,this.Cr,this.qt.debug)}remove(){this.nr.q(this.yr,!1),this.nr.q(this.yr,!0)}clear(){this.remove(),this.props={}}register_once(e,t,s){if(Y(e)){E(t)&&(t="None"),this.Sr=E(s)?this.Ir:s;var r=!1;if(H(e,((n,o)=>{this.props.hasOwnProperty(o)&&this.props[o]!==t||(this.Tr(o,n),r=!0)})),r)return this.save(),!0}return!1}register(e,t){if(Y(e)){this.Sr=E(t)?this.Ir:t;var s=!1;if(H(e,((r,n)=>{e.hasOwnProperty(n)&&this.props[n]!==r&&(this.Tr(n,r),s=!0)})),s)return this.save(),!0}return!1}unregister(e){e in this.props&&(this.Er(e),this.save())}update_campaign_params(){if(!this.mr){var e=wo(this.qt.custom_campaign_params,this.qt.mask_personal_data_properties,this.qt.custom_personal_data_properties);lt(Pr(e))||this.register(e),this.mr=!0}}update_search_keyword(){var e;this.register((e=b?.referrer)?xo(e):{})}update_referrer_info(){var e;this.register_once({$referrer:ko(),$referring_domain:b!=null&&b.referrer&&((e=bi(b.referrer))==null?void 0:e.host)||xi},void 0)}set_initial_person_info(){this.props[js]||this.props[Hs]||this.register_once({[gi]:So(this.qt.mask_personal_data_properties,this.qt.custom_personal_data_properties)},void 0)}get_initial_props(){var e={};H([Hs,js],(o=>{var a=this.props[o];a&&H(a,(function(l,c){e["$initial_"+ls(c)]=l}))}));var t,s,r=this.props[gi];if(r){var n=(t=Po(r),s={},H(t,(function(o,a){s["$initial_"+ls(a)]=o})),s);W(e,n)}return e}safe_merge(e){return H(this.props,(function(t,s){s in e||(e[s]=t)})),e}update_config(e,t,s){if(this.Ir=this.Sr=e.cookie_expiration,this.set_disabled(e.disable_persistence||!!s),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence||!((o,a)=>{if(o.length!==a.length)return!1;var l=[...o].sort(),c=[...a].sort();return l.every(((u,h)=>u===c[h]))})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[])){var r=this.br(e),n=this.props;this.clear(),this.nr=r,this.props=n,this.save()}}set_disabled(e){this._r=e,this._r?this.remove():this.save()}set_cross_subdomain(e){e!==this.kr&&(this.kr=e,this.remove(),this.save())}set_secure(e){e!==this.Cr&&(this.Cr=e,this.remove(),this.save())}set_event_timer(e,t){var s=this.props[Rt]||{};s[e]=t,this.Tr(Rt,s),this.save()}remove_event_timer(e){var t=this.props[Rt]||{},s=t[e];return E(s)||(delete t[e],this.Tr(Rt,t),this.save()),s}get_property(e){return this.props[e]}set_property(e,t){this.Tr(e,t),this.save()}Tr(e,t){this.props[e]=t}Er(e){delete this.props[e]}},yt={Activation:"events",Cancellation:"cancelEvents"};var Gi={Popover:"popover",API:"api",Widget:"widget",ExternalSurvey:"external_survey"};var Ot={SHOWN:"survey shown",DISMISSED:"survey dismissed",SENT:"survey sent",ABANDONED:"survey abandoned"},Yi={SURVEY_ID:"$survey_id",SURVEY_NAME:"$survey_name",SURVEY_RESPONSE:"$survey_response",SURVEY_ITERATION:"$survey_iteration",SURVEY_ITERATION_START_DATE:"$survey_iteration_start_date",SURVEY_PARTIALLY_COMPLETED:"$survey_partially_completed",SURVEY_SUBMISSION_ID:"$survey_submission_id",SURVEY_QUESTIONS:"$survey_questions",SURVEY_COMPLETED:"$survey_completed",PRODUCT_TOUR_ID:"$product_tour_id",SURVEY_LAST_SEEN_DATE:"$survey_last_seen_date",SURVEY_LANGUAGE:"$survey_language"},Xs={Popover:"popover",Inline:"inline"};var Va={SHOWN:"product tour shown",DISMISSED:"product tour dismissed",COMPLETED:"product tour completed",STEP_SHOWN:"product tour step shown",STEP_COMPLETED:"product tour step completed",BUTTON_CLICKED:"product tour button clicked",STEP_SELECTOR_FAILED:"product tour step selector failed",BANNER_CONTAINER_SELECTOR_FAILED:"product tour banner container selector failed",BANNER_ACTION_CLICKED:"product tour banner action clicked"},en={TOUR_ID:"$product_tour_id",TOUR_NAME:"$product_tour_name",TOUR_ITERATION:"$product_tour_iteration",TOUR_RENDER_REASON:"$product_tour_render_reason",TOUR_STEP_ID:"$product_tour_step_id",TOUR_STEP_ORDER:"$product_tour_step_order",TOUR_STEP_TYPE:"$product_tour_step_type",TOUR_DISMISS_REASON:"$product_tour_dismiss_reason",TOUR_BUTTON_TEXT:"$product_tour_button_text",TOUR_BUTTON_ACTION:"$product_tour_button_action",TOUR_BUTTON_LINK:"$product_tour_button_link",TOUR_BUTTON_TOUR_ID:"$product_tour_button_tour_id",TOUR_STEPS_COUNT:"$product_tour_steps_count",TOUR_STEP_SELECTOR:"$product_tour_step_selector",TOUR_STEP_SELECTOR_FOUND:"$product_tour_step_selector_found",TOUR_STEP_ELEMENT_TAG:"$product_tour_step_element_tag",TOUR_STEP_ELEMENT_ID:"$product_tour_step_element_id",TOUR_STEP_ELEMENT_CLASSES:"$product_tour_step_element_classes",TOUR_STEP_ELEMENT_TEXT:"$product_tour_step_element_text",TOUR_ERROR:"$product_tour_error",TOUR_MATCHES_COUNT:"$product_tour_matches_count",TOUR_FAILURE_PHASE:"$product_tour_failure_phase",TOUR_WAITED_FOR_ELEMENT:"$product_tour_waited_for_element",TOUR_WAIT_DURATION_MS:"$product_tour_wait_duration_ms",TOUR_BANNER_SELECTOR:"$product_tour_banner_selector",TOUR_LINKED_SURVEY_ID:"$product_tour_linked_survey_id",USE_MANUAL_SELECTOR:"$use_manual_selector",INFERENCE_DATA_PRESENT:"$inference_data_present",TOUR_LAST_SEEN_DATE:"$product_tour_last_seen_date",TOUR_TYPE:"$product_tour_type"},tn=z("[RateLimiter]"),Ks=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=t=>{var s=t.text;if(s&&s.length)try{(JSON.parse(s).quota_limited||[]).forEach((r=>{tn.info((r||"events")+" is quota limited."),this.serverLimits[r]=new Date().getTime()+6e4}))}catch(r){return void tn.warn('could not rate limit - continuing. Error: "'+r?.message+'"',{text:s})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return((e=this.instance.config.rate_limiting)==null?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max(((e=this.instance.config.rate_limiting)==null?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e){var t,s,r;e===void 0&&(e=!1);var{captureEventsBurstLimit:n,captureEventsPerSecond:o}=this,a=new Date().getTime(),l=(t=(s=this.instance.persistence)==null?void 0:s.get_property(Us))!==null&&t!==void 0?t:{tokens:n,last:a};l.tokens+=(a-l.last)/1e3*o,l.last=a,l.tokens>n&&(l.tokens=n);var c=1>l.tokens;return c||e||(l.tokens=Math.max(0,l.tokens-1)),!c||this.lastEventRateLimited||e||this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:"posthog-js client rate limited. Config is set to "+o+" events per second and "+n+" events burst limit."},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=c,(r=this.instance.persistence)==null||r.set_property(Us,l),{isRateLimited:c,remainingTokens:l.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||"events"]||!1;return t!==!1&&new Date().getTime()<t}},bt=z("[RemoteConfig]"),ki=class{constructor(e){this._instance=e}get remoteConfig(){var e;return(e=R._POSTHOG_REMOTE_CONFIG)==null||(e=e[this._instance.config.token])==null?void 0:e.config}Mr(e){var t,s;(t=R.__PosthogExtensions__)!=null&&t.loadExternalDependency?(s=R.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this._instance,"remote-config",(()=>e(this.remoteConfig))):e()}Pr(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets","/array/"+this._instance.config.token+"/config"),callback(t){e(t.json)}})}load(){try{if(this.remoteConfig)return bt.info("Using preloaded remote config",this.remoteConfig),this.Rr(this.remoteConfig),void this.Or();if(this._instance.Lr())return void bt.warn("Remote config is disabled. Falling back to local config.");this.Mr((e=>{if(!e)return bt.info("No config found after loading remote JS config. Falling back to JSON."),void this.Pr((t=>{this.Rr(t),this.Or()}));this.Rr(e),this.Or()}))}catch(e){bt.error("Error loading remote config",e)}}stop(){this.Fr&&(clearInterval(this.Fr),this.Fr=void 0)}refresh(){this._instance.Lr()||b?.visibilityState==="hidden"||this._instance.reloadFeatureFlags()}Or(){var e;if(!this.Fr){var t=(e=this._instance.config.remote_config_refresh_interval_ms)!==null&&e!==void 0?e:3e5;t!==0&&(this.Fr=setInterval((()=>{this.refresh()}),t))}}Rr(e){var t;e||bt.error("Failed to fetch remote config from PostHog."),this._instance.Rr(e??{}),e?.hasFeatureFlags!==!1&&(this._instance.config.advanced_disable_feature_flags_on_first_load||(t=this._instance.featureFlags)==null||t.ensureFlagsLoaded())}};var ke={GZipJS:"gzip-js",Base64:"base64"},fe=Uint8Array,le=Uint16Array,ft=Uint32Array,Fr=new fe([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Rr=new fe([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),sn=new fe([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ro=function(i,e){for(var t=new le(31),s=0;31>s;++s)t[s]=e+=1<<i[s-1];var r=new ft(t[30]);for(s=1;30>s;++s)for(var n=t[s];t[s+1]>n;++n)r[n]=n-t[s]<<5|s;return[t,r]},$o=Ro(Fr,2),Js=$o[1];$o[0][28]=258,Js[258]=28;for(Zs=Ro(Rr,0)[1],Si=new le(32768),j=0;32768>j;++j)Ve=(43690&j)>>>1|(21845&j)<<1,Si[j]=((65280&(Ve=(61680&(Ve=(52428&Ve)>>>2|(13107&Ve)<<2))>>>4|(3855&Ve)<<4))>>>8|(255&Ve)<<8)>>>1;var Ve,Zs,Si,j,Lt=function(i,e,t){for(var s=i.length,r=0,n=new le(e);s>r;++r)++n[i[r]-1];var o,a=new le(e);for(r=0;e>r;++r)a[r]=a[r-1]+n[r-1]<<1;if(t){o=new le(1<<e);var l=15-e;for(r=0;s>r;++r)if(i[r])for(var c=r<<4|i[r],u=e-i[r],h=a[i[r]-1]++<<u,d=h|(1<<u)-1;d>=h;++h)o[Si[h]>>>l]=c}else for(o=new le(s),r=0;s>r;++r)o[r]=Si[a[i[r]-1]++]>>>15-i[r];return o},Je=new fe(288);for(j=0;144>j;++j)Je[j]=8;for(j=144;256>j;++j)Je[j]=9;for(j=256;280>j;++j)Je[j]=7;for(j=280;288>j;++j)Je[j]=8;var Pi=new fe(32);for(j=0;32>j;++j)Pi[j]=5;var Ba=Lt(Je,9,0),Wa=Lt(Pi,5,0),To=function(i){return(i/8>>0)+(7&i&&1)},Io=function(i,e,t){(t==null||t>i.length)&&(t=i.length);var s=new(i instanceof le?le:i instanceof ft?ft:fe)(t-e);return s.set(i.subarray(e,t)),s},$e=function(i,e,t){var s=e/8>>0;i[s]|=t<<=7&e,i[s+1]|=t>>>8},wt=function(i,e,t){var s=e/8>>0;i[s]|=t<<=7&e,i[s+1]|=t>>>8,i[s+2]|=t>>>16},Xi=function(i,e){for(var t=[],s=0;i.length>s;++s)i[s]&&t.push({s,f:i[s]});var r=t.length,n=t.slice();if(!r)return[new fe(0),0];if(r==1){var o=new fe(t[0].s+1);return o[t[0].s]=1,[o,1]}t.sort((function(f,P){return f.f-P.f})),t.push({s:-1,f:25001});var a=t[0],l=t[1],c=0,u=1,h=2;for(t[0]={s:-1,f:a.f+l.f,l:a,r:l};u!=r-1;)a=t[t[h].f>t[c].f?c++:h++],l=t[c!=u&&t[h].f>t[c].f?c++:h++],t[u++]={s:-1,f:a.f+l.f,l:a,r:l};var d=n[0].s;for(s=1;r>s;++s)n[s].s>d&&(d=n[s].s);var g=new le(d+1),v=Qs(t[u-1],g,0);if(v>e){s=0;var _=0,$=v-e,S=1<<$;for(n.sort((function(f,P){return g[P.s]-g[f.s]||f.f-P.f}));r>s;++s){var O=n[s].s;if(e>=g[O])break;_+=S-(1<<v-g[O]),g[O]=e}for(_>>>=$;_>0;){var F=n[s].s;e>g[F]?_-=1<<e-g[F]++-1:++s}for(;s>=0&&_;--s){var T=n[s].s;g[T]==e&&(--g[T],++_)}v=e}return[new fe(g),v]},Qs=function(i,e,t){return i.s==-1?Math.max(Qs(i.l,e,t+1),Qs(i.r,e,t+1)):e[i.s]=t},rn=function(i){for(var e=i.length;e&&!i[--e];);for(var t=new le(++e),s=0,r=i[0],n=1,o=function(l){t[s++]=l},a=1;e>=a;++a)if(i[a]==r&&a!=e)++n;else{if(!r&&n>2){for(;n>138;n-=138)o(32754);n>2&&(o(n>10?n-11<<5|28690:n-3<<5|12305),n=0)}else if(n>3){for(o(r),--n;n>6;n-=6)o(8304);n>2&&(o(n-3<<5|8208),n=0)}for(;n--;)o(r);n=1,r=i[a]}return[t.subarray(0,s),e]},Et=function(i,e){for(var t=0,s=0;e.length>s;++s)t+=i[s]*e[s];return t},er=function(i,e,t){var s=t.length,r=To(e+2);i[r]=255&s,i[r+1]=s>>>8,i[r+2]=255^i[r],i[r+3]=255^i[r+1];for(var n=0;s>n;++n)i[r+n+4]=t[n];return 8*(r+4+s)},nn=function(i,e,t,s,r,n,o,a,l,c,u){$e(e,u++,t),++r[256];for(var h=Xi(r,15),d=h[0],g=h[1],v=Xi(n,15),_=v[0],$=v[1],S=rn(d),O=S[0],F=S[1],T=rn(_),f=T[0],P=T[1],k=new le(19),x=0;O.length>x;++x)k[31&O[x]]++;for(x=0;f.length>x;++x)k[31&f[x]]++;for(var y=Xi(k,7),I=y[0],C=y[1],L=19;L>4&&!I[sn[L-1]];--L);var M,A,J,Q,ce=c+5<<3,re=Et(r,Je)+Et(n,Pi)+o,G=Et(r,d)+Et(n,_)+o+14+3*L+Et(k,I)+(2*k[16]+3*k[17]+7*k[18]);if(re>=ce&&G>=ce)return er(e,u,i.subarray(l,l+c));if($e(e,u,1+(re>G)),u+=2,re>G){M=Lt(d,g,0),A=d,J=Lt(_,$,0),Q=_;var ge=Lt(I,C,0);for($e(e,u,F-257),$e(e,u+5,P-1),$e(e,u+10,L-4),u+=14,x=0;L>x;++x)$e(e,u+3*x,I[sn[x]]);u+=3*L;for(var ie=[O,f],Re=0;2>Re;++Re){var he=ie[Re];for(x=0;he.length>x;++x)$e(e,u,ge[ye=31&he[x]]),u+=I[ye],ye>15&&($e(e,u,he[x]>>>5&127),u+=he[x]>>>12)}}else M=Ba,A=Je,J=Wa,Q=Pi;for(x=0;a>x;++x)if(s[x]>255){var ye;wt(e,u,M[257+(ye=s[x]>>>18&31)]),u+=A[ye+257],ye>7&&($e(e,u,s[x]>>>23&31),u+=Fr[ye]);var be=31&s[x];wt(e,u,J[be]),u+=Q[be],be>3&&(wt(e,u,s[x]>>>5&8191),u+=Rr[be])}else wt(e,u,M[s[x]]),u+=A[s[x]];return wt(e,u,M[256]),u+A[256]},Ga=new ft([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ya=(function(){for(var i=new ft(256),e=0;256>e;++e){for(var t=e,s=9;--s;)t=(1&t&&3988292384)^t>>>1;i[e]=t}return i})(),Ki=function(i,e,t){for(;t;++e)i[e]=t,t>>>=8};function Xa(i,e){e===void 0&&(e={});var t=(function(){var h=4294967295;return{p(d){for(var g=h,v=0;d.length>v;++v)g=Ya[255&g^d[v]]^g>>>8;h=g},d(){return 4294967295^h}}})(),s=i.length;t.p(i);var r,n,o,a,l,c=(a=10+((r=e).filename&&r.filename.length+1||0),l=8,(function(h,d,g,v,_,$){var S=h.length,O=new fe(v+S+5*(1+Math.floor(S/7e3))+_),F=O.subarray(v,O.length-_),T=0;if(!d||8>S)for(var f=0;S>=f;f+=65535){var P=f+65535;S>P?T=er(F,T,h.subarray(f,P)):(F[f]=!0,T=er(F,T,h.subarray(f,S)))}else{for(var k=Ga[d-1],x=k>>>13,y=8191&k,I=(1<<g)-1,C=new le(32768),L=new le(I+1),M=Math.ceil(g/3),A=2*M,J=function(Di){return(h[Di]^h[Di+1]<<M^h[Di+2]<<A)&I},Q=new ft(25e3),ce=new le(288),re=new le(32),G=0,ge=0,ie=(f=0,0),Re=0,he=0;S>f;++f){var ye=J(f),be=32767&f,Qe=L[ye];if(C[be]=Qe,L[ye]=be,f>=Re){var Bt=S-f;if((G>7e3||ie>24576)&&Bt>423){T=nn(h,F,0,Q,ce,re,ge,ie,he,f-he,T),ie=G=ge=0,he=f;for(var we=0;286>we;++we)ce[we]=0;for(we=0;30>we;++we)re[we]=0}var He=2,Wt=0,Go=y,Le=be-Qe&32767;if(Bt>2&&ye==J(f-Le))for(var Yo=Math.min(x,Bt)-1,Xo=Math.min(32767,f),Ko=Math.min(258,Bt);Xo>=Le&&--Go&&be!=Qe;){if(h[f+He]==h[f+He-Le]){for(var De=0;Ko>De&&h[f+De]==h[f+De-Le];++De);if(De>He){if(He=De,Wt=Le,De>Yo)break;var Jo=Math.min(Le,De-2),Ir=0;for(we=0;Jo>we;++we){var Li=f-Le+we+32768&32767,Or=Li-C[Li]+32768&32767;Or>Ir&&(Ir=Or,Qe=Li)}}}Le+=(be=Qe)-(Qe=C[be])+32768&32767}if(Wt){Q[ie++]=268435456|Js[He]<<18|Zs[Wt];var Cr=31&Js[He],Mr=31&Zs[Wt];ge+=Fr[Cr]+Rr[Mr],++ce[257+Cr],++re[Mr],Re=f+He,++G}else Q[ie++]=h[f],++ce[h[f]]}}T=nn(h,F,!0,Q,ce,re,ge,ie,he,f-he,T)}return Io(O,0,v+To(T)+_)})(n=i,(o=e).level==null?6:o.level,o.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(n.length)))):12+o.mem,a,l)),u=c.length;return(function(h,d){var g=d.filename;if(h[0]=31,h[1]=139,h[2]=8,h[8]=2>d.level?4:d.level==9?2:0,h[9]=3,d.mtime!=0&&Ki(h,4,Math.floor(new Date(d.mtime||Date.now())/1e3)),g){h[3]=8;for(var v=0;g.length>=v;++v)h[v+10]=g.charCodeAt(v)}})(c,e),Ki(c,u-8,t.d()),Ki(c,u-4,s),c}var Ka=!!os||!!ns,Oo="text/plain",on=!1,Mi=function(i,e,t){var s;t===void 0&&(t=!0);var[r,n]=i.split("?"),o=m({},e),a=(s=n?.split("&").map((c=>{var u,[h,d]=c.split("="),g=t&&(u=o[h])!==null&&u!==void 0?u:d;return delete o[h],h+"="+g})))!==null&&s!==void 0?s:[],l=(function(c,u){var h,d;u===void 0&&(u="&");var g=[];return H(c,(function(v,_){E(v)||E(_)||_==="undefined"||(h=encodeURIComponent(($=>$ instanceof File)(v)?v.name:v.toString()),d=encodeURIComponent(_),g[g.length]=d+"="+h)})),g.join(u)})(o);return l&&a.push(l),r+"?"+a.join("&")},ct=(i,e)=>JSON.stringify(i,((t,s)=>typeof s=="bigint"?s.toString():s),e),Ji=i=>{if(i.tr)return i.tr;var{data:e,compression:t}=i;if(e){if(t===ke.GZipJS){var s=Xa((function(a,l){var c=a.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(a);for(var u=new fe(a.length+(a.length>>>1)),h=0,d=function($){u[h++]=$},g=0;c>g;++g){if(h+5>u.length){var v=new fe(h+8+(c-g<<1));v.set(u),u=v}var _=a.charCodeAt(g);128>_?d(_):2048>_?(d(192|_>>>6),d(128|63&_)):_>55295&&57344>_?(d(240|(_=65536+(1047552&_)|1023&a.charCodeAt(++g))>>>18),d(128|_>>>12&63),d(128|_>>>6&63),d(128|63&_)):(d(224|_>>>12),d(128|_>>>6&63),d(128|63&_))}return Io(u,0,h)})(ct(e)),{mtime:0});return{contentType:Oo,body:s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength),estimatedSize:s.byteLength}}if(t===ke.Base64){var r=(function(a){return a&&btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,((l,c)=>String.fromCharCode(parseInt(c,16)))))})(ct(e)),n=(a=>"data="+encodeURIComponent(typeof a=="string"?a:ct(a)))(r);return{contentType:"application/x-www-form-urlencoded",body:n,estimatedSize:new Blob([n]).size}}var o=ct(e);return{contentType:"application/json",body:o,estimatedSize:new Blob([o]).size}}},Ja=(function(){var i=_e((function*(e){var t=ct(e.data),s=yield(function(n,o,a){return as.apply(this,arguments)})(t,ae.DEBUG,{rethrow:!0});if(!s)return e;var r=yield s.arrayBuffer();return m({},e,{tr:{contentType:Oo,body:r,estimatedSize:r.byteLength}})}));return function(e){return i.apply(this,arguments)}})(),an=(i,e)=>Mi(i,{_:new Date().getTime().toString(),ver:ae.JS_SDK_VERSION,compression:e}),ni=[];ns&&ni.push({transport:"fetch",method(i){var e,t,{contentType:s,body:r,estimatedSize:n}=(e=Ji(i))!==null&&e!==void 0?e:{},o=new Headers;H(i.headers,(function(u,h){o.append(h,u)})),s&&o.append("Content-Type",s);var a=i.url,l=null;if(Ur){var c=new Ur;l={signal:c.signal,timeout:setTimeout((()=>c.abort()),i.timeout)}}ns(a,m({method:i?.method||"GET",headers:o,keepalive:i.method==="POST"&&52428.8>(n||0),body:r,signal:(t=l)==null?void 0:t.signal},i.fetchOptions)).then((u=>u.text().then((h=>{var d={statusCode:u.status,text:h};if(u.status===200)try{d.json=JSON.parse(h)}catch(g){w.error(g)}i.callback==null||i.callback(d)})))).catch((u=>{w.error(u),i.callback==null||i.callback({statusCode:0,error:u})})).finally((()=>l?clearTimeout(l.timeout):null))}}),os&&ni.push({transport:"XHR",method(i){var e,t=new os;t.open(i.method||"GET",i.url,!0);var{contentType:s,body:r}=(e=Ji(i))!==null&&e!==void 0?e:{};H(i.headers,(function(n,o){t.setRequestHeader(o,n)})),s&&t.setRequestHeader("Content-Type",s),i.timeout&&(t.timeout=i.timeout),i.disableXHRCredentials||(t.withCredentials=!0),t.onreadystatechange=()=>{if(t.readyState===4){var n={statusCode:t.status,text:t.responseText};if(t.status===200)try{n.json=JSON.parse(t.responseText)}catch{}i.callback==null||i.callback(n)}},t.send(r)}}),de!=null&&de.sendBeacon&&ni.push({transport:"sendBeacon",method(i){var e=Mi(i.url,{beacon:"1"});try{var t,{contentType:s,body:r}=(t=Ji(i))!==null&&t!==void 0?t:{};if(!r)return;var n=r instanceof Blob?r:new Blob([r],{type:s});de.sendBeacon(e,n)}catch{}}});var tr=3e3,ir=class{constructor(e,t){this.Ar=!0,this.Nr=[],this.$r=Fe(t?.flush_interval_ms||tr,250,5e3,w.createLogger("flush interval"),tr),this.Dr=e}enqueue(e){this.Nr.push(e),this.qr||this.jr()}unload(){this.Hr();var e=this.Nr.length>0?this.Ur():{},t=Object.values(e);[...t.filter((s=>s.url.indexOf("/e")===0)),...t.filter((s=>s.url.indexOf("/e")!==0))].map((s=>{this.Dr(m({},s,{transport:"sendBeacon"}))}))}enable(){this.Ar=!1,this.jr()}jr(){var e=this;this.Ar||(this.qr=setTimeout((()=>{if(this.Hr(),this.Nr.length>0){var t=this.Ur(),s=function(){var n=t[r],o=new Date().getTime();n.data&&q(n.data)&&H(n.data,(a=>{a.offset=Math.abs(a.timestamp-o),delete a.timestamp})),e.Dr(n)};for(var r in t)s()}}),this.$r))}Hr(){clearTimeout(this.qr),this.qr=void 0}Ur(){var e={};return H(this.Nr,(t=>{var s,r=t,n=(r?r.batchKey:null)||r.url;E(e[n])&&(e[n]=m({},r,{data:[]})),(s=e[n].data)==null||s.push(r.data)})),this.Nr=[],e}},Za=["retriesPerformedSoFar"],sr=class{constructor(e){this.Br=!1,this.zr=3e3,this.Nr=[],this._instance=e,this.Nr=[],this.Vr=!0,!E(p)&&"onLine"in p.navigator&&(this.Vr=p.navigator.onLine,this.Wr=()=>{this.Vr=!0,this.Zr()},this.Gr=()=>{this.Vr=!1},K(p,"online",this.Wr),K(p,"offline",this.Gr))}get length(){return this.Nr.length}retriableRequest(e){var{retriesPerformedSoFar:t}=e,s=Ln(e,Za);rt(t)&&(s.url=Mi(s.url,{retry_count:t})),this._instance._send_request(m({},s,{callback:r=>{r.statusCode===200||r.statusCode>=400&&500>r.statusCode||(t??0)>=10?s.callback==null||s.callback(r):this.Qr(m({retriesPerformedSoFar:t},s))}}))}Qr(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var s=(function(o){var a=3e3*Math.pow(2,o),l=a/2,c=Math.min(18e5,a),u=Math.random()-.5;return Math.ceil(c+u*(c-l))})(t),r=Date.now()+s;this.Nr.push({retryAt:r,requestOptions:e});var n="Enqueued failed request for retry in "+s;navigator.onLine||(n+=" (Browser is offline)"),w.warn(n),this.Br||(this.Br=!0,this.Jr())}Jr(){if(this.Kr&&clearTimeout(this.Kr),this.Nr.length===0)return this.Br=!1,void(this.Kr=void 0);this.Kr=setTimeout((()=>{this.Vr&&this.Nr.length>0&&this.Zr(),this.Jr()}),this.zr)}Zr(){var e=Date.now(),t=[],s=this.Nr.filter((n=>e>n.retryAt||(t.push(n),!1)));if(this.Nr=t,s.length>0)for(var{requestOptions:r}of s)this.retriableRequest(r)}unload(){for(var{requestOptions:e}of(this.Kr&&(clearTimeout(this.Kr),this.Kr=void 0),this.Br=!1,E(p)||(this.Wr&&(p.removeEventListener("online",this.Wr),this.Wr=void 0),this.Gr&&(p.removeEventListener("offline",this.Gr),this.Gr=void 0)),this.Nr))try{this._instance._send_request(m({},e,{transport:"sendBeacon"}))}catch(t){w.error(t)}this.Nr=[]}},rr=class{constructor(e){this.Yr=()=>{var t,s,r,n;this.Xr||(this.Xr={});var o=this.scrollElement(),a=this.scrollY(),l=o?Math.max(0,o.scrollHeight-o.clientHeight):0,c=a+(o?.clientHeight||0),u=o?.scrollHeight||0;this.Xr.lastScrollY=Math.ceil(a),this.Xr.maxScrollY=Math.max(a,(t=this.Xr.maxScrollY)!==null&&t!==void 0?t:0),this.Xr.maxScrollHeight=Math.max(l,(s=this.Xr.maxScrollHeight)!==null&&s!==void 0?s:0),this.Xr.lastContentY=c,this.Xr.maxContentY=Math.max(c,(r=this.Xr.maxContentY)!==null&&r!==void 0?r:0),this.Xr.maxContentHeight=Math.max(u,(n=this.Xr.maxContentHeight)!==null&&n!==void 0?n:0)},this._instance=e}get ei(){return this._instance.config.scroll_root_selector}getContext(){return this.Xr}resetContext(){var e=this.Xr;return setTimeout(this.Yr,0),e}startMeasuringScrollPosition(){K(p,"scroll",this.Yr,{capture:!0}),K(p,"scrollend",this.Yr,{capture:!0}),K(p,"resize",this.Yr)}scrollElement(){if(!this.ei)return p?.document.documentElement;var e=q(this.ei)?this.ei:[this.ei];for(var t of e){var s=p?.document.querySelector(t);if(s)return s}}scrollY(){if(this.ei){var e=this.scrollElement();return e&&e.scrollTop||0}return p&&(p.scrollY||p.pageYOffset||p.document.documentElement.scrollTop)||0}scrollX(){if(this.ei){var e=this.scrollElement();return e&&e.scrollLeft||0}return p&&(p.scrollX||p.pageXOffset||p.document.documentElement.scrollLeft)||0}},Qa=i=>So(i?.config.mask_personal_data_properties,i?.config.custom_personal_data_properties),Fi=class{constructor(e,t,s,r){this.ti=n=>{var o=this.ri();if(!o||o.sessionId!==n){var a={sessionId:n,props:this.ii(this._instance)};this.ni.register({[qs]:a})}},this._instance=e,this.si=t,this.ni=s,this.ii=r||Qa,this.si.onSessionId(this.ti)}ri(){return this.ni.props[qs]}getSetOnceProps(){var e,t=(e=this.ri())==null?void 0:e.props;return t?"r"in t?Po(t):{$referring_domain:t.referringDomain,$pathname:t.initialPathName,utm_source:t.utm_source,utm_campaign:t.utm_campaign,utm_medium:t.utm_medium,utm_content:t.utm_content,utm_term:t.utm_term}:{}}getSessionProps(){var e={};return H(Pr(this.getSetOnceProps()),((t,s)=>{s==="$current_url"&&(s="url"),e["$session_entry_"+ls(s)]=t})),e}},zt=class{constructor(){this.oi={}}on(e,t){return this.oi[e]||(this.oi[e]=[]),this.oi[e].push(t),()=>{this.oi[e]=this.oi[e].filter((s=>s!==t))}}emit(e,t){for(var s of this.oi[e]||[])s(t);for(var r of this.oi["*"]||[])r(e,t)}},Zi=z("[SessionId]"),Ri=class{on(e,t){return this.ai.on(e,t)}constructor(e,t,s){var r;if(this.ui=[],this.li=void 0,this.ai=new zt,this.hi=(c,u)=>!(!rt(c)||!rt(u))&&Math.abs(c-u)>this.sessionTimeoutMs,!e.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(e.config.cookieless_mode===Ce)throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.qt=e.config,this.ni=e.persistence,this.ci=void 0,this.di=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this.vi=t||je,this.fi=s||je;var n=this.qt.persistence_name||this.qt.token;if(this._sessionTimeoutMs=1e3*Fe(this.qt.session_idle_timeout_seconds||1800,60,36e3,Zi.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.pi(),this.gi="ph_"+n+"_window_id",this.mi="ph_"+n+"_primary_window_exists",this.yi()){var o=te.F(this.gi),a=te.F(this.mi);o&&!a?this.ci=o:te.q(this.gi),te.N(this.mi,!0)}if((r=this.qt.bootstrap)!=null&&r.sessionID)try{var l=(c=>{var u=this.qt.bootstrap.sessionID.replace(/-/g,"");if(u.length!==32)throw new Error("Not a valid UUID");if(u[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(u.substring(0,12),16)})();this.bi(this.qt.bootstrap.sessionID,new Date().getTime(),l)}catch(c){Zi.error("Invalid sessionID in bootstrap",c)}this.wi()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return E(this.ui)&&(this.ui=[]),this.ui.push(e),this.di&&e(this.di,this.ci),()=>{this.ui=this.ui.filter((t=>t!==e))}}yi(){return this.qt.persistence!=="memory"&&!this.ni._r&&te.R()}xi(e){e!==this.ci&&(this.ci=e,this.yi()&&te.N(this.gi,e))}Si(){return this.ci?this.ci:this.yi()?te.F(this.gi):null}bi(e,t,s){e===this.di&&t===this._sessionActivityTimestamp&&s===this._sessionStartTimestamp||(this._sessionStartTimestamp=s,this._sessionActivityTimestamp=t,this.di=e,this.ni.register({[di]:[t,e,s]}))}ki(){var e=this.ni.props[di];return q(e)&&e.length===2&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.bi(null,null,null)}destroy(){clearTimeout(this.Ci),this.Ci=void 0,this.li&&p&&(p.removeEventListener(fi,this.li,{capture:!1}),this.li=void 0),this.ui=[]}wi(){this.li=()=>{this.yi()&&te.q(this.mi)},K(p,fi,this.li,{capture:!1})}checkAndGetSessionAndWindowId(e,t){if(e===void 0&&(e=!1),t===void 0&&(t=null),this.qt.cookieless_mode===Ce)throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');var s=t||new Date().getTime(),[r,n,o]=this.ki(),a=this.Si(),l=rt(o)&&Math.abs(s-o)>864e5,c=!1,u=!n,h=!u&&!e&&this.hi(s,r);u||h||l?(n=this.vi(),a=this.fi(),Zi.info("new session ID generated",{sessionId:n,windowId:a,changeReason:{noSessionId:u,activityTimeout:h,sessionPastMaximumLength:l}}),o=s,c=!0):a||(a=this.fi(),c=!0);var d=rt(r)&&e&&!l?r:s,g=rt(o)?o:new Date().getTime();return this.xi(a),this.bi(n,d,g),e||this.pi(),c&&this.ui.forEach((v=>v(n,a,c?{noSessionId:u,activityTimeout:h,sessionPastMaximumLength:l}:void 0))),{sessionId:n,windowId:a,sessionStartTimestamp:g,changeReason:c?{noSessionId:u,activityTimeout:h,sessionPastMaximumLength:l}:void 0,lastActivityTimestamp:r}}pi(){clearTimeout(this.Ci),this.Ci=setTimeout((()=>{var[e]=this.ki();if(this.hi(new Date().getTime(),e)){var t=this.di;this.resetSessionId(),this.ai.emit("forcedIdleReset",{idleSessionId:t})}}),1.1*this.sessionTimeoutMs)}},Co=function(i,e){if(!i)return!1;var t=i.userAgent;if(t&&zr(t,e))return!0;try{var s=i?.userAgentData;if(s!=null&&s.brands&&s.brands.some((r=>zr(r?.brand,e))))return!0}catch{}return!!i.webdriver},$i=function(i,e){if(!(function(t){try{new RegExp(t)}catch{return!1}return!0})(e))return!1;try{return new RegExp(e).test(i)}catch{return!1}};function ln(i,e,t){return ct({distinct_id:i,userPropertiesToSet:e,userPropertiesToSetOnce:t})}var Mo={exact:(i,e)=>e.some((t=>i.some((s=>t===s)))),is_not:(i,e)=>e.every((t=>i.every((s=>t!==s)))),regex:(i,e)=>e.some((t=>i.some((s=>$i(t,s))))),not_regex:(i,e)=>e.every((t=>i.every((s=>!$i(t,s))))),icontains:(i,e)=>e.map(Qt).some((t=>i.map(Qt).some((s=>t.includes(s))))),not_icontains:(i,e)=>e.map(Qt).every((t=>i.map(Qt).every((s=>!t.includes(s))))),gt:(i,e)=>e.some((t=>{var s=parseFloat(t);return!isNaN(s)&&i.some((r=>s>parseFloat(r)))})),lt:(i,e)=>e.some((t=>{var s=parseFloat(t);return!isNaN(s)&&i.some((r=>s<parseFloat(r)))}))},Qt=i=>i.toLowerCase();function Ao(i,e){return!i||Object.entries(i).every((t=>{var[s,r]=t,n=e?.[s];if(E(n)||Ae(n))return!1;var o=[String(n)],a=Mo[r.operator];return!!a&&a(r.values,o)}))}var nr="custom",un="i.posthog.com",el=/^\/static\//,or=class{constructor(e){this.Ii={},this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\/$/,"");return e==="https://app.posthog.com"?"https://us.i.posthog.com":e}get flagsApiHost(){var e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e,t=(e=this.instance.config.ui_host)==null?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace("."+un,".posthog.com")),t==="https://app.posthog.com"?"https://us.posthog.com":t}get region(){return this.Ii[this.apiHost]||(this.Ii[this.apiHost]=/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"us":/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"eu":nr),this.Ii[this.apiHost]}Ti(e){var t=this.instance.config.__preview_external_dependency_versioned_paths;if(typeof t=="string"&&el.test(e))return t.trim().replace(/\/$/,"")||void 0}endpointFor(e,t){if(t===void 0&&(t=""),t&&(t=t[0]==="/"?t:"/"+t),e==="ui")return this.uiHost+t;if(e==="flags")return this.flagsApiHost+t;if(e==="assets"){var s=this.Ti(t);if(s)return""+s+t}if(this.region===nr)return this.apiHost+t;var r=un+t;switch(e){case"assets":return"https://"+this.region+"-assets."+r;case"api":return"https://"+this.region+"."+r}}},U=z("[Surveys]"),ar="seenSurvey_",tl=[Gi.Popover,Gi.Widget,Gi.API],il={ignoreConditions:!1,ignoreDelay:!1,displayType:Xs.Popover},sl=z("[PostHog ExternalIntegrations]"),rl={intercom:"intercom-integration",crispChat:"crisp-chat-integration"},lr=class{constructor(e){this._instance=e}lr(e,t){var s;(s=R.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this._instance,e,(r=>{if(r)return sl.error("failed to load script",r);t()}))}startIfEnabledOrStop(){var e=this,t=function(o){var a,l,c;!r||(a=R.__PosthogExtensions__)!=null&&(a=a.integrations)!=null&&a[o]||e.lr(rl[o],(()=>{var u;(u=R.__PosthogExtensions__)==null||(u=u.integrations)==null||(u=u[o])==null||u.start(e._instance)})),!r&&(l=R.__PosthogExtensions__)!=null&&(l=l.integrations)!=null&&l[o]&&((c=R.__PosthogExtensions__)==null||(c=c.integrations)==null||(c=c[o])==null||c.stop())};for(var[s,r]of Object.entries((n=this._instance.config.integrations)!==null&&n!==void 0?n:{})){var n;t(s)}}},it,Dt={},Qi=0,ur=()=>{},cn='Consent opt in/out is not valid with cookieless_mode="always" and will be ignored',xt="Surveys module not available",hn="sanitize_properties is deprecated. Use before_send instead",Lo="Invalid value for property_denylist config: ",at="posthog",Do=!Ka&&ue?.indexOf("MSIE")===-1&&ue?.indexOf("Mozilla")===-1,dn=i=>{var e;return m({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,token:"",autocapture:!0,cross_subdomain_cookie:Ia(b?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:ur,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:i??"unset",__preview_deferred_init_extensions:!1,__preview_external_dependency_versioned_paths:!1,debug:ee&&B(ee?.search)&&ee.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!1,disable_external_dependency_loading:!1,enable_recording_console_log:void 0,secure_cookie:(p==null||(e=p.location)==null?void 0:e.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_feature_flags_dedup_per_session:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,surveys_request_timeout_ms:1e4,on_request_error(t){w.error("Bad HTTP status: "+t.statusCode+" "+t.text)},get_device_id:t=>t,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:zs,before_send:void 0,request_queue_config:{flush_interval_ms:tr},error_tracking:{},_onCapture:ur,__preview_eager_load_replay:!1},(t=>({rageclick:!t||"2025-11-30">t||{content_ignorelist:!0},capture_pageview:!t||"2025-05-24">t||"history_change",session_recording:t&&t>="2025-11-30"?{strictMinimumDuration:!0}:{},external_scripts_inject_target:t&&t>="2026-01-30"?"head":"body",internal_or_test_user_hostname:t&&t>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0}))(i))},nl=[["process_person","person_profiles"],["xhr_headers","request_headers"],["cookie_name","persistence_name"],["disable_cookie","disable_persistence"],["store_google","save_campaign_params"],["verbose","debug"]],pn=i=>{var e={};for(var[t,s]of nl)E(i[t])||(e[s]=i[t]);var r=W({},e,i);return q(i.property_blacklist)&&(E(i.property_denylist)?r.property_denylist=i.property_blacklist:q(i.property_denylist)?r.property_denylist=[...i.property_blacklist,...i.property_denylist]:w.error(Lo+i.property_denylist)),r},cr=class{constructor(){this.__forceAllowLocalhost=!1}get Ei(){return this.__forceAllowLocalhost}set Ei(e){w.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},Ke=class i{Mi(e,t){if(e){var s=this.Pi.indexOf(e);s!==-1&&this.Pi.splice(s,1)}return this.Pi.push(t),t.initialize==null||t.initialize(),t}Ri(){return this.config.cookieless_mode===Ce||this.config.cookieless_mode===Ye&&this.consent.isRejected()}get decideEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}get flagsEndpointWasHit(){var e,t;return(e=(t=this.featureFlags)==null?void 0:t.hasLoadedFlags)!==null&&e!==void 0&&e}constructor(){var e;this.webPerformance=new cr,this.Oi=!1,this.version=ae.LIB_VERSION,this.Li=new zt,this.Pi=[],this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=dn(),this.SentryIntegration=Ys,this.sentryIntegration=s=>(function(r,n){var o=bo(r,n);return{name:yo,processEvent:a=>o(a)}})(this,s),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Fi=!1,this.Ai=null,this.Ni=null,this.$i=null,this.scrollManager=new rr(this),this.pageViewManager=new yi(this),this.rateLimiter=new Ks(this),this.requestRouter=new or(this),this.consent=new Gs(this),this.externalIntegrations=new lr(this);var t=(e=i.__defaultExtensionClasses)!==null&&e!==void 0?e:{};this.featureFlags=t.featureFlags&&new t.featureFlags(this),this.toolbar=t.toolbar&&new t.toolbar(this),this.surveys=t.surveys&&new t.surveys(this),this.conversations=t.conversations&&new t.conversations(this),this.logs=t.logs&&new t.logs(this),this.experiments=t.experiments&&new t.experiments(this),this.exceptions=t.exceptions&&new t.exceptions(this),this.people={set:(s,r,n)=>{var o=B(s)?{[s]:r}:s;this.setPersonProperties(o),n?.({})},set_once:(s,r,n)=>{var o=B(s)?{[s]:r}:s;this.setPersonProperties(void 0,o),n?.({})}},this.on("eventCaptured",(s=>w.info('send "'+s?.event+'"',s)))}init(e,t,s){if(s&&s!==at){var r,n=(r=Dt[s])!==null&&r!==void 0?r:new i;return n._init(e,t,s),Dt[s]=n,Dt[at][s]=n,n}return this._init(e,t,s)}_init(e,t,s){var r,n;if(t===void 0&&(t={}),E(e)||ti(e))return w.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;if(this.__loaded)return console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config={},t.debug=this.Di(t.debug),this.qi=t,this.ji=[],t.person_profiles?this.Ni=t.person_profiles:t.process_person&&(this.Ni=t.process_person),this.set_config(W({},dn(t.defaults),pn(t),{name:s,token:e})),this.config.on_xhr_error&&w.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:ke.GZipJS;var o=this.Hi();this.persistence=new At(this.config,o),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new At(m({},this.config,{persistence:"sessionStorage"}),o);var a=m({},this.persistence.props),l=m({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Ui=new ir(($=>this.Bi($)),this.config.request_queue_config),this.zi=new sr(this),this.__request_queue=[];var c=this.Ri();if(c||(this.sessionManager=new Ri(this),this.sessionPropsManager=new Fi(this,this.sessionManager,this.persistence)),this.config.__preview_deferred_init_extensions?(w.info("Deferring extension initialization to improve startup performance"),setTimeout((()=>{this.Vi(c)}),0)):(w.info("Initializing extensions synchronously"),this.Vi(c)),ae.DEBUG=ae.DEBUG||this.config.debug,ae.DEBUG&&w.info("Starting in debug mode",{this:this,config:t,thisC:m({},this.config),p:a,s:l}),!this.config.identity_distinct_id||(r=t.bootstrap)!=null&&r.distinctID||(t.bootstrap=m({},t.bootstrap,{distinctID:this.config.identity_distinct_id,isIdentifiedID:!0})),((n=t.bootstrap)==null?void 0:n.distinctID)!==void 0){var u=t.bootstrap.distinctID,h=this.get_distinct_id(),d=this.persistence.get_property(Ee);if(t.bootstrap.isIdentifiedID&&h!=null&&h!==u&&d===et)this.identify(u);else if(t.bootstrap.isIdentifiedID&&h!=null&&h!==u&&d===tt)w.warn("Bootstrap distinctID differs from an already-identified user. The existing identity is preserved. Call reset() before reinitializing if you intend to switch users.");else{var g=this.config.get_device_id(je()),v=t.bootstrap.isIdentifiedID?g:u;this.persistence.set_property(Ee,t.bootstrap.isIdentifiedID?tt:et),this.register({distinct_id:u,$device_id:v})}}if(c)this.register_once({distinct_id:Yt,$device_id:null},"");else if(!this.get_distinct_id()){var _=this.config.get_device_id(je());this.register_once({distinct_id:_,$device_id:_},""),this.persistence.set_property(Ee,et)}return K(p,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),t.segment?(function($,S){var O=$.config.segment;if(!O)return S();(function(F,T){var f=F.config.segment;if(!f)return T();var P=x=>{var y=()=>x.anonymousId()||je();F.config.get_device_id=y,x.id()&&(F.register({distinct_id:x.id(),$device_id:y()}),F.persistence.set_property(Ee,tt)),T()},k=f.user();"then"in k&&Oe(k.then)?k.then(P):P(k)})($,(()=>{O.register((F=>{Promise&&Promise.resolve||Wi.warn("This browser does not have Promise support, and can not use the segment integration");var T=(f,P)=>{if(!P)return f;f.event.userId||f.event.anonymousId===F.get_distinct_id()||(Wi.info("No userId set, resetting PostHog"),F.reset()),f.event.userId&&f.event.userId!==F.get_distinct_id()&&(Wi.info("UserId set, identifying with PostHog"),F.identify(f.event.userId));var k=F.calculateEventProperties(P,f.event.properties);return f.event.properties=Object.assign({},k,f.event.properties),f};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:f=>T(f,f.event.event),page:f=>T(f,ot),identify:f=>T(f,Vi),screen:f=>T(f,"$screen")}})($)).then((()=>{S()}))}))})(this,(()=>this.Wi())):this.Wi(),Oe(this.config._onCapture)&&this.config._onCapture!==ur&&(w.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",($=>this.config._onCapture($.event,$)))),this.config.ip&&w.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this}Vi(e){var t,s,r,n,o,a,l,c=performance.now(),u=m({},i.__defaultExtensionClasses,this.config.__extensionClasses),h=[];u.featureFlags&&this.Pi.push(this.featureFlags=(t=this.featureFlags)!==null&&t!==void 0?t:new u.featureFlags(this)),u.exceptions&&this.Pi.push(this.exceptions=(s=this.exceptions)!==null&&s!==void 0?s:new u.exceptions(this)),u.historyAutocapture&&this.Pi.push(this.historyAutocapture=new u.historyAutocapture(this)),u.tracingHeaders&&this.Pi.push(new u.tracingHeaders(this)),u.siteApps&&this.Pi.push(this.siteApps=new u.siteApps(this)),u.sessionRecording&&!e&&this.Pi.push(this.sessionRecording=new u.sessionRecording(this)),this.config.disable_scroll_properties||h.push((()=>{this.scrollManager.startMeasuringScrollPosition()})),u.autocapture&&this.Pi.push(this.autocapture=new u.autocapture(this)),u.surveys&&this.Pi.push(this.surveys=(r=this.surveys)!==null&&r!==void 0?r:new u.surveys(this)),u.logs&&this.Pi.push(this.logs=(n=this.logs)!==null&&n!==void 0?n:new u.logs(this)),u.conversations&&this.Pi.push(this.conversations=(o=this.conversations)!==null&&o!==void 0?o:new u.conversations(this)),u.productTours&&this.Pi.push(this.productTours=new u.productTours(this)),u.heatmaps&&this.Pi.push(this.heatmaps=new u.heatmaps(this)),u.webVitalsAutocapture&&this.Pi.push(this.webVitalsAutocapture=new u.webVitalsAutocapture(this)),u.exceptionObserver&&this.Pi.push(this.exceptionObserver=new u.exceptionObserver(this)),u.deadClicksAutocapture&&this.Pi.push(this.deadClicksAutocapture=new u.deadClicksAutocapture(this,Da)),u.toolbar&&this.Pi.push(this.toolbar=(a=this.toolbar)!==null&&a!==void 0?a:new u.toolbar(this)),u.experiments&&this.Pi.push(this.experiments=(l=this.experiments)!==null&&l!==void 0?l:new u.experiments(this)),this.Pi.forEach((d=>{d.initialize&&h.push((()=>{d.initialize==null||d.initialize()}))})),h.push((()=>{if(this.Zi){var d=this.Zi;this.Zi=void 0,this.Rr(d)}})),this.Gi(h,c)}Gi(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout((()=>{this.Gi(e,t)}),0);var s=e.shift();if(s)try{s()}catch(n){w.error("Error initializing extension:",n)}}var r=Math.round(performance.now()-t);this.register_for_session({[go]:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",[vo]:r}),this.config.__preview_deferred_init_extensions&&w.info("PostHog extensions initialized ("+r+"ms)")}Rr(e){var t;if(!b||!b.body)return w.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout((()=>{this.Rr(e)}),500);this.config.__preview_deferred_init_extensions&&(this.Zi=e),this.Qi=e,this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=D(e.supportedCompression,ke.GZipJS)?ke.GZipJS:D(e.supportedCompression,ke.Base64)?ke.Base64:void 0),(t=e.analytics)!=null&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this.Ni?this.Ni:zs}),this.Pi.forEach((s=>s.onRemoteConfig==null?void 0:s.onRemoteConfig(e)))}Wi(){try{this.config.loaded(this)}catch(s){w.critical("`loaded` function failed",s)}if(this.Ji(),this.config.internal_or_test_user_hostname&&ee!=null&&ee.hostname){var e=ee.hostname,t=this.config.internal_or_test_user_hostname;(typeof t=="string"?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout((()=>{(this.consent.isOptedIn()||this.Ri())&&this.Ki()}),1),this.Yi=new ki(this),this.Yi.load()}Ji(){var e;this.is_capturing()&&this.config.request_batching&&((e=this.Ui)==null||e.enable())}_dom_loaded(){this.is_capturing()&&Xt(this.__request_queue,(e=>this.Bi(e))),this.__request_queue=[],this.Ji()}_handle_unload(){var e,t,s,r;(e=this.surveys)==null||e.handlePageUnload(),this.config.request_batching?(this.Xi()&&this.capture(zi),(t=this.logs)==null||t.flushLogs("sendBeacon"),(s=this.Ui)==null||s.unload(),(r=this.zi)==null||r.unload()):this.Xi()&&this.capture(zi,null,{transport:"sendBeacon"})}_send_request(e){this.__loaded&&(Do?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=Mi(e.url,{ip:this.config.ip?1:0}),e.headers=m({},this.config.request_headers,e.headers),e.compression=e.compression==="best-available"?this.compression:e.compression,e.disableXHRCredentials=this.config.__preview_disable_xhr_credentials,this.config.__preview_disable_beacon&&(e.disableTransport=["sendBeacon"]),e.fetchOptions=e.fetchOptions||this.config.fetch_options,(t=>{var s,r,n,o=m({},t);o.timeout=o.timeout||6e4,o.url=an(o.url,o.compression);var a=(s=o.transport)!==null&&s!==void 0?s:"fetch",l=ni.filter((u=>!o.disableTransport||!u.transport||!o.disableTransport.includes(u.transport))),c=(r=(n=(function(u,h){for(var d=0;u.length>d;d++)if(u[d].transport===a)return u[d]})(l))==null?void 0:n.method)!==null&&r!==void 0?r:l[0].method;if(!c)throw new Error("No available transport method");a!=="sendBeacon"&&o.data&&o.compression===ke.GZipJS&&Zo&&!on?Ja(o).then((u=>{c(u)})).catch((u=>{if((h=>!(!h||typeof h!="object")&&("name"in h?String(h.name):"")==="NotReadableError")(u))return on=!0,void c(m({},o,{compression:void 0,url:an(t.url,void 0)}));c(o)})):c(o)})(m({},e,{callback:t=>{var s,r;this.rateLimiter.checkForLimiting(t),400>t.statusCode||(s=(r=this.config).on_request_error)==null||s.call(r,t),e.callback==null||e.callback(t)}}))))}Bi(e){this.zi?this.zi.retriableRequest(e):this._send_request(e)}_execute_array(e){Qi++;try{var t,s=[],r=[],n=[];Xt(e,(a=>{a&&(q(t=a[0])?n.push(a):Oe(a)?a.call(this):q(a)&&t==="alias"?s.push(a):q(a)&&t.indexOf("capture")!==-1&&Oe(this[t])?n.push(a):r.push(a))}));var o=function(a,l){Xt(a,(function(c){if(q(c[0])){var u=l;H(c,(function(h){u=u[h[0]].apply(u,h.slice(1))}))}else l[c[0]].apply(l,c.slice(1))}))};o(s,this),o(r,this),o(n,this)}finally{Qi--}}push(e){if(Qi>0&&q(e)&&B(e[0])){var t=i.prototype[e[0]];Oe(t)&&t.apply(this,e.slice(1))}else this._execute_array([e])}capture(e,t,s){var r,n,o,a,l;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Ui){if(this.is_capturing())if(!E(e)&&B(e)){var c=!this.config.opt_out_useragent_filter&&this._is_bot();if(!c||this.config.__preview_capture_bot_pageviews){var u=s!=null&&s.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(u==null||!u.isRateLimited){t!=null&&t.$current_url&&!B(t?.$current_url)&&(w.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),t==null||delete t.$current_url),e!=="$exception"||s!=null&&s.en||w.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();var h=new Date,d=s?.timestamp||h,g=je(),v={uuid:g,event:e,properties:this.calculateEventProperties(e,t||{},d,g)};e===ot&&this.config.__preview_capture_bot_pageviews&&c&&(v.event="$bot_pageview",v.properties.$browser_type="bot"),u&&(v.properties.$lib_rate_limit_remaining_tokens=u.remainingTokens),s?.$set&&(v.$set=s?.$set);var _,$,S,O=this.tn(s?.$set_once,e!==Kr,e===Vi);if(O&&(v.$set_once=O),s!=null&&s._noTruncate||(n=this.config.properties_string_max_length,o=v,a=y=>B(y)?y.slice(0,n):y,l=new Set,v=(function y(I,C){return I!==Object(I)?a?a(I):I:l.has(I)?void 0:(l.add(I),q(I)?(L=[],Xt(I,(M=>{L.push(y(M))}))):(L={},H(I,((M,A)=>{l.has(M)||(L[A]=y(M,A))}))),L);var L})(o)),v.timestamp=d,E(s?.timestamp)||(v.properties.$event_time_override_provided=!0,v.properties.$event_time_override_system_time=h),e===Ot.DISMISSED||e===Ot.SENT){var F=t?.[Yi.SURVEY_ID],T=t?.[Yi.SURVEY_ITERATION];(y=>{try{var I=(C=>((L,M)=>{var A=""+ar+M.id;return M.current_iteration&&M.current_iteration>0&&(A=""+ar+M.id+"_"+M.current_iteration),A})(0,C))(y);if(localStorage.getItem(I))return;localStorage.setItem(I,"true")}catch(C){U.error("Failed to persist survey seen state",C)}})({id:F,current_iteration:T}),v.$set=m({},v.$set,{[(_={id:F,current_iteration:T},$=e===Ot.SENT?"responded":"dismissed",S="$survey_"+$+"/"+_.id,_.current_iteration&&_.current_iteration>0&&(S="$survey_"+$+"/"+_.id+"/"+_.current_iteration),S)]:!0})}else e===Ot.SHOWN&&(v.$set=m({},v.$set,{[Yi.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));if(e===Va.SHOWN){var f=t?.[en.TOUR_TYPE];f&&(v.$set=m({},v.$set,{[en.TOUR_LAST_SEEN_DATE+"/"+f]:new Date().toISOString()}))}var P=m({},v.properties.$set,v.$set);if(lt(P)||this.setPersonPropertiesForFlags(P),!N(this.config.before_send)){var k=this.rn(v);if(!k)return;v=k}this.Li.emit("eventCaptured",v);var x={method:"POST",url:(r=s?._url)!==null&&r!==void 0?r:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),data:v,compression:"best-available",batchKey:s?._batchKey};return!this.config.request_batching||s&&(s==null||!s._batchKey)||s!=null&&s.send_instantly?this.Bi(x):this.Ui.enqueue(x),v}w.critical("This capture call is ignored due to client rate limiting.")}}else w.error("No event name provided to posthog.capture")}else w.uninitializedWarning("posthog.capture")}_addCaptureHook(e){return this.on("eventCaptured",(t=>e(t.event,t)))}calculateEventProperties(e,t,s,r,n){if(s=s||new Date,!this.persistence||!this.sessionPersistence)return t;var o=n?void 0:this.persistence.remove_event_timer(e),a=m({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,this.Ri()&&(a.$cookieless_mode=!0),e==="$snapshot"){var l=m({},this.persistence.properties(),this.sessionPersistence.properties());return a.distinct_id=l.distinct_id,(!B(a.distinct_id)&&!me(a.distinct_id)||ti(a.distinct_id))&&w.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}var c,u=(function(S,O){var F,T,f,P;if(!ue)return{};var k,x,y,I,C,L,M,A,J=S?[..._t,...O||[]]:[],[Q,ce]=(function(re){for(var G=0;Wr.length>G;G++){var[ge,ie]=Wr[G],Re=ge.exec(re),he=Re&&(Oe(ie)?ie(Re,re):ie);if(he)return he}return["",""]})(ue);return W(Pr({$os:Q,$os_version:ce,$browser:to(ue,navigator.vendor),$device:Gr(ue),$device_type:(x=ue,y={userAgentDataPlatform:(F=navigator)==null||(F=F.userAgentData)==null?void 0:F.platform,maxTouchPoints:(T=navigator)==null?void 0:T.maxTouchPoints,screenWidth:p==null||(f=p.screen)==null?void 0:f.width,screenHeight:p==null||(P=p.screen)==null?void 0:P.height,devicePixelRatio:p?.devicePixelRatio},A=Gr(x),A===jn||A===Un||A==="Kobo"||A==="Kindle Fire"||A===eo?pt:A===qt||A===dt||A===Ut||A===hs?"Console":A===zn?"Wearable":A?pe:y?.userAgentDataPlatform==="Android"&&((I=y?.maxTouchPoints)!==null&&I!==void 0?I:0)>0?600>Math.min((C=y?.screenWidth)!==null&&C!==void 0?C:0,(L=y?.screenHeight)!==null&&L!==void 0?L:0)/((M=y?.devicePixelRatio)!==null&&M!==void 0?M:1)?pe:pt:"Desktop"),$timezone:Fo(),$timezone_offset:Ha()}),{$current_url:jt(ee?.href,J,Ht),$host:ee?.host,$pathname:ee?.pathname,$raw_user_agent:ue.length>1e3?ue.substring(0,997)+"...":ue,$browser_version:pa(ue,navigator.vendor),$browser_language:Qr(),$browser_language_prefix:(k=Qr(),typeof k=="string"?k.split("-")[0]:void 0),$screen_height:p?.screen.height,$screen_width:p?.screen.width,$viewport_height:p?.innerHeight,$viewport_width:p?.innerWidth,$lib:ae.LIB_NAME,$lib_version:ae.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})})(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties);if(this.sessionManager){var{sessionId:h,windowId:d}=this.sessionManager.checkAndGetSessionAndWindowId(n,s.getTime());a.$session_id=h,a.$window_id=d}this.sessionPropsManager&&W(a,this.sessionPropsManager.getSessionProps());try{var g;this.sessionRecording&&W(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=(g=this.zi)==null?void 0:g.length}catch(S){a.$sdk_debug_error_capturing_properties=String(S)}if(this.requestRouter.region===nr&&(a.$lib_custom_api_host=this.config.api_host),c=e!==ot||n?e!==zi||n?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(s):this.pageViewManager.doPageView(s,r),a=W(a,c),e===ot&&b&&(a.title=b.title),!E(o)){var v=s.getTime()-o;a.$duration=parseFloat((v/1e3).toFixed(3))}ue&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser"),(a=W({},u,this.persistence.properties(),this.sessionPersistence.properties(),a)).$is_identified=this._isIdentified(),q(this.config.property_denylist)?H(this.config.property_denylist,(function(S){delete a[S]})):w.error(Lo+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);var _=this.config.sanitize_properties;_&&(w.error(hn),a=_(a,e));var $=this.nn();return a.$process_person_profile=$,$&&!n&&this.sn("_calculate_event_properties"),a}tn(e,t,s){var r;if(t===void 0&&(t=!0),s===void 0&&(s=!1),!this.persistence||!this.nn()||this.Oi&&!s)return e;var n=this.persistence.get_initial_props(),o=(r=this.sessionPropsManager)==null?void 0:r.getSetOnceProps(),a=W({},n,o||{},e||{}),l=this.config.sanitize_properties;return l&&(w.error(hn),a=l(a,"$set_once")),t&&(this.Oi=!0),lt(a)?void 0:a}register(e,t){var s;(s=this.persistence)==null||s.register(e,t)}register_once(e,t,s){var r;(r=this.persistence)==null||r.register_once(e,t,s)}register_for_session(e){var t;(t=this.sessionPersistence)==null||t.register(e)}unregister(e){var t;(t=this.persistence)==null||t.unregister(e)}unregister_for_session(e){var t;(t=this.sessionPersistence)==null||t.unregister(e)}an(e,t){this.register({[e]:t})}getFeatureFlag(e,t){var s;return(s=this.featureFlags)==null?void 0:s.getFeatureFlag(e,t)}getFeatureFlagPayload(e){var t;return(t=this.featureFlags)==null?void 0:t.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){var s;return(s=this.featureFlags)==null?void 0:s.getFeatureFlagResult(e,t)}isFeatureEnabled(e,t){var s;return(s=this.featureFlags)==null?void 0:s.isFeatureEnabled(e,t)}reloadFeatureFlags(){var e;(e=this.featureFlags)==null||e.reloadFeatureFlags()}updateFlags(e,t,s){var r;(r=this.featureFlags)==null||r.updateFlags(e,t,s)}updateEarlyAccessFeatureEnrollment(e,t,s){var r;(r=this.featureFlags)==null||r.updateEarlyAccessFeatureEnrollment(e,t,s)}getEarlyAccessFeatures(e,t,s){var r;return t===void 0&&(t=!1),(r=this.featureFlags)==null?void 0:r.getEarlyAccessFeatures(e,t,s)}on(e,t){return this.Li.on(e,t)}onFeatureFlags(e){return this.featureFlags?this.featureFlags.onFeatureFlags(e):(e([],{},{errorsLoading:!0}),()=>{})}onSurveysLoaded(e){return this.surveys?this.surveys.onSurveysLoaded(e):(e([],{isLoaded:!1,error:xt}),()=>{})}onSessionId(e){var t,s;return(t=(s=this.sessionManager)==null?void 0:s.onSessionId(e))!==null&&t!==void 0?t:()=>{}}getSurveys(e,t){t===void 0&&(t=!1),this.surveys?this.surveys.getSurveys(e,t):e([],{isLoaded:!1,error:xt})}getActiveMatchingSurveys(e,t){t===void 0&&(t=!1),this.surveys?this.surveys.getActiveMatchingSurveys(e,t):e([],{isLoaded:!1,error:xt})}renderSurvey(e,t){var s;(s=this.surveys)==null||s.renderSurvey(e,t)}displaySurvey(e,t){var s;t===void 0&&(t=il),(s=this.surveys)==null||s.displaySurvey(e,t)}cancelPendingSurvey(e){var t;(t=this.surveys)==null||t.cancelPendingSurvey(e)}canRenderSurvey(e){var t,s;return(t=(s=this.surveys)==null?void 0:s.canRenderSurvey(e))!==null&&t!==void 0?t:{visible:!1,disabledReason:xt}}canRenderSurveyAsync(e,t){var s,r;return t===void 0&&(t=!1),(s=(r=this.surveys)==null?void 0:r.canRenderSurveyAsync(e,t))!==null&&s!==void 0?s:Promise.resolve({visible:!1,disabledReason:xt})}un(e){return!e||ti(e)?(w.critical("Unique user id has not been set in posthog.identify"),!1):e===Yt?(w.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.'),!1):!["distinct_id","distinctid"].includes(e.toLowerCase())&&!["undefined","null"].includes(e.toLowerCase())||(w.critical('The string "'+e+'" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.'),!1)}identify(e,t,s){if(!this.__loaded||!this.persistence)return w.uninitializedWarning("posthog.identify");if(me(e)&&(e=e.toString(),w.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),this.un(e)&&this.sn("posthog.identify")){var r=this.get_distinct_id();this.register({$user_id:e}),this.get_property(hi)||this.register_once({$had_persisted_distinct_id:!0,$device_id:r},""),e!==r&&e!==this.get_property(Ft)&&(this.unregister(Ft),this.register({distinct_id:e}));var n,o=(this.persistence.get_property(Ee)||et)===et;e!==r&&o?(this.persistence.set_property(Ee,tt),this.setPersonPropertiesForFlags({$set:t||{},$set_once:s||{}},!1),this.capture(Vi,{distinct_id:e,$anon_distinct_id:r},{$set:t||{},$set_once:s||{}}),this.$i=ln(e,t,s),(n=this.featureFlags)==null||n.setAnonymousDistinctId(r)):(t||s)&&this.setPersonProperties(t,s),e!==r&&(this.reloadFeatureFlags(),this.unregister(Mt))}}setPersonProperties(e,t){if((e||t)&&this.sn("posthog.setPersonProperties")){var s=ln(this.get_distinct_id(),e,t);this.$i!==s?(this.setPersonPropertiesForFlags({$set:e||{},$set_once:t||{}},!0),this.capture("$set",{$set:e||{},$set_once:t||{}}),this.$i=s):w.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}}group(e,t,s){if(e&&t){var r=this.getGroups(),n=r[e]!==t;if(n&&this.resetGroupPropertiesForFlags(e),this.register({$groups:m({},r,{[e]:t})}),n||s){var o={$group_type:e,$group_key:t};s&&(o.$group_set=s),this.capture(Kr,o)}s&&this.setGroupPropertiesForFlags({[e]:s}),n&&!s&&this.reloadFeatureFlags()}else w.error("posthog.group requires a group type and group key")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t){var s;t===void 0&&(t=!0),(s=this.featureFlags)==null||s.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){var e;(e=this.featureFlags)==null||e.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e,t){var s;t===void 0&&(t=!0),this.sn("posthog.setGroupPropertiesForFlags")&&((s=this.featureFlags)==null||s.setGroupPropertiesForFlags(e,t))}resetGroupPropertiesForFlags(e){var t;(t=this.featureFlags)==null||t.resetGroupPropertiesForFlags(e)}reset(e){var t,s,r,n,o,a,l,c;if(w.info("reset"),!this.__loaded)return w.uninitializedWarning("posthog.reset");var u=this.get_property(hi);if(this.consent.reset(),(t=this.persistence)==null||t.clear(),(s=this.sessionPersistence)==null||s.clear(),(r=this.surveys)==null||r.reset(),(n=this.Yi)==null||n.stop(),(o=this.featureFlags)==null||o.reset(),(a=this.conversations)==null||a.reset(),(l=this.persistence)==null||l.set_property(Ee,et),(c=this.sessionManager)==null||c.resetSessionId(),this.$i=null,this.config.cookieless_mode===Ce)this.register_once({distinct_id:Yt,$device_id:null},"");else{var h=this.config.get_device_id(je());this.register_once({distinct_id:h,$device_id:e?h:u},"")}this.register({$last_posthog_reset:new Date().toISOString()},1),delete this.config.identity_distinct_id,delete this.config.identity_hash,this.reloadFeatureFlags()}setIdentity(e,t){var s;this.config.identity_distinct_id=e,this.config.identity_hash=t,this.alias(e),(s=this.conversations)==null||s.ln()}clearIdentity(){var e;delete this.config.identity_distinct_id,delete this.config.identity_hash,(e=this.conversations)==null||e.hn()}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return(e=(t=this.sessionManager)==null?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&e!==void 0?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";var{sessionId:t,sessionStartTimestamp:s}=this.sessionManager.checkAndGetSessionAndWindowId(!0),r=this.requestRouter.endpointFor("ui","/project/"+this.config.token+"/replay/"+t);if(e!=null&&e.withTimestamp&&s){var n,o=(n=e.timestampLookBack)!==null&&n!==void 0?n:10;if(!s)return r;r+="?t="+Math.max(Math.floor((new Date().getTime()-s)/1e3)-o,0)}return r}alias(e,t){return e===this.get_property(ao)?(w.critical("Attempting to create alias for existing People user - aborting."),-2):this.sn("posthog.alias")?(E(t)&&(t=this.get_distinct_id()),e!==t?(this.an(Ft,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(w.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){var t=m({},this.config);if(Y(e)){var s,r,n,o,a,l,c,u,h,d;W(this.config,pn(e));var g=this.Hi();(s=this.persistence)==null||s.update_config(this.config,t,g),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new At(m({},this.config,{persistence:"sessionStorage"}),g);var v=this.Di(this.config.debug);Pe(v)&&(this.config.debug=v),Pe(this.config.debug)&&(this.config.debug?(ae.DEBUG=!0,V.R()&&V.N("ph_debug",!0),w.info("set_config",{config:e,oldConfig:t,newConfig:m({},this.config)})):(ae.DEBUG=!1,V.R()&&V.q("ph_debug"))),(r=this.exceptionObserver)==null||r.onConfigChange(),(n=this.exceptions)==null||n.onConfigChange(),(o=this.sessionRecording)==null||o.startIfEnabledOrStop(),(a=this.autocapture)==null||a.startIfEnabled(),(l=this.heatmaps)==null||l.startIfEnabled(),(c=this.exceptionObserver)==null||c.startIfEnabledOrStop(),(u=this.deadClicksAutocapture)==null||u.startIfEnabledOrStop(),(h=this.surveys)==null||h.loadIfEnabled(),this.cn(),(d=this.externalIntegrations)==null||d.startIfEnabledOrStop()}}_overrideSDKInfo(e,t){ae.LIB_NAME=e,ae.LIB_VERSION=t}startSessionRecording(e){var t,s,r,n,o,a=e===!0,l={sampling:a||!(e==null||!e.sampling),linked_flag:a||!(e==null||!e.linked_flag),url_trigger:a||!(e==null||!e.url_trigger),event_trigger:a||!(e==null||!e.event_trigger)};Object.values(l).some(Boolean)&&((t=this.sessionManager)==null||t.checkAndGetSessionAndWindowId(),l.sampling&&((s=this.sessionRecording)==null||s.overrideSampling()),l.linked_flag&&((r=this.sessionRecording)==null||r.overrideLinkedFlag()),l.url_trigger&&((n=this.sessionRecording)==null||n.overrideTrigger("url")),l.event_trigger&&((o=this.sessionRecording)==null||o.overrideTrigger("event"))),this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!((e=this.sessionRecording)==null||!e.started)}captureException(e,t){if(this.exceptions){var s=new Error("PostHog syntheticException"),r=this.exceptions.buildProperties(e,{handled:!0,syntheticException:s});return this.exceptions.sendExceptionEvent(m({},r,t))}}addExceptionStep(e,t){var s;(s=this.exceptions)==null||s.addExceptionStep(e,t)}captureLog(e){var t;(t=this.logs)==null||t.captureLog(e)}get logger(){var e,t;return(e=(t=this.logs)==null?void 0:t.logger)!==null&&e!==void 0?e:i.dn}startExceptionAutocapture(e){this.set_config({capture_exceptions:e==null||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){var t,s;return(t=(s=this.toolbar)==null?void 0:s.loadToolbar(e))!==null&&t!==void 0&&t}get_property(e){var t;return(t=this.persistence)==null?void 0:t.props[e]}getSessionProperty(e){var t;return(t=this.sessionPersistence)==null?void 0:t.props[e]}toString(){var e,t=(e=this.config.name)!==null&&e!==void 0?e:at;return t!==at&&(t=at+"."+t),t}_isIdentified(){var e,t;return((e=this.persistence)==null?void 0:e.get_property(Ee))===tt||((t=this.sessionPersistence)==null?void 0:t.get_property(Ee))===tt}nn(){var e,t;return!(this.config.person_profiles==="never"||this.config.person_profiles===zs&&!this._isIdentified()&&lt(this.getGroups())&&((e=this.persistence)==null||(e=e.props)==null||!e[Ft])&&((t=this.persistence)==null||(t=t.props)==null||!t[vi]))}Xi(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&(this.config.capture_pageview===!0||this.config.capture_pageview==="history_change")}createPersonProfile(){this.nn()||this.sn("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.sn("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}sn(e){return this.config.person_profiles==="never"?(w.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.an(vi,!0),!0)}Hi(){if(this.config.cookieless_mode==="always")return!0;var e=this.consent.isOptedOut();return this.config.disable_persistence||e&&!(!this.config.opt_out_persistence_by_default&&this.config.cookieless_mode!==Ye)}cn(){var e,t,s,r,n=this.Hi();return((e=this.persistence)==null?void 0:e._r)!==n&&((s=this.persistence)==null||s.set_disabled(n)),((t=this.sessionPersistence)==null?void 0:t._r)!==n&&((r=this.sessionPersistence)==null||r.set_disabled(n)),n}opt_in_capturing(e){var t;if(this.config.cookieless_mode!==Ce){if(this.Ri()){var s,r,n,o,a;this.reset(!0),(s=this.sessionManager)==null||s.destroy(),(r=this.pageViewManager)==null||r.destroy(),this.sessionManager=new Ri(this),this.pageViewManager=new yi(this),this.persistence&&(this.sessionPropsManager=new Fi(this,this.sessionManager,this.persistence));var l,c=(n=(o=this.config.__extensionClasses)==null?void 0:o.sessionRecording)!==null&&n!==void 0?n:(a=i.__defaultExtensionClasses)==null?void 0:a.sessionRecording;c&&(this.sessionRecording=this.Mi(this.sessionRecording,new c(this)),this.Qi&&((l=this.sessionRecording)==null||l.onRemoteConfig==null||l.onRemoteConfig(this.Qi)))}var u,h;this.consent.optInOut(!0),this.cn(),this.Ji(),(t=this.sessionRecording)==null||t.startIfEnabledOrStop(),this.config.cookieless_mode==Ye&&((u=this.surveys)==null||u.loadIfEnabled()),(E(e?.captureEventName)||e!=null&&e.captureEventName)&&this.capture((h=e?.captureEventName)!==null&&h!==void 0?h:"$opt_in",e?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.Ki()}else w.warn(cn)}opt_out_capturing(){var e,t,s;this.config.cookieless_mode!==Ce?(this.config.cookieless_mode===Ye&&this.consent.isOptedIn()&&this.reset(!0),this.consent.optInOut(!1),this.cn(),this.config.cookieless_mode===Ye&&(this.register({distinct_id:Yt,$device_id:null}),(e=this.sessionManager)==null||e.destroy(),(t=this.pageViewManager)==null||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,(s=this.sessionRecording)==null||s.stopRecording(),this.sessionRecording=void 0,this.Ki())):w.warn(cn)}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){var e=this.consent.consent;return e===1?"granted":e===0?"denied":"pending"}is_capturing(){return this.config.cookieless_mode===Ce||(this.config.cookieless_mode===Ye?this.consent.isRejected()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this.cn()}_is_bot(){return de?Co(de,this.config.custom_blocked_useragents):void 0}Ki(){b&&(b.visibilityState==="visible"?this.Fi||(this.Fi=!0,this.capture(ot,{title:b.title},{send_instantly:!0}),this.Ai&&(b.removeEventListener(_i,this.Ai),this.Ai=null)):this.Ai||(this.Ai=this.Ki.bind(this),K(b,_i,this.Ai)))}debug(e){e===!1?(p?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(p?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}Lr(){var e,t,s,r,n,o,a=this.qi||{};return"advanced_disable_flags"in a?!!a.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(w.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(s="advanced_disable_decide",r=w,n=(t="advanced_disable_flags")in(e=a)&&!N(e[t]),o=s in e&&!N(e[s]),n?e[t]:!!o&&(r&&r.warn("Config field '"+s+"' is deprecated. Please use '"+t+"' instead. The old field will be removed in a future major version."),e[s]))}rn(e){if(N(this.config.before_send))return e;var t=q(this.config.before_send)?this.config.before_send:[this.config.before_send],s=e;for(var r of t){if(s=r(s),N(s)){var n="Event '"+e.event+"' was rejected in beforeSend function";return ia(e.event)?w.warn(n+". This can cause unexpected behavior."):w.info(n),null}s.properties&&!lt(s.properties)||w.warn("Event '"+e.event+"' has no properties after beforeSend function, this is likely an error.")}return s}getPageViewId(){var e;return(e=this.pageViewManager.dr)==null?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,s){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(s)})}Di(e){var t=Pe(e)&&!e,s=V.R()&&V.A("ph_debug")==="true";return!t&&(!!s||e)}};Ke.__defaultExtensionClasses={},Ke.dn={trace:it=()=>{},debug:it,info:it,warn:it,error:it,fatal:it},(function(i,e){for(var t=0;e.length>t;t++)i.prototype[e[t]]=$a(i.prototype[e[t]])})(Ke,["identify"]);var ol=1,al=3,ll=11;function gn(i){return i instanceof Element&&(i.id===po||!(i.closest==null||!i.closest(".toolbar-global-fade-container")))}function Ze(i){return!!i&&i.nodeType===ol}function xe(i,e){return!!i&&!!i.tagName&&i.tagName.toLowerCase()===e.toLowerCase()}function No(i){return!!i&&i.nodeType===al}function qo(i){return!!i&&i.nodeType===ll&&Ze(i.host)}function $r(i){return i?Oi(i).split(/\s+/):[]}function vn(i){var e=p?.location.href;return!!(e&&i&&i.some((t=>e.match(t))))}function Ti(i){var e="";switch(typeof i.className){case"string":e=i.className;break;case"object":e=(i.className&&"baseVal"in i.className?i.className.baseVal:null)||i.getAttribute("class")||"";break;default:e=""}return $r(e)}function Uo(i){return N(i)?null:Oi(i).split(/(\s+)/).filter((e=>Nt(e))).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function Vt(i){var e="";return dr(i)&&!Ho(i)&&i.childNodes&&i.childNodes.length&&H(i.childNodes,(function(t){var s;No(t)&&t.textContent&&(e+=(s=Uo(t.textContent))!==null&&s!==void 0?s:"")})),Oi(e)}function _n(i){return E(i.target)?i.srcElement||null:(e=i.target)!=null&&e.shadowRoot?i.composedPath()[0]||null:i.target||null;var e}var Tr=["a","button","form","input","select","textarea","label"];function fn(i,e){if(E(e))return!0;var t,s=function(n){if(e.some((o=>n.matches(o))))return{v:!0}};for(var r of i)if(t=s(r))return t.v;return!1}function jo(i){var e=i.parentNode;return!(!e||!Ze(e))&&e}var ul=["next","previous","prev",">","<"],mn=[".ph-no-rageclick",".ph-no-capture"],hr=i=>!i||xe(i,"html")||!Ze(i),yn=(i,e)=>{if(!p||hr(i))return{parentIsUsefulElement:!1,targetElementList:[]};for(var t=!1,s=[i],r=i;r.parentNode&&!xe(r,"body");)if(qo(r.parentNode))s.push(r.parentNode.host),r=r.parentNode.host;else{var n=jo(r);if(!n)break;if(e||Tr.indexOf(n.tagName.toLowerCase())>-1)t=!0;else{var o=p.getComputedStyle(n);o&&o.getPropertyValue("cursor")==="pointer"&&(t=!0)}s.push(n),r=n}return{parentIsUsefulElement:t,targetElementList:s}};function dr(i){for(var e=i;e.parentNode&&!xe(e,"body");e=e.parentNode){var t=Ti(e);if(D(t,"ph-sensitive")||D(t,"ph-no-capture"))return!1}if(D(Ti(i),"ph-include"))return!0;var s=i.type||"";if(B(s))switch(s.toLowerCase()){case"hidden":case"password":return!1}var r=i.name||i.id||"";return!B(r)||!/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(r.replace(/[^a-zA-Z0-9]/g,""))}function Ho(i){return!!(xe(i,"input")&&!["button","checkbox","submit","reset"].includes(i.type)||xe(i,"select")||xe(i,"textarea")||i.getAttribute("contenteditable")==="true")}var zo="(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})",cl=new RegExp("^(?:"+zo+")$"),hl=new RegExp(zo),Vo="\\d{3}-?\\d{2}-?\\d{4}",dl=new RegExp("^("+Vo+")$"),pl=new RegExp("("+Vo+")");function Nt(i,e){return e===void 0&&(e=!0),!(N(i)||B(i)&&(i=Oi(i),(e?cl:hl).test((i||"").replace(/[- ]/g,""))||(e?dl:pl).test(i)))}function bn(i){var e=Vt(i);return Nt(e=(e+" "+Bo(i)).trim())?e:""}function Bo(i){var e="";return i&&i.childNodes&&i.childNodes.length&&H(i.childNodes,(function(t){var s;if(t&&((s=t.tagName)==null?void 0:s.toLowerCase())==="span")try{var r=Vt(t);e=(e+" "+r).trim(),t.childNodes&&t.childNodes.length&&(e=(e+" "+Bo(t)).trim())}catch(n){w.error("[AutoCapture]",n)}})),e}function wn(i){return i.replace(/"|\\"/g,'\\"')}function gl(i){var e=i.attr__class;return e?q(e)?e:$r(e):void 0}var Ii=class{constructor(e){this.disabled=e===!1;var t=Y(e)?e:{};this.thresholdPx=t.threshold_px||30,this.timeoutMs=t.timeout_ms||1e3,this.clickCount=t.click_count||3,this.clicks=[]}isRageClick(e,t,s){if(this.disabled)return!1;var r=this.clicks[this.clicks.length-1];if(r&&Math.abs(e-r.x)+Math.abs(t-r.y)<this.thresholdPx&&this.timeoutMs>s-r.timestamp){if(this.clicks.push({x:e,y:t,timestamp:s}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:s}];return!1}},es="$copy_autocapture",ts=z("[AutoCapture]");function is(i,e){return e.length>i?e.slice(0,i)+"...":e}function vl(i){if(i.previousElementSibling)return i.previousElementSibling;var e=i;do e=e.previousSibling;while(e&&!Ze(e));return e}function _l(i,e){var t,s,{e:r,maskAllElementAttributes:n,maskAllText:o,elementAttributeIgnoreList:a,elementsChainAsString:l}=e;if(!Ze(i))return{props:{}};for(var c=[i],u=i;u.parentNode&&!xe(u,"body");)if(qo(u.parentNode))c.push(u.parentNode.host),u=u.parentNode.host;else{if(!Ze(u.parentNode))break;c.push(u.parentNode),u=u.parentNode}var h,d,g=[],v={},_=!1,$=!1;if(H(c,(f=>{var P=dr(f);if(xe(f,"a")){var k=f.getAttribute("href");_=P&&!!k&&Nt(k)&&k}D(Ti(f),"ph-no-capture")&&($=!0),g.push((function(y,I,C,L){var M=y.tagName.toLowerCase(),A={tag_name:M};Tr.indexOf(M)>-1&&!C&&(A.$el_text=M.toLowerCase()==="a"||M.toLowerCase()==="button"?is(1024,bn(y)):is(1024,Vt(y)));var J=Ti(y);J.length>0&&(A.classes=J.filter((function(G){return G!==""}))),H(y.attributes,(function(G){var ge;if((!Ho(y)||["name","id","class","aria-label"].indexOf(G.name)!==-1)&&(L==null||!L.includes(G.name))&&!I&&Nt(G.value)&&(!B(ge=G.name)||ge.substring(0,10)!=="_ngcontent"&&ge.substring(0,7)!=="_nghost")){var ie=G.value;G.name==="class"&&(ie=$r(ie).join(" ")),A["attr__"+G.name]=is(1024,ie)}}));for(var Q=1,ce=1,re=y;re=vl(re);)Q++,re.tagName===y.tagName&&ce++;return A.nth_child=Q,A.nth_of_type=ce,A})(f,n,o,a));var x=(function(y){if(!dr(y))return{};var I={};return H(y.attributes,(function(C){if(C.name&&C.name.indexOf("data-ph-capture-attribute")===0){var L=C.name.replace("data-ph-capture-attribute-",""),M=C.value;L&&M&&Nt(M)&&(I[L]=M)}})),I})(f);W(v,x)})),$)return{props:{},explicitNoCapture:$};if(o||(g[0].$el_text=xe(i,"a")||xe(i,"button")?bn(i):Vt(i)),_){var S,O;g[0].attr__href=_;var F=(S=bi(_))==null?void 0:S.host,T=p==null||(O=p.location)==null?void 0:O.host;F&&T&&F!==T&&(h=_)}return{props:W({$event_type:r.type,$ce_version:1},l?{}:{$elements:g},{$elements_chain:(d=g,(function(f){return f.map((P=>{var k,x,y="";if(P.tag_name&&(y+=P.tag_name),P.attr_class)for(var I of(P.attr_class.sort(),P.attr_class))y+="."+I.replace(/"/g,"");var C=m({},P.text?{text:P.text}:{},{"nth-child":(k=P.nth_child)!==null&&k!==void 0?k:0,"nth-of-type":(x=P.nth_of_type)!==null&&x!==void 0?x:0},P.href?{href:P.href}:{},P.attr_id?{attr_id:P.attr_id}:{},P.attributes),L={};return ri(C).sort(((M,A)=>{var[J]=M,[Q]=A;return J.localeCompare(Q)})).forEach((M=>{var[A,J]=M;return L[wn(A.toString())]=wn(J.toString())})),(y+=":")+ri(L).map((M=>{var[A,J]=M;return A+'="'+J+'"'})).join("")})).join(";")})((function(f){return f.map((P=>{var k,x,y={text:(k=P.$el_text)==null?void 0:k.slice(0,400),tag_name:P.tag_name,href:(x=P.attr__href)==null?void 0:x.slice(0,2048),attr_class:gl(P),attr_id:P.attr__id,nth_child:P.nth_child,nth_of_type:P.nth_of_type,attributes:{}};return ri(P).filter((I=>{var[C]=I;return C.indexOf("attr__")===0})).forEach((I=>{var[C,L]=I;return y.attributes[C]=L})),y}))})(d)))},(t=g[0])!=null&&t.$el_text?{$el_text:(s=g[0])==null?void 0:s.$el_text}:{},h&&r.type==="click"?{$external_click_url:h}:{},v)}}var kt=z("[ExceptionAutocapture]");function En(i,e,t){try{if(!(e in i))return()=>{};var s=i[e],r=t(s);return Oe(r)&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__posthog_wrapped__:{enumerable:!1,value:!0}})),i[e]=r,()=>{i[e]=s}}catch{return()=>{}}}var fl=z("[TracingHeaders]"),Ne=z("[Web Vitals]"),xn=9e5,kn="disabled",Sn="lazy_loading",St="awaiting_config",ei="missing_config";z("[SessionRecording]"),z("[SessionRecording]");var pr="[SessionRecording]",qe=z(pr),ml=z("[Heatmaps]");function Pn(i){return Y(i)&&"clientX"in i&&"clientY"in i&&me(i.clientX)&&me(i.clientY)}var Fn=z("[Product Tours]"),yl=["$set_once","$set"],Ue=z("[SiteApps]"),Rn="Error while initializing PostHog app with config id ";function st(i,e,t){if(N(i))return!1;switch(t){case"exact":return i===e;case"contains":var s=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(s,"i").test(i);case"regex":try{return new RegExp(e).test(i)}catch{return!1}default:return!1}}var gr=class{constructor(e){this.vn=new zt,this.fn=(t,s)=>this.pn(t,s)&&this.gn(t,s)&&this.mn(t,s)&&this.yn(t,s),this.pn=(t,s)=>s==null||!s.event||t?.event===s?.event,this._instance=e,this.bn=new Set,this._n=new Set}init(){var e,t;E((e=this._instance)==null?void 0:e._addCaptureHook)||(t=this._instance)==null||t._addCaptureHook(((s,r)=>{this.on(s,r)}))}register(e){var t,s;if(!E((t=this._instance)==null?void 0:t._addCaptureHook)&&(e.forEach((o=>{var a,l;(a=this._n)==null||a.add(o),(l=o.steps)==null||l.forEach((c=>{var u;(u=this.bn)==null||u.add(c?.event||"")}))})),(s=this._instance)!=null&&s.autocapture)){var r,n=new Set;e.forEach((o=>{var a;(a=o.steps)==null||a.forEach((l=>{l!=null&&l.selector&&n.add(l?.selector)}))})),(r=this._instance)==null||r.autocapture.setElementSelectors(n)}}on(e,t){var s;t!=null&&e.length!=0&&(this.bn.has(e)||this.bn.has(t?.event))&&this._n&&((s=this._n)==null?void 0:s.size)>0&&this._n.forEach((r=>{this.wn(t,r)&&this.vn.emit("actionCaptured",r.name)}))}xn(e){this.onAction("actionCaptured",(t=>e(t)))}wn(e,t){if(t?.steps==null)return!1;for(var s of t.steps)if(this.fn(e,s))return!0;return!1}onAction(e,t){return this.vn.on(e,t)}gn(e,t){if(t!=null&&t.url){var s,r=e==null||(s=e.properties)==null?void 0:s.$current_url;if(!r||typeof r!="string"||!st(r,t.url,t.url_matching||"contains"))return!1}return!0}mn(e,t){return!!this.Sn(e,t)&&!!this.kn(e,t)&&!!this.Cn(e,t)}Sn(e,t){var s;if(t==null||!t.href)return!0;var r=this.In(e);if(r.length>0)return r.some((a=>st(a.href,t.href,t.href_matching||"exact")));var n,o=(e==null||(s=e.properties)==null?void 0:s.$elements_chain)||"";return!!o&&st((n=o.match(/(?::|")href="(.*?)"/))?n[1]:"",t.href,t.href_matching||"exact")}kn(e,t){var s;if(t==null||!t.text)return!0;var r=this.In(e);if(r.length>0)return r.some((c=>st(c.text,t.text,t.text_matching||"exact")||st(c.$el_text,t.text,t.text_matching||"exact")));var n,o,a,l=(e==null||(s=e.properties)==null?void 0:s.$elements_chain)||"";return!!l&&(n=(function(c){for(var u,h=[],d=/(?::|")text="(.*?)"/g;!N(u=d.exec(c));)h.includes(u[1])||h.push(u[1]);return h})(l),o=t.text,a=t.text_matching||"exact",n.some((c=>st(c,o,a))))}Cn(e,t){var s,r;if(t==null||!t.selector)return!0;var n=e==null||(s=e.properties)==null?void 0:s.$element_selectors;if(n!=null&&n.includes(t.selector))return!0;var o=(e==null||(r=e.properties)==null?void 0:r.$elements_chain)||"";if(t.selector_regex&&o)try{return new RegExp(t.selector_regex).test(o)}catch{return!1}return!1}In(e){var t;return(e==null||(t=e.properties)==null?void 0:t.$elements)==null?[]:e?.properties.$elements}yn(e,t){return t==null||!t.properties||t.properties.length===0||Ao(t.properties.reduce(((s,r)=>{var n=q(r.value)?r.value.map(String):r.value!=null?[String(r.value)]:[];return s[r.key]={values:n,operator:r.operator||"exact"},s}),{}),e?.properties)}},vr=class{constructor(e){this._instance=e,this.Tn=new Map,this.En=new Map,this.Mn=new Map}Pn(e,t){return!!e&&Ao(e.propertyFilters,t?.properties)}Rn(e,t){var s=new Map;return e.forEach((r=>{var n;(n=r.conditions)==null||(n=n[t])==null||(n=n.values)==null||n.forEach((o=>{if(o!=null&&o.name){var a=s.get(o.name)||[];a.push(r.id),s.set(o.name,a)}}))})),s}On(e,t,s){var r=(s===yt.Activation?this.Tn:this.En).get(e),n=[];return this.Ln((o=>{n=o.filter((a=>r?.includes(a.id)))})),n.filter((o=>{var a,l=(a=o.conditions)==null||(a=a[s])==null||(a=a.values)==null?void 0:a.find((c=>c.name===e));return this.Pn(l,t)}))}register(e){var t;E((t=this._instance)==null?void 0:t._addCaptureHook)||(this.Fn(e),this.An(e))}An(e){var t=e.filter((s=>{var r,n;return((r=s.conditions)==null?void 0:r.actions)&&((n=s.conditions)==null||(n=n.actions)==null||(n=n.values)==null?void 0:n.length)>0}));t.length!==0&&(this.Nn==null&&(this.Nn=new gr(this._instance),this.Nn.init(),this.Nn.xn((s=>{this.onAction(s)}))),t.forEach((s=>{var r,n,o,a,l;s.conditions&&(r=s.conditions)!=null&&r.actions&&(n=s.conditions)!=null&&(n=n.actions)!=null&&n.values&&((o=s.conditions)==null||(o=o.actions)==null||(o=o.values)==null?void 0:o.length)>0&&((a=this.Nn)==null||a.register(s.conditions.actions.values),(l=s.conditions)==null||(l=l.actions)==null||(l=l.values)==null||l.forEach((c=>{if(c&&c.name){var u=this.Mn.get(c.name);u&&u.push(s.id),this.Mn.set(c.name,u||[s.id])}})))})))}Fn(e){var t,s=e.filter((n=>{var o,a;return((o=n.conditions)==null?void 0:o.events)&&((a=n.conditions)==null||(a=a.events)==null||(a=a.values)==null?void 0:a.length)>0})),r=e.filter((n=>{var o,a;return((o=n.conditions)==null?void 0:o.cancelEvents)&&((a=n.conditions)==null||(a=a.cancelEvents)==null||(a=a.values)==null?void 0:a.length)>0}));s.length===0&&r.length===0||((t=this._instance)==null||t._addCaptureHook(((n,o)=>{this.onEvent(n,o)})),this.Tn=this.Rn(e,yt.Activation),this.En=this.Rn(e,yt.Cancellation))}onEvent(e,t){var s,r=this.le(),n=this.$n(),o=this.Dn(),a=((s=this._instance)==null||(s=s.persistence)==null?void 0:s.props[n])||[];if(o===e&&t&&a.length>0){var l,c;r.info("event matched, removing item from activated items",{event:e,eventPayload:t,existingActivatedItems:a});var u=(t==null||(l=t.properties)==null?void 0:l.$survey_id)||(t==null||(c=t.properties)==null?void 0:c.$product_tour_id);if(u){var h=a.indexOf(u);0>h||(a.splice(h,1),this.qn(a))}}else{if(this.En.has(e)){var d=this.On(e,t,yt.Cancellation);d.length>0&&(r.info("cancel event matched, cancelling items",{event:e,itemsToCancel:d.map((v=>v.id))}),d.forEach((v=>{var _=a.indexOf(v.id);0>_||a.splice(_,1),this.jn(v.id)})),this.qn(a))}if(this.Tn.has(e)){r.info("event name matched",{event:e,eventPayload:t,items:this.Tn.get(e)});var g=this.On(e,t,yt.Activation);this.qn(a.concat(g.map((v=>v.id))||[]))}}}onAction(e){var t,s=this.$n(),r=((t=this._instance)==null||(t=t.persistence)==null?void 0:t.props[s])||[];this.Mn.has(e)&&this.qn(r.concat(this.Mn.get(e)||[]))}qn(e){var t=this.le(),s=[...new Set(e)].filter((r=>!this.Hn(r)));t.info("updating activated items",{activatedItems:s}),this.Un(s)}getActivatedIds(){var e,t=this.$n();return((e=this._instance)==null||(e=e.persistence)==null?void 0:e.props[t])||[]}getEventToItemsMap(){return this.Tn}Bn(){return this.Nn}},_r=class extends vr{constructor(e){super(e)}$n(){return Ls}Dn(){return Ot.SHOWN}Ln(e){var t;(t=this._instance)==null||t.getSurveys(e)}jn(e){var t;(t=this._instance)==null||t.cancelPendingSurvey(e)}le(){return U}Un(e){var t;(t=this._instance)==null||(t=t.persistence)==null||t.register({[Ls]:e})}Hn(){return!1}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},ss="SDK is not enabled or survey functionality is not yet loaded",$n="Disabled. Not loading surveys.",bl=p!=null&&p.location?Ei(p.location.hash,"__posthog")||Ei(location.hash,"state"):null,Tn="_postHogToolbarParams",In=z("[Toolbar]"),ne=z("[FeatureFlags]"),Be=z("[FeatureFlags]",{debugEnabled:!0}),rs=`" failed. Feature flags didn't load in time.`,On=i=>{for(var e={},t=0;i.length>t;t++)e[i[t]]=!0;return e},Cn=i=>{var e={};for(var[t,s]of ri(i||{}))s&&(e[t]=s);return e},Te=z("[Error tracking]"),Mn="Refusing to render web experiment since the viewer is a likely bot",wl={icontains:(i,e)=>!!p&&e.href.toLowerCase().indexOf(i.toLowerCase())>-1,not_icontains:(i,e)=>!!p&&e.href.toLowerCase().indexOf(i.toLowerCase())===-1,regex:(i,e)=>!!p&&$i(e.href,i),not_regex:(i,e)=>!!p&&!$i(e.href,i),exact:(i,e)=>e.href===i,is_not:(i,e)=>e.href!==i},fr=class i{get qt(){return this._instance.config}constructor(e){var t=this;this.getWebExperimentsAndEvaluateDisplayLogic=function(s){s===void 0&&(s=!1),t.getWebExperiments((r=>{i.zn("retrieved web experiments from the server"),t.Vn=new Map,r.forEach((n=>{if(n.feature_flag_key){var o;t.Vn&&(i.zn("setting flag key ",n.feature_flag_key," to web experiment ",n),(o=t.Vn)==null||o.set(n.feature_flag_key,n));var a=t._instance.getFeatureFlag(n.feature_flag_key);B(a)&&n.variants[a]&&t.Wn(n.name,a,n.variants[a].transforms)}else if(n.variants)for(var l in n.variants){var c=n.variants[l];i.Zn(c)&&t.Wn(n.name,l,c.transforms)}}))}),s)},this._instance=e,this._instance.onFeatureFlags((s=>{this.onFeatureFlags(s)}))}initialize(){}onFeatureFlags(e){if(this._is_bot())i.zn(Mn);else if(!this.qt.disable_web_experiments){if(N(this.Vn))return this.Vn=new Map,this.loadIfEnabled(),void this.previewWebExperiment();i.zn("applying feature flags",e),e.forEach((t=>{var s;if(this.Vn&&(s=this.Vn)!=null&&s.has(t)){var r,n=this._instance.getFeatureFlag(t),o=(r=this.Vn)==null?void 0:r.get(t);n&&o!=null&&o.variants[n]&&this.Wn(o.name,n,o.variants[n].transforms)}}))}}previewWebExperiment(){var e=i.getWindowLocation();if(e!=null&&e.search){var t=wi(e?.search,"__experiment_id"),s=wi(e?.search,"__experiment_variant");t&&s&&(i.zn("previewing web experiments "+t+" && "+s),this.getWebExperiments((r=>{this.Gn(parseInt(t),s,r)}),!1,!0))}}loadIfEnabled(){this.qt.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,s){if(this.qt.disable_web_experiments&&!s)return e([]);var r=this._instance.get_property("$web_experiments");if(r&&!t)return e(r);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/web_experiments/?token="+this.qt.token),method:"GET",callback:n=>e(n.statusCode===200&&n.json&&n.json.experiments||[])})}Gn(e,t,s){var r=s.filter((n=>n.id===e));r&&r.length>0&&(i.zn("Previewing web experiment ["+r[0].name+"] with variant ["+t+"]"),this.Wn(r[0].name,t,r[0].variants[t].transforms))}static Zn(e){return!N(e.conditions)&&i.Qn(e)&&i.Jn(e)}static Qn(e){var t;if(N(e.conditions)||N((t=e.conditions)==null?void 0:t.url))return!0;var s,r,n,o=i.getWindowLocation();return!!o&&((s=e.conditions)==null||!s.url||wl[(r=(n=e.conditions)==null?void 0:n.urlMatchType)!==null&&r!==void 0?r:"icontains"](e.conditions.url,o))}static getWindowLocation(){return p?.location}static Jn(e){var t;if(N(e.conditions)||N((t=e.conditions)==null?void 0:t.utm))return!0;var s=wo();if(s.utm_source){var r,n,o,a,l,c,u,h,d=(r=e.conditions)==null||(r=r.utm)==null||!r.utm_campaign||((n=e.conditions)==null||(n=n.utm)==null?void 0:n.utm_campaign)==s.utm_campaign,g=(o=e.conditions)==null||(o=o.utm)==null||!o.utm_source||((a=e.conditions)==null||(a=a.utm)==null?void 0:a.utm_source)==s.utm_source,v=(l=e.conditions)==null||(l=l.utm)==null||!l.utm_medium||((c=e.conditions)==null||(c=c.utm)==null?void 0:c.utm_medium)==s.utm_medium,_=(u=e.conditions)==null||(u=u.utm)==null||!u.utm_term||((h=e.conditions)==null||(h=h.utm)==null?void 0:h.utm_term)==s.utm_term;return d&&v&&_&&g}return!1}static zn(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;t>r;r++)s[r-1]=arguments[r];w.info("[WebExperiments] "+e,s)}Wn(e,t,s){this._is_bot()?i.zn(Mn):t!=="control"?s.forEach((r=>{if(r.selector){var n;i.zn("applying transform of variant "+t+" for experiment "+e+" ",r);var o=(n=document)==null?void 0:n.querySelectorAll(r.selector);o?.forEach((a=>{var l=a;r.html&&(l.innerHTML=r.html),r.css&&l.setAttribute("style",r.css)}))}})):i.zn("Control variants leave the page unmodified.")}_is_bot(){return de&&this._instance?Co(de,this.qt.custom_blocked_useragents):void 0}},ve=z("[Conversations]"),We="Conversations not available yet.",Ai={featureFlags:class{constructor(i){this.Kn=!1,this.Yn=!1,this.Xn=!1,this.es=!1,this.ts=!1,this.rs=!1,this.ns=!1,this.ss=!1,this._instance=i,this.featureFlagEventHandlers=[]}get qt(){return this._instance.config}get ni(){return this._instance.persistence}os(i){return this._instance.get_property(i)}us(){var i,e;return(i=(e=this.ni)==null?void 0:e.wr(this.qt.feature_flag_cache_ttl_ms))!==null&&i!==void 0&&i}ls(){return!!this.us()&&(this.ss||this.Xn||(this.ss=!0,ne.warn("Feature flag cache is stale, triggering refresh..."),this.reloadFeatureFlags()),!0)}hs(){var i,e=(i=this.qt.evaluation_contexts)!==null&&i!==void 0?i:this.qt.evaluation_environments;return!this.qt.evaluation_environments||this.qt.evaluation_contexts||this.ns||(ne.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.ns=!0),e!=null&&e.length?e.filter((t=>{var s=t&&typeof t=="string"&&t.trim().length>0;return s||ne.error("Invalid evaluation context found:",t,"Expected non-empty string"),s})):[]}cs(){return this.hs().length>0}initialize(){var i,e,{config:t}=this._instance,s=(i=(e=t.bootstrap)==null?void 0:e.featureFlags)!==null&&i!==void 0?i:{};if(Object.keys(s).length){var r,n,o=(r=(n=t.bootstrap)==null?void 0:n.featureFlagPayloads)!==null&&r!==void 0?r:{},a=Object.keys(s).filter((c=>!!s[c])).reduce(((c,u)=>(c[u]=s[u]||!1,c)),{}),l=Object.keys(o).filter((c=>a[c])).reduce(((c,u)=>(o[u]&&(c[u]=o[u]),c)),{});this.receivedFeatureFlags({featureFlags:a,featureFlagPayloads:l})}}updateFlags(i,e,t){var s=t!=null&&t.merge?this.getFlagVariants():{},r=t!=null&&t.merge?this.getFlagPayloads():{},n=m({},s,i),o=m({},r,e),a={};for(var[l,c]of Object.entries(n)){var u=typeof c=="string";a[l]={key:l,enabled:!!u||!!c,variant:u?c:void 0,reason:void 0,metadata:E(o?.[l])?void 0:{id:0,version:void 0,description:void 0,payload:o[l]}}}this.receivedFeatureFlags({flags:a})}get hasLoadedFlags(){return this.Yn}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){var i=this.os(Os),e=this.os(Ie),t=this.os(nt);if(!t&&!e)return i||{};var s=W({},i||{}),r=[...new Set([...Object.keys(t||{}),...Object.keys(e||{})])];for(var n of r){var o,a,l=s[n],c=e?.[n],u=E(c)?(o=l?.enabled)!==null&&o!==void 0&&o:!!c,h=E(c)?l.variant:typeof c=="string"?c:void 0,d=t?.[n],g=m({},l,{enabled:u,variant:u?h??l?.variant:void 0});u!==l?.enabled&&(g.original_enabled=l?.enabled),h!==l?.variant&&(g.original_variant=l?.variant),d&&(g.metadata=m({},l?.metadata,{payload:d,original_payload:l==null||(a=l.metadata)==null?void 0:a.payload})),s[n]=g}return this.Kn||(ne.warn(" Overriding feature flag details!",{flagDetails:i,overriddenPayloads:t,finalDetails:s}),this.Kn=!0),s}getFlagVariants(){var i=this.os(ut),e=this.os(Ie);if(!e)return i||{};for(var t=W({},i),s=Object.keys(e),r=0;s.length>r;r++)t[s[r]]=e[s[r]];return this.Kn||(ne.warn(" Overriding feature flags!",{enabledFlags:i,overriddenFlags:e,finalFlags:t}),this.Kn=!0),t}getFlagPayloads(){var i=this.os(Cs),e=this.os(nt);if(!e)return i||{};for(var t=W({},i||{}),s=Object.keys(e),r=0;s.length>r;r++)t[s[r]]=e[s[r]];return this.Kn||(ne.warn(" Overriding feature flag payloads!",{flagPayloads:i,overriddenPayloads:e,finalPayloads:t}),this.Kn=!0),t}reloadFeatureFlags(){this.es||this.qt.advanced_disable_feature_flags||this.ds||(this._instance.Li.emit("featureFlagsReloading",!0),this.ds=setTimeout((()=>{this.vs()}),5))}fs(){clearTimeout(this.ds),this.ds=void 0}ensureFlagsLoaded(){this.Yn||this.Xn||this.ds||this.reloadFeatureFlags()}setAnonymousDistinctId(i){this.$anon_distinct_id=i}setReloadingPaused(i){this.es=i}vs(i){var e;if(this.fs(),!this._instance.Lr())if(this.Xn)this.ts=!0;else{var t=this.qt.token,s=this.os(hi),r={token:t,distinct_id:this._instance.get_distinct_id(),groups:this._instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:m({},((e=this.ni)==null?void 0:e.get_initial_props())||{},this.os(It)||{}),group_properties:this.os(Ge),timezone:Fo()};Ae(s)||E(s)||(r.$device_id=s),(i!=null&&i.disableFlags||this.qt.advanced_disable_feature_flags)&&(r.disable_flags=!0),this.cs()&&(r.evaluation_contexts=this.hs());var n=this._instance.requestRouter.endpointFor("flags","/flags/?v=2"+(this.qt.advanced_only_evaluate_survey_feature_flags?"&only_evaluate_survey_feature_flags=true":""));this.Xn=!0,this._instance._send_request({method:"POST",url:n,data:r,compression:this.qt.disable_compression?void 0:ke.Base64,timeout:this.qt.feature_flag_request_timeout_ms,callback:o=>{var a,l,c,u=!0;if(o.statusCode===200&&(this.ts||(this.$anon_distinct_id=void 0),u=!1),this.Xn=!1,!r.disable_flags||this.ts){this.rs=!u;var h=[];o.error?o.error instanceof Error?h.push(o.error.name==="AbortError"?"timeout":"connection_error"):h.push("unknown_error"):o.statusCode!==200&&h.push("api_error_"+o.statusCode),(a=o.json)!=null&&a.errorsWhileComputingFlags&&h.push("errors_while_computing_flags");var d,g=!((l=o.json)==null||(l=l.quotaLimited)==null||!l.includes("feature_flags"));g&&h.push("quota_limited"),(c=this.ni)==null||c.register({[Ns]:h}),g?ne.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more."):(r.disable_flags||this.receivedFeatureFlags((d=o.json)!==null&&d!==void 0?d:{},u,{partialResponse:!!this.qt.advanced_only_evaluate_survey_feature_flags}),this.ts&&(this.ts=!1,this.vs()))}}})}}getFeatureFlag(i,e){var t;if(e===void 0&&(e={}),!e.fresh||this.rs)if(this.Yn||this.getFlags()&&this.getFlags().length>0){if(!this.ls()){var s=this.getFeatureFlagResult(i,e);return(t=s?.variant)!==null&&t!==void 0?t:s?.enabled}}else ne.warn('getFeatureFlag for key "'+i+rs)}getFeatureFlagDetails(i){return this.getFlagsWithDetails()[i]}getFeatureFlagPayload(i){var e=this.getFeatureFlagResult(i,{send_event:!1});return e?.payload}getFeatureFlagResult(i,e){if(e===void 0&&(e={}),!e.fresh||this.rs)if(this.Yn||this.getFlags()&&this.getFlags().length>0){if(!this.ls()){var t=this.getFlagVariants(),s=i in t,r=t[i],n=this.getFlagPayloads()[i],o=String(r),a=this.os(Ms)||void 0,l=this.os(pi)||void 0,c=this.os(Mt)||{};if(this.qt.advanced_feature_flags_dedup_per_session){var u,h=this._instance.get_session_id(),d=this.os(Ds);h&&h!==d&&(c={},(u=this.ni)==null||u.register({[Mt]:c,[Ds]:h}))}if((e.send_event||!("send_event"in e))&&(!(i in c)||!c[i].includes(o))){var g,v,_,$,S,O,F,T,f,P;q(c[i])?c[i].push(o):c[i]=[o],(g=this.ni)==null||g.register({[Mt]:c});var k=this.getFeatureFlagDetails(i),x=[...(v=this.os(Ns))!==null&&v!==void 0?v:[]];E(r)&&x.push("flag_missing");var y={$feature_flag:i,$feature_flag_response:r,$feature_flag_payload:n||null,$feature_flag_request_id:a,$feature_flag_evaluated_at:l,$feature_flag_bootstrapped_response:((_=this.qt.bootstrap)==null||(_=_.featureFlags)==null?void 0:_[i])||null,$feature_flag_bootstrapped_payload:(($=this.qt.bootstrap)==null||($=$.featureFlagPayloads)==null?void 0:$[i])||null,$used_bootstrap_value:!this.rs};E(k==null||(S=k.metadata)==null?void 0:S.version)||(y.$feature_flag_version=k.metadata.version);var I,C=(O=k==null||(F=k.reason)==null?void 0:F.description)!==null&&O!==void 0?O:k==null||(T=k.reason)==null?void 0:T.code;C&&(y.$feature_flag_reason=C),k!=null&&(f=k.metadata)!=null&&f.id&&(y.$feature_flag_id=k.metadata.id),E(k?.original_variant)&&E(k?.original_enabled)||(y.$feature_flag_original_response=E(k.original_variant)?k.original_enabled:k.original_variant),k!=null&&(P=k.metadata)!=null&&P.original_payload&&(y.$feature_flag_original_payload=k==null||(I=k.metadata)==null?void 0:I.original_payload),x.length&&(y.$feature_flag_error=x.join(",")),this._instance.capture("$feature_flag_called",y)}if(s){var L=n;if(!E(n))try{L=JSON.parse(n)}catch{}return{key:i,enabled:!!r,variant:typeof r=="string"?r:void 0,payload:L}}}}else ne.warn('getFeatureFlagResult for key "'+i+rs)}getRemoteConfigPayload(i,e){var t=this.qt.token,s={distinct_id:this._instance.get_distinct_id(),token:t};this.cs()&&(s.evaluation_contexts=this.hs()),this._instance._send_request({method:"POST",url:this._instance.requestRouter.endpointFor("flags","/flags/?v=2"),data:s,compression:this.qt.disable_compression?void 0:ke.Base64,timeout:this.qt.feature_flag_request_timeout_ms,callback(r){var n,o=(n=r.json)==null?void 0:n.featureFlagPayloads;e(o?.[i]||void 0)}})}isFeatureEnabled(i,e){if(e===void 0&&(e={}),!e.fresh||this.rs){if(this.Yn||this.getFlags()&&this.getFlags().length>0){var t=this.getFeatureFlag(i,e);return E(t)?void 0:!!t}ne.warn('isFeatureEnabled for key "'+i+rs)}}addFeatureFlagsHandler(i){this.featureFlagEventHandlers.push(i)}removeFeatureFlagsHandler(i){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((e=>e!==i))}receivedFeatureFlags(i,e,t){if(this.ni){this.Yn=!0;var s=this.getFlagVariants(),r=this.getFlagPayloads(),n=this.getFlagsWithDetails();(function(o,a,l,c,u,h){l===void 0&&(l={}),c===void 0&&(c={}),u===void 0&&(u={});var d=(x=>{var y=x.flags;return y?(x.featureFlags=Object.fromEntries(Object.keys(y).map((I=>{var C;return[I,(C=y[I].variant)!==null&&C!==void 0?C:y[I].enabled]}))),x.featureFlagPayloads=Object.fromEntries(Object.keys(y).filter((I=>y[I].enabled)).filter((I=>{var C;return(C=y[I].metadata)==null?void 0:C.payload})).map((I=>{var C;return[I,(C=y[I].metadata)==null?void 0:C.payload]})))):ne.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),x})(o),g=d.flags,v=d.featureFlags,_=d.featureFlagPayloads;if(v){var $=o.requestId,S=o.evaluatedAt;if(q(v)){ne.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");var O={};if(v)for(var F=0;v.length>F;F++)O[v[F]]=!0;a&&a.register({[ii]:v,[ut]:O})}else{var T=v,f=_,P=g;if(h!=null&&h.partialResponse)T=m({},l,T),f=m({},c,f),P=m({},u,P);else if(o.errorsWhileComputingFlags)if(g){var k=new Set(Object.keys(g).filter((x=>{var y;return!((y=g[x])!=null&&y.failed)})));T=m({},l,Object.fromEntries(Object.entries(T).filter((x=>{var[y]=x;return k.has(y)})))),f=m({},c,Object.fromEntries(Object.entries(f||{}).filter((x=>{var[y]=x;return k.has(y)})))),P=m({},u,Object.fromEntries(Object.entries(P||{}).filter((x=>{var[y]=x;return k.has(y)}))))}else T=m({},l,T),f=m({},c,f),P=m({},u,P);a&&a.register(m({[ii]:Object.keys(Cn(T)),[ut]:T||{},[Cs]:f||{},[Os]:P||{}},$?{[Ms]:$}:{},S?{[pi]:S}:{}))}}})(i,this.ni,s,r,n,t),e||(this.ss=!1),this.ps(e)}}override(i,e){e===void 0&&(e=!1),ne.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:i,suppressWarning:e})}overrideFeatureFlags(i){if(!this._instance.__loaded||!this.ni)return ne.uninitializedWarning("posthog.featureFlags.overrideFeatureFlags");if(i===!1)return this.ni.unregister(Ie),this.ni.unregister(nt),this.ps(),Be.info("All overrides cleared");if(q(i)){var e=On(i);return this.ni.register({[Ie]:e}),this.ps(),Be.info("Flag overrides set",{flags:i})}if(i&&typeof i=="object"&&("flags"in i||"payloads"in i)){var t,s=i;if(this.Kn=!!((t=s.suppressWarning)!==null&&t!==void 0&&t),"flags"in s){if(s.flags===!1)this.ni.unregister(Ie),Be.info("Flag overrides cleared");else if(s.flags){if(q(s.flags)){var r=On(s.flags);this.ni.register({[Ie]:r})}else this.ni.register({[Ie]:s.flags});Be.info("Flag overrides set",{flags:s.flags})}}return"payloads"in s&&(s.payloads===!1?(this.ni.unregister(nt),Be.info("Payload overrides cleared")):s.payloads&&(this.ni.register({[nt]:s.payloads}),Be.info("Payload overrides set",{payloads:s.payloads}))),void this.ps()}if(i&&typeof i=="object")return this.ni.register({[Ie]:i}),this.ps(),Be.info("Flag overrides set",{flags:i});ne.warn("Invalid overrideOptions provided to overrideFeatureFlags",{overrideOptions:i})}onFeatureFlags(i){if(this.addFeatureFlagsHandler(i),this.Yn){var{flags:e,flagVariants:t}=this.gs();i(e,t)}return()=>this.removeFeatureFlagsHandler(i)}updateEarlyAccessFeatureEnrollment(i,e,t){var s,r=(this.os(Tt)||[]).find((l=>l.flagKey===i)),n={["$feature_enrollment/"+i]:e},o={$feature_flag:i,$feature_enrollment:e,$set:n};r&&(o.$early_access_feature_name=r.name),t&&(o.$feature_enrollment_stage=t),this._instance.capture("$feature_enrollment_update",o),this.setPersonPropertiesForFlags(n,!1);var a=m({},this.getFlagVariants(),{[i]:e});(s=this.ni)==null||s.register({[ii]:Object.keys(Cn(a)),[ut]:a}),this.ps()}getEarlyAccessFeatures(i,e,t){e===void 0&&(e=!1);var s=this.os(Tt),r=t?"&"+t.map((n=>"stage="+n)).join("&"):"";if(s&&!e)return i(s);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/early_access_features/?token="+this.qt.token+r),method:"GET",callback:n=>{var o,a;if(n.json){var l=n.json.earlyAccessFeatures;return(o=this.ni)==null||o.unregister(Tt),(a=this.ni)==null||a.register({[Tt]:l}),i(l)}}})}gs(){var i=this.getFlags(),e=this.getFlagVariants();return{flags:i.filter((t=>e[t])),flagVariants:Object.keys(e).filter((t=>e[t])).reduce(((t,s)=>(t[s]=e[s],t)),{})}}ps(i){var{flags:e,flagVariants:t}=this.gs();this.featureFlagEventHandlers.forEach((s=>s(e,t,{errorsLoading:i})))}setPersonPropertiesForFlags(i,e){e===void 0&&(e=!0);var t=this.os(It)||{},s=i?.$set||(i!=null&&i.$set_once?{}:i),r=i?.$set_once,n={};if(r)for(var o in r)({}).hasOwnProperty.call(r,o)&&(o in t||(n[o]=r[o]));this._instance.register({[It]:m({},t,n,s)}),e&&this._instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this._instance.unregister(It)}setGroupPropertiesForFlags(i,e){e===void 0&&(e=!0);var t=this.os(Ge)||{};Object.keys(t).length!==0&&Object.keys(t).forEach((s=>{t[s]=m({},t[s],i[s]),delete i[s]})),this._instance.register({[Ge]:m({},t,i)}),e&&this._instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(i){if(i){var e=this.os(Ge)||{};this._instance.register({[Ge]:m({},e,{[i]:{}})})}else this._instance.unregister(Ge)}reset(){this.Yn=!1,this.Xn=!1,this.es=!1,this.ts=!1,this.rs=!1,this.$anon_distinct_id=void 0,this.fs(),this.Kn=!1}}},El={sessionRecording:class{get qt(){return this._instance.config}get ni(){return this._instance.persistence}get started(){var i;return!((i=this.ys)==null||!i.isStarted)}get status(){var i,e;return this.bs===St||this.bs===ei?this.bs:(i=(e=this.ys)==null?void 0:e.status)!==null&&i!==void 0?i:this.bs}constructor(i){if(this._forceAllowLocalhostNetworkCapture=!1,this.bs=kn,this._s=void 0,this._instance=i,!this._instance.sessionManager)throw qe.error("started without valid sessionManager"),new Error(pr+" started without valid sessionManager. This is a bug.");if(this.qt.cookieless_mode===Ce)throw new Error(pr+' cannot be used with cookieless_mode="always"')}initialize(){this.startIfEnabledOrStop()}get ws(){var i,e=!((i=this._instance.get_property($t))==null||!i.enabled),t=!this.qt.disable_session_recording,s=this.qt.disable_session_recording||this._instance.consent.isOptedOut();return p&&e&&t&&!s}startIfEnabledOrStop(i){var e;if(!this.ws||(e=this.ys)==null||!e.isStarted){var t=!E(Object.assign)&&!E(Array.from);this.ws&&t?(this.xs(i),qe.info("starting")):(this.bs=kn,this.stopRecording())}}xs(i){var e,t,s;this.ws&&(this.bs!==St&&this.bs!==ei&&(this.bs=Sn),R!=null&&(e=R.__PosthogExtensions__)!=null&&(e=e.rrweb)!=null&&e.record&&(t=R.__PosthogExtensions__)!=null&&t.initSessionRecording?this.Ss(i):(s=R.__PosthogExtensions__)==null||s.loadExternalDependency==null||s.loadExternalDependency(this._instance,this.ks,(r=>{if(r)return qe.error("could not load recorder",r);this.Ss(i)})))}stopRecording(){var i,e;(i=this._s)==null||i.call(this),this._s=void 0,(e=this.ys)==null||e.stop()}Cs(){var i,e;(i=this._s)==null||i.call(this),this._s=void 0,(e=this.ys)==null||e.discard()}Is(){var i;(i=this.ni)==null||i.unregister(kr)}Ts(i,e){if(N(i))return null;var t,s=me(i)?i:parseFloat(i);return typeof(t=s)!="number"||!Number.isFinite(t)||0>t||t>1?(qe.warn(e+" must be between 0 and 1. Ignoring invalid value:",i),null):s}Es(i){if(this.ni){var e,t,s=this.ni,r=()=>{var n,o=i.sessionRecording===!1?void 0:i.sessionRecording,a=this.Ts((n=this.qt.session_recording)==null?void 0:n.sampleRate,"session_recording.sampleRate"),l=this.Ts(o?.sampleRate,"remote config sampleRate"),c=a??l;N(c)&&this.Is();var u=o?.minimumDurationMilliseconds;s.register({[$t]:m({cache_timestamp:Date.now(),enabled:!!o},o,{networkPayloadCapture:m({capturePerformance:i.capturePerformance},o?.networkPayloadCapture),canvasRecording:{enabled:o?.recordCanvas,fps:o?.canvasFps,quality:o?.canvasQuality},sampleRate:c,minimumDurationMilliseconds:E(u)?null:u,endpoint:o?.endpoint,triggerMatchType:o?.triggerMatchType,masking:o?.masking,urlTriggers:o?.urlTriggers,version:o?.version,triggerGroups:o?.triggerGroups})})};r(),(e=this._s)==null||e.call(this),this._s=(t=this._instance.sessionManager)==null?void 0:t.onSessionId(r)}}onRemoteConfig(i){return"sessionRecording"in i?i.sessionRecording===!1?(this.Es(i),void this.Cs()):(this.Es(i),void this.startIfEnabledOrStop()):(this.bs===St&&(this.bs=ei,qe.warn("config refresh failed, recording will not start until page reload")),void this.startIfEnabledOrStop())}log(i,e){var t;e===void 0&&(e="log"),(t=this.ys)!=null&&t.log?this.ys.log(i,e):qe.warn("log called before recorder was ready")}get ks(){var i,e,t=(i=this._instance)==null||(i=i.persistence)==null?void 0:i.get_property($t);return(t==null||(e=t.scriptConfig)==null?void 0:e.script)||"lazy-recorder"}Ms(){var i,e=this._instance.get_property($t);if(!e)return!1;var t=(i=(typeof e=="object"?e:JSON.parse(e)).cache_timestamp)!==null&&i!==void 0?i:Date.now();return 36e5>=Date.now()-t}Ss(i){var e,t;if((e=R.__PosthogExtensions__)==null||!e.initSessionRecording)return qe.warn("Called on script loaded before session recording is available. This can be caused by adblockers."),void this._instance.register_for_session({[_o]:!0});if(this.ys||(this.ys=(t=R.__PosthogExtensions__)==null?void 0:t.initSessionRecording(this._instance),this.ys._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),!this.Ms())return this.bs===ei||this.bs===St?void 0:(this.bs=St,qe.info("persisted remote config is stale, requesting fresh config before starting"),void new ki(this._instance).load());this.bs=Sn,this.ys.start(i)}onRRwebEmit(i){var e;(e=this.ys)==null||e.onRRwebEmit==null||e.onRRwebEmit(i)}overrideLinkedFlag(){var i,e;this.ys||(e=this.ni)==null||e.register({[uo]:!0}),(i=this.ys)==null||i.overrideLinkedFlag()}overrideSampling(){var i,e;this.ys||(e=this.ni)==null||e.register({[lo]:!0}),(i=this.ys)==null||i.overrideSampling()}overrideTrigger(i){var e,t;this.ys||(t=this.ni)==null||t.register({[i==="url"?co:ho]:!0}),(e=this.ys)==null||e.overrideTrigger(i)}get sdkDebugProperties(){var i;return((i=this.ys)==null?void 0:i.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(i,e){var t;return!((t=this.ys)==null||!t.tryAddCustomEvent(i,e))}}},xl={autocapture:class{constructor(i){this.Ps=!1,this.Rs=null,this.Os=!1,this.instance=i,this.rageclicks=new Ii(i.config.rageclick),this.Ls=null}initialize(){this.startIfEnabled()}get qt(){var i,e,t=Y(this.instance.config.autocapture)?this.instance.config.autocapture:{};return t.url_allowlist=(i=t.url_allowlist)==null?void 0:i.map((s=>new RegExp(s))),t.url_ignorelist=(e=t.url_ignorelist)==null?void 0:e.map((s=>new RegExp(s))),t}Fs(){if(this.isBrowserSupported()){if(p&&b){var i=t=>{t=t||p?.event;try{this.As(t)}catch(s){ts.error("Failed to capture event",s)}};if(K(b,"submit",i,{capture:!0}),K(b,"change",i,{capture:!0}),K(b,"click",i,{capture:!0}),this.qt.capture_copied_text){var e=t=>{t=t||p?.event;try{this.As(t,es)}catch(s){ts.error("Failed to capture copy/cut event",s)}};K(b,"copy",e,{capture:!0}),K(b,"cut",e,{capture:!0})}}}else ts.info("Disabling Automatic Event Collection because this browser is not supported")}startIfEnabled(){this.isEnabled&&!this.Ps&&(this.Fs(),this.Ps=!0)}onRemoteConfig(i){i.elementsChainAsString&&(this.Os=i.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[ks]:!!i.autocapture_opt_out}),this.Rs=!!i.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(i){this.Ls=i}getElementSelectors(i){var e,t=[];return(e=this.Ls)==null||e.forEach((s=>{var r=b?.querySelectorAll(s);r?.forEach((n=>{i===n&&t.push(s)}))})),t}get isEnabled(){var i,e,t=(i=this.instance.persistence)==null?void 0:i.props[ks];if(Ae(this.Rs)&&!Pe(t)&&!this.instance.Lr())return!1;var s=(e=this.Rs)!==null&&e!==void 0?e:!!t;return!!this.instance.config.autocapture&&!s}As(i,e){if(e===void 0&&(e="$autocapture"),this.isEnabled){var t,s=_n(i);No(s)&&(s=s.parentNode||null),e==="$autocapture"&&i.type==="click"&&i instanceof MouseEvent&&this.instance.config.rageclick&&(t=this.rageclicks)!=null&&t.isRageClick(i.clientX,i.clientY,i.timeStamp||new Date().getTime())&&(function(h,d){if(!p||hr(h))return!1;var g,v,_;if(Pe(d)?(g=!!d&&mn,v=void 0):(g=(_=d?.css_selector_ignorelist)!==null&&_!==void 0?_:mn,v=d?.content_ignorelist),g===!1)return!1;var{targetElementList:$}=yn(h,!1);return!(function(S,O){if(S===!1||E(S))return!1;var F;if(S===!0)F=ul;else{if(!q(S))return!1;if(S.length>10)return w.error("[PostHog] content_ignorelist array cannot exceed 10 items. Use css_selector_ignorelist for more complex matching."),!1;F=S.map((T=>T.toLowerCase()))}return O.some((T=>{var{safeText:f,ariaLabel:P}=T;return F.some((k=>f.includes(k)||P.includes(k)))}))})(v,$.map((S=>{var O;return{safeText:Vt(S).toLowerCase(),ariaLabel:((O=S.getAttribute("aria-label"))==null?void 0:O.toLowerCase().trim())||""}})))&&!fn($,g)})(s,this.instance.config.rageclick)&&this.As(i,"$rageclick");var r=e===es;if(s&&(function(h,d,g,v,_){var $,S,O,F;if(g===void 0&&(g=void 0),!p||hr(h)||($=g)!=null&&$.url_allowlist&&!vn(g.url_allowlist)||(S=g)!=null&&S.url_ignorelist&&vn(g.url_ignorelist))return!1;if((O=g)!=null&&O.dom_event_allowlist){var T=g.dom_event_allowlist;if(T&&!T.some((y=>d.type===y)))return!1}var{parentIsUsefulElement:f,targetElementList:P}=yn(h,v);if(!(function(y,I){var C=I?.element_allowlist;if(E(C))return!0;var L,M=function(J){if(C.some((Q=>J.tagName.toLowerCase()===Q)))return{v:!0}};for(var A of y)if(L=M(A))return L.v;return!1})(P,g)||!fn(P,(F=g)==null?void 0:F.css_selector_allowlist))return!1;var k=p.getComputedStyle(h);if(k&&k.getPropertyValue("cursor")==="pointer"&&d.type==="click")return!0;var x=h.tagName.toLowerCase();switch(x){case"html":return!1;case"form":return(_||["submit"]).indexOf(d.type)>=0;case"input":case"select":case"textarea":return(_||["change","click"]).indexOf(d.type)>=0;default:return f?(_||["click"]).indexOf(d.type)>=0:(_||["click"]).indexOf(d.type)>=0&&(Tr.indexOf(x)>-1||h.getAttribute("contenteditable")==="true")}})(s,i,this.qt,r,r?["copy","cut"]:void 0)){var{props:n,explicitNoCapture:o}=_l(s,{e:i,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.qt.element_attribute_ignorelist,elementsChainAsString:this.Os});if(o)return!1;var a=this.getElementSelectors(s);if(a&&a.length>0&&(n.$element_selectors=a),e===es){var l,c=Uo(p==null||(l=p.getSelection())==null?void 0:l.toString()),u=i.type||"clipboard";if(!c)return!1;n.$selected_content=c,n.$copy_type=u}return this.instance.capture(e,n),!0}}}isBrowserSupported(){return Oe(b?.querySelectorAll)}},historyAutocapture:class{constructor(i){var e;this._instance=i,this.Ns=(p==null||(e=p.location)==null?void 0:e.pathname)||""}initialize(){this.startIfEnabled()}get isEnabled(){return this._instance.config.capture_pageview==="history_change"}startIfEnabled(){this.isEnabled&&(w.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}stop(){this.$s&&this.$s(),this.$s=void 0,w.info("History API monitoring stopped")}monitorHistoryChanges(){var i,e;if(p&&p.history){var t=this;(i=p.history.pushState)!=null&&i.__posthog_wrapped__||En(p.history,"pushState",(s=>function(r,n,o){s.call(this,r,n,o),t.Ds("pushState")})),(e=p.history.replaceState)!=null&&e.__posthog_wrapped__||En(p.history,"replaceState",(s=>function(r,n,o){s.call(this,r,n,o),t.Ds("replaceState")})),this.qs()}}Ds(i){try{var e,t=p==null||(e=p.location)==null?void 0:e.pathname;if(!t)return;t!==this.Ns&&this.isEnabled&&this._instance.capture(ot,{navigation_type:i}),this.Ns=t}catch(s){w.error("Error capturing "+i+" pageview",s)}}qs(){if(!this.$s){var i=()=>{this.Ds("popstate")};K(p,"popstate",i),this.$s=()=>{p&&p.removeEventListener("popstate",i)}}}},heatmaps:class{get qt(){return this.instance.config}constructor(i){var e;this.js=!1,this.Ps=!1,this.Hs=null,this.instance=i,this.js=!((e=this.instance.persistence)==null||!e.props[Ss]),this.rageclicks=new Ii(i.config.rageclick)}initialize(){this.startIfEnabled()}get flushIntervalMilliseconds(){var i=5e3;return Y(this.qt.capture_heatmaps)&&this.qt.capture_heatmaps.flush_interval_milliseconds&&(i=this.qt.capture_heatmaps.flush_interval_milliseconds),i}get isEnabled(){return N(this.qt.capture_heatmaps)?N(this.qt.enable_heatmaps)?this.js:this.qt.enable_heatmaps:this.qt.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.Ps)return;ml.info("starting..."),this.Us(),this.At()}else{var i;clearInterval((i=this.Hs)!==null&&i!==void 0?i:void 0),this.Bs(),this.getAndClearBuffer()}}onRemoteConfig(i){if("heatmaps"in i){var e=!!i.heatmaps;this.instance.persistence&&this.instance.persistence.register({[Ss]:e}),this.js=e,this.startIfEnabled()}}getAndClearBuffer(){var i=this.M;return this.M=void 0,i}zs(i){this.Mt(i.originalEvent,"deadclick")}At(){this.Hs&&clearInterval(this.Hs),this.Hs=b?.visibilityState==="visible"?setInterval(this.Zr.bind(this),this.flushIntervalMilliseconds):null}Us(){p&&b&&(this.Vs=this.Zr.bind(this),K(p,fi,this.Vs),this.Ws=i=>this.Mt(i||p?.event),K(b,"click",this.Ws,{capture:!0}),this.Zs=i=>this.Gs(i||p?.event),K(b,"mousemove",this.Zs,{capture:!0}),this.Qs=new mi(this.instance,La,this.zs.bind(this)),this.Qs.startIfEnabledOrStop(),this.Js=this.At.bind(this),K(b,_i,this.Js),this.Ps=!0)}Bs(){var i;p&&b&&(this.Vs&&p.removeEventListener(fi,this.Vs),this.Ws&&b.removeEventListener("click",this.Ws,{capture:!0}),this.Zs&&b.removeEventListener("mousemove",this.Zs,{capture:!0}),this.Js&&b.removeEventListener(_i,this.Js),clearTimeout(this.Ks),(i=this.Qs)==null||i.stop(),this.Ps=!1)}Ys(i,e){var t=this.instance.scrollManager.scrollY(),s=this.instance.scrollManager.scrollX(),r=this.instance.scrollManager.scrollElement(),n=(function(o,a,l){for(var c=o;c&&Ze(c)&&!xe(c,"body");){if(c===l)return!1;if(D(a,p?.getComputedStyle(c).position))return!0;c=jo(c)}return!1})(_n(i),["fixed","sticky"],r);return{x:i.clientX+(n?0:s),y:i.clientY+(n?0:t),target_fixed:n,type:e}}Mt(i,e){var t;if(e===void 0&&(e="click"),!gn(i.target)&&Pn(i)){var s=this.Ys(i,e);(t=this.rageclicks)!=null&&t.isRageClick(i.clientX,i.clientY,new Date().getTime())&&this.Xs(m({},s,{type:"rageclick"})),this.Xs(s)}}Gs(i){!gn(i.target)&&Pn(i)&&(clearTimeout(this.Ks),this.Ks=setTimeout((()=>{this.Xs(this.Ys(i,"mousemove"))}),500))}Xs(i){if(p){var e=p.location.href,t=this.qt.custom_personal_data_properties,s=this.qt.mask_personal_data_properties?[..._t,...t||[]]:[],r=jt(e,s,Ht);this.M=this.M||{},this.M[r]||(this.M[r]=[]),this.M[r].push(i)}}Zr(){this.M&&!lt(this.M)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},deadClicksAutocapture:mi,webVitalsAutocapture:class{constructor(i){var e;this.js=!1,this.Ps=!1,this.M={url:void 0,metrics:[],firstMetricTimestamp:void 0},this.eo=()=>{clearTimeout(this.ro),this.M.metrics.length!==0&&(this._instance.capture("$web_vitals",this.M.metrics.reduce(((t,s)=>m({},t,{["$web_vitals_"+s.name+"_event"]:m({},s),["$web_vitals_"+s.name+"_value"]:s.value})),{})),this.M={url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.ht=t=>{var s,r=(s=this._instance.sessionManager)==null?void 0:s.checkAndGetSessionAndWindowId(!0);if(E(r))Ne.error("Could not read session ID. Dropping metrics!");else{this.M=this.M||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var n=this.io();E(n)||(N(t?.name)||N(t?.value)?Ne.error("Invalid metric received",t):!this.no||this.no>t.value?(this.M.url!==n&&(this.eo(),this.ro=setTimeout(this.eo,this.flushToCaptureTimeoutMs)),E(this.M.url)&&(this.M.url=n),this.M.firstMetricTimestamp=E(this.M.firstMetricTimestamp)?Date.now():this.M.firstMetricTimestamp,t.attribution&&t.attribution.interactionTargetElement&&(t.attribution.interactionTargetElement=void 0),this.M.metrics.push(m({},t,{$current_url:n,$session_id:r.sessionId,$window_id:r.windowId,timestamp:Date.now()})),this.M.metrics.length===this.allowedMetrics.length&&this.eo()):Ne.error("Ignoring metric with value >= "+this.no,t))}},this.so=()=>{if(!this.Ps){var t,s,r,n,o=R.__PosthogExtensions__;E(o)||E(o.postHogWebVitalsCallbacks)||({onLCP:t,onCLS:s,onFCP:r,onINP:n}=o.postHogWebVitalsCallbacks),t&&s&&r&&n?(this.allowedMetrics.indexOf("LCP")>-1&&t(this.ht.bind(this)),this.allowedMetrics.indexOf("CLS")>-1&&s(this.ht.bind(this)),this.allowedMetrics.indexOf("FCP")>-1&&r(this.ht.bind(this)),this.allowedMetrics.indexOf("INP")>-1&&n(this.ht.bind(this)),this.Ps=!0):Ne.error("web vitals callbacks not loaded - not starting")}},this._instance=i,this.js=!((e=this._instance.persistence)==null||!e.props[$s]),this.startIfEnabled()}get oo(){return this._instance.config.capture_performance}get allowedMetrics(){var i,e,t=Y(this.oo)?(i=this.oo)==null?void 0:i.web_vitals_allowed_metrics:void 0;return N(t)?((e=this._instance.persistence)==null?void 0:e.props[Is])||["CLS","FCP","INP","LCP"]:t}get flushToCaptureTimeoutMs(){return(Y(this.oo)?this.oo.web_vitals_delayed_flush_ms:void 0)||5e3}get useAttribution(){var i=Y(this.oo)?this.oo.web_vitals_attribution:void 0;return i!=null&&i}get no(){var i=Y(this.oo)&&me(this.oo.__web_vitals_max_value)?this.oo.__web_vitals_max_value:xn;return i>0&&6e4>=i?xn:i}get isEnabled(){var i=ee?.protocol;if(i!=="http:"&&i!=="https:")return Ne.info("Web Vitals are disabled on non-http/https protocols"),!1;var e=Y(this.oo)?this.oo.web_vitals:Pe(this.oo)?this.oo:void 0;return Pe(e)?e:this.js}startIfEnabled(){this.isEnabled&&!this.Ps&&(Ne.info("enabled, starting..."),this.lr(this.so))}onRemoteConfig(i){if("capturePerformance"in i){var e=Y(i.capturePerformance)&&!!i.capturePerformance.web_vitals,t=Y(i.capturePerformance)?i.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[$s]:e}),this._instance.persistence.register({[Is]:t})),this.js=e,this.startIfEnabled()}}lr(i){var e,t;(e=R.__PosthogExtensions__)!=null&&e.postHogWebVitalsCallbacks?i():(t=R.__PosthogExtensions__)==null||t.loadExternalDependency==null||t.loadExternalDependency(this._instance,this.useAttribution?"web-vitals-with-attribution":"web-vitals",(s=>{s?Ne.error("failed to load script",s):i()}))}io(){var i=p?p.location.href:void 0;if(i){var e=this._instance.config.custom_personal_data_properties,t=this._instance.config.mask_personal_data_properties?[..._t,...e||[]]:[];return jt(i,t,Ht)}Ne.error("Could not determine current URL")}}},kl={exceptionObserver:class{constructor(i){var e,t,s;this.so=()=>{var r;if(p&&this.isEnabled&&(r=R.__PosthogExtensions__)!=null&&r.errorWrappingFunctions){var n=R.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,o=R.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,a=R.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.ao&&this.qt.capture_unhandled_errors&&(this.ao=n(this.captureException.bind(this))),!this.uo&&this.qt.capture_unhandled_rejections&&(this.uo=o(this.captureException.bind(this))),!this.lo&&this.qt.capture_console_errors&&(this.lo=a(this.captureException.bind(this)))}catch(l){kt.error("failed to start",l),this.ho()}}},this._instance=i,this.co=!((e=this._instance.persistence)==null||!e.props[Ps]),this.do=new us({refillRate:(t=this._instance.config.error_tracking.__exceptionRateLimiterRefillRate)!==null&&t!==void 0?t:1,bucketSize:(s=this._instance.config.error_tracking.__exceptionRateLimiterBucketSize)!==null&&s!==void 0?s:10,refillInterval:1e4,Gt:kt}),this.qt=this.vo(),this.startIfEnabledOrStop()}vo(){var i=this._instance.config.capture_exceptions,e={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return Y(i)?e=m({},e,i):(E(i)?this.co:i)&&(e=m({},e,{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),e}get isEnabled(){return this.qt.capture_console_errors||this.qt.capture_unhandled_errors||this.qt.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(kt.info("enabled"),this.ho(),this.lr(this.so)):this.ho()}lr(i){var e,t;(e=R.__PosthogExtensions__)!=null&&e.errorWrappingFunctions&&i(),(t=R.__PosthogExtensions__)==null||t.loadExternalDependency==null||t.loadExternalDependency(this._instance,"exception-autocapture",(s=>{if(s)return kt.error("failed to load script",s);i()}))}ho(){var i,e,t;(i=this.ao)==null||i.call(this),this.ao=void 0,(e=this.uo)==null||e.call(this),this.uo=void 0,(t=this.lo)==null||t.call(this),this.lo=void 0}onRemoteConfig(i){"autocaptureExceptions"in i&&(this.co=!!i.autocaptureExceptions||!1,this._instance.persistence&&this._instance.persistence.register({[Ps]:this.co}),this.qt=this.vo(),this.startIfEnabledOrStop())}onConfigChange(){this.qt=this.vo()}captureException(i){var e,t,s,r=(e=i==null||(t=i.$exception_list)==null||(t=t[0])==null?void 0:t.type)!==null&&e!==void 0?e:"Exception";this.do.consumeRateLimit(r)?kt.info("Skipping exception capture because of client rate limiting.",{exception:r}):(s=this._instance.exceptions)==null||s.sendExceptionEvent(i)}},exceptions:class{constructor(i){var e,t;this.fo=[],this.po=new ps([new vs,new Es,new fs,new _s,new bs,new ys,new ms,new ws],(function(s){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;r>o;o++)n[o-1]=arguments[o];return function(a,l){l===void 0&&(l=0);for(var c=[],u=a.split(`
3
- `),h=l;u.length>h;h++){var d=u[h];if(1024>=d.length){var g=Xr.test(d)?d.replace(Xr,"$1"):d;if(!g.match(/\S*Error: /)){for(var v of n){var _=v(g,s);if(_){c.push(_);break}}if(c.length>=50)break}}}return(function($){if(!$.length)return[];var S=Array.from($);return S.reverse(),S.slice(0,50).map((O=>{return m({},O,{filename:O.filename||(F=S,F[F.length-1]||{}).filename,function:O.function||vt});var F}))})(c)}})("web:javascript",ba,xa)),this._instance=i,this.fo=(e=(t=this._instance.persistence)==null?void 0:t.get_property(Fs))!==null&&e!==void 0?e:[],this.mo=ci(this.yo()),this.bo=new xs(this.mo)}onConfigChange(){this.mo=ci(this.yo()),this.bo.setConfig(this.mo)}onRemoteConfig(i){var e,t,s;if("errorTracking"in i){var r=(e=(t=i.errorTracking)==null?void 0:t.suppressionRules)!==null&&e!==void 0?e:[],n=(s=i.errorTracking)==null?void 0:s.captureExtensionExceptions;this.fo=r,this._instance.persistence&&this._instance.persistence.register({[Fs]:this.fo,[Rs]:n})}}get _o(){var i,e=!!this._instance.get_property(Rs),t=this._instance.config.error_tracking.captureExtensionExceptions;return(i=t??e)!==null&&i!==void 0&&i}buildProperties(i,e){return this.po.buildFromUnknown(i,{syntheticException:e?.syntheticException,mechanism:{handled:e?.handled}})}addExceptionStep(i,e){if(this.mo.enabled)try{if(!B(i)||i.trim().length===0)return void Te.warn("Ignoring exception step because message must be a non-empty string");var t=this.wo(e),{sanitizedProperties:s,droppedKeys:r}=(function(n){if(!n)return{sanitizedProperties:{},droppedKeys:[]};var o=[];return{sanitizedProperties:Object.keys(n).reduce(((a,l)=>Pa.has(l)?(o.push(l),a):(a[l]=n[l],a)),{}),droppedKeys:o}})(t);r.length>0&&Te.warn("Ignoring reserved exception step fields",{droppedKeys:r}),this.bo.add(m({[li]:i,[ui]:new Date().toISOString()},s))}catch(n){Te.error("Failed to add exception step. Ignoring breadcrumb.",n)}}sendExceptionEvent(i){try{var e=i.$exception_list;if(this.xo(e)){if(this.So(e))return this.ko("Exception dropped: matched a suppression rule"),void Te.info("Skipping exception capture because a suppression rule matched");if(!this._o&&this.Co(e))return this.ko("Exception dropped: thrown by a browser extension"),void Te.info("Skipping exception capture because it was thrown by an extension");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.Io(e))return this.ko("Exception dropped: thrown by the PostHog SDK"),void Te.info("Skipping exception capture because it was thrown by the PostHog SDK")}var t=this.mo.enabled&&N(i.$exception_steps)?this.To(i):i;try{var s=this._instance.capture("$exception",t,{_noTruncate:!0,_batchKey:"exceptionEvent",en:!0});return s&&this.bo.clear(),s}catch(r){return Te.error("Failed to capture exception event. Dropping this exception.",r),void this.bo.clear()}}catch(r){return void Te.error("Failed to process exception event. Ignoring this exception.",r)}}To(i){try{var e=this.bo.getAttachable();return e.length===0?i:m({},i,{$exception_steps:e})}catch(t){return Te.error("Failed to read buffered exception steps. Capturing exception without steps.",t),i}}ko(i){this.mo.enabled&&this.bo.add({[li]:i,[ui]:new Date().toISOString()})}wo(i){return Y(i)?m({},i):{}}yo(){var i,e;return(i=(e=this._instance.config.error_tracking)==null?void 0:e.exception_steps)!==null&&i!==void 0?i:{}}So(i){if(i.length===0)return!1;var e=i.reduce(((t,s)=>{var{type:r,value:n}=s;return B(r)&&r.length>0&&t.$exception_types.push(r),B(n)&&n.length>0&&t.$exception_values.push(n),t}),{$exception_types:[],$exception_values:[]});return this.fo.some((t=>{var s=t.values.map((r=>{var n,o=Mo[r.operator],a=q(r.value)?r.value:[r.value],l=(n=e[r.key])!==null&&n!==void 0?n:[];return a.length>0&&o(a,l)}));return t.type==="OR"?s.some(Boolean):s.every(Boolean)}))}Co(i){return i.flatMap((e=>{var t,s;return(t=(s=e.stacktrace)==null?void 0:s.frames)!==null&&t!==void 0?t:[]})).some((e=>e.filename&&e.filename.startsWith("chrome-extension://")))}Io(i){if(i.length>0){var e,t,s,r,n=(e=(t=i[0].stacktrace)==null?void 0:t.frames)!==null&&e!==void 0?e:[],o=n[n.length-1];return(s=o==null||(r=o.filename)==null?void 0:r.includes("posthog.com/static"))!==null&&s!==void 0&&s}return!1}xo(i){return!N(i)&&q(i)}}},Sl=m({productTours:class{get ni(){return this._instance.persistence}constructor(i){this.Eo=null,this.Mo=null,this._instance=i}initialize(){this.loadIfEnabled()}onRemoteConfig(i){"productTours"in i&&(this.ni&&this.ni.register({[Ts]:!!i.productTours}),this.loadIfEnabled())}loadIfEnabled(){var i,e;this.Eo||(i=this._instance).config.disable_product_tours||(e=i.persistence)==null||!e.get_property(Ts)||this.lr((()=>this.Po()))}lr(i){var e,t;(e=R.__PosthogExtensions__)!=null&&e.generateProductTours?i():(t=R.__PosthogExtensions__)==null||t.loadExternalDependency==null||t.loadExternalDependency(this._instance,"product-tours",(s=>{s?Fn.error("Could not load product tours script",s):i()}))}Po(){var i;!this.Eo&&(i=R.__PosthogExtensions__)!=null&&i.generateProductTours&&(this.Eo=R.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(i,e){if(e===void 0&&(e=!1),!q(this.Mo)||e){var t=this.ni;if(t){var s=t.props[si];if(q(s)&&!e)return this.Mo=s,void i(s,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/product_tours/?token="+this._instance.config.token),method:"GET",callback:r=>{var n=r.statusCode;if(n!==200||!r.json){var o="Product Tours API could not be loaded, status: "+n;return Fn.error(o),void i([],{isLoaded:!1,error:o})}var a=q(r.json.product_tours)?r.json.product_tours:[];this.Mo=a,t&&t.register({[si]:a}),i(a,{isLoaded:!0})}})}else i(this.Mo,{isLoaded:!0})}getActiveProductTours(i){N(this.Eo)?i([],{isLoaded:!1,error:"Product tours not loaded"}):this.Eo.getActiveProductTours(i)}showProductTour(i){var e;(e=this.Eo)==null||e.showTourById(i)}previewTour(i){this.Eo?this.Eo.previewTour(i):this.lr((()=>{var e;this.Po(),(e=this.Eo)==null||e.previewTour(i)}))}dismissProductTour(){var i;(i=this.Eo)==null||i.dismissTour("user_clicked_skip")}nextStep(){var i;(i=this.Eo)==null||i.nextStep()}previousStep(){var i;(i=this.Eo)==null||i.previousStep()}clearCache(){var i;this.Mo=null,(i=this.ni)==null||i.unregister(si)}resetTour(i){var e;(e=this.Eo)==null||e.resetTour(i)}resetAllTours(){var i;(i=this.Eo)==null||i.resetAllTours()}cancelPendingTour(i){var e;(e=this.Eo)==null||e.cancelPendingTour(i)}}},Ai),Pl={siteApps:class{constructor(i){this._instance=i,this.Ro=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}Oo(i,e){if(e){var t=this.globalsForEvent(e);this.Ro.push(t),this.Ro.length>1e3&&(this.Ro=this.Ro.slice(10))}}get siteAppLoaders(){var i;return(i=R._POSTHOG_REMOTE_CONFIG)==null||(i=i[this._instance.config.token])==null?void 0:i.siteApps}initialize(){if(this.isEnabled){var i=this._instance._addCaptureHook(this.Oo.bind(this));this.Lo=()=>{i(),this.Ro=[],this.Lo=void 0}}}globalsForEvent(i){var e,t,s,r,n,o,a;if(!i)throw new Error("Event payload is required");var l={},c=this._instance.get_property("$groups")||[],u=this._instance.get_property("$stored_group_properties")||{};for(var[h,d]of Object.entries(u))l[h]={id:c[h],type:h,properties:d};var{$set_once:g,$set:v}=i;return{event:m({},Ln(i,yl),{properties:m({},i.properties,v?{$set:m({},(e=(t=i.properties)==null?void 0:t.$set)!==null&&e!==void 0?e:{},v)}:{},g?{$set_once:m({},(s=(r=i.properties)==null?void 0:r.$set_once)!==null&&s!==void 0?s:{},g)}:{}),elements_chain:(n=(o=i.properties)==null?void 0:o.$elements_chain)!==null&&n!==void 0?n:"",distinct_id:(a=i.properties)==null?void 0:a.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:l}}setupSiteApp(i){var e=this.apps[i.id],t=()=>{var o;!e.errored&&this.Ro.length&&(Ue.info("Processing "+this.Ro.length+" events for site app with id "+i.id),this.Ro.forEach((a=>e.processEvent==null?void 0:e.processEvent(a))),e.processedBuffer=!0),Object.values(this.apps).every((a=>a.processedBuffer||a.errored))&&((o=this.Lo)==null||o.call(this))},s=!1,r=o=>{e.errored=!o,e.loaded=!0,Ue.info("Site app with id "+i.id+" "+(o?"loaded":"errored")),s&&t()};try{var{processEvent:n}=i.init({posthog:this._instance,callback(o){r(o)}});n&&(e.processEvent=n),s=!0}catch(o){Ue.error(Rn+i.id,o),r(!1)}if(s&&e.loaded)try{t()}catch(o){Ue.error("Error while processing buffered events PostHog app with config id "+i.id,o),e.errored=!0}}Fo(){var i=this.siteAppLoaders||[];for(var e of i)this.apps[e.id]={id:e.id,loaded:!1,errored:!1,processedBuffer:!1};for(var t of i)this.setupSiteApp(t)}Ao(i){if(Object.keys(this.apps).length!==0){var e=this.globalsForEvent(i);for(var t of Object.values(this.apps))try{t.processEvent==null||t.processEvent(e)}catch(s){Ue.error("Error while processing event "+i.event+" for site app "+t.id,s)}}}onRemoteConfig(i){var e,t,s,r=this;if((e=this.siteAppLoaders)!=null&&e.length)return this.isEnabled?(this.Fo(),void this._instance.on("eventCaptured",(l=>this.Ao(l)))):void Ue.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((t=this.Lo)==null||t.call(this),(s=i.siteApps)!=null&&s.length)if(this.isEnabled){var n=function(l){var c;R["__$$ph_site_app_"+l]=r._instance,(c=R.__PosthogExtensions__)==null||c.loadSiteApp==null||c.loadSiteApp(r._instance,a,(u=>{if(u)return Ue.error(Rn+l,u)}))};for(var{id:o,url:a}of i.siteApps)n(o)}else Ue.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}},Fl={tracingHeaders:class{constructor(i){this.No=void 0,this.$o=void 0,this.so=()=>{var e,t,s=this.Do()||[];E(this.No)&&((e=R.__PosthogExtensions__)==null||(e=e.tracingHeadersPatchFns)==null||e._patchXHR(s,this._instance.get_distinct_id(),this._instance.sessionManager)),E(this.$o)&&((t=R.__PosthogExtensions__)==null||(t=t.tracingHeadersPatchFns)==null||t._patchFetch(s,this._instance.get_distinct_id(),this._instance.sessionManager))},this._instance=i}initialize(){this.startIfEnabledOrStop()}lr(i){var e,t;(e=R.__PosthogExtensions__)!=null&&e.tracingHeadersPatchFns&&i(),(t=R.__PosthogExtensions__)==null||t.loadExternalDependency==null||t.loadExternalDependency(this._instance,"tracing-headers",(s=>{if(s)return fl.error("failed to load script",s);i()}))}Do(){var i;return(i=this._instance.config.addTracingHeaders)!==null&&i!==void 0?i:this._instance.config.__add_tracing_headers}startIfEnabledOrStop(){var i,e;this.Do()?this.lr(this.so):((i=this.No)==null||i.call(this),(e=this.$o)==null||e.call(this),this.No=void 0,this.$o=void 0)}}},Rl=m({surveys:class{get qt(){return this._instance.config}constructor(i){this.qo=void 0,this._surveyManager=null,this.jo=!1,this.Ho=[],this.Uo=null,this._instance=i,this._surveyEventReceiver=null}initialize(){this.loadIfEnabled()}onRemoteConfig(i){if(!this.qt.disable_surveys){var e=i.surveys;if(N(e))return U.warn("Flags not loaded yet. Not loading surveys.");var t=q(e);this.qo=t?e.length>0:e,U.info("flags response received, isSurveysEnabled: "+this.qo),this.loadIfEnabled()}}reset(){localStorage.removeItem("lastSeenSurveyDate");for(var i=[],e=0;e<localStorage.length;e++){var t=localStorage.key(e);(t!=null&&t.startsWith(ar)||t!=null&&t.startsWith("inProgressSurvey_"))&&i.push(t)}i.forEach((s=>localStorage.removeItem(s)))}loadIfEnabled(){if(!this._surveyManager)if(this.jo)U.info("Already initializing surveys, skipping...");else if(this.qt.disable_surveys)U.info($n);else if(this.qt.cookieless_mode&&this._instance.consent.isOptedOut())U.info("Not loading surveys in cookieless mode without consent.");else{var i=R?.__PosthogExtensions__;if(i){if(!E(this.qo)||this.qt.advanced_enable_surveys){var e=this.qo||this.qt.advanced_enable_surveys;this.jo=!0;try{var t=i.generateSurveys;if(t)return void this.Bo(t,e);var s=i.loadExternalDependency;if(!s)return void this.zo(Sr);s(this._instance,"surveys",(r=>{r||!i.generateSurveys?this.zo("Could not load surveys script",r):this.Bo(i.generateSurveys,e)}))}catch(r){throw this.zo("Error initializing surveys",r),r}finally{this.jo=!1}}}else U.error("PostHog Extensions not found.")}}Bo(i,e){this._surveyManager=i(this._instance,e),this._surveyEventReceiver=new _r(this._instance),U.info("Surveys loaded successfully"),this.Vo({isLoaded:!0})}zo(i,e){U.error(i,e),this.Vo({isLoaded:!1,error:i})}onSurveysLoaded(i){return this.Ho.push(i),this._surveyManager&&this.Vo({isLoaded:!0}),()=>{this.Ho=this.Ho.filter((e=>e!==i))}}getSurveys(i,e){if(e===void 0&&(e=!1),this.qt.disable_surveys)return U.info($n),i([]);var t,s=this._instance.get_property(As);if(s&&!e)return i(s,{isLoaded:!0});typeof Promise<"u"&&this.Uo?this.Uo.then((r=>{var{surveys:n,context:o}=r;return i(n,o)})):(typeof Promise<"u"&&(this.Uo=new Promise((r=>{t=r}))),this._instance._send_request({url:this._instance.requestRouter.endpointFor("api","/api/surveys/?token="+this.qt.token),method:"GET",timeout:this.qt.surveys_request_timeout_ms,callback:r=>{var n;this.Uo=null;var o=r.statusCode;if(o!==200||!r.json){var a="Surveys API could not be loaded, status: "+o;U.error(a);var l={isLoaded:!1,error:a};return i([],l),void(t==null||t({surveys:[],context:l}))}var c,u=r.json.surveys||[],h=u.filter((g=>(function(v){return!(!v.start_date||v.end_date)})(g)&&((function(v){var _;return!((_=v.conditions)==null||(_=_.events)==null||(_=_.values)==null||!_.length)})(g)||(function(v){var _;return!((_=v.conditions)==null||(_=_.actions)==null||(_=_.values)==null||!_.length)})(g))));h.length>0&&((c=this._surveyEventReceiver)==null||c.register(h)),(n=this._instance.persistence)==null||n.register({[As]:u});var d={isLoaded:!0};i(u,d),t?.({surveys:u,context:d})}}))}Vo(i){for(var e of this.Ho)try{if(!i.isLoaded)return e([],i);this.getSurveys(e)}catch(t){U.error("Error in survey callback",t)}}getActiveMatchingSurveys(i,e){if(e===void 0&&(e=!1),!N(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(i,e);U.warn("init was not called")}Wo(i){var e=null;return this.getSurveys((t=>{var s;e=(s=t.find((r=>r.id===i)))!==null&&s!==void 0?s:null})),e}Zo(i){if(N(this._surveyManager))return{eligible:!1,reason:ss};var e=typeof i=="string"?this.Wo(i):i;return e?this._surveyManager.checkSurveyEligibility(e):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(i){if(N(this._surveyManager))return U.warn("init was not called"),{visible:!1,disabledReason:ss};var e=this.Zo(i);return{visible:e.eligible,disabledReason:e.reason}}canRenderSurveyAsync(i,e){return N(this._surveyManager)?(U.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:ss})):new Promise((t=>{this.getSurveys((s=>{var r,n=(r=s.find((a=>a.id===i)))!==null&&r!==void 0?r:null;if(n){var o=this.Zo(n);t({visible:o.eligible,disabledReason:o.reason})}else t({visible:!1,disabledReason:"Survey not found"})}),e)}))}renderSurvey(i,e,t){var s;if(N(this._surveyManager))U.warn("init was not called");else{var r=typeof i=="string"?this.Wo(i):i;if(r!=null&&r.id)if(tl.includes(r.type)){var n=b?.querySelector(e);if(n)return(s=r.appearance)!=null&&s.surveyPopupDelaySeconds?(U.info("Rendering survey "+r.id+" with delay of "+r.appearance.surveyPopupDelaySeconds+" seconds"),void setTimeout((()=>{var o,a;U.info("Rendering survey "+r.id+" with delay of "+((o=r.appearance)==null?void 0:o.surveyPopupDelaySeconds)+" seconds"),(a=this._surveyManager)==null||a.renderSurvey(r,n,t),U.info("Survey "+r.id+" rendered")}),1e3*r.appearance.surveyPopupDelaySeconds)):void this._surveyManager.renderSurvey(r,n,t);U.warn("Survey element not found")}else U.warn("Surveys of type "+r.type+" cannot be rendered in the app");else U.warn("Survey not found")}}displaySurvey(i,e){var t;if(N(this._surveyManager))U.warn("init was not called");else{var s=this.Wo(i);if(s){var r=s;if((t=s.appearance)!=null&&t.surveyPopupDelaySeconds&&e.ignoreDelay&&(r=m({},s,{appearance:m({},s.appearance,{surveyPopupDelaySeconds:0})})),e.displayType!==Xs.Popover&&e.initialResponses&&U.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),e.ignoreConditions===!1){var n=this.canRenderSurvey(s);if(!n.visible)return void U.warn("Survey is not eligible to be displayed: ",n.disabledReason)}e.displayType!==Xs.Inline?this._surveyManager.handlePopoverSurvey(r,e):this.renderSurvey(r,e.selector,e.properties)}else U.warn("Survey not found")}}cancelPendingSurvey(i){N(this._surveyManager)?U.warn("init was not called"):this._surveyManager.cancelSurvey(i)}handlePageUnload(){var i;(i=this._surveyManager)==null||i.handlePageUnload()}}},Ai),$l={toolbar:class{constructor(i){this.instance=i}Go(i){R.ph_toolbar_state=i}Qo(){var i;return(i=R.ph_toolbar_state)!==null&&i!==void 0?i:0}initialize(){return this.maybeLoadToolbar()}maybeLoadToolbar(i,e,t){if(i===void 0&&(i=void 0),e===void 0&&(e=void 0),t===void 0&&(t=void 0),fo(this.instance.config)||!p||!b)return!1;i=i??p.location,t=t??p.history;try{if(!e){try{p.localStorage.setItem("test","test"),p.localStorage.removeItem("test")}catch{return!1}e=p?.localStorage}var s,r=bl||Ei(i.hash,"__posthog")||Ei(i.hash,"state"),n=r?Jr((()=>JSON.parse(atob(decodeURIComponent(r)))))||Jr((()=>JSON.parse(decodeURIComponent(r)))):null;return n&&n.action==="ph_authorize"?((s=n).source="url",s&&Object.keys(s).length>0&&(n.desiredHash?i.hash=n.desiredHash:t?t.replaceState(t.state,"",i.pathname+i.search):i.hash="")):((s=JSON.parse(e.getItem(Tn)||"{}")).source="localstorage",delete s.userIntent),!(!s.token||this.instance.config.token!==s.token||(this.loadToolbar(s),0))}catch{return!1}}Jo(i){var e=R.ph_load_toolbar||R.ph_load_editor;!N(e)&&Oe(e)?e(i,this.instance):In.warn("No toolbar load function found")}loadToolbar(i){var e=!(b==null||!b.getElementById(po));if(!p||e)return!1;var t=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,s=m({token:this.instance.config.token},i,{apiURL:this.instance.requestRouter.endpointFor("ui")},t?{instrument:!1}:{});if(p.localStorage.setItem(Tn,JSON.stringify(m({},s,{source:void 0}))),this.Qo()===2)this.Jo(s);else if(this.Qo()===0){var r;this.Go(1),(r=R.__PosthogExtensions__)==null||r.loadExternalDependency==null||r.loadExternalDependency(this.instance,"toolbar",(n=>{if(n)return In.error("[Toolbar] Failed to load",n),void this.Go(0);this.Go(2),this.Jo(s)})),K(p,"turbolinks:load",(()=>{this.Go(0),this.loadToolbar(s)}))}return!0}Ko(i){return this.loadToolbar(i)}maybeLoadEditor(i,e,t){return i===void 0&&(i=void 0),e===void 0&&(e=void 0),t===void 0&&(t=void 0),this.maybeLoadToolbar(i,e,t)}}},Tl=m({experiments:fr},Ai),Il={conversations:class{constructor(i){this.Yo=void 0,this._conversationsManager=null,this.Xo=!1,this.ea=null,this._instance=i}initialize(){this.loadIfEnabled()}onRemoteConfig(i){if(!this._instance.config.disable_conversations){var e=i.conversations;N(e)||(Pe(e)?this.Yo=e:(this.Yo=e.enabled,this.ea=e),this.loadIfEnabled())}}reset(){var i;(i=this._conversationsManager)==null||i.reset(),this._conversationsManager=null,this.Yo=void 0,this.ea=null}loadIfEnabled(){if(!(this._conversationsManager||this.Xo||this._instance.config.disable_conversations||fo(this._instance.config)||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())){var i=R?.__PosthogExtensions__;if(i&&!E(this.Yo)&&this.Yo)if(this.ea&&this.ea.token){this.Xo=!0;try{var e=i.initConversations;if(e)return this.ta(e),void(this.Xo=!1);var t=i.loadExternalDependency;if(!t)return void this.ra(Sr);t(this._instance,"conversations",(s=>{s||!i.initConversations?this.ra("Could not load conversations script",s):this.ta(i.initConversations),this.Xo=!1}))}catch(s){this.ra("Error initializing conversations",s),this.Xo=!1}}else ve.error("Conversations enabled but missing token in remote config.")}}ta(i){if(this.ea)try{this._conversationsManager=i(this.ea,this._instance),ve.info("Conversations loaded successfully")}catch(e){this.ra("Error completing conversations initialization",e)}else ve.error("Cannot complete initialization: remote config is null")}ra(i,e){ve.error(i,e),this._conversationsManager=null,this.Xo=!1}show(){this._conversationsManager?this._conversationsManager.show():ve.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.Yo===!0&&!Ae(this._conversationsManager)}isVisible(){var i,e;return(i=(e=this._conversationsManager)==null?void 0:e.isVisible())!==null&&i!==void 0&&i}sendMessage(i,e,t){var s=this;return _e((function*(){return s._conversationsManager?s._conversationsManager.sendMessage(i,e,t):(ve.warn(We),null)}))()}getMessages(i,e){var t=this;return _e((function*(){return t._conversationsManager?t._conversationsManager.getMessages(i,e):(ve.warn(We),null)}))()}markAsRead(i){var e=this;return _e((function*(){return e._conversationsManager?e._conversationsManager.markAsRead(i):(ve.warn(We),null)}))()}getTickets(i){var e=this;return _e((function*(){return e._conversationsManager?e._conversationsManager.getTickets(i):(ve.warn(We),null)}))()}requestRestoreLink(i){var e=this;return _e((function*(){return e._conversationsManager?e._conversationsManager.requestRestoreLink(i):(ve.warn(We),null)}))()}restoreFromToken(i){var e=this;return _e((function*(){return e._conversationsManager?e._conversationsManager.restoreFromToken(i):(ve.warn(We),null)}))()}restoreFromUrlToken(){var i=this;return _e((function*(){return i._conversationsManager?i._conversationsManager.restoreFromUrlToken():(ve.warn(We),null)}))()}getCurrentTicketId(){var i,e;return(i=(e=this._conversationsManager)==null?void 0:e.getCurrentTicketId())!==null&&i!==void 0?i:null}getWidgetSessionId(){var i,e;return(i=(e=this._conversationsManager)==null?void 0:e.getWidgetSessionId())!==null&&i!==void 0?i:null}ln(){var i;(i=this._conversationsManager)==null||i.setIdentity()}hn(){var i;(i=this._conversationsManager)==null||i.clearIdentity()}}},Ol={logs:class{constructor(i){var e;this.ia=!1,this.na=!1,this.Gt=z("[logs]"),this.sa=[],this.oa=0,this.aa=0,this.ua=!1,this._instance=i,this._instance&&(e=this._instance.config.logs)!=null&&e.captureConsoleLogs&&(this.ia=!0)}initialize(){this.loadIfEnabled()}onRemoteConfig(i){var e,t=(e=i.logs)==null?void 0:e.captureConsoleLogs;!N(t)&&t&&(this.ia=!0,this.loadIfEnabled())}reset(){this.sa=[],this.qr&&(clearTimeout(this.qr),this.qr=void 0),this.oa=0,this.aa=0,this.ua=!1}loadIfEnabled(){if(this.ia&&!this.na){var i=R?.__PosthogExtensions__;if(i){var e=i.loadExternalDependency;e?e(this._instance,"logs",(t=>{var s;t||(s=i.logs)==null||!s.initializeLogs?this.Gt.error("Could not load logs script",t):(i.logs.initializeLogs(this._instance),this.na=!0)})):this.Gt.error(Sr)}else this.Gt.error("PostHog Extensions not found.")}}captureLog(i){var e,t,s,r,n,o;if(this._instance.is_capturing())if(i&&i.body){var a=(e=(t=this._instance.config.logs)==null?void 0:t.flushIntervalMs)!==null&&e!==void 0?e:3e3,l=(s=(r=this._instance.config.logs)==null?void 0:r.maxLogsPerInterval)!==null&&s!==void 0?s:1e3,c=Date.now();if(a>c-this.aa||(this.aa=c,this.oa=0,this.ua=!1),l>this.oa){this.oa++;var u=(function(h,d){var g=h.level||"info",{text:v,number:_}=io[g]||va,$=String(Date.now())+"000000",S={};d.distinctId&&(S.posthogDistinctId=d.distinctId),d.sessionId&&(S.sessionId=d.sessionId),d.currentUrl&&(S["url.full"]=d.currentUrl),d.screenName&&(S["screen.name"]=d.screenName),d.appState&&(S["app.state"]=d.appState),d.activeFeatureFlags&&d.activeFeatureFlags.length>0&&(S.feature_flags=d.activeFeatureFlags);var O=m({},S,h.attributes||{}),F={timeUnixNano:$,observedTimeUnixNano:$,severityNumber:_,severityText:v,body:{stringValue:h.body},attributes:Yr(O)};return h.trace_id&&(F.traceId=h.trace_id),h.span_id&&(F.spanId=h.span_id),E(h.trace_flags)||(F.flags=h.trace_flags),F})(i,this.la());this.sa.push({record:u}),((n=(o=this._instance.config.logs)==null?void 0:o.maxBufferSize)!==null&&n!==void 0?n:100)>this.sa.length?this.ha():this.flushLogs()}else this.ua||(this.Gt.warn("captureLog dropping logs: exceeded "+l+" logs per "+a+"ms"),this.ua=!0)}else this.Gt.warn("captureLog requires a body")}get logger(){return this.ca||(this.ca={trace:(i,e)=>this.captureLog({body:i,level:"trace",attributes:e}),debug:(i,e)=>this.captureLog({body:i,level:"debug",attributes:e}),info:(i,e)=>this.captureLog({body:i,level:"info",attributes:e}),warn:(i,e)=>this.captureLog({body:i,level:"warn",attributes:e}),error:(i,e)=>this.captureLog({body:i,level:"error",attributes:e}),fatal:(i,e)=>this.captureLog({body:i,level:"fatal",attributes:e})}),this.ca}flushLogs(i){if(this.qr&&(clearTimeout(this.qr),this.qr=void 0),this.sa.length!==0){var e=this.sa;this.sa=[];var t=this._instance.config.logs,s=m({"service.name":t?.serviceName||"unknown_service"},t?.environment&&{"deployment.environment":t.environment},t?.serviceVersion&&{"service.version":t.serviceVersion},t?.resourceAttributes),r=(function(o,a,l,c){return{resourceLogs:[{resource:{attributes:Yr(a)},scopeLogs:[{scope:{name:l,version:c},logRecords:o}]}]}})(e.map((o=>o.record)),s,ae.LIB_NAME,ae.LIB_VERSION),n=this._instance.requestRouter.endpointFor("api","/i/v1/logs")+"?token="+encodeURIComponent(this._instance.config.token);this._instance.Bi({method:"POST",url:n,data:r,compression:"best-available",batchKey:"logs",transport:i})}}ha(){var i,e;this.qr||(this.qr=setTimeout((()=>{this.qr=void 0,this.flushLogs()}),(i=(e=this._instance.config.logs)==null?void 0:e.flushIntervalMs)!==null&&i!==void 0?i:3e3))}la(){var i,e={};if(e.distinctId=this._instance.get_distinct_id(),this._instance.sessionManager){var{sessionId:t}=this._instance.sessionManager.checkAndGetSessionAndWindowId(!0);e.sessionId=t}if(R!=null&&(i=R.location)!=null&&i.href&&(e.currentUrl=R.location.href),this._instance.featureFlags){var s=this._instance.featureFlags.getFlags();s&&s.length>0&&(e.activeFeatureFlags=s)}return e}}},Cl=m({},Ai,El,xl,kl,Sl,Pl,Rl,Fl,$l,Tl,Il,Ol);Ke.__defaultExtensionClasses=m({},Cl);var An,X=(An=Dt[at]=new Ke,(function(){function i(){i.done||(i.done=!0,Do=!1,H(Dt,(function(e){e._dom_loaded()})))}b!=null&&b.addEventListener?b.readyState==="complete"?i():K(b,"DOMContentLoaded",i,{capture:!1}):p&&w.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),An);var se=class se{constructor(e,t=!1){this.has_initialized=!1;this.has_identified=!1;this.debug=!1;this.log=Nr("[PostHog]",()=>this.debug);this.cleanupStalePosthogCookies=e=>{if(typeof document>"u"||typeof window>"u")return;let t=`ph_${e}_posthog`,s=document.cookie.split(";").map(a=>a.trim().split("=")[0]??"").filter(a=>/^ph_.+_posthog$/.test(a)&&a!==t);if(s.length===0)return;let r=window.location.hostname,n=r.split("."),o=n.length>=2?`.${n.slice(-2).join(".")}`:r;s.forEach(a=>{[o,r,""].forEach(c=>{let u=c?`; Domain=${c}`:"";document.cookie=`${a}=; path=/${u}; max-age=0; SameSite=Lax`});let l=!document.cookie.split(";").some(c=>c.trim().startsWith(`${a}=`));this.log(`cleanupStalePosthogCookies | ${l?"removed":"failed to remove"} stale cookie: ${a}`)})};this.init=()=>{try{let{apiKey:e,api_host:t,config:s={}}=this.options;if(!e){console.warn("Posthog: No API key provided");return}if(se._hasLoaded||X.__loaded){this.log("init | PostHog already initialized, skipping re-init"),this.has_initialized=!0;return}this.cleanupStalePosthogCookies(e);let r=t||Lr();this.log("init | loading PostHog SDK",{api_host:r});let n={api_host:r,ui_host:Ar,autocapture:{dom_event_allowlist:["click"]},rate_limiting:{events_per_second:10,events_burst_limit:100},...s,person_profiles:"identified_only",capture_pageview:"history_change",capture_pageleave:!0,session_recording:{...s.session_recording,recordCrossOriginIframes:!0,minimumDurationMilliseconds:3e4,maskAllInputs:!0},before_send:o=>{if(typeof window>"u"||!o)return null;if(o.timestamp){let c=o.timestamp.getTime(),u=Date.now();if(c<u-6048e5||c>u+6048e5)return this.log("init | before_send dropped event with bad timestamp",{event:o.event,timestamp:o.timestamp.toISOString()}),null}let a=window.location.hostname;if(a!=="localhost"&&a!=="127.0.0.1"&&!Dr.some(c=>a.endsWith(`.${c}`)||a===c))return this.log("init | before_send blocked event from disallowed host",{currentHost:a}),null;if(s.before_send){let l=Array.isArray(s.before_send)?s.before_send:[s.before_send],c=o;for(let u of l)c=c?u(c):null;return c}return o}};X.init(e,n),se._hasLoaded=!0,this.has_initialized=!0,this.log("init | PostHog SDK loaded successfully")}catch(e){console.error("Posthog: Failed to initialize",e)}};this.resetIfStaleId=(e,t,s)=>{se.isAnonymousId(e)||(this.log(`${s} | stale identified user, resetting`,{previous:e,next:t}),X.reset())};this.identifyEvent=(e,t={})=>{if(!this.has_initialized){console.warn("Posthog: Cannot identify - not initialized");return}try{if(!e||!e.trim()||se.ILLEGAL_IDS.has(e.toLowerCase())){this.log("identifyEvent | skipped \u2014 invalid user_id",{user_id:e});return}let s=X.get_distinct_id();if(s===e){this.log("identifyEvent | skipped \u2014 user already identified",{user_id:e});return}this.resetIfStaleId(s,e,"identifyEvent"),this.log("identifyEvent | identifying user",{user_id:e,traits:t}),X.identify(e,{...t,client_id:e}),this.has_identified=!0}catch(s){console.error("Posthog: Failed to identify user",s)}};this.reset=()=>{if(this.has_initialized)try{this.log("reset | resetting PostHog session"),X.reset(),this.has_identified=!1}catch(e){console.error("Posthog: Failed to reset",e)}};this.backfillPersonProperties=({user_id:e,email:t,language:s,country_of_residence:r})=>{if(!(!this.has_initialized||!e)){if(!e.trim()||se.ILLEGAL_IDS.has(e.toLowerCase())){this.log("backfillPersonProperties | skipped \u2014 invalid user_id",{user_id:e});return}try{let n=X.get_distinct_id(),o=n===e;o||this.resetIfStaleId(n,e,"backfillPersonProperties");let a={};if(X.get_property("client_id")||(a.client_id=e),t&&X.get_property("is_internal")==null&&(a.is_internal=qr(t)),s&&!X.get_property("language")&&(a.language=s),r&&!X.get_property("country_of_residence")&&(a.country_of_residence=r),o){if(Object.keys(a).length===0){this.log("backfillPersonProperties | skipped \u2014 all properties already present",{user_id:e});return}this.log("backfillPersonProperties | backfilling person properties",{user_id:e,updates:a}),X.setPersonProperties(a)}else a.client_id||(a.client_id=e),this.log("backfillPersonProperties | user not identified, identifying now",{user_id:e,updates:a}),X.identify(e,a),this.has_identified=!0}catch(n){console.error("Posthog: Failed to backfill person properties",n)}}};this.capture=(e,t)=>{if(this.has_initialized)try{this.log("capture | sending event to PostHog",{event_name:e,properties:t}),X.capture(e,t)}catch(s){console.error("Posthog: Failed to capture event",s)}};this.isFeatureEnabled=e=>{if(this.has_initialized)try{let t=X.isFeatureEnabled(e);return this.log("isFeatureEnabled",{key:e,result:t}),t}catch(t){console.error("Posthog: Failed to check feature flag",t);return}};this.getFeatureFlag=e=>{if(this.has_initialized)try{let t=X.getFeatureFlag(e);return this.log("getFeatureFlag",{key:e,result:t}),t}catch(t){console.error("Posthog: Failed to get feature flag",t);return}};this.getFeatureFlagPayload=e=>{if(this.has_initialized)try{let t=X.getFeatureFlagResult(e)?.payload;return this.log("getFeatureFlagPayload",{key:e,result:t}),t}catch(t){console.error("Posthog: Failed to get feature flag payload",t);return}};this.getAllFlags=()=>{if(!this.has_initialized)return{};try{let e=X.featureFlags?.getFlagVariants()??{},t=Object.fromEntries(Object.entries(e).filter(s=>s[1]!=null));return this.log("getAllFlags",{result:t}),t}catch(e){return console.error("Posthog: Failed to get all feature flags",e),{}}};this.onFeatureFlags=e=>{if(!this.has_initialized)return()=>{};try{this.log("onFeatureFlags | subscribing to feature flag changes");let t=X.onFeatureFlags(e);return typeof t=="function"?t:()=>{}}catch(t){return console.error("Posthog: Failed to subscribe to feature flags",t),()=>{}}};this.reloadFeatureFlags=()=>{if(this.has_initialized)try{this.log("reloadFeatureFlags | reloading feature flags"),X.reloadFeatureFlags()}catch(e){console.error("Posthog: Failed to reload feature flags",e)}};this.options=e,this.debug=t,this.init()}};se._hasLoaded=!1,se.ILLEGAL_IDS=new Set(["restored","null","undefined","anonymous","guest","distinctid","distinct_id","id","not_authenticated","email","true","false","0","none","nan"]),se.getPosthogInstance=(e,t=!1)=>(se._instance?e.apiKey&&e.apiKey!==se._instance.options.apiKey&&console.warn("Posthog: getPosthogInstance called with a different API key \u2014 returning existing instance"):se._instance=new se(e,t),se._instance),se.isAnonymousId=e=>e?/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e):!0;var Wo=se;export{Wo as Posthog};
4
- //# sourceMappingURL=posthog-QH4OCJ4V.mjs.map