1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,69430,11723,e=>{"use strict";let t,i,s,r,n,o,a,l,u="u">typeof window?window:void 0,h="u">typeof globalThis?globalThis:u,c=null==h?void 0:h.navigator,d=null==h?void 0:h.document,p=null==h?void 0:h.location,f=null==h?void 0:h.fetch,g=(null==h?void 0:h.XMLHttpRequest)&&"withCredentials"in new h.XMLHttpRequest?h.XMLHttpRequest:void 0,v=null==h?void 0:h.AbortController,_=null==h?void 0:h.CompressionStream,m=null==c?void 0:c.userAgent;function y(){return!(!u||!1===u.navigator.onLine)}let b="u">typeof globalThis?globalThis:u;b&&"u"<typeof self&&(b.self=b),b&&"u"<typeof File&&(b.File=function(){});let w=null!=u?u:{},x="0.8.3",$={DEBUG:!1,LIB_VERSION:x,LIB_NAME:"browser-common",JS_SDK_VERSION:x};var k,E,S,M,P=((E={}).AnonymousId="anonymous_id",E.DistinctId="distinct_id",E.Props="props",E.EnablePersonProcessing="enable_person_processing",E.PersonMode="person_mode",E.FeatureFlagDetails="feature_flag_details",E.FeatureFlags="feature_flags",E.FeatureFlagPayloads="feature_flag_payloads",E.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",E.BootstrapFeatureFlags="bootstrap_feature_flags",E.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",E.OverrideFeatureFlags="override_feature_flags",E.Queue="queue",E.AiQueue="ai_queue",E.AiCaptureQueue="ai_capture_queue",E.LogsQueue="logs_queue",E.OptedOut="opted_out",E.SessionId="session_id",E.SessionStartTimestamp="session_start_timestamp",E.SessionLastTimestamp="session_timestamp",E.PersonProperties="person_properties",E.GroupProperties="group_properties",E.InstalledAppBuild="installed_app_build",E.InstalledAppVersion="installed_app_version",E.SessionReplay="session_replay",E.PushRegistered="push_registered",E.SessionReplayEventTriggerActivatedSession="session_replay_event_trigger_activated_session",E.SurveyLastSeenDate="survey_last_seen_date",E.SurveysSeen="surveys_seen",E.Surveys="surveys",E.RemoteConfig="remote_config",E.FlagsEndpointWasHit="flags_endpoint_was_hit",E.DeviceId="device_id",E),F=((S={}).GZipJS="gzip-js",S.Base64="base64",S);let C=["$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"],O=["token"];function I(e,t){return -1!==e.indexOf(t)}let R=function(e){return e.trim()},T=function(e){return e.replace(/^\$/,"")};function A(e){var t;let i=[];return null!=(t=JSON.stringify(e,function(e,t){if("bigint"==typeof t)return t.toString();if("function"!=typeof t&&"symbol"!=typeof t){if(t instanceof Error)return{name:t.name,message:t.message,stack:t.stack};if(t&&"object"==typeof t){for(;i.length>0&&i[i.length-1]!==this;)i.pop();if(i.includes(t))return"[Circular]";i.push(t)}return t}}))?t:"null"}let L=Object.prototype,D=L.hasOwnProperty,N=L.toString,j=Array.isArray||function(e){return"[object Array]"===N.call(e)},B=e=>"function"==typeof e,q=e=>e===Object(e)&&!j(e),z=e=>{if(q(e)){for(let t in e)if(D.call(e,t))return!1;return!0}return!1},H=e=>void 0===e,V=e=>"[object String]"==N.call(e),G=e=>V(e)&&0===e.trim().length,W=e=>null===e,U=e=>H(e)||W(e),K=e=>"[object Number]"==N.call(e)&&e==e,Y=e=>K(e)&&e>0,J=e=>"[object Boolean]"===N.call(e),X=e=>I(C,e),Z=e=>I(O,e);function Q(e){return null===e||"object"!=typeof e}function ee(e,t){return({}).toString.call(e)===`[object ${t}]`}function et(e){switch(({}).toString.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object DOMError]":case"[object WebAssembly.Exception]":return!0;default:return es(e,Error)}}function ei(e){return"u">typeof Event&&es(e,Event)}function es(e,t){try{return e instanceof t}catch(e){return!1}}let er=[!0,"true",1,"1","yes"],en=[!1,"false",0,"0","no"];function eo(e,t,i,s,r,n,o){try{var a=e[n](o),l=a.value}catch(e){return void i(e)}a.done?t(l):Promise.resolve(l).then(s,r)}function ea(e){return function(){var t=this,i=arguments;return new Promise(function(s,r){var n=e.apply(t,i);function o(e){eo(n,s,r,o,a,"next",e)}function a(e){eo(n,s,r,o,a,"throw",e)}o(void 0)})}}let el=["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","hub
1spot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterestbot","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"],eu=function(e,t=[]){if(!e)return!1;let i=e.toLowerCase();return el.concat(t).some(e=>{let t=e.toLowerCase();return -1!==i.indexOf(t)})};function eh(e,t,i,s,r){return t>i&&(s.warn("min cannot be greater than max."),t=i),K(e)?e>i?(s.warn(" cannot be greater than max: "+i+". Using max value instead."),i):t>e?(s.warn(" cannot be less than min: "+t+". Using min value instead."),t):e:(s.warn(" must be a number. using max or fallback. max: "+i+", fallback: "+r),eh(null!=r?r:i,t,i,s))}var ec=class{constructor(e){this.C={},this.I=e.I,this.R=eh(e.bucketSize,0,100,e.$),this.A=eh(e.refillRate,0,this.R,e.$),this.O=eh(e.refillInterval,0,864e5,e.$)}F(e,t){let i=Math.floor((t-e.lastAccess)/this.O);i>0&&(e.tokens=Math.min(e.tokens+i*this.A,this.R),e.lastAccess=e.lastAccess+i*this.O)}consumeRateLimit(e){var t;let i=Date.now(),s=String(e),r=this.C[s];return r?this.F(r,i):(r={tokens:this.R,lastAccess:i},this.C[s]=r),0===r.tokens||(r.tokens--,0===r.tokens&&(null==(t=this.I)||t.call(this,e)),0===r.tokens)}stop(){this.C={}}};let ed="Mobile",ep="Android",ef="Tablet",eg="Android Tablet",ev="iPad",e_="Apple Watch",em="Safari",ey="BlackBerry",eb="Samsung Internet",ew="Chrome",ex="Chrome iOS",e$="Internet Explorer",ek="Internet Explorer Mobile",eE="Opera",eS="Microsoft Edge",eM="Firefox",eP="Firefox iOS",eF="Nintendo",eC="PlayStation",eO="Xbox",eI="Android Mobile",eR="Mobile Safari",eT="Windows",eA="Windows Phone",eL="Nokia",eD="Ouya",eN="Generic "+ed.toLowerCase(),ej="Generic "+ef.toLowerCase(),eB="Konqueror",eq="Oculus Browser",ez="Vivaldi",eH="Yandex",eV="Whale",eG="DuckDuckGo",eW="Pale Moon",eU="Waterfox",eK="Brave",eY="Claude",eJ="Codex",eX="ChatGPT",eZ="Google Search App",eQ=RegExp("Version/(\\d+(\\.\\d+)?)"),e0=RegExp("(Claude|Codex|ChatGPT)\\/(\\d+(\\.\\d+)?)"),e1=RegExp(eO,"i"),e2=RegExp("PlayStation \\w+","i"),e3=RegExp("Nintendo \\w+","i"),e5=RegExp("BlackBerry|PlayBook|BB10","i"),e6={"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"},e4=function(e,t,i,s){var r;return t=t||"",((null==i?void 0:i.brave)?eK:null)||((null==s?void 0:s.detectGoogleSearchApp)&&I(e,"GSA/")?eZ:I(e," OPR/")&&I(e,"Mini")?"Opera Mini":I(e," OPR/")?eE:e5.test(e)?ey:I(e,"IEMobile")||I(e,"WPDesktop")?ek:I(e,"OculusBrowser")?eq:I(e,"SamsungBrowser")?eb:I(e,"Edge")||I(e,"Edg/")?eS:I(e,"Vivaldi/")?ez:I(e,"YaBrowser/")?eH:I(e,"Whale/")?eV:I(e,"DuckDuckGo/")||I(e,"Ddg/")?eG:I(e,"Claude/")?eY:I(e,"Codex/")?eJ:I(e,"ChatGPT/")?eX:I(e,"FBIOS")?"Facebook Mobile":I(e,"UCWEB")||I(e,"UCBrowser")?"UC Browser":I(e,"CriOS")?ex:I(e,"CrMo")||I(e,ew)?ew:I(e,ep)&&I(e,em)?eI:I(e,"FxiOS")?eP:I(e.toLowerCase(),eB.toLowerCase())?eB:I(e,"Brave/")?eK:(r=t)&&I(r,"Apple")||I(e,em)&&!I(e,ew)&&!I(e,ep)?I(e,ed)?eR:em:I(e,"PaleMoon/")?eW:I(e,"Waterfox/")?eU:I(e,eM)?eM:I(e,"MSIE")||I(e,"Trident/")?e$:I(e,"Gecko")?eM:"")},e8={[ek]:[RegExp("rv:(\\d+(\\.\\d+)?)")],[eS]:[RegExp("Edge?\\/(\\d+(\\.\\d+)?)")],[ew]:[RegExp("(Chrome|CrMo)\\/(\\d+(\\.\\d+)?)")],[ex]:[RegExp("CriOS\\/(\\d+(\\.\\d+)?)")],"UC Browser":[RegExp("(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)")],[em]:[eQ],[eR]:[eQ],[eE]:[RegExp("(Opera|OPR)\\/(\\d+(\\.\\d+)?)")],[eM]:[RegExp("Firefox\\/(\\d+(\\.\\d+)?)")],[eP]:[RegExp("FxiOS\\/(\\d+(\\.\\d+)?)")],[eB]:[RegExp("Konqueror[:/]?(\\d+(\\.\\d+)?)","i")],[ey]:[RegExp("BlackBerry (\\d+(\\.\\d+)?)"),eQ],[eI]:[RegExp("android\\s(\\d+(\\.\\d+)?)","i")],[eb]:[RegExp("SamsungBrowser\\/(\\d+(\\.\\d+)?)")],[eq]:[RegExp("OculusBrowser\\/(\\d+(\\.\\d+)?)")],[ez]:[RegExp("Vivaldi\\/(\\d+(\\.\\d+)?)")],[eH]:[RegExp("YaBrowser\\/(\\d+(\\.\\d+)?)")],[eV]:[RegExp("Whale\\/(\\d+(\\.\\d+)?)")],[eK]:[RegExp("Brave\\/(\\d+(\\.\\d+)?)")],[eY]:[e0],[eJ]:[e0],[eX]:[e0],[eG]:[RegExp("(DuckDuckGo|Ddg)\\/(\\d+(\\.\\d+)?)")],[eW]:[RegExp("PaleMoon\\/(\\d+(\\.\\d+)?)")],[eU]:[RegExp("Waterfox\\/(\\d+(\\.\\d+)?)")],[eZ]:[RegExp("GSA\\/(\\d+(\\.\\d+)?)")],[e$]:[RegExp("(rv:|MSIE )(\\d+(\\.\\d+)?)")],Mozilla:[RegExp("rv:(\\d+(\\.\\d+)?)")]},e9=function(e,t,i,s){let r=e8[e4(e,t,i,s)];if(H(r))return null;for(let t=0;r.length>t;t++){let i=e.match(r[t]);if(i)return parseFloat(i[i.length-2])}return null},e7=[[RegExp("Xbox; Xbox (.*?)[);]","i"),e=>[eO,e&&e[1]||""]],[RegExp(eF,"i"),[eF,""]],[RegExp(eC,"i"),[eC,""]],[e5,[ey,""]],[RegExp(eT,"i"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[eA,""];if(new RegExp(ed).test(t)&&!/IEMobile\b/.test(t))return["Windows Mobile",""];let i=/Windows NT ([0-9.]+)/i.exec(t);if(i&&i[1]){let e=e6[i[1]]||"";return/arm/i.test(t)&&(e="RT"),[eT,e]}return[eT,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>e&&e[3]?["iOS",[e[3],e[4],e[5]||"0"].join(".")]:["iOS",""]],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let t="";return e&&e.length>=3&&(t=H(e[2])?e[3]:e[2]),["watchOS",t]}],[RegExp("(Android (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)","i"),e=>e&&e[2]?[ep,[e[2],e[3],e[4]||"0"].join(".")]:[ep,""]],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{let t=["Mac OS X",""];return e&&e[1]&&(t[1]=[e[1],e[2],e[3]||"0"].join(".")),t}],[/Mac/i,["Mac OS X",""]],[/CrOS/,["Chrome OS",""]],[/Linux|debian/i,["Linux",""]]],te=function(e){for(let t=0;e7.length>t;t++){let[i,s]=e7[t],r=i.exec(e),n=r&&(B(s)?s(r,e):s);if(n)return n}return["",""]},tt=function(e){return e3.test(e)?eF:e2.test(e)?eC:e1.test(e)?eO:RegExp(eD,"i").test(e)?eD:RegExp("(Windows Phone|WPDesktop)","i").test(e)?eA:/iPad/.test(e)?ev:/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(e)?e_:e5.test(e)?ey:/(kobo)\s(ereader|touch)/i.test(e)?"Kobo":RegExp(eL,"i").test(e)?eL:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(e)||/(kf[a-z]+)( bui|\)).+silk\//i.test(e)?"Kindle Fire":/(Android|ZTE)/i.test(e)?new RegExp(ed).test(e)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(e)||/pixel[\daxl ]{1,6}/i.test(e)&&!/pixel c/i.test(e)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(e)||/lmy47v/i.test(e)&&!/QTAQZ3/i.test(e)?ep:eg:RegExp("(pda|Mobile)","i").test(e)?eN:RegExp(ef,"i").test(e)&&!RegExp("Tablet pc","i").test(e)?ej:""},ti=function(e,t){var i,s,r,n;let o=tt(e);return o===ev||o===eg||"Kobo"===o||"Kindle Fire"===o||o===ej?ef:o===eF||o===eO||o===eC||o===eD?"Console":o===e_?"Wearable":o?ed:"Android"===(null==t?void 0:t.userAgentDataPlatform)&&(null!=(n=null==t?void 0:t.maxTouchPoints)?n:0)>0?600>Math.min(null!=(i=null==t?void 0:t.screenWidth)?i:0,null!=(s=null==t?void 0:t.screenHeight)?s:0)/(null!=(r=null==t?void 0:t.devicePixelRatio)?r:1)?ed:ef:"Desktop"},ts=/\bFBAV\/(\d+(?:\.\d+)*)/i,tr=[[/\bInstagram(?:[ /](\d+(?:\.\d+)*))?\b/i,"Instagram"],[/\bBarcelona[ /](\d+(?:\.\d+)*)?/i,"Threads"],[/\b(?:MessengerForiOS|(?:FBAN|FB_IAB)\/Orca-Android)\b/i,"Messenger",ts],[/\bFBAN\/EMA\b/i,"Facebook Lite",ts],[/\b(?:FBIOS|(?:FBAN|FB_IAB)\/(?:FB4A|FBIOS))\b/i,"Facebook",ts],[/\bLinkedInApp(?:\]?\/(\d+(?:\.\d+)*))?\b/i,"LinkedIn"],[/\bTwitter(?:Android| for (?:iPhone|iPad|Android))(?
1:\/(\d+(?:\.\d+)*))?\b/i,"Twitter"],[/\b(?:musical_ly|trill)(?:[_/](\d+\.\d+(?:\.\d+)*))?(?=\b|_)/i,"TikTok",/\bapp_version\/(\d+(?:\.\d+)*)/i],[/\b(?:MicroMessenger|WeChat)\/(\d+(?:\.\d+)*)?/i,"WeChat"],[/\bLine\/(\d+(?:\.\d+)*)?/i,"Line"],[/\bGSA\/(\d+(?:\.\d+)*)?/i,"Google"],[/\[Pinterest\/(?:iOS|Android)\b|\bPinterest(?: for (?:Android(?: Tablet)?|iOS))?\/(\d+(?:\.\d+)*)/i,"Pinterest"],[/\b(?:WA4A|WAiOS)\/(\d+(?:\.\d+)*)?/i,"WhatsApp"],[/\bSnapchat[ /](\d+(?:\.\d+)*)?/i,"Snapchat"],[/\bBing(?:Web|Sapphire)\/(\d+(?:\.\d+)*)?/i,"Bing"],[/\bNAVER\(inapp; search;/i,"Naver",/\bNAVER\(inapp; search;[^;)]*; (\d+(?:\.\d+)*)/i],[/\bKAKAOTALK[ /](\d+\.\d+(?:\.\d+)*)?/i,"KakaoTalk"]],tn="[Truncated]",to="[Unserializable]";function ta(e){let t="";for(let i=0;e.length>i;i++){let s=e.charCodeAt(i);if(55296>s||s>56319)t+=56320>s||s>57343?e[i]:"�";else{let s=e.charCodeAt(i+1);56320>s||s>57343?t+="�":(t+=e[i]+e[i+1],i++)}}return t}function tl(e,t){if(!t)return e;let i=[];try{i=Object.keys(t)}catch(e){i=[]}for(let s of i){let i;try{i=t[s]}catch(e){i=to}Object.defineProperty(e,s,{value:i,enumerable:!0,writable:!0,configurable:!0})}return e}var tu=class{record(e){if("too-large"===e.kind)return;if("retry-later"!==e.kind)return void this.reset();if(!e.retryAfterMs)return;let t=this.isOpen(),i=Date.now(),s=Math.min(e.retryAfterMs,3e5);t?this.es=Math.max(this.es,Math.min(i+s,this.ts+3e5)):(this.ts=i,this.es=i+s)}remainingMs(){let e=Date.now();if(this.ts-5e3>e)return this.reset(),0;let t=Math.min(3e5,Math.max(0,this.es-e));return 0===t&&this.reset(),t}isOpen(){return this.remainingMs()>0}reset(){this.es=0,this.ts=0}constructor(){this.es=0,this.ts=0}};let th=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function tc(e,t){return"string"==typeof e&&th.test(e)?e:t()}function td(e,t){let i=Error(t);try{Object.defineProperty(i,"name",{value:e,writable:!0,enumerable:!0,configurable:!0})}catch(e){}return i}function tp(e){return e?e.split("#")[0]:e}function tf(e){try{return e()}catch(e){return}}function tg(e,t){let i=setTimeout(e,t);return null!=i&&i.unref&&(null==i||i.unref()),i}function tv(e,t,i){return t_.apply(this,arguments)}function t_(){return(t_=ea(function*(e,t,i){let s;try{return yield Promise.race([e,new Promise((e,r)=>{s=tg(()=>{try{null==i||i(),e()}catch(e){r(e)}},t)})])}finally{clearTimeout(s)}})).apply(this,arguments)}function tm(e){return(tm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ty(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,s)}return i}function tb(e){for(var t=1;arguments.length>t;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?ty(Object(i),!0).forEach(function(t){!function(e,t,i){var s;(s=function(e){if("object"!=tm(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=tm(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(t),(t="symbol"==tm(s)?s:s+"")in e)?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i}(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):ty(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}var tw=class{constructor(e,t,i=[]){this.coercers=e,this.stackParser=t,this.modifiers=i}buildFromUnknown(e,t={}){let i=t&&t.mechanism||{handled:!0,type:"generic"},s=this.buildCoercingContext(i,t,0).apply(e),r=this.buildParsingContext(t),n=this.parseStacktrace(s,r);return{$exception_list:this.convertToExceptionList(n,i),$exception_level:"error"}}modifyFrames(e){var t=this;return ea(function*(){for(let i of e)i.stacktrace&&i.stacktrace.frames&&j(i.stacktrace.frames)&&(i.stacktrace.frames=yield t.applyModifiers(i.stacktrace.frames));return e})()}coerceFallback(e){var t;return{type:"Error",value:"Unknown error",stack:null==(t=e.syntheticException)?void 0:t.stack,synthetic:!0}}parseStacktrace(e,t){let i,s;return null!=e.cause&&(i=this.parseStacktrace(e.cause,t)),""!=e.stack&&null!=e.stack&&(s=this.applyChunkIds(this.stackParser(e.stack,e.synthetic?t.ski
1pFirstLines:0),t.chunkIdMap)),tb(tb({},e),{},{cause:i,stack:s})}applyChunkIds(e,t){return e.map(e=>(e.filename&&t&&(e.chunk_id=t[e.filename]),e))}applyCoercers(e,t){for(let i of this.coercers)if(i.match(e))return i.coerce(e,t);return this.coerceFallback(t)}applyModifiers(e){var t=this;return ea(function*(){let i=e;for(let e of t.modifiers)i=yield e(i);return i})()}convertToExceptionList(e,t){var i,s,r;let n={type:e.type,value:e.value,mechanism:{type:null!=(i=t.type)?i:"generic",handled:null==(s=t.handled)||s,synthetic:null!=(r=e.synthetic)&&r}};e.stack&&(n.stacktrace={type:"raw",frames:e.stack});let o=[n];return null!=e.cause&&o.push(...this.convertToExceptionList(e.cause,tb(tb({},t),{},{handled:!0}))),o}buildParsingContext(e){var r;return{chunkIdMap:function(e){let r=globalThis._posthogChunkIds;if(!r)return;let n=Object.keys(r);return s&&n.length===i||(i=n.length,s=n.reduce((i,s)=>{t||(t={});let n=t[s];if(n)i[n[0]]=n[1];else{let n=e(s);for(let e=n.length-1;e>=0;e--){let o=n[e],a=null==o?void 0:o.filename,l=r[s];if(a&&l){i[a]=l,t[s]=[a,l];break}}}return i},{})),s}(this.stackParser),skipFirstLines:null!=(r=e.skipFirstLines)?r:1}}buildCoercingContext(e,t,i=0){let s=(i,s)=>{if(4>=s){let r=this.buildCoercingContext(e,t,s);return this.applyCoercers(i,r)}};return tb(tb({},t),{},{syntheticException:0==i?t.syntheticException:void 0,mechanism:e,apply:e=>s(e,i),next:e=>s(e,i+1)})}};let tx=/^([a-z][a-z0-9.+-]+):/i,t$=["http","https","file","blob","app","capacitor","ionic","webpack","webpack-internal","ng"];function tk(e,t,i,s,r){let n={platform:e,filename:t,function:"<anonymous>"===i?"?":i,in_app:function(e){if(!e||"<anonymous>"===e)return!1;let t=tx.exec(e);return!t||t$.includes(t[1].toLowerCase())}(t)};return H(s)||(n.lineno=s),H(r)||(n.colno=r),n}let tE=(e,t)=>{let i=-1!==e.indexOf("safari-extension"),s=-1!==e.indexOf("safari-web-extension");return i||s?[-1!==e.indexOf("@")?e.split("@")[0]:"?",i?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},tS=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,tM=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,tP=/\((\S*)(?::(\d+))(?::(\d+))\)/,tF=(e,t)=>{let i=tS.exec(e);if(i){let[,e,s,r]=i;return tk(t,e,"?",+s,+r)}let s=tM.exec(e);if(s){if(s[2]&&0===s[2].indexOf("eval")){let e=tP.exec(s[2]);e&&(s[2]=e[1],s[3]=e[2],s[4]=e[3])}let[e,i]=tE(s[1]||"?",s[2]);return tk(t,i,e,s[3]?+s[3]:void 0,s[4]?+s[4]:void 0)}},tC=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,tO=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,tI=(e,t)=>{let i=tC.exec(e);if(i){if(i[3]&&i[3].indexOf(" > eval")>-1){let e=tO.exec(i[3]);e&&(i[1]=i[1]||"eval",i[3]=e[1],i[4]=e[2],i[5]="")}let e=i[3],s=i[1]||"?";return[s,e]=tE(s,e),tk(t,e,s,i[4]?+i[4]:void 0,i[5]?+i[5]:void 0)}},tR=/\(error: (.*)\)/;function tT(e,t){return e.filename===t.filename&&e.function===t.function&&e.module===t.module&&e.lineno===t.lineno&&e.colno===t.colno}function tA(e,t){let i=t.start;for(;i>0&&tT(e[i-1],e[i-1+t.length]);)i--;return t.start-i}function tL(e,t){let i=t.start+t.length,s=i;for(;e.length>s&&tT(e[s],e[s-t.length]);)s++;return s-i}var tD=class{match(e){return this.isDOMException(e)||this.isDOMError(e)}coerce(e,t){let i=V(e.stack);return{type:this.getType(e),value:this.getValue(e),stack:i?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){let t=e.name||(this.isDOMError(e)?"DOMError":"DOMException");return e.message?`${t}: ${e.message}`:t}isDOMException(e){return ee(e,"DOMException")}isDOMError(e){return ee(e,"DOMError")}},tN=class{match(e){return et(e)}coerce(e,t){var i;let s=this.getStack(e);return{type:this.getType(e),value:this.getMessage(e,t),stack:null!=s?s:null==(i=t.syntheticException)?void 0:i.stack,cause:e.cause?t.next(e.cause):void 0,synthetic:void 0===s}}getType(e){return e.name||e.constructor.name}getMessage(e,t){let i=e.message;return String(i.error&&"string"==typeof i.error.message?i.error.message:i)}getStack(e){return e.stacktrace||e.stack||void 0}},tj=class{match(e){return!!ee(e,"ErrorEvent")&&(null!=e.error||this.lr(e))}coerce(e,t){var i;if(null!=e.error)return t.apply(e.error);let s=t.apply(e.message);return tb(tb({},s),{},{stack:null!=(i=this.ur(e))?i:s.stack,synthetic:!0})}lr(e){return V(e.message)&&e.message.length>0}ur(e){var t,i;let s=null!=(t=e.lineno)?t:0,r=null!=(i=e.colno)?i:0;if(V(e.filename)&&0!==e.filename.length&&0!==s)return`Error 2 at ${e.filename}:${s}:${r}`}};let tB=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;var tq=class{match(e){return"string"==typeof e}coerce(e,t){var i;let[s,r]=this.getInfos(e);return{type:null!=s?s:"Error",value:null!=r?r:e,stack:null==(i=t.syntheticException)?void 0:i.stack,synthetic:!0}}getInfos(e){let t="Error",i=e,s=e.match(tB);return s&&(t=s[1],i=s[2]),[t,i]}};let tz=["fatal","error","warning","log","info","debug"];function tH(e,t=40){let i=Object.keys(e);if(i.sort(),!i.length)return"[object has no keys]";for(let e=i.length;e>0;e--){let s=i.slice(0,e).join(", ");
2if(t>=s.length)return e===i.length?s:s.length>t?`${s.slice(0,t)}...`:s}return""}var tV=class{match(e){return"object"==typeof e&&null!==e}coerce(e,t){var i,s;let r=this.getErrorPropertyFromObject(e);return r?t.apply(r):{type:this.getType(e),value:this.getValue(e),stack:null!=(i=this.getStack(e))?i:null==(s=t.syntheticException)?void 0:s.stack,level:this.isSeverityLevel(e.level)?e.level:"error",synthetic:!0}}getType(e){if(ei(e))return e.constructor.name;let t="name"in e?e.name:void 0;return V(t)&&!G(t)?t:"Error"}getValue(e){if("name"in e&&"string"==typeof e.name){let t=`'${e.name}' captured as exception`;return"message"in e&&"string"==typeof e.message&&(t+=` with message: '${e.message}'`),t}if("message"in e&&"string"==typeof e.message)return e.message;let t=this.getObjectClassName(e);return`${t&&"Object"!==t?`'${t}'`:"Object"} captured as exception with keys: ${tH(e)}`}isSeverityLevel(e){return V(e)&&!G(e)&&tz.indexOf(e)>=0}getStack(e){try{return V(e.stacktrace)&&e.stacktrace.length>0?e.stacktrace:V(e.stack)&&e.stack.length>0?e.stack:void 0}catch(e){return}}getErrorPropertyFromObject(e){for(let t in e)if(({}).hasOwnProperty.call(e,t)){let i=e[t];if(et(i))return i}}getObjectClassName(e){try{let t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch(e){return}}},tG=class{match(e){return ei(e)}coerce(e,t){var i;let s=e.constructor.name;return{type:s,value:`${s} captured as exception with keys: ${tH(e)}`,stack:null==(i=t.syntheticException)?void 0:i.stack,synthetic:!0}}},tW=class{match(e){return Q(e)}coerce(e,t){var i;return{type:"Error",value:`Primitive value captured as exception: ${String(e)}`,stack:null==(i=t.syntheticException)?void 0:i.stack,synthetic:!0}}},tU=class{match(e){return ee(e,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(e)}isCustomEventWrappingRejection(e){if(!ei(e))return!1;try{let t=e.detail;return null!=t&&"object"==typeof t&&"reason"in t}catch(e){return!1}}coerce(e,t){var i;let s=this.getUnhandledRejectionReason(e);return Q(s)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(s)}`,stack:null==(i=t.syntheticException)?void 0:i.stack,synthetic:!0}:t.apply(s)}getUnhandledRejectionReason(e){try{if("reason"in e)return e.reason;if("detail"in e&&null!=e.detail&&"object"==typeof e.detail&&"reason"in e.detail)return e.detail.reason}catch(e){}return e}};let tK="$message",tY="$timestamp",tJ=new Set([tK,tY]),tX={enabled:!0,max_bytes:32768};function tZ(e){var t;return e?{enabled:null!=(t=e.enabled)?t:tX.enabled,max_bytes:function(e,t){if(!K(e)||1/0===e||-1/0===e)return t;let i=Math.floor(e);return 0>i?t:i}(e.max_bytes,tX.max_bytes)}:tb({},tX)}var tQ=class{constructor(e){this.ns=[],this.ss=0,this.Mr=tZ(e)}setConfig(e){this.Mr=tZ(e),this.rs()}add(e){let t=function(e){let t;try{t=A(e)}catch(e){return}try{let e=JSON.parse(t);if(!q(e))return;let i=e[tK],s=e[tY];if(!V(i)||0===i.trim().length||!V(s)&&!K(s))return;return{step:e,json:t}}catch(e){return}}(e);if(!t)return;let i=function(e){if("u">typeof TextEncoder)return(new TextEncoder).encode(e).length;let t=encodeURIComponent(e),i=0;for(let e=0;t.length>e;e++)"%"===t[e]?(i+=1,e+=2):i+=1;return i}(t.json);i>this.Mr.max_bytes||(this.ns.push({step:t.step,bytes:i}),this.ss+=i,this.rs())}getAttachable(){return this.ns.map(e=>e.step)}clear(){this.ns=[],this.ss=0}size(){return this.ns.length}rs(){for(;this.ss>this.Mr.max_bytes&&this.ns.length>0;){let e=this.ns.shift();e&&(this.ss-=e.bytes)}}};let t0=e=>{if("string"!=typeof e)return e;try{return JSON.parse(e)}catch(t){return e}};function t1(e){return"string"==typeof e||e}function t2(e){return"string"==typeof e?e:void 0}let t3=["$feature_flag","$feature_flag_response","$feature_flag_has_experiment","$feature_flag_id","$feature_flag_version","$feature_flag_reason","$feature_flag_request_id","$feature_flag_evaluated_at","$feature_flag_error","locally_evaluated","$groups","$process_person_profile","$geoip_disable","$current_url","$pathname","$referring_domain","utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid","gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx","$session_id","$window_id","$lib","$lib_version","$device_id","$is_server"],t5="NativeGzipValidationError",t6=e=>e.length>=2&&31===e[0]&&139===e[1],t4=(e,t)=>e===F.GZipJS||t===F.GZipJS||"gzip"===t,t8=e=>!(!e||"object"!=typeof e)&&"NotReadableError"===("name"in e?String(e.name):""),t9=e=>
2{throw td(t5,`Native gzip produced invalid output: ${e}`)},t7=(M=ea(function*(e,t){18>e.size&&t9("too-short");let i=new Uint8Array((yield e.slice(0,10).arrayBuffer()));t6(i)&&8===i[2]||t9("invalid-header");let s=new DataView((yield e.slice(e.size-8).arrayBuffer()));s.getUint32(0,!0)!==(e=>{let t=(()=>{if(r)return r;r=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?0xedb88320^t>>>1:t>>>1;r[e]=t>>>0}return r})(),i=0xffffffff;for(let s=0;e.length>s;s++)i=t[255&(i^e[s])]^i>>>8;return(0xffffffff^i)>>>0})(t)&&t9("invalid-crc");let n=t.length>>>0;s.getUint32(4,!0)!==n&&t9("invalid-size")}),function(e,t){return M.apply(this,arguments)});function ie(){return(ie=ea(function*(e,t=!0,i){var s;try{let t=(new TextEncoder).encode(e),i=new globalThis.CompressionStream("gzip"),r=i.writable.getWriter(),n=r.write(t).then(()=>r.close()).catch((s=ea(function*(e){try{yield r.abort(e)}catch(e){}throw e}),function(e){return s.apply(this,arguments)})),o=new Response(i.readable).blob(),[a]=yield Promise.all([o,n]);return yield t7(a,t),a}catch(e){if(null==i?void 0:i.rethrow)throw e;return t&&console.error("Failed to gzip compress data",e),null}})).apply(this,arguments)}function it(e,t){if(null==e)return{};var i,s,r=function(e,t){if(null==e)return{};var i={};for(var s in e)if(({}).hasOwnProperty.call(e,s)){if(t.includes(s))continue;i[s]=e[s]}return i}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(s=0;n.length>s;s++)t.includes(i=n[s])||({}).propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}let ii={}.propertyIsEnumerable;function is(e,t){try{return ir(e,t,{ancestors:new WeakSet,remainingNodes:1e4},0)}catch(e){return[]}}function ir(e,t,i,s){let r=[];for(let n in e)if(ii.call(e,n)){if(!n){null==t||t.debug("Dropping an attribute with an empty key");continue}if(r.length>=1e3||0>=i.remainingNodes){null==t||t.debug("Attributes truncated: the value exceeds the OTLP encoder budget");break}try{let o=e[n];if(W(o)||H(o))continue;r.push({key:ta(n),value:function e(t,i,s,r){if(0>=s.remainingNodes)return{stringValue:tn};if(s.remainingNodes--,J(t))return{boolValue:t};if("bigint"==typeof t){let e,s;return e=t.toString(),t>=(s=BigInt("9223372036854775808"))||-s>t?(null==i||i.debug(`Attribute ${e} is outside the int64 range; encoding it as a string`),{stringValue:e}):{intValue:e}}if("number"==typeof t){if(!Number.isFinite(t))return{stringValue:String(t)};if(Number.isInteger(t)){if(Number.isSafeInteger(t))return{intValue:String(t)};if(typeof BigInt>"u")return{stringValue:String(t)};let e=BigInt(t).toString();return t>=0x8000000000000000||-0x8000000000000000>t?(null==i||i.debug(`Attribute ${e} is outside the int64 range; encoding it as a string`),{stringValue:e}):{intValue:e}}return{doubleValue:t}}if("string"==typeof t)return{stringValue:ta(t)};if("function"==typeof t)return{stringValue:"[Function]"};if("symbol"==typeof t)return{stringValue:String(t)};if("object"==typeof t&&null!==t){if(s.ancestors.has(t))return{stringValue:"[Circular]"};if(r>=20)return{stringValue:tn};if(t instanceof Date){let e=Number.isFinite(t.getTime())?t.toISOString():String(t);return{stringValue:"string"==typeof e?ta(e):String(e)}}s.ancestors.add(t);try{try{let n=t.toJSON;if("function"==typeof n)return e(n.call(t),i,s,r+1)}catch(e){}return j(t)?{arrayValue:{values:function(t,i,s,r){let n=[],o=Math.min(t.length,1e3),a=0;for(;o>a&&s.remainingNodes>0;a++)try{let o=a in t?t[a]:void 0;if(U(o))continue;n.push(e(o,i,s,r))}catch(e){n.push({stringValue:to})}return t.length>a&&n.push({stringValue:tn}),n}(t,i,s,r+1)}}:{kvlistValue:{values:ir(t,i,s,r+1)}}}finally{s.ancestors.delete(t)}}return{stringValue:ta(String(t))}}(o,t,i,s)})}catch(e){r.push({key:ta(n),value:{stringValue:to}})}}return r}function io(e,t,i){return tb(tb(tb(tb({},tl({},e.resourceAttributes)),{},{"service.name":e.serviceName||"unknown_service"},e.environment&&{"deployment.environment":e.environment}),e.serviceVersion&&{"service.version":e.serviceVersion}),{},{"telemetry.sdk.name":t,"telemetry.sdk.version":i})}let ia=["service.name","deployment.environment","service.version","telemetry.sdk.name","telemetry.sdk.version"];function il(e,t){let i=tl({},e),s={};for(let e of ia)({}).hasOwnProperty.call(i,e)&&(s[e]=i[e],delete i[e]);return[...is(i,t),...is(s,t)]}let iu={darwin:"macOS",win32:"Windows",cygwin:"Windows",linux:"Linux",android:"Android",freebsd:"FreeBSD",openbsd:"OpenBSD",netbsd:"NetBSD",sunos:"SunOS",aix:"AIX",haiku:"Haiku","Mac OS X":"macOS"},ih={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}},ic=ih.info;function id(e,t,i,s){return{resourceLogs:[{resource:{attributes:il(t)},scopeLogs:[{scope:{name:i,version:s},logRecords:e}]}]}}var ip=class{constructor(e){this.ls=e,this.us=0}get pending(){return!!this.hs}arm(e){this.clear(),this.us=Date.now()+e,this.hs=tg(()=>{this.hs=void 0,this.ls()},e)}armNoEarlierThan(e){this.hs&&Date.now()+e<=this.us||this.arm(e)}clear(){this.hs&&(clearTimeout(this.hs),this.hs=void 0)}};function ig(){return .75+.5*Math.random()}function iv(e,t,i,s){let r=e*Math.pow(2,Math.min(Math.max(0,t-1),6));return Math.round((void 0===s?r:Math.min(r,Math.max(s,e)))*i)}var i_=class{constructor(e,t,i,s,r,n=()=>Promise.resolve(),o){var a;this._instance=e,this.Mr=t,this.$=i,this.cs=s,this.ds=r,this.vs=n,this.fs=o,this.ps=new ip(()=>this.gs()),this.ys=null,this.bs=0,this._s=0,this.ws=new tu,this.ks=0,this.Ss=1,this.xs=0,this.Cs=0,this.$s=!1,this.Ts=t.maxBufferSize,this.Is=Math.max(null!=(a=t.maxQueueSize)?a:t.maxBufferSize,t.maxBufferSize),this.Ms=t.flushIntervalMs,this.Es=t.maxBatchRecordsPerPost,this.Ps=t.rateCapWindowMs,this.Rs=t.maxLogsPerInterval}clearQueue(){this._s++,this._instance.setPersistedProperty(P.LogsQueue,[])}reset(){this.ps.clear(),this.xs=0,this.Cs=0,this.$s=!1,this.ks=0,this.Ss=1,this.ws.reset(),this.Es=this.Mr.maxBatchRecordsPerPost}onReconnect(){this.ks=0,this.Ss=1,this.ws.isOpen()?this.As()&&this.Fs():this.gs()}captureLog(e,t){var i;if(this._instance.isDisabled||this._instance.optedOut||!(null==e?void 0:e.body))return;let s=this.Os(e);if(null===s)return;if(!s.body)return void this.$.info("Log was rejected in beforeSend function");if(!this.Ds())return;let r={record:function(e,t,i,s){let{text:r,number:n}=ih[e.level||"info"]||ic,o=function(e=Date.now()){return String(e)+"000000"}(K(s)?s:void 0),a={};t.distinctId&&(a.posthogDistinctId=t.distinctId),t.sessionId&&(a.sessionId=t.sessionId),t.windowId&&(a["window.id"]=t.windowId),U(t.sessionStartTimestamp)||(a.sessionStartTimestamp=String(t.sessionStartTimestamp)),U(t.lastActivityTimestamp)||(a.lastActivityTimestamp=String(t.lastActivityTimestamp)),t.currentUrl&&(a["url.full"]=t.currentUrl),t.screenName&&(a["screen.name"]=t.screenName),t.appState&&(a["app.state"]=t.appState),t.activeFeatureFlags&&t.activeFeatureFlags.length>0&&(a.feature_flags=t.activeFeatureFlags);let l=tb({},a),u=e.attributes;if(u){let e=[];try{e=Object.keys(u)}catch(t){e=[]}for(let t of e){let e;try{e=u[t]}catch(t){e=to}Object.defineProperty(l,t,{value:e,enumerable:!0,writable:!0,configurable:!0})}}let h={timeUnixNano:o,observedTimeUnixNano:o,severityNumber:n,severityText:r,body:{stringValue:function(e){try{return ta(String(e))}catch(e){return to}}(e.body)},attributes:is(l,i)};return e.trace_id&&(h.traceId=e.trace_id),e.span_id&&(h.spanId=e.span_id),H(e.trace_flags)||(h.flags=e.trace_flags),h}(s,null!=(i=null==t?void 0:t.context)?i:this.cs(),this.$,null==t?void 0:t.occurredAtMs)};this.ds(()=>this.Ls(r))}Os(e){let t=this.Mr.beforeSend;if(!t)return e;let i=j(t)?t:[t],s=e;for(let e of i)try{let t=e(s);if(!t)return this.$.info("Log was rejected in beforeSend function"),null;s=t}catch(e){return this.$.error("Error in beforeSend function for log:",e),null}return s}Ds(){if(void 0===this.Rs)return!0;let e=Date.now(),t=e-this.xs;return this.Ps>t&&t>=0||(this.xs=e,this.Cs=0,this.$s=!1),this.Rs>this.Cs?(this.Cs++,!0):(this.$s||(this.$.warn(`captureLog dropping logs: exceeded ${this.Rs} logs per ${this.Ps}ms`),this.$s=!0),!1)}flush(){var e=this;return ea(function*(){if(!e._instance.isDisabled)return e.ys||(e.ys=e.Ns().finally(()=>{e.ys=null})),e.ys})()}Ns(){var e=this;return ea(function*(){var t,i,s;e.ps.clear();let r=null!=(t=e._instance.getPersistedProperty(P.LogsQueue))?t:[];if(0===r.length)return;let n=r.length,o=0;for(;r.length>0&&n>o;){let t=e._s;e.bs=0;let n=Math.min(r.length,e.Es),a=r.slice(0,n),l=id(a.map(e=>e.record),e.qs(),null!=(i=e.fs)?i:e._instance.getLibraryId(),e._instance.getLibraryVersion()),u=yield e._instance.js(l);if(e._s!==t)return;if("too-large"===u.kind&&a.length>1)e.Es=Math.max(1,Math.floor(a.length/2)),e.$.warn(`Logs batch of size ${a.length} was too large for the ingestion endpoint, reducing batch size to ${e.Es}`);else if(e.ws.record(u),e.ps.pending&&e.ps.arm(Math.max(e.Ms,e.ws.remainingMs())),"retry-later"===u.kind||("too-large"===u.kind?e.$.warn("Dropping a single log record with batch size 1 â the record
2is larger than the server cap and cannot be split further."):"ok"===u.kind&&e.Mr.maxBatchRecordsPerPost>e.Es&&(e.Es=Math.min(e.Mr.maxBatchRecordsPerPost,e.Es+1)),yield e.Bs(a.length),r=null!=(s=e._instance.getPersistedProperty(P.LogsQueue))?s:[],o+=a.length,"fatal"===u.kind))throw u.error}})()}Bs(e){var t=this;return ea(function*(){var i;let s=Math.max(0,e-t.bs),r=null!=(i=t._instance.getPersistedProperty(P.LogsQueue))?i:[];t._instance.setPersistedProperty(P.LogsQueue,r.slice(s)),yield t.vs()})()}qs(){var e;return e=this.Mr,io(e,this._instance.getLibraryId(),this._instance.getLibraryVersion())}Ls(e){var t;if(this._instance.optedOut)return;let i=null!=(t=this._instance.getPersistedProperty(P.LogsQueue))?t:[];this.Is>i.length||(i.shift(),this.bs++,this.$.info("Logs queue is full, dropping oldest record.")),i.push(e),this._instance.setPersistedProperty(P.LogsQueue,i),this.Ts>i.length||this.ws.isOpen()?this.Fs():this.gs()}Fs(){this.ps.pending||this.ps.arm(Math.max(this.Ms,this.ws.remainingMs()))}Hs(){return Math.max(iv(this.Ms,this.ks,this.Ss,3e4),this.ws.remainingMs())}As(){let e=this._instance.getPersistedProperty(P.LogsQueue);return!!e&&e.length>0}shutdown(e){var t=this;return ea(function*(){t.ps.clear();let i=t.flush().catch(()=>{});void 0!==e?yield tv(i,e):yield i})()}flushWithTimeout(e){var t=this;return ea(function*(){let i=t.flush();yield tv(i,e,()=>{i.catch(()=>{})})})()}gs(){this.flush().then(()=>{this.ks=0,this.Ss=1},e=>{this.ks++,this.Ss=ig(),this.$.error("PostHog logs flush failed:",e)}).finally(()=>{!this._instance.isDisabled&&this.As()&&this.ps.armNoEarlierThan(this.Hs())})}};let im=[0,5,10,25,50,75,100,250,500,750,1e3,2500,5e3,7500,1e4];function iy(e){return String(e)+"000000"}function ib(e,t,i,s){let r="";return s&&(r=Object.keys(s).sort().map(e=>`${JSON.stringify(e)}:${JSON.stringify(s[e])}`).join(",")),`${e}\0${t}\0${null!=i?i:""}\0${r}`}var iw=class{constructor(e,t,i){this._instance=e,this.Mr=t,this.$=i,this.zs=new Map,this.ps=new ip(()=>this.flush().catch(e=>{this.$.error("Metrics flush failed:",e)})),this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.ws=new tu,this.ks=0,this.Ss=1,this.Gs=0}count(e,t=1,i){this.Zs({name:e,type:"count",value:t,unit:null==i?void 0:i.unit,attributes:null==i?void 0:i.attributes})}gauge(e,t,i){this.Zs({name:e,type:"gauge",value:t,unit:null==i?void 0:i.unit,attributes:null==i?void 0:i.attributes})}histogram(e,t,i){this.Zs({name:e,type:"histogram",value:t,unit:null==i?void 0:i.unit,attributes:null==i?void 0:i.attributes})}flush(){var e,t=this;let i=this.ys,s=(e=ea(function*(){i&&(yield i.catch(()=>{})),yield t.Qs()}),function(){return e.apply(this,arguments)})().finally(()=>{this.ys===s&&(this.ys=null)});return this.ys=s,s}drainWindow(){if(0===this.zs.size)return null;let e=this.zs;return this.zs=new Map,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.Js(e)}reset(){this.Gs++,this.ws.reset(),this.ks=0,this.Ss=1,this.ps.clear(),this.zs=new Map,this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set}Zs(e){let t,i;if(this._instance.isDisabled||this._instance.optedOut)return;let s=this.Os(e);if(null===s)return;if(!s.name||"string"!=typeof s.name)return void this.$.warn("Dropping metric with empty name");if("number"!=typeof s.value||!Number.isFinite(s.value))return void this.$.warn(`Dropping metric '${s.name}': value must be a finite number`);if("count"===s.type&&0>s.value)return void this.$.warn(`Dropping count '${s.name}': counters are monotonic, value must be >= 0`);try{t=s.attributes?tb({},s.attributes):void 0,i=ib(s.type,s.name,s.unit,t)}catch(e){return void this.$.warn(`Dropping metric '${s.name}': attributes could not be serialized`,e)}let r=this.zs.get(i);if(!r){if(!this.Ks())return;r={name:s.name,type:s.type,unit:s.unit,attributes:t,windowStartMs:Date.now()},this.zs.set(i,r)}let n=this.Ws.get(s.name);void 0===n?this.Ws.set(s.name,s.type):n===s.type||this.Vs.has(s.name)||(this.Vs.add(s.name),this.$.warn(`Metric name '${s.name}' is already used as a ${n}; recording it as a ${s.type} too will blend both series in charts. Use a distinct name.`)),this.Xs(r,s.value),this.Fs()}Ks(){return this.Mr.maxSeriesPerFlush>this.zs.size||(this.Us||(this.Us=!0,this.$.warn(`Metric series cap reached (${this.Mr.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`)),!1)}Xs(e,t){switch(e.type){case"count":var i;e.total=(null!=(i=e.total)?i:0)+t;break;case"gauge":e.last=t;break;case"histogram":{e.hist||(e.hist={count:0,sum:0,min:t,max:t,bucketCounts:Array(im.length+1).fill(0)});let i=e.hist;i.count+=1,i.sum+=t,i.min=Math.min(i.min,t),i.max=Math.max(i.max,t),i.bucketCounts[function(e,t){for(let i=0;t.length>i;i++)if(t[i]>=e)return i;return t.length}(t,im)]+=1}}}Os(e){let t=this.Mr.beforeSend;if(!t)return e;let i=j(t)?t:[t],s=e;for(let e of i)try{let t=e(s);if(!t)return this.$.info("Metric was rejected in beforeSend function"),null;s=t}catch(e){return this.$.error("Error in beforeSend function for metric:",e),null}return s}Fs(){this.ps.pending||this.ps.arm(this.Hs())}Hs(){return Math.max(iv(this.Mr.flushIntervalMs,this.ks,this.Ss,3e4),this.ws.remainingMs())}Qs(){var e=this;return ea(function*(){if(e.ps.clear(),0===e.zs.size)return;let t=e.zs;e.zs=new Map,e.Us=!1,e.Ws=new Map,e.Vs=new Set;let i=e.Gs,s=yield e._instance.Ys(e.Js(t));if(i===e.Gs)switch(e.ws.record(s),"retry-later"===s.kind?(e.ks++,e.Ss=ig()):(e.ks=0,e.Ss=1),e.ps.pending&&e.ps.arm(e.Hs()),s.kind){case"ok":return;case"retry-later":return e.lo(t),void e.ps.armNoEarlierThan(e.Hs());case"too-large":return void e.$.warn("Metrics batch exceeded the server size limit and was dropped");case"fatal":return void e.$.error("Failed to send metrics batch:",s.error)}})()}Js(e){var t,i,s,r;return t=this.ao(e),i=io(this.Mr,this._instance.getLibraryId(),this._instance.getLibraryVersion()),s=this._instance.getLibraryId(),r=this._instance.getLibraryVersion(),{resourceMetrics:[{resource:{attributes:il(i)},scopeMetrics:[{scope:{name:s,version:r},metrics:t}]}]}}ao(e){let t=iy(Date.now()),i=new Map;for(let o of e.values()){var s,r,n;let e=ib(o.type,o.name,o.unit,void 0),a=i.get(e);a||(a=tb({name:o.name},o.unit&&{unit:o.unit}),"count"===o.type?a.sum={aggregationTemporality:1,isMonotonic:!0,dataPoints:[]}:"gauge"===o.type?a.gauge={dataPoints:[]}:a.histogram={aggregationTemporality:1,dataPoints:[]},i.set(e,a));let l=is(null!=(s=o.attributes)?s:{},this.$),u=iy(o.windowStartMs);if("count"===o.type){let e={attributes:l,startTimeUnixNano:u,timeUnixNano:t,asDouble:null!=(r=o.total)?r:0};a.sum.dataPoints.push(e)}else if("gauge"===o.type){let e={attributes:l,timeUnixNano:t,asDouble:null!=(n=o.last)?n:0};a.gauge.dataPoints.push(e)}else o.hist&&a.histogram.dataPoints.push({attributes:l,startTimeUnixNano:u,timeUnixNano:t,count:o.hist.count,sum:o.hist.sum,min:o.hist.min,max:o.hist.max,bucketCounts:o.hist.bucketCounts,explicitBounds:im})}return Array.from(i.values())}lo(e){for(let[s,r]of e){let e=this.zs.get(s);if(e)switch(e.windowStartMs=Math.min(e.windowStartMs,r.windowStartMs),e.type){case"count":var t,i;e.total=(null!=(t=e.total)?t:0)+(null!=(i=r.total)?i:0);break;case"gauge":break;case"histogram":if(r.hist)if(e.hist){e.hist.count+=r.hist.count,e.hist.sum+=r.hist.sum,e.hist.min=Math.min(e.hist.min,r.hist.min),e.hist.max=Math.max(e.hist.max,r.hist.max);for(let t=0;e.hist.bucketCounts.length>t;t++)e.hist.bucketCounts[t]+=r.hist.bucketCounts[t]}else e.hist=r.hist}else this.Ks()&&this.zs.set(s,r)}}};let ix=(e,{debugEnabled:t}={})=>{let i={N(i,...s){u&&($.DEBUG||u.POSTHOG_DEBUG||t)&&!H(u.console)&&u.console&&("__rrweb_original__"in u.console[i]?u.console[i].__rrweb_original__:u.console[i])(e,...s)},debug(...e){i.N("debug",...e)},info(...e){i.N("log",...e)},warn(...e){i.N("warn",...e)},error(...e){i.N("error",...e)},critical(...t){console.error(e,...t)},uninitializedWarning(e){i.error(`You must initialize PostHog before calling ${e}`)},createLogger:(t,i)=>ix(`${e} ${t}`,i)};return i},i$=ix("[PostHog.js]"),ik=i$.createLogger,iE=ik("[ExternalScriptsLoader]"),iS=e=>{let t=null==d?void 0:d.querySelectorAll("script");
2if(t){for(let i=0;t.length>i;i++)if(t[i].src===e||t[i].getAttribute("src")===e)return t[i]}},iM=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return iE.warn(`${t} was requested but loading of external scripts is disabled.`),i("Loading of external scripts is disabled");let s=iS(t);if(s){if(s.__posthog_loading_callback_fired)return i();let e=s.__posthog_loading_error;return e?i(e):(s.addEventListener("load",e=>{s.__posthog_loading_callback_fired=!0,i(void 0,e)}),void s.addEventListener("error",e=>{s.__posthog_loading_error=e,i(e)}))}let r=()=>{if(!d)return i("document not found");if(iS(t))return iM(e,t,i);let s=d.createElement("script");if(s.type="text/javascript",s.crossOrigin="anonymous",s.src=t,s.onload=e=>{s.__posthog_loading_callback_fired=!0,i(void 0,e)},s.onerror=e=>{s.__posthog_loading_error=e,i(e)},e.config.prepare_external_dependency_script&&(s=e.config.prepare_external_dependency_script(s)),!s)return i("prepare_external_dependency_script returned null");if("head"===e.config.external_scripts_inject_target)d.head.appendChild(s);else{var r;let e=d.querySelectorAll("body > script");e.length>0?null==(r=e[0].parentNode)||r.insertBefore(s,e[0]):d.body.appendChild(s)}};(null==d?void 0:d.body)?r():null==d||d.addEventListener("DOMContentLoaded",r)},iP={},iF=(e,t)=>{let i=`/static/${t}.js?v=${e.version}`;return"toolbar"===t&&(i=`${i}&t=${3e5*Math.floor(Date.now()/3e5)}`),e.requestRouter.endpointFor("assets",i)};w.__PosthogExtensions__=w.__PosthogExtensions__||{},w.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{if("remote-config"===t){let t=e.requestRouter.endpointFor("assets",`/array/${e.config.token}/config.js`);return void iM(e,t,i)}let s=e.config.strict_script_versioning;if(s){let r=e.requestRouter.endpointFor("assets",`/static/${e.version}/${t}.js`),n=iP[r];if("fallback"===s&&n){if(iS(n))return void iM(e,n,i);delete iP[r]}return void iM(e,r,"fallback"===s?(s,n)=>{if(s)if("string"==typeof s)i(s);else{var o;let s=iF(e,t);iP[r]=s;let n=iS(r);null==n||null==(o=n.parentNode)||o.removeChild(n),iM(e,s,i)}else i(void 0,n)}:i)}iM(e,iF(e,t),i)},w.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{let s=e.requestRouter.endpointFor("api",t);iM(e,s,i)},$.DEBUG=!1,$.LIB_VERSION="1.433.2",$.LIB_NAME="web";let iC="distinct_id",iO="$device_id",iI="$device_model",iR="__alias",iT="$fbc",iA="$fbc_persistence",iL="$fbp",iD="$fbp_persistence",iN="__timers",ij="$autocapture_disabled_server_side",iB="$heatmaps_enabled_server_side",iq="$exception_capture_enabled_server_side",iz="$error_tracking_suppression_rules",iH="$error_tracking_capture_extension_exceptions",iV="$web_vitals_enabled_server_side",iG="$dead_clicks_enabled_server_side",iW="$product_tours_enabled_server_side",iU="$logs_capture_enabled_server_side",iK="$web_vitals_allowed_metrics",iY="$session_recording_remote_config",iJ="$sesid",iX="$session_is_sampled",iZ="$enabled_feature_flags",iQ="$active_feature_flags",i0="$early_access_features",i1="$feature_flag_details",i2="$feature_flag_payloads",i3="$feature_flag_request_id",i5="$minimal_flag_called_events",i6="$override_feature_flags",i4="$override_feature_flag_payloads",i8="$stored_person_properties",i9="$stored_group_properties",i7="$groups",se="$surveys",st="$surveys_loaded_at",si="$surveys_activated",ss="$surveys_activated_session",sr="$surveys_activated_timestamps",sn="ph_product_tours",so="$flag_call_reported",sa="$flag_call_reported_session_id",sl="$feature_flag_errors",su="$feature_flag_evaluated_at",sh="$user_state",sc="$client_session_props",sd="$initial_campaign_params",sp="$initial_referrer_info",sf="$initial_person_info",sg="$epp",sv="$posthog_cookieless",s_="$cookieless_mode",sm="$sdk_debug_extensions_init_method",sy="$sdk_debug_extensions_init_time_ms",sb="$sdk_debug_recording_script_not_loaded",sw="PostHog loadExternalDependency extension not found.",sx="anonymous",s$="identified",sk="identified_only",sE="visibilitychange",sS="beforeunload",sM="$pageview",sP="$pageleave",sF="$identify",sC="$groupidentify";function sO(e,t){j(e)&&e.forEach(t)}function sI(e,t){if(!U(e))if(j(e))e.forEach(t);else if(e instanceof FormData)e.forEach((e,i)=>t(e,i));else for(let i in e)D.call(e,i)&&t(e[i],i)}let sR=function(e,...t){for(let i of t)for(let t in i)void 0!==i[t]&&(e[t]=i[t]);return e};function sT(e){let t=Object.keys(e),i=t.length,s=Array(i);for(;i--;)s[i]=[t[i],e[t[i]]];return s}let sA=function(e){return function(...t){try{return e.apply(this,t)}catch(e){i$.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),i$.critical(e)}}},sL=function(e){let t={};return sI(e,function(e,i){(V(e)&&e.length>0||K(e))&&(t[i]=e)}),t};function sD(e){let t=tb({},e);for(let i of["name","message","stack","cause","errors"])try{i in e&&(t[i]=e[i])}catch(e){}return t}let sN=["herokuapp.com","vercel.app","netlify.app"];function sj(e,t,i,s){let{capture:r=!1,passive:n=!0}=null!=s?s:{};null==e||e.addEventListener(t,i,{capture:r,passive:n})}function sB(e){return"ph_toolbar_internal"===e.name}let sq=e=>{if(d){try{let t=e+"=",i=d.cookie.split(";").filter(e=>e.length);for(let e=0;i.length>e;e++){let s=i[e];for(;" "==s.charAt(0);)s=s.substring(1,s.length);if(0===s.indexOf(t))return decodeURIComponent(s.substring(t.length,s.length))}}catch(e){}return null}};Math.trunc||(Math.trunc=function(e){return 0>e?Math.ceil(e):Math.floor(e)}),Number.isInteger||(Number.isInteger=function(e){return K(e)&&isFinite(e)&&Math.floor(e)===e});var sz=class e{constructor(e){if(this.bytes=e,16!==e.length)throw TypeError("not 128-bit length")}static fromFieldsV7(t,i,s,r){if(!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(s)||!Number.isInteger(r)||0>t||0>i||0>s||0>r||t>0xffffffffffff||i>4095||s>0x3fffffff||r>0xffffffff)throw RangeError("invalid field value");let n=new Uint8Array(16);return n[0]=t/0x10000000000,n[1]=t/0x100000000,n[2]=t/0x1000000,n[3]=t/65536,n[4]=t/256,n[5]=t,n[6]=112|i>>>8,n[7]=i,n[8]=128|s>>>24,n[9]=s>
2>>16,n[10]=s>>>8,n[11]=s,n[12]=r>>>24,n[13]=r>>>16,n[14]=r>>>8,n[15]=r,new e(n)}toString(){let e="";for(let t=0;this.bytes.length>t;t++)e=e+(this.bytes[t]>>>4).toString(16)+(15&this.bytes[t]).toString(16),3!==t&&5!==t&&7!==t&&9!==t||(e+="-");if(36!==e.length)throw Error("Invalid UUIDv7 was generated");return e}clone(){return new e(this.bytes.slice(0))}equals(e){return 0===this.compareTo(e)}compareTo(e){for(let t=0;16>t;t++){let i=this.bytes[t]-e.bytes[t];if(0!==i)return Math.sign(i)}return 0}},sH=class{generate(){let e=this.generateOrAbort();if(!H(e))return e;{this.Ct=0;let e=this.generateOrAbort();if(H(e))throw Error("Could not generate UUID after timestamp reset");return e}}generateOrAbort(){let e,t=K(e=Date.now())&&isFinite(e)?Math.min(Math.max(Math.floor(e),0),0xffffffffffff):0;if(t>this.Ct)this.Ct=t,this.Mt();else{if(this.Ct>=t+1e4)return;this.It++,this.It>0x3ffffffffff&&(this.Ct++,this.Mt())}return sz.fromFieldsV7(this.Ct,Math.trunc(this.It/0x40000000),0x3fffffff&this.It,this.Tt.nextUint32())}Mt(){this.It=1024*this.Tt.nextUint32()+(1023&this.Tt.nextUint32())}constructor(){this.Ct=0,this.It=0,this.Tt=new sG}};let sV=e=>{if("u">typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw Error("no cryptographically strong RNG available");for(let t=0;e.length>t;t++)e[t]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return e};u&&!H(u.crypto)&&crypto.getRandomValues&&(sV=e=>crypto.getRandomValues(e));var sG=class{nextUint32(){return this.Rt.length>this.$t||(sV(this.Rt),this.$t=0),this.Rt[this.$t++]}constructor(){this.Rt=new Uint32Array(8),this.$t=1/0}};let sW=()=>sU().toString(),sU=()=>(n||(n=new sH)).generate(),sK="",sY=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i,sJ=null,sX={Et(){if(!W(sJ))return sJ;if(sJ=!1,d)try{let e=`__ph_cookie_support_${sW()}`;sX.At(e,"xyz"),sJ='"xyz"'===sq(e),sX.Lt(e)}catch(e){sJ=!1}return sJ},Pt(e){i$.error("cookieStore error: "+e)},Ot:sq,Dt(e){let t;try{t=JSON.parse(sX.Ot(e))||{}}catch(e){}return t},At(e,t,i,s,r){if(!d)return!1;try{let n="",o="",a=function(e,t){if(t){let t=function(e,t=d){if(sK)return sK;if(!t||["localhost","127.0.0.1"].includes(e))return"";let i=e.split("."),s=Math.min(i.length,8),r="dmn_chk_"+sW();for(;!sK&&s--;){let e=i.slice(s).join("."),n=r+"=1;domain=."+e+";path=/";t.cookie=n+";max-age=3",t.cookie.includes(r)&&(t.cookie=n+";max-age=0",sK=e)}return sK}(e);if(!t){let i,s=(i=e.match(sY))?i[0]:"";s!==t&&i$.info("Warning: cookie subdomain discovery mismatch",s,t),t=s}return t?"; domain=."+t:""}return""}(d.location.hostname,s);if(i){let e=new Date;e.setTime(e.getTime()+864e5*i),n="; expires="+e.toUTCString()}r&&(o="; secure");let l=e+"="+encodeURIComponent(JSON.stringify(t))+n+"; SameSite=Lax; path=/"+a+o;return l.length>3686.4&&i$.warn("cookieStore warning: large cookie, len="+l.length),d.cookie=l,!0}catch(e){return!1}},Lt(e,t){if(null==d?void 0:d.cookie)try{sX.At(e,"",-1,t)}catch(e){return}}},sZ=null,sQ={Et(){if(!W(sZ))return sZ;let e=!0;if(H(u))e=!1;else try{let t="__mplssupport__";sQ.At(t,"xyz"),'"xyz"'!==sQ.Ot(t)&&(e=!1),sQ.Lt(t)}catch(t){e=!1}return e||i$.error("localStorage unsupported; falling back to cookie store"),sZ=e,e},Pt(e){i$.error("localStorage error: "+e)},Ot(e){try{return null==u?void 0:u.localStorage.getItem(e)}catch(e){sQ.Pt(e)}return null},Dt(e){try{return JSON.parse(sQ.Ot(e))||{}}catch(e){}return null},At(e,t){try{return null==u||u.localStorage.setItem(e,JSON.stringify(t)),!0}catch(e){sQ.Pt(e)}return!1},Lt(e){try{null==u||u.localStorage.removeItem(e)}catch(e){sQ.Pt(e)}}},s0=[i8,iQ,iZ,i1,i2,i3,su,sl,so],s1=[iO,iC,iJ,iX,sg,sf,iA,sh],s2=["__proto__","constructor","prototype"],s3=e=>{if(!q(e))return{};let t={};return Object.keys(e).forEach(i=>{-1===s2.indexOf(i)&&(t[i]=e[i])}),t},s5=(e,t=[])=>{let i={};return[...s1,...t].forEach(t=>{let s=e[t];H(s)||W(s)||""===s||(i[t]=s)}),i},s6=e=>{let t=5381,i=0x811c9dc5;for(let s=0;e.length>s;s++){let r=e.charCodeAt(s);t=33*t^r,i=Math.imul(i^r,0x1000193)}return e.length.toString(36)+"."+(t>>>0).toString(36)+"."+(i>>>0).toString(36)},s4=(e,t)=>({p:t,f:s6(JSON.stringify(e))}),s8=(e,t)=>{if(!t)return{properties:[],isValid:!1};try{let i=sX.Dt(e+"_cpm"),s=(null==i?void 0:i.f)===s6(t)&&j(i.p);return{properties:s?i.p:[],isValid:s}}catch(e){return{properties:[],isValid:!1}}},s9=(e,t)=>t+"|"+(sX.Ot(e+"_cpm")||""),s7={},re={Et:()=>!0,Pt(e){i$.error("memoryStorage error: "+e)},Ot:e=>e in s7?s7[e]:null,Dt:e=>e in s7?s7[e]:null,At:(e,t)=>(s7[e]=t,!0),Lt(e){delete s7[e]}},rt=null,ri={Et(){if(!W(rt))return rt;if(rt=!0,H(u))rt=!1;else try{let e="__support__";ri.At(e,"xyz"),'"xyz"'!==ri.Ot(e)&&(rt=!1),ri.Lt(e)}catch(e){rt=!1}return rt},Pt(e){i$.error("sessionStorage error: ",e)},Ot(e){try{return null==u?void 0:u.sessionStorage.getItem(e)}catch(e){ri.Pt(e)}return null},Dt(e){try{return JSON.parse(ri.Ot(e))||null}catch(e){}return null},At(e,t){try{return null==u||u.sessionStorage.setItem(e,JSON.stringify(t)),!0}catch(e){ri.Pt(e)}return!1},Lt(e){try{null==u||u.sessionStorage.removeItem(e)}catch(e){ri.Pt(e)}}};var rs=class{constructor(e){this._instance=e}get Mr(){return this._instance.config}get consent(){return this.Ro()?0:this.Ao}isOptedOut(){return"always"===this.Mr.cookieless_mode||this.isRejected()||-1===this.consent&&"on_reject"===this.Mr.cookieless_mode}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return 0===this.consent}isRejected(){return 0===this.consent||-1===this.consent&&this.Mr.opt_out_capturing_by_default}optInOut(e){this.Fo.At(this.Oo,+!!e,this.Mr.cookie_expiration,this.Mr.cross_subdomain_cookie,this.Mr.secure_cookie)}reset(){this.Fo.Lt(this.Oo,this.Mr.cross_subdomain_cookie)}get Oo(){let{token:e,opt_out_capturing_cookie_prefix:t,consent_persistence_name:i}=this._instance.config;
2return i||(t?t+e:"__ph_opt_in_out_"+e)}get Ao(){let e=this.Fo.Ot(this.Oo);return I(er,e)?1:I(en,e)?0:-1}get Fo(){let e=this.Mr.opt_out_capturing_persistence_type,t="localStorage"===e?sQ:sX,i=t.Et()?t:re;if(!this.Do||this.Do!==i){this.Do=i;let t="localStorage"===e?sX:sQ;t.Ot(this.Oo)&&(this.Do.Ot(this.Oo)||this.optInOut(I(er,t.Ot(this.Oo))),t.Lt(this.Oo,this.Mr.cross_subdomain_cookie))}return this.Do}Ro(){return!!this.Mr.respect_dnt&&[null==c?void 0:c.doNotTrack,null==c?void 0:c.msDoNotTrack,w.doNotTrack,null==c?void 0:c.globalPrivacyControl].some(e=>I(er,e))}};function rr(e,t){var i;let s=null==e||null==(i=e.config)?void 0:i.get_current_url;if(!B(s))return t;try{let e=s(t);return V(e)&&e?e:t}catch(e){return i$.error("Error in get_current_url, falling back to window.location.href",e),t}}function rn(e){var t;return e instanceof Element&&("__POSTHOG_TOOLBAR__"===e.id||!!(null==(t=e.closest)?void 0:t.call(e,".toolbar-global-fade-container")))}function ro(e){return!!e&&1===e.nodeType}function ra(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function rl(e){return!!e&&3===e.nodeType}function ru(e){return!!e&&11===e.nodeType&&ro(e.host)}function rh(e){return e?R(e).split(/\s+/):[]}function rc(e,t){var i;let s,r=H(s=null==u||null==(i=u.location)?void 0:i.href)?void 0:rr(t,s);return!!(r&&e&&e.some(e=>r.match(e)))}function rd(e){let t="";switch(typeof e.className){case"string":t=e.className;break;case"object":t=(e.className&&"baseVal"in e.className?e.className.baseVal:null)||e.getAttribute("class")||"";break;default:t=""}return rh(t)}function rp(e){return U(e)?null:R(e).split(/(\s+)/).filter(e=>rD(e)).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function rf(e){let t="";return rF(e)&&!rC(e)&&e.childNodes&&e.childNodes.length&&sI(e.childNodes,function(e){var i;rl(e)&&e.textContent&&(t+=null!=(i=rp(e.textContent))?i:"")}),R(t)}function rg(e){var t;return H(e.target)?e.srcElement||null:(null==(t=e.target)?void 0:t.shadowRoot)?e.composedPath()[0]||null:e.target||null}let rv=["a","button","form","input","select","textarea","label"];function r_(e,t){let i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;try{return!!i&&i.call(e,t)}catch(e){return!1}}function rm(e,t){if(H(t))return!0;for(let i of e)if(t.some(e=>r_(i,e)))return!0;return!1}function ry(e){let t=e.parentNode;return!(!t||!ro(t))&&t}let rb=[".ph-no-autocapture","[data-ph-no-autocapture]"],rw=["next","previous","prev",">","<"],rx=[...rw,"+","-","â","â"],r$=(e,t)=>/[a-z0-9]/i.test(t)?e.includes(t):e===t,rk=[".ph-no-rageclick",".ph-no-capture"],rE=["","text","search","email","password","url","tel","number"];function rS(e,t){var i,s,r;let n,o,a;if(!u||rM(e)||(J(t)?(n=!!t&&rk,o=void 0,a=!1):(n=null!=(i=null==t?void 0:t.css_selector_ignorelist)?i:rk,o=null==t?void 0:t.content_ignorelist,a=null!=(s=null==t?void 0:t.ignore_text_selection)&&s),!1===n)||a&&!(!(r=e)||!ro(r))&&(ra(r,"textarea")||(ra(r,"input")?I(rE,(r.getAttribute("type")||"").toLowerCase()):function(e){var t;if(e.isContentEditable)return!0;let i=null==(t=e.getAttribute)?void 0:t.call(e,"contenteditable");return"true"===i||""===i}(r))))return!1;let{targetElementList:l}=rP(e,!1);return!function(e,t){let i;if(!1===e||H(e))return!1;if(!0===e)i=rw;else{if(!j(e))return!1;if(e.length>10)return i$.error("[PostHog] content_ignorelist array cannot exceed 10 items. Use css_selector_ignorelist for more complex matching."),!1;i=e.map(e=>e.toLowerCase())}return t.some(({safeText:e,ariaLabel:t})=>i.some(i=>r$(e,i)||r$(t,i)))}(o,l.map(e=>{var t;return{safeText:rf(e).toLowerCase(),ariaLabel:(null==(t=e.getAttribute("aria-label"))?void 0:t.toLowerCase().trim())||""}}))&&!rm(l,n)}let rM=e=>!e||ra(e,"html")||!ro(e),rP=(e,t)=>{if(!u||rM(e))return{parentIsUsefulElement:!1,targetElementList:[]};let i=!1,s=[e],r=e;for(;r.parentNode&&!ra(r,"body");){if(ru(r.parentNode)){s.push(r.parentNode.host),r=r.parentNode.host;continue}let e=ry(r);if(!e)break;if(t||rv.indexOf(e.tagName.toLowerCase())>-1)i=!0;else try{let t=u.getComputedStyle(e);t&&"pointer"===t.getPropertyValue("cursor")&&(i=!0)}catch(e){}s.push(e),r=e}return{parentIsUsefulElement:i,targetElementList:s}};function rF(e){let t=new Set,i=0;for(let s=e;s.parentNode&&!ra(s,"body");s=s.parentNode){if(i++>=1e3||t.has(s))return!1;t.add(s);let e=rd(s);if(I(e,"ph-sensitive")||I(e,"ph-no-capture"))return!1}if(I(rd(e),"ph-include"))return!0;let s=e.type||"";if(V(s))switch(s.toLowerCase()){case"hidden":case"password":return!1}
2let r=e.name||e.id||"";return!V(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 rC(e){return!!(ra(e,"input")&&!["button","checkbox","submit","reset"].includes(e.type)||ra(e,"select")||ra(e,"textarea")||"true"===e.getAttribute("contenteditable"))}let rO=RegExp("^(?:(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}))$"),rI=/(^|[^0-9A-Za-z_])([0-9][0-9 -]*[0-9])(?=$|[^0-9A-Za-z_])/g,rR=[16,15,14,13],rT=RegExp("^(\\d{3}-?\\d{2}-?\\d{4})$"),rA=RegExp("(^|[^0-9])((?!000|666)[0-9]{3}-?(?!00)[0-9]{2}-?(?!0000)[0-9]{4})(?=$|([^0-9]))","g"),rL=/[0-9A-Za-z_]/;function rD(e,t=!0){return!(U(e)||V(e)&&(e=R(e),(t?rO.test((e||"").replace(/[- ]/g,"")):function(e){let t;for(rI.lastIndex=0;t=rI.exec(e);){let e=t[2];if(!e)continue;let i=e.replace(/[- ]/g,"");for(let e=0;i.length>e;e++)for(let t of rR){let s=e+t;if(i.length>=s){let t=i.slice(e,s);if(rO.test(t)&&function(e){let t=0,i=!1;for(let s=e.length-1;s>=0;s--){let r=e.charCodeAt(s)-48;i&&(r*=2)>9&&(r-=9),t+=r,i=!i}return t%10==0}(t))return!0}}}return!1}(e))||(t?rT.test(e):function(e){let t;for(rA.lastIndex=0;t=rA.exec(e);){let e=t[1],i=t[3];if(!(e&&i&&rL.test(e)&&rL.test(i)))return!0}return!1}(e))))&&!0}function rN(e){let t=rf(e);return rD(t=`${t} ${(function e(t){let i="";return t&&t.childNodes&&t.childNodes.length&&sI(t.childNodes,function(t){var s;if(t&&"span"===(null==(s=t.tagName)?void 0:s.toLowerCase()))try{let s=rf(t);i=`${i} ${s}`.trim(),t.childNodes&&t.childNodes.length&&(i=`${i} ${e(t)}`.trim())}catch(e){i$.error("[AutoCapture]",e)}}),i})(e)}`.trim())?t:""}function rj(e){return e.replace(/"|\\"/g,'\\"')}let rB=ik("[Dead Clicks]"),rq=()=>!0,rz=e=>{var t;let i=!!(null==(t=e.instance.persistence)?void 0:t.get_property(iG)),s=e.instance.config.capture_dead_clicks;return J(s)?s:!!q(s)||i};var rH=class{get lazyLoadedDeadClicksAutocapture(){return this.Lo}constructor(e,t,i){this.instance=e,this.isEnabled=t,this.onCapture=i,this.startIfEnabledOrStop()}onRemoteConfig(e){if(!e.ok)return;let t=e.config;"captureDeadClicks"in t&&(this.instance.persistence&&this.instance.persistence.register({[iG]:t.captureDeadClicks}),this.startIfEnabledOrStop())}startIfEnabledOrStop(){this.isEnabled(this)?this.No(()=>{this.qo()}):this.stop()}No(e){var t,i,s;(null==(t=w.__PosthogExtensions__)?void 0:t.initDeadClicksAutocapture)?e():null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this.instance,"dead-clicks-autocapture",t=>{t?rB.error("failed to load script",t):e()})}qo(){var e;if(d){if(!this.Lo&&(null==(e=w.__PosthogExtensions__)?void 0:e.initDeadClicksAutocapture)){let e=q(this.instance.config.capture_dead_clicks)?tb({},this.instance.config.capture_dead_clicks):{};e.__onCapture=this.onCapture,this.onCapture&&(e.capture_dead_swipes=!1),this.Lo=w.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,e),this.Lo.start(d),rB.info("starting...")}}else rB.error("`document` not found. Cannot start.")}stop(){this.Lo&&(this.Lo.stop(),this.Lo=void 0,rB.info("stopping..."))}};let rV=ik("[SegmentIntegration]");function rG(e,t,i=!0){let s,r,n=e.config.segment;if(!n)return t();let{analytics:o,filterProperties:a}=B(n.register)?{analytics:n}:n;s=s=>{let r=()=>s.anonymousId()||sW();e.config.get_device_id=r,i&&s.id()&&(e.register({distinct_id:s.id(),$device_id:r()}),e.persistence.set_property(sh,s$)),(i=>{o.register(((e,t,{filterProperties:i}={})=>{"u">typeof Promise&&Promise.resolve||rV.warn("This browser does not have Promise support, and can not use the segment integration");let s=(s,r)=>{if(!r)return s;let n=!!t&&s.event.anonymousId===t&&!s.event.userId;n||s.event.userId||s.event.anonymousId===e.get_distinct_id()||(rV.info("No userId set, resetting PostHog"),e.reset()),n||(t=void 0),s.event.userId&&s.event.userId!==e.get_distinct_id()&&(rV.info("UserId set, identifying with PostHog"),e.identify(s.event.userId));let o=e.calculateEventProperties(r,s.event.properties);if(!U(i)){let e=s.event.properties||{},t={};for(let i of Object.keys(o))D.call(e,i)||(t[i]=o[i]);let r=((e,t)=>{let i=j(e)?e:[e],s=tb({},t);
2for(let e of i)try{if(s=e(s),U(s))return null}catch(e){return rV.error("Error in Segment filterProperties:",e),null}return s})(i,t);if(U(r))return s;o=r}return s.event.properties=Object.assign({},o,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded:()=>!0,load:()=>Promise.resolve(),track:e=>s(e,e.event.event),page:e=>s(e,sM),identify:e=>s(e,sF),screen:e=>s(e,"$screen")}})(e,i,{filterProperties:a})).then(()=>{t()},e=>{rV.error("Failed to register the Segment integration",e),t()})})(i?void 0:s.anonymousId()||void 0)},"then"in(r=o.user())&&B(r.then)?r.then(s):s(r)}let rW="posthog-js";function rU(e,{organization:t,projectId:i,prefix:s,severityAllowList:r=["error"],sendExceptionsToPostHog:n=!0}={}){return o=>{var a,l,u,h,c,d;if("*"!==r&&!r.includes(o.level)||!e.__loaded)return o;o.tags||(o.tags={});let p=e.requestRouter.endpointFor("ui",`/project/${e.config.token}/person/${e.get_distinct_id()}`);o.tags["PostHog Person URL"]=p,e.sessionRecordingStarted()&&(o.tags["PostHog Recording URL"]=e.get_session_replay_url({withTimestamp:!0}));let f=(null==(a=o.exception)?void 0:a.values)||[],g=f.map(e=>tb(tb({},e),{},{stacktrace:e.stacktrace?tb(tb({},e.stacktrace),{},{type:"raw",frames:(e.stacktrace.frames||[]).map(e=>tb(tb({},e),{},{platform:"web:javascript"}))}):void 0})),v={$exception_message:(null==(l=f[0])?void 0:l.value)||o.message,$exception_type:null==(u=f[0])?void 0:u.type,$exception_level:o.level,$exception_list:g,$sentry_event_id:o.event_id,$sentry_exception:o.exception,$sentry_exception_message:(null==(h=f[0])?void 0:h.value)||o.message,$sentry_exception_type:null==(c=f[0])?void 0:c.type,$sentry_tags:o.tags};return t&&i&&(v.$sentry_url=(s||"https://sentry.io/organizations/")+t+"/issues/?project="+i+"&query="+o.event_id),n&&(null==(d=e.exceptions)||d.sendExceptionEvent(v)),o}}var rK=class{constructor(e,t,i,s,r,n){this.name=rW,this.setupOnce=function(o){o(rU(e,{organization:t,projectId:i,prefix:s,severityAllowList:r,sendExceptionsToPostHog:null==n||n}))}}},rY=class{constructor(e){this.jo=(e,t,i)=>{i&&(i.noSessionId||i.activityTimeout||i.sessionPastMaximumLength||i.crossTabAdoption)&&(i$.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:e,changeReason:i}),this.Bo=void 0,this._instance.scrollManager.resetContext())},this._instance=e,this.Ho()}Ho(){var e;this.zo=null==(e=this._instance.sessionManager)?void 0:e.onSessionId(this.jo)}destroy(){var e;null==(e=this.zo)||e.call(this),this.zo=void 0}doPageView(e,t){var i;let s=this.Uo(e,t);return this.Bo={pathname:null!=(i=null==u?void 0:u.location.pathname)?i:"",pageViewId:t,timestamp:e},this._instance.scrollManager.resetContext(),s}doPageLeave(e){var t;return this.Uo(e,null==(t=this.Bo)?void 0:t.pageViewId)}doEvent(){var e;return{$pageview_id:null==(e=this.Bo)?void 0:e.pageViewId}}Uo(e,t){let i=this.Bo;if(!i)return{$pageview_id:t};let s={$pageview_id:t,$prev_pageview_id:i.pageViewId},r=this._instance.scrollManager.getContext();if(r&&!this._instance.config.disable_scroll_properties){let{maxScrollHeight:e,lastScrollY:t,maxScrollY:i,maxContentHeight:n,lastContentY:o,maxContentY:a}=r;if(!(H(e)||H(t)||H(i)||H(n)||H(o)||H(a))){e=Math.ceil(e),t=Math.ceil(t),i=Math.ceil(i),n=Math.ceil(n),o=Math.ceil(o),a=Math.ceil(a);let r=e>1?eh(t/e,0,1,i$):1,l=e>1?eh(i/e,0,1,i$):1,u=n>1?eh(o/n,0,1,i$):1,h=n>1?eh(a/n,0,1,i$):1;s=sR(s,{$prev_pageview_last_scroll:t,$prev_pageview_last_scroll_percentage:r,$prev_pageview_max_scroll:i,$prev_pageview_max_scroll_percentage:l,$prev_pageview_last_content:o,$prev_pageview_last_content_percentage:u,$prev_pageview_max_content:a,$prev_pageview_max_content_percentage:h})}}return i.pathname&&(s.$prev_pageview_pathname=i.pathname),i.timestamp&&(s.$prev_pageview_duration=(e.getTime()-i.timestamp.getTime())/1e3),s}};let rJ=["flags","surveys"],rX={$people_distinct_id:{exposure:"hidden"},[iR]:{exposure:"hidden"},__cmpns:{exposure:"hidden"},[iN]:{exposure:"hidden"},[iA]:{exposure:"hidden"},[iD]:{exposure:"hidden"},[ij]:{exposure:"event"},[iB]:{exposure:"hidden"},[iU]:{exposure:"hidden"},[iq]:{exposure:"event"},[iz]:{exposure:"hidden"}
2,[iH]:{exposure:"event"},[iV]:{exposure:"event"},[iG]:{exposure:"event"},[iW]:{exposure:"hidden"},[iK]:{exposure:"event"},[iY]:{exposure:"hidden"},$session_recording_enabled_server_side:{exposure:"hidden"},[iJ]:{exposure:"hidden"},[iX]:{exposure:"event"},$replay_sample_rate:{exposure:"event",shouldSkipFromEventProperties:e=>W(e)},$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"},$sess_rec_flush_size:{exposure:"hidden"},[iZ]:{exposure:"hidden",storageGroup:"flags"},[iQ]:{exposure:"hidden",storageGroup:"flags"},[i0]:{exposure:"hidden"},[i1]:{exposure:"hidden",storageGroup:"flags"},[i2]:{exposure:"hidden",storageGroup:"flags"},[i3]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[i5]:{exposure:"hidden",storageGroup:"flags"},[i6]:{exposure:"hidden"},[i4]:{exposure:"hidden"},[i8]:{exposure:"hidden"},[i9]:{exposure:"hidden"},[se]:{exposure:"hidden",storageGroup:"surveys"},[st]:{exposure:"hidden",storageGroup:"surveys",volatile:!0},[si]:{exposure:"event"},[ss]:{exposure:"hidden"},[sr]:{exposure:"hidden"},[sn]:{exposure:"hidden"},$product_tours_activated:{exposure:"hidden"},$product_tours_activated_session:{exposure:"hidden"},$conversations_widget_session_id:{exposure:"event"},$conversations_ticket_id:{exposure:"event"},$conversations_widget_state:{exposure:"event"},$conversations_user_traits:{exposure:"event"},[so]:{exposure:"hidden"},[sa]:{exposure:"hidden"},[i7]:{exposure:"event"},[sl]:{exposure:"hidden"},[su]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[sh]:{exposure:"hidden"},[sc]:{exposure:"hidden"},$capture_rate_limit:{exposure:"hidden"},[sd]:{exposure:"hidden"},[sp]:{exposure:"hidden"},[sf]:{exposure:"hidden"},[sg]:{exposure:"hidden"},$replay_override_sampling:{exposure:"event"},$replay_override_linked_flag:{exposure:"event"},$replay_override_url_trigger:{exposure:"event"},$replay_override_event_trigger:{exposure:"event"},[sm]:{exposure:"event"},[sy]:{exposure:"event"},[sb]:{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"}
2,$sdk_debug_replay_pending_trigger_conditions:{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"}},rZ=[["$posthog_sr_group_event_trigger_",{exposure:"hidden"}],["$posthog_sr_group_url_trigger_",{exposure:"hidden"}],["$posthog_sr_group_sampling_",{exposure:"hidden"}]],rQ=e=>{let t=rX[e];if(t)return t;for(let[t,i]of rZ)if(0===e.indexOf(t))return i},r0=(e,t)=>{try{let i;return JSON.stringify(e,(e,t)=>et(t)?(null!=i||(i=new WeakMap),i.has(t)||i.set(t,sD(t)),i.get(t)):"bigint"==typeof t?t.toString():t,t)}catch(t){return A(e)}},r1=e=>{let t=null==d?void 0:d.createElement("a");return H(t)?null:(t.href=e,t)},r2=function(e,t){let i,s=((e.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&");for(let e=0;s.length>e;e++){let r=s[e].split("=");if(r[0]===t){i=r;break}}if(!j(i)||2>i.length)return"";{let e=i[1];try{e=decodeURIComponent(e)}catch(t){i$.error("Skipping decoding for malformed query param: "+e)}return e.replace(/\+/g," ")}},r3=function(e,t,i){if(!e||!t||!t.length)return e;let s=e.split("#"),r=s[1],n=(s[0]||"").split("?"),o=n[1],a=n[0],l=(o||"").split("&"),u=[];for(let e=0;l.length>e;e++){let s=l[e].split("=");j(s)&&(t.includes(s[0])?u.push(s[0]+"="+i):u.push(l[e]))}let h=a;return null!=o&&(h+="?"+u.join("&")),null!=r&&(h+="#"+r),h},r5=function(e,t){let i=e.match(RegExp(t+"=([^&]*)"));return i?i[1]:null},r6=(e,t)=>e>=t&&y(),r4=(e,t,i,s)=>{if(0===e){if(y()){let e=t+1;return e===i&&s(),e}return t}return 0},r8=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","irclid","_kx"],r9=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid",...r8],r7="<masked>",ne=["li_fat_id"];function nt(e,t,i){let s;if(!d)return{};let r=t?[...r8,...i||[]]:[],n=ni(r3(d.URL,r,r7),e);return sR((s={},sI(ne,function(e){let t=sq(e);s[e]=t||null}),s),n)}function ni(e,t){let i=r9.concat(t||[]),s={};return sI(i,function(t){let i=r2(e,t);s[t]=i||null}),s}function ns(e){let t=e?0===e.search("https?://(.*)google.([^/?]*)")?"google":0===e.search("https?://(.*)bing.com")?"bing":0===e.search("https?://(.*)yahoo.com")?"yahoo":0===e.search("https?://(.*)duckduckgo.com")?"duckduckgo":null:null,i={};if(!W(t)){i.$search_engine=t;let e=d?r2(d.referrer,"yahoo"!=t?"q":"p"):"";e.length&&(i.ph_keyword=e)}return i}function nr(){return navigator.language||navigator.userLanguage}let nn="$direct";function no(){return(null==d?void 0:d.referrer)||nn}function na(e,t,i=!1){let s=e?[...r8,...t||[]]:[],r=i?tp(null==p?void 0:p.href):null==p?void 0:p.href,n=null==r?void 0:r.substring(0,1e3);return{r:no().substring(0,1e3),u:n?r3(n,s,r7):void 0}}function nl(e,t=!1){var i;let{r:s,u:r}=e,n=t?tp(r):r,o={$referrer:s,$referring_domain:null==s?void 0:s==nn?nn:null==(i=r1(s))?void 0:i.host};
2if(n){o.$current_url=n;let e=r1(n);o.$host=null==e?void 0:e.host,o.$pathname=null==e?void 0:e.pathname,sR(o,ni(n))}return s&&sR(o,ns(s)),o}function nu(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){return}}let nh={flags:su,surveys:st},nc=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],nd=e=>`${e}_cookie_identity_change_pending`,np=e=>{let t="",i=0;for(let s of e){let e=encodeURIComponent(JSON.stringify(s).slice(1,-1)).length;if(i+e>1e3)break;t+=s,i+=e}return t},nf="main",ng=[iZ,iQ,i1,i2,i3,su,i5,i8],nv=e=>-1!==ng.indexOf(e),n_=[iA,iD],nm=e=>-1!==n_.indexOf(e),ny=(e,t)=>{try{return JSON.stringify(e)===JSON.stringify(t)}catch(i){return e===t}},nb=e=>{if(!e)return{};let t=JSON.parse(e);return q(t)?t:{}},nw=(e,t)=>{sI(e,(i,s)=>{let r=rQ(s);r&&"event"!==r.exposure||({}).hasOwnProperty.call(t,s)||delete e[s]})};var nx=class{constructor(e,t,i=!0){if(this.Wo={},this.Vo=!1,this.Go=!1,this.Zo=!1,this.Qo=!1,this.Jo=!1,this.Ko=new Map,this.Xo=!1,this.Yo=!1,this.tl=!1,this.el=new Set,this.il=new Set,this.Mr=e,this.nl=i,this.props={},this.sl=void 0,this.rl=(e=>{let t="";return e.token&&(t=e.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),e.persistence_name?"ph_"+e.persistence_name:"ph_"+t+"_posthog"})(e),this.Fo=this.ol(e),this.Zo=this.ll(e),this.load(),this.al(),e.debug&&i$.info("Persistence loaded",e.persistence,tb({},this.props)),this.update_config(e,e,t),this.save(),u){const e=()=>this.flush();sj(u,"beforeunload",e,{capture:!1}),sj(u,"pagehide",e,{capture:!1}),this.ul=e=>{if(this.Vo&&(!e.storageArea||e.storageArea===(null==u?void 0:u.localStorage))&&e.key)if(e.key!==this.rl){if(this.Zo){let t=rJ.find(t=>e.key===this.hl(t));t&&this.cl(e.key,t)}}else this.cl(e.key,nf)},sj(u,"storage",this.ul)}}markCrossTabFeatureFlagChanges(e){Object.entries(e).forEach(([e,t])=>{let i=this.Ko.get(e);if(!nv(e)||!0===i)return;if(!0===t)return void this.dl(e,!0);let s=new Set(i||[]);t.forEach(e=>s.add(e)),s.size&&this.dl(e,s)})}onCrossTabFeatureFlagChange(e){return this.il.add(e),()=>this.il.delete(e)}destroy(){this.ul&&u&&(u.removeEventListener("storage",this.ul),this.ul=void 0),this.il.clear()}cl(e,t,i=!0){let s,r;if(this.pi)return!1;try{if(r=sQ.Ot(e),W(r)){let e=this.vl(t);return e.storageValue=null,t!==nf&&(e.persisted=!1),!1}s=nb(r)}catch(e){return!1}let n=t===nf?s:sQ.Dt(this.rl);if(n&&this.fl(n))return!1;let o=this.pl(s,t,i);return t===nf&&this.Zo&&!ny(this.gl().main,s)||this.ml(s,t,!0,r),o}fl(e){let t=this.props[iC],i=e[iC];return!H(t)&&!H(i)&&t!==i}ml(e,t,i,s){let r=this.vl(t);r.storageValue=s,t!==nf&&(r.persisted=i);try{r.fingerprint=this.yl(e,t)}catch(e){r.fingerprint=void 0}}pl(e,t,i){let s=!1;return ng.forEach(i=>{var r;let n=null==(r=rQ(i))?void 0:r.storageGroup;if(t===nf&&this.Zo&&n||t!==nf&&n!==t)return;let o=i in e,a=this.bl(i,o?e[i]:void 0),l=this.Ko.has(i)?i in this.props:o;l===i in this.props&&ny(a,this.props[i])||(l?this._l(i,a,!1):this.wl(i,!1),s=!0)}),s&&i&&this.il.forEach(e=>e()),s}kl(){if(!this.Vo)return!1;try{this.tl=!1;let e=sQ.Ot(this.rl),t=this.vl(nf),i,s=!1,r=!1;if(e!==t.storageValue)if(W(e))t.storageValue=null;else{if(i=nb(e),this.tl=!this.Yo&&this.fl(i),this.tl)return!1;r=this.pl(i,nf,!1),!this.Zo||ny(this.gl().main,i)?this.ml(i,nf,!0,e):t.storageValue=e,s=!0}return this.Zo&&rJ.forEach(e=>{let t=sQ.Ot(this.hl(e)),n=this.vl(e),o=i||{},a=s&&ng.some(t=>{var i;return(null==(i=rQ(t))?void 0:i.storageGroup)===e&&t in o});if(t===n.storageValue&&!a)return;if(W(t))return n.storageValue=null,n.persisted=!1,void(a&&(r=this.pl(o,e,!1)||r));let l=nb(t);r=this.pl(l,e,!1)||r,this.ml(l,e,!0,t)}),r}catch(e){return!1}}dl(e,t){this.Ko.set(e,t);let i=rQ(e);(null==i?void 0:i.volatile)||(this.vl((this.Zo?null==i?void 0:i.storageGroup:void 0)||nf).fingerprint=void 0,this.Sl(e))}xl(){ng.forEach(e=>this.Ko.set(e,!0))}al(){if(this.Vo)try{let e=sQ.Ot(this.rl),t=nb(e);this.vl(nf).storageValue=e,ng.forEach(e=>{var i;let s=this.Zo?null==(i=rQ(e))?void 0:i.storageGroup:void 0,r=s?sQ.Ot(this.hl(s)):null;if(s){let e=this.vl(s);e.storageValue=r,e.persisted=!W(r)}let n=s&&!W(r)?nb(r):t;e in this.props?this.Cl(e,n[e],this.props[e]):e in n&&this.dl(e,!0)})}catch(e){}}bl(e,t){let i=this.Ko.get(e);if(!i)return t;if(!0===i)return this.props[e];if("$active_feature_flags"===e){let s=new Set(j(t)?t:[]),r=new Set(j(this.props[e])?this.props[e]:[]);
2return i.forEach(e=>r.has(e)?s.add(e):s.delete(e)),Array.from(s)}let s=q(t)?tb({},t):{},r=q(this.props[e])?this.props[e]:{};return i.forEach(e=>{e in r?s[e]=r[e]:delete s[e]}),s}Cl(e,t,i){if(!nv(e))return;let s=this.Ko.get(e);if(!0===s)return;let r=t;if(this.Vo)try{var n;let t=this.Zo?null==(n=rQ(e))?void 0:n.storageGroup:void 0,i=t?this.hl(t):this.rl;r=nb(sQ.Ot(i))[e]}catch(e){}let o=new Set(s||[]);if("$active_feature_flags"===e){if(!H(t)&&!j(t)||!H(r)&&!j(r)||!j(i))return void this.dl(e,!0);let s=new Set(t||[]),n=new Set(r||[]),a=new Set(i);new Set([...s,...a]).forEach(e=>{s.has(e)!==a.has(e)&&o.add(e)}),o.forEach(e=>{n.has(e)===a.has(e)&&o.delete(e)})}else{if(!q(i))return void(ny(r,i)?this.Ko.delete(e):this.dl(e,!0));{if(!H(t)&&!q(t)||H(t)&&z(i)&&H(r))return void this.dl(e,!0);let s=q(t)?t:{},n=q(r)?r:{};new Set([...Object.keys(s),...Object.keys(i)]).forEach(e=>{e in s==e in i&&ny(s[e],i[e])||o.add(e)}),o.forEach(e=>{e in n==e in i&&ny(n[e],i[e])&&o.delete(e)})}}o.size?this.dl(e,o):this.Ko.delete(e)}$l(){var e;let t=null==(e=this.Mr)?void 0:e.persistence_save_debounce_ms;return K(t)&&t>0?t:0}Tl(e){if(this.Mr.cookieWinsOnConflict&&"localstorage+cookie"===this.Mr.persistence.toLowerCase())if(e)try{let t=s5(e,this.Mr.cookie_persisted_properties||[]),i=s4(t,this.Mr.cookie_persisted_properties||[]),s=JSON.stringify(t)+"|"+JSON.stringify(i),r=sX.Ot(this.rl)||void 0;r&&s9(this.rl,r)===s&&(this.Il=s,this.Ml=r)}catch(e){}else try{let e=sX.Ot(this.rl)||void 0;this.Il=e?s9(this.rl,e):void 0,this.Ml=e}catch(e){}}syncCookieProperties(){return this.El(this.Mr)}El(e,t=!1){let i,s;if(this.pi&&!t||this.Jo||!e.cookieWinsOnConflict||"localstorage+cookie"!==e.persistence.toLowerCase())return!1;try{i=sX.Ot(this.rl)||void 0}catch(e){}if(!i||i===this.Ml)return!1;let r=s9(this.rl,i);try{s=s3(JSON.parse(i))}catch(e){return!1}if((sX.Ot(this.rl)||void 0)!==i)return!1;this.Il=r,this.Ml=i;let n=s8(this.rl,i),o=[...s1,...n.properties],a={};if(Object.keys(s).forEach(e=>{let t=s[e];(H(t)||W(t)||""===t||"$user_state"===e&&"anonymous"!==t&&"identified"!==t)&&(a[e]=!0,delete s[e])}),z(s))return!1;let l="distinct_id"in s||"anonymous"===s.$user_state||"identified"===s.$user_state,u=this.props,h=u[iC],c=u[sh],d=sR({},u);[...s1,...e.cookie_persisted_properties||[]].forEach(e=>{if(-1!==o.indexOf(e)&&!(e in s)&&!a[e]&&(l||"distinct_id"!==e&&"$user_state"!==e)){let t=d[e];(n.isValid||-1===s1.indexOf(e)||!1!==t&&0!==t)&&delete d[e]}}),this.props=sR(d,s),ng.forEach(e=>{let t=e in this.props;e in u===t&&ny(u[e],this.props[e])||(t?this.Cl(e,u[e],this.props[e]):this.dl(e,!0))}),!l||"$user_state"in s||"$user_state"in this.props||this._l(sh,sx);let p=this.props[iC],f=this.props[sh];return l&&(p!==h||f!==c)&&(this.Yo=!0,this.Qo=!0,ri.At(nd(this.rl),!0),this.wl(i8),this.wl(iQ),this.wl(iZ),this.wl(i1),this.wl(i2),this.wl(i3),this.wl(su),this.wl(sl),this.wl(so),"anonymous"!==f||"identified"!==c&&"anonymous"!==s.$user_state&&(H(h)||p===h)||(nw(this.props,s),this.wl(i9)),"identified"===f?this.props.$user_id=p:delete this.props.$user_id,this.wl(iR)),!0}
2consumeCookieIdentityChange(){let e=nd(this.rl),t=this.Qo||!!ri.Ot(e);return this.Qo=!1,t&&ri.Lt(e),t}Pl(e=!1){return!(this.Jo||this.pi&&!e||!this.Mr.cookieWinsOnConflict||"localstorage+cookie"!==this.Mr.persistence.toLowerCase()||(this.Jo=!0,0))}Rl(){this.Jo&&(H(this.Al)||(clearTimeout(this.Al),this.Al=void 0),delete this.Wo[nf],this.Fl(!0))}Ol(e=!0){if(this.Jo)try{e?this.Rl():H(this.Al)||(clearTimeout(this.Al),this.Al=void 0)}finally{this.Jo=!1}}isDisabled(){return!!this.pi}ol(e){-1===nc.indexOf(e.persistence.toLowerCase())&&(i$.critical("Unknown persistence type "+e.persistence+"; falling back to localStorage+cookie"),e.persistence="localStorage+cookie");let t=((e=[],t=!1)=>{let i=[...s1,...e];return tb(tb({},sQ),{},{Dt(e){try{let r,n,o={};try{o=(n=sX.Ot(e)||void 0)?s3(JSON.parse(n)):{}}catch(e){}let a=JSON.parse(sQ.Ot(e)||"{}");if(t){let t=s8(e,n),l=[...s1,...t.properties],u={};Object.keys(o).forEach(e=>{let t=o[e];W(t)||""===t||"$user_state"===e&&"anonymous"!==t&&"identified"!==t||(u[e]=t)});let h="distinct_id"in u||"anonymous"===u.$user_state||"identified"===u.$user_state;if(Object.keys(u).length>0){var s;let e=a[iC],r=null!=(s=a.$user_state)?s:sx;i.forEach(e=>{if(-1!==l.indexOf(e)&&!(e in o)&&(h||"distinct_id"!==e&&"$user_state"!==e)){let i=a[e];(t.isValid||-1===s1.indexOf(e)||!1!==i&&0!==i)&&delete a[e]}}),!h||"$user_state"in o||"$user_state"in a||(a[sh]=sx),h&&(("distinct_id"in u?u[iC]:a[iC])!==e||("$user_state"in u?u[sh]:a[sh])!==r)&&(s0.forEach(e=>delete a[e]),"identified"===u.$user_state&&"distinct_id"in u?a.$user_id=u[iC]:delete a.$user_id,"identified"!==u.$user_state&&(delete a[i7],delete a[i9]),delete a.__alias)}r=sR(a,u)}else r=sR(o,a);return sQ.At(e,r),r}catch(e){}return null},At(i,s,r,n,o,a){let l=sQ.At(i,s,void 0,void 0,a);try{let u=s5(s,e);if(Object.keys(u).length){if(t){let t=i+"_cpm",h=s4(u,e);if(sX.At(t,h,r,n,o,a),sX.Ot(t)!==JSON.stringify(h)){sX.Lt(t,n);let e=s5(s);return sX.At(i,e,r,n,o,a),l}}sX.At(i,u,r,n,o,a)}}catch(e){sQ.Pt(e)}return l},Lt(e,t){try{null==u||u.localStorage.removeItem(e),sX.Lt(e,t),sX.Lt(e+"_cpm",t)}catch(e){sQ.Pt(e)}}})})(e.cookie_persisted_properties||[],e.cookieWinsOnConflict),i,s=!1,r=!1,n=e.persistence.toLowerCase();return"localstorage"===n&&sQ.Et()?(i=sQ,r=!0):"localstorage+cookie"===n&&t.Et()?(i=t,r=!0,s=!0):"sessionstorage"===n&&ri.Et()?i=ri:"memory"===n?i=re:"cookie"===n&&sX.Et()?(i=sX,s=!0):t.Et()?(i=t,r=!0,s=!0):sX.Et()?(i=sX,s=!0):i=re,this.Vo=r,this.Go=s,i}hl(e){return`${this.rl}__${e}`}ll(e){return this.Vo&&!!e.split_storage}properties(){let e={};return sI(this.props,(t,i)=>{let s=rQ(i);if(!s||"event"===s.exposure){var r;if(null==s||null==(r=s.shouldSkipFromEventProperties)?void 0:r.call(s,t))return;e[i]=t}}),e}load(e=!1){if(this.pi&&!e)return;let t=this.Mr.cookieWinsOnConflict&&"localstorage+cookie"===this.Mr.persistence.toLowerCase(),i=t?sQ.Dt(this.rl):null,s={};if(t)try{s=s3(sX.Dt(this.rl)),sI(s,(e,t)=>{(H(e)||W(e)||""===e)&&delete s[t]})}catch(e){}let r=this.Fo.Dt(this.rl);if(r&&(this.props=sR({},r)),this.Zo&&this.Dl(),t&&r){var n,o;let e=null==i?void 0:i[iC],t=null!=(n=null==i?void 0:i.$user_state)?n:sx,a=r[iC],l=null!=(o=r.$user_state)?o:sx;if(a!==e||l!==t){this.Qo=!0,ri.At(nd(this.rl),!0);let i=sR({},this.props);s0.forEach(e=>delete i[e]),"anonymous"!==l||"identified"!==t&&"anonymous"!==s.$user_state&&(H(e)||a===e)||(nw(i,s),delete i[i9]),this.props=i;let r=new Set;s0.forEach(e=>{var t;let i=null==(t=rQ(e))?void 0:t.storageGroup;i&&r.add(i)}),r.forEach(e=>{let t={};sI(this.props,(i,s)=>{var r;(null==(r=rQ(s))?void 0:r.storageGroup)===e&&(t[s]=i)}),z(t)?(sQ.Lt(this.hl(e)),this.Wo[e]={}):sQ.At(this.hl(e),t)&&(this.Wo[e]={persisted:!0,fingerprint:this.yl(t,e)})})}}ri.Ot(nd(this.rl))&&(this.Qo=!0)}Dl(){for(let e of rJ){let t=sQ.Dt(this.hl(e));if(t&&!z(t)){let i=this.vl(e);i.persisted=!0,this.Ll(e)||(i.fingerprint=this.yl(t,e)),this.Nl(e,t)||sR(this.props,t)}}}Ll(e){return Object.keys(this.props).some(t=>{var i;return(null==(i=rQ(t))?void 0:i.storageGroup)===e})}Nl(e,t){let i=nh[e];if(!i)return!1;let s=t[i],r=this.props[i];return K(s)&&K(r)&&r>s}refreshKey(e){var t;if(this.pi||this.el.has(e))return;let i=this.Zo?null==(t=rQ(e))?void 0:t.storageGroup:void 0,s=i?sQ.Dt(this.hl(i)):this.Fo.Dt(this.rl);if(s&&e in s)this._l(e,s[e],!1);else{if(i){let t=this.Fo.Dt(this.rl);if(t&&e in t)return void this._l(e,t[e],!1)}this.wl(e,!1)}}save(){if(this.pi)return;let e=this.$l();e>0?H(this.Al)&&(this.Al=setTimeout(()=>{this.Al=void 0,this.Fl()},e)):this.Fl()}flush(){H(this.Al)||(clearTimeout(this.Al),this.Al=void 0,this.Fl())}Fl(e=!1){if(this.pi||this.Jo&&!e)return;e||(this.syncCookieProperties(),this.Mr.cookieWinsOnConflict&&"localstorage+cookie"===this.Mr.persistence.toLowerCase()||n_.forEach(e
2=>this.refreshKey(e)));let t=!e&&!this.Xo;t||(this.tl=!1);let i=!!t&&this.kl();if(this.tl)return void(this.Mr.debug&&i$.warn("skipping persistence write because storage belongs to a different distinct ID"));if(this.Zo)return this.ql(),void(i&&this.il.forEach(e=>e()));let s=this.jl(this.Fo,this.rl,this.props,nf);"written"===s&&this.Tl(this.props),"failed"!==s&&(this.Ko.clear(),this.Yo=!1,this.el.clear()),i&&this.il.forEach(e=>e())}ql(){let{main:e,groups:t}=this.gl(),i=this.jl(this.Fo,this.rl,e,nf);for(let r of("written"===i&&this.Tl(e),"failed"!==i&&(this.Yo=!1,this.el.clear(),ng.forEach(e=>{var t;(null==(t=rQ(e))?void 0:t.storageGroup)||this.Ko.delete(e)})),rJ)){var s;let e=t[r];if(z(e)&&!(null==(s=this.Wo[r])?void 0:s.persisted)){ng.forEach(e=>{var t;(null==(t=rQ(e))?void 0:t.storageGroup)===r&&this.Ko.delete(e)});continue}let i=this.jl(sQ,this.hl(r),e,r);"failed"!==i&&ng.forEach(e=>{let t=rQ(e);(null==t?void 0:t.storageGroup)!==r||"written"!==i&&t.volatile||this.Ko.delete(e)})}}gl(){let e={},t={flags:{},surveys:{}};return sI(this.props,(i,s)=>{var r;let n=null==(r=rQ(s))?void 0:r.storageGroup;n?t[n][s]=i:e[s]=i}),{main:e,groups:t}}yl(e,t){if(t===nf)return JSON.stringify(e)+"|"+this.Bl+"|"+this.Hl+"|"+this.zl;let i={};return sI(e,(e,t)=>{var s;i[t]=(null==(s=rQ(t))?void 0:s.volatile)?"__volatile__":e}),JSON.stringify(i)}jl(e,t,i,s){let r,n=this.vl(s);if(s!==nf&&!n.dirty&&!H(n.fingerprint))return"skipped";try{if((r=this.yl(i,s))===n.fingerprint)return n.dirty=!1,"skipped"}catch(e){r=void 0}return e.At(t,i,this.Bl,this.Hl,this.zl,this.Mr.debug)?(n.dirty=!1,s!==nf&&(n.persisted=!0),H(r)||(n.fingerprint=r),this.Vo&&(n.storageValue=sQ.Ot(t)),"written"):(this.Mr.debug&&i$.warn(`failed to persist storage entry "${t}"; will retry on next save`),"failed")}remove({keepGroupEntries:e=!1}={}){if(this.xl(),H(this.Al)||(clearTimeout(this.Al),this.Al=void 0),this.Fo.Lt(this.rl,!1),this.Fo.Lt(this.rl,!0),!e&&this.nl)for(let e of rJ)sQ.Lt(this.hl(e));e?delete this.Wo[nf]:this.Wo={},this.Il=void 0,this.Ml=void 0}clear(){this.remove(),this.props={}}register_once(e,t,i){if(q(e)){this.syncCookieProperties(),H(t)&&(t="None"),this.Bl=H(i)?this.Ul:i;let s=!1;if(sI(e,(e,i)=>{this.props.hasOwnProperty(i)&&this.props[i]!==t||(this._l(i,e),s=!0)}),s)return this.save(),!0}return!1}register(e,t){if(q(e)){this.syncCookieProperties(),this.Bl=H(t)?this.Ul:t;let i=!1;if(sI(e,(t,s)=>{e.hasOwnProperty(s)&&(this.props[s]!==t||q(t)||j(t))&&(this._l(s,t),i=!0)}),i)return this.save(),!0}return!1}unregister(e){this.syncCookieProperties();let t=!1;for(let i of"string"==typeof e?[e]:e)i in this.props&&(this.wl(i),t=!0);t&&this.save()}update_campaign_params(){let e=null==d?void 0:d.URL;if(e===this.sl)return;let t=nt(this.Mr.custom_campaign_params,this.Mr.mask_personal_data_properties,this.Mr.custom_personal_data_properties),i=!z(sL(t));return i&&this.register(t),this.sl=e,i?t:void 0}update_search_keyword(){let e;this.register((e=null==d?void 0:d.referrer)?ns(e):{})}update_referrer_info(){var e;this.register_once({$referrer:no(),$referring_domain:(null==d?void 0:d.referrer)&&(null==(e=r1(d.referrer))?void 0:e.host)||nn},void 0)}set_initial_person_info(){if(this.props.$initial_campaign_params||this.props.$initial_referrer_info)return;let e=na(this.Mr.mask_personal_data_properties,this.Mr.custom_personal_data_properties,this.Mr.disable_capture_url_hashes);this.register_once({[sf]:this.Go?{r:np(e.r),u:e.u?np(e.u):void 0}:e},void 0)}get_initial_props(){let e={};sI([sp,sd],t=>{let i=this.props[t];i&&sI(i,function(t,i){e["$initial_"+T(i)]=t})});let t=this.props[sf];return t&&sR(e,function(e,t=!1){let i=nl(e,t),s={};return sI(i,function(e,t){s[`$initial_${T(t)}`]=e}),s}(t,this.Mr.disable_capture_url_hashes)),e}safe_merge(e){return sI(this.props,function(t,i){i in e||(e[i]=t)}),e}update_config(e,t,i){let s=e.persistence!==t.persistence,r=!((e,t)=>{if(e.length!==t.length)return!1;let i=[...e].sort(),s=[...t].sort();return i.every((e,t)=>e===s[t])})(e.cookie_persisted_properties||[],t.cookie_persisted_properties||[]),n=s||r,o=e.cookieWinsOnConflict!==t.cookieWinsOnConflict,a=e.disable_persistence||!!i,l=!!this.pi&&!a;a||this.El(t,l),this.Mr=e,!a&&(s||r||o)&&(this.Il=void 0,this.Ml=void 0,this.El(tb(tb({},e),{},{cookie_persisted_properties:t.cookie_persisted_properties}),l));let u=n||o?this.ol(e):this.Fo;this.Wl();let h=this.ll(e),c=n||h!==this.Zo,d=!a&&(c||e.cross_subdomain_cookie!==this.Hl||e.secure_cookie!==this.zl)&&this.Pl(l);this.Xo=c;try{if(this.Ul=this.Bl=e.cookie_expiration,this.set_disabled(a),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),c){let e=this.props;this.clear(),this.Fo=u,this.Zo=h,this.props=e,this.save()}else o&&(this.Fo=u,a||(delete this.Wo[nf],this.Fl()))}finally{this.Xo=!1,d&&this.Ol()}}
2Wl(){let e=this.props[sf];if(!this.Go||!q(e)||"string"!=typeof e.r)return;let t=np(e.r),i="string"==typeof e.u?np(e.u):e.u;t===e.r&&i===e.u||this._l(sf,tb(tb({},e),{},{r:t,u:i}))}set_disabled(e){this.pi=e,this.pi?this.remove():this.save()}set_cross_subdomain(e){e!==this.Hl&&(this.Hl=e,this.remove({keepGroupEntries:!0}),this.save())}set_secure(e){e!==this.zl&&(this.zl=e,this.remove({keepGroupEntries:!0}),this.save())}set_event_timer(e,t){let i=this.props.__timers||{};i[e]=t,this._l(iN,i),this.save()}remove_event_timer(e){let t=this.props.__timers||{},i=t[e];return H(i)||(delete t[e],this._l(iN,t),this.save()),i}get_property(e){return this.props[e]}set_property(e,t){this._l(e,t),this.save()}_l(e,t,i=!0){var s;let r=this.props[e];this.props[e]=t,i&&("distinct_id"!==e&&"$user_state"!==e||r===t||(this.Yo=!0),nm(e)&&!ny(r,t)&&this.el.add(e),this.Cl(e,r,t),(null==(s=rQ(e))?void 0:s.volatile)||this.Sl(e))}wl(e,t=!0){delete this.props[e],t&&(nv(e)&&this.dl(e,!0),nm(e)&&this.el.add(e),this.Sl(e))}Sl(e){var t;let i=null==(t=rQ(e))?void 0:t.storageGroup;i&&(this.vl(i).dirty=!0)}vl(e){return this.Wo[e]||(this.Wo[e]={})}};let n$="gzip-js",nk="base64",nE="events",nS="cancelEvents",nM="survey shown",nP="survey dismissed",nF="survey sent",nC="popover";function nO(e){let t=!0;return{dispose(){if(t){t=!1;let i=e();i&&B(i.then)&&i.then(void 0,()=>{})}}}}let nI=ik("[RateLimiter]");var nR=class{constructor(e){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=e=>{let t=e.text;if(t&&t.length)try{(JSON.parse(t).quota_limited||[]).forEach(e=>{nI.info(`${e||"events"} is quota limited.`),this.serverLimits[e]=(new Date).getTime()+6e4})}catch(e){return void nI.warn(`could not rate limit - continuing. Error: "${null==e?void 0:e.message}"`,{text:t})}},this.instance=e,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var e;return(null==(e=this.instance.config.rate_limiting)?void 0:e.events_per_second)||10}get captureEventsBurstLimit(){var e;return Math.max((null==(e=this.instance.config.rate_limiting)?void 0:e.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(e=!1){var t,i,s;let{captureEventsBurstLimit:r,captureEventsPerSecond:n}=this,o=(new Date).getTime(),a=null!=(t=null==(i=this.instance.persistence)?void 0:i.get_property("$capture_rate_limit"))?t:{tokens:r,last:o};a.tokens+=(o-a.last)/1e3*n,a.last=o,a.tokens>r&&(a.tokens=r);let l=1>a.tokens;if(l||e||(a.tokens=Math.max(0,a.tokens-1)),l&&!e){let e=(K(a.dropped)?a.dropped:0)+1;a.dropped=e,!this.lastEventRateLimited&&this.Vl(e)&&(a.dropped=0)}return this.lastEventRateLimited=l,null==(s=this.instance.persistence)||s.set_property("$capture_rate_limit",a),{isRateLimited:l,remainingTokens:a.tokens}}Gl(e){let t=this.instance.config.property_denylist;return!j(t)||!t.includes(e)}Zl(){var e;if(this.Gl("$current_url")&&this.Gl("$pathname")&&(null==p?void 0:p.pathname))return`${null!=(e=p.origin)?e:""}${p.pathname}`}Vl(e){var t,i;let{captureEventsBurstLimit:s,captureEventsPerSecond:r}=this,n=this.Zl(),o=this.Gl("$session_id")?null==(t=(i=this.instance).get_session_id)?void 0:t.call(i):void 0,a=[`${e} event(s) dropped since the last warning`,n?`triggered on ${n}`:void 0,o?`session ${o}`:void 0].filter(Boolean).join(", ");return!!this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:`posthog-js client rate limited: ${a}. Config is set to ${r} events per second and ${s} events burst limit.`},{skip_client_rate_limiting:!0})}isServerRateLimited(e){let t=this.serverLimits[e||"events"]||!1;return!1!==t&&(new Date).getTime()<t}};let nT=ik("[RemoteConfig]");var nA=class{constructor(e){this._instance=e}get remoteConfig(){var e;return null==(e=w._POSTHOG_REMOTE_CONFIG)||null==(e=e[this._instance.config.token])?void 0:e.config}Ql(e){var t,i,s;(null==(t=w.__PosthogExtensions__)?void 0:t.loadExternalDependency)?null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this._instance,"remote-config",()=>e(this.remoteConfig)):e()}Jl(e){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets",`/array/${this._instance.config.token}/config`),callback:e})}load(){try{if(this.remoteConfig)return nT.info("Using preloaded remote config",this.remoteConfig),void this.Kl(this.remoteConfig);if(this._instance.Xl())return void nT.warn("Remote config is disabled. Falling back to local config.");this.Ql(e=>{e?this.Kl(e):(nT.info("No config found after loading remote JS config. Falling back to JSON."),this.Jl(e=>{this.Kl(e.json,e)}))})}catch(e){nT.error("Error loading remote config",e),this.Kl()}}Kl(e,t){!e&&t&&(0===t.statusCode?t.error||nT.warn("Failed to fetch remote config from PostHog."):nT.error("Failed to fetch remote config from PostHog."));try{this._instance.Kl(e?{ok:!0,config:e}:{ok:!1})}catch(e){nT.error("Error applying remote config",e)}if(!1!==(null==e?void 0:e.hasFeatureFlags)&&!this._instance.config.advanced_disable_feature_flags_on_first_load)try{var i;null==(i=this._instance.featureFlags)||i.ensureFlagsLoaded()}catch(e){nT.error("Error loading feature flags",e)}}},nL=Uint8Array,nD=Uint16Array,nN=Uint32Array,nj=new nL([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]),nB=new nL([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]),nq=new nL([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),nz=function(e,t){for(var i=new nD(31),s=0;31>s;++s)i[s]=t+=1<<e[s-1];var r=new nN(i[30]);for(s=1;30>s;++s)for(var n=i[s];i[s+1]>n;++n)r[n]=n-i[s]<<5|s;return[i,r]},nH=nz(nj,2),nV=nH[1];nH[0][28]=258,nV[258]=28;for(var nG=nz(nB,0)[1],nW=new nD(32768),nU=0;32768>nU;++nU){var nK=(43690&nU)>>>1|(21845&nU)<<1;nW[nU]=((65280&(nK=(61680&(nK=(52428&nK)>>>2|(13107&nK)<<2))>>>4|(3855&nK)<<4))>>>8|(255&nK)<<8)>>>1}var nY=function(e,t,i){for(var s=e.length,r=0,n=new nD(t);s>r;++r)++n[e[r]-1];var o,a=new nD(t);for(r=0;t>r;++r)a[r]=a[r-1]+n[r-1]<<1;if(i){o=new nD(1<<t);var l=15-t;for(r=0;s>r;++r)if(e[r])for(var u=r<<4|e[r],h=t-e[r],c=a[e[r]-1]++<<h,d=c|(1<<h)-1;d>=c;++c)o[nW[c]>>>l]=u}else for(o=new nD(s),r=0;s>r;++r)o[r]=nW[a[e[r]-1]++]>>>15-e[r];return o},nJ=new nL(288);for(nU=0;144>nU;++nU)nJ[nU]=8;for(nU=144;256>nU;++nU)nJ[nU]=9;for(nU=256;280>nU;++nU)nJ[nU]=7;for(nU=280;288>nU;++nU)nJ[nU]=8;var nX=new nL(32);for(nU=0;32>nU;++nU)nX[nU]=5;var nZ=nY(nJ,9,0),nQ=nY(nX,5,0),n0=function(e){return(e/8|0)+(7&e&&1)},n1=function(e,t,i){(null==t||0>t)&&(t=0),(null==i||i>e.length)&&(i=e.length);var s=new(e instanceof nD?nD:e instanceof nN?nN:nL)(i-t);return s.set(e.subarray(t,i)),s},n2=function(e,t,i){var s=t/8|0;e[s]|=i<<=7&t,e[s+1]|=i>>>8},n3=function(e,t,i){var s=t/8|0;e[s]|=i<<=7&t,e[s+1]|=i>>>8,e[s+2]|=i>>>16},n5=function(e,t){for(var i=[],s=0;e.length>s;++s)e[s]&&i.push({s:s,f:e[s]});var r=i.length,n=i.slice();if(!r)return[new nL(0),0];if(1==r){var o=new nL(i[0].s+1);return o[i[0].s]=1,[o,1]}i.sort(function(e,t){return e.f-t.f}),i.push({s:-1,f:25001});var a=i[0],l=i[1],u=0,h=1,c=2;for(i[0]={s:-1,f:a.f+l.f,l:a,r:l};h!=r-1;)a=i[i[c].f>i[u].f?u++:c++],l=i[u!=h&&i[c].f>i[u].f?u++:c++],i[h++]={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 p=new nD(d+1),f=n6(i[h-1],p,0);if(f>t){s=0;var g=0,v=f-t,_=1<<v;for(n.sort(function(e,t){return p[t.s]-p[e.s]||e.f-t.f});r>s;++s){var m=n[s].s;if(t>=p[m])break;g+=_-(1<<f-p[m]),p[m]=t}for(g>>>=v;g>0;){var y=n[s].s;t>p[y]?g-=1<<t-p[y]++-1:++s}for(;s>=0&&g;--s){var b=n[s].s;p[b]==t&&(--p[b],++g)}f=t}return[new nL(p),f]},n6=function(e,t,i){return -1==e.s?Math.max(n6(e.l,t,i+1),n6(e.r,t,i+1)):t[e.s]=i},n4=function(e){for(var t=e.length;t&&!e[--t];);for(var i=new nD(++t),s=0,r=e[0],n=1,o=function(e){i[s++]=e},a=1;t>=a;++a)if(e[a]==r&&a!=t)++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=e[a]}return[i.subarray(0,s),t]},n8=function(e,t){for(var i=0,s=0;t.length>s;++s)i+=e[s]*t[s];return i}
2,n9=function(e,t,i){var s=i.length,r=n0(t+2);e[r]=255&s,e[r+1]=s>>>8,e[r+2]=255^e[r],e[r+3]=255^e[r+1];for(var n=0;s>n;++n)e[r+n+4]=i[n];return 8*(r+4+s)},n7=function(e,t,i,s,r,n,o,a,l,u,h){n2(t,h++,i),++r[256];for(var c=n5(r,15),d=c[0],p=c[1],f=n5(n,15),g=f[0],v=f[1],_=n4(d),m=_[0],y=_[1],b=n4(g),w=b[0],x=b[1],$=new nD(19),k=0;m.length>k;++k)$[31&m[k]]++;for(k=0;w.length>k;++k)$[31&w[k]]++;for(var E=n5($,7),S=E[0],M=E[1],P=19;P>4&&!S[nq[P-1]];--P);var F,C,O,I,R=u+5<<3,T=n8(r,nJ)+n8(n,nX)+o,A=n8(r,d)+n8(n,g)+o+14+3*P+n8($,S)+(2*$[16]+3*$[17]+7*$[18]);if(T>=R&&A>=R)return n9(t,h,e.subarray(l,l+u));if(n2(t,h,1+(T>A)),h+=2,T>A){F=nY(d,p,0),C=d,O=nY(g,v,0),I=g;var L=nY(S,M,0);for(n2(t,h,y-257),n2(t,h+5,x-1),n2(t,h+10,P-4),h+=14,k=0;P>k;++k)n2(t,h+3*k,S[nq[k]]);h+=3*P;for(var D=[m,w],N=0;2>N;++N){var j=D[N];for(k=0;j.length>k;++k)n2(t,h,L[B=31&j[k]]),h+=S[B],B>15&&(n2(t,h,j[k]>>>5&127),h+=j[k]>>>12)}}else F=nZ,C=nJ,O=nQ,I=nX;for(k=0;a>k;++k)if(s[k]>255){n3(t,h,F[257+(B=s[k]>>>18&31)]),h+=C[B+257],B>7&&(n2(t,h,s[k]>>>23&31),h+=nj[B]);var B,q=31&s[k];n3(t,h,O[q]),h+=I[q],q>3&&(n3(t,h,s[k]>>>5&8191),h+=nB[q])}else n3(t,h,F[s[k]]),h+=C[s[k]];return n3(t,h,F[256]),h+C[256]},oe=new nN([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),ot=new nL(0),oi=function(){for(var e=new nN(256),t=0;256>t;++t){for(var i=t,s=9;--s;)i=(1&i&&0xedb88320)^i>>>1;e[t]=i}return e}(),os=function(e,t,i){for(;i;++t)e[t]=i,i>>>=8};let or=!!g||!!f,on=new WeakMap,oo="text/plain",oa=0,ol=!1,ou=(e,t)=>{let[i,s]=e.split("#"),[r,n]=i.split("?");if(!n)return e;let o=n.split("&").filter(e=>e.split("=")[0]!==t).join("&");return`${r}${o?`?${o}`:""}${s?`#${s}`:""}`},oh=(e,t,i=!0)=>{var s;let[r,n]=e.split("?"),o=tb({},t),a=null!=(s=null==n?void 0:n.split("&").map(e=>{var t;let[s,r]=e.split("="),n=i&&null!=(t=o[s])?t:r;return delete o[s],`${s}=${n}`}))?s:[],l=function(e,t="&"){let i,s,r=[];return sI(e,function(e,t){H(e)||H(t)||"undefined"===t||(i=encodeURIComponent(e instanceof File?e.name:e.toString()),s=encodeURIComponent(t),r[r.length]=s+"="+i)}),r.join(t)}(o);return l&&a.push(l),a.length>0?`${r}?${a.join("&")}`:r},oc=e=>{var t,i,s,r,n,o,a,l,u,h;if(e.Yl)return e.Yl;let{data:c,compression:d}=e;if(!c)return;if(d===n$){let e=(t=function(e){var t=e.length;if("u">typeof TextEncoder)return(new TextEncoder).encode(e);for(var i=new nL(e.length+(e.length>>>1)),s=0,r=function(e){i[s++]=e},n=0;t>n;++n){if(s+5>i.length){var o=new nL(s+8+(t-n<<1));o.set(i),i=o}var a=e.charCodeAt(n);128>a?r(a):(2048>a?r(192|a>>>6):(a>55295&&57344>a?(r(240|(a=65536+(1047552&a)|1023&e.charCodeAt(++n))>>>18),r(128|a>>>12&63)):r(224|a>>>12),r(128|a>>>6&63)),r(128|63&a))}return n1(i,0,s)}(r0(c)),i={mtime:0},s=0xffffffff,r={p(e){for(var t=s,i=0;e.length>i;++i)t=oi[255&t^e[i]]^t>>>8;s=t},d:()=>0xffffffff^s},n=t.length,r.p(t),u=(o=10+(i.filename&&i.filename.length+1||0),l=function(e,t,i,s,r){var n=e.length,o=new nL(s+n+5*(1+Math.floor(n/7e3))+8),a=o.subarray(s,o.length-8),l=0;if(!t||8>n)for(var u=0;n>=u;u+=65535){var h=u+65535;n>h?l=n9(a,l,e.subarray(u,h)):(a[u]=r,l=n9(a,l,e.subarray(u,n)))}else{for(var c=oe[t-1],d=c>>>13,p=8191&c,f=(1<<i)-1,g=new nD(32768),v=new nD(f+1),_=Math.ceil(i/3),m=2*_,y=function(t){return(e[t]^e[t+1]<<_^e[t+2]<<m)&f},b=new nN(25e3),w=new nD(288),x=new nD(32),$=0,k=0,E=(u=0,0),S=0,M=0;n>u;++u){var P=y(u),F=32767&u,C=v[P];if(g[F]=C,v[P]=F,u>=S){var O=n-u;if(($>7e3||E>24576)&&O>423){l=n7(e,a,0,b,w,x,k,E,M,u-M,l),E=$=k=0,M=u;for(var I=0;286>I;++I)w[I]=0;for(I=0;30>I;++I)x[I]=0}var R=2,T=0,A=p,L=F-C&32767;if(O>2&&P==y(u-L))for(var D=Math.min(d,O)-1,N=Math.min(32767,u),j=Math.min(258,O);N>=L&&--A&&F!=C;){if(e[u+R]==e[u+R-L]){for(var B=0;j>B&&e[u+B]==e[u+B-L];++B);if(B>R){if(R=B,T=L,B>D)break;var q=Math.min(L,B-2),z=0;for(I=0;q>I;++I){var H=u-L+I+32768&32767,V=H-g[H]+32768&32767;V>z&&(z=V,C=H)}}}L+=(F=C)-(C=g[F])+32768&32767}if(T){b[E++]=0x10000000|nV[R]<<18|nG[T];var G=31&nV[R],W=31&nG[T];k+=nj[G]+nB[W],++w[257+G],++x[W],S=u+R,++$}else b[E++]=e[u],++w[e[u]]}}l=n7(e,a,r,b,w,x,k,E,M,u-M,l),r||(l=n9(a,l,ot))}return n1(o,0,s+n0(l)+8)}(t,null==i.level?6:i.level,null==i.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):12+i.mem,o,!a)).length,function(e,t){var i=t.filename;if(e[0]=31,e[1]=139,e[2]=8,e[8]=2>t.level?4:2*(9==t.level),e[9]=3,0!=t.mtime&&os(e,4,Math.floor(new Date(t.mtime||Date.now())/1e3)),i){e[3]=8;for(var s=0;i.length>=s;++s)e[s+10]=i.charCodeAt(s)}}(l,i),os(l,u-8,r.d()),os(l,u-4,n),l);return{contentType:oo,body:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),estimatedSize:e.byteLength}}if(d===nk){let e,t="data="+encodeURIComponent("string"==typeof(e=(h=r0(c))?btoa(encodeURIComponent(h).replace(/%([0-9A-F]{2})/g,(e,t)=>
2String.fromCharCode(parseInt(t,16)))):h)?e:r0(e));return{contentType:"application/x-www-form-urlencoded",body:t,estimatedSize:new Blob([t]).size}}let p=r0(c);return{contentType:"application/json",body:p,estimatedSize:new Blob([p]).size}},od=e=>{var t;let i,s=()=>"sendBeacon"===e.transport?{url:oh(e.url,{compression:nk}),encodedBody:oc(tb(tb({},e),{},{compression:nk,Yl:void 0}))}:{url:ou(e.url,"compression"),encodedBody:oc(tb(tb({},e),{},{compression:void 0,Yl:void 0}))};try{i=oc(e)}catch(t){if(t4(e.compression,r2(e.url,"compression")))return i$.error("Failed to gzip request body, sending uncompressed payload",t),s();throw t}return!(i&&t4(e.compression,r2(e.url,"compression")))||((t=i.body)instanceof ArrayBuffer?t6(new Uint8Array(t)):ArrayBuffer.isView(t)&&t6(new Uint8Array(t.buffer,t.byteOffset,t.byteLength)))?{url:e.url,encodedBody:i}:(ol=!0,s())},op=e=>{try{return od(e)}catch(i){var t;return i$.error(i),void(null==(t=e.callback)||t.call(e,{statusCode:0,error:i}))}},of=(k=ea(function*(e){let t=yield function(e){return ie.apply(this,arguments)}(r0(e.data),$.DEBUG,{rethrow:!0});if(!t)return e;let i=yield t.arrayBuffer();return tb(tb({},e),{},{Yl:{contentType:oo,body:i,estimatedSize:i.byteLength}})}),function(e){return k.apply(this,arguments)}),og=/Failed to fetch|NetworkError|Load failed/i,ov=e=>"TypeError"===(null==e?void 0:e.name)&&og.test((null==e?void 0:e.message)||""),o_=e=>{try{let t=function(e,t=Date.now()){if("string"!=typeof e||!e)return;let i=e.trim(),s=/^\d+\s*,/.test(i)?i.slice(0,i.indexOf(",")).trim():i;if(/^\d+$/.test(s)){let e=1e3*Math.min(Number(s),300);return e>0?e:void 0}if(!/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[a-z]*[ ,]/.test(s))return;let r=/^\w{3} \w{3} /.test(s)?s+" GMT":s,n=Date.parse(r)-t;return Number.isFinite(n)&&n>0?Math.min(n,3e5):void 0}(e());return H(t)?void 0:Math.min(t,3e4)}catch(e){return}},om=e=>{let t=op(e);if(!t)return;let i=new g;on.set(i,!0);let{url:s,encodedBody:r}=t;i.open(e.method||"GET",s,!0);let{contentType:n,body:o}=null!=r?r:{};sI(e.headers,function(e,t){i.setRequestHeader(t,e)}),n&&i.setRequestHeader("Content-Type",n),e.timeout&&(i.timeout=e.timeout),i.onreadystatechange=()=>{if(4===i.readyState){var t;let s={statusCode:i.status,text:i.responseText};if(200===i.status)try{s.json=JSON.parse(i.responseText)}catch(e){}null==(t=e.callback)||t.call(e,s,o_(()=>i.getResponseHeader("Retry-After")))}},i.send(o)},oy=e=>{let t=op(e);if(!t)return;let{url:i,encodedBody:s}=t,{contentType:r,body:n,estimatedSize:o}=null!=s?s:{},a=new Headers;sI(e.headers,function(e,t){a.append(t,e)}),r&&a.append("Content-Type",r);let l=null,u=!1;if(v){let t=new v;l={signal:t.signal,timeout:setTimeout(()=>{var i;u=!0,t.abort(td("AbortError","PostHog request timed out"+((i=e.timeout)?` after ${i}ms`:"")))},e.timeout)}}let h=t=>{var i;u&&"AbortError"===(null==t?void 0:t.name)||ov(t)?i$.warn(t):i$.error(t),null==(i=e.callback)||i.call(e,{statusCode:0,error:t})},c=0,d=()=>{oa-=c,c=0,l&&clearTimeout(l.timeout)};try{let t=tb({method:(null==e?void 0:e.method)||"GET",headers:a,body:n,signal:null==l?void 0:l.signal},e.fetchOptions),s=null!=o?o:H(n)?0:void 0;t.keepalive="POST"===t.method&&!e.ta&&!1!==t.keepalive&&t.body===n&&!H(s)&&s>=0&&52428.8>oa+s,t.keepalive&&(c=s,oa+=c),f(i,t).then(t=>t.text().then(i=>{var s;let r={statusCode:t.status,text:i};if(200===t.status)try{r.json=JSON.parse(i)}catch(e){i$.error(e)}d(),null==(s=e.callback)||s.call(e,r,o_(()=>t.headers.get("Retry-After")))})).catch(e=>{d(),h(e)}).finally(d)}catch(e){d(),h(e)}},ob=e=>{try{var t;let{url:i,encodedBody:s}=od(e),{contentType:r,body:n,estimatedSize:o}=null!=s?s:{};if(!n)return;let a=n instanceof Blob?n:new Blob([n],{type:r});if(c.sendBeacon(i,a))return;let l=j(e.data)?e.data:null==(t=e.data)?void 0:t.batch;if(j(l)&&l.length>1&&(null!=o?o:0)>16384){let t=Math.ceil(l.length/2),i=t=>j(e.data)?t:tb(tb({},e.data),{},{batch:t});return ob(tb(tb({},e),{},{data:i(l.slice(0,t))})),void ob(tb(tb({},e),{},{data:i(l.slice(t))}))}i$.warn(`Beacon of ~${null!=o?o:0} bytes was rejected by the browser, falling back to ${f?"fetch":"XHR"}`),f?oy(tb(tb({},e),{},{ta:!0})):om(e)}catch(e){i$.warn("Beacon send failed",e)}},ow=(e,t,i,s)=>{let r="query"===s?"POST"===t?"sent_at":"_":void 0;return oh(i===n$?ou(e,"compression"):e,tb(tb({},r?{[r]:Date.now().toString()}:{}),i===n$?{}:{compression:i}))},ox=(o=[],f&&o.push({transport:"fetch",method:oy}),g&&o.push({transport:"XHR",method:om}),(null==c?void 0:c.sendBeacon)&&o.push({transport:"sendBeacon",method:ob}),o),o$=!or&&-1===(null==m?void 0:m.indexOf("MSIE"))&&-1===(null==m?void 0:m.indexOf("Mozilla"));function ok(e,t,i){var s,r,n;i&&(t=tb(tb({},t),{},{callback:e=>i(e)})),e.__loaded?o$?e.__request_queue.push(t):e.rateLimiter.isServerRateLimited(t.batchKey)?t.fireCallbackOnDrop&&(null==(r=t.callback)||r.call(t,{statusCode:429})):(t.transport=t.transport||e.config.api_transport,t.headers=tb(tb({},e.config.request_headers),t.headers),t.compression="best-available"===t.compression?null!=(s=e.compression)?s:t.compressionFallback:t.compression,(H(e.config.disable_beacon)?e.config.__preview_disable_beacon:e.config.disable_beacon)&&(t.disableTransport=["sendBeacon"]),t.fetchOptions=t.fetchOptions||e.config.fetch_options,
2((e,t)=>{var i,s,r,n,o,a;let l,u,h=tb(tb({},e),{},{callback:null!=t?t:t=>{var i;return null==(i=e.callback)?void 0:i.call(e,t)}});h.timeout=h.timeout||6e4;let c=null!=(i=h.transport)?i:"fetch";"sendBeacon"===c&&H(h.compression)&&h.data&&(h.compression=nk),"POST"===h.method&&h.data&&("capture-body"===h.timestampMode?(u=(l=(j(n=h.data)?n:[n]).map(e=>tb(tb({},e),e.timestamp instanceof Date&&!isNaN(e.timestamp.getTime())?{timestamp:e.timestamp.toISOString()}:{})))[0],h.data={api_key:null!=(o=null==u||null==(a=u.properties)?void 0:a.token)?o:null==u?void 0:u.token,batch:l,sent_at:(new Date).toISOString()}):"body"===h.timestampMode&&(h.data=((e,t=(new Date).toISOString())=>j(e)?e.map(e=>tb(tb({},e),{},{sent_at:t})):tb(tb({},e),{},{sent_at:t}))(h.data))),h.url=ow(h.url,h.method,h.compression,h.timestampMode);let d=ox.filter(e=>!h.disableTransport||!e.transport||!h.disableTransport.includes(e.transport)),p=null!=(s=null==(r=function(e,t){for(let i=0;e.length>i;i++)if(t(e[i]))return e[i]}(d,e=>e.transport===c))?void 0:r.method)?s:d[0].method;if(!p)throw Error("No available transport method");let f=e=>{try{p(e)}catch(e){var t;ov(e)?i$.warn(e):i$.error(e),null==(t=h.callback)||t.call(h,{statusCode:0,error:e})}};"sendBeacon"!==c&&h.data&&h.compression===n$&&_&&"u">typeof Promise&&!ol?of(h).then(e=>{f(e)}).catch(t=>{t8(t)?(ol=!0,f(tb(tb({},h),{},{compression:void 0,url:ow(e.url,e.method,void 0,e.timestampMode)}))):((e=>{if(!e||"object"!=typeof e)return!1;let t="name"in e?String(e.name):"";return t8(e)||t===t5})(t)&&(ol=!0),f(h))}):p(h)})(t,(s,r)=>{var n,o,a;e.rateLimiter.checkForLimiting(s),400>s.statusCode||null==(n=(o=e.config).on_request_error)||n.call(o,s),i?i(s,r):null==(a=t.callback)||a.call(t,s)})):t.fireCallbackOnDrop&&(null==(n=t.callback)||n.call(t,{statusCode:0}))}var oE=class{constructor(e,t){this.ea=!0,this.ia=[],this.na=eh((null==t?void 0:t.flush_interval_ms)||3e3,250,5e3,i$.createLogger("flush interval"),3e3),this.sa=e}enqueue(e){this.ia.push(e),this.ra||this.oa()}unload(){this.la();let e=Object.values(this.ia.length>0?this.aa():{});[...e.filter(e=>0===e.url.indexOf("/e")),...e.filter(e=>0!==e.url.indexOf("/e"))].map(e=>{this.ua(e,"sendBeacon")})}enable(){this.ea=!1,this.oa()}oa(){this.ea||(this.ra=setTimeout(()=>{if(this.la(),this.ia.length>0){let e=this.aa();for(let t in e)this.ua(e[t])}},this.na))}ua(e,t){try{this.sa(e,t)}catch(e){i$.error(e)}}la(){clearTimeout(this.ra),this.ra=void 0}aa(){let e={};return sI(this.ia,t=>{var i;let s=((t?t.batchKey:null)||t.url)+(t.batchGroup?`:${t.batchGroup}`:"");H(e[s])&&(e[s]=tb(tb({},t),{},{data:[]})),null==(i=e[s].data)||i.push(t.data)}),this.ia=[],e}};let oS=["retriesPerformedSoFar"];var oM=class{constructor(e){this._instance=e,this.ha=!1,this.ca=3e3,this.ia=[],this.ia=[],this.da=!0,this.resume()}resume(){!H(u)&&"onLine"in u.navigator&&(this.da=u.navigator.onLine,this.va||(this.va=()=>{this.da=!0,this.fa()},this.pa=()=>{this.da=!1},sj(u,"online",this.va),sj(u,"offline",this.pa)))}get length(){return this.ia.length}retriableRequest(e,t){let{retriesPerformedSoFar:i}=e,s=it(e,oS);Y(i)&&(s.url=oh(s.url,{retry_count:i})),ok(this._instance,t?tb(tb({},s),{},{transport:t}):s,(e,t)=>{var r;if(200!==e.statusCode&&(400>e.statusCode||e.statusCode>=500)){if((0===e.statusCode?3:10)>(null!=i?i:0))return void this.Ls(tb({retriesPerformedSoFar:i},s),t);0===e.statusCode&&i$.warn(`Request failed before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped retrying after ${null!=i?i:0} retries.`)}null==(r=s.callback)||r.call(s,e)})}Ls(e,t){let i,s,r,n=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=n+1;let o=Math.max((r=(Math.random()-.5)*((s=Math.min(18e5,i=3e3*Math.pow(2,n)))-i/2),Math.ceil(s+r)),null!=t?t:0),a=Date.now()+o;this.ia.push({retryAt:a,requestOptions:e});let l=`Enqueued failed request for retry in ${o}`;navigator.onLine||(l+=" (Browser is offline)"),i$.warn(l),this.ha||(this.ha=!0,this.ga())}ga(){(this.ma&&clearTimeout(this.ma),0===this.ia.length)?(this.ha=!1,this.ma=void 0):this.ma=setTimeout(()=>{this.da&&this.ia.length>0&&this.fa(),this.ga()},this.ca)}fa(){let e=Date.now(),t=[],i=this.ia.filter(i=>e>i.retryAt||(t.push(i),!1));if(this.ia=t,i.length>0)for(let{requestOptions:e}of i)this.retriableRequest(e)}unload(){for(let{requestOptions:e}of(this.ma&&(clearTimeout(this.ma),this.ma=void 0),this.ha=!1,H(u)||(this.va&&(u.removeEventListener("online",this.va),this.va=void 0),this.pa&&(u.removeEventListener("offline",this.pa),this.pa=void 0)),this.ia))try{this._instance._send_request(tb(tb({},e),{},{transport:"sendBeacon"}))}catch(e){i$.error(e)}this.ia=[]}},oP=class{constructor(e){this._instance=e,this.ya=()=>{var e,t,i,s;this.ba||(this.ba={});let r=this.scrollElement(),n=this.scrollY(),o=r?Math.max(0,r.scrollHeight-r.clientHeight):0,a=n+((null==r?void 0:r.clientHeight)||0),l=(null==r?void 0:r.scrollHeight)||0;this.ba.lastScrollY=Math.ceil(n),this.ba.maxScrollY=Math.max(n,null!=(e=this.ba.maxScrollY)?e:0),this.ba.maxScrollHeight=Math.max(o,null!=(t=this.ba.maxScrollHeight)?t:0),this.ba.lastContentY=a,this.ba.maxContentY=Math.max(a,null!=(i=this.ba.maxContentY)?i:0),this.ba.maxContentHeight=Math.max(l,null!=(s=this.ba.maxContentHeight)?s:0)}}get _a(){return this._instance.config.scroll_root_selector}getContext(){return this.ba}resetContext(){let e=this.ba;return this.ba=void 0,setTimeout(this.ya,0),e}startMeasuringScrollPosition(){sj(u,"scroll",this.ya,{capture:!0}),sj(u,"scrollend",this.ya,{capture:!0}),sj(u,"resize",this.ya)}scrollElement(){var e,t;if(this._a){for(let t of j(this._a)?this._a:[this._a]){let i=null==u||null==(e=u.document)?void 0:e.querySelector(t);if(i)return i}return}return null==u||null==(t=u.document)?void 0:t.documentElement}wa(e){var t,i;if(this._a){let t=this.scrollElement();return t&&t["y"===e?"scrollTop":"scrollLeft"]||0}return u?"y"===e?u.scrollY||u.pageYOffset||(null==(t=u.document)||null==(t=t.documentElement)?void 0:t.scrollTop)||0:u.scrollX||u.pageXOffset||(null==(i=u.document)||null==(i=i.documentElement)?void 0:i.scrollLeft)||0:0}scrollY(){return this.wa("y")}scrollX(){return this.wa("x")}};let oF=e=>na(null==e?void 0:e.config.mask_personal_data_properties,null==e?void 0:e.config.custom_personal_data_properties,null==e?void 0:e.config.disable_capture_url_hashes
2);var oC=class{constructor(e,t,i,s){this.je=e=>{let t=this.ka();if(t&&t.sessionId===e)return;let i={sessionId:e,props:this.Sa(this._instance)};this.xa.register({[sc]:i})},this._instance=e,this.Ca=t,this.xa=i,this.Sa=s||oF,this.Ca.onSessionId(this.je)}ka(){return this.xa.props[sc]}getSetOnceProps(){var e;let t=null==(e=this.ka())?void 0:e.props;return t?"r"in t?nl(t,this._instance.config.disable_capture_url_hashes):{$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(){let e={};return sI(sL(this.getSetOnceProps()),(t,i)=>{"$current_url"===i&&(i="url"),e[`$session_entry_${T(i)}`]=t}),e}},oO=class{on(e,t){return this.$a[e]||(this.$a[e]=[]),this.$a[e].push(t),()=>{this.$a[e]=this.$a[e].filter(e=>e!==t)}}emit(e,t){for(let i of this.$a[e]||[])i(t);for(let i of this.$a["*"]||[])i(e,t)}constructor(){this.$a={}}};let oI=ik("[SessionId]");var oR=class{on(e,t){return this.Ta.on(e,t)}constructor(e,t,i){var s;if(this.Ia=null,this.Ma=null,this.Ea=[],this.Pa=void 0,this.Ra=!1,this.Ta=new oO,this.Aa=(e,t)=>!(!Y(e)||!Y(t))&&Math.abs(e-t)>this.sessionTimeoutMs,!e.persistence)throw Error("SessionIdManager requires a PostHogPersistence instance");if("always"===e.config.cookieless_mode)throw Error('SessionIdManager cannot be used with cookieless_mode="always"');this.Mr=e.config,this.xa=e.persistence,this.Be=void 0,this.Xt=void 0,this._sessionStartTimestamp=null,this.Fa=void 0,this._sessionActivityTimestamp=null,this.Oa=t||sW,this.Da=i||sW;const r=this.Mr.persistence_name||this.Mr.token;if(this._sessionTimeoutMs=1e3*eh(this.Mr.session_idle_timeout_seconds||1800,60,36e3,oI.createLogger("session_idle_timeout_seconds"),1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.La(),this.Na="ph_"+r+"_window_id",this.qa="ph_"+r+"_primary_window_exists",this.ja()){const e=ri.Dt(this.Na),t=ri.Dt(this.qa);e&&!t?this.Be=e:ri.Lt(this.Na),ri.At(this.qa,!0)}(null==(s=this.Mr.bootstrap)?void 0:s.sessionID)&&this.setBootstrapSessionId(this.Mr.bootstrap.sessionID),this.Ba()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this.Ea)&&(this.Ea=[]),this.Ea.push(e),this.Xt&&e(this.Xt,this.Be),()=>{this.Ea=this.Ea.filter(t=>t!==e)}}ja(){return"memory"!==this.Mr.persistence&&!this.xa.pi&&ri.Et()}Ha(e){e!==this.Be&&(this.Be=e,this.ja()&&ri.At(this.Na,e))}za(){return this.Be?this.Be:this.ja()?ri.Dt(this.Na):null}Ua(e){let t=this.Ia;return!W(t)&&!W(e)&&5e3>Math.abs(e-t)}Wa(e,t,i){let s=t!==this._sessionActivityTimestamp,r=e===this.Xt&&i===this._sessionStartTimestamp;this._sessionStartTimestamp=i,this._sessionActivityTimestamp=t,this.Xt=e,r&&!s||r&&this.Ua(t)||(this.Ia=t,this.xa.register({[iJ]:[t,e,i]}))}Va(){var e;let t=null==(e=this.Mr)?void 0:e.persistence_save_debounce_ms;return Y(t)&&t>0}Ga(){this.Va()?this.xa.refreshKey(iJ):(this.xa.flush(),this.xa.load())}Za(){var e;if(W(this._sessionActivityTimestamp)||this._sessionActivityTimestamp===this.Ia)return;this.Ga();let[,t,i]=this.Qa();t===this.Xt&&i===this._sessionStartTimestamp&&(this.Ia=this._sessionActivityTimestamp,this.xa.register({[iJ]:[this._sessionActivityTimestamp,null!=(e=this.Xt)?e:null,this._sessionStartTimestamp]}),this.xa.flush())}Ja(){let[e]=this.Qa();return Math.max(Y(e)?e:0,Y(this._sessionActivityTimestamp)?this._sessionActivityTimestamp:0)}Ka(e){return this.Ga(),this.Aa(e,this.Ja())}Qa(){let e=this.xa.props[iJ];return j(e)&&2===e.length&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this.Ia=null,this.Fa=void 0,clearTimeout(this.Xa),this.Xa=void 0,this.Wa(null,null,null)}setBootstrapSessionId(e,t=!1){let i=((e,t=(new Date).getTime())=>{try{let i=(e=>{let t=e.replace(/-/g,"");if(32!==t.length)throw Error("Not a valid UUID");if("7"!==t[12])throw Error("Not a UUIDv7");return parseInt(t.substring(0,12),16)})(e);return i>t+6e4?void oI.error("Bootstrap sessionID cannot be in the future"):i}catch(e){return void oI.error("Invalid sessionID in bootstrap",e)}})(e);return!H(i)&&(t?this.Fa={sessionId:e,sessionStartTimestamp:i}:this.Wa(e,(new Date).getTime(),i),!0)}destroy(){this.Ra=!0,this.Za(),clearTimeout(this.Xa),this.Xa=void 0,this.Pa&&u&&(u.removeEventListener(sS,this.Pa,{capture:!1}),this.Pa=void 0),this.Ea=[]}Ba(){this.Pa=()=>{this.Za(),this.ja()&&ri.Lt(this.qa)},sj(u,sS,this.Pa,{capture:!1})}
2checkAndGetSessionAndWindowId(e=!1,t=null,i=!1){if("always"===this.Mr.cookieless_mode)throw Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');let s=t||(new Date).getTime(),r=this.Xt;if(i)this.Ma=s;else if(W(this.Ma)||this.Ma>s||s-this.Ma>=1e3){var n,o;null==(n=(o=this.xa).syncCookieProperties)||n.call(o),this.Ma=s}let[,a,l]=this.Qa(),u=!H(r)&&a!==r,h=this.Ja(),c=this.za(),d=this.Fa,p=!!d&&(d.sessionStartTimestamp>s+6e4||s-d.sessionStartTimestamp>864e5),f=d?p:Y(l)&&Math.abs(s-l)>864e5,g=!1,v=u,_=!a||!!d,m=a,y=!_&&!e&&this.Aa(s,h);if(y&&((y=this.Ka(s))||oI.info("cross-tab refresh kept the session alive",{sessionId:a}),[,a,l]=this.Qa()),_||y||f){v=!1;let e=d&&!p;a=e?d.sessionId:this.Oa(),c=this.Da(),oI.info("new session ID assigned",{sessionId:a,windowId:c,bootstrapped:!!e,changeReason:{noSessionId:_,activityTimeout:y,sessionPastMaximumLength:f}}),l=e?d.sessionStartTimestamp:s,this.Fa=void 0,g=!0}else c||(c=this.Da(),g=!0),(v=v||a!==m)&&(oI.info("adopted cross-tab session id",{sessionId:a,windowId:c}),g=!0);let b=Y(h)&&e&&!f?h:s,w=Y(l)?l:(new Date).getTime();this.Ha(c),this.Wa(a,b,w),e||this.La();let x={noSessionId:_,activityTimeout:y,sessionPastMaximumLength:f,crossTabAdoption:v};return g&&this.Ea.forEach(e=>e(a,c,x)),{sessionId:a,windowId:c,sessionStartTimestamp:w,changeReason:g?x:void 0,lastActivityTimestamp:h}}La(){this.Ra||(clearTimeout(this.Xa),this.Xa=setTimeout(()=>{if(!this.Ra)if(this.Ka((new Date).getTime())){let e=this.Xt;this.resetSessionId(),this.Ta.emit("forcedIdleReset",{idleSessionId:e})}else this.La()},1.1*this.sessionTimeoutMs))}};let oT=function(e,t){if(!e)return!1;let i=e.userAgent;if(i&&eu(i,t))return!0;try{let i=null==e?void 0:e.userAgentData;if((null==i?void 0:i.brands)&&i.brands.some(e=>eu(null==e?void 0:e.brand,t)))return!0}catch(e){}return!!e.webdriver};function oA(){return(oA=ea(function*(){let e=null==c?void 0:c.userAgentData;if(null==e?void 0:e.getHighEntropyValues)try{let t=yield e.getHighEntropyValues(["model"]),i=null==t?void 0:t.model;return V(i)&&i.length>0?i:void 0}catch(e){return void i$.info("Unable to resolve $device_model from userAgentData.getHighEntropyValues",e)}})).apply(this,arguments)}function oL(e){var t;return!!(null==(t=e.conditions)||null==(t=t.events)||null==(t=t.values)?void 0:t.length)}let oD=(e,t)=>{if(!(e=>{try{new RegExp(e)}catch(e){return!1}return!0})(t))return!1;try{return new RegExp(t).test(e)}catch(e){return!1}},oN=e=>e.toLowerCase(),oj={exact:(e,t)=>t.some(t=>e.some(e=>t===e)),is_not:(e,t)=>t.every(t=>e.every(e=>t!==e)),regex:(e,t)=>t.some(t=>e.some(e=>oD(t,e))),not_regex:(e,t)=>t.every(t=>e.every(e=>!oD(t,e))),icontains:(e,t)=>t.map(oN).some(t=>e.map(oN).some(e=>t.includes(e))),not_icontains:(e,t)=>t.map(oN).every(t=>e.map(oN).every(e=>!t.includes(e))),gt:(e,t)=>t.some(t=>{let i=parseFloat(t);return!isNaN(i)&&e.some(e=>i>parseFloat(e))}),lt:(e,t)=>t.some(t=>{let i=parseFloat(t);return!isNaN(i)&&e.some(e=>i<parseFloat(e))})};function oB(e,t){return!e||Object.entries(e).every(([e,i])=>{let s=null==t?void 0:t[e];if(null==s)return!1;let r=oj[i.operator];return!!r&&r(i.values,[String(s)])})}function oq(e,t,i){return r0({distinct_id:e,userPropertiesToSet:t,userPropertiesToSetOnce:i})}let oz="custom",oH="i.posthog.com",oV=/^\/static\//,oG=["/s/","/e/","/i/"];var oW=class{constructor(e){this.Ya={},this.instance=e}get apiHost(){let e=this.instance.config.api_host.trim().replace(/\/$/,"");return"https://app.posthog.com"===e?"https://us.i.posthog.com":e}get flagsApiHost(){let e=this.instance.config.flags_api_host;return e?e.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var e;let t=null==(e=this.instance.config.ui_host)?void 0:e.replace(/\/$/,"");return t||(t=this.apiHost.replace(`.${oH}`,".posthog.com")),"https://app.posthog.com"===t?"https://us.posthog.com":t}get region(){return this.Ya[this.apiHost]||(this.Ya[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":oz),this.Ya[this.apiHost]}tu(e){if(!oV.test(e))return;let t=this.instance.config.asset_host;return"string"==typeof t&&t.trim().replace(/\/$/,"")||void 0}
2eu(e){let t=r1(e);return t?t.protocol+"//"+t.host+t.pathname:void 0}iu(e,t,i){if("ui"===e)return i;let s=i,r=this.instance.config.rewriteRequestPath;if(r){var n;s=r(new URL((null==(n=r1(i))?void 0:n.href)||i)).toString()}if(r&&"api"===e&&oG.some(e=>0===t.indexOf(e))){let e=this.eu(s);if(e){let t=this.apiHost,i=this.nu;(null==i?void 0:i.apiHost)===t&&i.rewriteRequestPath===r||(i={apiHost:t,rewriteRequestPath:r,urls:new Set},this.nu=i),i.urls.add(e)}}return s}isIngestionEndpoint(e){let t=this.nu,i=this.eu(e);return(null==t?void 0:t.apiHost)===this.apiHost&&t.rewriteRequestPath===this.instance.config.rewriteRequestPath&&!!i&&t.urls.has(i)}endpointFor(e,t=""){if(t&&(t="/"===t[0]?t:`/${t}`),"ui"===e)return this.iu(e,t,this.uiHost+t);if("flags"===e)return this.iu(e,t,this.flagsApiHost+t);if("assets"===e){let i=this.tu(t);if(i)return this.iu(e,t,`${i}${t}`)}if(this.region===oz)return this.iu(e,t,this.apiHost+t);let i=oH+t;switch(e){case"assets":return this.iu(e,t,`https://${this.region}-assets.${i}`);case"api":return this.iu(e,t,`https://${this.region}.${i}`)}}};let oU=ik("[Surveys]"),oK=e=>{try{let t=`seenSurvey_${e.current_iteration&&e.current_iteration>0?`${e.id}_${e.current_iteration}`:e.id}`;if(localStorage.getItem(t))return;localStorage.setItem(t,"true")}catch(e){oU.error("Failed to persist survey seen state",e)}},oY=["popover","widget","api"],oJ={ignoreConditions:!1,ignoreDelay:!1,displayType:nC},oX=ik("[PostHog ExternalIntegrations]"),oZ={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};var oQ=class{constructor(e){this._instance=e}No(e,t){var i,s;null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this._instance,e,e=>{if(e)return oX.error("failed to load script",e);t()})}startIfEnabledOrStop(){var e,t,i,s;for(let[r,n]of Object.entries(null!=(e=this._instance.config.integrations)?e:{}))!n||(null==(t=w.__PosthogExtensions__)||null==(t=t.integrations)?void 0:t[r])||this.No(oZ[r],()=>{var e;null==(e=w.__PosthogExtensions__)||null==(e=e.integrations)||null==(e=e[r])||e.start(this._instance)}),!n&&(null==(i=w.__PosthogExtensions__)||null==(i=i.integrations)?void 0:i[r])&&(null==(s=w.__PosthogExtensions__)||null==(s=s.integrations)||null==(s=s[r])||s.stop())}},o0=class{constructor(e,t){this.$=e,this.po=t,this.su=new Map,this.So=!1}add(e){var t=this;return ea(function*(){if(t.So)throw Error("Cannot add an extension to a disposed ExtensionRuntime");if(t.su.has(e.name))throw Error(`Browser extension "${e.name}" is already registered`);t.su.set(e.name,e);try{let i=e.setup(t.po);i&&(yield i)}catch(s){let i=t.su.get(e.name)===e;i&&t.su.delete(e.name),t.$.error(`Failed to set up browser extension "${e.name}"`,s),i&&t.ru(e)}})()}getExtension(e){return this.su.get(e)}dispose(){if(this.So)return;this.So=!0;let e=Array.from(this.su.values()).reverse();for(let t of(this.su.clear(),e))this.ru(t)}ru(e){try{var t;let i=null==(t=e.dispose)?void 0:t.call(e);i&&B(i.then)&&i.then(void 0,t=>{this.$.error(`Failed to dispose browser extension "${e.name}"`,t)})}catch(t){this.$.error(`Failed to dispose browser extension "${e.name}"`,t)}}},o1=class{constructor(e){this._instance=e}initialize(){}get(e){let t=this._instance.persistence;if("string"==typeof e)return null==t?void 0:t.get_property(e);let i={};for(let s of e){let e=null==t?void 0:t.get_property(s);H(e)||(i[s]=e)}return i}set(e,t){var i;null==(i=this._instance.persistence)||i.register("string"==typeof e?{[e]:t}:e)}remove(e){var t;null==(t=this._instance.persistence)||t.unregister(e)}};let o2="extensionsRemoteConfig";var o3=class{constructor(e){this.instance=e,this.So=!1,this.$=i$,this.ou=e.lu,this.kv=new o1(e),this.onEvent=e=>nO(this.instance.on("eventCaptured",t=>{try{e({event:t.event,properties:t.properties})}catch(e){this.$.error("Browser extension event listener failed",e)}})),this.onRemoteConfig=e=>{if(this.So)return nO(()=>{});let t=t=>{try{e(t)}catch(e){this.$.error("Browser extension remote config listener failed",e)}},i=this.instance.au.on(o2,t);return this.ou&&t(this.ou),nO(i)},this.uu=new o0(i$.createLogger("[BrowserExtensions]"),this)}get logger(){return this.$}get distinctId(){return this.instance.get_distinct_id()}get anonymousId(){var e;return null!=(e=this.instance.get_property("$device_id"))?e:this.distinctId}get deviceId(){let e=this.instance.get_property(iO);return"string"==typeof e?e:void 0}get library(){return{name:$.LIB_NAME,version:$.LIB_VERSION}}get initialPersonProperties(){var e,t;return null!=(e=null==(t=this.instance.persistence)?void 0:t.get_initial_props())?e:{}}get groups(){return this.instance.getGroups()}get session(){try{var e,t,i,s;let r=null==(e=this.instance.sessionManager)?void 0:e.checkAndGetSessionAndWindowId(!0);return{sessionId:null!=(t=null==r?void 0:r.sessionId)?t:"",windowId:null!=(i=null==r?void 0:r.windowId)?i:"",sessionStartTimestamp:null!=(s=null==r?void 0:r.sessionStartTimestamp)?s:0}}catch(e){return{sessionId:"",windowId:"",sessionStartTimestamp:0}}}get canCapture(){return this.instance.is_capturing()}get projectToken(){return this.instance.config.token}add(e){return this.uu.add(e)}getExtension(e){return this.uu.getExtension(e)}capture(e,t,i){var s=this;return ea(function*(){i?s.instance.capture(e,t,{timestamp:i.timestamp,uuid:i.uuid,$set:i.set,$set_once:i.setOnce}):s.instance.capture(e,t)})()}registerDynamicEventProperties(e){return nO(this.instance.hu(e))}handleRemoteConfig(e){this.So||(this.ou=e,this.instance.au.emit(o2,e))}sendRequest(e){var t=this;return ea(function*(e,i={}){var s;let r=t.instance.requestRouter.endpointFor(null!=(s=i.target)?s:"api",e),n={method:i.method,url:i.query?oh(r,i.query
2):r,data:i.body,headers:i.headers,timeout:i.timeoutMs,fireCallbackOnDrop:!0,transport:i.transport,compression:i.compression,compressionFallback:"flags"===i.target&&"best-available"===i.compression?F.Base64:void 0,timestampMode:i.sentAt};return"sendBeacon"===i.transport?(t.instance._send_request(n),{statusCode:202}):new Promise(e=>{n.callback=e,t.instance._send_request(n)})}).apply(this,arguments)}dispose(){this.So||(this.So=!0,this.uu.dispose())}};let o5={},o6=0,o4=()=>{},o8='Consent opt in/out is not valid with cookieless_mode="always" and will be ignored',o9="Surveys module not available",o7="sanitize_properties is deprecated. Use before_send instead",ae="Invalid value for property_denylist config: ",at=/^[A-Za-z0-9_-]{1,400}$/,ai=/^fb\.[0-9]+\.[0-9]+\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?$/,as=/^fb\.[0-9]+\.[0-9]+\.[0-9]+$/,ar=["token","distinct_id",s_],an="posthog",ao=e=>{var t;let i;return tb({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,asset_host:null,token:"",autocapture:!0,cross_subdomain_cookie:function(e){let t=null==e?void 0:e.hostname;if(!V(t))return!1;let i=t.split(".").slice(-2).join(".");for(let e of sN)if(i===e)return!1;return!0}(null==d?void 0:d.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:o4,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:null!=e?e:"unset",__preview_deferred_init_extensions:!1,__preview_external_dependency_versioned_paths:!1,__preview_cookie_wins_on_conflict:!1,debug:p&&V(null==p?void 0:p.search)&&-1!==p.search.indexOf("__posthog_debug=true")||!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,disableDeviceModel:!1,reuseAnonymousId:!1,disable_external_dependency_loading:!1,strict_script_versioning:"fallback",enable_recording_console_log:void 0,secure_cookie:"https:"===(null==u||null==(t=u.location)?void 0:t.protocol),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(e){i$.error("Bad HTTP status: "+e.statusCode+" "+e.text)},get_device_id:e=>e,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:sk,before_send:void 0,get_current_url:void 0,request_queue_config:{flush_interval_ms:3e3},error_tracking:{},_onCapture:o4},{rageclick:e&&e>="2026-05-30"?{content_ignorelist:rx,ignore_text_selection:!0}
2:!e||"2025-11-30">e||{content_ignorelist:!0},capture_pageview:!e||"2025-05-24">e||"history_change",session_recording:(i={},e&&"unset"!==e&&("2025-11-30">e||(i.strictMinimumDuration=!0),"2026-05-30">e||(i.canvasCapture={resolutionScale:.6}),"2026-06-25">e||(i.streamNetworkBody=!0),"2026-08-30">e||(i.captureJsonLd=!0)),i),external_scripts_inject_target:e&&e>="2026-01-30"?"head":"body",internal_or_test_user_hostname:e&&e>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0,persistence_save_debounce_ms:e&&e>="2026-05-30"?250:0,split_storage:!(!e||"2026-05-30">e),detect_google_search_app:!(!e||"2026-05-30">e),disable_capture_url_hashes:!(!e||"2026-06-25">e),cookieWinsOnConflict:!(!e||"unset"===e||"2026-08-29">e)})},aa=[["process_person","person_profiles"],["xhr_headers","request_headers"],["cookie_name","persistence_name"],["disable_cookie","disable_persistence"],["__preview_disable_beacon","disable_beacon"],["store_google","save_campaign_params"],["verbose","debug"],["__preview_cookie_wins_on_conflict","cookieWinsOnConflict"]],al=e=>{let t={};for(let[i,s]of aa)H(e[i])||(t[s]=e[i]);let i=sR({},t,e),s=e.__preview_external_dependency_versioned_paths;return H(s)||(H(e.strict_script_versioning)&&(i.strict_script_versioning=!!s),V(s)&&H(e.asset_host)&&(i.asset_host=s)),j(e.property_blacklist)&&(H(e.property_denylist)?i.property_denylist=e.property_blacklist:j(e.property_denylist)?i.property_denylist=[...e.property_blacklist,...e.property_denylist]:i$.error(ae+e.property_denylist)),i};var au=class{constructor(){this.__forceAllowLocalhost=!1}get cu(){return this.__forceAllowLocalhost}set cu(e){i$.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=e}},ah=class e{du(e){if(!e)return;let t=this.su.indexOf(e);-1!==t&&this.su.splice(t,1)}vu(e,t){var i;return this.du(e),this.su.push(t),null==(i=t.initialize)||i.call(t),t}fu(){return"always"===this.config.cookieless_mode||"on_reject"===this.config.cookieless_mode&&this.consent.isRejected()}pu(){let e,t,i;if(this.gu||this.config.reuseAnonymousId||this.config.segment||this.fu())return;let s="memory"===this.config.persistence||"sessionStorage"===this.config.persistence;(s||this.config.disable_persistence)&&(this.mu||(s?(e=`persistence is set to '${this.config.persistence}'`,t="memory"===this.config.persistence?"on every page load":"for every new browser tab or window",i="Either set persistence to 'localStorage+cookie', keep this persistence and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."):(e="persistence is disabled (disable_persistence is true)",t="on every page load",i="Either set disable_persistence to false, keep persistence disabled and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."),this.gu=!0,console.warn("[PostHog.js]",`${e} but no bootstrap.distinctID was provided. PostHog will mint a new distinct ID ${t}, so calling identify() merges a new ID onto the person each time. A person can then pass the distinct-ID limit and its events stop appearing on person pages and the session tab. ${i}`)))}yu(){if(this.fu()||"$posthog_cookieless"!==this.get_distinct_id())return;let e=this.persistence;if(!e)return;this.bu()||e.load(!0);let t=this.get_distinct_id();if(!t||"$posthog_cookieless"===t){let t=this.config.get_device_id(sW());this.register({distinct_id:t,$device_id:t}),e.set_property(sh,sx)}this._u()}get decideEndpointWasHit(){var e,t;return null!=(e=null==(t=this.featureFlags)?void 0:t.hasLoadedFlags)&&e}get flagsEndpointWasHit(){var e,t;return null!=(e=null==(t=this.featureFlags)?void 0:t.hasLoadedFlags)&&e}constructor(){var t;this.wu=!1,this.ku=!1,this.webPerformance=new au,this.Su=!1,this.version=$.LIB_VERSION,this.xu=new Set,this.Cu="",this.au=new oO,this.su=[],this.$u=[],this.mu=!1,this.gu=!1,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=ao(),this.SentryIntegration=rK,this.sentryIntegration=e=>{let t;return t=rU(this,e),{name:rW,processEvent:e=>t(e)}},this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.Tu=!1,this.Iu=null,this.Mu=null,this.Eu=null,this.scrollManager=new oP(this),this.pageViewM
2anager=new rY(this),this.rateLimiter=new nR(this),this.requestRouter=new oW(this),this.consent=new rs(this),this.externalIntegrations=new oQ(this);const i=null!=(t=e.__defaultExtensionClasses)?t:{};this.featureFlags=i.featureFlags&&new i.featureFlags(this),this.toolbar=i.toolbar&&new i.toolbar(this),this.surveys=i.surveys&&new i.surveys(this),this.conversations=i.conversations&&new i.conversations(this),this.logs=i.logs&&new i.logs(this),this.metrics=i.metrics&&new i.metrics(this),this.experiments=i.experiments&&new i.experiments(this),this.exceptions=i.exceptions&&new i.exceptions(this),this.people={set:(e,t,i)=>{let s=V(e)?{[e]:t}:e;this.setPersonProperties(s),null==i||i({})},set_once:(e,t,i)=>{let s=V(e)?{[e]:t}:e;this.setPersonProperties(void 0,s),null==i||i({})}},this.on("eventCaptured",e=>i$.info(`send "${null==e?void 0:e.event}"`,e))}init(t,i,s){if(s&&s!==an){var r;let n=null!=(r=o5[s])?r:new e;return n._init(t,i,s),o5[s]=n,o5[an][s]=n,n}return this._init(t,i,s)}_init(e,t={},i){var s,r,n,o;let a=V(e)?e.trim():"";if(!a)return i$.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 a!==(null==(o=this.config)?void 0:o.token)?console.warn("[PostHog.js]",`You have already initialized PostHog with a different project token! Re-initializing is a no-op, so events will keep going to the project this instance was initialized with. To capture into a second project, load PostHog once, then initialize a named instance after the SDK has loaded, e.g. posthog.init('${a}', { ... }, 'project2')`):console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config=ao(t.defaults),t.debug=this.Pu(t.debug),this.Ru=t,this.Au=[],t.person_profiles?this.Mu=t.person_profiles:t.process_person&&(this.Mu=t.process_person);let l=ao(t.defaults),h=al(t),c=sR({},l,h,{name:i,token:a});q(l.rageclick)&&q(h.rageclick)&&(c.rageclick=sR({},l.rageclick,h.rageclick)),q(l.session_recording)&&q(h.session_recording)&&(c.session_recording=sR({},l.session_recording,h.session_recording)),this.set_config(c),this.config.on_xhr_error&&i$.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=t.disable_compression?void 0:n$;let d=this.bu();if(this.persistence=new nx(this.config,d),this.sessionPersistence="sessionStorage"===this.config.persistence||"memory"===this.config.persistence?this.persistence:new nx(tb(tb({},this.config),{},{persistence:"sessionStorage"}),d,!1),this.Cu="ph_"+(this.config.persistence_name||this.config.token)+"_session_registered_properties","memory"!==this.config.persistence&&!d&&ri.Et()){let e=ri.Dt(this.Cu);j(e)&&e.forEach(e=>{V(e)&&this.xu.add(e)})}else ri.Lt(this.Cu);let p=tb({},this.persistence.props),f=tb({},this.sessionPersistence.props);this.register({$initialization_time:(new Date).toISOString()}),this.Fu=new oE((e,t)=>this.Ou(e,t),this.config.request_queue_config),this.Du=new oM(this),this.__request_queue=[];let g=this.fu();g||(this.sessionManager=new oR(this),this.sessionPropsManager=new oC(this,this.sessionManager,this.persistence),this.sessionManager.onSessionId((e,t,i)=>{((null==i?void 0:i.activityTimeout)||(null==i?void 0:i.sessionPastMaximumLength)||(null==i?void 0:i.crossTabAdoption))&&this.Lu()})),this.Nu(),this.config.__preview_deferred_init_extensions?(i$.info("Deferring extension initialization to improve startup performance"),setTimeout(()=>{this.qu(g)},0)):(i$.info("Initializing extensions synchronously"),this.qu(g)),$.DEBUG=$.DEBUG||this.config.debug,$.DEBUG&&i$.info("Starting in debug mode",{this:this,config:t,thisC:tb({},this.config),p:p,s:f}),!this.config.identity_distinct_id||(null==(s=t.bootstrap)?void 0:s.distinctID)||(t.bootstrap=tb(tb({},t.bootstrap),{},{distinctID:this.config.identity_distinct_id,isIdentifiedID:!0}));let v=null==(r=t.bootstrap)?void 0:r.distinctID;if(this.mu=!!v&&!G(v),null==(n=t.bootstrap)?void 0:n.distinctID){let e=t.bootstrap.distinctID,i=this.get_distinct_id(),s=this.persistence.get_property(sh);if(t.bootstrap.isIdentifiedID&&null!=i&&i!==e&&"anonymous"===s)this.identify(e);else if(t.bootstrap.isIdentifiedID&&null!=i&&i!==e&&"identified"===s)i$.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{let i=this.config.get_device_id(sW()),s=t.bootstrap.isIdentifiedID?i:e;this.persistence.set_property(sh,t.bootstrap.isIdentifiedID?s$:sx),this.register({distinct_id:e,$device_id:s})}}if(g)this.register_once({distinct_id:sv,$device_id:null},"");else if(!this.get_distinct_id()){let e=this.config.get_device_id(sW());this.register_once({distinct_id:e,$device_id:e},""),this.persistence.set_property(sh,sx)}return sj(u,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),sj(u,"pageshow",()=>{var e;this.wu=!1,this.ku||null==(e=this.Du)||e.resume()}),t.segment?rG(this,()=>this.ju()):this.ju(),B(this.config._onCapture)&&this.config._onCapture!==o4&&(i$.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",e=>this.config._onCapture(e.event,e))),this.config.ip&&i$.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.config.disableDeviceModel||(function(){return oA.apply(this,arguments)})().then(e=>{e&&this.register({[iI]:e})}).catch(o4),this}Bu(e){return V(e.name)&&B(e.setup)}Hu(e,t){this.Bu(e)?t.push(()=>{this.zu().add(e).catch(()=>{var t;return null==(t=e.dispose)?void 0:t.call(e)}).catch(t=>{i$.error(`Failed to dispose browser extension "${e.name}"`,t)})}):this.su.push(e)}Nu(){var t,i,s,r,n,o;let a=null!=(t=null==(i=this.config.__extensionClasses)?void 0:i.featureFlags)?t:null==(s=e.__defaultExtensionClasses)?void 0:s.featureFlags;a&&(this.featureFlags&&this.featureFlags instanceof a||(null==(r=this.Uu)||r.call(this),this.Uu=void 0,this.featureFlags=new a(this)),B(this.featureFlags.onReloading)&&B(this.featureFlags.setup)?this.Uu||(this.Uu=this.featureFlags.onReloading(()=>{this.au.emit("featureFlagsReloading",!0)}),this.zu().add(this.featureFlags)):null==(n=(o=this.featureFlags).initialize)||n.call(o))}qu(t){var i,s,r,n,o,a,l;let u=performance.now(),h=tb(tb({},e.__defaultExtensionClasses),this.config.__extensionClasses),c=[];h.exceptions&&this.su.push(this.exceptions=null!=(i=this.exceptions)?i:new h.exceptions(this)),h.historyAutocapture&&this.su.push(this.historyAutocapture=new h.historyAutocapture(this)),h.tracingHeaders&&this.su.push(this.tracingHeaders=new h.tracingHeaders(this)),h.siteApps&&this.su.push(this.siteApps=new h.siteApps(this)),h.sessionRecording&&!t&&this.su.push(this.sessionRecording=new h.sessionRecording(this)),this.config.disable_scroll_properties||c.push(()=>{this.scrollManager.startMeasuringScrollPosition()}),h.autocapture&&this.Hu(this.autocapture=new h.autocapture(this),c),h.surveys&&this.Hu(this.surveys=null!=(s=this.surveys)?s:new h.surveys(this),c),h.logs&&this.Hu(this.logs=null!=(r=this.logs)?r:new h.logs(this),c),h.metrics&&this.su.push(this.metrics=null!=(n=this.metrics)?n:new h.metrics(this)),h.conversations&&this.su.push(this.conversations=null!=(o=this.conversations)?o:new h.conversations(this)),h.productTours&&this.su.push(this.productTours=new h.productTours(this)),h.heatmaps&&this.su.push(this.heatmaps=new h.heatmaps(this)),h.webVitalsAutocapture&&this.su.push(this.webVitalsAutocapture=new h.webVitalsAutocapture(this)),h.exceptionObserver&&this.su.push(this.exceptionObserver=new h.exceptionObserver(this)),h.deadClicksAutocapture&&this.su.push(this.deadClicksAutocapture=new h.deadClicksAutocapture(this,rz)),h.toolbar&&this.su.push(this.toolbar=null!=(a=this.toolbar)?a:new h.toolbar(this)),h.experiments&&this.su.push(this.experiments=null!=(l=this.experiments)?l:new h.experiments(this)),this.su.forEach(e
2=>{e.initialize&&c.push(()=>{var t;null==(t=e.initialize)||t.call(e)})}),c.push(()=>{if(this.Wu){let e=this.Wu;this.Wu=void 0,this.su.forEach(t=>{var i;return null==(i=t.onRemoteConfig)?void 0:i.call(t,e)})}}),this.Vu(c,u)}Vu(e,t){for(;e.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-t>=30&&e.length>0)return void setTimeout(()=>{this.Vu(e,t)},0);let i=e.shift();if(i)try{i()}catch(e){i$.error("Error initializing extension:",e)}}let i=Math.round(performance.now()-t);this.register_for_session({[sm]:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",[sy]:i}),this.config.__preview_deferred_init_extensions&&i$.info(`PostHog extensions initialized (${i}ms)`)}Kl(e){var t,i;if(!d||!d.body)return i$.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout(()=>{this.Kl(e)},500);if(this.config.__preview_deferred_init_extensions&&(this.Wu=e),this.lu=e,this.compression=void 0,e.ok){let t=e.config;t.supportedCompression&&!this.config.disable_compression&&(this.compression=I(t.supportedCompression,n$)?n$:I(t.supportedCompression,nk)?nk:void 0),(null==(i=t.analytics)?void 0:i.endpoint)&&(this.analyticsDefaultEndpoint=t.analytics.endpoint)}this.set_config({person_profiles:this.Mu?this.Mu:sk}),null==(t=this.Gu)||t.handleRemoteConfig(e),this.su.forEach(t=>{var i;return null==(i=t.onRemoteConfig)?void 0:i.call(t,e)})}ju(){try{this.config.loaded(this)}catch(e){i$.critical("`loaded` function failed",e)}if(this.Zu(),this.config.internal_or_test_user_hostname&&(null==p?void 0:p.hostname)){let e=p.hostname,t=this.config.internal_or_test_user_hostname;("string"==typeof t?e===t:t.test(e))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout(()=>{(this.consent.isOptedIn()||this.fu())&&this.Qu()},1),this.Ju=new nA(this),this.Ju.load()}Zu(){var e;this.is_capturing()&&this.config.request_batching&&(null==(e=this.Fu)||e.enable())}_dom_loaded(){this.is_capturing()&&sO(this.__request_queue,e=>this.Ou(e)),this.__request_queue=[],this.Zu()}_handle_unload(){var e,t,i,s,r,n;this.wu=!0,null==(e=this.surveys)||null==(t=e.handlePageUnload)||t.call(e),null==(i=this.metrics)||i.flush("sendBeacon"),this.config.request_batching?(this.Ku()&&this.capture(sP),null==(s=this.logs)||s.flushLogs("sendBeacon"),null==(r=this.Fu)||r.unload(),null==(n=this.Du)||n.unload()):this.Ku()&&this.capture(sP,null,{transport:"sendBeacon"})}_send_request(e){ok(this,e)}Ou(e,t){this.Du?this.Du.retriableRequest(e,t):this._send_request(t?tb(tb({},e),{},{transport:t}):e)}_execute_array(e){o6++;try{let t,i=[],s=[],r=[];sO(e,e=>{if(e)if(t=e[0],j(t))r.push(e);else if(B(e))try{e.call(this)}catch(t){i$.error("Error executing queued PostHog call",e,t)}else j(e)&&"alias"===t?i.push(e):j(e)&&-1!==t.indexOf("capture")&&B(this[t])?r.push(e):s.push(e)});let n=function(e,t){sO(e,function(e){try{if(j(e[0])){let i=t;sI(e,function(e){i=i[e[0]].apply(i,e.slice(1))})}else t[e[0]].apply(t,e.slice(1))}catch(t){i$.error("Error executing queued PostHog call",e,t)}})};n(i,this),n(s,this),n(r,this)}finally{o6--}}push(t){if(o6>0&&j(t)&&V(t[0])){let i=e.prototype[t[0]];return void(B(i)&&i.apply(this,t.slice(1)))}this._execute_array([t])}get Xu(){return{property:iT,persistenceKey:iA,cookieName:"_fbc",pattern:ai,register:(e,t)=>{var i;return null==(i=this.persistence)?void 0:i.register({[iA]:{value:e,delivered:t}})},unregister:()=>{var e;return null==(e=this.persistence)?void 0:e.unregister(iA)}}}get Yu(){return{property:iL,persistenceKey:iD,cookieName:"_fbp",pattern:as,register:(e,t)=>{var i;return null==(i=this.persistence)?void 0:i.register({[iD]:{value:e,delivered:t}})},unregister:()=>{var e;return null==(e=this.persistence)?void 0:e.unregister(iD)}}}th(e){var t;let i=null==(t=this.persistence)?void 0:t.get_property(e.persistenceKey);return V(i)&&e.pattern.test(i)?{value:i,delivered:!1}:q(i)&&V(i.value)&&e.pattern.test(i.value)?{value:i.value,delivered:!0===i.delivered}:void 0}eh(e,t,i){return t===(null==i?void 0:i.value)?{value:t,pending:!i.delivered}:(e.register(t,!1),{value:t,pending:!0})}ih(e){if(!this.config.save_campaign_params||this.fu())return;let t=sq(e.cookieName);return V(t)&&e.pattern.test(t)?t:void 0}nh(e,t,i,s){if(!this.persistence)return;let r=this.Xu;this.persistence.refreshKey(r.persistenceKey);let n=this.th(r);if(s)return void r.unregister();if(i)return V(t)&&ai.test(t)?this.eh(r,t,n):void r.unregister();let o=V(e)&&at.test(e)?e:void 0,a=this.ih(r);return a&&((e,t,i)=>{let s=e.split(".");if(t)return s[3]===t;if(!i)return!0;let r=i.value.split(".");return s[3]===r[3]||Number(s[2])>Number(r[2])})(a,o,n)?this.eh(r,a,n):o?(null==n?void 0:n.value.split(".")[3])===o?{value:n.value,pending:!n.delivered}:this.eh(r,`fb.1.${Date.now()}.${o}`,n):n?{value:n.value,pending:!n.delivered}:void 0}sh(e,t,i){if(!this.persistence)return;let s=this.Yu;this.persistence.refreshKey(s.persistenceKey);let r=this.th(s);if(i)return void s.unregister();if(t)return V(e)&&as.test(e)?this.eh(s,e,r):void s.unregister();let n=this.ih(s);return n?this.eh(s,n,r):r?{value:r.value,pending:!r.delivered}:void 0}rh(e,t){if(!this.persistence)return;this.persistence.refreshKey(e.persistenceKey);let i=this.th(e);(null==i?void 0:i.value)!==t||i.delivered||e.register(t,!0)}capture(e,t,i){var s,r,n,o,a,l,u,h;let c,d;if(!(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Fu))return void i$.uninitializedWarning("posthog.capture");
2if(!this.is_capturing())return;if(H(e)||!V(e))return void i$.error("No event name provided to posthog.capture");this.yu();let p=!this.config.opt_out_useragent_filter&&this._is_bot();if(p&&!this.config.__preview_capture_bot_pageviews)return;let f=(null==i?void 0:i.skip_client_rate_limiting)?void 0:this.rateLimiter.clientRateLimitContext();if(null==f?void 0:f.isRateLimited)return void i$.critical("This capture call is ignored due to client rate limiting.");(null==t?void 0:t.$current_url)&&!V(null==t?void 0:t.$current_url)&&(i$.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),null==t||delete t.$current_url),"$exception"!==e||(null==i?void 0:i.oh)||i$.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&&(c=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();let g=new Date,v=(null==i?void 0:i.timestamp)||g,_=tc(null==i?void 0:i.uuid,sW),m={uuid:_,event:e,properties:this.calculateEventProperties(e,t||{},v,_)};"$pageview"===e&&this.config.__preview_capture_bot_pageviews&&p&&(m.event="$bot_pageview",m.properties.$browser_type="bot"),f&&(m.properties.$lib_rate_limit_remaining_tokens=f.remainingTokens);let y="$feature_flag_called"===e&&!1===m.properties.$feature_flag_has_experiment&&!0===this.get_property("$minimal_flag_called_events");(null==i?void 0:i.$set)&&!y&&(m.$set=null==i?void 0:i.$set);let b=q(null==t?void 0:t.$set)?t.$set:void 0,w=j(null==t?void 0:t.$unset)?t.$unset:[],x=(null==i?void 0:i.$unset)||[],$=e=>{var t;let s=!!(null==i?void 0:i.$set)&&e in i.$set;return{hasProvided:s||!!b&&e in b,provided:s?null==i||null==(t=i.$set)?void 0:t[e]:null==b?void 0:b[e],unset:-1!==w.indexOf(e)||-1!==x.indexOf(e)}},k=$(iT),E=$(iL),S=[{channel:this.Xu,hasProvided:k.hasProvided,update:this.nh(null==c?void 0:c.fbclid,k.provided,k.hasProvided,k.unset)},{channel:this.Yu,hasProvided:E.hasProvided,update:this.sh(E.provided,E.hasProvided,E.unset)}];for(let{channel:e,hasProvided:t,update:i}of S)i&&!0===m.properties.$process_person_profile&&i.pending&&!t&&!y&&(m.$set=tb({[e.property]:i.value},m.$set));let M=null==i?void 0:i.$unset;M&&(m.$unset=M);let P=y?void 0:this.ah(null==i?void 0:i.$set_once,e!==sC,e===sF);if(P&&(m.$set_once=P),(null==i?void 0:i._noTruncate)||(n=this.config.properties_string_max_length,a=m,l=e=>V(e)?e.slice(0,n):e,d=new Set,m=function e(t,i){let s;if(t!==Object(t))return l(t);if(!d.has(t)){if(d.add(t),j(t))s=[],sO(t,t=>{s.push(e(t))});else{let i={};sI(et(t)?sD(t):t,(t,s)=>{d.has(t)||(i[s]=e(t,s))}),s=i}return s}}(a)),m.timestamp=v,H(null==i?void 0:i.timestamp)||(m.properties.$event_time_override_provided=!0,m.properties.$event_time_override_system_time=g),y&&(m.properties=((e,t=[])=>{let i={},s=t=>{void 0!==e[t]&&(i[t]=e[t])};return t3.forEach(s),t.forEach(s),i})(m.properties,ar)),e===nP||e===nF){let i,s=null==t?void 0:t.$survey_id,r=null==t?void 0:t.$survey_iteration;oK({id:s,current_iteration:r}),m.$set=tb(tb({},m.$set),{},{[(u={id:s,current_iteration:r},h=e===nF?"responded":"dismissed",i=`$survey_${h}/${u.id}`,u.current_iteration&&u.current_iteration>0&&(i=`$survey_${h}/${u.id}/${u.current_iteration}`),i)]:!0})}else e===nM&&(m.$set=tb(tb({},m.$set),{},{$survey_last_seen_date:(new Date).toISOString()}));if("product tour shown"===e){let e=null==t?void 0:t.$product_tour_type;e&&(m.$set=tb(tb({},m.$set),{},{[`$product_tour_last_seen_date/${e}`]:(new Date).toISOString()}))}let F=tb(tb({},m.properties.$set),m.$set);if(z(F)||this.setPersonPropertiesForFlags(F),!U(this.config.before_send)){let e=this.Os(m);if(!e)return;(m=e).uuid=tc(m.uuid,sW)}let C=S.filter(({channel:e,update:t})=>{var i,s,r;let n=null!=(i=null==(s=m.$set)?void 0:s[e.property])?i:q(null==(r=m.properties)?void 0:r.$set)?m.properties.$set[e.property]:void 0;return(null==t?void 0:t.pending)&&n===t.value});this.au.emit("eventCaptured",m);let O=null!=(s=null==i?void 0:i._url)?s:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),I="recordings"===(null==i?void 0:i._batchKey)||/\/s\/(?:\?|$)/.test(O),R=tb(tb(tb({method:"POST",url:O,data:m,compression:"best-available",timestampMode:I?"body":"capture-body",batchKey:null==i?void 0:i._batchKey},I&&(null==(r=m.properties)?void 0:r.$session_id)?{batchGroup:m.properties.$session_id+(m.properties.$window_id?`-${m.properties.$window_id}`:"")}:{}),(null==i?void 0:i.transport)?{transport:i.transport}:{}),C.length?{fireCallbackOnDrop:!0,callback:e=>{if(e.statusCode>=200&&300>e.statusCode)for(let{channel:e,update:t}of C)this.rh(e,t.value)}}:{});if(!this.config.request_batching||i&&!(null==i?void 0:i._batchKey)||(null==i?void 0:i.send_instantly)||C.length){let e;!R.transport&&!R.callback&&z(null!=(o=this.config.request_headers)?o:{})&&this.wu&&(e="sendBeacon"),this.Ou(R,e)}else this.Fu.enqueue(R);return m}_addCaptureHook(e){return this.on("eventCaptured",t=>e(t.event,t))}getExtension(e){var t;return null==(t=this.Gu)?void 0:t.getExtension(e)}zu(){var e;return null!=(e=this.Gu)?e:this.Gu=new o3(this)}hu(e){this.$u.push(e);let t=!0;return()=>{if(!t)return;t=!1;let i=this.$u.indexOf(e);-1!==i&&this.$u.splice(i,1)}}uh(e=!0){var t,i,s;return!!(null==(t=this.persistence)?void 0:t.consumeCookieIdentityChange())&&(this.Eu=null,"anonymous"===this.persistence.get_property("$user_state")&&(null==(s=this.sessionPersistence)||s.clear(),this.xu.clear(),this.hh()),null==(i=this.featureFlags)||i.reset(),e&&this.reloadFeatureFlags(),!0)}calculateEventProperties(e,t,i,s,r){let n;if(i=i||new Date,!this.persistence||!this.sessionPersistence)return t;this.persistence.syncCookieProperties(),this.uh();let o=r?void 0:this.persistence.remove_event_timer(e),a=tb({},t);if(a.token=this.config.token,a.$config_defaults=this.config.defaults,this.fu()&&(a[s_]=!0),"$
2snapshot"===e){let e=tb(tb({},this.persistence.properties()),this.sessionPersistence.properties());return a.distinct_id=e.distinct_id,(!V(a.distinct_id)&&!K(a.distinct_id)||G(a.distinct_id))&&i$.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),a}let l=function(e,t,i,s=!1){var r,n,o,a;let l,h;if(!m)return{};let c=e?[...r8,...t||[]]:[],[d,f]=te(m),[g,v]=function(e){for(let t=0;tr.length>t;t++){let[i,s,r]=tr[t],n=e.match(i);if(n){let t=r&&e.match(r)||n;return[s,(null==t?void 0:t[1])||""]}}return["",""]}(m),_=(null==(l="u">typeof navigator?navigator:void 0)?void 0:l.brave)?{brave:!0}:{},y={};H(i)||(y.detectGoogleSearchApp=i);let b={},w=null==(r=navigator)||null==(r=r.userAgentData)?void 0:r.platform,x=null==(n=navigator)?void 0:n.maxTouchPoints,k=null==u||null==(o=u.screen)?void 0:o.width,E=null==u||null==(a=u.screen)?void 0:a.height,S=null==u?void 0:u.devicePixelRatio;H(w)||(b.userAgentDataPlatform=w),H(x)||(b.maxTouchPoints=x),H(k)||(b.screenWidth=k),H(E)||(b.screenHeight=E),H(S)||(b.devicePixelRatio=S);let M=sR(sL({$os:d,$os_version:f,$browser:e4(m,navigator.vendor,_,y),$webview_app:g,$webview_app_version:v,$device:tt(m),$device_type:ti(m,b),$timezone:nu(),$timezone_offset:function(){try{return(new Date).getTimezoneOffset()}catch(e){return}}()}),{$current_url:r3(s?tp(null==p?void 0:p.href):null==p?void 0:p.href,c,r7),$host:null==p?void 0:p.host,$pathname:null==p?void 0:p.pathname,$raw_user_agent:m.length>1e3?m.substring(0,997)+"...":m,$browser_version:e9(m,navigator.vendor,_,y),$browser_language:nr(),$browser_language_prefix:"string"==typeof(h=nr())?h.split("-")[0]:void 0,$screen_height:null==u?void 0:u.screen.height,$screen_width:null==u?void 0:u.screen.width,$viewport_height:null==u?void 0:u.innerHeight,$viewport_width:null==u?void 0:u.innerWidth,$lib:$.LIB_NAME,$lib_version:$.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3});return $.SDK_DIST_CHANNEL&&(M.$sdk_dist_channel=$.SDK_DIST_CHANNEL),M}(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties,this.config.detect_google_search_app,this.config.disable_capture_url_hashes);if(this.sessionManager){let{sessionId:e,windowId:t}=this.sessionManager.checkAndGetSessionAndWindowId(r,i.getTime(),!0);a.$session_id=e,a.$window_id=t}this.sessionPropsManager&&sR(a,this.sessionPropsManager.getSessionProps());try{var h;this.sessionRecording&&sR(a,this.sessionRecording.sdkDebugProperties),a.$sdk_debug_retry_queue_size=null==(h=this.Du)?void 0:h.length}catch(e){a.$sdk_debug_error_capturing_properties=String(e)}if(this.requestRouter.region===oz&&(a.$lib_custom_api_host=this.config.api_host),n="$pageview"!==e||r?"$pageleave"!==e||r?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(i):this.pageViewManager.doPageView(i,s),a=sR(a,n),"$pageview"===e&&d&&(a.title=d.title),!H(o)){let e=i.getTime()-o;a.$duration=parseFloat((e/1e3).toFixed(3))}m&&this.config.opt_out_useragent_filter&&(a.$browser_type=this._is_bot()?"bot":"browser");let c=this.persistence.properties(),f=this.sessionPersistence.properties(),g=a.$groups,v=c.$groups;q(g)&&!z(g)&&(a.$groups=tb(tb({},q(v)?v:{}),g)),sI(["$referrer","$referring_domain"],e=>{e in c&&delete f[e]});let _={};if(this.$u.length>0)for(let e of this.$u.slice())try{sR(_,e())}catch(e){i$.error("Failed to produce browser extension event properties",e)}(a=sR({},l,c,f,tb(tb({},_),a))).$is_identified=this._isIdentified(),j(this.config.property_denylist)?sI(this.config.property_denylist,function(e){delete a[e]}):i$.error(ae+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);let y=this.config.sanitize_properties;y&&(i$.error(o7),a=y(a,e));let b=this.dh();return a.$process_person_profile=b,b&&!r&&this.fh("_calculate_event_properties"),a}ah(e,t=!0,i=!1){var s;if(!this.persistence||!this.dh()||this.Su&&!i)return e;let r=sR({},this.persistence.get_initial_props(),(null==(s=this.sessionPropsManager)?void 0:s.getSetOnceProps())||{},e||{}),n=this.config.sanitize_properties;return n&&(i$.error(o7),r=n(r,"$set_once")),t&&(this.Su=!0),z(r)?void 0:r}register(e,t){var i;null==(i=this.persistence)||i.register(e,t)}register_once(e,t,i){var s;null==(s=this.persistence)||s.register_once(e,t,i)}register_for_session(e){var t,i;null==(t=this.persistence)||t.syncCookieProperties(),this.uh(),null==(i=this.sessionPersistence)||i.register(e),Object.keys(e).forEach(e
2=>this.xu.add(e)),this.hh()}unregister(e){var t;null==(t=this.persistence)||t.unregister(e)}unregister_for_session(e){var t;null==(t=this.sessionPersistence)||t.unregister(e),this.xu.delete(e),this.hh()}ph(e,t){this.register({[e]:t})}Lu(){this.xu.forEach(e=>{var t;null==(t=this.sessionPersistence)||t.unregister(e)}),this.xu.clear(),this.hh()}hh(){var e;if(!this.Cu)return;if("memory"===this.config.persistence||(null==(e=this.sessionPersistence)?void 0:e.pi)||!ri.Et())return void ri.Lt(this.Cu);let t=[];this.xu.forEach(e=>t.push(e)),t.length>0?ri.At(this.Cu,t):ri.Lt(this.Cu)}getFeatureFlag(e,t){var i;return null==(i=this.featureFlags)?void 0:i.getFeatureFlag(e,t)}getFeatureFlagPayload(e){var t;return null==(t=this.featureFlags)?void 0:t.getFeatureFlagPayload(e)}getFeatureFlagResult(e,t){var i;return null==(i=this.featureFlags)?void 0:i.getFeatureFlagResult(e,t)}getAllFeatureFlags(){var e,t;return null!=(e=null==(t=this.featureFlags)?void 0:t.getAllFeatureFlags())?e:[]}isFeatureEnabled(e,t){var i,s;return null!=(i=null==(s=this.featureFlags)?void 0:s.isFeatureEnabled(e,t))?i:null==t?void 0:t.defaultValue}reloadFeatureFlags(){var e;null==(e=this.featureFlags)||e.reloadFeatureFlags()}updateFlags(e,t,i){var s;null==(s=this.featureFlags)||s.updateFlags(e,t,i)}updateEarlyAccessFeatureEnrollment(e,t,i){var s;null==(s=this.featureFlags)||s.updateEarlyAccessFeatureEnrollment(e,t,i)}getEarlyAccessFeatures(e,t=!1,i){var s;return null==(s=this.featureFlags)?void 0:s.getEarlyAccessFeatures(e,t,i)}on(e,t){return this.au.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:o9}),()=>{})}onSessionId(e){var t,i;return null!=(t=null==(i=this.sessionManager)?void 0:i.onSessionId(e))?t:()=>{}}getSurveys(e,t=!1){this.surveys?this.surveys.getSurveys(e,t):e([],{isLoaded:!1,error:o9})}getActiveMatchingSurveys(e,t=!1){this.surveys?this.surveys.getActiveMatchingSurveys(e,t):e([],{isLoaded:!1,error:o9})}renderSurvey(e,t){var i;null==(i=this.surveys)||i.renderSurvey(e,t)}displaySurvey(e,t=oJ){var i;null==(i=this.surveys)||i.displaySurvey(e,t)}cancelPendingSurvey(e){var t;null==(t=this.surveys)||t.cancelPendingSurvey(e)}canRenderSurvey(e){var t,i;return null!=(t=null==(i=this.surveys)?void 0:i.canRenderSurvey(e))?t:{visible:!1,disabledReason:o9}}canRenderSurveyAsync(e,t=!1){var i,s;return null!=(i=null==(s=this.surveys)?void 0:s.canRenderSurveyAsync(e,t))?i:Promise.resolve({visible:!1,disabledReason:o9})}gh(e){return!e||G(e)?(i$.critical("Unique user id has not been set in posthog.identify"),!1):"$posthog_cookieless"===e?(i$.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())||(i$.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,i){if(!this.__loaded||!this.persistence)return i$.uninitializedWarning("posthog.identify");if(K(e)&&(e=e.toString(),i$.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),!this.gh(e)||!this.fh("posthog.identify"))return;this.yu();let s=this.get_distinct_id(),r=this.persistence.syncCookieProperties()&&this.get_distinct_id()!==s,n=this.uh(!1),o=this.persistence.Pl(),a=!1;try{let s=this.get_distinct_id();this.register({$user_id:e}),this.get_property("$device_id")||this.register_once({$had_persisted_distinct_id:!0,$device_id:s},""),e!==s&&e!==this.get_property("__alias")&&(this.unregister(iR),this.register({distinct_id:e}));let o=(this.persistence.get_property("$user_state")||"anonymous")===sx,u=e!==s,h=!u&&o;if(u&&o){var l;let r=this.config.reuseAnonymousId?{distinct_id:e}:{distinct_id:e,$anon_distinct_id:s};this.persistence.set_property(sh,s$),this.setPersonPropertiesForFlags({$set:t||{},$set_once:i||{}},!1),this.config.cookieWinsOnConflict&&this.persistence.Rl(),this.capture("$identify",r,{$set:t||{},$set_once:i||{}})&&(this.Eu=oq(e,t,i)),null==(l=this.featureFlags)||l.setAnonymousDistinctId(this.config.reuseAnonymousId?void 0:s)}else if(h){this.persistence.set_property(sh,s$);let s=t||{},r=i||{};this.setPersonPropertiesForFlags({$set:s,$set_once:r},!1),this.config.cookieWinsOnConflict&&this.persistence.Rl(),this.capture("$set",{$set:s,$set_once:r})&&(this.Eu=oq(e,t,i))}else(t||i)&&this.setPersonProperties(t,i);u||r||n?(this.reloadFeatureFlags(),this.featureFlags?this.featureFlags.resetFlagCallReported():this.unregister(so)):h&&(t||i)&&this.reloadFeatureFlags(),a=!0}finally{o&&this.persistence.Ol(a)}}setPersonProperties(e,t){if(!e&&!t||!this.fh("posthog.setPersonProperties"))return;let i=oq(this.get_distinct_id(),e,t);this.Eu!==i?(this.setPersonPropertiesForFlags({$set:e||{},$set_once:t||{}},!0),this.capture("$set",{$set:e||{},$set_once:t||{}})&&(this.Eu=i)):i$.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}unsetPersonProperties(e){var t;let i=(j(e)?e:[e]).filter(e=>V(e)&&e.length>0);0!==i.length&&this.fh("posthog.unsetPersonProperties")&&(null==(t=this.featureFlags)||t.unsetPersonPropertiesForFlags(i,!0),this.capture("$set",{$unset:i}),this.Eu=null)}group(e,t,i){var s;if(!e||!t)return void i$.error("posthog.group requires a group type and group key");null==(s=this.persistence)||s.syncCookieProperties(),this.uh();let r=this.getGroups(),n=r[e]!==t;if(n&&this.resetGroupPropertiesForFlags(e),this.register({$groups:tb(tb({},r),{},{[e]:t})}),(n||i)&&this.dh()){let s={$group_type:e,$group_key:t};
2i&&(s.$group_set=i),this.capture(sC,s)}i&&this.setGroupPropertiesForFlags({[e]:i}),n&&!i&&this.reloadFeatureFlags()}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e,t=!0){var i;null==(i=this.featureFlags)||i.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(e=!0){var t;null==(t=this.featureFlags)||t.resetPersonPropertiesForFlags(e)}setGroupPropertiesForFlags(e,t=!0){var i;this.fh("posthog.setGroupPropertiesForFlags")&&(null==(i=this.featureFlags)||i.setGroupPropertiesForFlags(e,t))}resetGroupPropertiesForFlags(e){var t;null==(t=this.featureFlags)||t.resetGroupPropertiesForFlags(e)}reset(e){let t=J(e)?e:null==e?void 0:e.resetDeviceID,i=J(e)||null==e?void 0:e.bootstrap;this.mh(t,!1,i)}mh(e,t=!1,i){var s,r,n,o,a,l,u,h,c,d,p,f,g,v,_,m,y,b,w,x,$;if(i$.info("reset"),!this.__loaded)return i$.uninitializedWarning("posthog.reset");let k=null==i?void 0:i.sessionID;this.config.bootstrap=i||(null==(s=this.Ru)?void 0:s.bootstrap)||{},null==(r=this.featureFlags)||null==(n=r.updateConfig)||n.call(r,this.config,this.Xl());let E=this.get_property(iO),S=this.get_property(iI),M=this.get_property(iY);null==(o=this.sessionRecording)||o.flushBeforeIdentityReset();let P=this.is_capturing();this.consent.reset(),t||!P||this.is_capturing()||console.warn("[PostHog.js]","reset() cleared the stored consent, and capturing is now off because of `opt_out_capturing_by_default`. Call opt_in_capturing() again, and prefer calling reset() before opting in rather than after.");let F=null==(a=this.persistence)||null==(l=a.Pl)?void 0:l.call(a),C=!1;try{if(null==(u=this.persistence)||u.clear(),null==(h=this.sessionPersistence)||h.clear(),this.xu.clear(),this.hh(),H(M)||null==(m
2=this.persistence)||m.register({$session_recording_remote_config:M}),null==(c=this.surveys)||c.reset(),null==(d=this.featureFlags)||d.reset(),null==(p=this.conversations)||p.reset(),null==(f=this.logs)||f.reset(),null==(g=this.metrics)||g.reset(),null==(v=this.persistence)||v.set_property("$user_state","anonymous"),null==(_=this.sessionManager)||_.resetSessionId(),this.Eu=null,"always"===this.config.cookieless_mode)this.register_once({distinct_id:sv,$device_id:null},"");else{let t=this.config.get_device_id(sW());this.register_once({distinct_id:t,$device_id:e?t:E},""),e||H(S)||this.register({[iI]:S})}if(this.register({$last_posthog_reset:(new Date).toISOString()},1),i&&(i.distinctID&&!this.fu()&&(null==(w=this.persistence)||w.set_property("$user_state",i.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:i.distinctID})),null==(y=this.featureFlags)||y.initialize(),!U(k)&&!(null==(b=this.sessionManager)?void 0:b.setBootstrapSessionId(k,!0)))){let e=tb({},i);delete e.sessionID,this.config.bootstrap=e}delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,C=!0}finally{F&&(null==(x=this.persistence)||null==($=x.Ol)||$.call(x,C))}this.reloadFeatureFlags()}shutdown(e){var t=this;return ea(function*(){var e,i,s,r,n,o,a,l,u;if(t.__loaded){t.ku=!0,t.zu().dispose(),null==(e=t.sessionRecording)||e.dispose(),null==(i=t.logs)||i.flushLogs("sendBeacon"),null==(s=t.metrics)||s.flush("sendBeacon"),null==(r=t.metrics)||r.dispose(),null==(n=t.Fu)||n.unload(),null==(o=t.Du)||o.unload();try{null==(u=t.featureFlags)||u.destroy()}catch(e){i$.error("Error while destroying feature flags",e)}null==(a=t.persistence)||a.destroy(),null==(l=t.sessionPersistence)||l.destroy()}else i$.uninitializedWarning("posthog.shutdown")})()}setIdentity(e,t){var i;delete this.config.identity_claims,this.config.identity_distinct_id=e,this.config.identity_hash=t,this.alias(e),null==(i=this.conversations)||i.yh()}clearIdentity(){var e;delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,null==(e=this.conversations)||e.bh()}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var e,t;return null!=(e=null==(t=this.sessionManager)?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)?e:""}get_session_replay_url(e){if(!this.sessionManager)return"";let{sessionId:t,sessionStartTimestamp:i}=this.sessionManager.checkAndGetSessionAndWindowId(!0),s=this.requestRouter.endpointFor("ui",`/project/${this.config.token}/replay/${t}`);if((null==e?void 0:e.withTimestamp)&&i){var r;let t=null!=(r=e.timestampLookBack)?r:10;if(!i)return s;s+=`?t=${Math.max(Math.floor(((new Date).getTime()-i)/1e3)-t,0)}`}return s}alias(e,t){return e===this.get_property("$people_distinct_id")?(i$.critical("Attempting to create alias for existing People user - aborting."),-2):this.fh("posthog.alias")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this.ph(iR,e),this.capture("$create_alias",{alias:e,distinct_id:t})):(i$.warn("alias matches current distinct_id - skipping api call."),this.identify(e),-1)):void 0}set_config(e){let t=tb({},this.config);if(q(e)){var i,s,r,n,o,a,l,u,h,c,d,p,f,g,v;sR(this.config,al(e));let _=this.bu();null==(i=this.persistence)||i.update_config(this.config,t,_),this.sessionPersistence="sessionStorage"===this.config.persistence||"memory"===this.config.persistence?this.persistence:new nx(tb(tb({},this.config),{},{persistence:"sessionStorage"}),_,!1);let m=this.Pu(this.config.debug);J(m)&&(this.config.debug=m),J(this.config.debug)&&(this.config.debug?($.DEBUG=!0,sQ.Et()&&sQ.At("ph_debug",!0),i$.info("set_config",{config:e,oldConfig:t,newConfig:tb({},this.config)})):($.DEBUG=!1,sQ.Et()&&sQ.Lt("ph_debug"))),null==(s=this.featureFlags)||null==(r=s.updateConfig)||r.call(s,this.config,this.Xl()),null==(n=this.exceptionObserver)||n.onConfigChange(),null==(o=this.exceptions)||o.onConfigChange(),null==(a=this.metrics)||a.onConfigChange(),null==(l=this.sessionRecording)||l.startIfEnabledOrStop(),null==(u=this.tracingHeaders)||u.startIfEnabledOrStop(),null==(h=this.autocapture)||h.startIfEnabled(),null==(c=this.heatmaps)||c.startIfEnabled(),("capture_pageview"in e||"disable_capture_url_hashes"in e)&&(null==(v=this.historyAutocapture)||v.startIfEnabledOrStop()),null==(d=this.exceptionObserver)||d.startIfEnabledOrStop(),null==(p=this.deadClicksAutocapture)||p.startIfEnabledOrStop(),null==(f=this.surveys)||f.loadIfEnabled(),this._u(),null==(g=this.externalIntegrations)||g.startIfEnabledOrStop(),!t.segment&&this.config.segment&&this.persistence&&rG(this,o4,!1)}}_overrideSDKInfo(e,t){$.LIB_NAME=e,$.LIB_VERSION=t}startSessionRecording(e){var t,i,s,r,n;let o=!0===e,a={sampling:o||!!(null==e?void 0:e.sampling),linked_flag:o||!!(null==e?void 0:e.linked_flag),url_trigger:o||!!(null==e?void 0:e.url_trigger),event_trigger:o||!!(null==e?void 0:e.event_trigger)};Object.values(a).some(Boolean)&&(null==(t=this.sessionManager)||t.checkAndGetSessionAndWindowId(),a.sampling&&(null==(i=this.sessionRecording)||i.overrideSampling()),a.linked_flag&&(null==(s=this.sessionRecording)||s.overrideLinkedFlag()),a.url_trigger&&(null==(r=this.sessionRecording)||r.overrideTrigger("url")),a.event_trigger&&(null==(n=this.sessionRecording)||n.overrideTrigger("event"))),this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!!(null==(e=this.sessionRecording)?void 0:e.started)}captureException(e,t){try{if(!this.exceptions)return;let i=this.exceptions.buildProperties(e,{handled:!0,syntheticException:Error("PostHog syntheticException")});return this.exceptions.sendExceptionEvent(tb(tb({},i),t))}catch(e){return}}addExceptionStep(e,t){var i;null==(i=this.exceptions)||i.addExceptionStep(e,t)}captureLog(e){var t;null==(t=this.logs)||t.captureLog(e)}get logger(){var t,i;return null!=(t=null==(i=this.logs)?void 0:i.logger)?t:e._h}startExceptionAutocapture(e){this.set_config({capture_exceptions:null==e||e})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(e){var t,i;return null!=(t=null==(i=this.toolbar)?void 0:i.loadToolbar(e))&&t}get_property(e){var t;return null==(t=this.persistence)?void 0:t.props[e]}getSessionProperty(e){var t;return null==(t=this.sessionPersistence)?void 0:t.props[e]}toString(){var e;let t=null!=(e=this.config.name)?e:an;return t!==an&&(t="posthog."+t),t}_isIdentified(){var e,t;return"identified"===(null==(e=this.persistence)?void 0:e.get_property("$user_state"))||"identified"===(null==(t=this.sessionPersistence)?void 0:t.get_property("$user_state"))}dh(){var e,t;return!("never"===this.config.person_profiles||"identified_only"===this.config.person_profiles&&
2!this._isIdentified()&&z(this.getGroups())&&!(null==(e=this.persistence)||null==(e=e.props)?void 0:e.__alias)&&!(null==(t=this.persistence)||null==(t=t.props)?void 0:t.$epp))}Ku(){return!0===this.config.capture_pageleave||"if_capture_pageview"===this.config.capture_pageleave&&!!this.config.capture_pageview}createPersonProfile(){this.dh()||this.fh("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.fh("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}fh(e){return"never"===this.config.person_profiles?(i$.error(e+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.pu(),this.ph(sg,!0),!0)}bu(){if("always"===this.config.cookieless_mode)return!0;let e=this.consent.isOptedOut();return this.config.disable_persistence||e&&!(!this.config.opt_out_persistence_by_default&&"on_reject"!==this.config.cookieless_mode)}_u(){var e,t,i,s,r;let n=this.bu();return this.is_capturing()||null==(i=this.logs)||i.wh(),(null==(e=this.persistence)?void 0:e.pi)!==n&&(null==(s=this.persistence)||s.set_disabled(n)),(null==(t=this.sessionPersistence)?void 0:t.pi)!==n&&(null==(r=this.sessionPersistence)||r.set_disabled(n)),n&&(this.xu.clear(),this.hh()),n}opt_in_capturing(t){var i,s,r,n,o,a,l,u,h,c,d;if("always"!==this.config.cookieless_mode){if(this.fu()){null==(s=this.sessionRecording)||s.dispose({discardBufferedEvents:!0}),this.mh(!0,!0),null==(r=this.sessionManager)||r.destroy(),null==(n=this.pageViewManager)||n.destroy(),this.sessionManager=new oR(this),this.pageViewManager=new rY(this),this.persistence&&(this.sessionPropsManager=new oC(this,this.sessionManager,this.persistence));let t=null!=(o=null==(a=this.config.__extensionClasses)?void 0:a.sessionRecording)?o:null==(l=e.__defaultExtensionClasses)?void 0:l.sessionRecording;t&&(this.sessionRecording=this.vu(this.sessionRecording,new t(this)),this.lu&&(null==(u=this.sessionRecording)||null==(h=u.onRemoteConfig)||h.call(u,this.lu)))}this.consent.optInOut(!0),this._u(),this.Zu(),null==(i=this.sessionRecording)||i.startIfEnabledOrStop(),"on_reject"==this.config.cookieless_mode&&(null==(c=this.surveys)||c.loadIfEnabled()),(H(null==t?void 0:t.captureEventName)||(null==t?void 0:t.captureEventName))&&this.capture(null!=(d=null==t?void 0:t.captureEventName)?d:"$opt_in",null==t?void 0:t.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.Qu()}else i$.warn(o8)}opt_out_capturing(){var e,t;if("always"===this.config.cookieless_mode)return void i$.warn(o8);let i="on_reject"===this.config.cookieless_mode?this.sessionRecording:void 0;null==i||i.dispose({discardBufferedEvents:!0}),"on_reject"===this.config.cookieless_mode&&this.consent.isOptedIn()&&this.mh(!0,!0),this.consent.optInOut(!1),this._u(),"on_reject"===this.config.cookieless_mode&&(this.register({distinct_id:sv,$device_id:null}),this.du(i),this.sessionRecording=void 0,null==(e=this.sessionManager)||e.destroy(),null==(t=this.pageViewManager)||t.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,this.config.capture_pageview&&this.Qu(),this.Zu())}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){let e=this.consent.consent;return 1===e?"granted":0===e?"denied":"pending"}is_capturing(){return"always"===this.config.cookieless_mode||("on_reject"===this.config.cookieless_mode?this.consent.isRejected()||this.consent.isOptedIn():!this.has_opted_out_capturing())}clear_opt_in_out_capturing(){this.consent.reset(),this._u()}_is_bot(){return c?oT(c,this.config.custom_blocked_useragents):void 0}Qu(){d&&("visible"===d.visibilityState?this.Tu||(this.Tu=!0,this.capture(sM,{title:d.title},{send_instantly:!0}),this.Iu&&(d.removeEventListener(sE,this.Iu),this.Iu=null)):this.Iu||(this.Iu=this.Qu.bind(this),sj(d,sE,this.Iu)))}debug(e){!1===e?(null==u||u.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(null==u||u.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}))}Xl(){var e,t;let i,s,r=this.Ru||{};return"advanced_disable_flags"in r?!!r.advanced_disable_flags:!1!==this.config.advanced_disable_flags?!!this.config.advanced_disable_flags:!0===this.config.advanced_disable_decide?(i$.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):(t="advanced_disable_decide",i=(e="advanced_disable_flags")in r&&!U(r[e]),s=t in r&&!U(r[t]),i?r[e]:!!s&&(i$&&i$.warn(`Config field '${t}' is deprecated. Please use '${e}' instead. The old field will be removed in a future major version.`),r[t]))}Os(e){var t;if(U(this.config.before_send))return e;let i=Object.keys(null!=(t=e.properties)?t:{}).filter(Z),s=j(this.config.before_send)?this.config.before_send:[this.config.before_send],r=e;
2for(let t of s)try{if(r=t(r),U(r)){let t=`Event '${e.event}' was rejected in beforeSend function`;return X(e.event)?i$.warn(`${t}. This can cause unexpected behavior.`):i$.info(t),null}r.properties&&!z(r.properties)||i$.warn(`Event '${e.event}' has no properties after beforeSend function, this is likely an error.`)}catch(t){return i$.error(`Error in beforeSend function for event '${e.event}':`,t),null}for(let t of i)if(r.properties&&U(r.properties[t]))return i$.warn(`Event '${e.event}' had its '${t}' property removed in a beforeSend function. This property is required for ingestion, so the event will be dropped.`),null;return r}getPageViewId(){var e;return null==(e=this.pageViewManager.Bo)?void 0:e.pageViewId}captureTraceFeedback(e,t){this.capture("$ai_feedback",{$ai_trace_id:String(e),$ai_feedback_text:t})}captureTraceMetric(e,t,i){this.capture("$ai_metric",{$ai_trace_id:String(e),$ai_metric_name:t,$ai_metric_value:String(i)})}Pu(e){let t=J(e)&&!e,i=sQ.Et()&&"true"===sQ.Ot("ph_debug");return!t&&(!!i||e)}};ah.__defaultExtensionClasses={},ah._h={trace:a=()=>{},debug:a,info:a,warn:a,error:a,fatal:a},function(e,t){for(let i=0;t.length>i;i++)e.prototype[t[i]]=sA(e.prototype[t[i]])}(ah,["identify"]);var ac=class{constructor(e){this.disabled=!1===e;const t=q(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,i){if(this.disabled)return!1;let s=this.clicks[this.clicks.length-1];if(s&&Math.abs(e-s.x)+Math.abs(t-s.y)<this.thresholdPx&&this.timeoutMs>i-s.timestamp){if(this.clicks.push({x:e,y:t,timestamp:i}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:e,y:t,timestamp:i}];return!1}};let ad="$copy_autocapture",ap=ik("[AutoCapture]");function af(e,t){return t.length>e?t.slice(0,e)+"...":t}var ag=class{uo(){this.ho=void 0,clearTimeout(this.co),this.co=void 0}do(e){var t;if(!rF(e))return!0;let i=null!=(t=this.vo().css_selector_ignorelist)?t:rb,s=new Set,r=e;for(;r;){if(s.size>=1e3||s.has(r))return!0;s.add(r);let e=r,t=rd(e);if(I(t,"ph-no-capture")||I(t,"ph-sensitive")||rC(e)||i.some(t=>r_(e,t)))return!0;let n=r.parentNode;r=ru(n)?n.host:n&&ro(n)?n:null}return!1}fo(e){if(!this.isEnabled||"pointercancel"===e.type)return void this.uo();if("pointerdown"===e.type){var t;this.uo();let i=rg(e);return void(e.isPrimary&&0===e.button&&!e.ctrlKey&&i&&ro(i)&&(this.ho={target:i,excluded:this.do(i),id:e.pointerId,x:e.clientX,y:e.clientY,released:!1,distinctId:null==(t=this.po)?void 0:t.distinctId}))}let i=this.ho;i&&(e.pointerId!==i.id||Math.abs(e.clientX-i.x)>5||Math.abs(e.clientY-i.y)>5?this.uo():"pointerup"===e.type&&(i.released=!0,this.co=setTimeout(()=>this.uo(),0)))}mo(e){var t,i;let s=this.ho;this.uo();let r=rg(e);if((null==s?void 0:s.released)&&s.target.isConnected&&s.distinctId===(null==(t=this.po)?void 0:t.distinctId)&&e.pointerId===s.id&&(e.detail>0||"touch"===e.pointerType||"pen"===e.pointerType)&&0===e.button&&5>=Math.abs(e.clientX-s.x)&&5>=Math.abs(e.clientY-s.y)&&r&&(ra(r,"html")||ra(r,"body"))){if(s.excluded)return null;let e=null!=(i=this.vo().css_selector_ignorelist)?i:rb;return[r,null==d?void 0:d.documentElement,null==d?void 0:d.body].some(t=>{if(!t)return!1;let i=rd(t);return I(i,"ph-no-capture")||I(i,"ph-sensitive")||!rF(t)||rC(t)||e.some(e=>r_(t,e))})?null:s.target}}constructor(e){this.yo=e,this.name="autocapture",this.bo=!1,this._o=null,this.wo=!1,this.ko=!1,this.Mr={enabled:!1,rageclick:!1,maskAllElementAttributes:!1,maskAllText:!1,disableCaptureUrlHashes:!1,remoteRequestsDisabled:!1},this.So=!1,this.yo.refresh(this.Mr),this.rageclicks=new ac(this.Mr.rageclick),this.xo=null}setup(e){this.Co(),this.po=e;let t=e.onRemoteConfig(this.onRemoteConfig.bind(this));this.So?t.dispose():(this.$o=t,this.startIfEnabled())}dispose(){var e;this.So||(this.So=!0,this.po=void 0,null==(e=this.$o)||e.dispose(),this.$o=void 0,this.To())}vo(){return this.yo.refresh(this.Mr),this.Mr}Co(){var e,t;return this.vo(),this.Mr.url_allowlist=null==(e=this.Mr.url_allowlist)?void 0:e.map(e=>new RegExp(e)),this.Mr.url_ignorelist=null==(t=this.Mr.url_ignorelist)?void 0:t.map(e=>new RegExp(e)),this.Mr}Io(){if(!this.isBrowserSupported())return void ap.info("Disabling Automatic Event Collection because this browser is not supported");if(!u||!d)return;let e=this.Mo=e=>{e=e||(null==u?void 0:u.event);try{if("blur"===e.type)return void this.uo();if(0===e.type.indexOf("pointer"))return void this.fo(e);let t="click"===e.type?this.mo(e):void 0;if(W(t))return;this.Eo(e,"$autocapture",t)}catch(e){ap.error("Failed to capture event",e)}};if(sj(u,"blur",e),sj(d,"submit",e,{capture:!0}),sj(d,"change",e,{capture:!0}),sj(d,"click",e,{capture:!0}),sI(["pointerdown","pointermove","pointerup","pointercancel"],t=>{sj(d,t,e,{capture:!0})}),this.vo().capture_copied_text){let e=this.Po=e=>{e=e||(null==u?void 0:u.event);try{this.Eo(e,ad)}catch(e){ap.error("Failed to capture clipboard event",e)}};sj(d,"copy",e,{capture:!0}),sj(d,"cut",e,{capture:!0}),sj(d,"paste",e,{capture:!0})}}To(){this.uo(),this.Mo&&(null==u||u.removeEventListener("blur",this.Mo),sI(["pointerdown","pointermove","pointerup","pointercancel"],e=>{null==d||d.removeEventListener(e,this.Mo,!0)}),null==d||d.removeEventListener("submit",this.Mo,!0),null==d||d.removeEventListener("change",this.Mo,!0),null==d||d.removeEventListener("click",this.Mo,!0),this.Mo=void 0),this.Po&&(null==d||d.removeEventListener("copy",this.Po,!0),null==d||d.removeEventListener("cut",this.Po,!0),null==d||d.removeEventListener("paste",this.Po,!0),this.Po=void 0),this.bo=!1}startIfEnabled(){this.isEnabled||this.uo(),!this.So&&this.po&&this.isEnabled&&!this.bo&&(this.Io(),this.bo=!0)}onRemoteConfig(e){var t;if(this.So)return;if(this.wo=!0,!e.ok)return void this.startIfEnabled();let i=e.config;
2i.elementsChainAsString&&(this.ko=i.elementsChainAsString);let s=i.autocapture_opt_out;J(s)&&(null==(t=this.po)||t.kv.set("$autocapture_disabled_server_side",s),this._o=s),this.startIfEnabled()}setElementSelectors(e){this.xo=e}getElementSelectors(e,t){var i;let s=[];return null==(i=this.xo)||i.forEach(i=>{let r=null==d?void 0:d.querySelectorAll(i);null==r||r.forEach(r=>{e!==r&&t!==r||I(s,i)||s.push(i)})}),s}get isEnabled(){var e,t;if(this.So)return!1;let i=null==(e=this.po)?void 0:e.kv.get(ij),s=this._o,r=this.vo();if(!r.remoteRequestsDisabled&&!this.wo)return!1;let n=r.remoteRequestsDisabled&&!this.wo;if(W(s)&&!J(i)&&!n)return!1;let o=null!=(t=this._o)?t:!!i;return!!r.enabled&&!o}Eo(e,t="$autocapture",i){var s,r,n,o;if(!this.isEnabled)return void this.uo();let a=i||rg(e);rl(a)&&(a=a.parentNode||null);let l=this.Co();"$autocapture"===t&&"click"===e.type&&e instanceof MouseEvent&&l.rageclick&&(null==(s=this.rageclicks)?void 0:s.isRageClick(e.clientX,e.clientY,e.timeStamp||(new Date).getTime()))&&rS(a,l.rageclick)&&this.Eo(e,"$rageclick",i);let h=t===ad,c=h?tb(tb({},l),{},{dom_event_allowlist:void 0}):l;if(a&&function(e,t,i,s,r,n){var o;if(!u||rM(e)||(null==i?void 0:i.url_allowlist)&&!rc(i.url_allowlist,n)||(null==i?void 0:i.url_ignorelist)&&rc(i.url_ignorelist,n))return!1;if(null==i?void 0:i.dom_event_allowlist){let e=i.dom_event_allowlist;if(e&&!e.some(e=>t.type===e))return!1}let{parentIsUsefulElement:a,targetElementList:l}=rP(e,s);if(!function(e,t){let i=null==t?void 0:t.element_allowlist;if(H(i))return!0;for(let t of e)if(i.some(e=>t.tagName.toLowerCase()===e))return!0;return!1}(l,i)||!rm(l,null==i?void 0:i.css_selector_allowlist)||rm(l,null!=(o=null==i?void 0:i.css_selector_ignorelist)?o:rb))return!1;try{let i=u.getComputedStyle(e);if(i&&"pointer"===i.getPropertyValue("cursor")&&"click"===t.type)return!0}catch(e){}let h=e.tagName.toLowerCase();switch(h){case"html":return!1;case"form":return(r||["submit"]).indexOf(t.type)>=0;case"input":case"select":case"textarea":return(r||["change","click"]).indexOf(t.type)>=0;default:return a?(r||["click"]).indexOf(t.type)>=0:(r||["click"]).indexOf(t.type)>=0&&(rv.indexOf(h)>-1||"true"===e.getAttribute("contenteditable"))}}(a,e,c,h,h?["copy","cut","paste"]:void 0,{config:{get_current_url:l.getCurrentUrl}})){let{props:i,explicitNoCapture:s,target:h}=function(e,{e:t,maskAllElementAttributes:i,maskAllText:s,elementAttributeIgnoreList:r,elementsChainAsString:n,disableCaptureUrlHashes:o}){var a,l,h,c;if(!ro(e))return{props:{}};let d=[e],p=new Set([e]),f=e;for(;f.parentNode&&!ra(f,"body")&&1e3>d.length;){if(ru(f.parentNode)){let e=f.parentNode.host;if(p.has(e))break;p.add(e),d.push(e),f=e;continue}if(!ro(f.parentNode)||p.has(f.parentNode))break;p.add(f.parentNode),d.push(f.parentNode),f=f.parentNode}let g="click"===t.type&&"http://www.w3.org/2000/svg"===e.namespaceURI?d.findIndex(e=>ra(e,"button")||ra(e,"a")):-1;g>0&&(s=s||d.slice(0,g+1).some(e=>!rF(e)||rC(e)));let v=[],_={},m,y=!1,b=!1;if(sI(d,e=>{let t=rF(e);if(ra(e,"a")&&!i&&!(null==r?void 0:r.includes("href"))){let i=e.getAttribute("href");y=!!(t&&i&&rD(i))&&(o?tp(i):i)}I(rd(e),"ph-no-capture")&&(b=!0),v.push(function(e,t,i,s,r=!1){let n=e.tagName.toLowerCase(),o={tag_name:n};rv.indexOf(n)>-1&&!i&&(o.$el_text="a"===n.toLowerCase()||"button"===n.toLowerCase()?af(1024,rN(e)):af(1024,rf(e)));let a=rd(e);t||(null==s?void 0:s.includes("class"))||0>=a.length||(o.classes=a.filter(function(e){return""!==e})),sI(e.attributes,function(i){var n;if((!rC(e)||-1!==["name","id","class","aria-label"].indexOf(i.name))&&!(null==s?void 0:s.includes(i.name))&&!t&&rD(i.value)&&(!V(n=i.name)||"_ngcontent"!==n.substring(0,10)&&"_nghost"!==n.substring(0,7))){let e=i.value;"class"===i.name&&(e=rh(e).join(" ")),o["attr__"+i.name]=af(1024,"href"===i.name&&r?tp(e):e)}});let l=1,u=1,h=e;for(;h=function(e){if(e.previousElementSibling)return e.previousElementSibling;let t=e;do t=t.previousSibling;while(t&&!ro(t))return t}(h);)l++,h.tagName===e.tagName&&u++;return o.nth_child=l,o.nth_of_type=u,o}(e,i,s,r,o)),sI(function(e){if(!rF(e))return{};let t={};return sI(e.attributes,function(e){if(e.name&&0===e.name.indexOf("data-ph-capture-attribute")){let i=e.name.replace("data-ph-capture-attribute-",""),s=e.value;i&&s&&rD(s)&&(t[i]=s)}}),t}(e),(e,t)=>{({}).hasOwnProperty.call(_,t)||(_[t]=e)})}),b)return{props:{},explicitNoCapture:b};if(g>0&&(e=d[g],v.splice(0,g)),s||(v[0].$el_text=ra(e,"a")||ra(e,"button")?rN(e):rf(e)),y){v[0].attr__href=y;let e=null==(h=r1(y))?void 0:h.host,t=null==u||null==(c=u.location)?void 0:c.host;e&&t&&e!==t&&(m=y)}return{props:sR({$event_type:t.type,$ce_version:1},n?{}:{$elements:v},{$elements_chain:j(v)?v.map(e=>{var t,i;let s={text:null==(t=e.$el_text)?void 0:t.slice(0,400),tag_name:e.tag_name,href:null==(i=e.attr__href)?void 0:i.slice(0,2048),attr_class:function(e){let t=e.attr__class;if(t)return j(t)?t:rh(t)}(e),attr_id:e.attr__id,nth_child:e.nth_child,nth_of_type:e.nth_of_type,attributes:{}};return sT(e).filter(([e])=>
20===e.indexOf("attr__")).forEach(([e,t])=>s.attributes[e]=t),s}).map(e=>{var t,i;let s="";if(e.tag_name&&(s+=e.tag_name),e.attr_class)for(let t of(e.attr_class.sort(),e.attr_class))s+=`.${t.replace(/"/g,"")}`;let r=tb(tb(tb(tb({},e.text?{text:e.text}:{}),{},{"nth-child":null!=(t=e.nth_child)?t:0,"nth-of-type":null!=(i=e.nth_of_type)?i:0},e.href?{href:e.href}:{}),e.attr_id?{attr_id:e.attr_id}:{}),e.attributes),n={};return sT(r).sort(([e],[t])=>t>e?-1:+(e>t)).forEach(([e,t])=>n[rj(e.toString())]=rj(t.toString())),s+=":",s+=sT(n).map(([e,t])=>`${e}="${t}"`).join("")}).join(";"):""},(null==(a=v[0])?void 0:a.$el_text)?{$el_text:null==(l=v[0])?void 0:l.$el_text}:{},m&&"click"===t.type?{$external_click_url:m}:{},_),target:e}}(a,{e:e,maskAllElementAttributes:l.maskAllElementAttributes,maskAllText:l.maskAllText,elementAttributeIgnoreList:l.element_attribute_ignorelist,elementsChainAsString:this.ko,disableCaptureUrlHashes:l.disableCaptureUrlHashes});if(s)return!1;let c=this.getElementSelectors(a,h);if(c&&c.length>0&&(i.$element_selectors=c),t===ad){let t=e.type||"clipboard";if("paste"!==t){let e=null==u||null==(n=u.getSelection())?void 0:n.toString(),t=rp(e);if(!t)return!1;i.$selected_content=t,i.$clipboard_text_length=null!=(o=null==e?void 0:e.length)?o:0}i.$copy_type=t}return null==(r=this.po)||r.capture(t,i).catch(e=>ap.error("Failed to capture event",e)),!0}}isBrowserSupported(){return B(null==d?void 0:d.querySelectorAll)}},av=class{constructor(e){this._instance=e}refresh(e){let t=this._instance.config,i=q(t.autocapture)?t.autocapture:void 0;e.enabled=!!t.autocapture,e.rageclick=t.rageclick,e.maskAllElementAttributes=t.mask_all_element_attributes,e.maskAllText=t.mask_all_text,e.disableCaptureUrlHashes=t.disable_capture_url_hashes,e.getCurrentUrl=t.get_current_url,e.remoteRequestsDisabled=this._instance.Xl(),e.url_allowlist=null==i?void 0:i.url_allowlist,e.url_ignorelist=null==i?void 0:i.url_ignorelist,e.dom_event_allowlist=null==i?void 0:i.dom_event_allowlist,e.element_allowlist=null==i?void 0:i.element_allowlist,e.css_selector_allowlist=null==i?void 0:i.css_selector_allowlist,e.css_selector_ignorelist=null==i?void 0:i.css_selector_ignorelist,e.element_attribute_ignorelist=null==i?void 0:i.element_attribute_ignorelist,e.capture_copied_text=null==i?void 0:i.capture_copied_text}};let a_=ik("[ExceptionAutocapture]"),am=()=>{},ay=e=>{var t;if(B(e))return null!=(t=e.__posthog_layer__)?t:e.__rrweb_layer__};function ab(e,t,i){try{if(!(t in e))return am;let s={next:e[t]},r=i(function(...e){return s.next.apply(this,e)});return B(r)&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__posthog_wrapped__:{enumerable:!1,value:!0},__posthog_layer__:{enumerable:!1,value:s}})),e[t]=r,()=>{if(e[t]===r)return void(e[t]=s.next);let i=e[t],n=ay(i);for(;n;){if(n.next===r)return void(n.next=s.next);i=n.next,n=ay(i)}}}catch(e){return am}}let aw=ik("[TracingHeaders]"),ax=ik("[Web Vitals]"),a$=["CLS","FCP","INP","LCP"],ak=["INP","LCP"],aE=["interactionTarget","interactionType","inputDelay","processingDuration","presentationDelay","loadState","target","url","timeToFirstByte","resourceLoadDelay","resourceLoadDuration","elementRenderDelay","largestShiftTarget","largestShiftTime","largestShiftValue","firstByteToFCP"],aS="disabled",aM="lazy_loading",aP=ik("[SessionRecording]"),aF=ik("[Heatmaps]");function aC(e){return q(e)&&"clientX"in e&&"clientY"in e&&K(e.clientX)&&K(e.clientY)}let aO=ik("[Product Tours]"),aI=e=>{var t;return!e.config.disable_product_tours&&!!(null==(t=e.persistence)?void 0:t.get_property(iW))},aR=["$set_once","$set"],aT=ik("[SiteApps]"),aA="Error while initializing PostHog app with config id ",aL=(e,t)=>(null==e?void 0:e.then)?e.then(t):t(e),aD="SDK is not enabled or survey functionality is not yet loaded",aN="Disabled. Not loading surveys.";var aj=class{constructor(e,t){this.yo=e,this.kh=t,this.name="surveys",this._surveyEventReceiver=null,this._surveyManager=null,this.Sh=!1,this.xh=[],this.Ch=null,this.$h=null,this.So=!1,this.Th=new Set,this.onRemoteConfig=e=>{if(this.So||this.Mr.disableSurveys)return;if(!e.ok)return oU.warn("Remote config unavailable. Not loading surveys.");let t=e.config.surveys;if(U(t))return oU.warn("Flags not loaded yet. Not loading surveys.");this.Ih=J(t)?t:t.length>0,oU.info(`flags response received, isSurveysEnabled: ${this.Ih}`),this.loadIfEnabled()}}setup(e){if(!this.So)return this.Mh=e,aL(e.kv.initialize(),()=>{if(this.Mh!==e||this.So)return;this.Mh=void 0,this.po=e;let t=e.onRemoteConfig(this.onRemoteConfig);this.So?t.dispose():(this.$o=t,this.loadIfEnabled())})}dispose(){var e,t,i,s;this.So||(this.So=!0,this.Mh=void 0,this.po=void 0,null==(e=this.$o)||e.dispose(),this.$o=void 0,null==(t=this._surveyEventReceiver)||t.dispose(),this._surveyEventReceiver=null,null==(i=this._surveyManager)||null==(s=i.dispose)||s.call(i),this._surveyManager=null,this.xh=[],this.Ch=null,this.Th.forEach(e
2=>clearTimeout(e)),this.Th.clear())}get Mr(){return this.yo.get()}initialize(){this.loadIfEnabled()}reset(){try{var e;null==(e=this._surveyEventReceiver)||e.reset(),localStorage.removeItem("lastSeenSurveyDate");let t=[];for(let e=0;e<localStorage.length;e++){let i=localStorage.key(e);((null==i?void 0:i.startsWith("seenSurvey_"))||(null==i?void 0:i.startsWith("inProgressSurvey_")))&&t.push(i)}t.forEach(e=>localStorage.removeItem(e))}catch(e){}}loadIfEnabled(){if(this.So||!this.po)return;let e=this.Mr;if(this._surveyManager)return;if(this.Sh)return void oU.info("Already initializing surveys, skipping...");if(e.disableSurveys)return void oU.info(aN);if(e.cookielessMode&&this.yo.isOptedOut())return void oU.info("Not loading surveys in cookieless mode without consent.");let t=this.yo.getExtensions();if(!t)return void oU.error("PostHog Extensions not found.");if(H(this.Ih)&&!e.advancedEnableSurveys)return;let i=this.Ih||e.advancedEnableSurveys;this.Sh=!0;try{let e=t.generateSurveys;if(e)return this.Eh(e,i),void(this.Sh=!1);let s=t.loadExternalDependency;if(!s)return this.Ph(sw),void(this.Sh=!1);s(e=>{try{if(this.So)return;let t=this.yo.getExtensions();!e&&(null==t?void 0:t.generateSurveys)?this.Eh(t.generateSurveys,i):this.Ph("Could not load surveys script",e)}finally{this.Sh=!1}})}catch(e){throw this.Sh=!1,this.Ph("Error initializing surveys",e),e}}Eh(e,t){this.So||(this._surveyManager=e(t),this._surveyEventReceiver=this.yo.createEventReceiver(),oU.info("Surveys loaded successfully"),this.Rh({isLoaded:!0}))}Ph(e,t){oU.error(e,t),this.Rh({isLoaded:!1,error:e})}onSurveysLoaded(e){return this.xh.push(e),this._surveyManager&&this.Rh({isLoaded:!0}),()=>{this.xh=this.xh.filter(t=>t!==e)}}getSurveys(e,t=!1){var i;let s=null!=(i=this.po)?i:this.kh;if(!s||this.So)return;if(this.Mr.disableSurveys)return oU.info(aN),e([]);let r=s.kv.get(se);if(r&&!t)return e(r,{isLoaded:!0}),void(this.Ah()&&this.getSurveys(()=>{},!0));if(this.Ch)return void this.Ch.then(({surveys:t,context:i})=>{this.So||e(t,i)}).catch(e=>oU.error("Error in survey callback",e));let n=this.Fh("/api/surveys/",{method:"GET",query:{token:s.projectToken},sentAt:"query",timeoutMs:this.Mr.requestTimeoutMs}).then(e=>{try{return this.Oh(s,e)}catch(e){return oU.error("Error processing surveys response",e),this.Oh(s,{statusCode:0,error:e})}},e=>this.Oh(s,{statusCode:0,error:e}));this.Ch=n;let o=()=>{this.Ch===n&&(this.Ch=null)};n.then(t=>{o(),this.So||e(t.surveys,t.context)},o).catch(e=>oU.error("Error in survey callback",e))}Fh(e,t){let i=this.po;return i?i.sendRequest(e,t):new Promise(e=>e({statusCode:0,error:Error(aD)}))}Oh(e,t){var i;if(this.So)return{surveys:[],context:{isLoaded:!1,error:aD}};let s=t.statusCode;if(200!==s||!t.json){let e=`Surveys API could not be loaded, status: ${s}`;return 0!==s?oU.error(e):t.error||oU.warn(e),this.$h=Date.now(),{surveys:[],context:{isLoaded:!1,error:e}}}this.$h=null;let r=t.json.surveys||[],n=r.filter(e=>{var t;return!(!e.start_date||e.end_date)&&(oL(e)||!!(null==(t=e.conditions)||null==(t=t.actions)||null==(t=t.values)?void 0:t.length))});return n.length>0&&(null==(i=this._surveyEventReceiver)||i.register(n)),e.kv.set({[se]:r,[st]:Date.now()}),{surveys:r,context:{isLoaded:!0}}}Ah(){return this.Dh()&&!this.Ch&&!this.Lh()}Dh(){var e,t;let i=null==(e=null!=(t=this.po)?t:this.kh)?void 0:e.kv.get(st);return K(i)&&Date.now()-i>3e5}Lh(){return K(this.$h)&&3e5>Date.now()-this.$h}markSurveyAsSeen(e,t){var i;oK({id:e,current_iteration:null!=(i=null==t?void 0:t.iteration)?i:null});try{localStorage.setItem("lastSeenSurveyDate",(new Date).toISOString())}catch(e){}}Rh(e){for(let t of this.xh)try{if(!e.isLoaded)return t([],e);this.getSurveys(t)}catch(e){oU.error("Error in survey callback",e)}}getActiveMatchingSurveys(e,t=!1){if(!U(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(e,t);oU.warn("init was not called")}Nh(e){let t=null;return this.getSurveys(i=>{var s;t=null!=(s=i.find(t=>t.id===e))?s:null}),t}qh(e){if(U(this._surveyManager))return{eligible:!1,reason:aD};let t="string"==typeof e?this.Nh(e):e;return t?this._surveyManager.checkSurveyEligibility(t):{eligible:!1,reason:"Survey not found"}}jh(e){if(!this.yo.isCapturing())return{eligible:!1,reason:"PostHog is not capturing, so a survey response cannot be recorded"};
2if(U(this._surveyManager))return{eligible:!1,reason:aD};let t="string"==typeof e?this.Nh(e):e;return t?this._surveyManager.checkSurveyRenderability(t):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(e){if(U(this._surveyManager))return oU.warn("init was not called"),{visible:!1,disabledReason:aD};let t=this.jh(e);return{visible:t.eligible,disabledReason:t.reason}}canRenderSurveyAsync(e,t){return U(this._surveyManager)?(oU.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:aD})):new Promise(i=>{this.getSurveys(t=>{var s;let r=null!=(s=t.find(t=>t.id===e))?s:null;if(r){let e=this.jh(r);i({visible:e.eligible,disabledReason:e.reason})}else i({visible:!1,disabledReason:"Survey not found"})},t)})}renderSurvey(e,t,i){var s;if(!this.yo.isCapturing())return;if(U(this._surveyManager))return void oU.warn("init was not called");let r="string"==typeof e?this.Nh(e):e;if(!(null==r?void 0:r.id))return void oU.warn("Survey not found");if(!oY.includes(r.type))return void oU.warn(`Surveys of type ${r.type} cannot be rendered in the app`);let n=null==d?void 0:d.querySelector(t);if(n){if(null==(s=r.appearance)?void 0:s.surveyPopupDelaySeconds){oU.info(`Rendering survey ${r.id} with delay of ${r.appearance.surveyPopupDelaySeconds} seconds`);let e=setTimeout(()=>{var t,s;this.Th.delete(e),!this.So&&this.yo.isCapturing()&&(oU.info(`Rendering survey ${r.id} with delay of ${null==(t=r.appearance)?void 0:t.surveyPopupDelaySeconds} seconds`),null==(s=this._surveyManager)||s.renderSurvey(r,n,i),oU.info(`Survey ${r.id} rendered`))},1e3*r.appearance.surveyPopupDelaySeconds);return void this.Th.add(e)}this._surveyManager.renderSurvey(r,n,i)}else oU.warn("Survey element not found")}displaySurvey(e,t){var i;if(!this.yo.isCapturing())return;if(U(this._surveyManager))return void oU.warn("init was not called");let s=this.Nh(e);if(!s)return void oU.warn("Survey not found");let r=s;if((null==(i=s.appearance)?void 0:i.surveyPopupDelaySeconds)&&t.ignoreDelay&&(r=tb(tb({},s),{},{appearance:tb(tb({},s.appearance),{},{surveyPopupDelaySeconds:0})})),t.displayType!==nC&&t.initialResponses&&oU.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),!1===t.ignoreConditions){let e=this.qh(s);if(!e.eligible)return void oU.warn("Survey is not eligible to be displayed: ",e.reason)}"inline"!==t.displayType?this._surveyManager.handlePopoverSurvey(r,t):this.renderSurvey(r,t.selector,t.properties)}cancelPendingSurvey(e){U(this._surveyManager)?oU.warn("init was not called"):this._surveyManager.cancelSurvey(e)}handlePageUnload(){var e,t;null==(e=this._surveyManager)||null==(t=e.handlePageUnload)||t.call(e)}};function aB(e,t,i){if(U(e))return!1;switch(i){case"exact":return e===t;case"contains":return RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*"),"i").test(e);case"regex":try{return new RegExp(t).test(e)}catch(e){return!1}default:return!1}}var aq=class{constructor(e){this._instance=e,this.Bh=new Set,this.Hh=new Set,this.zh=new oO,this.Uh=(e,t)=>this.Wh(e,t)&&this.Vh(e,t)&&this.Gh(e,t)&&this.Zh(e,t),this.Wh=(e,t)=>!(null==t?void 0:t.event)||(null==e?void 0:e.event)===(null==t?void 0:t.event)}init(){var e,t;H(null==(e=this._instance)?void 0:e._addCaptureHook)||(this.Qh=null==(t=this._instance)?void 0:t._addCaptureHook((e,t)=>{this.on(e,t)}))}dispose(){var e;null==(e=this.Qh)||e.call(this),this.Qh=void 0,this.zh=new oO}register(e){var t,i;if(!H(null==(t=this._instance)?void 0:t._addCaptureHook)&&(e.forEach(e=>{var t;this.Bh.add(e),null==(t=e.steps)||t.forEach(e=>{this.Hh.add((null==e?void 0:e.event)||"")})}),null==(i=this._instance)?void 0:i.autocapture)){let e=new Set;this.Bh.forEach(t=>{var i;null==(i=t.steps)||i.forEach(t=>{(null==t?void 0:t.selector)&&e.add(t.selector)})}),this._instance.autocapture.setElementSelectors(e)}}replace(e){this.Bh.clear(),this.Hh.clear(),this.register(e)}on(e,t){null!=t&&0!=e.length&&(this.Hh.has(e)||this.Hh.has(t.event))&&this.Bh.forEach(e=>{this.Jh(t,e)&&this.zh.emit("actionCaptured",e.name)})}Kh(e){this.onAction("actionCaptured",t=>e(t))}Jh(e,t){if(null==(null==t?void 0:t.steps))return!1;for(let i of t.steps)if(this.Uh(e,i))return!0;return!1}onAction(e,t){return this.zh.on(e,t)}Vh(e,t){if(null==t?void 0:t.url){var i;let s=null==e||null==(i=e.properties)?void 0:i.$current_url;if(!s||"string"!=typeof s||!aB(s,t.url,t.url_matching||"contains"))return!1}return!0}Gh(e,t){return!!this.Xh(e,t)&&!!this.Yh(e,t)&&!!this.tc(e,t)}Xh(e,t){var i;let s;if(!(null==t?void 0:t.href))return!0;let r=this.ec(e);if(r.length>0)return r.some(e=>aB(e.href,t.href,t.href_matching||"exact"));let n=(null==e||null==(i=e.properties)?void 0:i.$elements_chain)||"";return!!n&&aB((s=n.match(/(?::|")href="(.*?)"/))?s[1]:"",t.href,t.href_matching||"exact")}Yh(e,t){var i,s,r,n;if(!(null==t?void 0:t.text))return!0;let o=this.ec(e);if(o.length>0)return o.some(e=>aB(e.text,t.text,t.text_matching||"exact")||aB(e.$el_text,t.text,t.text_matching||"exact"));let a=(null==e||null==(n=e.properties)?void 0:n.$elements_chain)||"";return!!a&&(i=function(e){let t,i=[],s=/(?::|")text="(.*?)"/g;for(;!U(t=s.exec(e));)i.includes(t[1])||i.push(t[1]);return i}(a),s=t.text,r=t.text_matching||"exact",i.some(e=>aB(e,s,r)))}tc(e,t){var i,s;if(!(null==t?void 0:t.selector))return!0;let r=null==e||null==(i=e.properties)?void 0:i.$element_selectors;if(null==r?void 0:r.includes(t.selector))return!0;let n=(null==e||null==(s=e.properties)?void 0:s.$elements_chain)||"";if(t.selector_regex&&n)try{return new RegExp(t.selector_regex).test(n)}catch(e){}return!1}ec(e){var t;return null==(null==e||null==(t=e.properties)?void 0:t.$elements)?[]:null==e?void 0:e.properties.$elements}Zh(e,t){return!(null==t?void 0:t.properties)||0===t.properties.length||oB(t.properties.reduce((e,t)=>
2{let i=j(t.value)?t.value.map(String):null!=t.value?[String(t.value)]:[];return e[t.key]={values:i,operator:t.operator||"exact"},e},{}),null==e?void 0:e.properties)}},az=class{constructor(e){var t,i;this.nc=[],this._instance=e,this.sc=new Map,this.rc=new Map,this.oc=new Map,this.lc=null==(t=this._instance)||null==(i=t.onSessionId)?void 0:i.call(t,e=>this.ac(e))}uc(e){return!1}hc(){return null}cc(e){}dc(){}vc(e,t){return!!e&&oB(e.propertyFilters,null==t?void 0:t.properties)}fc(e,t){let i=new Map;return e.forEach(e=>{var s;null==(s=e.conditions)||null==(s=s[t])||null==(s=s.values)||s.forEach(t=>{if(null==t?void 0:t.name){let s=i.get(t.name)||[];s.push(e.id),i.set(t.name,s)}})}),i}gc(e,t,i){let s=(i===nE?this.sc:this.rc).get(e),r=[];return this.mc(e=>{r=e.filter(e=>null==s?void 0:s.includes(e.id))}),r.filter(s=>{var r;let n=null==(r=s.conditions)||null==(r=r[i])||null==(r=r.values)?void 0:r.find(t=>t.name===e);return this.vc(n,t)})}register(e){this.yc(e,!1)}replace(e){this.yc(e,!0)}yc(e,t){var i;H(null==(i=this._instance)?void 0:i._addCaptureHook)||(this.bc(e,t),this._c(e,t))}_c(e,t){var i;let s=e.filter(e=>{var t;return null==(t=e.conditions)||null==(t=t.actions)||null==(t=t.values)?void 0:t.length});if(t&&this.oc.clear(),0===s.length)return void(t&&(null==(i=this.wc)||i.replace([])));this.wc||(this.wc=new aq(this._instance),this.wc.init(),this.wc.Kh(e=>this.onAction(e)));let r=[];s.forEach(e=>{var t;null==(t=e.conditions)||null==(t=t.actions)||t.values.forEach(t=>{if(r.push(t),t.name){var i;let s=null!=(i=this.oc.get(t.name))?i:[];s.includes(e.id)||s.push(e.id),this.oc.set(t.name,s)}})}),t?this.wc.replace(r):this.wc.register(r)}kc(e,t){t.forEach((t,i)=>{var s;let r=null!=(s=e.get(i))?s:[];t.forEach(e=>{r.includes(e)||r.push(e)}),e.set(i,r)})}bc(e,t){var i;let s=e.filter(e=>{var t,i;return(null==(t=e.conditions)?void 0:t.events)&&(null==(i=e.conditions)||null==(i=i.events)||null==(i=i.values)?void 0:i.length)>0}),r=e.filter(e=>{var t,i;return(null==(t=e.conditions)?void 0:t.cancelEvents)&&(null==(i=e.conditions)||null==(i=i.cancelEvents)||null==(i=i.values)?void 0:i.length)>0}),n=this.fc(e,nE),o=this.fc(e,nS);t?(this.sc=n,this.rc=o):(this.kc(this.sc,n),this.kc(this.rc,o)),(0!==s.length||0!==r.length)&&(null!=this.Qh||(this.Qh=null==(i=this._instance)?void 0:i._addCaptureHook((e,t)=>{this.onEvent(e,t)})))}onEvent(e,t){var i,s;let r=this.Sc(),n=(null==t||null==(i=t.properties)?void 0:i.$survey_id)||(null==t||null==(s=t.properties)?void 0:s.$product_tour_id);if(n&&this.getActivatedIds().includes(n)){let t=this.xc(e,n);if("consume"===t)return r.info("event consumed activated item, removing it",{event:e,itemId:n}),void this.Cc([n]);if("persist"===t)return r.info("shown item promoted to persisted activation",{event:e,itemId:n}),this.$c(n),void this.Tc([n])}if(this.rc.has(e)){let i=this.gc(e,t,nS);i.length>0&&(r.info("cancel event matched, cancelling items",{event:e,itemsToCancel:i.map(e=>e.id)}),this.Cc(i.map(e=>e.id)),i.forEach(e=>this.Ic(e.id)))}if(!this.sc.has(e))return;r.info("event name matched",{event:e,eventPayload:t,items:this.sc.get(e)});let o=this.gc(e,t,nE);this.Mc(o.map(e=>e.id))}onAction(e){this.oc.has(e)&&this.Mc(this.oc.get(e)||[])}Mc(e){var t,i;if(0===e.length)return;let s=!!(null==(t=this._instance)||null==(i=t.get_session_id)?void 0:i.call(t)),r=[];for(let t of e)s&&this.uc(t)?this.$c(t)&&this.Ec(t):r.push(t);r.length>0&&(this.nc=[...new Set([...this.nc,...r])]),this.Sc().info("updating activated items",{activatedItems:this.getActivatedIds()})}$c(e){this.nc=this.nc.filter(t=>t!==e);let t=this.Pc();return!t.includes(e)&&(this.Rc([...t,e]),this.Ac(),!0)}Cc(e){let t=new Set(e);this.nc=this.nc.filter(e=>!t.has(e));let i=this.Fc(),s=i.filter(e=>!t.has(e));s.length!==i.length&&(this.Rc(s),0===s.length&&this.Oc()),this.Tc(e)}Dc(){var e;let t=this.hc();if(!t)return{};let i=null==(e=this._instance)||null==(e=e.persistence)?void 0:e.props[t];return i&&"object"==typeof i?i:{}}Ec(e){if(!this.hc())return;let t=this.Dc();this.cc(tb(tb({},t),{},{[e]:Date.now()}))}Tc(e){if(!this.hc())return;let t=this.Dc(),i={},s=!1;for(let[r,n]of Object.entries(t))e.includes(r)?s=!0:i[r]=n;s&&(z(i)?this.dc():this.cc(i))}Lc(){this.hc()&&this.dc()}getActivationTimestamp(e){if(!this.Pc().includes(e))return;let t=this.Dc()[e];return K(t)?t:void 0}Fc(){var e;let t=this.Nc();return(null==(e=this._instance)||null==(e=e.persistence)?void 0:e.props[t])||[]}Pc(){var e,t,i;let s=this.Fc();if(0===s.length)return[];let r=null==(e=this._instance)||null==(e=e.persistence)?void 0:e.props[this.qc()],n=null==(t=this._instance)||null==(i=t.get_session_id)?void 0:i.call(t);return n&&r===n?s:[]}Ac(){var e,t;let i=null==(e=this._instance)||null==(t=e.get_session_id)?void 0:t.call(e);i&&this.jc(i)}Oc(){this.Bc()}ac(e){var t;let i=null==(t=this._instance)||null==(t=t.persistence)?void 0:t.props[this.qc()];if(i&&i!==e){let e=this.Fc(),t=this.Dc();e.length>0&&(this.Rc([]),e.filter(e=>
2K(t[e])).forEach(e=>this.Ic(e))),this.Oc(),this.Lc()}}getActivatedIds(){return[...new Set([...this.Pc(),...this.nc])].filter(e=>!this.Hc(e))}dispose(){var e,t,i;null==(e=this.lc)||e.call(this),this.lc=void 0,null==(t=this.Qh)||t.call(this),this.Qh=void 0,null==(i=this.wc)||i.dispose(),this.wc=void 0}reset(){this.nc=[],this.Fc().length>0&&this.Rc([]),this.Oc(),this.Lc()}getEventToItemsMap(){return this.sc}zc(){return this.wc}},aH=class extends az{constructor(e){super(e)}Nc(){return si}qc(){return ss}hc(){return sr}cc(e){var t;null==(t=this._instance)||null==(t=t.persistence)||t.register({$surveys_activated_timestamps:e})}dc(){var e;null==(e=this._instance)||null==(e=e.persistence)||e.unregister("$surveys_activated_timestamps")}uc(e){var t;let i;this.mc(t=>{i=t.find(t=>t.id===e)});let s=null==i||null==(t=i.appearance)?void 0:t.surveyPopupDelaySeconds;return K(s)&&s>0}Uc(){return nM}mc(e){var t;null==(t=this._instance)||t.getSurveys(e)}Ic(e){var t;null==(t=this._instance)||t.cancelPendingSurvey(e)}Sc(){return oU}Rc(e){var t;null==(t=this._instance)||null==(t=t.persistence)||t.register({$surveys_activated:e})}jc(e){var t;null==(t=this._instance)||null==(t=t.persistence)||t.register({$surveys_activated_session:e})}Bc(){var e;null==(e=this._instance)||null==(e=e.persistence)||e.unregister("$surveys_activated_session")}Hc(){return!1}xc(e,t){var i,s;let r;return this.mc(e=>{r=e.find(e=>e.id===t)}),!r||oL(i=r)&&(null==(s=i.conditions)||null==(s=s.events)?void 0:s.repeatedActivation)||"always"===i.schedule?e===nM?"consume":"ignore":e===nM?"persist":e===nP||e===nF?"consume":"ignore"}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}},aV=class{constructor(e){this._instance=e}initialize(){}get(e){if("string"==typeof e)return this._instance.get_property(e);let t={};for(let i of e){let e=this._instance.get_property(i);H(e)||(t[i]=e)}return t}set(e,t){this._instance.register("string"==typeof e?{[e]:t}:e)}remove(e){"string"!=typeof e?e.forEach(e=>this._instance.unregister(e)):this._instance.unregister(e)}},aG=class{constructor(e){this._instance=e}get(){let e=this._instance.config;return{disableSurveys:e.disable_surveys,cookielessMode:!!e.cookieless_mode,advancedEnableSurveys:e.advanced_enable_surveys,requestTimeoutMs:e.surveys_request_timeout_ms}}isOptedOut(){return this._instance.consent.isOptedOut()}isCapturing(){return this._instance.is_capturing()}getExtensions(){let e=null==w?void 0:w.__PosthogExtensions__;if(!e)return;let{generateSurveys:t,loadExternalDependency:i}=e;return{generateSurveys:t?e=>t(this._instance,e):void 0,loadExternalDependency:i?e=>i(this._instance,"surveys",e):void 0}}createEventReceiver(){return new aH(this._instance)}};let aW=(null==u?void 0:u.location)?r5(u.location.hash,"__posthog")||r5(location.hash,"state"):null,aU="_postHogToolbarParams",aK=ik("[Toolbar]"),aY=ik("[FeatureFlags]");var aJ=class{constructor(e,t=!1){this.Wc=!1,this.update(e,t)}update(e,t){var i,s,r,n,o,a,l;this.Vc={bootstrap:{featureFlags:null!=(i=null==(s=e.bootstrap)?void 0:s.featureFlags)?i:void 0,featureFlagPayloads:null!=(r=null==(n=e.bootstrap)?void 0:n.featureFlagPayloads)?r:void 0},remoteRequestsDisabled:t,featureFlagsDisabled:!!e.advanced_disable_feature_flags,onlyEvaluateSurveyFeatureFlags:!!e.advanced_only_evaluate_survey_feature_flags,deduplicateCallsPerSession:!!e.advanced_feature_flags_dedup_per_session,cacheTtlMs:e.feature_flag_cache_ttl_ms,refreshIntervalMs:null!=(o=e.remote_config_refresh_interval_ms)?o:3e5,idleRefreshBackoff:H(e.remote_config_refresh_interval_ms),requestTimeoutMs:e.feature_flag_request_timeout_ms,compression:e.disable_compression?void 0:"best-available",evaluationContexts:null!=(a=null!=(l=e.evaluation_contexts)?l:e.evaluation_environments)?a:[],flagKeys:j(e.flag_keys)?e.flag_keys:void 0},!e.evaluation_environments||e.evaluation_contexts||this.Wc||(aY.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.Wc=!0),H(e.flag_keys)||j(e.flag_keys)||aY.error("Invalid flag_keys found:",e.flag_keys,"Expected array of non-empty strings")}get(){return this.Vc}};let aX=ik("[FeatureFlags]"),aZ=ik("[FeatureFlags]",{debugEnabled:!0}),aQ="\" failed. Feature flags didn't load in time.",a0=["click","keydown","wheel","touchstart","pointerdown"],a1="connection_error",a2=e=>{let t={};for(let i=0;e.length>i;i++)t[e[i]]=!0;return t},a3=e=>{let t={};for(let[i,s]of sT(e||{}))s&&(t[i]=s);return t},a5=e=>et(e)&&("RangeError"===e.name&&0===e.message.indexOf("Maximum call stack size exceeded")||"InternalError"===e.name&&"too much recursion"===e.message),a6=ik("[Error tracking]"),a4="webkit-masked-url:",a8=[{value:"isolatedAPI.contexts.topHostname",exact:!1},{value:"No response from target",exact:!0}],a9=["chrome-extension://","moz-extension://","safari-extension:","safari-web-extension:",a4],a7=["__firefox__","__gCrWeb"],le="Refusing to render web experiment since the viewer is a likely bot",lt={icontains:(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())>-1,not_icontains:(e,t)=>-1===t.toLowerCase().indexOf(e.toLowerCase()),regex:(e,t)=>oD(t,e),not_regex:(e,t)=>!oD(t,e),exact:(e,t)=>
2t===e,is_not:(e,t)=>t!==e},li=ik("[Conversations]"),ls="Conversations not available yet.";function lr(e,t){var i,s,r,n,o,a,l;let u=null!=(i=null==e?void 0:e.flushIntervalMs)?i:3e3,h=null!=(s=null==e?void 0:e.maxBufferSize)?s:100,d=(null==t?void 0:t.consoleCapture)?void 0:null!=(r=null==e?void 0:e.maxLogsPerInterval)?r:1e3,p=H(d)?Math.max(h,2048):Math.max(h,d),f=tb(tb({},function(){var e,t;let i,s="",r="";try{let e=null==c?void 0:c.userAgent;e&&([s,r]=te(e))}catch(e){}return e=s,t=r,tb(tb({},(i=function(e){if(e)return({}).hasOwnProperty.call(iu,e)?iu[e]:e}(e))?{"os.name":i}:{}),t?{"os.version":t}:{})}()),null==e?void 0:e.resourceAttributes);return{serviceName:null!=(n=null!=(o=null==f?void 0:f["service.name"])?o:null==e?void 0:e.serviceName)?n:null==t?void 0:t.serviceNameDefault,serviceVersion:null!=(a=null==f?void 0:f["service.version"])?a:null==e?void 0:e.serviceVersion,environment:null!=(l=null==f?void 0:f["deployment.environment"])?l:null==e?void 0:e.environment,resourceAttributes:f,beforeSend:null==e?void 0:e.beforeSend,flushIntervalMs:u,maxBufferSize:h,maxQueueSize:p,maxBatchRecordsPerPost:100,rateCapWindowMs:u,maxLogsPerInterval:d,backgroundFlushBudgetMs:0,terminationFlushBudgetMs:0}}let ln=["debug","log","warn","error","info"],lo=e=>{for(;null==e?void 0:e.__rrweb_original__;)e=e.__rrweb_original__;return e},la="console",ll="__posthogHandledLogsRequestError",lu=(e,t)=>{let i=e instanceof Error?e:Error(t);return i[ll]=!0,i},lh=e=>!!e&&"object"==typeof e&&!0===e[ll],lc=ik("[NetworkMetrics]"),ld=()=>{var e;return(null==u||null==(e=u.performance)?void 0:e.now)?u.performance.now():Date.now()},lp=(e,t)=>{var i;let s=String(t);return{method:String(e).toUpperCase(),url:(null==(i=r1(s))?void 0:i.href)||s}},lf=(e,t,i,s,r)=>{var n,o,a;try{let l=r();if(!l)return;let u=i||void 0,h=ld()-s,c=r1(t.url);if(c&&"http:"!==c.protocol&&"https:"!==c.protocol)return;let d={url:(null==c?void 0:c.href)||t.url,method:t.method},p=B(l.name)?l.name(d):V(l.name)?l.name:"http.client.request.duration";if(!p)return;let f=tb({method:d.method,host:null!=(n=null==c?void 0:c.hostname)?n:"",path:c?c.pathname.split("/").map(e=>/^\d+$/.test(e)||e.length>=8&&/^[0-9a-f-]*\d[0-9a-f-]*$/i.test(e)?":id":e).join("/"):"",status_class:u?`${Math.floor(u/100)}xx`:"missing"},null==(o=l.attributes)?void 0:o.call(l,d,{status:u,durationMs:h}));null==(a=e.metrics)||a.histogram(p,h,{unit:"ms",attributes:f})}catch(e){lc.error("Failed to record network metric",e)}},lg=()=>{},lv={featureFlags:class{constructor(e){this.name="featureFlags",this.Gc=!1,this.featureFlagEventHandlers=[],this.$=aX,this.Zc={},this.Qc={},this.Jc=[],this.Kc=!1,this.Xc=!1,this.Yc=0,this.td=!1,this.ed=!1,this.nd=!1,this.sd=!1,this.rd=0,this.od=!1,this.sn=()=>{let e=this.ld();this.rd=0,e&&this.reloadFeatureFlags()},this.ad=()=>{var e,t;let i=this.ud,s=null!=(e=this.hd)?e:i;H(i)||H(s)||this.Mr.remoteRequestsDisabled||!d||"hidden"===d.visibilityState||Date.now()-(null!=(t=this.dd)?t:0)<s||(this.hd=this.od||!this.Mr.idleRefreshBackoff?i:Math.min(2*s,36e5),this.od=!1,this.reloadFeatureFlags(),this.vd())},this.fd=()=>{this.od&&this.hd===this.ud||this.pd()},this.an=()=>{"visible"===(null==d?void 0:d.visibilityState)&&this.pd()},"get"in e?this.yo=e:(this._instance=e,this.gd=new aJ(e.config,e.Xl()),this.yo=this.gd)}updateConfig(e,t){var i;null==(i=this.gd)||i.update(e,t),this.po&&this.md()}setup(e){return this.Mh=e,this.$=e.logger.createLogger("[FeatureFlags]"),aL(e.kv.initialize(),()=>{this.Mh===e&&(this.Mh=void 0,this.po=e,this.yd(e))})}yd(e){var t;if(this.po===e)return u&&sj(u,"online",this.sn),this.md(),this.bd=e.registerDynamicEventProperties(()=>this._d()?this.Zc:this.Qc),this.wd=null==(t=this._instance)||null==(t=t.persistence)?void 0:t.onCrossTabFeatureFlagChange(()=>{this.kd(),this.Sd(),this.xd()}),this.Sd(),this.initialize()}pd(){this.od=!0,this.hd=this.ud,this.ad()}md(){let e=this.Mr.refreshIntervalMs,t=!this.Mr.remoteRequestsDisabled&&d&&!H(e)&&e>0?e:void 0;this.Mr.idleRefreshBackoff||(this.hd=t),t!==this.ud&&(this.Cd(),H(t)||(this.ud=t,this.hd=t,this.vd(),(null==d?void 0:d.addEventListener)&&(sj(d,sE,this.an),sO(a0,e=>{sj(d,e,this.fd,{capture:!0})}
2))))}vd(){H(this.ud)||(H(this.$d)||clearInterval(this.$d),this.dd=Date.now(),this.$d=setInterval(this.ad,this.ud))}Cd(){var e;H(this.$d)||(clearInterval(this.$d),this.$d=void 0,null==d||null==(e=d.removeEventListener)||e.call(d,"visibilitychange",this.an),sO(a0,e=>{var t;null==d||null==(t=d.removeEventListener)||t.call(d,e,this.fd,{capture:!0})})),this.ud=void 0,this.hd=void 0,this.od=!1,this.dd=void 0}destroy(){this.Td()}dispose(){this.Td()}Td(){var e,t;this.Cd(),this.Yc++,this.ed=!1,this.Mh=void 0,this.po&&(this.Id(),null==(e=this.bd)||e.dispose(),this.bd=void 0,null==(t=this.wd)||t.call(this),this.wd=void 0,this.Jc=[],null==u||u.removeEventListener("online",this.sn),this.po=void 0)}get Mr(){return this.yo.get()}Md(e){var t;return this.Ed&&e in this.Ed?this.Ed[e]:null==(t=this.po)?void 0:t.kv.get(e)}kd(){return!!this.Ed&&(this.Ed=void 0,!0)}Pd(){var e;return!H(null==(e=this.po)?void 0:e.kv.get("$enabled_feature_flags"))&&this.kd()}At(e){this.Rd(()=>{var t;return null==(t=this.po)?void 0:t.kv.set(e)})}Ad(e,t,i){var s;if(!(null==(s=this._instance)?void 0:s.persistence)||!e.$enabled_feature_flags)return;let r=this.Md("$enabled_feature_flags")||{},n=e.$enabled_feature_flags||{},o=t.flags||t.featureFlags,a=t.flags?Object.entries(t.flags).filter(([,e])=>!(null==e?void 0:e.failed)).map(([e])=>e):[],l=!!t.errorsWhileComputingFlags&&!!t.flags,u=l?a:i&&!j(o)?Object.keys(o||{}):Array.from(new Set([...Object.keys(r),...Object.keys(n)])),h=this.Md("$feature_flag_payloads")||{},c=e.$feature_flag_payloads||{},d=l||i?u:Array.from(new Set([...Object.keys(h),...Object.keys(c)])),p=!l&&!i,f=!!p||u,g={[iQ]:f,[iZ]:f,[i2]:!!p||d};for(let t of(e.$feature_flag_details&&(g[i1]=f),[i3,su,i5]))H(e[t])||(g[t]=!0);this._instance.persistence.markCrossTabFeatureFlagChanges(g)}Lt(e){this.Rd(()=>{var t;return null==(t=this.po)?void 0:t.kv.remove(e)})}Rd(e){try{e()}catch(e){this.$.error("Failed to update feature flag persistence",e)}}Sd(){let e={};for(let t of[iQ,i2,i3,i6]){let i=this.Md(t);H(i)||(e[t]=i)}this.Zc=e;let t=tb({},e),i=this.Md(iZ);if(i)for(let[e,s]of Object.entries(i))t[`$feature/${e}`]=s;this.Qc=t}_d(){let e=this.Mr.cacheTtlMs;if(!e||0>=e)return!1;let t=this.Md(su);return"number"!=typeof t||Date.now()-t>e}Fd(){return!!this._d()&&(this.sd||this.Xc||(this.sd=!0,this.$.warn("Feature flag cache is stale, triggering refresh..."),this.reloadFeatureFlags()),!0)}Od(){let e=this.Mr.evaluationContexts;return(null==e?void 0:e.length)?e.filter(e=>{let t=e&&"string"==typeof e&&e.trim().length>0;return t||this.$.error("Invalid evaluation context found:",e,"Expected non-empty string"),t}):[]}Dd(){let e=this.Mr.flagKeys;if(!H(e))return e.filter(e=>{let t=e&&"string"==typeof e&&e.trim().length>0;return t||this.$.error("Invalid flag key found:",e,"Expected non-empty string"),t})}initialize(){var e,t,i,s;let r=this.Mr,n=null!=(e=null==(t=r.bootstrap)?void 0:t.featureFlags)?e:{};if(Object.keys(n).length){let e=null!=(i=null==(s=r.bootstrap)?void 0:s.featureFlagPayloads)?i:{},t=Object.keys(n).filter(e=>!H(n[e])).reduce((e,t)=>(e[t]=n[t],e),{}),o=Object.keys(e).filter(e=>t[e]).reduce((t,i)=>(t[i]=e[i],t),{});return this.Ld({featureFlags:t,featureFlagPayloads:o},void 0,{persist:!1})}}updateFlags(e,t,i){var s,r;let n=(null==i?void 0:i.merge)&&null!=(s=this.Md("$enabled_feature_flags"))?s:{},o=(null==i?void 0:i.merge)&&null!=(r=this.Md("$feature_flag_payloads"))?r:{},a=tb(tb({},n),e),l=tb(tb({},o),t),u={};for(let[e,t]of Object.entries(a))u[e]={key:e,enabled:t1(t),variant:t2(t),reason:void 0,metadata:H(null==l?void 0:l[e])?void 0:{id:0,version:void 0,description:void 0,payload:l[e]}};this.Ld({flags:u})}get hasLoadedFlags(){return this.Kc}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){let e=this.Md(i1),t=this.Md(i6),i=this.Md(i4);if(!i&&!t)return e||{};let s=sR({},e||{});for(let e of[...new Set([...Object.keys(i||{}),...Object.keys(t||{})])]){var r,n;let o=s[e],a=null==t?void 0:t[e],l=H(a)?null!=(r=null==o?void 0:o.enabled)&&r:!!a,u=H(a)?null==o?void 0:o.variant:"string"==typeof a?a:void 0,h=null==i?void 0:i[e],c=tb(tb({},o),{},{enabled:l,variant:l?null!=u?u:null==o?void 0:o.variant:void 0});l!==(null==o?void 0:o.enabled)&&(c.original_enabled=null==o?void 0:o.enabled),u!==(null==o?void 0:o.variant)&&(c.original_variant=null==o?void 0:o.variant),h&&(c.metadata=tb(tb({},null==o?void 0:o.metadata),{},{payload:h,original_payload:null==o||null==(n=o.metadata)?void 0:n.payload})),s[e]=c}return this.Gc||(this.$.warn(" Overriding feature flag details!",{flagDetails:e,overriddenPayloads:i,finalDetails:s}),this.Gc=!0),s}getAllFeatureFlags(){let e=this.getFlagVariants(),t=this.getFlagPayloads();return Object.keys(e).map(i=>{let s=e[i];return{key:i,enabled:t1(s),variant:t2(s),payload:t0(t[i])}})}getFlagVariants(){let e=this.Md(iZ),t=this.Md(i6);if(!t)return e||{};let i=sR({},e||{}),s=Object.keys(t);for(let e=0;s.length>e;e++)i[s[e]]=t[s[e]];return this.Gc||(this.$.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:i}),this.Gc=!0),i}getFlagPayloads(){let e=this.Md(i2),t=this.Md(i4);if(!t)return e||{};let i=sR({},e||{}),s=Object.keys(t);for(let e=0;s.length>e;e++)i[s[e]]=t[s[e]];return this.Gc||(this.$.warn(" Overriding feature flag payloads!",{flagPayloads:e,overriddenPayloads:t,finalPayloads:i}),this.Gc=!0),i}reloadFeatureFlags(){this.td||this.Mr.featureFlagsDisabled||this.ld()||(this.Xc&&(this.ed=!0),this.Nd||(this.Jc.slice().forEac
2h(e=>{try{e()}catch(e){this.$.error("Error while running feature flags reloading callback",e)}}),this.Nd=setTimeout(()=>{this.qd()},5)))}Id(){clearTimeout(this.Nd),this.Nd=void 0}onReloading(e){return this.Jc.push(e),()=>{this.Jc=this.Jc.filter(t=>t!==e)}}ensureFlagsLoaded(){this.Kc||this.Xc||this.Nd||this.reloadFeatureFlags()}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.td=e}resetFlagCallReported(){this.Lt(so)}qd(e){this.Id();let t=this.po;if(!t||this.Mr.remoteRequestsDisabled||this.ld())return;if(this.Xc)return void(this.ed=!0);let i={token:t.projectToken,distinct_id:t.distinctId,groups:t.groups,$anon_distinct_id:this.$anon_distinct_id,person_properties:tb(tb(tb({},t.initialPersonProperties),this.Md("$stored_person_properties")||{}),{},{$lib:t.library.name,$lib_version:t.library.version}),group_properties:this.Md(i9),timezone:nu()};H(t.deviceId)||(i.$device_id=t.deviceId),((null==e?void 0:e.disableFlags)||this.Mr.featureFlagsDisabled)&&(i.disable_flags=!0);let s=this.Od();s.length&&(i.evaluation_contexts=s);let r=this.Dd();H(r)||(i.flag_keys=r);let n=this.Mr.onlyEvaluateSurveyFeatureFlags,o=this.Yc;this.Xc=!0;let a=()=>{this.ed&&(this.ed=!1,this.qd())},l=e=>{var t,s;let r=null!=(t=e.json)?t:{},l=200!==e.statusCode;if(this.Xc=!1,o!==this.Yc)return void a();if(this.jd(e.statusCode),l||this.ed||(this.$anon_distinct_id=void 0),i.disable_flags&&!this.ed)return;this.nd=!l;let u=[];e.error?u.push(e.error instanceof Error&&"AbortError"===e.error.name?"timeout":e.error instanceof Error?a1:"unknown_error"):200!==e.statusCode&&u.push(`api_error_${e.statusCode}`),r.errorsWhileComputingFlags&&u.push("errors_while_computing_flags");let h=!!(null==(s=r.quotaLimited)?void 0:s.includes("feature_flags"));h&&u.push("quota_limited"),this.At({[sl]:u}),h?this.$.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."):i.disable_flags||this.Ld(r,l,{partialResponse:n}),a()},u=e=>{this.Xc=!1,o===this.Yc&&(this.At({[sl]:[a1]}),this.$.error("Feature flag request failed",e),this.Pd()&&this.xd(!0)),a()};try{t.sendRequest("/flags/?v=2"+(n?"&only_evaluate_survey_feature_flags=true":""),{target:"flags",method:"POST",body:i,compression:this.Mr.compression,sentAt:"body",timeoutMs:this.Mr.requestTimeoutMs}).then(l).catch(u)}catch(e){u(e)}}ld(){return r6(this.rd,3)}jd(e){this.rd=r4(e,this.rd,3,()=>this.$.warn("Feature flag requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped refreshing feature flags; will try again when connectivity changes."))}getFeatureFlag(e,t={}){var i;if(t.fresh&&!this.nd)return;if(!(this.Kc||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlag for key "'+e+aQ);if(this.Fd())return;let s=this.getFeatureFlagResult(e,t);return null!=(i=null==s?void 0:s.variant)?i:null==s?void 0:s.enabled}getFeatureFlagDetails(e){return this.getFlagsWithDetails()[e]}getFeatureFlagPayload(e){let t=this.getFeatureFlagResult(e,{send_event:!1});return null==t?void 0:t.payload}getFeatureFlagResult(e,t={}){var i,s,r,n,o,a,l,u,h,c,d,p,f,g;if(t.fresh&&!this.nd)return;if(!(this.Kc||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlagResult for key "'+e+aQ);if(this.Fd())return;let v=this.getFlagVariants(),_=e in v,m=v[e],y=this.getFlagPayloads()[e],b=String(m),w=this.Md("$feature_flag_request_id")||void 0,x=this.Md("$feature_flag_evaluated_at")||void 0,$,k=this.Md("$flag_call_reported")||{};if(this.Mr.deduplicateCallsPerSession){let e=null==(i=this.po)?void 0:i.session.sessionId,t=this.Md(sa);e&&e!==t&&(k={},$=e)}if(!t.send_event&&"send_event"in t)$&&this.At({[so]:k,[sa]:$});else if(e in k&&k[e].includes(b))$&&this.At({[so]:k,[sa]:$});else{j(k[e])?k[e].push(b):k[e]=[b],this.At(tb({[so]:k},$?{[sa]:$}:{}));let t=this.getFeatureFlagDetails(e),i=[...null!=(s=this.Md("$feature_flag_errors"))?s:[]];H(m)&&i.push("flag_missing");let v={$feature_flag:e,$feature_flag_response:m,$feature_flag_payload:null!=y?y:null,$feature_flag_request_id:w,$feature_flag_evaluated_at:x,$feature_flag_bootstrapped_response:null!=(r=null==(n=this.Mr.bootstrap)||null==(n=n.featureFlags)?void 0:n[e])?r:null,$feature_flag_bootstrapped_payload:null!=(o=null==(a=this.Mr.bootstrap)||null==(a=a.featureFlagPayloads)?void 0:a[e])?o:null,$used_bootstrap_value:!this.nd};H(null==t||null==(l=t.metadata)?void 0:l.has_experiment)||(v.$feature_flag_has_experiment=t.metadata.has_experiment),H(null==t||null==(u=t.metadata)?void 0:u.version)||(v.$feature_flag_version=t.metadata.version);let _=null!=(h=null==t||null==(c=t.reason)?void 0:c.description)?h:null==t||null==(d=t.reason)?void 0:d.code;_&&(v.$feature_flag_reason=_),(null==t||null==(p=t.metadata)?void 0:p.id)&&(v.$feature_flag_id=t.metadata.id),H(null==t?void 0:t.original_variant)&&H(null==t?void 0:t.original_enabled)||(v.$feature_flag_original_response=H(t.original_variant)?t.original_enabled:t.original_variant),(null==t||null==(f=t.metadata)?void 0:f.original_payload)&&(v.$feature_flag_original_payload=null==t||null==(g=t.metadata)?void 0:g.original_payload),i.length&&(v.$feature_flag_error=i.join(",")),this.Bd(v)}return _?{key:e,enabled:!!m,variant:"string"==typeof m?m:void 0,payload:t0(y)}:void 0}Bd(e){try{var t;null==(t=this.po)||t.capture("$feature_flag_called",e).catch(e=>{this.$.error("Failed to capture feature flag call",e)}
2)}catch(e){this.$.error("Failed to capture feature flag call",e)}}getRemoteConfigPayload(e,t){this.Hd(e,t)}Hd(e,t){var i=this;return ea(function*(){let s,r=i.po;if(!r)return;let n={distinct_id:r.distinctId,token:r.projectToken,person_properties:{$lib:r.library.name,$lib_version:r.library.version}},o=i.Od();o.length&&(n.evaluation_contexts=o);let a=i.Dd();H(a)||(n.flag_keys=a);try{var l;let t=null==(l=(yield r.sendRequest("/flags/?v=2",{target:"flags",method:"POST",body:n,compression:i.Mr.compression,sentAt:"body",timeoutMs:i.Mr.requestTimeoutMs})).json)?void 0:l.featureFlagPayloads;s=(null==t?void 0:t[e])||void 0}catch(e){return void i.$.error("Remote config feature flag request failed",e)}try{t(s)}catch(e){i.$.error("Remote config feature flag callback failed",e)}})()}isFeatureEnabled(e,t={}){if(t.fresh&&!this.nd)return t.defaultValue;if(!(this.Kc||this.getFlags()&&this.getFlags().length>0))return this.$.warn('isFeatureEnabled for key "'+e+aQ),t.defaultValue;let i=this.getFeatureFlag(e,t);return H(i)?t.defaultValue:!!i}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter(t=>t!==e)}receivedFeatureFlags(e,t,i){this.Ld(e,t,i)}Ld(e,t,i){if(!this.po)return;this.Kc=!0;let s=((e,t={},i={},s={},r,n=aX)=>{let o=((e,t)=>{let i=e.flags;if(i){let t=Object.fromEntries(Object.keys(i).map(e=>{var t;return[e,null!=(t=i[e].variant)?t:i[e].enabled]})),s=Object.fromEntries(Object.keys(i).filter(e=>i[e].enabled).filter(e=>{var t;return!H(null==(t=i[e].metadata)?void 0:t.payload)}).map(e=>{var t;return[e,null==(t=i[e].metadata)?void 0:t.payload]}));return tb(tb({},e),{},{featureFlags:t,featureFlagPayloads:s})}return e.featureFlags&&t.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),e})(e,n),a=o.flags,l=o.featureFlags,u=o.featureFlagPayloads;if(!l)return;let h=e.requestId,c=e.evaluatedAt;if(j(l)){n.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");let e={};if(l)for(let t=0;l.length>t;t++)e[l[t]]=!0;return{[iQ]:l,[iZ]:e,[i5]:!1}}let d=l,p=u,f=a;if(null==r?void 0:r.partialResponse){let e=Object.keys(d),r=p||{};d=tb(tb({},t),d),p=tb(tb({},i),r),e.forEach(e=>{e in r||null==p||delete p[e]}),f=tb(tb({},s),f)}else if(e.errorsWhileComputingFlags)if(a){let e=new Set(Object.keys(a).filter(e=>{var t;return!(null==(t=a[e])?void 0:t.failed)}));d=tb(tb({},t),Object.fromEntries(Object.entries(d).filter(([t])=>e.has(t))));let r=Object.fromEntries(Object.entries(p||{}).filter(([t])=>e.has(t)));p=tb(tb({},i),r),e.forEach(e=>{e in r||null==p||delete p[e]}),f=tb(tb({},s),Object.fromEntries(Object.entries(f||{}).filter(([t])=>e.has(t))))}else d=tb(tb({},t),d),p=tb(tb({},i),p),f=tb(tb({},s),f);return tb(tb({[iQ]:Object.keys(a3(d)),[iZ]:d||{},[i2]:p||{},[i1]:f||{},[i5]:!0===e.minimalFlagCalledEvents},h?{[i3]:h}:{}),c?{[su]:c}:{})})(e,this.getFlagVariants(),this.getFlagPayloads(),this.getFlagsWithDetails(),i,this.$);if(s)if(!1===(null==i?void 0:i.persist)){let e=!H(this.po.kv.get(iZ));this.Ed=s,e||this.At(s)}else this.kd(),this.Ad(s,e,!!(null==i?void 0:i.partialResponse)),this.At(s);else t&&this.Pd();t||(this.sd=!1),this.xd(t)}override(e,t=!1){this.$.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:e,suppressWarning:t})}overrideFeatureFlags(e){this.zd(e)}zd(e){if(this.po){if(!1===e)return this.Lt([i6,i4]),this.xd(),void aZ.info("All overrides cleared");if(j(e))return this.At({[i6]:a2(e)}),this.xd(),void aZ.info("Flag overrides set",{flags:e});if(e&&"object"==typeof e&&("flags"in e||"payloads"in e)){var t;this.Gc=!!(null!=(t=e.suppressWarning)&&t);let i={},s=e.flags,r=e.payloads;return s&&(i[i6]=j(s)?a2(s):s),r&&(i[i4]=r),Object.keys(i).length&&this.At(i),!1===s&&!1===r?this.Lt([i6,i4]):!1===s?this.Lt(i6):!1===r&&this.Lt(i4),this.xd(),!1===s?aZ.info("Flag overrides cleared"):s&&aZ.info("Flag overrides set",{flags:s}),void(!1===r?aZ.info("Payload overrides cleared"):r&&aZ.info("Payload overrides set",{payloads:r}))}if(e&&"object"==typeof e)return this.At({[i6]:e}),this.xd(),void aZ.info("Flag overrides set",{flags:e});this.$.warn("Invalid overrideOptions provided to overrideFeatureFlags",{overrideOptions:e})}else this.$.warn("posthog.featureFlags.overrideFeatureFlags called before feature flags were ready")}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.Kc){let{flags:t,flagVariants:i}=this.Ud();try{e(t,i)}catch(e){this.$.error("Error while running feature flags callback",e)}}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t,i){var s,r;let n=(this.Md("$early_access_features")||[]).find(t=>t.flagKey===e),o={[`$feature_enrollment/${e}`]:t},a={$feature_flag:e,$feature_enrollment:t,$set:o};n&&(a.$early_access_feature_name=n.name),i&&(a.$feature_enrollment_stage=i);let l=tb(tb({},this.getFlagVariants()),{},{[e]:t});null==(s=this._instance)||null==(s=s.persistence)||s.markCrossTabFeatureFlagChanges({$active_feature_flags:[e],$enabled_feature_flags:[e],$stored_person_properties:Object.keys(o)}),this.At({[iQ]:Object.keys(a3(l)),[iZ]:l,[i8]:tb(tb({},this.Md("$stored_person_properties")||{}),o)}),this.xd();try{null==(r=this.po)||r.capture("$feature_enrollment_update",a).catch(e=>{this.$.error("Failed to capture early access feature enrollment",e)})}catch(e){this.$.error("Failed to capture early access feature enrollment",e)}}getEarlyAccessFeatures(e,t=!1,i){let s=this.Md(i0);!s||t?this.Wd(e,i):e(s)}Wd(e,t){var i=this;return ea(function*(){let s,r=i.po;if(!r)return;let n=t?`&${t.map(e=>`stage=${e}`).join("&")}`:"";try{let e=yield r.sendRequest(`/api/early_access_features/?token=${r.projectToken}${n}`,{target:"api",method:"GET",sentAt:"query"});if(!e.json)return;s=e.json.earlyAccessFeatures,i.At({[i0]:s})}catch(e){return void i.$.error("Early access feature request failed",e)}try{e(s)}catch(e){i.$.error("Early access feature callback failed",e)}})()}Ud(){let e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter(e=>t[e]),flagVariants:Object.keys(t).filter(e=>t[e]).reduce((e,i)=>(e[i]=t[i],e),{})}}
2xd(e){this.Sd();let{flags:t,flagVariants:i}=this.Ud();this.featureFlagEventHandlers.forEach(s=>{try{s(t,i,{errorsLoading:e})}catch(e){this.$.error("Error while running feature flags callback",e)}})}setPersonPropertiesForFlags(e,t=!0){this.Vd(e,t)}Vd(e,t=!0){let i=this.Md("$stored_person_properties")||{},s=(null==e?void 0:e.$set)||((null==e?void 0:e.$set_once)?{}:e),r=null==e?void 0:e.$set_once,n={};if(r)for(let e in r)({}).hasOwnProperty.call(r,e)&&(e in i||(n[e]=r[e]));this.At({[i8]:tb(tb(tb({},i),n),s)}),t&&this.reloadFeatureFlags()}unsetPersonPropertiesForFlags(e,t=!0){let i=tb({},this.Md("$stored_person_properties")||{});e.forEach(e=>{delete i[e]}),this.At({[i8]:i}),t&&this.reloadFeatureFlags()}resetPersonPropertiesForFlags(e=!0){this.Lt(i8),e&&this.reloadFeatureFlags()}setGroupPropertiesForFlags(e,t=!0){let i=this.Md("$stored_group_properties")||{},s=tb({},i);for(let t of Object.keys(e))s[t]=tb(tb({},i[t]),e[t]);this.At({[i9]:s}),t&&this.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){let t=this.Md("$stored_group_properties")||{};this.At({[i9]:tb(tb({},t),{},{[e]:{}})})}else this.Lt(i9)}reset(){this.Yc++,this.ed=!1,this.Zc={},this.Qc={},this.Ed=void 0,this.Kc=!1,this.td=!1,this.nd=!1,this.$anon_distinct_id=void 0,this.Id(),this.Gc=!1,this.rd=0}}},l_=tb({productTours:class{get xa(){return this._instance.persistence}constructor(e){this.lf=null,this.af=null,this._instance=e}initialize(){this.loadIfEnabled()}onRemoteConfig(e){if(!e.ok)return;let t=e.config;if("productTours"in t){var i,s;if(this.xa&&this.xa.register({[iW]:!!t.productTours}),!aI(this._instance))return!this.lf&&U(null==(i=this.xa)?void 0:i.props.ph_product_tours)||aO.info("product tours disabled; stopping and clearing cached tours"),null==(s=this.lf)||s.stop(),this.lf=null,void this.clearCache();this.loadIfEnabled()}}loadIfEnabled(){!this.lf&&aI(this._instance)&&this.No(()=>this.uf())}No(e){var t,i,s;(null==(t=w.__PosthogExtensions__)?void 0:t.generateProductTours)?e():null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this._instance,"product-tours",t=>{t?aO.error("Could not load product tours script",t):e()})}uf(){var e;!this.lf&&(null==(e=w.__PosthogExtensions__)?void 0:e.generateProductTours)&&(this.lf=w.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(e,t=!1){if(j(this.af)&&!t)return void e(this.af,{isLoaded:!0});let i=this.xa;if(i){let s=i.props[sn];if(j(s)&&!t)return this.af=s,void e(s,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api",`/api/product_tours/?token=${this._instance.config.token}`),method:"GET",timestampMode:"query",callback:t=>{if(!aI(this._instance))return void e([],{isLoaded:!0});let s=t.statusCode;if(200!==s||!t.json){let i=`Product Tours API could not be loaded, status: ${s}`;return 0===s?t.error||aO.warn(i):aO.error(i),void e([],{isLoaded:!1,error:i})}let r=j(t.json.product_tours)?t.json.product_tours:[];this.af=r,i&&i.register({[sn]:r}),e(r,{isLoaded:!0})}})}getActiveProductTours(e){U(this.lf)?e([],{isLoaded:!1,error:"Product tours not loaded"}):this.lf.getActiveProductTours(e)}showProductTour(e){var t;null==(t=this.lf)||t.showTourById(e)}previewTour(e){this.lf?this.lf.previewTour(e):this.No(()=>{var t;this.uf(),null==(t=this.lf)||t.previewTour(e)})}dismissProductTour(){var e;null==(e=this.lf)||e.dismissTour("user_clicked_skip")}nextStep(){var e;null==(e=this.lf)||e.nextStep()}previousStep(){var e;null==(e=this.lf)||e.previousStep()}clearCache(){var e;this.af=null,null==(e=this.xa)||e.unregister("ph_product_tours")}resetTour(e){var t;null==(t=this.lf)||t.resetTour(e)}resetAllTours(){var e;null==(e=this.lf)||e.resetAllTours()}cancelPendingTour(e){var t;null==(t=this.lf)||t.cancelPendingTour(e)}}},lv),lm=tb({surveys:class extends aj{constructor(e){super(new aG(e),{get projectToken(){return e.config.token},kv:new aV(e)}),this._instance=e}Fh(e,t){let i=t.query?oh(e,t.query):e;return new Promise(e=>{var s;this._instance._send_request({method:t.method,url:this._instance.requestRouter.endpointFor(null!=(s=t.target)?s:"api",i),data:t.body,headers:t.headers,timeout:t.timeoutMs,fireCallbackOnDrop:!0,transport:t.transport,compression:t.compression,timestampMode:t.sentAt,callback:e})})}}},lv),ly=tb({experiments:class e{get Mr(){return this._instance.config}constructor(t){this._instance=t,this.getWebExperimentsAndEvaluateDisplayLogic=(t=!1)=>{this.getWebExperiments(t=>{e.Ef("retrieved web experiments from the server"),this.Pf=new Map,t.forEach(t=>
2{if(t.feature_flag_key){var i;this.Pf&&(e.Ef("setting flag key ",t.feature_flag_key," to web experiment ",t),null==(i=this.Pf)||i.set(t.feature_flag_key,t));let s=this._instance.getFeatureFlag(t.feature_flag_key);V(s)&&t.variants[s]&&this.Rf(t.name,s,t.variants[s].transforms)}else if(t.variants)for(let i in t.variants){let s=t.variants[i];e.Af(s,this._instance)&&this.Rf(t.name,i,s.transforms)}})},t)},this._instance.onFeatureFlags(e=>{this.onFeatureFlags(e)})}initialize(){}onFeatureFlags(t){if(this._is_bot())e.Ef(le);else if(!this.Mr.disable_web_experiments){if(U(this.Pf))return this.Pf=new Map,this.loadIfEnabled(),void this.previewWebExperiment();e.Ef("applying feature flags",t),t.forEach(e=>{var t,i;if(this.Pf&&(null==(t=this.Pf)?void 0:t.has(e))){let t=this._instance.getFeatureFlag(e),s=null==(i=this.Pf)?void 0:i.get(e);t&&(null==s?void 0:s.variants[t])&&this.Rf(s.name,t,s.variants[t].transforms)}})}}previewWebExperiment(){let t=e.getWindowLocation();if(null==t?void 0:t.search){let i=r2(null==t?void 0:t.search,"__experiment_id"),s=r2(null==t?void 0:t.search,"__experiment_variant");i&&s&&(e.Ef(`previewing web experiments ${i} && ${s}`),this.getWebExperiments(e=>{this.Ff(parseInt(i),s,e)},!1,!0))}}loadIfEnabled(){this.Mr.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,i){if(this.Mr.disable_web_experiments&&!i)return e([]);let s=this._instance.get_property("$web_experiments");if(s&&!t)return e(s);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api",`/api/web_experiments/?token=${this.Mr.token}`),method:"GET",timestampMode:"query",callback:t=>e(200===t.statusCode&&t.json&&t.json.experiments||[])})}Ff(t,i,s){let r=s.filter(e=>e.id===t);r&&r.length>0&&(e.Ef(`Previewing web experiment [${r[0].name}] with variant [${i}]`),this.Rf(r[0].name,i,r[0].variants[i].transforms))}static Af(t,i){return!U(t.conditions)&&e.Of(t,i)&&e.Df(t)}static Of(t,i){var s,r,n,o;if(U(t.conditions)||U(null==(s=t.conditions)?void 0:s.url))return!0;let a=e.getWindowLocation();if(a){let e=rr(i,a.href);return!(null==(r=t.conditions)?void 0:r.url)||lt[null!=(n=null==(o=t.conditions)?void 0:o.urlMatchType)?n:"icontains"](t.conditions.url,e)}return!1}
2static getWindowLocation(){return null==u?void 0:u.location}static Df(e){var t,i,s,r,n,o,a,l,u;if(U(e.conditions)||U(null==(t=e.conditions)?void 0:t.utm))return!0;let h=nt();if(h.utm_source){let t=!(null==(i=e.conditions)||null==(i=i.utm)?void 0:i.utm_campaign)||(null==(s=e.conditions)||null==(s=s.utm)?void 0:s.utm_campaign)==h.utm_campaign,c=!(null==(r=e.conditions)||null==(r=r.utm)?void 0:r.utm_source)||(null==(n=e.conditions)||null==(n=n.utm)?void 0:n.utm_source)==h.utm_source,d=!(null==(o=e.conditions)||null==(o=o.utm)?void 0:o.utm_medium)||(null==(a=e.conditions)||null==(a=a.utm)?void 0:a.utm_medium)==h.utm_medium,p=!(null==(l=e.conditions)||null==(l=l.utm)?void 0:l.utm_term)||(null==(u=e.conditions)||null==(u=u.utm)?void 0:u.utm_term)==h.utm_term;return t&&d&&p&&c}return!1}static Ef(e,...t){i$.info(`[WebExperiments] ${e}`,t)}Rf(t,i,s){this._is_bot()?e.Ef(le):"control"!==i?s.forEach(s=>{if(s.selector){var r;e.Ef(`applying transform of variant ${i} for experiment ${t} `,s);let n=null==(r=document)?void 0:r.querySelectorAll(s.selector);null==n||n.forEach(e=>{s.html&&(e.innerHTML=s.html),s.css&&e.setAttribute("style",s.css)})}}):e.Ef("Control variants leave the page unmodified.")}_is_bot(){return c&&this._instance?oT(c,this.Mr.custom_blocked_useragents):void 0}}},lv);ah.__defaultExtensionClasses=tb({},tb(tb(tb(tb(tb(tb(tb(tb(tb(tb(tb(tb(tb({},lv),{sessionRecording:class{get Mr(){return this._instance.config}get xa(){return this._instance.persistence}get started(){var e;return!!(null==(e=this.Gd)?void 0:e.isStarted)}get status(){var e,t;return"awaiting_config"===this.Zd||"missing_config"===this.Zd?this.Zd:null!=(e=null==(t=this.Gd)?void 0:t.status)?e:this.Zd}constructor(e){if(this._instance=e,this._forceAllowLocalhostNetworkCapture=!1,this.Zd=aS,this.Qd=void 0,this.Jd=!1,this.Ke=(()=>{var e,t;if(!(null==d?void 0:d.visibilityState)||"visible"===d.visibilityState)return!0;let i=null==u||null==(e=u.performance)||null==(t=e.getEntriesByType)?void 0:t.call(e,"visibility-state");return!(null==i?void 0:i.length)||i.some(e=>"visible"===e.name)})(),this.an=()=>{var e,t;"visible"===(null==d?void 0:d.visibilityState)&&(this.Ke=!0,null==(e=this.Gd)||null==(t=e.setDocumentWasEverVisible)||t.call(e,!0))},!this._instance.sessionManager)throw aP.error("started without valid sessionManager"),Error("[SessionRecording] started without valid sessionManager. This is a bug.");if("always"===this.Mr.cookieless_mode)throw Error('[SessionRecording] cannot be used with cookieless_mode="always"');(null==d?void 0:d.addEventListener)&&sj(d,"visibilitychange",this.an)}initialize(){this.startIfEnabledOrStop()}dispose({discardBufferedEvents:e=!1}={}){var t;this.Jd=!0,null==d||null==(t=d.removeEventListener)||t.call(d,"visibilitychange",this.an),e?this.Kd(!0):this.stopRecording()}get Xd(){var e;let t=!!(null==(e=this._instance.get_property("$session_recording_remote_config"))?void 0:e.enabled),i=!this.Mr.disable_session_recording,s=this.Mr.disable_session_recording||this._instance.consent.isOptedOut();return u&&t&&i&&!s}startIfEnabledOrStop(e){var t;if(this.Jd||this.Xd&&(null==(t=this.Gd)?void 0:t.isStarted))return;let i=!H(Object.assign)&&!H(Array.from);this.Xd&&i?(this.Yd(e),aP.info("starting")):(this.Zd=aS,this.stopRecording())}Yd(e){var t,i,s,r;if(this.Xd)if("awaiting_config"!==this.Zd&&"missing_config"!==this.Zd&&(this.Zd=aM),(null==w||null==(t=w.__PosthogExtensions__)||null==(t=t.rrweb)?void 0:t.record)&&(null==(i=w.__PosthogExtensions__)?void 0:i.initSessionRecording))this.tv(e);else{let t=this._instance.sessionManager;null==(s=w.__PosthogExtensions__)||null==(r=s.loadExternalDependency)||r.call(s,this._instance,this.ev,i=>{if(!this.Jd&&this.Xd&&this._instance.sessionManager===t)return i?(this._instance.register_for_session({$sdk_debug_recording_script_not_loaded:!0}),aP.error("could not load recorder",i)):void this.tv(e);this.Zd="disabled"})}}stopRecording(){var e,t;null==(e=this.Qd)||e.call(this),this.Qd=void 0,null==(t=this.Gd)||t.stop()}Kd(e=!1){var t,i;null==(t=this.Qd)||t.call(this),this.Qd=void 0,null==(i=this.Gd)||i.discard({discardProducerEvents:e})}iv(){var e,t;null==(e=this.xa)||e.unregister("$session_is_sampled"),null==(t=this.xa)||t.unregister("$replay_sample_rate")}nv(e,t){if(U(e))return null;let i=K(e)?e:parseFloat(e);return"number"!=typeof i||!Number.isFinite(i)||0>i||i>1?(aP.warn(`${t} must be between 0 and 1. Ignoring invalid value:`,e),null):i}sv(e){if(this.xa){var t,i;let s=this.xa,r=()=>{var t;let i=!1===e.sessionRecording?void 0:e.sessionRecording,r=this.nv(null==(t=this.Mr.session_recording)?void 0:t.sampleRate,"session_recording.sampleRate"),n=this.nv(null==i?void 0:i.sampleRate,"remote config sampleRate"),o=null!=r?r:n;U(o)&&this.iv();let a=null==i?void 0:i.minimumDurationMilliseconds;s.register({[iY]:tb(tb({cache_timestamp:Date.now(),enabled:!!i},i),{},{networkPayloadCapture:tb({capturePerformance:e.capturePerformance},null==i?void 0:i.networkPayloadCapture),canvasRecording:{enabled:null==i?void 0:i.recordCanvas,fps:null==i?void 0:i.canvasFps,quality:null==i?void 0:i.canvasQuality},sampleRate:o,minimumDurationMilliseconds:H(a)?null:a,endpoint:null==i?void 0:i.endpoint,triggerMatchType:null==i?void 0:i.triggerMatchType,masking:null==i?void 0:i.masking,urlTriggers:null==i?void 0:i.urlTriggers,version:null==i?void 0:i.version,triggerGroups:null==i?void 0:i.triggerGroups})})};r(),null==(t=this.Qd)||t.call(this),this.Qd=null==(i=this._instance.sessionManager)?void 0:i.onSessionId(r)}}onRemoteConfig(e){let t=e.ok?e.config:void 0;return t&&"sessionRecording"in t?!1===t.sessionRecording?(this.sv(t),void this.Kd()):(this.sv(t),void this.startIfEnabledOrStop()):("awaiting_config"===this.Zd&&(this.Zd="missing_config",aP.warn("config refresh failed, recording will not start until page reload")),void this.startIfEnabledOrStop())}log(e,t="log"){var i;(null==(i=this.Gd)?void 0:i.log)?this.Gd.log(e,t):aP.warn("log called before recorder was ready")}get ev(){var e,t;let i=null==(e=this._instance)||null==(e=e.persistence)?void 0:e.get_property(iY);return(null==i||null==(t=i.scriptConfig)?void 0:t.script)||"lazy-recorder"}
2rv(){let e,t=this._instance.get_property(iY);if(!t)return!1;try{e="object"==typeof t?t:JSON.parse(t)}catch(e){return aP.warn("persisted remote config for session recording is invalid and will be ignored",e),!1}return!U(e.cache_timestamp)&&36e5>=Date.now()-e.cache_timestamp}tv(e){var t,i,s,r;if(!this.Jd&&this.Xd&&this._instance.sessionManager){if(!(null==(t=w.__PosthogExtensions__)?void 0:t.initSessionRecording))return aP.warn("Called on script loaded before session recording is available. This can be caused by adblockers."),void this._instance.register_for_session({[sb]:!0});if(this.Gd||(this.Gd=null==(r=w.__PosthogExtensions__)?void 0:r.initSessionRecording(this._instance,this.Ke),this.Gd._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),!this.rv()){if("missing_config"===this.Zd||"awaiting_config"===this.Zd)return;return this.Zd="awaiting_config",aP.info("persisted remote config is stale, requesting fresh config before starting"),void new nA(this._instance).load()}this.Zd=aM,null==(i=(s=this.Gd).setDocumentWasEverVisible)||i.call(s,this.Ke),this.Gd.start(e)}else this.Zd=aS}onRRwebEmit(e){var t,i;null==(t=this.Gd)||null==(i=t.onRRwebEmit)||i.call(t,e)}overrideLinkedFlag(){var e,t;this.Gd||null==(t=this.xa)||t.register({$replay_override_linked_flag:!0}),null==(e=this.Gd)||e.overrideLinkedFlag()}overrideSampling(){var e,t;this.Gd||null==(t=this.xa)||t.register({$replay_override_sampling:!0}),null==(e=this.Gd)||e.overrideSampling()}overrideTrigger(e){var t,i;this.Gd||null==(i=this.xa)||i.register({["url"===e?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),null==(t=this.Gd)||t.overrideTrigger(e)}get sdkDebugProperties(){var e;return(null==(e=this.Gd)?void 0:e.sdkDebugProperties)||{$recording_status:this.status}}tryAddCustomEvent(e,t){var i;return!!(null==(i=this.Gd)?void 0:i.tryAddCustomEvent(e,t))}flushBeforeIdentityReset(){var e,t;null==(e=this.Gd)||null==(t=e.flushBeforeIdentityReset)||t.call(e)}}}),{autocapture:class extends ag{constructor(e){super(new av(e)),this.instance=e}},historyAutocapture:class{constructor(e){this._instance=e,this.ov=this.lv()}initialize(){this.startIfEnabled()}get isEnabled(){let e=this.av();return!!(e.path||e.search||this.uv(e))}startIfEnabled(){this.isEnabled&&(i$.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}startIfEnabledOrStop(){this.stop(),this.ov=this.lv(),this.startIfEnabled()}stop(){this.hv&&this.hv(),this.hv=void 0,this.dv&&this.dv(),this.dv=void 0,i$.info("History API monitoring stopped")}monitorHistoryChanges(){u&&u.history&&(this.vv("pushState"),this.vv("replaceState"),this.fv(),this.uv()&&this.pv())}vv(e){var t;if(!u||(null==(t=u.history[e])?void 0:t.__posthog_wrapped__))return;let i=this;ab(u.history,e,t=>function(s,r,n){t.call(this,s,r,n),i.gv(e)})}lv(){let e=null==u?void 0:u.location;if(null==e?void 0:e.pathname)return{pathname:e.pathname,search:e.search,hash:e.hash}}av(){let e=this._instance.config.capture_pageview;return"history_change"===e?{path:!0}:q(e)?e:{}}uv(e=this.av()){return!!e.hash&&!this._instance.config.disable_capture_url_hashes}mv(e){let t=this.av(),i=this.ov;return!(!i||!(t.path&&e.pathname!==i.pathname||t.search&&e.search!==i.search||this.uv(t)&&e.hash!==i.hash))}gv(e){try{let t=this.lv();if(!t)return;this.mv(t)&&this._instance.capture(sM,{navigation_type:e}),this.ov=t}catch(t){i$.error(`Error capturing ${e} pageview`,t)}}fv(){if(this.hv)return;let e=()=>{this.gv("popstate")};sj(u,"popstate",e),this.hv=()=>{u&&u.removeEventListener("popstate",e)}}pv(){if(this.dv)return;let e=()=>{this.gv("hashchange")};
2sj(u,"hashchange",e),this.dv=()=>{u&&u.removeEventListener("hashchange",e)}}},heatmaps:class{get Mr(){return this.instance.config}constructor(e){var t;this.yv=!1,this.bo=!1,this.bv=null,this.instance=e,this.yv=!!(null==(t=this.instance.persistence)?void 0:t.props[iB]),this.rageclicks=new ac(e.config.rageclick)}initialize(){this.startIfEnabled()}get flushIntervalMilliseconds(){let e=5e3;return q(this.Mr.capture_heatmaps)&&this.Mr.capture_heatmaps.flush_interval_milliseconds&&(e=this.Mr.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return U(this.Mr.capture_heatmaps)?U(this.Mr.enable_heatmaps)?this.yv:this.Mr.enable_heatmaps:!1!==this.Mr.capture_heatmaps}startIfEnabled(){if(this.isEnabled)this.bo||(aF.info("starting..."),this._v(),this.an());else{var e;clearInterval(null!=(e=this.bv)?e:void 0),this.wv(),this.getAndClearBuffer()}}onRemoteConfig(e){if(!e.ok)return;let t=e.config;if(!("heatmaps"in t))return;let i=!!t.heatmaps;this.instance.persistence&&this.instance.persistence.register({[iB]:i}),this.yv=i,this.startIfEnabled()}getAndClearBuffer(){let e=this.Rt;return this.Rt=void 0,e}Sv(e){aC(e.originalEvent)&&this.Cr(e.originalEvent,"deadclick")}an(){this.bv&&clearInterval(this.bv),this.bv="visible"===(null==d?void 0:d.visibilityState)?setInterval(this.fa.bind(this),this.flushIntervalMilliseconds):null}_v(){u&&d&&(this.xv=this.fa.bind(this),sj(u,sS,this.xv),this.Cv=e=>this.Cr(e||(null==u?void 0:u.event)),sj(d,"click",this.Cv,{capture:!0}),this.$v=e=>this.Tv(e||(null==u?void 0:u.event)),sj(d,"mousemove",this.$v,{capture:!0}),this.Iv=new rH(this.instance,rq,this.Sv.bind(this)),this.Iv.startIfEnabledOrStop(),this.Mv=this.an.bind(this),sj(d,sE,this.Mv),this.bo=!0)}wv(){var e;u&&d&&(this.xv&&u.removeEventListener(sS,this.xv),this.Cv&&d.removeEventListener("click",this.Cv,{capture:!0}),this.$v&&d.removeEventListener("mousemove",this.$v,{capture:!0}),this.Mv&&d.removeEventListener(sE,this.Mv),clearTimeout(this.Ev),null==(e=this.Iv)||e.stop(),this.bo=!1)}Pv(e,t){let i=this.instance.scrollManager.scrollY(),s=this.instance.scrollManager.scrollX(),r=this.instance.scrollManager.scrollElement(),n=function(e,t,i){let s=e;for(;s&&ro(s)&&!ra(s,"body");){let e;if(s===i)break;try{var r,n,o;e=null==(r=null!=(n=null==(o=s.ownerDocument)?void 0:o.defaultView)?n:u)?void 0:r.getComputedStyle(s).position}catch(e){break}if(I(t,e))return!0;s=ry(s)}return!1}(rg(e),["fixed","sticky"],r);return{x:e.clientX+(n?0:s),y:e.clientY+(n?0:i),target_fixed:n,type:t}}Cr(e,t="click"){var i;if(rn(e.target)||!aC(e))return;let s=this.Pv(e,t);(null==(i=this.rageclicks)?void 0:i.isRageClick(e.clientX,e.clientY,(new Date).getTime()))&&rS(rg(e),this.instance.config.rageclick)&&this.Zs(tb(tb({},s),{},{type:"rageclick"})),this.Zs(s)}Tv(e){!rn(e.target)&&aC(e)&&(clearTimeout(this.Ev),this.Ev=setTimeout(()=>{this.Zs(this.Pv(e,"mousemove"))},500))}Zs(e){if(!u)return;let t=this.Mr.disable_capture_url_hashes?tp(u.location.href):u.location.href,i=this.Mr.custom_personal_data_properties,s=r3(t,this.Mr.mask_personal_data_properties?[...r8,...i||[]]:[],r7);this.Rt=this.Rt||{},this.Rt[s]||(this.Rt[s]=[]),this.Rt[s].push(e)}fa(){this.Rt&&!z(this.Rt)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},deadClicksAutocapture:rH,webVitalsAutocapture:class{constructor(e){var t;this._instance=e,this.yv=!1,this.bo=!1,this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Rv=()=>{clearTimeout(this.Av),this.Av=void 0,0!==this.Rt.metrics.length&&(this._instance.capture("$web_vitals",tb({$current_url:this.Rt.url},this.Rt.metrics.reduce((e,t)=>tb(tb({},e),{},{[`$web_vitals_${t.name}_event`]:tb({},t),[`$web_vitals_${t.name}_value`]:t.value}),{}))),this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.Fv=e=>{var t;if(this.Rt=this.Rt||{navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},U(null==e?void 0:e.name)||U(null==e?void 0:e.value))return void ax.error("Invalid metric received",e);let i="string"==typeof e.navigationURL?e.navigationURL:void 0,s=this.Ov(i);if(H(s))return;let r=K(e.navigationId)||"string"==typeof e.navigationId?`navigation:${e.navigationId}`:`url:${s}`;if(this.Dv&&e.value>=this.Dv)return void ax.error("Ignoring metric with value >= "+this.Dv,e);this.Rt.navigationKey!==r&&(this.Rv(),this.Av=setTimeout(this.Rv,this.flushToCaptureTimeoutMs)),H(this.Rt.navigationKey)&&(this.Rt.navigationKey=r,this.Rt.url=s),this.Rt.firstMetricTimestamp=H(this.Rt.firstMetricTimestamp)?Date.now():this.Rt.firstMetricTimestamp;let n=null==(t=this._instance.sessionManager)?void 0:t.checkAndGetSessionAndWindowId(!0),o=tb(tb(tb({},e),i?{navigationURL:s}:{}),{},{$current_url:s,timestamp:Date.now()});if(delete o.entries,q(e.attribution)&&this.attributionMetrics.indexOf(e.name)>-1){let t={};for(let i of aE){let s="url"===i&&"string"==typeof e.attribution[i]?this.Ov(e.attribution[i]):e.attribution[i];H(s)||(t[i]=s)}o.attribution=t}else delete o.attribution;H(n)||(o.$session_id=n.sessionId,o.$window_id=n.windowId),this.Rt.metrics.push(o),this.Rt.metrics.length===this.allowedMetrics.length&&this.Rv()},this.Lv=()=>{if(this.bo)return;let e,t,i,s,r=!1,n=w.__PosthogExtensions__,o=null==n?void 0:n.postHogWebVitalsCallbacksByFlavor,a=(null==o?void 0:o[this.Nv])||("web-vitals"===this.Nv&&H(o)?null==n?void 0:n.postHogWebVitalsCallbacks:void 0);if(!H(a)){let n=a.withoutAttribution,o=this.attributionMetrics;r=!H(n),e=o.indexOf("LCP")>-1?a.onLCP:(null==n?void 0:n.onLCP)||a.onLCP,t=o.indexOf("CLS")>-1?a.onCLS:(null==n?void 0:n.onCLS)||a.onCLS,i=o.indexOf("FCP")>-1?a.onFCP:(null==n?void 0:n.onFCP)||a.onFCP,s=o.indexOf("INP")>-1?a.onINP:(null==n?void 0:n.onINP)||a.onINP}if(!(e&&t&&i&&s))return void ax.error("web vitals callbacks not loaded - not starting");let l={reportSoftNavs:this.useSoftNavs},u=r&&this.attributionMetrics.indexOf("INP")>-1?tb(tb({},l),{},{includeProcessedEventEntries:!1}):l;this.allowedMetrics.indexOf("LCP")>-1&&e(this.Fv.bind(this),l),this.allowedMetrics.indexOf("CLS")>-1&&t(this.Fv.bind(this),l),this.allowedMetrics.indexOf("FCP")>-1&&i(this.Fv.bind(this),l),this.allowedMetrics.indexOf("INP")>-1&&s(this.Fv.bind(this),u),this.bo=!0},this.yv=!!(null==(t=this._instance.persistence)?void 0:t.props[iV]),this.startIfEnabled()}get qv(){return this._instance.config.capture_performance}get allowedMetrics(){var e,t;let i=q(this.qv)?null==(e=this.qv)?void 0:e.web_vitals_allowed_metrics:void 0;return U(i)?(null==(t=this._instance.persistence)?void 0:t.props.$web_vitals_allowed_metrics)||a$:i}get flushToCaptureTimeoutMs(){return(q(this.qv)?this.qv.web_vitals_delayed_flush_ms:void 0)||5e3}get attributionMetrics(){let e=q(this.qv)?this.qv.web_vitals_attribution:void 0;return J(e)?e?a$:[]:j(e)?e:ak}get useAttribution(){return this.attributionMetrics.length>0}get useSoftNavs(){let e=q(this.qv)?this.qv.__preview_web_vitals_soft_navs:void 0;return null!=e&&e}get Dv(){let e=q(this.qv)&&K(this.qv.__web_vitals_max_value)?this.qv.__web_vitals_max_value:9e5;return e>0&&6e4>=e?9e5:e}get isEnabled(){let e=null==p?void 0:p.protocol;if("http:"!==e&&"https:"!==e)return ax.info("Web Vitals are disabled on non-http/https protocols"),!1;let t=q(this.qv)?this.qv.web_vitals:J(this.qv)?this.qv:void 0;return J(t)?t:this.yv}startIfEnabled(){this.isEnabled&&!this.bo&&(ax.info("enabled, starting..."),this.No(this.Lv))}onRemoteConfig(e){if(!e.ok)return;let t=e.config;if(!("capturePerformance"in t))return;let i=q(t.capturePerformance)&&!!t.capturePerformance.web_vitals,s=q(t.capturePerformance)?t.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[iV]:i}),this._instance.persistence.register({[iK]:s})),this.yv=i,this.startIfEnabled()}get Nv(){return this.useSoftNavs?this.useAttribution?"web-vitals-with-attribution-soft-navs":"web-vitals-soft-navs":this.useAttribution?"web-vitals-with-attribution":"web-vitals"}No(e){var t;let i=w.__PosthogExtensions__,s=this.Nv,r=null==i?void 0:i.postHogWebVitalsCallbacksByFlavor;(null==r?void 0:r[s])||"web-vitals"===s&&H(r)&&(null==i?void 0:i.postHogWebVitalsCallbacks)?e():null==i||null==(t=i.loadExternalDependency)||t.call(i,this._instance,s,t=>{t?ax.error("failed to load script",t):e()})}Ov(e){let t=e||(null==u?void 0:u.location.href);if(!t)return void ax.error("Could not determine current URL");let i=this._instance.config.disable_capture_url_hashes?tp(t):t,s=this._instance.config.custom_personal_data_properties;return r3(i,this._instance.config.mask_personal_data_properties?[...r8,...s||[]]:[],r7)}}}),{exceptionObserver:class{constructor(e){var t;this.Lv=()=>{var e;if(!u||!this.isEnabled||!(null==(e=w.__PosthogExtensions__)?void 0:e.errorWrappingFunctions))return;let t=w.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,i=w.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,s=w.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.jv&&this.Mr.capture_unhandled_errors&&(this.jv=t(this.captureException.bind(this))),!this.Bv&&this.Mr.capture_unhandled_rejections&&(this.Bv=i(this.captureException.bind(this))),!this.Hv&&this.Mr.capture_console_errors&&(this.Hv=s(this.captureException.bind(this)))}catch(e){a_.error("failed to start",e),this.zv()}},this._instance=e,this.Uv=!!(null==(t=this._instance.persistence)?void 0:t.props[iq]),this.wt=new ec(tb(tb({},function(e={}){var t,i,s,r;return{refillRate:null!=(t=null!=(i=e.exceptionRateLimiterRefillRate)?i:e.__exceptionRateLimiterRefillRate)?t:1,bucketSize:null!=(s=null!=(r=e.exceptionRateLimiterBucketSize)?r:e.__exceptionRateLimiterBucketSize)?s:10}}(this._instance.config.error_tracking)),{},{refillInterval:1e4,$:a_})),this.Mr=this.Wv(),this.startIfEnabledOrStop()}
2Wv(){let e=this._instance.config.capture_exceptions,t={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return q(e)?t=tb(tb({},t),e):(H(e)?this.Uv:e)&&(t=tb(tb({},t),{},{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),t}get isEnabled(){return this.Mr.capture_console_errors||this.Mr.capture_unhandled_errors||this.Mr.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(a_.info("enabled"),this.zv(),this.No(this.Lv)):this.zv()}No(e){var t,i,s;(null==(t=w.__PosthogExtensions__)?void 0:t.errorWrappingFunctions)?e():null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this._instance,"exception-autocapture",t=>{if(t)return a_.error("failed to load script",t);e()})}zv(){var e,t,i;null==(e=this.jv)||e.call(this),this.jv=void 0,null==(t=this.Bv)||t.call(this),this.Bv=void 0,null==(i=this.Hv)||i.call(this),this.Hv=void 0}onRemoteConfig(e){if(!e.ok)return;let t=e.config;"autocaptureExceptions"in t&&(this.Uv=!!t.autocaptureExceptions,this._instance.persistence&&this._instance.persistence.register({[iq]:this.Uv}),this.Mr=this.Wv(),this.startIfEnabledOrStop())}onConfigChange(){this.Mr=this.Wv()}captureException(e){try{var t,i,s;let r=null!=(t=null==e||null==(i=e.$exception_list)||null==(i=i[0])?void 0:i.type)?t:"Exception";if(this.wt.consumeRateLimit(r))return void a_.info("Skipping exception capture because of client rate limiting.",{exception:r});null==(s=this._instance.exceptions)||s.sendExceptionEvent(e)}catch(e){}}},exceptions:class{constructor(e){var t,i;this.Vv=[],this.Gv=new tw([new tD,new tU,new tj,new tN,new tG,new tV,new tq,new tW],function(e,...t){return(i,s=0)=>{let r=[],n=i.split("\n"),o=Math.min(n.length,s+1e3),a=[];for(let i=s;o>i;i++){let s=n[i];if(s.length>1024)continue;let o=tR.test(s)?s.replace(tR,"$1"):s;if(!o.match(/\S*Error: /)){for(let i of t){let t=i(o,e);if(t){r.push(t);let e=function(e){for(let t=1;10>=t;t++){let i=e.length-2*t;if(0>i)break;let s=!0;for(let r=0;t>r;r++)if(!tT(e[i+r],e[i+t+r])){s=!1;break}if(s){for(let s=0;t>s;s++)e[i+s]=e[i+t+s];return e.length=i+t,{start:i,length:t}}}}(r);if(e){for(let t=a.length-1;t>=0;t--){let i=a[t];if(e.start>=i.start+i.length)break;a.pop()}a.push(e)}break}}if(function(e,t){let i=t[0],s=e.length-(i?tA(e,i):0);for(let i of t)s-=tL(e,i);return s}(r,a)>=50)break}}let l=[...a].sort((e,t)=>t.start-e.start),u=l[l.length-1];if(u){let e=tA(r,u);for(let t of(r.splice(u.start-e,e),l))t.start-=e}for(let e of l)!function(e,t){let i=t.start+t.length,s=tL(e,t);s&&e.splice(i+s===e.length?i:t.start,s)}(r,e);return a.some(e=>0===e.start&&r.length===e.length)&&function(e){let t=e.map(e=>`${e.function}|${e.filename}|${e.lineno}|${e.colno}|${e.module}`),i=0;for(let e=1;t.length>e;e++)(function(e,t,i){for(let s=0;e.length>s;s++){let r=e[(t+s)%e.length],n=e[(i+s)%e.length];if(r!==n)return n>r}return!1})(t,e,i)&&(i=e);e.push(...e.splice(0,i))}(r),function(e){if(!e.length)return[];let t=Array.from(e);return t.reverse(),t.slice(0,50).map(e=>tb(tb({},e),{},{filename:e.filename||(t[t.length-1]||{}).filename,function:e.function||"?"}))}(r)}}("web:javascript",tF,tI)),this._instance=e,this.Vv=null!=(t=null==(i=this._instance.persistence)?void 0:i.get_property("$error_tracking_suppression_rules"))?t:[],this.Zv=tZ(this.Qv()),this.Jv=new tQ(this.Zv)}onConfigChange(){this.Zv=tZ(this.Qv()),this.Jv.setConfig(this.Zv)}onRemoteConfig(e){var t,i,s;if(!e.ok)return;let r=e.config;if(!("errorTracking"in r))return;let n=null!=(t=null==(i=r.errorTracking)?void 0:i.suppressionRules)?t:[],o=null==(s=r.errorTracking)?void 0:s.captureExtensionExceptions;this.Vv=n,this._instance.persistence&&this._instance.persistence.register({[iz]:this.Vv,[iH]:o})}get Kv(){var e;let t=!!this._instance.get_property(iH),i=this._instance.config.error_tracking.captureExtensionExceptions;return null!=(e=null!=i?i:t)&&e}buildProperties(e,t){return this.Gv.buildFromUnknown(e,{syntheticException:null==t?void 0:t.syntheticException,mechanism:{handled:null==t?void 0:t.handled}})}addExceptionStep(e,t){if(this.Zv.enabled)try{if(!V(e)||0===e.trim().length)return void a6.warn("Ignoring exception step because message must be a non-empty string");let{sanitizedProperties:i,droppedKeys:s}=function(e){if(!e)return{sanitizedProperties:{},droppedKeys:[]};let t=[];return{sanitizedProperties:Object.keys(e).reduce((i,s)=>(tJ.has(s)?t.push(s):i[s]=e[s],i),{}),droppedKeys:t}}(this.Xv(t));s.length>0&&a6.warn("Ignoring reserved exception step fields",{droppedKeys:s}),this.Jv.add(tb({[tK]:e,[tY]:(new Date).toISOString()},i))}catch(e){a6.error("Failed to add exception step. Ignoring breadcrumb.",e)}}sendExceptionEvent(e){try{let t,i=e.$exception_list;
2if(this.Yv(i)){if(this.tf(i))return this.ef("Exception dropped: matched a suppression rule"),void a6.info("Skipping exception capture because a suppression rule matched");if(!this.Kv&&this.if(i))return this.ef("Exception dropped: thrown by a browser extension"),void a6.info("Skipping exception capture because it was thrown by an extension");if(!this.Kv&&this.nf(i))return this.ef("Exception dropped: thrown by an injected browser script"),void a6.info("Skipping exception capture because it was thrown by an injected browser script");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.sf(i))return this.ef("Exception dropped: thrown by the PostHog SDK"),void a6.info("Skipping exception capture because it was thrown by the PostHog SDK")}let s=this.Zv.enabled&&U(e.$exception_steps)?this.rf(e):e,r=(t=globalThis._posthogReleaseId,"string"==typeof t&&t.length>0?t:void 0);r&&(s.$release_id=r);try{let e=this._instance.capture("$exception",s,{_noTruncate:!0,_batchKey:"exceptionEvent",oh:!0});return e&&this.Jv.clear(),e}catch(e){return a5(e)||a6.error("Failed to capture exception event. Dropping this exception.",e),void this.Jv.clear()}}catch(e){return void(a5(e)||a6.error("Failed to process exception event. Ignoring this exception.",e))}}rf(e){try{let t=this.Jv.getAttachable();return 0===t.length?e:tb(tb({},e),{},{$exception_steps:t})}catch(t){return a6.error("Failed to read buffered exception steps. Capturing exception without steps.",t),e}}ef(e){this.Zv.enabled&&this.Jv.add({[tK]:e,[tY]:(new Date).toISOString()})}Xv(e){return q(e)?tb({},e):{}}Qv(){var e,t;return null!=(e=null==(t=this._instance.config.error_tracking)?void 0:t.exception_steps)?e:{}}tf(e){if(0===e.length)return!1;try{let t=e.reduce((e,{type:t,value:i})=>(V(t)&&t.length>0&&e.$exception_types.push(t),V(i)&&i.length>0&&e.$exception_values.push(i),e),{$exception_types:[],$exception_values:[]});return this.Vv.some(e=>{let i=e.values.map(e=>{let i=oj[e.operator],s=t[e.key];if(!i||!s)return!1;let r=j(e.value)?e.value:[e.value];return r.length>0&&i(r,s)});return"OR"===e.type?i.some(Boolean):i.every(Boolean)})}catch(e){return a6.warn("Failed to evaluate suppression rules. Capturing the exception.",e),!1}}if(e){let t=e.flatMap(e=>{var t,i;return null!=(t=null==(i=e.stacktrace)?void 0:i.frames)?t:[]}),i=t.filter(({filename:e})=>!!e&&a9.some(t=>e.startsWith(t)));return 0!==i.length&&(!i.every(({filename:e})=>!!e&&e.startsWith(a4))||e.some(({type:e,value:t})=>"NoResponse"===e||V(t)&&a8.some(({value:e,exact:i})=>i?t===e:t.includes(e)))&&!t.some(({in_app:e,filename:t})=>e&&!(null==t?void 0:t.startsWith(a4))))}nf(e){return e.some(({value:e})=>V(e)&&a7.some(t=>e.includes(t)))}sf(e){if(e.length>0){var t,i,s,r;let n=null!=(t=null==(i=e[0].stacktrace)?void 0:i.frames)?t:[],o=n[n.length-1];return null!=(s=null==o||null==(r=o.filename)?void 0:r.includes("posthog.com/static"))&&s}return!1}Yv(e){return!U(e)&&j(e)}}}),l_),{siteApps:class{constructor(e){this._instance=e,this.hf=0,this.cf=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}df(e,t){if(!t)return;let i=this.globalsForEvent(t);this.cf.push(i),this.cf.length>1e3&&(this.cf=this.cf.slice(10))}get siteAppLoaders(){var e;return null==(e=w._POSTHOG_REMOTE_CONFIG)||null==(e=e[this._instance.config.token])?void 0:e.siteApps}initialize(){if(this.isEnabled){let e=this._instance._addCaptureHook(this.df.bind(this));this.vf=()=>{e(),this.cf=[],this.vf=void 0}}}globalsForEvent(e){var t,i,s,r,n,o,a;if(!e)throw Error("Event payload is required");let l={},u=this._instance.get_property("$groups")||[];for(let[e,t]of Object.entries(this._instance.get_property("$stored_group_properties")||{}))l[e]={id:u[e],type:e,properties:t};let{$set_once:h,$set:c}=e;return{event:tb(tb({},it(e,aR)),{},{properties:tb(tb(tb({},e.properties),c?{$set:tb(tb({},null!=(t=null==(i=e.properties)?void 0:i.$set)?t:{}),c)}:{}),h?{$set_once:tb(tb({},null!=(s=null==(r=e.properties)?void 0:r.$set_once)?s:{}),h)}:{}),elements_chain:null!=(n=null==(o=e.properties)?void 0:o.$elements_chain)?n:"",distinct_id:null==(a=e.properties)?void 0:a.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:l}}ff(e){var t;let i=null==(t=e.tagName)?void 0:t.toLowerCase();return"style"===i&&this._instance.config.prepare_external_dependency_stylesheet?this._instance.config.prepare_external_dependency_stylesheet(e)||(aT.error("prepare_external_dependency_stylesheet returned null"),null):"script"===i&&this._instance.config.prepare_external_dependency_script?this._instance.config.prepare_external_dependency_script(e)||(aT.error("prepare_external_dependency_script returned null"),null):e}pf(){var e,t,i,s,r,n,o,a;if(!this._instance.config.prepare_external_dependency_stylesheet&&!this._instance.config.prepare_external_dependency_script)return()=>{};let l=null==d?void 0:d.defaultView,u=null==l||null==(e=l.Node)?void 0:e.prototype;if(!l||!u)return()=>{};if(this.hf++,this.gf)return this.mf();let h=[],c=this,p=new WeakSet,f=(e,t,i)=>{if(!(null==e?void 0:e[t]))return;let s=e[t];e[t]=i(s),h.push(()=>{e[t]=s})},g=e=>{if(p.has(e))return e;let t=c.ff(e);return t&&p.add(t),t},v=e=>e.map(e=>"string"==typeof e?e:g(e)).filter(e=>!W(e));return f(u,"appendChild",e=>function(t){let i=g(t);return i?e.call(this,i):t}),f(u,"insertBefore",e=>function(t,i){let s=g(t);return s?e.call(this,s,i):t}),f(u,"replaceChild",e=>function(t,i){let s=g(t);return s?e.call(this,s,i):i}),[null==(t=l.Element)?void 0:t.prototype,null==(i=l.Document)?void 0:i.prototype,null==(s=l.DocumentFragment)?void 0:s.prototype].forEach(e
2=>{f(e,"append",e=>function(...t){return e.apply(this,v(t))}),f(e,"prepend",e=>function(...t){return e.apply(this,v(t))})}),[null==(r=l.Element)?void 0:r.prototype,null==(n=l.CharacterData)?void 0:n.prototype,null==(o=l.DocumentType)?void 0:o.prototype].forEach(e=>{f(e,"before",e=>function(...t){return e.apply(this,v(t))}),f(e,"after",e=>function(...t){return e.apply(this,v(t))}),f(e,"replaceWith",e=>function(...t){let i=v(t);return t.length&&!i.length?void 0:e.apply(this,i)})}),f(null==(a=l.Element)?void 0:a.prototype,"insertAdjacentElement",e=>function(t,i){let s=g(i);return s?e.call(this,t,s):null}),this.gf=()=>{h.forEach(e=>e()),this.gf=void 0},this.mf()}mf(){let e=!1;return()=>{var t;e||(e=!0,this.hf--,0===this.hf&&(null==(t=this.gf)||t.call(this)))}}yf(e,t=!0){let i=this.pf();try{let s=e(i);return t&&i(),s}catch(e){throw i(),e}}setupSiteApp(e){let t=this.apps[e.id],i=()=>{var i;!t.errored&&this.cf.length&&(aT.info(`Processing ${this.cf.length} events for site app with id ${e.id}`),this.cf.forEach(e=>this.yf(()=>{var i;return null==(i=t.processEvent)?void 0:i.call(t,e)})),t.processedBuffer=!0),Object.values(this.apps).every(e=>e.processedBuffer||e.errored)&&(null==(i=this.vf)||i.call(this))},s=!1,r=r=>{t.errored=!r,t.loaded=!0,aT.info(`Site app with id ${e.id} ${r?"loaded":"errored"}`),s&&i()};try{let{processEvent:i}=this.yf(t=>e.init({posthog:this._instance,callback(e){t(),r(e)}}),!1);i&&(t.processEvent=i),s=!0}catch(t){aT.error(aA+e.id,t),r(!1)}if(s&&t.loaded)try{i()}catch(i){aT.error(`Error while processing buffered events PostHog app with config id ${e.id}`,i),t.errored=!0}}bf(){let e=this.siteAppLoaders||[];for(let t of e)this.apps[t.id]={id:t.id,loaded:!1,errored:!1,processedBuffer:!1};for(let t of e)this.setupSiteApp(t)}_f(e){if(0===Object.keys(this.apps).length)return;let t=this.globalsForEvent(e);for(let i of Object.values(this.apps))try{this.yf(()=>{var e;return null==(e=i.processEvent)?void 0:e.call(i,t)})}catch(t){aT.error(`Error while processing event ${e.event} for site app ${i.id}`,t)}}onRemoteConfig(e){var t,i,s,r,n;if(null==(t=this.siteAppLoaders)?void 0:t.length)return this.isEnabled?(this.bf(),void this._instance.on("eventCaptured",e=>this._f(e))):void aT.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if(null==(i=this.vf)||i.call(this),!e.ok)return;let o=e.config;if(null==(s=o.siteApps)?void 0:s.length)if(this.isEnabled)for(let{id:e,url:t}of o.siteApps)w[`__$$ph_site_app_${e}`]=this._instance,null==(r=w.__PosthogExtensions__)||null==(n=r.loadSiteApp)||n.call(r,this._instance,t,t=>{if(t)return aT.error(aA+e,t)});else aT.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}}),lm),{tracingHeaders:class{constructor(e){this._instance=e,this.wf=void 0,this.kf=void 0,this.Sf=void 0,this.Lv=()=>{var e,t;let i=this.xf();i?(H(this.wf)&&(this.wf=null==(e=w.__PosthogExtensions__)||null==(e=e.tracingHeadersPatchFns)?void 0:e._patchXHR(i,()=>this._instance.get_distinct_id(),this._instance.sessionManager)),H(this.kf)&&(this.kf=null==(t=w.__PosthogExtensions__)||null==(t=t.tracingHeadersPatchFns)?void 0:t._patchFetch(i,()=>this._instance.get_distinct_id(),this._instance.sessionManager))):this.zv()}}initialize(){this.startIfEnabledOrStop()}No(e){var t,i,s;(null==(t=w.__PosthogExtensions__)?void 0:t.tracingHeadersPatchFns)?e():null==(i=w.__PosthogExtensions__)||null==(s=i.loadExternalDependency)||s.call(i,this._instance,"tracing-headers",t=>{if(t)return aw.error("failed to load script",t);e()})}Cf(){var e,t;return null!=(e=null!=(t=this._instance.config.tracing_headers)?t:this._instance.config.addTracingHeaders)?e:this._instance.config.__add_tracing_headers}xf(){let e=this.Cf();return j(e)?(j(this.Sf)?this.Sf.splice(0,this.Sf.length,...e):this.Sf=[...e],e.length>0?this.Sf:void 0):(j(this.Sf)&&this.Sf.splice(0),this.Sf=e||void 0,this.Sf)}zv(){var e,t;null==(e=this.wf)||e.call(this),null==(t=this.kf)||t.call(this),this.wf=void 0,this.kf=void 0}startIfEnabledOrStop(){this.xf()?this.No(this.Lv):this.zv()}}}),{toolbar:class{constructor(e){this.instance=e}$f(e){w.ph_toolbar_state=e}Tf(){var e;return null!=(e=w.ph_toolbar_state)?e:0}initialize(){return this.maybeLoadToolbar()}maybeLoadToolbar(e,t,i){var s,r;if(sB(this.instance.config)||!u||!d)return!1;e=null!=(s=e)?s:u.location,i=null!=(r=i)?r:u.history;try{let s;if(!t){try{u.localStorage.setItem("test","test"),u.localStorage.removeItem("test")}catch(e){return!1}t=null==u?void 0:u.localStorage}let r=aW||r5(e.hash,"__posthog")||r5(e.hash,"state"),n=r?tf(()=>JSON.parse(atob(decodeURIComponent(r))))||tf(()=>JSON.parse(decodeURIComponent(r))):null;return n&&"ph_authorize"===n.action?((s=n).source="url",s&&Object.keys(s).length>0&&(n.desiredHash?e.hash=n.desiredHash:i?i.replaceState(i.state,"",e.pathname+e.search):e.hash="")):((s=JSON.parse(t.getItem(aU)||"{}")).source="localstorage",delete s.userIntent),!(!s.token||this.instance.config.token!==s.token||(this.loadToolbar(s),0))}catch(e){return!1}}If(e){let t=w.ph_load_toolbar||w.ph_load_editor;!U(t)&&B(t)?t(e,this.instance):aK.warn("No toolbar load function found")}loadToolbar(e){let t=!!(null==d?void 0:d.getElementById("__POSTHOG_TOOLBAR__"));if(!u||t)return!1;let i="custom"===this.instance.requestRouter.region&&this.instance.config.advanced_disable_toolbar_metrics,s=tb(tb({token:this.instance.config.token},e),{},{apiURL:this.instance.requestRouter.endpointFor("ui")},i?{instrument:!1}:{});if(u.localStorage.setItem(aU,JSON.stringify(tb(tb({},s),{},{source:void 0}))),2===this.Tf())this.If(s);else if(0===this.Tf()){var r,n;this.$f(1),null==(r=w.__PosthogExtensions__)||null==(n=r.loadExternalDependency)||n.call(r,this.instance,"toolbar",e=>{e?(aK.error("[Toolbar] Failed to load",e),this.$f(0)):(this.$f(2),this.If(s))}),sj(u,"turbolinks:load",()=>{this.$f(0),this.loadToolbar(s)})}return!0}Mf(e){return this.loadToolbar(e)}maybeLoadEditor(e,t,i){return this.maybeLoadToolbar(e,t,i)}}}),ly),{conversations:class{constructor(e){this._instance=e,this.Lf=void 0,this._conversationsManager=null,this.Nf=!1,this.ne=null,this.qf=!1}initialize(){this.loadIfEnabled()}onRemoteConfig(e){if(this._instance.config.disable_conversations||(this.jf=e.ok,!e.ok))return;let t=e.config.conversations;U(t)||(J(t)?this.Lf=t:(this.Lf=t.enabled,this.ne=t),this.loadIfEnabled())}reset(){var e;null==(e=this._conversationsManager)||e.reset(),this._conversationsManager=null,this.Lf=void 0,this.ne=null,this.jf=void 0,this.qf=!1}loadIfEnabled(){if(this._conversationsManager||this.Nf||this._instance.config.disable_conversations||sB(this._instance.config)||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())return;let e=null==w?void 0:w.__PosthogExtensions__;if(e&&!H(this.Lf)&&this.Lf)if(this.ne&&this.ne.token){this.Nf=!0;try{let t=e.initConversations;if(t)return this.Bf(t),void(this.Nf=!1);let i=e.loadExternalDependency;if(!i)return void this.Hf(sw);i(this._instance,"conversations",t=>{t||!e.initConversations?this.Hf("Could not load conversations script",t):this.Bf(e.initConversations),this.Nf=!1})}catch(e){this.Hf("Error initializing conversations",e),this.Nf=!1}}else li.error("Conversations enabled but missing token in remote config.")}Bf(e){if(this.ne)try{this._conversationsManager=e(this.ne,this._instance),this.qf=!1,li.info("Conversations loaded successfully")}catch(e){this.Hf("Error completing conversations initialization",e)}else li.error("Cannot complete initialization: remote config is null")}Hf(e,t){li.error(e,t),this._conversationsManager=null,this.Nf=!1,this.qf=!0}show(){this._conversationsManager?this._conversationsManager.show():li.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return!0===this.Lf&&!W(this._conversationsManager)}getUnavailableReason(){return this.isAvailable()?null:this._instance.config.disable_conversations?"disabled_by_config":sB(this._instance.config)?"disabled_for_toolbar":this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut()?"consent_opted_out":!1===this.jf?"remote_config_failed":H(this.Lf)?this.jf?"disabled_in_project":"remote_config_pending":this.Lf?U(this.ne)||!this.ne.token?"missing_token":(null==w?void 0:w.__PosthogExtensions__)?this.Nf?"initializing":this.qf?"load_failed":"not_loaded":"extensions_unavailable":"disabled_in_project"}isVisible(){var e,t;return null!=(e=null==(t=this._conversationsManager)?void 0:t.isVisible())&&e}sendMessage(e,t,i){var s=this;return ea(function*(){return s._conversationsManager?s._conversationsManager.sendMessage(e,t,i):(li.warn(ls),null)})()}getMessages(e,t){var i=this;return ea(function*(){return i._conversationsManager?i._conversationsManager.getMessages(e,t):(li.warn(ls),null)})()}markAsRead(e){var t=this;return ea(function*(){return t._conversationsManager?t._conversationsManager.markAsRead(e):(li.warn(ls),null)})()}getTickets(e){var t=this;return ea(function*(){return t._conversationsManager?t._conversationsManager.getTickets(e):(li.warn(ls),null)})()}requestRestoreLink(e){var t=this;return ea(function*(){return t._conversationsManager?t._conversationsManager.requestRestoreLink(e):(li.warn(ls),null)})()}restoreFromToken(e){var t=this;return ea(function*(){return t._conversationsManager?t._conversationsManager.restoreFromToken(e):(li.warn(ls),null)})()}restoreFromUrlToken(){var e=this;return ea(function*(){return e._conversationsManager?e._conversationsManager.restoreFromUrlToken():(li.warn(ls),null)})()}getCurrentTicketId(){var e,t;return null!=(e=null==(t=this._conversationsManager)?void 0:t.getCurrentTicketId())?e:null}getWidgetSessionId(){var e,t;return null!=(e=null==(t=this._conversationsManager)?void 0:t.getWidgetSessionId())?e:null}yh(){var e;null==(e=this._conversationsManager)||e.setIdentity()}bh(){var e;null==(e=this._conversationsManager)||e.clearIdentity()}}}),{logs:class{constructor(e){var t;this._instance=e,this.name="logs",this.zf=!1,this.Uf=!1,this.Wf=!1,this.$=ik("[logs]"),this.Vf=tb(tb({},this.$),{},{error:(...e)=>{e.some(lh)||this.$.error(...e)}}),this.ia=[],this.Gf=[],this.rd=0,this.So=!1,this.Zf=[],this.Qf=[],this.Jf=!1,this.Kf=!1,this.Xf=()=>{var e,t;this.So||(this.rd=0,null==(e=this.Yf)||e.onReconnect(),null==(t=this.tp)||t.onReconnect())},this._instance&&(null==(t=this._instance.config.logs)?void 0:t.captureConsoleLogs)&&(this.zf=!0),u&&sj(u,"online",this.Xf)}ep(e,t,i,s){var r;let n=lr(null==(r=this._instance)||null==(r=r.config)?void 0:r.logs,i);return[new i_(this.np(e,t),n,this.Vf,()=>this.sp(),e=>e(),void 0,s),n]}rp(){var e,t;let i=null==(e=this._instance)||null==(e=e.config)?void 0:e.logs;return this.Yf&&this.op===i||(null==(t=this.Yf)||t.reset(),this.op=i,[this.Yf,this.lp]=this.ep(()=>this.ia,e=>{this.ia=e})),this.Yf}ap(){var e,t;let i=null==(e=this._instance)||null==(e=e.config)?void 0:e.logs;return this.tp&&this.up===i||(null==(t=this.tp)||t.reset(),this.up=i,[this.tp,this.hp]=this.ep(()=>this.Gf,e=>{this.Gf=e},{serviceNameDefault:"posthog-browser-logs",consoleCapture:!0},la)),this.tp}setup(e){var t;if(this.So)return;this.po=e,(null==(t=this._instance)||null==(t=t.config)||null==(t=t.logs)?void 0:t.captureConsoleLogs)&&(this.zf=!0),(this.zf||this.cp()&&this.dp())&&this.vp();let i=!1,s=e.onRemoteConfig(e=>{var t;i=e.ok&&!0===(null==(t=e.config.logs)?void 0:t.captureConsoleLogs),this.onRemoteConfig(e)});this.So?s.dispose():(this.$o=s,i||this.loadIfEnabled())}dispose(){var e,t,i,s;this.So||(this.So=!0,this.fp(),null==(e=this.$o)||e.dispose(),this.$o=void 0,this.po=void 0,this.Wf=!1,null==u||u.removeEventListener("online",this.Xf),null==(t=this.pp)||t.call(this),this.pp=void 0,null==(i=this.Yf)||i.reset(),null==(s=this.tp)||s.reset())}onRemoteConfig(e){var t,i;if(this.So)return;let s=e.ok?null==(t=e.config.logs)?void 0:t.captureConsoleLogs:void 0;U(s)?this.gp():(null==(i=this._instance)||null==(i=i.persistence)||i.register({$logs_capture_enabled_server_side:!!s}),s?(this.zf=!0,this.Uf||this.vp(),this.loadIfEnabled()):this.gp())}reset(){var e,t,i,s;this.fp(),null==(e=this.Yf)||e.clearQueue(),this.ia=[],null==(t=this.Yf)||t.reset(),null==(i=this.tp)||i.clearQueue(),this.Gf=[],null==(s=this.tp)||s.reset(),this.rd=0}captureLog(e){this.So||this.rp().captureLog(e)}captureConsoleLog(e){this.So||this.ap().captureLog(e)}captureBufferedConsoleLog(e,t,i){this.So||this.ap().captureLog(e,{context:t,occurredAtMs:i})}dp(){var e;return!!(null==(e=this._instance)||null==(e=e.persistence)||null==(e=e.props)?void 0:e[iU])}cp(){var e,t,i;return!(null==(e=this._instance)||null==(t=e.Xl)?void 0:t.call(e))||!!(null==(i=w._POSTHOG_REMOTE_CONFIG)||null==(i=i[this._instance.config.token])?void 0:i.config)}wh(){var e;this.fp(),null==(e=this.tp)||e.clearQueue(),this.Gf=[]}gp(){this.zf||this.fp()}vp(){var e;if(this.Jf||!(null==w?void 0:w.console))return;let t=lr(null==(e=this._instance)||null==(e=e.config)?void 0:e.logs).maxBufferSize,i=!0;for(let e of(this.Qf.push(()=>{i=!1}
2),ln)){let s;try{s=lo(w.console[e])}catch(e){continue}s&&this.Qf.push(ab(w.console,e,r=>{let n=(...s)=>{try{i&&this.mp(e,s,t)}catch(e){}return r.apply(w.console,s)};return n.__rrweb_original__=s,n}))}this.Jf=!0,this.yp=setTimeout(()=>{this.fp()},3e4)}mp(e,t,i){var s;if(this.Jf&&!this.Kf&&0!==t.length)if(null==(s=this._instance)?void 0:s.is_capturing()){if(i>this.Zf.length){this.Kf=!0;try{this.Zf.push({level:e,args:t,occurredAtMs:Date.now(),context:this.sp()})}finally{this.Kf=!1}}}else this.fp()}fp(){if(this.Zf=[],this.Jf){for(let e of(this.Jf=!1,this.yp&&(clearTimeout(this.yp),this.yp=void 0),this.Qf))e();this.Qf=[]}}bp(){let e=this.Zf;return this.fp(),e}get logger(){return this._p||(this._p={trace:(e,t)=>this.captureLog({body:e,level:"trace",attributes:t}),debug:(e,t)=>this.captureLog({body:e,level:"debug",attributes:t}),info:(e,t)=>this.captureLog({body:e,level:"info",attributes:t}),warn:(e,t)=>this.captureLog({body:e,level:"warn",attributes:t}),error:(e,t)=>this.captureLog({body:e,level:"error",attributes:t}),fatal:(e,t)=>this.captureLog({body:e,level:"fatal",attributes:t})}),this._p}flushLogs(e){e?this.wp(e):(this.Yf&&this.Yf.flush().catch(e=>this.kp(e)),this.tp&&this.tp.flush().catch(e=>this.kp(e)))}kp(e){lh(e)||this.$.error("PostHog logs flush failed:",e)}loadIfEnabled(){if(this.So||!this.zf||this.Uf||this.Wf)return;let e=null==w?void 0:w.__PosthogExtensions__;if(!e)return this.$.error("PostHog Extensions not found."),void this.fp();let t=e.loadExternalDependency;if(!t)return this.$.error(sw),void this.fp();this.Wf=!0;try{t(this._instance,"logs",t=>{if(this.Wf=!1,this.So||!this.zf)return;let i=e.logs;if(!t&&(null==i?void 0:i.initializeLogs)){var s,r,n;let e=this.bp();this.pp=i.initializeLogs(null!=(s=this.po)?s:this._instance),this.Uf=!0,e.length>0&&(null==(r=i.replayConsoleBuffer)||r.call(i,null!=(n=this.po)?n:this._instance,e))}else this.$.error("Could not load logs script",t),this.fp()})}catch(e){throw this.Wf=!1,e}}np(e,t){let i=this._instance;return{get isDisabled(){return!1},get optedOut(){return!i.is_capturing()},getPersistedProperty:t=>t===P.LogsQueue?e():void 0,setPersistedProperty(e,i){e===P.LogsQueue&&t(null!=i?i:[])},js:e=>this.js(e),getLibraryId:()=>$.LIB_NAME,getLibraryVersion:()=>$.LIB_VERSION}}js(e){return new Promise(t=>{if(r6(this.rd,3))return void t({kind:"fatal",error:lu(void 0,"logs endpoint is unreachable, dropping batch")});let i=!1,s=e=>{i||(i=!0,clearTimeout(r),t(e))},r=setTimeout(()=>{this.$.warn("Logs request timed out before receiving a response"),s({kind:"retry-later",error:lu(void 0,"logs request timed out")})},9e4);this._instance._send_request({method:"POST",url:this.Sp(),data:e,compression:"best-available",batchKey:"logs",fireCallbackOnDrop:!0,callback:e=>{let t=e.statusCode;if(this.xp(t),t>=200&&300>t)s({kind:"ok"});else if(413===t)s({kind:"too-large"});else if(0!==t&&408!==t&&429!==t&&500>t)s({kind:"fatal",error:Error(`logs request failed with status ${t}`)});else{var i;0===t?(e.error||this.$.warn("Logs request failed before receiving an HTTP response"),s({kind:"retry-later",error:lu(e.error,"logs request failed before receiving an HTTP response")})):s({kind:"retry-later",error:null!=(i=e.error)?i:Error(`logs request failed with status ${t}`)})}}})})}xp(e){(0!==e||this._instance.__loaded)&&(this.rd=r4(e,this.rd,3,()=>this.$.warn("Log requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped sending logs; will try again when connectivity changes.")))}wp(e){this.ia.length>0&&this.Cp(e,this.ia,this.lp,$.LIB_NAME,e=>{this.ia=e}),this.Gf.length>0&&this.Cp(e,this.Gf,this.hp,la,e=>{this.Gf=e})}Cp(e,t,i,s,r){if(0===t.length)return;let n=t.map(e=>e.record);r([]);let o=id(n,io(i,$.LIB_NAME,$.LIB_VERSION),s,$.LIB_VERSION);this._instance._send_request({method:"POST",url:this.Sp(),data:o,compression:"best-available",batchKey:"logs",transport:e})}Sp(){return this._instance.requestRouter.endpointFor("api","/i/v1/logs")+"?token="+encodeURIComponent(this._instance.config.token)}sp(){var e;let t={};if(t.distinctId=this._instance.get_distinct_id(),this._instance.sessionManager){let{sessionId:e,windowId:i,sessionStartTimestamp:s,lastActivityTimestamp:r}=this._instance.sessionManager.checkAndGetSessionAndWindowId(!0);t.sessionId=e,t.windowId=i,U(s)||(t.sessionStartTimestamp=s),U(r)||(t.lastActivityTimestamp=r)}if((null==w||null==(e=w.location)?void 0:e.href)&&(t.currentUrl=this._instance.config.disable_capture_url_hashes?tp(w.location.href):w.location.href),this._instance.featureFlags){let e=this._instance.featureFlags.getFlags();e&&e.length>0&&(t.activeFeatureFlags=e)}return t}}}),{metrics:class{constructor(e){this._instance=e,this.$=ik("[metrics]"),this.So=!1}initialize(){this.onConfigChange()}onConfigChange(){var e,t;let i,s,r,n;if(this.So)return;let o=!!(null==(e=this._instance.config.metrics)?void 0:e.network);o&&!this.$p?this.$p=(t=this._instance,i=!0,s=()=>{var e;let s;return i?!0===(s=null==(e=t.config.metrics)?void 0:e.network)?{}:s||void 0:void 0},r=B(null==u?void 0:u.fetch)?ab(u,"fetch",e=>function(...i){let r=ld(),n=e.apply(this,i);if(!s())return n;try{var o,a,l;let[e,u]=i,h=lp(null!=(o=null!=(a=null==u?void 0:u.method)?a:null==e?void 0:e.method)?o:"GET",null!=(l=null==e?void 0:e.url)?l:e);return n.then(e=>(lf(t,h,null==e?void 0:e.status,r,s),e),e=>{throw lf(t,h,void 0,r,s),e})}catch(e){return lc.error("Failed to observe fetch",e),n}}):lg,n=((e,t)=>{var i;let s=null==u||null==(i=u.XMLHttpRequest)?void 0:i.prototype;if(!s)return lg;let r=new WeakMap,n=ab(s,"open",e=>function(...t){try{on.has(this)||r.set(this,lp(t[0],t[1]))}catch(e){lc.error("Failed to observe XHR open",e)}return e.apply(this,t)}),o=ab(s,"send",i=>function(...s){let n;try{let i=r.get(this);if(i&&t()){let s=ld();n=()=>{this.removeEventListener("loadend",n),lf(e,i,this.status,s,t)},sj(this,"loadend",n)}}catch(e){lc.error("Failed to observe XHR send",e)}try{return i.apply(this,s)}catch(e){throw n&&this.removeEventListener("loadend",n),e}});return()=>{n(),o()}})(t,s),()=>{i=!1,r(),n()}):!o&&this.$p&&(this.$p(),this.$p=void 0)}rp(){var e,t,i,s,r,n,o;let a,l=null==(e=this._instance)||null==(e=e.config)?void 0:e.metrics;return this.Yf&&this.op===l||(null==(t=this.Yf)||t.reset(),this.op=l,this.Yf=new iw(this.np(),{serviceName:null!=(i=null==(a=null==l?void 0:l.resourceAttributes)?void 0:a["service.name"])?i:null==l?void 0:l.serviceName,serviceVersion:null!=(s=null==a?void 0:a["service.version"])?s:null==l?void 0:l.serviceVersion,environment:null!=(r=null==a?void 0:a["deployment.environment"])?r:null==l?void 0:l.environment,resourceAttributes:a,beforeSend:null==l?void 0:l.beforeSend,flushIntervalMs:null!=(n=null==l?void 0:l.flushIntervalMs)?n:1e4,maxSeriesPerFlush:null!=(o=null==l?void 0:l.maxSeriesPerFlush)?o:1e3},this.$)),this.Yf}count(e,t=1,i){this.rp().count(e,t,i)}
2gauge(e,t,i){this.rp().gauge(e,t,i)}histogram(e,t,i){this.rp().histogram(e,t,i)}flush(e){if(!this.Yf)return Promise.resolve();if(e){let t=this.Yf.drainWindow();return t&&this.Ys(t,e),Promise.resolve()}return this.Yf.flush().catch(e=>this.$.error("PostHog metrics flush failed:",e))}reset(){var e;null==(e=this.Yf)||e.reset()}dispose(){var e,t;this.So=!0,null==(e=this.$p)||e.call(this),this.$p=void 0,null==(t=this.Yf)||t.reset()}np(){let e=this._instance,t=this;return{get isDisabled(){return!1},get optedOut(){return!e.is_capturing()},Ys:e=>t.Ys(e),getLibraryId:()=>$.LIB_NAME,getLibraryVersion:()=>$.LIB_VERSION}}Ys(e,t){return new Promise(i=>{let s=!1,r=e=>{s||(s=!0,clearTimeout(n),i(e))},n=setTimeout(()=>r({kind:"retry-later",error:Error("metrics request timed out")}),9e4);this._instance._send_request(tb(tb({method:"POST",url:this.Tp(),data:e,compression:"best-available",batchKey:"metrics"},t&&{transport:t}),{},{fireCallbackOnDrop:!0,callback(e){let t=e.statusCode;if(t>=200&&300>t)r({kind:"ok"});else if(413===t)r({kind:"too-large"});else if(0!==t&&408!==t&&429!==t&&500>t)r({kind:"fatal",error:Error(`metrics request failed with status ${t}`)});else{var i;r({kind:"retry-later",error:null!=(i=e.error)?i:Error(`metrics request failed with status ${t}`)})}}}))})}Tp(){return this._instance.requestRouter.endpointFor("api","/i/v1/metrics")+"?token="+encodeURIComponent(this._instance.config.token)}}}));let lb=($.SDK_DIST_CHANNEL="npm",l=o5[an]=new ah,function(){function e(){e.done||(e.done=!0,o$=!1,sI(o5,function(e){e._dom_loaded()}))}(null==d?void 0:d.addEventListener)?"complete"===d.readyState?e():sj(d,"DOMContentLoaded",e,{capture:!1}):u&&i$.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")}(),l);e.s(["default",0,lb],69430),e.s(["applyConsent",0,function(e){window.gtag?.("consent","update",{analytics_storage:e.analytics?"granted":"denied",ad_storage:e.ads?"granted":"denied",ad_user_data:e.ads?"granted":"denied",ad_personalization:e.ads?"granted":"denied"});try{e.analytics?lb.opt_in_capturing():lb.opt_out_capturing()}catch{}},"readConsentCookie",0,function(){if("u"<typeof document)return null;let e=document.cookie.match(RegExp("(?:^|; )cookieyes-consent=([^;]*)"));if(!e)return null;try{let t=Object.fromEntries(decodeURIComponent(e[1]).split(",").map(e=>e.split(":")));return{analytics:"yes"===t.analytics,ads:"yes"===t.advertisement}}catch{return null}}],11723)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.