UNPKG

mixpanel-browser

Version:

The official Mixpanel JavaScript browser client library

97 lines 94.1 kB
(function(){function Pb(){function a(){a.done||(Va=a.done=!0,Wa=!1,d.h(S,function(e){e.ee()}))}function b(){try{y.documentElement.doScroll("left")}catch(e){setTimeout(b,1);return}a()}if(y.addEventListener)"complete"===y.readyState?a():y.addEventListener("DOMContentLoaded",a,!1);else if(y.attachEvent){y.attachEvent("onreadystatechange",a);var c=!1;try{c=null===p.frameElement}catch(e){}y.documentElement.doScroll&&c&&b()}d.Id(p,"load",a,!0)}function Qb(){G.init=function(a,b,c){if(c)return G[c]||(G[c]= S[c]=qa(a,b,c),G[c].$a()),G[c];c=G;S.mixpanel?c=S.mixpanel:a&&(c=qa(a,b,"mixpanel"),c.$a(),S.mixpanel=c);G=c;1===ra&&(p.mixpanel=G);Rb()}}function Rb(){d.h(S,function(a,b){"mixpanel"!==b&&(G[b]=a)});G._=d}function Ba(a){a=d.l(a)?a:d.m(a)?{}:{days:a};return d.extend({},Sb,a)}function qa(a,b,c){var e="mixpanel"===c?G:G[c];if(e&&0===ra)var f=e;else{if(e&&!d.isArray(e)){z.error("You have already initialized "+c);return}f=new l}f.Ac={};f.Fa(a,b,c);f.people=new A;f.people.Fa(f);if(!f.g("skip_first_touch_marketing")){b= d.info.Ga(null);var g={},k=!1;d.h(b,function(h,n){(g["initial_"+n]=h)&&(k=!0)});k&&f.people.ua(g)}T=T||f.g("debug");p.dispatchEvent(new p.CustomEvent("$mp_sdk_to_extension_event",{detail:{instance:f,source:0===ra?"module":"snippet",token:a,name:c,info:d.info}}));!d.m(e)&&d.isArray(e)&&(f.yb.call(f.people,e.people),f.yb(e));return f}function l(){}function Ca(a){throw Error(a+" not available in this build.");}function U(a){this.ja=null;this.bg=a}function B(a){this.props={};this.name=a.persistence_name? "mp_"+a.persistence_name:"mp_"+a.token+"_mixpanel";var b=a.persistence;"cookie"!==b&&"localStorage"!==b&&(z.j("Unknown persistence type "+b+"; falling back to cookie"),b=a.persistence="cookie");"localStorage"===b&&d.localStorage.Ia()?this.storage=d.localStorage:this.storage=d.cookie;this.load();this.Zd(a);this.upgrade();this.save()}function A(){}function D(){}function M(a,b){this.ka=b.ka;this.Qa=new O(a,{ka:d.bind(this.s,this),V:b.V,Rd:b.Rd,Sd:b.Sd,C:b.C,Ob:b.Ob});this.U=b.U;this.Jf=b.Kf;this.bb= b.bb;this.Yf=b.Zf;this.Y=this.U.batch_size;this.hb=this.U.batch_flush_interval_ms;this.stopped=!this.U.batch_autostart;this.Lb=0;this.da={};this.$c=b.$c||!1}function Xa(a,b){var c=[];d.h(a,function(e){var f=e.id;f in b?(f=b[f],null!==f&&(e.payload=f,c.push(e))):c.push(e)});return c}function Ya(a,b){var c=[];d.h(a,function(e){e.id&&!b[e.id]&&c.push(e)});return c}function O(a,b){b=b||{};this.va=a;if(this.C=b.C)this.V=b.V||new ia,this.lock=new Za(a,{storage:b.Rd||p.localStorage,uc:b.Sd});this.s=b.ka|| d.bind($a.error,$a);this.pb=b.pb||null;this.M=[];this.ac=!1;this.Je=b.Ob?Tb(d.bind(this.Cc,this),b.Ob):d.bind(function(c){return this.Cc([c])},this)}function ia(a){this.storage=a||p.localStorage}function Za(a,b){b=b||{};this.va=a;this.storage=b.storage||p.localStorage;this.Ed=b.Ed||100;this.uc=b.uc||2E3;this.Gd=b.Gd||E}function sa(){this.Bd="submit"}function ca(){this.Bd="click"}function R(){}function x(a){this.fetch=p.fetch;this.ib=a.ib;this.ma=a.Oe;this.Of=a.Nf;this.Ub=a.Te;this.track=a.pg;this.hc= a.hc||function(){};this.sc=a.sc||""}function Ub(a,b){if(p.__mp_targeting&&"function"===typeof p.__mp_targeting.then)return p.__mp_targeting;p.__mp_targeting=(new Promise(function(c){a(b,c)})).then(function(){var c=p.__mp_targeting;if(c&&"function"===typeof c.then)return c;throw Error("targeting failed to load");}).catch(function(c){delete p.__mp_targeting;throw c;});return p.__mp_targeting}function H(a){this.u=a;this.qa=0;this.Yb=!1;this.Oa=0}function ja(){}function ab(a){var b=Vb,c=a.split("."); c=c[c.length-1];if(4<c.length||"com"===c||"org"===c)b=Wb;return(a=a.match(b))?a[0]:""}function bb(){var a=d.Aa().replace(/-/g,""),b=d.Aa().replace(/-/g,"").substring(0,16);return"00-"+a+"-"+b+"-01"}function Da(a){var b=Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10);return a?b.substring(0,a):b}function Tb(a,b){var c=null,e=[];return function(f){var g=this;e.push(f);c||(c=new E(function(k){setTimeout(function(){var h=a.apply(g,[e]);c=null;e=[];k(h)},b)}));return c}} function ta(a,b){return null===Ea||b?Ea=cb(a||p.localStorage):Ea}function cb(a){var b=!0;try{var c="__mplss_"+Da(8);a.setItem(c,"xyz");"xyz"!==a.getItem(c)&&(b=!1);a.removeItem(c)}catch(e){b=!1}return b}function db(a){a=a.prototype;for(var b in a)"function"===typeof a[b]&&(a[b]=ka(a[b]))}function ka(a){return function(){try{return a.apply(this,arguments)}catch(b){z.j("Implementation error. Please turn on debug and contact support@mixpanel.com."),T&&z.j(b)}}}function la(a){return{log:Fa(z.log,a),error:Fa(z.error, a),j:Fa(z.j,a)}}function Fa(a,b){return function(){arguments[0]="["+b+"] "+arguments[0];return a.apply(z,arguments)}}function ua(a,b){eb.add(a,b);Ga||(Ga=Xb(eb.Ie))}function fb(a){var b=typeof a;if(null!==a&&("object"===b||"function"===b))var c=a.then;return"function"===typeof c?c:!1}function Ha(){for(var a=0;a<this.R.length;a++){var b=void 0,c=void 0,e=1===this.state?this.R[a].cg:this.R[a].Ke,f=this.R[a];try{!1===e?f.reject(this.La):(c=!0===e?this.La:e.call(void 0,this.La),c===f.promise?f.reject(TypeError("Promise-chain cycle")): (b=fb(c))?b.call(c,f.resolve,f.reject):f.resolve(c))}catch(g){f.reject(g)}}this.R.length=0}function gb(a){var b,c=this;if(!c.Va){c.Va=!0;c.gb&&(c=c.gb);try{(b=fb(a))?ua(function(){var e=new hb(c);try{b.call(a,function(){gb.apply(e,arguments)},function(){ma.apply(e,arguments)})}catch(f){ma.call(e,f)}}):(c.La=a,c.state=1,0<c.R.length&&ua(Ha,c))}catch(e){ma.call(new hb(c),e)}}}function ma(a){var b=this;b.Va||(b.Va=!0,b.gb&&(b=b.gb),b.La=a,b.state=2,0<b.R.length&&ua(Ha,b))}function ib(a,b,c,e){for(var f= 0;f<b.length;f++)(function(g){a.resolve(b[g]).then(function(k){c(g,k)},e)})(f)}function hb(a){this.gb=a;this.Va=!1}function Yb(a){this.promise=a;this.state=0;this.Va=!1;this.R=[];this.La=void 0}function V(a){if("function"!==typeof a)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var b=new Yb(this);this.then=function(c,e){var f={cg:"function"===typeof c?c:!0,Ke:"function"===typeof e?e:!1};f.promise=new this.constructor(function(g,k){if("function"!== typeof g||"function"!==typeof k)throw TypeError("Not a function");f.resolve=g;f.reject=k});b.R.push(f);0!==b.state&&ua(Ha,b);return f.promise};this["catch"]=function(c){return this.then(void 0,c)};try{a.call(void 0,function(c){gb.call(b,c)},function(c){ma.call(b,c)})}catch(c){ma.call(b,c)}}function jb(a,b,c){function e(f){z.error(b+" error: "+f)}return{Ia:function(f){(f=c(a,f))||z.error(b+" unsupported");return f},error:e,get:function(f){try{return a.getItem(f)}catch(g){e(g)}return null},parse:function(f){try{return d.za(a.getItem(f))|| {}}catch(g){}return null},set:function(f,g){try{a.setItem(f,g)}catch(k){e(k)}},remove:function(f){try{a.removeItem(f)}catch(g){e(g)}}}}function Ia(a){var b={};a=kb(a).split(" ");for(var c=0;c<a.length;c++){var e=a[c];e&&(b[e]=!0)}return b}function kb(a){switch(typeof a.className){case "string":return a.className;case "object":return a.className.vg||a.getAttribute("class")||"";default:return""}}function Zb(a){if(a.previousElementSibling)return a.previousElementSibling;do a=a.previousSibling;while(a&& (!a||1!==a.nodeType));return a}function lb(a,b,c,e,f,g){var k={$classes:kb(a).split(" "),$tag_name:a.tagName.toLowerCase()},h=a.id;h&&(k.$id=h);Ja(a,b,f,g)&&d.h($b.concat(e),function(n){if(a.hasAttribute(n)&&!c[n]){var r=a.getAttribute(n);va(r)&&(k["$attr-"+n]=r)}});e=b=1;for(f=a;f=Zb(f);)b++,f.tagName===a.tagName&&e++;k.$nth_child=b;k.$nth_of_type=e;return k}function ac(a,b){var c=b.te,e=b.ue||[],f=b.ye,g=b.ze||[],k=b.Ce||!1,h=b.Be||[],n=b.De||!1,r={};d.h(b.xe||[],function(w){r[w]=!0});var q=null, m="undefined"===typeof a.target?a.srcElement:a.target;m&&3===m.nodeType&&(m=m.parentNode);if(bc(m,a)&&Ka(m,a,c,e)&&!La(m,a,f,g)){b=[m];for(var t=m;t.parentNode&&!P(t,"body");)b.push(t.parentNode),t=t.parentNode;var u=[],v,J=!1;d.h(b,function(w){var N=Ja(w,a,c,e);r.href||"a"!==w.tagName.toLowerCase()||(v=w.getAttribute("href"),v=N&&va(v)&&v);La(w,a,f,g)&&(J=!0);u.push(lb(w,a,r,h,c,e))},this);if(!J&&(b=y.documentElement,q={$event_type:a.type,$host:p.location.host,$pathname:p.location.pathname,$elements:u, $el_attr__href:v,$viewportHeight:Math.max(b.clientHeight,p.innerHeight||0),$viewportWidth:Math.max(b.clientWidth,p.innerWidth||0),$pageHeight:y.body.offsetHeight||0,$pageWidth:y.body.offsetWidth||0},d.h(h,function(w){if(!r[w]&&m.hasAttribute(w)){var N=m.getAttribute(w);va(N)&&(q["$el_attr__"+w]=N)}}),k&&(b=mb(m,a,c,e))&&b.length&&(q.$el_text=b),"click"===a.type&&(d.h(cc,function(w){w in a&&(q["$"+w]=a[w])}),n&&(q.$captured_for_heatmap=!0),m=dc(a)),k&&(b=mb(m,a,c,e))&&b.length&&(q.$el_text=b),m)){if(!Ka(m, a,c,e)||La(m,a,f,g))return null;k=lb(m,a,r,h,c,e);q.$target=k;q.$el_classes=k.$classes;d.extend(q,d.wa({$el_id:k.$id,$el_tag_name:k.$tag_name}))}}return q}function mb(a,b,c,e){var f="";Ja(a,b,c,e)&&a.childNodes&&a.childNodes.length&&d.h(a.childNodes,function(g){g&&3===g.nodeType&&g.textContent&&(f+=d.trim(g.textContent).split(/(\s+)/).filter(va).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))});return d.trim(f)}function dc(a){var b=a.target;a=a.composedPath();for(var c=0;c< a.length;c++){var e=a[c];if(P(e,"a")||P(e,"button")||P(e,"input")||P(e,"select")||e.getAttribute&&"button"===e.getAttribute("role")){b=e;break}if(e===b)break}return b}function Ka(a,b,c,e){if(c)try{if(!c(a,b))return!1}catch(f){return C.j("Error while checking element in allowElementCallback",f),!1}if(!e.length)return!0;for(b=0;b<e.length;b++){c=e[b];try{if(a.matches(c))return!0}catch(f){C.j("Error while checking selector: "+c,f)}}return!1}function La(a,b,c,e){if(c)try{if(c(a,b))return!0}catch(f){return C.j("Error while checking element in blockElementCallback", f),!0}if(e&&e.length)for(b=0;b<e.length;b++){c=e[b];try{if(a.matches(c))return!0}catch(f){C.j("Error while checking selector: "+c,f)}}a=Ia(a);for(b=0;b<Ma.length;b++)if(a[Ma[b]])return!0;return!1}function P(a,b){return a&&a.tagName&&a.tagName.toLowerCase()===b.toLowerCase()}function bc(a,b){if(!a||P(a,"html")||!a||1!==a.nodeType)return!1;switch(a.tagName.toLowerCase()){case "form":return"submit"===b.type;case "input":return-1===["button","submit"].indexOf(a.getAttribute("type"))?"change"===b.type: "click"===b.type;case "select":case "textarea":return"change"===b.type;default:return"click"===b.type}}function Ja(a,b,c,e){if(!Ka(a,b,c,e))return!1;for(c=a;c.parentNode&&!P(c,"body");c=c.parentNode)for(e=Ia(c),b=0;b<nb.length;b++)if(e[nb[b]])return!1;c=Ia(a);for(b=0;b<ob.length;b++)if(c[ob[b]])return!0;if(P(a,"input")||P(a,"select")||P(a,"textarea")||"true"===a.getAttribute("contenteditable"))return!1;b=a.type||"";if("string"===typeof b)switch(b.toLowerCase()){case "hidden":return!1;case "password":return!1}a= (a.name||a.id||"").toString().toLowerCase();return"string"===typeof a&&/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(a.replace(/[^a-zA-Z0-9]/g,""))?!1:!0}function va(a){return null===a||d.m(a)||"string"===typeof a&&(a=d.trim(a),/^(?:(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}))$/.test((a||"").replace(/[- ]/g, ""))||/(^\d{3}-?\d{2}-?\d{4}$)/.test(a))?!1:!0}function pb(a){var b="onscrollend"in p,c=ka(a),e="scrollend";if(!b){var f=null;c=ka(function(){clearTimeout(f);f=setTimeout(a,100)});e="scroll"}return{listener:c,Zc:e}}function Na(a){var b=a.tagName.toLowerCase(),c;if(!(c="button"===b||"input"===b||"select"===b||"textarea"===b||"details"===b||"dialog"===b||a.isContentEditable||a.onclick||a.onmousedown||a.onmouseup||a.ontouchstart||a.ontouchend))a:{for(c=0;c<qb.length;c++)if(a.hasAttribute(qb[c])){c=!0; break a}c=!1}c||((c=a.getAttribute("role"))?(c=c.trim().split(/\s+/)[0].toLowerCase(),c=ec[c]):c=!1);return c||"a"===b&&a.hasAttribute("href")||a.hasAttribute("tabindex")?!0:!1}function rb(a){if(!a||!a.tagName)return!0;var b=a.tagName.toLowerCase();if(fc[b])return!0;if(Na(a))return!1;a=a.parentElement;for(var c=0;a&&5>c;){if(Na(a))return!1;if(a.getRootNode&&a.getRootNode()!==y){var e=a.getRootNode();if(e.host&&Na(e.host))return!1}a=a.parentElement;c++}return gc[b]?!0:!1}function sb(a){return"composedPath"in a?a.composedPath():[]}function tb(a){var b=sb(a);return b&&0<b.length?b[0]:a.target||a.srcElement}function ub(){this.ia=[]}function da(a,b){this.Ee=a||function(){};this.wf=b;this.N=null;this.rb=[]}function Q(a){this.aa=[];this.J=this.Ma=null;this.oa=!1;this.dc=0;this.ea=[];this.yd=a;this.ra=!1;this.qb=null}function hc(a,b){vb(!0,a,b)}function ic(a,b){vb(!1,a,b)}function jc(a,b){return"1"===wb(a,b)}function xb(a,b){if(kc(b))return z.warn('This browser has "Do Not Track" enabled. This will prevent the Mixpanel SDK from sending any data. To ignore the "Do Not Track" browser setting, initialize the Mixpanel instance with the config "ignore_dnt: true"'), !0;(a="0"===wb(a,b))&&z.warn("You are opted out of Mixpanel tracking. This will prevent the Mixpanel SDK from sending any data.");return a}function Z(a){return Oa(a,function(b){return this.g(b)})}function W(a){return Oa(a,function(b){return this.K(b)})}function ea(a){return Oa(a,function(b){return this.K(b)})}function lc(a,b){b=b||{};Pa(b).remove(Qa(a,b),!!b.Uc,b.Sc)}function Pa(a){a=a||{};return"localStorage"===a.Dd?d.localStorage:d.cookie}function Qa(a,b){b=b||{};return(b.Cd||"__mp_opt_in_out_")+ a}function wb(a,b){return Pa(b).get(Qa(a,b))}function kc(a){if(a&&a.hd)return!1;a=a&&a.window||p;var b=a.navigator||{},c=!1;d.h([b.doNotTrack,b.msDoNotTrack,a.doNotTrack],function(e){d.includes([!0,1,"1","yes"],e)&&(c=!0)});return c}function vb(a,b,c){d.bc(b)&&b.length?(c=c||{},Pa(c).set(Qa(b,c),a?1:0,d.nf(c.Tc)?c.Tc:null,!!c.Uc,!!c.If,!!c.Fe,c.Sc),c.track&&a&&c.track(c.ig||"$opt_in",c.kg,{send_immediately:!0})):z.error("gdpr."+(a?"optIn":"optOut")+" called with an invalid token")}function Oa(a,b){return function(){var c= !1;try{var e=b.call(this,"token"),f=b.call(this,"ignore_dnt"),g=b.call(this,"opt_out_tracking_persistence_type"),k=b.call(this,"opt_out_tracking_cookie_prefix"),h=b.call(this,"window");e&&(c=xb(e,{hd:f,Dd:g,Cd:k,window:h}))}catch(n){z.error("Unexpected error when checking tracking opt-out status: "+n)}if(!c)return a.apply(this,arguments);c=arguments[arguments.length-1];"function"===typeof c&&c(0)}}var T=!1;if("undefined"===typeof window){var yb={hostname:""};var p={crypto:{yg:function(){throw Error("unsupported"); }},navigator:{userAgent:"",onLine:!0},document:{createElement:function(){return{}},location:yb,referrer:""},screen:{width:0,height:0},location:yb,addEventListener:function(){},removeEventListener:function(){},dispatchEvent:function(){},CustomEvent:function(){}}}else p=window;var zb=p.setImmediate,Ga,Ab=Object.prototype.toString,Xb="undefined"!==typeof zb?function(a){return zb(a)}:setTimeout;try{Object.defineProperty({},"x",{});var aa=function(a,b,c,e){return Object.defineProperty(a,b,{value:c,writable:!0, configurable:!1!==e})}}catch(a){aa=function(b,c,e){b[c]=e;return b}}var eb=function(){function a(f,g){this.Me=f;this.self=g;this.next=void 0}var b,c,e;return{add:function(f,g){e=new a(f,g);c?c.next=e:b=e;c=e;e=void 0},Ie:function(){var f=b;for(b=c=Ga=void 0;f;)f.Me.call(f.self),f=f.next}}}();var Bb=aa({},"constructor",V,!1);V.prototype=Bb;aa(Bb,"__NPO__",0,!1);aa(V,"resolve",function(a){return a&&"object"===typeof a&&1===a.__NPO__?a:new this(function(b,c){if("function"!==typeof b||"function"!==typeof c)throw TypeError("Not a function"); b(a)})});aa(V,"reject",function(a){return new this(function(b,c){if("function"!==typeof b||"function"!==typeof c)throw TypeError("Not a function");c(a)})});aa(V,"all",function(a){var b=this;return"[object Array]"!==Ab.call(a)?b.reject(TypeError("Not an array")):0===a.length?b.resolve([]):new b(function(c,e){if("function"!==typeof c||"function"!==typeof e)throw TypeError("Not a function");var f=a.length,g=Array(f),k=0;ib(b,a,function(h,n){g[h]=n;++k===f&&c(g)},e)})});aa(V,"race",function(a){var b= this;return"[object Array]"!==Ab.call(a)?b.reject(TypeError("Not an array")):new b(function(c,e){if("function"!==typeof c||"function"!==typeof e)throw TypeError("Not a function");ib(b,a,function(f,g){c(g)},e)})});var E="undefined"!==typeof Promise&&-1!==Promise.toString().indexOf("[native code]")?Promise:V;var wa=Array.prototype,Cb=Object.prototype,ba=wa.slice,na=Cb.toString,xa=Cb.hasOwnProperty,I=p.console,X=p.navigator,y=p.document,ya=p.opera,Db=p.screen,K=X.userAgent,Ra=Function.prototype.bind, Eb=wa.forEach,Fb=wa.indexOf,Gb=wa.map,mc=Array.isArray,Sa={},d={trim:function(a){return a.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},z={log:function(){if(T&&!d.m(I)&&I)try{I.log.apply(I,arguments)}catch(a){d.h(arguments,function(b){I.log(b)})}},warn:function(){if(T&&!d.m(I)&&I){var a=["Mixpanel warning:"].concat(d.xa(arguments));try{I.warn.apply(I,a)}catch(b){d.h(a,function(c){I.warn(c)})}}},error:function(){if(T&&!d.m(I)&&I){var a=["Mixpanel error:"].concat(d.xa(arguments));try{I.error.apply(I, a)}catch(b){d.h(a,function(c){I.error(c)})}}},j:function(){if(!d.m(I)&&I){var a=["Mixpanel error:"].concat(d.xa(arguments));try{I.error.apply(I,a)}catch(b){d.h(a,function(c){I.error(c)})}}}};d.bind=function(a,b){var c;if(Ra&&a.bind===Ra)return Ra.apply(a,ba.call(arguments,1));if(!d.na(a))throw new TypeError;var e=ba.call(arguments,2);return c=function(){if(!(this instanceof c))return a.apply(b,e.concat(ba.call(arguments)));var f={};f.prototype=a.prototype;var g=new f;f.prototype=null;f=a.apply(g, e.concat(ba.call(arguments)));return Object(f)===f?f:g}};d.h=function(a,b,c){if(null!==a&&void 0!==a)if(Eb&&a.forEach===Eb)a.forEach(b,c);else if(a.length===+a.length)for(var e=0,f=a.length;e<f&&!(e in a&&b.call(c,a[e],e,a)===Sa);e++);else for(e in a)if(xa.call(a,e)&&b.call(c,a[e],e,a)===Sa)break};d.extend=function(a){d.h(ba.call(arguments,1),function(b){for(var c in b)void 0!==b[c]&&(a[c]=b[c])});return a};d.isArray=mc||function(a){return"[object Array]"===na.call(a)};d.na=function(a){return"function"=== typeof a};d.kf=function(a){return!(!a||!xa.call(a,"callee"))};d.xa=function(a){return a?a.xa?a.xa():d.isArray(a)||d.kf(a)?ba.call(a):d.values(a):[]};d.map=function(a,b,c){if(Gb&&a.map===Gb)return a.map(b,c);var e=[];d.h(a,function(f){e.push(b.call(c,f))});return e};d.keys=function(a){var b=[];if(null===a)return b;d.h(a,function(c,e){b[b.length]=e});return b};d.values=function(a){var b=[];if(null===a)return b;d.h(a,function(c){b[b.length]=c});return b};d.$b=function(a,b){var c=!1;if(null===a)return c; if(Fb&&a.indexOf===Fb)return-1!=a.indexOf(b);d.h(a,function(e){if(c||(c=e===b))return Sa});return c};d.includes=function(a,b){return-1!==a.indexOf(b)};d.kd=function(a,b){a.prototype=new b;a.prototype.constructor=a;a.dg=b.prototype};d.l=function(a){return a===Object(a)&&!d.isArray(a)};d.T=function(a){if(d.l(a)){for(var b in a)if(xa.call(a,b))return!1;return!0}return!1};d.m=function(a){return void 0===a};d.bc=function(a){return"[object String]"==na.call(a)};d.lf=function(a){return"[object Date]"==na.call(a)}; d.nf=function(a){return"[object Number]"==na.call(a)};d.mf=function(a){return!(!a||1!==a.nodeType)};d.Nb=function(a){d.h(a,function(b,c){d.lf(b)?a[c]=d.Ne(b):d.l(b)&&(a[c]=d.Nb(b))});return a};d.timestamp=function(){Date.now=Date.now||function(){return+new Date};return Date.now()};d.Ne=function(a){function b(c){return 10>c?"0"+c:c}return a.getUTCFullYear()+"-"+b(a.getUTCMonth()+1)+"-"+b(a.getUTCDate())+"T"+b(a.getUTCHours())+":"+b(a.getUTCMinutes())+":"+b(a.getUTCSeconds())};d.wa=function(a){var b= {};d.h(a,function(c,e){d.bc(c)&&0<c.length&&(b[e]=c)});return b};d.truncate=function(a,b){if("string"===typeof a)var c=a.slice(0,b);else d.isArray(a)?(c=[],d.h(a,function(e){c.push(d.truncate(e,b))})):d.l(a)?(c={},d.h(a,function(e,f){c[f]=d.truncate(e,b)})):c=a;return c};d.yc=function(){return function(a){function b(e,f){var g="";var k="";var h=g;(f=f[e])&&"object"===typeof f&&"function"===typeof f.toJSON&&(f=f.toJSON(e));switch(typeof f){case "string":return c(f);case "number":return isFinite(f)? String(f):"null";case "boolean":case "null":return String(f);case "object":if(!f)return"null";g+=" ";e=[];if("[object Array]"===na.apply(f)){var n=f.length;for(k=0;k<n;k+=1)e[k]=b(k,f)||"null";return n=0===e.length?"[]":g?"[\n"+g+e.join(",\n"+g)+"\n"+h+"]":"["+e.join(",")+"]"}for(k in f)xa.call(f,k)&&(n=b(k,f))&&e.push(c(k)+(g?": ":":")+n);return n=0===e.length?"{}":g?"{"+e.join(",")+h+"}":"{"+e.join(",")+"}"}}function c(e){var f=/[\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, g={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};f.lastIndex=0;return f.test(e)?'"'+e.replace(f,function(k){var h=g[k];return"string"===typeof h?h:"\\u"+("0000"+k.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}return b("",{"":a})}}();d.za=function(){function a(){switch(h){case "t":return f("t"),f("r"),f("u"),f("e"),!0;case "f":return f("f"),f("a"),f("l"),f("s"),f("e"),!1;case "n":return f("n"),f("u"),f("l"),f("l"),null}g('Unexpected "'+h+'"')}function b(){for(;h&& " ">=h;)f()}function c(){var m,t="",u;if('"'===h)for(;f();){if('"'===h)return f(),t;if("\\"===h)if(f(),"u"===h){for(m=u=0;4>m;m+=1){var v=parseInt(f(),16);if(!isFinite(v))break;u=16*u+v}t+=String.fromCharCode(u)}else if("string"===typeof n[h])t+=n[h];else break;else t+=h}g("Bad string")}function e(){var m="";"-"===h&&(m="-",f("-"));for(;"0"<=h&&"9">=h;)m+=h,f();if("."===h)for(m+=".";f()&&"0"<=h&&"9">=h;)m+=h;if("e"===h||"E"===h){m+=h;f();if("-"===h||"+"===h)m+=h,f();for(;"0"<=h&&"9">=h;)m+=h,f()}m= +m;if(isFinite(m))return m;g("Bad number")}function f(m){m&&m!==h&&g("Expected '"+m+"' instead of '"+h+"'");h=r.charAt(k);k+=1;return h}function g(m){m=new SyntaxError(m);m.ug=k;m.text=r;throw m;}var k,h,n={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r;var q=function(){b();switch(h){case "{":a:{var m={};if("{"===h){f("{");b();if("}"===h){f("}");var t=m;break a}for(;h;){t=c();b();f(":");Object.hasOwnProperty.call(m,t)&&g('Duplicate key "'+t+'"');m[t]=q();b();if("}"===h){f("}");t= m;break a}f(",");b()}}g("Bad object");t=void 0}return t;case "[":a:{t=[];if("["===h){f("[");b();if("]"===h){f("]");break a}for(;h;){t.push(q());b();if("]"===h){f("]");break a}f(",");b()}}g("Bad array");t=void 0}return t;case '"':return c();case "-":return e();default:return"0"<=h&&"9">=h?e():a()}};return function(m){r=m;k=0;h=" ";m=q();b();h&&g("Syntax error");return m}}();d.we=function(a){var b=0,c=0,e=[];if(!a)return a;a=d.tg(a);do{var f=a.charCodeAt(b++);var g=a.charCodeAt(b++);var k=a.charCodeAt(b++); var h=f<<16|g<<8|k;f=h>>18&63;g=h>>12&63;k=h>>6&63;h&=63;e[c++]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(f)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(k)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)}while(b<a.length);b=e.join("");switch(a.length%3){case 1:b=b.slice(0,-2)+"==";break;case 2:b=b.slice(0,-1)+"="}return b};d.tg= function(a){a=(a+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n");var b="",c,e;var f=c=0;var g=a.length;for(e=0;e<g;e++){var k=a.charCodeAt(e),h=null;128>k?c++:h=127<k&&2048>k?String.fromCharCode(k>>6|192,k&63|128):String.fromCharCode(k>>12|224,k>>6&63|128,k&63|128);null!==h&&(c>f&&(b+=a.substring(f,c)),b+=h,f=c=e+1)}c>f&&(b+=a.substring(f,a.length));return b};d.Aa=function(){try{return p.crypto.randomUUID()}catch(c){for(var a=Array(36),b=0;36>b;b++)a[b]=Math.floor(16*Math.random());a[14]=4;a[19]=a[19]&= -5;a[19]=a[19]|=8;a[8]=a[13]=a[18]=a[23]="-";return d.map(a,function(e){return e.toString(16)}).join("")}};var Hb="ahrefsbot;ahrefssiteaudit;amazonbot;baiduspider;bingbot;bingpreview;chrome-lighthouse;facebookexternal;petalbot;pinterest;screaming frog;yahoo! slurp;yandex;adsbot-google;apis-google;duplexweb-google;feedfetcher-google;google favicon;google web preview;google-read-aloud;googlebot;googleweblight;mediapartners-google;storebot-google".split(";");d.ld=function(a){var b;a=a.toLowerCase(); for(b=0;b<Hb.length;b++)if(-1!==a.indexOf(Hb[b]))return!0;return!1};d.ub=function(a){var b,c,e,f=[];d.m(b)&&(b="&");d.h(a,function(g,k){c=encodeURIComponent(g.toString());e=encodeURIComponent(k);f[f.length]=e+"="+c});return f.join(b)};d.Vb=function(a,b){b=b.replace(/[[]/g,"\\[").replace(/[\]]/g,"\\]");a=(new RegExp("[\\?&]"+b+"=([^&#]*)")).exec(a);if(null===a||a&&"string"!==typeof a[1]&&a[1].length)return"";a=a[1];try{a=decodeURIComponent(a)}catch(c){z.error("Skipping decoding for malformed query param: "+ a)}return a.replace(/\+/g," ")};d.cookie={get:function(a){a+="=";for(var b=y.cookie.split(";"),c=0;c<b.length;c++){for(var e=b[c];" "==e.charAt(0);)e=e.substring(1,e.length);if(0===e.indexOf(a))return decodeURIComponent(e.substring(a.length,e.length))}return null},parse:function(a){try{var b=d.za(d.cookie.get(a))||{}}catch(c){}return b},zg:function(a,b,c,e,f,g,k){var h="",n="",r="";k?h="; domain="+k:e&&(h=(h=ab(y.location.hostname))?"; domain=."+h:"");c&&(n=new Date,n.setTime(n.getTime()+1E3*c),n= "; expires="+n.toGMTString());g&&(f=!0,r="; SameSite=None");f&&(r+="; secure");y.cookie=a+"="+encodeURIComponent(b)+n+"; path=/"+h+r},set:function(a,b,c,e,f,g,k){var h="",n="",r="";k?h="; domain="+k:e&&(h=(h=ab(y.location.hostname))?"; domain=."+h:"");c&&(n=new Date,n.setTime(n.getTime()+864E5*c),n="; expires="+n.toGMTString());g&&(f=!0,r="; SameSite=None");f&&(r+="; secure");a=a+"="+encodeURIComponent(b)+n+"; path=/"+h+r;return y.cookie=a},remove:function(a,b,c){d.cookie.set(a,"",-1,b,!1,!1,c)}}; var Ea=null,Ta=null,Ib=null,Jb=null;try{Ib=p.localStorage,Jb=p.sessionStorage}catch(a){}d.localStorage=jb(Ib,"localStorage",ta);d.sessionStorage=jb(Jb,"sessionStorage",function(a,b){return null===Ta||b?Ta=cb(a||p.sessionStorage):Ta});d.Id=function(){function a(c,e,f){return function(g){if(g=g||b(p.event)){var k=!0,h;d.na(f)&&(h=f(g));g=e.call(c,g);if(!1===h||!1===g)k=!1;return k}}}function b(c){c&&(c.preventDefault=b.preventDefault,c.stopPropagation=b.stopPropagation);return c}b.preventDefault=function(){this.returnValue= !1};b.stopPropagation=function(){this.cancelBubble=!0};return function(c,e,f,g,k){c?c.addEventListener&&!g?c.addEventListener(e,f,!!k):(e="on"+e,c[e]=a(c,f,c[e])):z.error("No valid element provided to register_event")}}();var nc=/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/;d.He=function(){function a(f){return f.all?f.all:f.getElementsByTagName("*")}function b(f,g){g=" "+g+" ";return 0<=(" "+f.className+" ").replace(e," ").indexOf(g)}function c(f){if(!y.getElementsByTagName)return[];f=f.split(" "); var g,k,h,n,r=[y];for(k=0;k<f.length;k++){var q=f[k].replace(/^\s+/,"").replace(/\s+$/,"");if(-1<q.indexOf("#")){var m=q.split("#");q=m[0];r=y.getElementById(m[1]);if(!r||q&&r.nodeName.toLowerCase()!=q)return[];r=[r]}else if(-1<q.indexOf(".")){m=q.split(".");q=m[0];var t=m[1];q||(q="*");m=[];for(h=g=0;h<r.length;h++){var u="*"==q?a(r[h]):r[h].getElementsByTagName(q);for(n=0;n<u.length;n++)m[g++]=u[n]}r=[];for(h=q=0;h<m.length;h++)m[h].className&&d.bc(m[h].className)&&b(m[h],t)&&(r[q++]=m[h])}else if(m= q.match(nc)){q=m[1];var v=m[2];t=m[3];var J=m[4];q||(q="*");m=[];for(h=g=0;h<r.length;h++)for(u="*"==q?a(r[h]):r[h].getElementsByTagName(q),n=0;n<u.length;n++)m[g++]=u[n];r=[];q=0;switch(t){case "=":t=function(w){return w.getAttribute(v)==J};break;case "~":t=function(w){return w.getAttribute(v).match(new RegExp("\\b"+J+"\\b"))};break;case "|":t=function(w){return w.getAttribute(v).match(new RegExp("^"+J+"-?"))};break;case "^":t=function(w){return 0===w.getAttribute(v).indexOf(J)};break;case "$":t= function(w){return w.getAttribute(v).lastIndexOf(J)==w.getAttribute(v).length-J.length};break;case "*":t=function(w){return-1<w.getAttribute(v).indexOf(J)};break;default:t=function(w){return w.getAttribute(v)}}r=[];for(h=q=0;h<m.length;h++)t(m[h])&&(r[q++]=m[h])}else{m=[];for(h=g=0;h<r.length;h++)for(u=r[h].getElementsByTagName(q),n=0;n<u.length;n++)m[g++]=u[n];r=m}}return r}var e=/[\t\r\n]/g;return function(f){return d.mf(f)?[f]:d.l(f)&&!d.m(f.length)?f:c.call(this,f)}}();var oc="utm_source utm_medium utm_campaign utm_content utm_term utm_id utm_source_platform utm_campaign_id utm_creative_format utm_marketing_tactic".split(" "), pc="dclid fbclid gclid ko_click_id li_fat_id msclkid sccid ttclid twclid wbraid".split(" ");d.info={Ga:function(a){var b="",c={};d.h(oc,function(e){b=d.Vb(y.URL,e);b.length?c[e]=b:void 0!==a&&(c[e]=a)});return c},Rc:function(){var a="",b={};d.h(pc,function(c){a=d.Vb(y.URL,c);a.length&&(b[c]=a)});return b},qf:function(){return d.extend(d.info.Ga(),d.info.Rc())},Gf:function(a){return 0===a.search("https?://(.*)google.([^/?]*)")?"google":0===a.search("https?://(.*)bing.com")?"bing":0===a.search("https?://(.*)yahoo.com")? "yahoo":0===a.search("https?://(.*)duckduckgo.com")?"duckduckgo":null},Hf:function(a){var b=d.info.Gf(a),c={};null!==b&&(c.$search_engine=b,a=d.Vb(a,"yahoo"!=b?"q":"p"),a.length&&(c.mp_keyword=a));return c},cb:function(a,b,c){b=b||"";return c||d.includes(a," OPR/")?d.includes(a,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(a)?"BlackBerry":d.includes(a,"IEMobile")||d.includes(a,"WPDesktop")?"Internet Explorer Mobile":d.includes(a,"SamsungBrowser/")?"Samsung Internet":d.includes(a, "Edge")||d.includes(a,"Edg/")?"Microsoft Edge":d.includes(a,"FBIOS")?"Facebook Mobile":d.includes(a,"Whale/")?"Whale Browser":d.includes(a,"Chrome")?"Chrome":d.includes(a,"CriOS")?"Chrome iOS":d.includes(a,"UCWEB")||d.includes(a,"UCBrowser")?"UC Browser":d.includes(a,"FxiOS")?"Firefox iOS":d.includes(b,"Apple")?d.includes(a,"Mobile")?"Mobile Safari":"Safari":d.includes(a,"Android")?"Android Mobile":d.includes(a,"Konqueror")?"Konqueror":d.includes(a,"Firefox")?"Firefox":d.includes(a,"MSIE")||d.includes(a, "Trident/")?"Internet Explorer":d.includes(a,"Gecko")?"Mozilla":""},Kb:function(a,b,c){b={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edge?\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/, BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Samsung Internet":/SamsungBrowser\/(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/,"Whale Browser":/Whale\/(\d+(\.\d+)?)/}[d.info.cb(a,b,c)];return void 0===b?null:(a=a.match(b))?parseFloat(a[a.length-2]):null},Ad:function(){return/Windows/i.test(K)?/Phone/.test(K)||/WPDesktop/.test(K)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(K)?"iOS":/Android/.test(K)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(K)? "BlackBerry":/Mac/i.test(K)?"Mac OS X":/Linux/.test(K)?"Linux":/CrOS/.test(K)?"Chrome OS":""},Yc:function(a){return/Windows Phone/i.test(a)||/WPDesktop/.test(a)?"Windows Phone":/iPad/.test(a)?"iPad":/iPod/.test(a)?"iPod Touch":/iPhone/.test(a)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(a)?"BlackBerry":/Android/.test(a)?"Android":""},Hd:function(a){a=a.split("/");return 3<=a.length?a[2]:""},Z:function(){return p.location.href},Pa:function(a){"object"!==typeof a&&(a={});return d.extend(d.wa({$os:d.info.Ad(), $browser:d.info.cb(K,X.vendor,ya),$referrer:y.referrer,$referring_domain:d.info.Hd(y.referrer),$device:d.info.Yc(K)}),{$current_url:d.info.Z(),$browser_version:d.info.Kb(K,X.vendor,ya),$screen_height:Db.height,$screen_width:Db.width,mp_lib:"web",$lib_version:"2.75.0",$insert_id:Da(),time:d.timestamp()/1E3},d.wa(a))},zf:function(){return d.extend(d.wa({$os:d.info.Ad(),$browser:d.info.cb(K,X.vendor,ya)}),{$browser_version:d.info.Kb(K,X.vendor,ya)})},sf:function(){return d.wa({current_page_title:y.title, current_domain:p.location.hostname,current_url_path:p.location.pathname,current_url_protocol:p.location.protocol,current_url_search:p.location.search})}};var Wb=/[a-z0-9][a-z0-9-]*\.[a-z]+$/i,Vb=/[a-z0-9][a-z0-9-]+\.[a-z.]{2,6}$/i,fa=null,za=null;"undefined"!==typeof JSON&&(fa=JSON.stringify,za=JSON.parse);fa=fa||d.yc;za=za||d.za;d.info=d.info;d.info.browser=d.info.cb;d.info.browserVersion=d.info.Kb;d.info.device=d.info.Yc;d.info.properties=d.info.Pa;d.isBlockedUA=d.ld;d.isEmptyObject=d.T;d.isObject= d.l;d.JSONDecode=d.za;d.JSONEncode=d.yc;d.toArray=d.xa;d.NPO=V;var cc="clientX clientY offsetX offsetY pageX pageY screenX screenY x y".split(" "),ob=["mp-include"],Ma=["mp-no-track"],nb=Ma.concat(["mp-sensitive"]),$b="aria-label aria-labelledby aria-describedby href name role title type".split(" "),ec={button:!0,checkbox:!0,combobox:!0,grid:!0,link:!0,listbox:!0,menu:!0,menubar:!0,menuitem:!0,menuitemcheckbox:!0,menuitemradio:!0,navigation:!0,option:!0,radio:!0,radiogroup:!0,searchbox:!0,slider:!0, spinbutton:!0,"switch":!0,tab:!0,tablist:!0,textbox:!0,tree:!0,treegrid:!0,treeitem:!0},fc={base:!0,head:!0,html:!0,link:!0,meta:!0,script:!0,style:!0,title:!0,br:!0,hr:!0,wbr:!0,noscript:!0,picture:!0,source:!0,template:!0,track:!0},gc={article:!0,div:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,p:!0,section:!0,span:!0},qb="onclick onmousedown onmouseup onpointerdown onpointerup ontouchend ontouchstart".split(" "),C=la("autocapture");ub.prototype.pf=function(a,b){b=b||{};var c=b.threshold_px||30,e=b.timeout_ms|| 1E3,f=b.click_count||4;if(b.interactive_elements_only&&(b=tb(a),!b||rb(b)))return!1;b=Date.now();var g=a.pageX;a=a.pageY;var k=this.ia[this.ia.length-1];if(k&&b-k.timestamp<e&&Math.sqrt(Math.pow(g-k.x,2)+Math.pow(a-k.y,2))<c){if(this.ia.push({x:g,y:a,timestamp:b}),this.ia.length>=f)return this.ia=[],!0}else this.ia=[{x:g,y:a,timestamp:b}];return!1};da.prototype.Qe=function(a){if(this.N)return tb(a)};da.prototype.uf=function(a){if(this.N){a=sb(a);for(var b=0;b<a.length;b++){var c=a[b];c&&c.shadowRoot&& this.vf(c.shadowRoot)}}};da.prototype.vf=function(a){if(this.N&&!this.N.has(a)){var b=this;try{this.N.add(a);var c=new window.MutationObserver(function(){b.Ee()});c.observe(a,this.wf);this.rb.push(c)}catch(e){C.j("Error while observing shadow root",e)}}};da.prototype.start=function(){this.N||("undefined"!==typeof WeakSet?this.N=new WeakSet:C.j("Shadow DOM observation unavailable: WeakSet not supported"))};da.prototype.stop=function(){if(this.N){for(var a=0;a<this.rb.length;a++)try{this.rb[a].disconnect()}catch(b){C.j("Error while disconnecting shadow DOM observer", b)}this.rb=[];this.N=null}};var qc=["change","input","submit","select","toggle"],rc=["scrollend"],sc=["hashchange"],Kb={characterData:!0,childList:!0,subtree:!0,attributes:!0,attributeFilter:"style class hidden checked selected value display visibility".split(" ")};Q.prototype.pe=function(a){var b=this.J&&this.J.Qe(a);b||(b=a.target||a.srcElement);if(!b||rb(b))return!1;this.J&&this.J.uf(a);this.ea.push({element:b,event:a,timestamp:Date.now()});return!0};Q.prototype.hg=function(a,b){this.oa&&this.pe(a)&& this.qg(b)};Q.prototype.Pe=function(a){if(0===this.ea.length)return[];a=a.timeout_ms;var b=Date.now(),c=this.ea.slice();this.ea=[];for(var e=[],f=0;f<c.length;f++){var g=c[f];b-g.timestamp>=a?this.Ye(g.timestamp)||e.push(g):this.ea.push(g)}return e};Q.prototype.Ye=function(a){return this.dc>=a-100};Q.prototype.sa=function(){this.dc=Date.now()};Q.prototype.qg=function(a){this.ra||(this.ra=!0,this.Fd(a))};Q.prototype.Fd=function(a){if(this.oa&&this.yd){var b=this;this.qb=setTimeout(function(){if(b.ra){for(var c= b.Pe(a),e=0;e<c.length;e++)b.yd(c[e].event);0<b.ea.length?b.Fd(a):b.ra=!1}},a.timeout_ms)}else this.ra=!1};Q.prototype.Wf=function(){if(!this.oa){this.oa=!0;var a=this;qc.forEach(function(c){function e(){a.sa()}document.addEventListener(c,e,{capture:!0,passive:!0});a.aa.push({target:document,event:c,jb:e,options:{capture:!0,passive:!0}})});sc.forEach(function(c){function e(){a.sa()}window.addEventListener(c,e);a.aa.push({target:window,event:c,jb:e})});rc.forEach(function(c){function e(){a.sa()}window.addEventListener(c, e,{passive:!0});a.aa.push({target:window,event:c,jb:e,options:{passive:!0}})});var b=function(){a.sa()};document.addEventListener("selectionchange",b);a.aa.push({target:document,event:"selectionchange",jb:b});if(window.MutationObserver)try{this.Ma=new window.MutationObserver(function(){a.sa()}),this.Ma.observe(document.body||document.documentElement,Kb)}catch(c){C.j("Error while setting up mutation observer",c)}if(window.customElements)try{this.J=new da(function(){a.sa()},Kb),this.J.start()}catch(c){C.j("Error while setting up shadow DOM observer", c),this.J=null}}};Q.prototype.ag=function(){if(this.oa){this.oa=!1;this.ea=[];this.dc=0;this.ra=!1;this.qb&&(clearTimeout(this.qb),this.qb=null);for(var a=0;a<this.aa.length;a++){var b=this.aa[a];try{b.target.removeEventListener(b.event,b.jb,b.options)}catch(c){C.j("Error while removing event listener",c)}}this.aa=[];if(this.Ma){try{this.Ma.disconnect()}catch(c){C.j("Error while disconnecting mutation observer",c)}this.Ma=null}if(this.J){try{this.J.stop()}catch(c){C.j("Error while stopping shadow DOM observer", c)}this.J=null}}};var Lb={allow_selectors:[],allow_url_regexes:[],block_attrs:[],block_element_callback:null,block_selectors:[],block_url_regexes:[],capture_extra_attrs:[],capture_text_content:!1,scroll_capture_all:!1,scroll_depth_percent_checkpoints:[25,50,75,100],click:!0,dead_click:!0,input:!0,pageview:"full-url",rage_click:!0,scroll:!0,page_leave:!1,submit:!0},oa={$mp_autocapture:!0};H.prototype.B=function(){try{var a=!!y.createElement("div").matches}catch(b){a=!1}a?(this.df(),this.ef(),this.$e(), this.af(),this.bf(),this.gf(),this.hf(),this.ff(),this.cf()):C.j("Autocapture unavailable: missing required DOM APIs")};H.prototype.Tb=function(){var a=this.u.g("autocapture");return a?d.l(a)?d.extend({},Lb,a):Lb:{}};H.prototype.o=function(a){return this.Tb()[a]};H.prototype.S=function(){var a,b=d.info.Z(),c=this.o("allow_url_regexes")||[];if(c.length){var e=!1;for(a=0;a<c.length;a++){var f=c[a];try{if(b.match(f)){e=!0;break}}catch(g){return C.j("Error while checking block URL regex: "+f,g),!0}}if(!e)return!0}c= this.o("block_url_regexes")||[];if(!c||!c.length)return!1;for(a=0;a<c.length;a++)try{if(b.match(c[a]))return!0}catch(g){return C.j("Error while checking block URL regex: "+c[a],g),!0}return!1};H.prototype.kc=function(){return this.u.g("autocapture")?this.o("pageview"):this.u.g("track_pageview")};H.prototype.Ua=function(a,b){if(!this.S()){var c=this.u.pa()&&("$mp_click"===b&&!this.o("click")||"$mp_rage_click"===b&&!this.ga("rage_click")||"$mp_dead_click"===b&&!this.ga("dead_click"));if(a=ac(a,{te:this.o("allow_element_callback"), ue:this.o("allow_selectors"),xe:this.o("block_attrs"),ye:this.o("block_element_callback"),ze:this.o("block_selectors"),Be:this.o("capture_extra_attrs"),Ce:this.o("capture_text_content"),De:c}))d.extend(a,oa),this.u.track(b,a)}};H.prototype.df=function(){p.removeEventListener("popstate",this.ud);p.removeEventListener("hashchange",this.pd);if(this.kc()||this.o("page_leave")||this.u.g("record_heatmap_data")){this.ud=function(){p.dispatchEvent(new Event("mp_locationchange"))};this.pd=function(){p.dispatchEvent(new Event("mp_locationchange"))}; p.addEventListener("popstate",this.ud);p.addEventListener("hashchange",this.pd);var a=p.history.pushState;"function"===typeof a&&(p.history.pushState=function(c,e,f){a.call(p.history,c,e,f);p.dispatchEvent(new Event("mp_locationchange"))});var b=p.history.replaceState;"function"===typeof b&&(p.history.replaceState=function(c,e,f){b.call(p.history,c,e,f);p.dispatchEvent(new Event("mp_locationchange"))})}};H.prototype.ga=function(a){return(a=this.o(a))?!0===a?{}:"object"===typeof a?a:{}:null};H.prototype.Lc= function(a,b,c){if(!this.Yb&&(this.o("page_leave")||this.u.pa())){this.Yb=!0;var e=Math.max(y.documentElement.clientHeight,p.innerHeight||0),f=Math.round(Math.max(this.qa-e,0)/(c-e)*100),g=Math.round(e/c*100);c<=e&&(g=f=100);a=d.extend({$max_scroll_view_depth:this.qa,$max_scroll_percentage:f,$fold_line_percentage:g,$scroll_height:c,$event_type:a.type,$current_url:b||d.info.Z(),$viewportHeight:e,$viewportWidth:Math.max(y.documentElement.clientWidth,p.innerWidth||0),$captured_for_heatmap:this.u.pa()}, oa);this.u.track("$mp_page_leave",a,{sb:"sendBeacon"})}};H.prototype.ke=function(){p.removeEventListener("scroll",this.fc);p.removeEventListener("scrollend",this.fc);if(this.u.g("record_heatmap_data")){C.log("Initializing scroll depth tracking");this.qa=Math.max(y.documentElement.clientHeight,p.innerHeight||0);var a=function(){if(!this.S()){var b=Math.max(y.documentElement.clientHeight,p.innerHeight||0)+p.scrollY;b>this.qa&&(this.qa=b);this.Oa=y.body.scrollHeight}}.bind(this);a=pb(a);this.fc=a.listener; p.addEventListener(a.Zc,this.fc)}};H.prototype.$e=function(){p.removeEventListener("click",this.od);if(this.o("click")||this.u.g("record_heatmap_data"))C.log("Initializing click tracking"),this.od=function(a){(this.o("click")||this.u.pa())&&this.Ua(a,"$mp_click")}.bind(this),p.addEventListener("click",this.od)};H.prototype.af=function(){this.ga("dead_click")||this.u.g("record_heatmap_data")?(C.log("Initializing dead click tracking"),this.fa||(this.fa=new Q(function(a){this.Ua(a,"$mp_dead_click")}.bind(this)), this.fa.Wf()),this.Ja||(this.Ja=function(a){var b=this.ga("dead_click");!b&&!this.u.pa()||this.S()||(b=b||{},b.timeout_ms||(b.timeout_ms=500),this.fa.hg(a,b))}.bind(this),p.addEventListener("click",this.Ja))):this.$f()};H.prototype.bf=function(){p.removeEventListener("change",this.nd);this.o("input")&&(C.log("Initializing input tracking"),this.nd=function(a){this.o("input")&&this.Ua(a,"$mp_input_change")}.bind(this),p.addEventListener("change",this.nd))};H.prototype.ef=function(){p.removeEventListener("mp_locationchange", this.qd);if(this.kc()){C.log("Initializing pageview tracking");var a="",b=!1;this.S()||(b=this.u.vc(oa));b&&(a=d.info.Z());this.qd=ka(function(){if(!this.S()){var c=d.info.Z(),e=!1,f=c.split("#")[0].split("?")[0]!==a.split("#")[0].split("?")[0],g=this.kc();"full-url"===g?e=c!==a:"url-with-path-and-query-string"===g?e=c.split("#")[0]!==a.split("#")[0]:"url-with-path"===g&&(e=f);e&&(this.u.vc(oa)&&(a=c),f&&(this.mb=0,C.log("Path change: re-initializing scroll depth checkpoints")))}}.bind(this));p.addEventListener("mp_locationchange", this.qd)}};H.prototype.ff=function(){p.removeEventListener("click",this.vd);if(this.ga("rage_click")||this.u.g("record_heatmap_data"))C.log("Initializing rage click tracking"),this.Ic||(this.Ic=new ub),this.vd=function(a){var b=this.ga("rage_click");if(b||this.u.pa())this.S()||this.Ic.pf(a,b)&&this.Ua(a,"$mp_rage_click")}.bind(this),p.addEventListener("click",this.vd)};H.prototype.gf=function(){p.removeEventListener("scrollend",this.ec);p.removeEventListener("scroll",this.ec);if(this.o("scroll")){C.log("Initializing scroll tracking"); this.mb=0;var a=function(){if(this.o("scroll")&&!this.S()){var b=this.o("scroll_capture_all"),c=(this.o("scroll_depth_percent_checkpoints")||[]).slice().sort(function(n,r){return n-r}),e=p.scrollY,f=d.extend({$scroll_top:e},oa);try{var g=y.body.scrollHeight,k=Math.round(e/(g-p.innerHeight)*100);f.$scroll_height=g;f.$scroll_percentage=k;if(k>this.mb)for(e=0;e<c.length;e++){var h=c[e];k>=h&&this.mb<h&&(this.mb=f.$scroll_checkpoint=h,b=!0)}}catch(n){C.j("Error while calculating scroll percentage",n)}b&& this.u.track("$mp_scroll",f)}}.bind(this);a=pb(a);this.ec=a.listener;p.addEventListener(a.Zc,this.ec)}};H.prototype.hf=function(){p.removeEventListener("submit",this.wd);this.o("submit")&&(C.log("Initializing submit tracking"),this.wd=function(a){this.o("submit")&&this.Ua(a,"$mp_submit")}.bind(this),p.addEventListener("submit",this.wd))};H.prototype.cf=function(){y.removeEventListener("visibilitychange",this.sd);p.removeEventListener("mp_locationchange",this.rd);p.removeEventListener("load",this.td); if(this.o("page_leave")||this.u.g("record_heatmap_data")){C.log("Initializing page visibility tracking.");this.ke();var a=d.info.Z();this.td=function(){this.Oa=y.body.scrollHeight}.bind(this);p.addEventListener("load",this.td);this.rd=ka(function(b){if(!this.S()){var c=d.info.Z();c!==a&&(this.Lc(b,a,this.Oa),a=c,this.qa=Math.max(y.documentElement.clientHeight,p.innerHeight||0),this.Oa=y.body.scrollHeight,this.Yb=!1)}}.bind(this));p.addEventListener("mp_locationchange",this.rd);this.sd=function(b){y.hidden&& this.Lc(b,a,this.Oa)}.bind(this);y.addEventListener("visibilitychange",this.sd)}};H.prototype.$f=function(){this.Ja&&(p.removeEventListener("click",this.Ja),this.Ja=null);this.fa&&(this.fa.ag(),this.fa=null)};db(H);var F=la("flags"),Mb={context:{}};x.prototype.B=function(){this.rf()?(this.flags=null,this.Rb(),this.Vd=new Set,this.Na={},this.ha={}):F.j("Feature Flags unavailable: missing minimum required APIs")};x.prototype.Tb=function(){var a=this.ma("flags");return a?d.l(a)?d.extend({},Mb,a):Mb: {}};x.prototype.o=function(a){return this.Tb()[a]};x.prototype.cc=function(){return!!this.ma("flags")};x.prototype.rg=function(a,b){if(!this.cc())return F.j("Feature Flags not enabled, cannot update context"),Promise.resolve();var c=this.ma("flags");d.l(c)||(c={});b=b&&b.replace?{}:this.o("context");c.context=d.extend({},b,a);this.Of("flags",c);return this.Rb()};x.prototype.Mc=function(){this.cc()||F.error("Feature Flags not enabled");return!!this.flags};x.prototype.Rb=function(){if(!this.cc())return Promise.resolve(); var a=this.Ub("distinct_id"),b=this.Ub("$device_id"),c=bb();F.log("Fetching flags for distinct ID: "+a);a=d.extend({distinct_id:a,device_id:b},this.o("context"));b=new URLSearchParams;b.set("context",JSON.stringify(a));b.set("token",this.ma("token"));b.set("mp_lib","web");b.set("$lib_version","2.75.0");a=this.ib()+"?"+b.toString();this.zb=Date.now();return this.Sb=this.fetch.call(p,a,{method:"GET",headers:{Authorization:"Basic "+btoa(this.ma("token")+":"),traceparent:c}}).then(function(e){this.ic(); return e.json().then(function(f){var g=f.flags;if(!g)throw Error("No flags in API response");var k=new Map,h={};d.h(g,function(n,r){var q=!1,m=r+":";d.h(this.ha,function(t,u){u.startsWith(m)&&(q=!0)});q?(n=this.flags&&this.flags.get(r))&&k.set(r,n):k.set(r,{key:n.variant_key,value:n.variant_value,experiment_id:n.experiment_id,is_experiment_active:n.is_experiment_active,is_qa_tester:n.is_qa_tester})},this);(f=f.pending_first_time_events)&&0<f.length&&d.h(f,function(n){var r=n.flag_key,q=r+":"+n.first_time_event_hash; this.ha[q]||(h[q]={flag_key:r,flag_id:n.flag_id,project_id:n.project_id,first_time_event_hash:n.first_time_event_hash,event_name:n.event_name,property_filters:n.property_filters,pending_variant:n.pending_variant})},this);this.ha&&d.h(this.ha,function(n,r){r=r.split(":")[0];n&&!k.has(r)&&this.flags&&this.flags.has(r)&&k.set(r,this.flags.get(r))},this);this.flags=k;this.Na=h;this.oe=c;this.me()}.bind(this)).catch(function(f){this.ic();F.error(f)}.bind(this))}.bind(this)).catch(function(e){this.ic(); F.error(e)}.bind(this))};x.prototype.ic=function(){this.zb?(this.Fc=this.zb,this.Ec=Date.now(),this.ge=this.Ec-this.Fc,this.zb=null):F.error("Fetch in progress started time not set, cannot mark fetch complete")};x.prototype.me=function(){var a=!1;d.h(this.Na,function(b){b.property_filters&&!d.T(b.property_filters)&&(a=!0)});a&&this.ad().then(function(){F.log("targeting loaded for property filter evaluation")})};x.prototype.ad=function(){return Ub(this.hc.bind(this),this.sc).catch(function(a){F.error("Failed to load targeting: "+ a)}.bind(this))};x.prototype.Oc=function(a,b){this.Na&&!d.T(this.Na)&&(p.__mp_targeting&&d.na(p.__mp_targeting.then)?p.__mp_targeting.then(function(c){this.Eb(a,b,c)}.bind(this)).catch(function(){this.Eb(a,b,null)}.bind(this)):this.Eb(a,b,null))};x.prototype.Eb=function(a,b,c){d.h(this.Na,function(e,f){if(!this.ha[f]){var g=e.flag_key;if(c||!e.property_filters||d.T(e.property_filters)){var k=c?c.eventMatchesCriteria(a,b,{event_name:e.event_name,property_filters:e.property_filters}):{matches:a===e.event_name, error:null};k.error?F.error('Error checking first-time event for flag "'+g+'": '+k.error):k.matches&&(F.log('First-time event matched for flag "'+g+'": '+a),this.flags.set(g,{key:e.pending_variant.variant_key,value:e.pending_variant.variant_value,experiment_id:e.pending_variant.experiment_id,is_experiment_active:e.pending_variant.is_experiment_active}),this.ha[f]=!0,this.Af(e.flag_id,e.project_id,e.first_time_event_hash))}else F.warn('Skipping event check for "'+g+'" - property filters require targeting library')}}, this)};x.prototype.Se=function(a){return this.ib()+"/"+a+"/first-time-events"};x.prototype.Af=function(a,b,c){var e=this.Ub("distinct_id"),f=bb(),g=new URLSearchParams;g.set("mp_lib","web");g.set("$lib_version","2.75.0");g=this.Se(a)+"?"+g.toString();b={distinct_id:e,project_id:b,first_time_event_hash:c};F.log("Recording first-time event for flag: "+a);this.fetch.call(p,g,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Basic "+btoa(this.ma("token")+":"),traceparent:f},body:JSON.stringify(b)}).catch(function(k){F.error("Failed to record first-time event for flag "+ a+": "+k)})};x.prototype.bd=function(a,b){return this.Sb?this.Sb.then(function(){return this.Wb(a,b)}.bind(this)).catch(function(c){F.error(c);return b}):new Promise(function(c){F.j("Feature Flags not initialized");c(b)})};x.prototype.Wb=function(a,b){if(!this.Mc())return F.log("Flags not loaded yet"),b;var c=this.flags.get(a);if(!c)return F.log('No flag found: "'+a+'"'),b;this.jg(a,c);return c};x.prototype.Xb=function(a,b){return this.bd(a,{value:b}).then(function(c){return c.value}).catch(function(c){F.error(c); return b})};x.prototype.Re=function(a,b){F.j("mixpanel.flags.get_feature_data() is deprecated and will be removed in a future release. Use mixpanel.flags.get_variant_value() instead.");return this.Xb(a,b)};x.prototype.cd=function(a,