countly-sdk-web 26.1.0 → 26.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/cypress/e2e/bridged_utils.cy.js +1 -1
- package/cypress/e2e/device_id_change.cy.js +45 -0
- package/cypress/e2e/sdk_info.cy.js +1 -1
- package/examples/example_quick_async.html +63 -0
- package/examples/quick_loader/quick_async_loader.js +152 -0
- package/examples/quick_loader/quick_async_loader.min.js +4 -0
- package/lib/countly.js +330 -2
- package/lib/countly.min.js +251 -241
- package/package.json +3 -2
package/lib/countly.min.js
CHANGED
|
@@ -1,246 +1,256 @@
|
|
|
1
1
|
/*
|
|
2
2
|
regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
(function(
|
|
4
|
-
Promise.resolve(
|
|
5
|
-
a.enumerable||!1;a.configurable=!0;"value"in a&&(a.writable=!0);Object.defineProperty(p,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.create(n),m}var h,t="function"==typeof Symbol?Symbol:{},c=t.iterator||"@@iterator",
|
|
9
|
-
(
|
|
10
|
-
}p=String(p)}return"symbol"==typeof p?p:p+""}function
|
|
11
|
-
var r=Date.now().toString();return p+r}function
|
|
12
|
-
typeof w[p])return w[p];return v}function
|
|
13
|
-
r.length;
|
|
14
|
-
r);return crypto.subtle.digest("SHA-256",p).then(function(v){return Array.from(new Uint8Array(v)).map(function(a){return a.toString(16).padStart(2,"0")}).join("").toUpperCase()})}function M(p,r,v){D&&(null===p||"undefined"===typeof p?
|
|
15
|
-
window.event.srcElement}function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
3
|
+
(function(ab,xb){"object"===typeof exports&&"undefined"!==typeof module?xb(exports):"function"===typeof define&&define.amd?define(["exports"],xb):(ab="undefined"!==typeof globalThis?globalThis:ab||self,xb(ab.Countly=ab.Countly||{}))})(this,function(ab){function xb(p,r,v){if("function"==typeof p?p===r:p.has(r))return 3>arguments.length?r:v;throw new TypeError("Private element is not present on this object");}function zd(p,r,v,a,E,h,t){try{var c=p[h](t),d=c.value}catch(g){return void v(g)}c.done?r(d):
|
|
4
|
+
Promise.resolve(d).then(a,E)}function Xc(p){return function(){var r=this,v=arguments;return new Promise(function(a,E){function h(d){zd(c,a,E,h,t,"next",d)}function t(d){zd(c,a,E,h,t,"throw",d)}var c=p.apply(r,v);h(void 0)})}}function b(p,r){return p.get(xb(p,r))}function q(p,r,v){if(r.has(p))throw new TypeError("Cannot initialize the same private elements twice on an object");r.set(p,v)}function l(p,r,v){return p.set(xb(p,r),v),v}function Ad(p,r){for(var v=0;v<r.length;v++){var a=r[v];a.enumerable=
|
|
5
|
+
a.enumerable||!1;a.configurable=!0;"value"in a&&(a.writable=!0);Object.defineProperty(p,Bd(a.key),a)}}function y(p,r,v){return(r=Bd(r))in p?Object.defineProperty(p,r,{value:v,enumerable:!0,configurable:!0,writable:!0}):p[r]=v,p}function bb(){function p(m,u,x,C){u=Object.create((u&&u.prototype instanceof r?u:r).prototype);return ma(u,"_invoke",function(G,R,X){function J(A,N){K=A;aa=N;for(k=0;!W&&ia&&!ra&&k<Ha.length;k++){var ra,na=Ha[k],Yc=ba.p,jc=na[2];3<A?(ra=jc===N)&&(aa=na[(K=na[4])?5:(K=3,3)],
|
|
6
|
+
na[4]=na[5]=h):na[0]<=Yc&&((ra=2>A&&Yc<na[1])?(K=0,ba.v=N,ba.n=na[1]):Yc<jc&&(ra=3>A||na[0]>N||N>jc)&&(na[4]=A,na[5]=N,ba.n=jc,K=0))}if(ra||1<A)return g;throw W=!0,N;}var S,K,aa,ia=0,Ha=X||[],W=!1,ba={p:0,n:0,v:h,a:J,f:J.bind(h,4),d:function(A,N){return S=A,K=0,aa=h,ba.n=N,g}};return function(A,N,ra){if(1<ia)throw TypeError("Generator is already running");W&&1===N&&J(N,ra);K=N;for(aa=ra;(k=2>K?h:aa)||!W;){S||(K?3>K?(1<K&&(ba.n=-1),J(K,aa)):ba.n=aa:ba.v=aa);try{if(ia=2,S){if(K||(A="next"),k=S[A]){if(!(k=
|
|
7
|
+
k.call(S,aa)))throw TypeError("iterator result is not an object");if(!k.done)return k;aa=k.value;2>K&&(K=0)}else 1===K&&(k=S.return)&&k.call(S),2>K&&(aa=TypeError("The iterator does not provide a '"+A+"' method"),K=1);S=h}else if((k=(W=0>ba.n)?aa:G.call(R,ba))!==g)break}catch(na){S=h,K=1,aa=na}finally{ia=1}}return{value:k,done:W}}}(m,x,C),!0),u}function r(){}function v(){}function a(){}function E(m){return Object.setPrototypeOf?Object.setPrototypeOf(m,a):(m.__proto__=a,ma(m,d,"GeneratorFunction")),
|
|
8
|
+
m.prototype=Object.create(n),m}var h,t="function"==typeof Symbol?Symbol:{},c=t.iterator||"@@iterator",d=t.toStringTag||"@@toStringTag",g={};var k=Object.getPrototypeOf;t=[][c]?k(k([][c]())):(ma(k={},c,function(){return this}),k);var n=a.prototype=r.prototype=Object.create(t);return v.prototype=a,ma(n,"constructor",a),ma(a,"constructor",v),v.displayName="GeneratorFunction",ma(a,d,"GeneratorFunction"),ma(n),ma(n,d,"Generator"),ma(n,c,function(){return this}),ma(n,"toString",function(){return"[object Generator]"}),
|
|
9
|
+
(bb=function(){return{w:p,m:E}})()}function ma(p,r,v,a){var E=Object.defineProperty;try{E({},"",{})}catch(h){E=0}ma=function(h,t,c,d){function g(k,n){ma(h,k,function(m){return this._invoke(k,n,m)})}t?E?E(h,t,{value:c,enumerable:!d,configurable:!d,writable:!d}):h[t]=c:(g("next",0),g("throw",1),g("return",2))};ma(p,r,v,a)}function Bd(p){a:if("object"==typeof p&&p){var r=p[Symbol.toPrimitive];if(void 0!==r){p=r.call(p,"string");if("object"!=typeof p)break a;throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
10
|
+
}p=String(p)}return"symbol"==typeof p?p:p+""}function T(p){"@babel/helpers - typeof";return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},T(p)}function Cd(p){var r=[];if("undefined"!==typeof p.options)for(var v=0;v<p.options.length;v++)p.options[v].selected&&r.push(p.options[v].value);return r.join(", ")}function Zc(){var p=Dd("xxxxxxxx","[x]");
|
|
11
|
+
var r=Date.now().toString();return p+r}function $c(){return Dd("xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx","[xy]")}function Dd(p,r){var v=(new Date).getTime();return p.replace(new RegExp(r,"g"),function(a){var E=(v+16*Math.random())%16|0;return("x"===a?E:E&3|8).toString(16)})}function L(){return Math.floor((new Date).getTime()/1E3)}function yb(){var p=(new Date).getTime();kc>=p?kc++:kc=p;return kc}function z(p,r,v){if(r&&Object.keys(r).length){if("undefined"!==typeof r[p])return r[p]}else if("undefined"!==
|
|
12
|
+
typeof w[p])return w[p];return v}function ad(p,r,v){for(var a in w.i)w.i[a].tracking_crashes&&w.i[a].recordError(p,r,v)}function bd(p,r){for(var v=[],a=Object.keys(p||{}).sort(),E=0;E<a.length;E++){var h=a[E];v.push(h+"="+encodeURIComponent(p[h]))}var t=v.join("&");return r?Ed(t,r).then(function(c){return t+="&checksum256="+c.toUpperCase()}):Promise.resolve(t)}function cb(p){return"string"===typeof p&&"/"===p.substring(p.length-1)?p.substring(0,p.length-1):p}function Tb(p,r){for(var v={},a,E=0,h=
|
|
13
|
+
r.length;E<h;E++)a=r[E],"undefined"!==typeof p[a]&&(v[a]=p[a]);return v}function Ia(p,r,v,a,E,h){var t={};if(p){if(Object.keys(p).length>a){var c={},d=0,g;for(g in p)d<a&&(c[g]=p[g],d++);p=c}for(var k in p)a=I(k,r,E,h),c=I(p[k],v,E,h),t[a]=c}return t}function I(p,r,v,a){var E=p;"number"===typeof p&&(p=p.toString());"string"===typeof p&&p.length>r&&(E=p.substring(0,r),a(f.DEBUG,v+", Key: [ "+p+" ] is longer than accepted length. It will be truncated."));return E}function Ed(p,r){p=(new TextEncoder).encode(p+
|
|
14
|
+
r);return crypto.subtle.digest("SHA-256",p).then(function(v){return Array.from(new Uint8Array(v)).map(function(a){return a.toString(16).padStart(2,"0")}).join("").toUpperCase()})}function M(p,r,v){D&&(null===p||"undefined"===typeof p?lc()&&console.warn("[WARNING] [Countly] add_event_listener, Can't bind ["+r+"] event to nonexisting element"):"undefined"!==typeof p.addEventListener?p.addEventListener(r,v,!1):p.attachEvent("on"+r,v))}function mc(p){return p?"undefined"!==typeof p.target?p.target:p.srcElement:
|
|
15
|
+
window.event.srcElement}function db(p){if(p)return p;(p=navigator.userAgent)||(p=cd());return p}function cd(p){if(p)return p;p="";navigator.userAgentData&&(p=navigator.userAgentData.brands.map(function(r){return r.brand+":"+r.version}).join(),p+=navigator.userAgentData.mobile?" mobi ":" ",p+=navigator.userAgentData.platform);return p}function se(p){if("string"!==typeof p||!p)return null;p=parseInt(p.split(".")[0],10);return isNaN(p)?null:13<=p?"11":"10"}function dd(p){return p&&"function"===typeof p.getHighEntropyValues?
|
|
16
|
+
p.getHighEntropyValues("platform platformVersion architecture bitness model uaFullVersion fullVersionList".split(" ")).then(function(r){if(!r||"object"!==T(r))return null;var v=null,a=null,E=Array.isArray(r.fullVersionList)?r.fullVersionList:[],h=Array.isArray(p.brands)?p.brands:[],t=function(d){return"string"===typeof d?d.toLowerCase().replace(/[^a-z0-9]/g,""):""},c=function(d,g){return d.find(function(k){if(!k||!k.brand)return!1;var n=t(k.brand);return"notabrand"===n||"notabrand99"===n||0===n.indexOf("notabrand")||
|
|
17
|
+
!g&&"chromium"===t(k.brand)?!1:!0})};if(E=c(E,!1)||c(h,!1)||c(E,!0)||c(h,!0))v=E.brand||null,a=E.version||null;r={platform:r.platform||p.platform||null,platformVersion:r.platformVersion||null,architecture:r.architecture||null,bitness:r.bitness||null,model:r.model||null,uaFullVersion:r.uaFullVersion||null,fullVersionList:r.fullVersionList||null,browserName:v,browserVersion:a,windowsVersion:null};r.platform&&"windows"===r.platform.toLowerCase()&&(r.windowsVersion=se(r.platformVersion));return r})["catch"](function(){return null}):
|
|
18
|
+
Promise.resolve(null)}function te(p){return p?dd(p):nc?nc:D&&"undefined"!==typeof navigator&&navigator.userAgentData&&"function"===typeof navigator.userAgentData.getHighEntropyValues?nc=dd(navigator.userAgentData):Promise.resolve(null)}function oc(p){if(!p){if(navigator.userAgentData&&navigator.userAgentData.mobile)return"phone";p=db()}p=p.toLowerCase();var r="desktop",v=/(mobi|ipod|phone|blackberry|opera mini|fennec|minimo|symbian|psp|nintendo ds|archos|skyfire|puffin|blazer|bolt|gobrowser|iris|maemo|semc|teashark|uzard)/;
|
|
19
|
+
/(ipad|tablet|(android(?!.*mobile))|(windows(?!.*phone)(.*touch))|kindle|playbook|silk|(puffin(?!.*(IP|AP|WP))))/.test(p)?r="tablet":v.test(p)&&(r="phone");return r}function Fd(p){var r=/(CountlySiteBot|nuhk|Googlebot|GoogleSecurityScanner|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver|bingbot|Google Web Preview|Mediapartners-Google|AdsBot-Google|Baiduspider|Ezooms|YahooSeeker|AltaVista|AVSearch|Mercator|Scooter|InfoSeek|Ultraseek|Lycos|Wget|YandexBot|Yandex|YaDirectFetcher|SiteBot|Exabot|AhrefsBot|MJ12bot|TurnitinBot|magpie-crawler|Nutch Crawler|CMS Crawler|rogerbot|Domnutch|ssearch_bot|XoviBot|netseer|digincore|fr-crawler|wesee|AliasIO|contxbot|PingdomBot|BingPreview|HeadlessChrome|Lighthouse)/;
|
|
20
|
+
if(p)return r.test(p);p=r.test(db());r=r.test(cd());return p||r}function ed(p){"undefined"===typeof p.pageY&&"number"===typeof p.clientX&&document.documentElement&&(p.pageX=p.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,p.pageY=p.clientY+document.body.scrollTop+document.documentElement.scrollTop);return p}function pc(){var p=document;return Math.max(Math.max(p.body.scrollHeight,p.documentElement.scrollHeight),Math.max(p.body.offsetHeight,p.documentElement.offsetHeight),Math.max(p.body.clientHeight,
|
|
21
|
+
p.documentElement.clientHeight))}function fd(){var p=document;return Math.max(Math.max(p.body.scrollWidth,p.documentElement.scrollWidth),Math.max(p.body.offsetWidth,p.documentElement.offsetWidth),Math.max(p.body.clientWidth,p.documentElement.clientWidth))}function Gd(){var p=document;return Math.min(Math.min(p.body.clientHeight,p.documentElement.clientHeight),Math.min(p.body.offsetHeight,p.documentElement.offsetHeight),window.innerHeight)}function Hd(p,r,v,a,E,h){p=document.createElement(p);var t;
|
|
22
|
+
p.setAttribute(r,v);p.setAttribute(a,E);r=function(){t||h();t=!0};h&&(p.onreadystatechange=r,p.onload=r);document.getElementsByTagName("head")[0].appendChild(p)}function Id(p,r){Hd("script","type","text/javascript","src",p,r)}function qc(p,r){Hd("link","rel","stylesheet","href",p,r)}function Jd(){if(D){var p=document.getElementById("cly-loader");if(!p){var r=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=
|
|
20
23
|
"#cly-loader {height: 4px; width: 100%; position: absolute; z-index: 99999; overflow: hidden; background-color: #fff; top:0px; left:0px;}#cly-loader:before{display: block; position: absolute; content: ''; left: -200px; width: 200px; height: 4px; background-color: #2EB52B; animation: cly-loading 2s linear infinite;}@keyframes cly-loading { from {left: -200px; width: 30%;} 50% {width: 30%;} 70% {width: 70%;} 80% { left: 50%;} 95% {left: 120%;} to {left: 100%;}}":v.appendChild(document.createTextNode("#cly-loader {height: 4px; width: 100%; position: absolute; z-index: 99999; overflow: hidden; background-color: #fff; top:0px; left:0px;}#cly-loader:before{display: block; position: absolute; content: ''; left: -200px; width: 200px; height: 4px; background-color: #2EB52B; animation: cly-loading 2s linear infinite;}@keyframes cly-loading { from {left: -200px; width: 30%;} 50% {width: 30%;} 70% {width: 70%;} 80% { left: 50%;} 95% {left: 120%;} to {left: 100%;}}"));
|
|
21
|
-
r.appendChild(v);p=document.createElement("div");p.setAttribute("id","cly-loader");window.addEventListener("load",function(){if(w.showLoaderProtection)
|
|
22
|
-
!0;var p=document.getElementById("cly-loader");p&&(p.style.display="none")}}function
|
|
23
|
-
50;if(a&&
|
|
24
|
-
CLY_BOOMERANG_SRC:"https://cdn.jsdelivr.net/npm/countly-sdk-web@latest/plugin/boomerang/countly_boomerang.js"},
|
|
25
|
-
D="undefined"!==typeof window,w=globalThis.Countly||{},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
h.
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
r.appendChild(v);p=document.createElement("div");p.setAttribute("id","cly-loader");window.addEventListener("load",function(){if(w.showLoaderProtection)lc()&&console.warn("[WARNING] [Countly] showLoader, Loader is already on");else try{document.body.appendChild(p)}catch(a){lc()&&console.error("[ERROR] [Countly] showLoader, Body is not loaded for loader to append: "+a)}})}p.style.display="block"}}function lc(){return w&&w.debug&&"undefined"!==typeof console?!0:!1}function Kd(){if(D){w.showLoaderProtection=
|
|
25
|
+
!0;var p=document.getElementById("cly-loader");p&&(p.style.display="none")}}function ue(p){var r=document.createElement("script"),v=document.createElement("script");r.async=!0;v.async=!0;r.src=w.customSourceBoomerang||Ld.BOOMERANG_SRC;v.src=w.customSourceCountlyBoomerang||Ld.CLY_BOOMERANG_SRC;document.getElementsByTagName("head")[0].appendChild(r);document.getElementsByTagName("head")[0].appendChild(v);var a=!1,E=!1;r.onload=function(){a=!0};v.onload=function(){E=!0};var h=0,t=setInterval(function(){h+=
|
|
26
|
+
50;if(a&&E||1500<=h){if(w.debug){var c="BoomerangJS loaded:["+a+"], countly_boomerang loaded:["+E+"].";a&&E?console.log("[DEBUG] "+c):console.warn("[WARNING] "+c+" Initializing without APM.")}w.init(p);clearInterval(t)}},50)}var da={NPS:"[CLY]_nps",SURVEY:"[CLY]_survey",STAR_RATING:"[CLY]_star_rating",VIEW:"[CLY]_view",ORIENTATION:"[CLY]_orientation",ACTION:"[CLY]_action"},ve=Object.values(da),f={ERROR:"[ERROR] ",WARNING:"[WARNING] ",INFO:"[INFO] ",DEBUG:"[DEBUG] ",VERBOSE:"[VERBOSE] "},Ld={BOOMERANG_SRC:"https://cdn.jsdelivr.net/npm/countly-sdk-web@latest/plugin/boomerang/boomerang.min.js",
|
|
27
|
+
CLY_BOOMERANG_SRC:"https://cdn.jsdelivr.net/npm/countly-sdk-web@latest/plugin/boomerang/countly_boomerang.js"},ca=Object.freeze({errorCount:"cly_hc_error_count",warningCount:"cly_hc_warning_count",statusCode:"cly_hc_status_code",errorMessage:"cly_hc_error_message",backoffCount:"cly_hc_backoff_count",consecutiveBackoffCount:"cly_hc_consecutive_backoff_count"}),Md=/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?::([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?::([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,
|
|
28
|
+
D="undefined"!==typeof window,w=globalThis.Countly||{},kc=0,nc=null;D&&"undefined"!==typeof navigator&&navigator.userAgentData&&"function"===typeof navigator.userAgentData.getHighEntropyValues&&(nc=dd(navigator.userAgentData));var Ub=new WeakMap,Nd=new WeakMap,zb=new WeakMap,oa=new WeakMap,Vb=new WeakMap,eb=new WeakMap,Ab=new WeakMap,H=new WeakMap,Y=new WeakMap,fa=new WeakMap,Ja=new WeakMap,sa=new WeakMap,ta=new WeakMap,Wb=new WeakMap,fb=new WeakMap,Ba=new WeakMap,Xb=new WeakMap,ja=new WeakMap,gb=
|
|
29
|
+
new WeakMap,hb=new WeakMap,Ua=new WeakMap,Bb=new WeakMap,ib=new WeakMap,Va=new WeakMap,Ca=new WeakMap,jb=new WeakMap,Ka=new WeakMap,Cb=new WeakMap,U=new WeakMap,ua=new WeakMap,La=new WeakMap,rc=new WeakMap,Ma=new WeakMap,Wa=new WeakMap,P=new WeakMap,kb=new WeakMap,lb=new WeakMap,Yb=new WeakMap,Na=new WeakMap,Db=new WeakMap,Da=new WeakMap,Ea=new WeakMap,va=new WeakMap,Zb=new WeakMap,V=new WeakMap,$b=new WeakMap,gd=new WeakMap,mb=new WeakMap,Eb=new WeakMap,nb=new WeakMap,Fb=new WeakMap,Oa=new WeakMap,
|
|
30
|
+
sc=new WeakMap,wa=new WeakMap,Xa=new WeakMap,ob=new WeakMap,Gb=new WeakMap,tc=new WeakMap,Hb=new WeakMap,Ib=new WeakMap,ac=new WeakMap,bc=new WeakMap,uc=new WeakMap,vc=new WeakMap,Jb=new WeakMap,pb=new WeakMap,wc=new WeakMap,Q=new WeakMap,O=new WeakMap,ka=new WeakMap,qb=new WeakMap,Pa=new WeakMap,Qa=new WeakMap,xc=new WeakMap,yc=new WeakMap,zc=new WeakMap,Ac=new WeakMap,Bc=new WeakMap,Kb=new WeakMap,Lb=new WeakMap,Mb=new WeakMap,Nb=new WeakMap,Ob=new WeakMap,Pb=new WeakMap,Cc=new WeakMap,Dc=new WeakMap,
|
|
31
|
+
Qb=new WeakMap,Ec=new WeakMap,Fc=new WeakMap,hd=new WeakMap,rb=new WeakMap,Ya=new WeakMap,Fa=new WeakMap,cc=new WeakMap,dc=new WeakMap,ec=new WeakMap,Gc=new WeakMap,fc=new WeakMap,gc=new WeakMap,sb=new WeakMap,tb=new WeakMap,Za=new WeakMap,ub=new WeakMap,Z=new WeakMap,Ra=new WeakMap,Hc=new WeakMap,xa=new WeakMap,Sa=new WeakMap,Ta=new WeakMap,Od=new WeakMap,Ic=new WeakMap,Jc=new WeakMap,Kc=new WeakMap,Pd=new WeakMap,id=new WeakMap,pa=new WeakMap,Qd=new WeakMap,Rd=new WeakMap,Rb=new WeakMap,jd=new WeakMap,
|
|
32
|
+
Sd=new WeakMap,kd=new WeakMap,Td=new WeakMap,Ud=new WeakMap,Vd=new WeakMap,Lc=new WeakMap,Wd=new WeakMap,ld=new WeakMap,ha=new WeakMap,Ga=new WeakMap,md=new WeakMap,nd=new WeakMap,Mc=new WeakMap,Nc=new WeakMap,Xd=new WeakMap,od=new WeakMap,$a=new WeakMap,Yd=new WeakMap,Oc=new WeakMap,Zd=new WeakMap,Pc=new WeakMap,$d=new WeakMap,ae=new WeakMap,hc=new WeakMap,ya=new WeakMap,Qc=new WeakMap,pd=new WeakMap,Rc=new WeakMap,be=new WeakMap,qd=new WeakMap,vb=new WeakMap,ea=new WeakMap,ic=new WeakMap,ce=new WeakMap,
|
|
33
|
+
de=new WeakMap,rd=new WeakMap,za=new WeakMap,Sc=new WeakMap,ee=new WeakMap,sd=new WeakMap,fe=new WeakMap,Sb=new WeakMap,wb=new WeakMap,Tc=new WeakMap,e=new WeakMap,qa=new WeakMap,td=new WeakMap,ge=new WeakMap,ud=new WeakMap,vd=new WeakMap,Uc=new WeakMap,Vc=new WeakMap,wd=new WeakMap,Wc=new WeakMap,he=new WeakMap,xd=new WeakMap,ie=new WeakMap,je=new WeakMap,ke=new WeakMap,le=new WeakMap,yd=new WeakMap,F=new WeakMap,B=new WeakMap,la=new WeakMap,me=new WeakMap,ne=new WeakMap,oe=new WeakMap,pe=new WeakMap,
|
|
34
|
+
Aa=new WeakMap,qe=function(p,r,v){return r&&Ad(p.prototype,r),v&&Ad(p,v),Object.defineProperty(p,"prototype",{writable:!1}),p}(function v(r){var a=this;if(!(this instanceof v))throw new TypeError("Cannot call a class as a function");q(this,Ub,void 0);q(this,Nd,void 0);q(this,zb,void 0);q(this,oa,void 0);q(this,Vb,void 0);q(this,eb,void 0);q(this,Ab,void 0);q(this,H,void 0);q(this,Y,void 0);q(this,fa,void 0);q(this,Ja,void 0);q(this,sa,void 0);q(this,ta,void 0);q(this,Wb,void 0);q(this,fb,void 0);
|
|
35
|
+
q(this,Ba,void 0);q(this,Xb,void 0);q(this,ja,void 0);q(this,gb,void 0);q(this,hb,void 0);q(this,Ua,void 0);q(this,Bb,void 0);q(this,ib,void 0);q(this,Va,void 0);q(this,Ca,void 0);q(this,jb,void 0);q(this,Ka,void 0);q(this,Cb,void 0);q(this,U,void 0);q(this,ua,void 0);q(this,La,void 0);q(this,rc,void 0);q(this,Ma,void 0);q(this,Wa,void 0);q(this,P,void 0);q(this,kb,void 0);q(this,lb,void 0);q(this,Yb,void 0);q(this,Na,void 0);q(this,Db,void 0);q(this,Da,void 0);q(this,Ea,void 0);q(this,va,void 0);
|
|
36
|
+
q(this,Zb,void 0);q(this,V,void 0);q(this,$b,void 0);q(this,gd,void 0);q(this,mb,void 0);q(this,Eb,void 0);q(this,nb,void 0);q(this,Fb,void 0);q(this,Oa,void 0);q(this,sc,void 0);q(this,wa,void 0);q(this,Xa,void 0);q(this,ob,void 0);q(this,Gb,void 0);q(this,tc,void 0);q(this,Hb,void 0);q(this,Ib,void 0);q(this,ac,void 0);q(this,bc,void 0);q(this,uc,void 0);q(this,vc,void 0);q(this,Jb,void 0);q(this,pb,void 0);q(this,wc,void 0);q(this,Q,void 0);q(this,O,void 0);q(this,ka,void 0);q(this,qb,void 0);
|
|
37
|
+
q(this,Pa,void 0);q(this,Qa,void 0);q(this,xc,void 0);q(this,yc,void 0);q(this,zc,void 0);q(this,Ac,void 0);q(this,Bc,void 0);q(this,Kb,void 0);q(this,Lb,void 0);q(this,Mb,void 0);q(this,Nb,void 0);q(this,Ob,void 0);q(this,Pb,void 0);q(this,Cc,void 0);q(this,Dc,void 0);q(this,Qb,void 0);q(this,Ec,void 0);q(this,Fc,void 0);q(this,hd,void 0);q(this,rb,void 0);q(this,Ya,void 0);q(this,Fa,void 0);q(this,cc,void 0);q(this,dc,void 0);q(this,ec,void 0);q(this,Gc,void 0);q(this,fc,void 0);q(this,gc,void 0);
|
|
38
|
+
q(this,sb,void 0);q(this,tb,void 0);q(this,Za,void 0);q(this,ub,void 0);q(this,Z,void 0);q(this,Ra,void 0);q(this,Hc,void 0);q(this,xa,void 0);q(this,Sa,void 0);q(this,Ta,void 0);q(this,Od,function(){if(D){var h=db(),t="undefined"!==typeof navigator&&!!navigator.userAgentData,c=t&&"function"===typeof navigator.userAgentData.getHighEntropyValues,d=t?navigator.userAgentData.platform:void 0,g=t?navigator.userAgentData.brands:void 0;b(e,a).call(a,f.DEBUG,"ua_logic, raw ua string:["+h+"]");b(e,a).call(a,
|
|
39
|
+
f.DEBUG,"ua_logic, userAgentData available:["+t+"], getHighEntropyValues available:["+c+"]");b(e,a).call(a,f.DEBUG,"ua_logic, userAgentData low-entropy platform:["+d+"], brands:["+JSON.stringify(g)+"]");l(Ra,a,"pending");l(xa,a,[]);l(Sa,a,setTimeout(function(){null!==b(xa,a)&&(b(e,a).call(a,f.WARNING,"ua_logic, client hints resolution timed out after 5s, flushing pending requests with available metrics"),b(Ic,a).call(a))},1E3));l(Hc,a,te().then(function(k){k&&"object"===T(k)?(l(Z,a,k),l(Ra,a,"resolved"),
|
|
40
|
+
b(e,a).call(a,f.DEBUG,"ua_logic, high-entropy hints resolved:["+JSON.stringify(k)+"]")):(l(Ra,a,"unavailable"),b(e,a).call(a,f.DEBUG,"ua_logic, high-entropy hints unavailable or not returned"))})["catch"](function(k){l(Z,a,null);l(Ra,a,"failed");b(e,a).call(a,f.DEBUG,"ua_logic, high-entropy hints fetch failed:["+k+"]")})["finally"](function(){b(Ic,a).call(a)}))}else l(Ra,a,"unavailable"),l(xa,a,null)});q(this,Ic,function(){b(Sa,a)&&(clearTimeout(b(Sa,a)),l(Sa,a,null));var h=b(xa,a);l(xa,a,null);if(h&&
|
|
41
|
+
0!==h.length){b(e,a).call(a,f.DEBUG,"ua_logic, flushing ["+h.length+"] pending request(s) after client hints resolution");for(var t=0;t<h.length;t++){var c=h[t];c.begin_session&&(c.metrics=JSON.stringify(b(Sb,a).call(a)));b(H,a).length>b(wa,a)&&b(H,a).shift();b(H,a).push(c)}b(B,a).call(a,"cly_queue",b(H,a),!0)}});q(this,Jc,function(){if("[CLY]_temp_id"===a.device_id)b(e,a).call(a,f.INFO,"server_config, Device ID is temporary, not fetching server config");else if(b(hd,a))b(e,a).call(a,f.INFO,"server_config, SDK behavior sync is disabled, not fetching server config");
|
|
42
|
+
else{b(e,a).call(a,f.INFO,"server_config, Fetching server config");var h={};h.app_key=a.app_key;h.device_id=a.device_id;h.sdk_version=b(va,a);h.sdk_name=b(Ea,a);h.t=b(P,a);h.timestamp=yb();var t=new Date;h.hour=t.getHours();h.dow=t.getDay();h.av=a.app_version;h.method="sc";b(qa,a).call(a,"server_config",a.url+b(eb,a),h,function(c,d,g){if(!c)try{var k=JSON.parse(g);b(e,a).call(a,f.INFO,"server_config, Config fetched successfully:["+JSON.stringify(k)+"]");k&&b(Kc,a).call(a,k);b(B,a).call(a,"cly_config",
|
|
43
|
+
JSON.stringify(k))}catch(n){b(e,a).call(a,f.ERROR,"server_config, Had an issue while parsing the response: "+n)}},!0,!0);setTimeout(function(){b(Jc,a).call(a)},36E5*b(tc,a))}});q(this,Kc,function(h){h&&h.c&&"object"===T(h.c)&&(h=h.c,h.hasOwnProperty("networking")&&l(sc,a,h.networking),h.hasOwnProperty("tracking")&&l(Hb,a,h.tracking),h.hasOwnProperty("rqs")&&l(wa,a,h.rqs),h.hasOwnProperty("eqs")&&l(Xa,a,h.eqs),h.hasOwnProperty("sui")&&l(ob,a,h.sui),h.hasOwnProperty("czi")&&14<h.czi&&l(Gb,a,1E3*h.czi),
|
|
44
|
+
h.hasOwnProperty("ecz")&&(l(Jb,a,h.ecz),!b(Ec,a)&&b(Jb,a)&&b($a,a).call(a)),h.hasOwnProperty("cr")&&l(pb,a,h.cr),h.hasOwnProperty("st")&&l(Ib,a,h.st),h.hasOwnProperty("crt")&&l(bc,a,h.crt),h.hasOwnProperty("vt")&&l(ac,a,h.vt),h.hasOwnProperty("cet")&&l(uc,a,h.cet),h.hasOwnProperty("lkl")&&l(Q,a,h.lkl),h.hasOwnProperty("lvs")&&l(O,a,h.lvs),h.hasOwnProperty("lsv")&&l(ka,a,h.lsv),h.hasOwnProperty("lbc")&&l(qb,a,h.lbc),h.hasOwnProperty("ltlpt")&&l(Pa,a,h.ltlpt),h.hasOwnProperty("ltl")&&l(Qa,a,h.ltl),
|
|
45
|
+
h.hasOwnProperty("scui")&&l(tc,a,Math.max(h.scui,4)),h.hasOwnProperty("lt")&&l(vc,a,h.lt),h.hasOwnProperty("rcz")&&l(wc,a,h.rcz),h.hasOwnProperty("bom")&&l(xc,a,h.bom),h.hasOwnProperty("bom_at")&&l(yc,a,h.bom_at),h.hasOwnProperty("bom_rqp")&&l(zc,a,h.bom_rqp),h.hasOwnProperty("bom_ra")&&l(Ac,a,h.bom_ra),h.hasOwnProperty("bom_d")&&l(Bc,a,h.bom_d),h.hasOwnProperty("eb")&&Array.isArray(h.eb)&&l(Kb,a,h.eb),h.hasOwnProperty("ew")&&Array.isArray(h.ew)&&l(Lb,a,h.ew),h.hasOwnProperty("upb")&&Array.isArray(h.upb)&&
|
|
46
|
+
l(Mb,a,h.upb),h.hasOwnProperty("upw")&&Array.isArray(h.upw)&&l(Nb,a,h.upw),h.hasOwnProperty("sb")&&Array.isArray(h.sb)&&l(Ob,a,h.sb),h.hasOwnProperty("sw")&&Array.isArray(h.sw)&&l(Pb,a,h.sw),h.hasOwnProperty("esb")&&h.esb&&"object"===T(h.esb)&&!Array.isArray(h.esb)&&l(Cc,a,h.esb),h.hasOwnProperty("esw")&&h.esw&&"object"===T(h.esw)&&!Array.isArray(h.esw)&&l(Dc,a,h.esw),h.hasOwnProperty("jte")&&Array.isArray(h.jte)&&l(Qb,a,h.jte))});q(this,Pd,function(h){l(ta,a,z("ignore_referrers",h,[]));l(Bb,a,z("fail_timeout",
|
|
47
|
+
h,60));l(ib,a,z("inactivity_time",h,20));l(Ca,a,z("use_session_cookie",h,!0));l(jb,a,z("session_cookie_timeout",h,30));l(U,a,z("offline_mode",h,!1));l(Ea,a,z("sdk_name",h,"javascript_native_web"));l(va,a,z("sdk_version",h,"26.1.2"));l(Ab,a,z("interval",h,500));a.getViewName=z("getViewName",h,w.getViewName);a.getViewUrl=z("getViewUrl",h,w.getViewUrl);a.getSearchQuery=z("getSearchQuery",h,w.getSearchQuery);a.DeviceIdType=w.DeviceIdType;a.namespace=z("namespace",h,"");a.clearStoredId=z("clear_stored_id",
|
|
41
48
|
h,!1);a.onload=z("onload",h,[]);a.utm=z("utm",h,{source:!0,medium:!0,campaign:!0,term:!0,content:!0});a.ignore_prefetch=z("ignore_prefetch",h,!0);a.rcAutoOptinAb=z("rc_automatic_optin_for_ab",h,!0);a.useExplicitRcApi=z("use_explicit_rc_api",h,!1);a.debug=z("debug",h,!1);a.test_mode=z("test_mode",h,!1);a.test_mode_eq=z("test_mode_eq",h,!1);a.metrics=z("metrics",h,{});a.headers=z("headers",h,{});a.app_version=z("app_version",h,"0.0");a.country_code=z("country_code",h,null);a.city=z("city",h,null);a.ip_address=
|
|
42
|
-
z("ip_address",h,null);a.ignore_bots=z("ignore_bots",h,!0);a.force_post=z("force_post",h,!0);a.remote_config=z("remote_config",h,!1);a.ignore_visitor=z("ignore_visitor",h,!1);a.track_domains=D?z("track_domains",h,!0):void 0;a.storage=z("storage",h,"default");a.enableOrientationTracking=D?z("enable_orientation_tracking",h,!0):void 0;a.heatmapWhitelist=z("heatmap_whitelist",h,[]);a.contentWhitelist=z("content_whitelist",h,[]);a.salt=z("salt",h,null);a.hcErrorCount=b(
|
|
43
|
-
b(
|
|
44
|
-
a))||l(
|
|
45
|
-
""))}catch(x){b(
|
|
46
|
-
a).call(a,"cly_old_token",a.passed_data.token));var t=[];Array.isArray(a.heatmapWhitelist)?(a.heatmapWhitelist.push(a.url),t=a.heatmapWhitelist.map(function(x){return
|
|
47
|
-
[]);l(Y,a,b(
|
|
48
|
-
l(P,a,0)),b(
|
|
49
|
-
a).call(a,f.DEBUG,"initialize, stored server config:["+JSON.stringify(b(
|
|
50
|
-
f.DEBUG,"initialize, number of onload callbacks provided:["+a.onload.length+"]"),b(
|
|
51
|
-
a.country_code+"], city:["+a.city+"], ip_address:["+a.ip_address+"]");""!==a.namespace&&b(
|
|
52
|
-
a.test_mode_eq&&b(
|
|
53
|
-
a.force_post+"]");a.remote_config&&b(
|
|
54
|
-
a.enableOrientationTracking&&b(
|
|
55
|
-
b(
|
|
56
|
-
b(
|
|
57
|
-
"initialize, queue_size set to:["+b(
|
|
58
|
-
100!==b(
|
|
59
|
-
m[0]?c=m[1]:0===(m[0]+"").indexOf("utm_")&&a.utm[m[0].replace("utm_","")]&&(k[m[0].replace("utm_","")]=m[1],g=!0)}}
|
|
60
|
-
(b(
|
|
61
|
-
(l(
|
|
62
|
-
q(this
|
|
63
|
-
l(
|
|
49
|
+
z("ip_address",h,null);a.ignore_bots=z("ignore_bots",h,!0);a.force_post=z("force_post",h,!0);a.remote_config=z("remote_config",h,!1);a.ignore_visitor=z("ignore_visitor",h,!1);a.track_domains=D?z("track_domains",h,!0):void 0;a.storage=z("storage",h,"default");a.enableOrientationTracking=D?z("enable_orientation_tracking",h,!0):void 0;a.heatmapWhitelist=z("heatmap_whitelist",h,[]);a.contentWhitelist=z("content_whitelist",h,[]);a.salt=z("salt",h,null);a.hcErrorCount=b(F,a).call(a,ca.errorCount)||0;a.hcWarningCount=
|
|
50
|
+
b(F,a).call(a,ca.warningCount)||0;a.hcStatusCode=b(F,a).call(a,ca.statusCode)||-1;a.hcErrorMessage=b(F,a).call(a,ca.errorMessage)||"";a.hcBackoffCount=b(F,a).call(a,ca.backoffCount)||0;a.hcConsecutiveBackoffCount=b(F,a).call(a,ca.consecutiveBackoffCount)||0;l(dc,a,!1);l(Fb,a,z("crash_filter_callback",h,null));"cookie"===a.storage&&l(Ma,a,!1);a.rcAutoOptinAb||a.useExplicitRcApi||(b(e,a).call(a,f.WARNING,"initialize, Auto opting is disabled, switching to explicit RC API"),a.useExplicitRcApi=!0);Array.isArray(b(ta,
|
|
51
|
+
a))||l(ta,a,[]);""===a.url&&(b(e,a).call(a,f.ERROR,"initialize, Please provide server URL"),a.ignore_visitor=!0);b(F,a).call(a,"cly_ignore")&&(a.ignore_visitor=!0);b(od,a).call(a);if(D)if(window.name&&0===window.name.indexOf("cly:"))try{a.passed_data=JSON.parse(window.name.replace("cly:",""))}catch(x){b(e,a).call(a,f.ERROR,"initialize, Could not parse name: "+window.name+", error: "+x)}else if(location.hash&&0===location.hash.indexOf("this.#cly:"))try{a.passed_data=JSON.parse(location.hash.replace("this.#cly:",
|
|
52
|
+
""))}catch(x){b(e,a).call(a,f.ERROR,"initialize, Could not parse hash: "+location.hash+", error: "+x)}Array.isArray(a.contentWhitelist)&&(a.contentWhitelist.push(a.url),a.contentWhitelist=a.contentWhitelist.map(function(x){return cb(x)}));if((a.passed_data&&a.passed_data.app_key&&a.passed_data.app_key===a.app_key||a.passed_data&&!a.passed_data.app_key&&b(zb,a))&&a.passed_data.token&&a.passed_data.purpose){a.passed_data.token!==b(F,a).call(a,"cly_old_token")&&(b(xd,a).call(a,a.passed_data.token),b(B,
|
|
53
|
+
a).call(a,"cly_old_token",a.passed_data.token));var t=[];Array.isArray(a.heatmapWhitelist)?(a.heatmapWhitelist.push(a.url),t=a.heatmapWhitelist.map(function(x){return cb(x)})):t=[a.url];t.includes(a.passed_data.url)&&"heatmap"===a.passed_data.purpose&&(a.ignore_visitor=!0,Jd(),Id(a.passed_data.url+"/views/heatmap.js",Kd))}if(a.ignore_visitor)b(e,a).call(a,f.WARNING,"initialize, ignore_visitor:["+a.ignore_visitor+"], this user will not be tracked");else{b(me,a).call(a);l(H,a,b(F,a).call(a,"cly_queue")||
|
|
54
|
+
[]);l(Y,a,b(F,a).call(a,"cly_event")||[]);l(fa,a,b(F,a).call(a,"cly_remote_configs")||{});t="[CLY]_temp_id"===b(F,a).call(a,"cly_id");a.clearStoredId&&(b(F,a).call(a,"cly_id")&&!t&&(a.device_id=b(F,a).call(a,"cly_id"),b(e,a).call(a,f.DEBUG,"initialize, temporarily using the previous device ID to flush existing events"),l(P,a,b(F,a).call(a,"cly_id_type")),b(P,a)||(b(e,a).call(a,f.DEBUG,"initialize, No device ID type info from the previous session, falling back to DEVELOPER_SUPPLIED, for event flushing"),
|
|
55
|
+
l(P,a,0)),b(ya,a).call(a),a.device_id=void 0,l(P,a,1)),b(e,a).call(a,f.INFO,"initialize, Clearing the device ID storage"),b(la,a).call(a,"cly_id"),b(la,a).call(a,"cly_id_type"),b(la,a).call(a,"cly_session"),t=!1);"javascript_native_web"===b(Ea,a)&&"26.1.2"===b(va,a)?b(e,a).call(a,f.DEBUG,"initialize, SDK name:["+b(Ea,a)+"], version:["+b(va,a)+"]"):b(e,a).call(a,f.DEBUG,"initialize, SDK name:["+b(Ea,a)+"], version:["+b(va,a)+"], default name:[javascript_native_web] and default version:[26.1.2]");b(e,
|
|
56
|
+
a).call(a,f.DEBUG,"initialize, stored server config:["+JSON.stringify(b(Oa,a))+"]");b(e,a).call(a,f.DEBUG,"initialize, app_key:["+a.app_key+"], url:["+a.url+"]");b(e,a).call(a,f.DEBUG,"initialize, device_id:["+z("device_id",h,void 0)+"]");b(e,a).call(a,f.DEBUG,"initialize, require_consent is enabled:["+b(pb,a)+"]");try{b(e,a).call(a,f.DEBUG,"initialize, metric override:["+JSON.stringify(a.metrics)+"]"),b(e,a).call(a,f.DEBUG,"initialize, header override:["+JSON.stringify(a.headers)+"]"),b(e,a).call(a,
|
|
57
|
+
f.DEBUG,"initialize, number of onload callbacks provided:["+a.onload.length+"]"),b(e,a).call(a,f.DEBUG,"initialize, utm tags:["+JSON.stringify(a.utm)+"]"),b(ta,a)&&b(e,a).call(a,f.DEBUG,"initialize, referrers to ignore :["+JSON.stringify(b(ta,a))+"]"),b(e,a).call(a,f.DEBUG,"initialize, salt given:["+!!a.salt+"]")}catch(x){b(e,a).call(a,f.ERROR,"initialize, Could not stringify some config object values")}b(e,a).call(a,f.DEBUG,"initialize, app_version:["+a.app_version+"]");b(e,a).call(a,f.DEBUG,"initialize, provided location info; country_code:["+
|
|
58
|
+
a.country_code+"], city:["+a.city+"], ip_address:["+a.ip_address+"]");""!==a.namespace&&b(e,a).call(a,f.DEBUG,"initialize, namespace given:["+a.namespace+"]");a.clearStoredId&&b(e,a).call(a,f.DEBUG,"initialize, clearStoredId flag set to:["+a.clearStoredId+"]");a.ignore_prefetch&&b(e,a).call(a,f.DEBUG,"initialize, ignoring pre-fetching and pre-rendering from counting as real website visits :["+a.ignore_prefetch+"]");a.test_mode&&b(e,a).call(a,f.WARNING,"initialize, test_mode:["+a.test_mode+"], request queue won't be processed");
|
|
59
|
+
a.test_mode_eq&&b(e,a).call(a,f.WARNING,"initialize, test_mode_eq:["+a.test_mode_eq+"], event queue won't be processed");a.heatmapWhitelist&&b(e,a).call(a,f.DEBUG,"initialize, heatmap whitelist:["+JSON.stringify(a.heatmapWhitelist)+"], these domains will be whitelisted");"default"!==a.storage&&b(e,a).call(a,f.DEBUG,"initialize, storage is set to:["+a.storage+"]");a.ignore_bots&&b(e,a).call(a,f.DEBUG,"initialize, ignore traffic from bots :["+a.ignore_bots+"]");a.force_post&&b(e,a).call(a,f.DEBUG,"initialize, forced post method for all requests:["+
|
|
60
|
+
a.force_post+"]");a.remote_config&&b(e,a).call(a,f.DEBUG,"initialize, remote_config callback provided:["+!!a.remote_config+"]");"boolean"===typeof a.rcAutoOptinAb&&b(e,a).call(a,f.DEBUG,"initialize, automatic RC optin is enabled:["+a.rcAutoOptinAb+"]");a.useExplicitRcApi||b(e,a).call(a,f.WARNING,"initialize, will use legacy RC API. Consider enabling new API during init with use_explicit_rc_api flag");a.track_domains&&b(e,a).call(a,f.DEBUG,"initialize, tracking domain info:["+a.track_domains+"]");
|
|
61
|
+
a.enableOrientationTracking&&b(e,a).call(a,f.DEBUG,"initialize, enableOrientationTracking:["+a.enableOrientationTracking+"]");b(Ca,a)||b(e,a).call(a,f.WARNING,"initialize, use_session_cookie is enabled:["+b(Ca,a)+"]");b(U,a)&&b(e,a).call(a,f.DEBUG,"initialize, offline_mode:["+b(U,a)+"], user info won't be send to the servers");b(fa,a)&&b(e,a).call(a,f.DEBUG,"initialize, stored remote configs:["+JSON.stringify(b(fa,a))+"]");b(Gb,a)&&b(e,a).call(a,f.DEBUG,"initialize, content_zone_timer_interval:["+
|
|
62
|
+
b(Gb,a)+"]");b(e,a).call(a,f.DEBUG,"initialize, 'getViewName' callback override provided:["+(a.getViewName!==w.getViewName)+"]");b(e,a).call(a,f.DEBUG,"initialize, 'getSearchQuery' callback override provided:["+(a.getSearchQuery!==w.getSearchQuery)+"]");128!==b(Q,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxKeyLength set to:["+b(Q,a)+"] characters");256!==b(O,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxValueSize set to:["+b(O,a)+"] characters");100!==b(ka,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxSegmentationValues set to:["+
|
|
63
|
+
b(ka,a)+"] key/value pairs");100!==b(qb,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxBreadcrumbCount for custom logs set to:["+b(qb,a)+"] entries");30!==b(Pa,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxStackTraceLinesPerThread set to:["+b(Pa,a)+"] lines");200!==b(Qa,a)&&b(e,a).call(a,f.DEBUG,"initialize, maxStackTraceLineLength set to:["+b(Qa,a)+"] characters");500!==b(Ab,a)&&b(e,a).call(a,f.DEBUG,"initialize, interval for heartbeats set to:["+b(Ab,a)+"] milliseconds");1E3!==b(wa,a)&&b(e,a).call(a,f.DEBUG,
|
|
64
|
+
"initialize, queue_size set to:["+b(wa,a)+"] items max");60!==b(Bb,a)&&b(e,a).call(a,f.DEBUG,"initialize, fail_timeout set to:["+b(Bb,a)+"] seconds of wait time after a failed connection to server");20!==b(ib,a)&&b(e,a).call(a,f.DEBUG,"initialize, inactivity_time set to:["+b(ib,a)+"] minutes to consider a user as inactive after no observable action");60!==b(ob,a)&&b(e,a).call(a,f.DEBUG,"initialize, session_update set to:["+b(ob,a)+"] seconds to check if extending a session is needed while the user is active");
|
|
65
|
+
100!==b(Xa,a)&&b(e,a).call(a,f.DEBUG,"initialize, max_events set to:["+b(Xa,a)+"] events to send in one batch");30!==b(jb,a)&&b(e,a).call(a,f.DEBUG,"initialize, session_cookie_timeout set to:["+b(jb,a)+"] minutes to expire a cookies session");var c=null,d=a.getSearchQuery(),g=!1,k={};if(d){0===d.indexOf("?")&&(d=d.substring(1));d=d.split("&");for(var n=0;n<d.length;n++){var m=d[n].split("=");"cly_id"===m[0]?b(B,a).call(a,"cly_cmp_id",m[1]):"cly_uid"===m[0]?b(B,a).call(a,"cly_cmp_uid",m[1]):"cly_device_id"===
|
|
66
|
+
m[0]?c=m[1]:0===(m[0]+"").indexOf("utm_")&&a.utm[m[0].replace("utm_","")]&&(k[m[0].replace("utm_","")]=m[1],g=!0)}}d=z("device_id",h,void 0);"number"===typeof d&&(d=d.toString());b(F,a).call(a,"cly_id")&&!t?(a.device_id=b(F,a).call(a,"cly_id"),b(e,a).call(a,f.INFO,"initialize, Set the stored device ID"),l(P,a,b(F,a).call(a,"cly_id_type")),b(P,a)||(b(e,a).call(a,f.INFO,"initialize, No device ID type info from the previous session, falling back to DEVELOPER_SUPPLIED"),l(P,a,0)),l(U,a,!1)):null!==c?
|
|
67
|
+
(b(e,a).call(a,f.INFO,"initialize, Device ID set by URL"),a.device_id=c,l(P,a,3),l(U,a,!1)):d?(b(e,a).call(a,f.INFO,"initialize, Device ID set by developer"),a.device_id=d,h&&Object.keys(h).length?void 0!==h.device_id&&l(P,a,0):void 0!==w.device_id&&l(P,a,0),l(U,a,!1)):b(U,a)||t?(a.device_id="[CLY]_temp_id",l(P,a,2),b(U,a)&&t?b(e,a).call(a,f.INFO,"initialize, Temp ID set, continuing offline mode from previous app session"):b(U,a)&&!t?b(e,a).call(a,f.INFO,"initialize, Temp ID set, entering offline mode"):
|
|
68
|
+
(l(U,a,!0),b(e,a).call(a,f.INFO,"initialize, Temp ID set, enabling offline mode"))):(b(e,a).call(a,f.INFO,"initialize, Generating the device ID"),a.device_id=z("device_id",h,b(Sc,a).call(a)),h&&Object.keys(h).length?void 0!==h.device_id&&l(P,a,0):void 0!==w.device_id&&l(P,a,0));b(B,a).call(a,"cly_id",a.device_id);b(B,a).call(a,"cly_id_type",b(P,a));if(g){l(Da,a,{});for(var u in a.utm)k[u]?(a.userData.set("utm_"+u,k[u]),b(Da,a)[u]=k[u]):a.userData.unset("utm_"+u);a.userData.save()}b(Jc,a).call(a)}});
|
|
69
|
+
q(this,id,function(){b(Ub,a)&&(clearTimeout(b(Ub,a)),l(Ub,a,null));l(Ub,a,setTimeout(function(){for(var h={},t=0;t<w.features.length;t++)!0===b(V,a)[w.features[t]].optin?h[w.features[t]]=!0:h[w.features[t]]=!1;b(ea,a).call(a,{consent:JSON.stringify(h)});b(e,a).call(a,f.DEBUG,"Consent update request has been sent to the queue.")},1E3))});y(this,"halt",function(){b(e,a).call(a,f.WARNING,"halt, Resetting Countly");w.i=void 0;w.q=[];w.noHeartBeat=void 0;l(zb,a,!w.i);l(oa,a,!1);l(Vb,a,"/i");l(eb,a,"/o/sdk");
|
|
70
|
+
l(Ab,a,500);l(wa,a,1E3);l(H,a,[]);l(Y,a,[]);l(fa,a,{});l(Ja,a,[]);l(sa,a,{});l(ta,a,[]);l(Wb,a,null);l(fb,a,!0);l(Xb,a,0);l(ja,a,null);l(gb,a,0);l(hb,a,0);l(Ua,a,0);l(Bb,a,60);l(ib,a,20);l(Va,a,0);l(ob,a,60);l(Xa,a,100);l(Ca,a,!0);l(jb,a,30);l(Ka,a,!0);l(Cb,a,!1);l(U,a,!1);l(ua,a,{});l(La,a,!0);l(rc,a,L());l(Ma,a,!0);l(Wa,a,null);l(P,a,1);l(kb,a,!1);l(lb,a,0);l(Yb,a,!1);l(Na,a,null);l(Db,a,null);l(Da,a,null);l($b,a,[]);try{localStorage.setItem("cly_testLocal",!0),localStorage.removeItem("cly_testLocal"),
|
|
64
71
|
localStorage.removeItem("cly_old_token"),localStorage.removeItem("cly_cmp_id"),localStorage.removeItem("cly_cmp_uid"),localStorage.removeItem("cly_id"),localStorage.removeItem("cly_id_type"),localStorage.removeItem("cly_queue"),localStorage.removeItem("cly_session"),localStorage.removeItem("cly_remote_configs"),localStorage.removeItem("cly_event"),localStorage.removeItem("cly_ignore"),localStorage.removeItem("cly_fb_widgets"),localStorage.removeItem("cly_token"),localStorage.removeItem("cly_hc_error_count"),
|
|
65
|
-
localStorage.removeItem("cly_hc_warning_count"),localStorage.removeItem("cly_hc_status_code"),localStorage.removeItem("cly_hc_error_message"),localStorage.removeItem("cly_hc_backoff_count"),localStorage.removeItem("cly_hc_consecutive_backoff_count")}catch(t){b(
|
|
66
|
-
for(var h=0;h<w.features.length;h++)b(
|
|
67
|
-
a.storage=void 0;a.enableOrientationTracking=void 0;a.salt=void 0;l(Q,a,void 0);l(O,a,void 0);l(
|
|
68
|
-
"string"===typeof h[t]?b(
|
|
69
|
-
!0;if(b(
|
|
70
|
-
f.INFO,"get_device_id, Retrieving the device id: ["+a.device_id+"]");return a.device_id});y(this,"check_any_consent",function(){b(
|
|
71
|
-
"add_consent, Adding consent for ["+h+"]");if(Array.isArray(h))for(var t=0;t<h.length;t++)a.add_consent(h[t]);else b(
|
|
72
|
-
null)},1)):b(
|
|
73
|
-
b(
|
|
74
|
-
l(
|
|
75
|
-
b(
|
|
76
|
-
"begin_session, Session starts irrespective of session cookie"),a.check_consent("sessions")){if(!b(
|
|
77
|
-
|
|
78
|
-
h+"]"),a.check_consent("sessions")&&(b(
|
|
79
|
-
a.check_consent("sessions")&&b(
|
|
80
|
-
0===b(P,a)?a.change_id(h,!1):a.change_id(h,!0)});y(this,"change_id",function(h,t){b(
|
|
81
|
-
a.end_session(null,!0),l(
|
|
82
|
-
y(this,"add_event",function(h){b(
|
|
83
|
-
y(this,"attempt_to_send_stored_requests",function(){b(
|
|
84
|
-
a)||a.userData.save(!0),h.count||(h.count=1),b(
|
|
85
|
-
b(Y,a));b(
|
|
86
|
-
{},
|
|
87
|
-
q(this,
|
|
88
|
-
t&&b(
|
|
89
|
-
(b(d,a).call(a,f.DEBUG,"journeyTrigger, Processing pending journey trigger"),l(
|
|
90
|
-
5;break}return n.a(2,!0);case 5:g++;n.n=2;break;case 6:return n.a(2,0===b(
|
|
91
|
-
L()<=b(
|
|
92
|
-
q(this,
|
|
93
|
-
c)})});y(this,"start_event",function(c){c&&"string"===typeof c?(b(
|
|
94
|
-
|
|
95
|
-
b(
|
|
96
|
-
segmentation:{mode:c||(window.innerWidth>window.innerHeight?"landscape":"portrait")}})});y(this,"report_conversion",function(c,
|
|
97
|
-
(c=c||b(
|
|
98
|
-
|
|
99
|
-
"user_details",b(
|
|
100
|
-
|
|
101
|
-
a).call(a,f.DEBUG,"[userData]
|
|
102
|
-
"userData
|
|
103
|
-
b(
|
|
104
|
-
"userData
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
g=0;g<
|
|
108
|
-
b(
|
|
109
|
-
|
|
110
|
-
a),"add_log",b(
|
|
111
|
-
0,b(
|
|
112
|
-
(m.metrics=JSON.stringify(b(
|
|
113
|
-
u(x,b(
|
|
114
|
-
a).call(a,f.DEBUG,"enrollUserToAb, Parsed the response's result: ["+n.result+"]")}catch(m){b(
|
|
115
|
-
(l(
|
|
116
|
-
b(
|
|
117
|
-
|
|
118
|
-
b(
|
|
119
|
-
c)b(
|
|
120
|
-
if(b(
|
|
121
|
-
(k["utm_"+m]=b(
|
|
122
|
-
a).call(a,f.WARNING,"track_pageview, View tracking is disabled by the server config. Not tracking page views.");else b(
|
|
123
|
-
"track_clicks, Tracking the specified children:["+c+"]");c=c||document;var
|
|
124
|
-
a).call(a,f.WARNING,"track_clicks, window object is not available. Not tracking clicks.")});y(this,"track_scrolls",function(c){D?(b(
|
|
125
|
-
f.INFO,"track_links, Starting to track clicks to links"),c&&b(
|
|
126
|
-
y(this,"uploadUserProfilePicture",function(c){if(D)if(c&&"object"===
|
|
127
|
-
else{var k=g.indexOf(",");(g=-1===k?g:g.substring(k+1))?(b(
|
|
128
|
-
y(this,"track_forms",function(c,
|
|
129
|
-
view:a.getViewUrl()},m;if("undefined"!==typeof k.elements){for(var u=0;u<k.elements.length;u++)(m=k.elements[u])&&"password"!==m.type&&-1===m.className.indexOf("cly_user_ignore")&&("undefined"===typeof n["input:"+g(m)]&&(n["input:"+g(m)]=[]),"select"===m.nodeName.toLowerCase()?"undefined"!==typeof m.multiple?
|
|
130
|
-
m.type.toLowerCase()?m.checked&&n["input:"+g(m)].push(m.value):("hidden"!==m.type.toLowerCase()||
|
|
131
|
-
y(this,"collect_from_forms",function(c,
|
|
132
|
-
g.elements[C])&&"password"!==m.type&&-1===m.className.indexOf("cly_user_ignore"))if(x="","select"===m.nodeName.toLowerCase()?x="undefined"!==typeof m.multiple?
|
|
133
|
-
m.className.split(" ");for(m=0;m<
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
(k.name=""),k.name+=x+" ",n=!0}n&&(b(
|
|
137
|
-
e.email);"male"===
|
|
138
|
-
|
|
139
|
-
!1;b(
|
|
140
|
-
" ]");if(a.check_consent("star-rating"))if(c.widget_id)if(c.rating){var
|
|
141
|
-
(b(
|
|
142
|
-
e)if(c._id)if(b(
|
|
143
|
-
a).call(a,f.WARNING,"reportFeedbackWidgetManually, You have entered a rating higher than 10. Changing it back to 10 now."),g.rating=10):0>g.rating&&(b(
|
|
144
|
-
|
|
145
|
-
a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget has an unacceptable type");return}c={key:n,count:1,segmentation:{widget_id:c._id,platform:a.platform,app_version:a.metrics._app_version||a.app_version}};if(null===g)c.segmentation.closed=1;else{n=c.segmentation;if(k){for(var m,
|
|
146
|
-
"reportFeedbackWidgetManually, Feedback Widgets must contain _id property");else b(
|
|
147
|
-
y(this,"presentRatingWidgetWithID",function(c){D?(b(
|
|
148
|
-
"presentRatingWidgetWithID, JSON parse failed: "+m)}},!0))):b(
|
|
149
|
-
y(this,"initializeRatingWidgets",function(c){if(D){if(b(
|
|
150
|
-
for(g=0;g<m.length;g++)if("true"===m[g].is_active){var u=m[g].target_devices,x=
|
|
151
|
-
a).call(a,f.ERROR,"initializeRatingWidgets, JSON parse error: "+X)}},!0)}}else b(
|
|
152
|
-
y(this,"enableRatingWidgets",function(c){D?(b(
|
|
153
|
-
b(
|
|
154
|
-
(k=g.find(function(n){return n.type===c}),
|
|
155
|
-
a).call(a,"survey",c)},showRating:function(c){return b(
|
|
156
|
-
b(
|
|
157
|
-
|
|
158
|
-
c.type+"]");return}b(
|
|
159
|
-
function(c,
|
|
160
|
-
(b(
|
|
161
|
-
return}var m=window.origin||window.location.origin;if("rating"===c.type){b(
|
|
162
|
-
n+="&app_version="+a.app_version;n+="&sdk_version="+b(
|
|
163
|
-
"present_feedback_widget, Loaded iframe.")};for(var X=document.getElementById("csbg");X;)X.remove(),X=document.getElementById("csbg"),b(
|
|
164
|
-
"survey"===c.type&&(
|
|
165
|
-
document.createElement("div");
|
|
166
|
-
A,
|
|
167
|
-
a).call(a,f.VERBOSE,"present_feedback_widget, Removing old stickers"),N[0].remove();A.appearance.hideS||(b(
|
|
168
|
-
A.appearance.position+"-"+A.appearance.size,N.id="countly-feedback-sticker-"+A._id,document.body.appendChild(N),M(document.getElementById("countly-feedback-sticker-"+A._id),"click",function(){document.getElementById("countly-ratings-wrapper-"+A._id).style.display="flex";document.getElementById("csbg").style.display="block"}));M(document.getElementById("countly-feedback-close-icon-"+
|
|
169
|
-
"none"})};if("survey"===c.type){var
|
|
170
|
-
function(){
|
|
171
|
-
"readystatechange",function(A){"complete"!==A.target.readyState||
|
|
172
|
-
m)}b(
|
|
173
|
-
n.y+"px";g.style.left=n.x+"px"}else b(
|
|
174
|
-
typeof c.stack?k=c.stack:("undefined"!==typeof c.name&&(k+=c.name+":"),"undefined"!==typeof c.message&&(k+=c.message+"\n"),"undefined"!==typeof c.fileName&&(k+="in "+c.fileName+"\n"),"undefined"!==typeof c.lineNumber&&(k+="on "+c.lineNumber),"undefined"!==typeof c.columnNumber&&(k+=":"+c.columnNumber)):k=c+"";if(k.length>
|
|
175
|
-
n;k++)c[k].length>b(
|
|
176
|
-
a,[]);k._nonfatal=
|
|
177
|
-
b(
|
|
178
|
-
"prerender"===document.visibilityState&&(a.ignore_visitor=!0,b(
|
|
179
|
-
(e&&"function"==typeof
|
|
180
|
-
|
|
181
|
-
b(
|
|
182
|
-
b(
|
|
183
|
-
1),(new URLSearchParams(k)).forEach(function(
|
|
184
|
-
width:
|
|
185
|
-
g.y+"px";
|
|
186
|
-
JSON.stringify(c.data)+"]");var g=c.data;c=g.close;var k=g.link,n=g.event;g=g.resize_me;if(n){b(
|
|
187
|
-
typeof k&&(1===c&&(b(
|
|
188
|
-
n.w+"px";
|
|
189
|
-
a).call(a,f.ERROR,"Widget with same ID exists");else try{var g=document.createElement("div");g.className="countly-iframe-wrapper";g.id="countly-iframe-wrapper-"+c._id;var k=document.createElement("span");k.className="countly-feedback-close-icon";k.id="countly-feedback-close-icon-"+c._id;k.innerText="x";var n=document.createElement("iframe");
|
|
190
|
-
b(
|
|
191
|
-
"svg-inline--fa fa-grin fa-w-16");m.setAttribute("role","img");m.setAttribute("xmlns","http://www.w3.org/2000/svg");m.setAttribute("viewBox","0 0 496 512");var u=document.createElementNS("http://www.w3.org/2000/svg","path");u.id="smileyPathInStickerSvg";u.setAttribute("fill","white");u.setAttribute("d","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z");
|
|
192
|
-
var x=document.createElement("span");x.innerText=c.trigger_button_text;var C=document.createElement("div");C.style.color=7>c.trigger_font_color.length?"#"+c.trigger_font_color:c.trigger_font_color;C.style.backgroundColor=7>c.trigger_bg_color.length?"#"+c.trigger_bg_color:c.trigger_bg_color;C.className="countly-feedback-sticker "+c.trigger_position+"-"+c.trigger_size;C.id="countly-feedback-sticker-"+c._id;m.appendChild(u);C.appendChild(m);C.appendChild(x);document.body.appendChild(C);var
|
|
193
|
-
|
|
194
|
-
R)}else b(
|
|
195
|
-
L()-b(
|
|
196
|
-
parseInt(c)<=L())l(
|
|
197
|
-
b(
|
|
198
|
-
c),b(
|
|
199
|
-
a).call(a);if(b(
|
|
200
|
-
(
|
|
201
|
-
|
|
202
|
-
b(
|
|
203
|
-
m),
|
|
204
|
-
0<g.length){var k=a,n=0;try{w.i[g[n]]&&(k=w.i[g[n]],n++)}catch(u){b(
|
|
205
|
-
g.slice(n+1))):0===g[n].indexOf("feedback.")?(m=g[n].replace("feedback.",""),"function"===typeof k.feedback[m]&&k.feedback[m].apply(k,g.slice(n+1))):"function"===typeof w[g[n]]&&w[g[n]].apply(w,g.slice(n+1))}}}});q(this,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
c
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
a.
|
|
215
|
-
"function"===typeof k&&k(!0,g,
|
|
216
|
-
|
|
217
|
-
f.DEBUG,"
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
function
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
a.
|
|
229
|
-
|
|
230
|
-
"
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
b(
|
|
238
|
-
|
|
239
|
-
0);
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
72
|
+
localStorage.removeItem("cly_hc_warning_count"),localStorage.removeItem("cly_hc_status_code"),localStorage.removeItem("cly_hc_error_message"),localStorage.removeItem("cly_hc_backoff_count"),localStorage.removeItem("cly_hc_consecutive_backoff_count")}catch(t){b(e,a).call(a,f.ERROR,"halt, Local storage test failed, will fallback to cookies"),l(Ma,a,!1)}w.features="sessions events views scrolls clicks forms crashes attribution users star-rating location apm feedback remote-config".split(" ");l(V,a,{});
|
|
73
|
+
for(var h=0;h<w.features.length;h++)b(V,a)[w.features[h]]={};a.app_key=void 0;a.device_id=void 0;a.onload=void 0;a.utm=void 0;a.ignore_prefetch=void 0;a.debug=void 0;a.test_mode=void 0;a.test_mode_eq=void 0;a.metrics=void 0;a.headers=void 0;a.url=void 0;a.app_version=void 0;a.country_code=void 0;a.city=void 0;a.ip_address=void 0;a.ignore_bots=void 0;a.force_post=void 0;a.rcAutoOptinAb=void 0;a.useExplicitRcApi=void 0;a.remote_config=void 0;a.ignore_visitor=void 0;l(pb,a,void 0);a.track_domains=void 0;
|
|
74
|
+
a.storage=void 0;a.enableOrientationTracking=void 0;a.salt=void 0;l(Q,a,void 0);l(O,a,void 0);l(ka,a,void 0);l(qb,a,void 0);l(Pa,a,void 0);l(Qa,a,void 0);l(ub,a,void 0);l(sb,a,void 0);l(tb,a,void 0);l(Za,a,void 0);b(Sa,a)&&(clearTimeout(b(Sa,a)),l(Sa,a,null));b(Ta,a)&&(clearTimeout(b(Ta,a)),l(Ta,a,null));l(xa,a,null);l(Hc,a,null);l(Z,a,null);l(Ra,a,"not_started")});y(this,"sdk_version",function(){return b(va,a)});y(this,"sdk_name",function(){return b(Ea,a)});y(this,"group_features",function(h){b(e,
|
|
75
|
+
a).call(a,f.INFO,"group_features, Grouping features");if(h)for(var t in h)b(V,a)[t]?b(e,a).call(a,f.WARNING,"group_features, Feature name ["+t+"] is already reserved"):"string"===typeof h[t]?b(V,a)[t]={features:[h[t]]}:h[t]&&Array.isArray(h[t])&&h[t].length?b(V,a)[t]={features:h[t]}:b(e,a).call(a,f.ERROR,"group_features, Incorrect feature list for ["+t+"] value: ["+h[t]+"]");else b(e,a).call(a,f.ERROR,"group_features, Incorrect features:["+h+"]")});y(this,"check_consent",function(h){b(e,a).call(a,
|
|
76
|
+
f.INFO,"check_consent, Checking if consent is given for specific feature:["+h+"]");if(!b(pb,a))return b(e,a).call(a,f.INFO,"check_consent, require_consent is off, no consent is necessary"),!0;if(b(V,a)[h])return!(!b(V,a)[h]||!b(V,a)[h].optin);b(e,a).call(a,f.ERROR,"check_consent, No feature available for ["+h+"]");return!1});y(this,"get_device_id_type",function(){b(e,a).call(a,f.INFO,"check_device_id_type, Retrieving the current device id type.["+b(P,a)+"]");switch(b(P,a)){case 1:var h=a.DeviceIdType.SDK_GENERATED;
|
|
77
|
+
break;case 3:case 0:h=a.DeviceIdType.DEVELOPER_SUPPLIED;break;case 2:h=a.DeviceIdType.TEMPORARY_ID;break;default:h=-1}return h});y(this,"get_device_id",function(){b(e,a).call(a,f.INFO,"get_device_id, Retrieving the device id: ["+a.device_id+"]");return a.device_id});y(this,"check_any_consent",function(){b(e,a).call(a,f.INFO,"check_any_consent, Checking if any consent is given");if(!b(pb,a))return b(e,a).call(a,f.INFO,"check_any_consent, require_consent is off, no consent is necessary"),!0;for(var h in b(V,
|
|
78
|
+
a))if(b(V,a)[h]&&b(V,a)[h].optin)return!0;b(e,a).call(a,f.INFO,"check_any_consent, No consents given");return!1});y(this,"add_consent",function(h){b(e,a).call(a,f.INFO,"add_consent, Adding consent for ["+h+"]");if(Array.isArray(h))for(var t=0;t<h.length;t++)a.add_consent(h[t]);else b(V,a)[h]?b(V,a)[h].features?(b(V,a)[h].optin=!0,a.add_consent(b(V,a)[h].features)):!0!==b(V,a)[h].optin&&(b(V,a)[h].optin=!0,b(id,a).call(a),setTimeout(function(){"sessions"===h&&b(ua,a).begin_session?(a.begin_session.apply(a,
|
|
79
|
+
b(ua,a).begin_session),b(ua,a).begin_session=null):"views"===h&&b(ua,a).track_pageview&&(l(ja,a,null),a.track_pageview.apply(a,b(ua,a).track_pageview),b(ua,a).track_pageview=null)},1)):b(e,a).call(a,f.ERROR,"add_consent, No feature available for ["+h+"]")});y(this,"remove_consent",function(h){b(e,a).call(a,f.INFO,"remove_consent, Removing consent for ["+h+"]");a.remove_consent_internal(h,!0)});y(this,"remove_consent_internal",function(h,t){t=t||!1;if(Array.isArray(h))for(var c=0;c<h.length;c++)a.remove_consent_internal(h[c],
|
|
80
|
+
t);else b(V,a)[h]?b(V,a)[h].features?a.remove_consent_internal(b(V,a)[h].features,t):(b(V,a)[h].optin=!1,t&&!1!==b(V,a)[h].optin&&b(id,a).call(a)):b(e,a).call(a,f.WARNING,"remove_consent, No feature available for ["+h+"]")});y(this,"enable_offline_mode",function(){b(U,a)?b(e,a).call(a,f.WARNING,"enable_offline_mode, Countly is already in offline mode."):(b(e,a).call(a,f.INFO,"enable_offline_mode, Enabling offline mode"),a.remove_consent_internal(w.features,!1),l(U,a,!0),b(Oc,a).call(a),a.device_id=
|
|
81
|
+
"[CLY]_temp_id",l(P,a,2))});y(this,"disable_offline_mode",function(h){if(b(U,a)){b(e,a).call(a,f.INFO,"disable_offline_mode, Disabling offline mode");l(U,a,!1);h&&a.device_id!==h?(a.device_id=h,l(P,a,0),b(B,a).call(a,"cly_id",a.device_id),b(B,a).call(a,"cly_id_type",0),b(e,a).call(a,f.INFO,"disable_offline_mode, Changing id to: "+a.device_id)):(a.device_id=b(Sc,a).call(a),"[CLY]_temp_id"===a.device_id&&(a.device_id=$c()),a.device_id!==b(F,a).call(a,"cly_id")&&(b(B,a).call(a,"cly_id",a.device_id),
|
|
82
|
+
b(B,a).call(a,"cly_id_type",1)));h=!1;if(0<b(H,a).length)for(var t=0;t<b(H,a).length;t++)"[CLY]_temp_id"===b(H,a)[t].device_id&&(b(H,a)[t].device_id=a.device_id,b(H,a)[t].t=b(P,a),h=!0);h&&b(B,a).call(a,"cly_queue",b(H,a),!0);b(Zb,a)&&(b(Aa,a).sendInstantHCRequest(),l(Zb,a,!1));b(Jc,a).call(a);b(Jb,a)&&(b($a,a).call(a),l(Ec,a,!0))}else b(e,a).call(a,f.WARNING,"disable_offline_mode, Countly was not in offline mode.")});y(this,"begin_session",function(h,t){if(b(Ib,a))if(b(e,a).call(a,f.INFO,"begin_session, Starting the session. There was an ongoing session: ["+
|
|
83
|
+
b(oa,a)+"]"),h&&b(e,a).call(a,f.INFO,"begin_session, Heartbeats are disabled"),t&&b(e,a).call(a,f.INFO,"begin_session, Session starts irrespective of session cookie"),a.check_consent("sessions")){if(!b(oa,a)){if(a.enableOrientationTracking){b(ld,a).call(a);var c;M(window,"resize",function(){clearTimeout(c);c=setTimeout(function(){b(ld,a).call(a)},200)})}l(Ba,a,L());l(oa,a,!0);l(fb,a,!h);h=b(F,a).call(a,"cly_session");b(e,a).call(a,f.VERBOSE,"begin_session, Session state, forced: ["+t+"], useSessionCookie: ["+
|
|
84
|
+
b(Ca,a)+"], seconds to expire: ["+(h-b(Ba,a))+"], expired: ["+(parseInt(h)<=L())+"] ");if(t||!b(Ca,a)||!h||parseInt(h)<=L())b(e,a).call(a,f.INFO,"begin_session, Session started"),null===b(Wa,a)&&l(Wa,a,!0),t={begin_session:1},t.metrics=JSON.stringify(b(Sb,a).call(a)),a.userData.save(!0),b(ea,a).call(a,t);b(B,a).call(a,"cly_session",L()+60*b(jb,a))}}else b(ua,a).begin_session=[h,t];else b(e,a).call(a,f.INFO,"begin_session, Session tracking is disabled by server config")});y(this,"session_duration",
|
|
85
|
+
function(h){b(Ib,a)?(b(e,a).call(a,f.INFO,"session_duration, Reporting session duration: ["+h+"]"),a.check_consent("sessions")&&(b(oa,a)?(b(e,a).call(a,f.INFO,"session_duration, Session extended: ["+h+"]"),a.userData.save(!0),b(ea,a).call(a,{session_duration:h}),b(qd,a).call(a)):b(e,a).call(a,f.DEBUG,"session_duration, No session was started"))):b(e,a).call(a,f.INFO,"session_duration, Session tracking is disabled by server config")});y(this,"end_session",function(h,t){b(Ib,a)||t?(b(e,a).call(a,f.INFO,
|
|
86
|
+
"end_session, Ending the current session. There was an on going session:["+b(oa,a)+"]"),a.check_consent("sessions")&&b(oa,a)&&(h=h||L()-b(Ba,a),b(Rc,a).call(a),!b(Ca,a)||t?(b(e,a).call(a,f.INFO,"end_session, Session ended"),a.userData.save(!0),b(ea,a).call(a,{end_session:1,session_duration:h})):a.session_duration(h),l(oa,a,!1))):b(e,a).call(a,f.INFO,"end_session, Session tracking is disabled by server config")});y(this,"set_id",function(h){b(e,a).call(a,f.INFO,"set_id, Changing the device ID to:["+
|
|
87
|
+
h+"]");null==h||""===h?b(e,a).call(a,f.WARNING,"set_id, The provided device is not a valid ID"):0===b(P,a)?a.change_id(h,!1):a.change_id(h,!0)});y(this,"change_id",function(h,t){b(e,a).call(a,f.INFO,"change_id, Changing the device ID to: ["+h+"] with merge:["+t+"]");if(h&&"string"===typeof h&&0!==h.length)if(b(U,a))b(e,a).call(a,f.WARNING,"change_id, Offline mode was on, initiating disabling sequence instead."),a.disable_offline_mode(h);else if(a.device_id==h)b(e,a).call(a,f.DEBUG,"change_id, Provided device ID is equal to the current device ID. Aborting.");
|
|
88
|
+
else{t||(b(za,a).call(a),b(ya,a).call(a),a.end_session(null,!0),l(sa,a,{}),a.remove_consent_internal(w.features,!1));var c=a.device_id;a.device_id=h;a.device_id=a.device_id;l(P,a,0);b(B,a).call(a,"cly_id",a.device_id);b(B,a).call(a,"cly_id_type",0);b(e,a).call(a,f.INFO,"change_id, Changing ID from:["+c+"] to ["+h+"]");t?b(ea,a).call(a,{old_device_id:c}):a.begin_session(!b(fb,a),!0);a.remote_config&&(l(fa,a,{}),b(B,a).call(a,"cly_remote_configs",b(fa,a)),t?(b(Ta,a)&&clearTimeout(b(Ta,a)),l(Ta,a,setTimeout(function(){l(Ta,
|
|
89
|
+
a,null);a.fetch_remote_config(a.remote_config)},1E3))):a.fetch_remote_config(a.remote_config))}else b(e,a).call(a,f.WARNING,"change_id, The provided device ID is not a valid ID")});y(this,"add_event",function(h){b(e,a).call(a,f.INFO,"add_event, Adding event: ",h);switch(h.key){case da.NPS:var t=a.check_consent("feedback");break;case da.SURVEY:t=a.check_consent("feedback");break;case da.STAR_RATING:t=a.check_consent("star-rating");break;case da.VIEW:t=a.check_consent("views");break;case da.ORIENTATION:t=
|
|
90
|
+
a.check_consent("users");break;case da.ACTION:t=a.check_consent("clicks")||a.check_consent("scrolls");break;default:t=b(uc,a)?a.check_consent("events"):!1}t&&b(pa,a).call(a,h)});y(this,"attempt_to_send_stored_requests",function(){b(e,a).call(a,f.INFO,"attemptToSendStoredRequests, Attempting to send stored requests");b(za,a).call(a);b(ya,a).call(a)});y(this,"test_mode_rq",function(h){b(e,a).call(a,f.INFO,"test_mode_rq, Setting test mode to: ["+h+"]");a.test_mode=h});q(this,pa,function(h,t){if(a.ignore_visitor||
|
|
91
|
+
!b(Hb,a))b(e,a).call(a,f.WARNING,"Not adding the event. Tracking is disabled by the server config:["+!b(Hb,a)+"] or ignore_visitor is:["+a.ignore_visitor+"]");else if(h.key)if(b(gc,a)||a.userData.save(!0),h.count||(h.count=1),b(Qd,a).call(a,h.key)){var c=h.key;ve.includes(h.key)||(h.key=I(h.key,b(Q,a),"add_cly_event",b(e,a)));h.segmentation=b(Rd,a).call(a,h.key,h.segmentation);h.segmentation=Ia(h.segmentation,b(Q,a),b(O,a),b(ka,a),"add_cly_event",b(e,a));h=Tb(h,["key","count","sum","dur","segmentation"]);
|
|
92
|
+
h.timestamp=yb();var d=new Date;h.hour=d.getHours();h.dow=d.getDay();h.id=t||Zc();h.key===da.VIEW?h.pvid=b(Db,a)||"":h.cvid=b(Na,a)||"";b(Y,a).push(h);b(B,a).call(a,"cly_event",b(Y,a));b(e,a).call(a,f.INFO,"With event ID: ["+h.id+"], successfully adding the last event:",h);b(Sd,a).call(a,c,h.id)}else b(e,a).call(a,f.DEBUG,"add_cly_event, Event was filtered out by behavior settings: ["+h.key+"]");else b(e,a).call(a,f.ERROR,"Adding event failed. Event must have a key property")});q(this,Qd,function(h){return b(Kb,
|
|
93
|
+
a)&&0<b(Kb,a).length?-1===b(Kb,a).indexOf(h):b(Lb,a)&&0<b(Lb,a).length?-1!==b(Lb,a).indexOf(h):!0});q(this,Rd,function(h,t){if(!t||"object"!==T(t))return t;var c={},d;for(d in t)Object.prototype.hasOwnProperty.call(t,d)&&(c[d]=t[d]);if(b(Ob,a)&&0<b(Ob,a).length)b(Ob,a).forEach(function(n){delete c[n]});else if(b(Pb,a)&&0<b(Pb,a).length)for(var g in c)Object.prototype.hasOwnProperty.call(c,g)&&-1===b(Pb,a).indexOf(g)&&delete c[g];t=b(Cc,a)[h];if(Array.isArray(t)&&0<t.length)t.forEach(function(n){delete c[n]});
|
|
94
|
+
else if(h=b(Dc,a)[h],Array.isArray(h)&&0<h.length)for(var k in c)Object.prototype.hasOwnProperty.call(c,k)&&-1===h.indexOf(k)&&delete c[k];return c});q(this,Rb,function(h){return b(Mb,a)&&0<b(Mb,a).length?-1===b(Mb,a).indexOf(h):b(Nb,a)&&0<b(Nb,a).length?-1!==b(Nb,a).indexOf(h):!0});q(this,jd,function(h){if(!h||"object"!==T(h))return h;var t={},c;for(c in h)Object.prototype.hasOwnProperty.call(h,c)&&b(Rb,a).call(a,c)&&(t[c]=h[c]);return t});q(this,Sd,function(h,t){Array.isArray(b(Qb,a))&&0!==b(Qb,
|
|
95
|
+
a).length&&-1!==b(Qb,a).indexOf(h)&&(b(e,a).call(a,f.DEBUG,"journeyTrigger, Matched journey trigger event: ["+h+"]"),b(za,a).call(a),b(ya,a).call(a),t&&b(Za,a).add(t),b(sb,a)?(b(e,a).call(a,f.DEBUG,"journeyTrigger, Already processing, marking as pending"),l(tb,a,!0)):b(kd,a).call(a))});q(this,kd,Xc(bb().m(function t(){var c;return bb().w(function(d){for(;;)switch(d.p=d.n){case 0:if(!b(sb,a)){d.n=1;break}return d.a(2);case 1:return l(sb,a,!0),l(tb,a,!1),d.p=2,d.n=3,b(Td,a).call(a);case 3:(c=d.v)?b(Lc,
|
|
96
|
+
a).call(a):b(e,a).call(a,f.DEBUG,"journeyTrigger, Could not flush request queue before content refresh");case 4:return d.p=4,l(sb,a,!1),b(tb,a)&&(b(e,a).call(a,f.DEBUG,"journeyTrigger, Processing pending journey trigger"),l(tb,a,!1),setTimeout(function(){b(za,a).call(a);b(ya,a).call(a);b(kd,a).call(a)},0)),d.f(4);case 5:return d.a(2)}},t,null,[[2,,4,5]])})));q(this,Td,Xc(bb().m(function c(){var d,g,k;return bb().w(function(n){for(;;)switch(n.n){case 0:null!==b(xa,a)&&b(Ic,a).call(a);d=b(H,a).length;
|
|
97
|
+
if(0!==d){n.n=1;break}return n.a(2,!0);case 1:g=0;case 2:if(!(g<d)){n.n=6;break}n.n=3;return b(Ud,a).call(a);case 3:if(k=n.v){n.n=4;break}return n.a(2,!1);case 4:if(0!==b(H,a).length){n.n=5;break}return n.a(2,!0);case 5:g++;n.n=2;break;case 6:return n.a(2,0===b(H,a).length)}},c)})));q(this,Ud,function(){return new Promise(function(){var c=Xc(bb().m(function k(g){var n;return bb().w(function(m){for(;;)switch(m.n){case 0:if(!b(U,a)){m.n=1;break}g(!1);return m.a(2);case 1:if(0!==b(H,a).length){m.n=2;
|
|
98
|
+
break}g(!0);return m.a(2);case 2:n=0;case 3:if(!((!b(Ka,a)||b(Fa,a)||L()<=b(Ua,a))&&5>n)){m.n=5;break}n++;m.n=4;return b(Wd,a).call(a,500);case 4:m.n=3;break;case 5:if(!(!b(Ka,a)||b(Fa,a)||L()<=b(Ua,a))){m.n=6;break}g(!1);return m.a(2);case 6:b(rd,a).call(a,"journey_trigger_send_request",function(u){b(Vd,a).call(a,u)}).then(function(u){g(u)});case 7:return m.a(2)}},k)}));return function(g){return c.apply(this,arguments)}}())});q(this,Vd,function(c){if(c&&c.events)try{var d=JSON.parse(c.events);if(Array.isArray(d))for(c=
|
|
99
|
+
0;c<d.length;c++){var g=d[c];if(g&&g.id&&b(Za,a).has(g.id))b(Za,a)["delete"](g.id)}}catch(k){b(e,a).call(a,f.DEBUG,"journeyTrigger, Could not parse events while marking sent ids")}});q(this,Lc,function(c){var d=c||0;"undefined"!==typeof document&&document.getElementById(b(nb,a))?b(e,a).call(a,f.DEBUG,"journeyTrigger, Content is already being displayed, skipping content request"):b(Za,a)&&0<b(Za,a).size?(b(e,a).call(a,f.DEBUG,"journeyTrigger, Pending journey events not yet confirmed sent. Deferring content refresh."),
|
|
100
|
+
setTimeout(function(){b(Lc,a).call(a,d)},300)):b(Pc,a).call(a,function(g){!g&&3>d+1&&setTimeout(function(){b(Lc,a).call(a,d+1)},1E3)})});q(this,Wd,function(c){return new Promise(function(d){return setTimeout(d,c)})});y(this,"start_event",function(c){c&&"string"===typeof c?(b(e,a).call(a,f.INFO,"start_event, Starting timed event with key: ["+c+"]"),c=I(c,b(Q,a),"start_event",b(e,a)),b(sa,a)[c]?b(e,a).call(a,f.WARNING,"start_event, Timed event with key: ["+c+"] already started"):b(sa,a)[c]=L()):b(e,
|
|
101
|
+
a).call(a,f.WARNING,"start_event, you have to provide a valid string key instead of: ["+c+"]")});y(this,"cancel_event",function(c){if(!c||"string"!==typeof c)return b(e,a).call(a,f.WARNING,"cancel_event, you have to provide a valid string key instead of: ["+c+"]"),!1;b(e,a).call(a,f.INFO,"cancel_event, Canceling timed event with key: ["+c+"]");c=I(c,b(Q,a),"cancel_event",b(e,a));if(b(sa,a)[c])return delete b(sa,a)[c],b(e,a).call(a,f.INFO,"cancel_event, Timed event with key: ["+c+"] is canceled"),
|
|
102
|
+
!0;b(e,a).call(a,f.WARNING,"cancel_event, Timed event with key: ["+c+"] was not found");return!1});y(this,"end_event",function(c){c?(b(e,a).call(a,f.INFO,"end_event, Ending timed event"),"string"===typeof c&&(c=I(c,b(Q,a),"end_event",b(e,a)),c={key:c}),c.key?b(sa,a)[c.key]?(c.dur=L()-b(sa,a)[c.key],a.add_event(c),delete b(sa,a)[c.key]):b(e,a).call(a,f.ERROR,"end_event, Timed event with key: ["+c.key+"] was not started"):b(e,a).call(a,f.ERROR,"end_event, Timed event must have a key property")):b(e,
|
|
103
|
+
a).call(a,f.WARNING,"end_event, you have to provide a valid string key or event object instead of: ["+c+"]")});q(this,ld,function(c){b(e,a).call(a,f.INFO,"report_orientation, Reporting orientation");a.check_consent("users")&&b(pa,a).call(a,{key:da.ORIENTATION,segmentation:{mode:c||(window.innerWidth>window.innerHeight?"landscape":"portrait")}})});y(this,"report_conversion",function(c,d){b(e,a).call(a,f.WARNING,"report_conversion, Deprecated function call! Use 'recordDirectAttribution' in place of this call. Call will be redirected now!");
|
|
104
|
+
a.recordDirectAttribution(c,d)});y(this,"recordDirectAttribution",function(c,d){b(e,a).call(a,f.INFO,"recordDirectAttribution, Recording the attribution for campaign ID: ["+c+"] and the user ID: ["+d+"]");a.check_consent("attribution")&&(c=c||b(F,a).call(a,"cly_cmp_id")||"cly_organic",(d=d||b(F,a).call(a,"cly_cmp_uid"))?b(ea,a).call(a,{campaign_id:c,campaign_user:d}):b(ea,a).call(a,{campaign_id:c}))});y(this,"user_details",function(c){b(e,a).call(a,f.INFO,"user_details, Trying to add user details: ",
|
|
105
|
+
c);if(a.check_consent("users")){b(za,a).call(a);b(ya,a).call(a);b(e,a).call(a,f.INFO,"user_details, flushed the event queue");for(var d in c)"custom"===d||b(Rb,a).call(a,d)||(b(e,a).call(a,f.DEBUG,"user_details, User property filtered by behavior settings: ["+d+"]"),delete c[d]);c.name=I(c.name,b(O,a),"user_details",b(e,a));c.username=I(c.username,b(O,a),"user_details",b(e,a));c.email=I(c.email,b(O,a),"user_details",b(e,a));c.organization=I(c.organization,b(O,a),"user_details",b(e,a));c.phone=I(c.phone,
|
|
106
|
+
b(O,a),"user_details",b(e,a));c.picture=I(c.picture,4096,"user_details",b(e,a));c.gender=I(c.gender,b(O,a),"user_details",b(e,a));c.byear=I(c.byear,b(O,a),"user_details",b(e,a));c.custom=b(jd,a).call(a,c.custom);c.custom=Ia(c.custom,b(Q,a),b(O,a),b(ka,a),"user_details",b(e,a));a.userData.save();b(ea,a).call(a,{user_details:JSON.stringify(Tb(c,"name username email organization phone picture gender byear custom".split(" ")))})}});q(this,ha,{});q(this,Ga,function(c,d,g){a.check_consent("users")&&(b(Rb,
|
|
107
|
+
a).call(a,c)?(b(ha,a)[c]||(b(ha,a)[c]={}),"$push"===g||"$pull"===g||"$addToSet"===g?(b(ha,a)[c][g]||(b(ha,a)[c][g]=[]),b(ha,a)[c][g].push(d)):b(ha,a)[c][g]=d):b(e,a).call(a,f.DEBUG,"[userData] change_custom_property, User property filtered by behavior settings: ["+c+"]"))});y(this,"userData",{set:function(c,d){b(e,a).call(a,f.INFO,"[userData] set, Setting user's custom property value: ["+d+"] under the key: ["+c+"]");c=I(c,b(Q,a),"userData set",b(e,a));d=I(d,b(O,a),"userData set",b(e,a));b(Rb,a).call(a,
|
|
108
|
+
c)?b(ha,a)[c]=d:b(e,a).call(a,f.DEBUG,"[userData] set, User property filtered by behavior settings: ["+c+"]")},unset:function(c){b(e,a).call(a,f.INFO,"[userData] unset, Resetting user's custom property with key: ["+c+"] ");b(Rb,a).call(a,c)?b(ha,a)[c]="":b(e,a).call(a,f.DEBUG,"[userData] unset, User property filtered by behavior settings: ["+c+"]")},set_once:function(c,d){b(e,a).call(a,f.INFO,"[userData] set_once, Setting user's unique custom property value: ["+d+"] under the key: ["+c+"] ");c=I(c,
|
|
109
|
+
b(Q,a),"userData set_once",b(e,a));d=I(d,b(O,a),"userData set_once",b(e,a));b(Ga,a).call(a,c,d,"$setOnce")},increment:function(c){b(e,a).call(a,f.INFO,"[userData] increment, Increasing user's custom property value under the key: ["+c+"] by one");c=I(c,b(Q,a),"userData increment",b(e,a));b(Ga,a).call(a,c,1,"$inc")},increment_by:function(c,d){b(e,a).call(a,f.INFO,"[userData] increment_by, Increasing user's custom property value under the key: ["+c+"] by: ["+d+"]");c=I(c,b(Q,a),"userData increment_by",
|
|
110
|
+
b(e,a));d=I(d,b(O,a),"userData increment_by",b(e,a));b(Ga,a).call(a,c,d,"$inc")},multiply:function(c,d){b(e,a).call(a,f.INFO,"[userData] multiply, Multiplying user's custom property value under the key: ["+c+"] by: ["+d+"]");c=I(c,b(Q,a),"userData multiply",b(e,a));d=I(d,b(O,a),"userData multiply",b(e,a));b(Ga,a).call(a,c,d,"$mul")},max:function(c,d){b(e,a).call(a,f.INFO,"[userData] max, Saving user's maximum custom property value compared to the value: ["+d+"] under the key: ["+c+"]");c=I(c,b(Q,
|
|
111
|
+
a),"userData max",b(e,a));d=I(d,b(O,a),"userData max",b(e,a));b(Ga,a).call(a,c,d,"$max")},min:function(c,d){b(e,a).call(a,f.INFO,"[userData] min, Saving user's minimum custom property value compared to the value: ["+d+"] under the key: ["+c+"]");c=I(c,b(Q,a),"userData min",b(e,a));d=I(d,b(O,a),"userData min",b(e,a));b(Ga,a).call(a,c,d,"$min")},push:function(c,d){b(e,a).call(a,f.INFO,"[userData] push, Pushing a value: ["+d+"] under the key: ["+c+"] to user's custom property array");c=I(c,b(Q,a),"userData push",
|
|
112
|
+
b(e,a));d=I(d,b(O,a),"userData push",b(e,a));b(Ga,a).call(a,c,d,"$push")},push_unique:function(c,d){b(e,a).call(a,f.INFO,"[userData] push_unique, Pushing a unique value: ["+d+"] under the key: ["+c+"] to user's custom property array");c=I(c,b(Q,a),"userData push_unique",b(e,a));d=I(d,b(O,a),"userData push_unique",b(e,a));b(Ga,a).call(a,c,d,"$addToSet")},pull:function(c,d){b(e,a).call(a,f.INFO,"[userData] pull, Removing the value: ["+d+"] under the key: ["+c+"] from user's custom property array");
|
|
113
|
+
b(Ga,a).call(a,c,d,"$pull")},save:function(c){b(e,a).call(a,f.INFO,"[userData] save, Saving changes to user's custom property. forEvents:["+c+"]");if(a.check_consent("users")&&0!==Object.keys(b(ha,a)).length){if(!c){b(e,a).call(a,f.DEBUG,"[userData] save, flushing async queue and event queue before sending custom user data");l(gc,a,!0);try{b(za,a).call(a)}finally{l(gc,a,!1)}b(ya,a).call(a)}l(ha,a,b(jd,a).call(a,b(ha,a)));0!==Object.keys(b(ha,a)).length&&(b(e,a).call(a,f.INFO,"[userData] save, will send the following custom data to server: ["+
|
|
114
|
+
JSON.stringify(b(ha,a))+"]"),b(ea,a).call(a,{user_details:JSON.stringify({custom:b(ha,a)})}),l(ha,a,{}))}}});y(this,"report_trace",function(c){b(e,a).call(a,f.INFO,"report_trace, Reporting performance trace");if(a.check_consent("apm")){for(var d="type name stz etz apm_metrics apm_attr".split(" "),g=0;g<d.length;g++)if("apm_attr"!==d[g]&&"undefined"===typeof c[d[g]]){b(e,a).call(a,f.WARNING,"report_trace, APM trace don't have the property: "+d[g]);return}c.name=I(c.name,b(Q,a),"report_trace",b(e,a));
|
|
115
|
+
c.app_metrics=Ia(c.app_metrics,b(Q,a),b(O,a),b(ka,a),"report_trace",b(e,a));d=Tb(c,d);d.timestamp=c.stz;c=new Date;d.hour=c.getHours();d.dow=c.getDay();b(ea,a).call(a,{apm:JSON.stringify(d)});b(e,a).call(a,f.INFO,"report_trace, Successfully adding APM trace: ",d)}});y(this,"track_errors",function(c){D?b(bc,a)?(b(e,a).call(a,f.INFO,"track_errors, Started tracking errors"),w.i[a.app_key].tracking_crashes=!0,window.cly_crashes||(window.cly_crashes=!0,l(Wb,a,c),window.addEventListener("error",function(d){if(d.error)ad(d.error,
|
|
116
|
+
!1);else{var g=d.filename||"",k=d.lineno||0,n=d.colno||0;d=(d.message||"Unknown error")+"\n";g&&(d+="at "+g);k&&(d+=":"+k);n&&(d+=":"+n);d+="\n";ad(d+"",!1)}}),window.addEventListener("unhandledrejection",function(d){ad(Error("Unhandled rejection (reason: "+(d.reason&&d.reason.stack?d.reason.stack:d.reason)+")."),!0)}))):b(e,a).call(a,f.WARNING,"track_errors, Crash tracking is disabled by the server config. Not tracking errors."):b(e,a).call(a,f.WARNING,"track_errors, window object is not available. Not tracking errors.")});
|
|
117
|
+
y(this,"log_error",function(c,d){b(e,a).call(a,f.INFO,"log_error, Logging errors");a.recordError(c,!0,d)});y(this,"add_log",function(c){b(e,a).call(a,f.INFO,"add_log, Adding a new log of breadcrumbs: [ "+c+" ]");if(a.check_consent("crashes")){for(c=I(c,b(O,a),"add_log",b(e,a));b(Ja,a).length>=b(qb,a);)b(Ja,a).shift(),b(e,a).call(a,f.WARNING,"add_log, Reached maximum crashLogs size. Will erase the oldest one.");b(Ja,a).push(c)}});y(this,"fetch_remote_config",function(c,d,g){var k=null,n=null,m=null;
|
|
118
|
+
c&&(g||"function"!==typeof c?Array.isArray(c)&&(k=c):m=c);d&&(g||"function"!==typeof d?Array.isArray(d)&&(n=d):m=d);m||"function"!==typeof g||(m=g);a.useExplicitRcApi?(b(e,a).call(a,f.INFO,"fetch_remote_config, Fetching remote config"),c=a.rcAutoOptinAb?1:0,b(md,a).call(a,k,n,c,null,m)):(b(e,a).call(a,f.WARNING,"fetch_remote_config, Fetching remote config, with legacy API"),b(md,a).call(a,k,n,null,"legacy",m))});q(this,md,function(c,d,g,k,n){b(e,a).call(a,f.INFO,"fetch_remote_config_explicit, Fetching sequence initiated");
|
|
119
|
+
var m={method:"rc",av:a.app_version};c&&(m.keys=JSON.stringify(c));d&&(m.omit_keys=JSON.stringify(d));var u;"legacy"===k&&(m.method="fetch_remote_config");0===g&&(m.oi=0);1===g&&(m.oi=1);"function"===typeof n&&(u=n);a.check_consent("sessions")&&(m.metrics=JSON.stringify(b(Sb,a).call(a)));a.check_consent("remote-config")?(b(vb,a).call(a,m),b(qa,a).call(a,"fetch_remote_config_explicit",a.url+b(eb,a),m,function(x,C,G){if(!x){try{var R=JSON.parse(G);if(m.keys||m.omit_keys)for(var X in R)b(fa,a)[X]=R[X];
|
|
120
|
+
else l(fa,a,R);b(B,a).call(a,"cly_remote_configs",b(fa,a))}catch(J){b(e,a).call(a,f.ERROR,"fetch_remote_config_explicit, Had an issue while parsing the response: "+J)}u&&(b(e,a).call(a,f.INFO,"fetch_remote_config_explicit, Callback function is provided"),u(x,b(fa,a)))}},!0)):(b(e,a).call(a,f.ERROR,"fetch_remote_config_explicit, Remote config requires explicit consent"),u&&u(Error("Remote config requires explicit consent"),b(fa,a)))});y(this,"enrollUserToAb",function(c){b(e,a).call(a,f.INFO,"enrollUserToAb, Providing AB test keys to opt in for");
|
|
121
|
+
c&&Array.isArray(c)&&0!==c.length?(c={method:"ab",keys:JSON.stringify(c),av:a.app_version},b(vb,a).call(a,c),b(qa,a).call(a,"enrollUserToAb",a.url+b(eb,a),c,function(d,g,k){if(!d)try{var n=JSON.parse(k);b(e,a).call(a,f.DEBUG,"enrollUserToAb, Parsed the response's result: ["+n.result+"]")}catch(m){b(e,a).call(a,f.ERROR,"enrollUserToAb, Had an issue while parsing the response: "+m)}},!0)):b(e,a).call(a,f.ERROR,"enrollUserToAb, No keys provided")});y(this,"get_remote_config",function(c){b(e,a).call(a,
|
|
122
|
+
f.INFO,"get_remote_config, Getting remote config from storage");return"undefined"!==typeof c?b(fa,a)[c]:b(fa,a)});q(this,nd,function(){b(e,a).call(a,f.INFO,"stop_time, Stopping tracking duration");b(La,a)&&(l(La,a,!1),l(Xb,a,L()-b(Ba,a)),l(hb,a,L()-b(gb,a)))});q(this,Mc,function(){b(e,a).call(a,f.INFO,"start_time, Starting tracking duration");b(La,a)||(l(La,a,!0),l(Ba,a,L()-b(Xb,a)),l(gb,a,L()-b(hb,a)),l(hb,a,0),b(qd,a).call(a))});y(this,"track_sessions",function(){if(D){b(e,a).call(a,f.INFO,"track_session, Starting tracking user session");
|
|
123
|
+
a.begin_session();b(Mc,a).call(a);M(window,"beforeunload",function(){b(za,a).call(a);b(ya,a).call(a);a.end_session()});var c="hidden",d=function(){document[c]||!document.hasFocus()?b(nd,a).call(a):b(Mc,a).call(a)};M(window,"focus",d);M(window,"blur",d);M(window,"pageshow",d);M(window,"pagehide",d);"onfocusin"in document&&(M(window,"focusin",d),M(window,"focusout",d));c in document?document.addEventListener("visibilitychange",d):"mozHidden"in document?(c="mozHidden",document.addEventListener("mozvisibilitychange",
|
|
124
|
+
d)):"webkitHidden"in document?(c="webkitHidden",document.addEventListener("webkitvisibilitychange",d)):"msHidden"in document&&(c="msHidden",document.addEventListener("msvisibilitychange",d));d=function(){b(Va,a)>=b(ib,a)&&b(Mc,a).call(a);l(Va,a,0)};M(window,"mousemove",d);M(window,"click",d);M(window,"keydown",d);M(window,"scroll",d);setInterval(function(){var g;l(Va,a,(g=b(Va,a),g++,g));b(Va,a)>=b(ib,a)&&b(nd,a).call(a)},6E4)}else b(e,a).call(a,f.WARNING,"track_sessions, window object is not available. Not tracking sessions.")});
|
|
125
|
+
y(this,"track_pageview",function(c,d,g){if(D||c)if(b(ac,a))if(b(e,a).call(a,f.INFO,"track_pageview, Tracking page views"),b(e,a).call(a,f.VERBOSE,"track_pageview, last view is:["+b(ja,a)+"], current view ID is:["+b(Na,a)+"], previous view ID is:["+b(Db,a)+"]"),b(ja,a)&&b(Yb,a)&&(b(e,a).call(a,f.DEBUG,"track_pageview, Scroll registry triggered"),b(Wc,a).call(a),l(kb,a,!0),l(lb,a,0)),b(Rc,a).call(a),l(Db,a,b(Na,a)),l(Na,a,Zc()),(c=I(c,b(Q,a),"track_pageview",b(e,a)))&&Array.isArray(c)&&(d=c,c=null),
|
|
126
|
+
c||(c=a.getViewName()),void 0===c||""===c)b(e,a).call(a,f.ERROR,"track_pageview, No page name to track (it is either undefined or empty string). No page view can be tracked.");else if(null===c)b(e,a).call(a,f.ERROR,"track_pageview, View name returned as null. Page view will be ignored.");else{if(d&&d.length)for(var k=0;k<d.length;k++)try{if((new RegExp(d[k])).test(c)){b(e,a).call(a,f.INFO,"track_pageview, Ignoring the page: "+c);return}}catch(x){b(e,a).call(a,f.ERROR,"track_pageview, Problem with finding ignore list item: "+
|
|
127
|
+
d[k]+", error: "+x)}k={name:c,visit:1,view:a.getViewUrl()};k=Ia(k,b(Q,a),b(O,a),b(ka,a),"track_pageview",b(e,a));a.track_domains&&(k.domain=window.location.hostname);if(b(Ca,a))if(b(oa,a))b(Wa,a)&&(l(Wa,a,!1),k.start=1);else{var n=b(F,a).call(a,"cly_session");if(!n||parseInt(n)<=L())l(Wa,a,!1),k.start=1}else D&&"undefined"!==typeof document.referrer&&document.referrer.length&&(n=Md.exec(document.referrer))&&n[11]&&n[11]!==window.location.hostname&&(k.start=1);if(b(Da,a)&&Object.keys(b(Da,a)).length){b(e,
|
|
128
|
+
a).call(a,f.INFO,"track_pageview, Adding fresh utm tags to segmentation:["+JSON.stringify(b(Da,a))+"]");for(var m in b(Da,a))"undefined"===typeof k["utm_"+m]&&(k["utm_"+m]=b(Da,a)[m])}D&&b(Tc,a).call(a)&&(b(e,a).call(a,f.INFO,"track_pageview, Adding referrer to segmentation:["+document.referrer+"]"),k.referrer=document.referrer);if(g){g=Ia(g,b(Q,a),b(O,a),b(ka,a),"track_pageview",b(e,a));for(var u in g)"undefined"===typeof k[u]&&(k[u]=g[u])}a.check_consent("views")?(b(pa,a).call(a,{key:da.VIEW,segmentation:k},
|
|
129
|
+
b(Na,a)),l(ja,a,c),l(gb,a,L()),b(e,a).call(a,f.VERBOSE,"track_pageview, last view is assigned:["+b(ja,a)+"]")):b(ua,a).track_pageview=[c,d,g]}else b(e,a).call(a,f.WARNING,"track_pageview, View tracking is disabled by the server config. Not tracking page views.");else b(e,a).call(a,f.WARNING,"track_pageview, window object is not available. Not tracking page views as page name is not provided.")});y(this,"track_view",function(c,d,g){b(e,a).call(a,f.INFO,"track_view, Initiating tracking page views");
|
|
130
|
+
a.track_pageview(c,d,g)});y(this,"track_clicks",function(c){if(D){b(e,a).call(a,f.INFO,"track_clicks, Starting to track clicks");c&&b(e,a).call(a,f.INFO,"track_clicks, Tracking the specified children:["+c+"]");c=c||document;var d=!0;M(c,"click",function(g){if(d){d=!1;ed(g);if("undefined"!==typeof g.pageX&&"undefined"!==typeof g.pageY){var k=pc(),n=fd();a.check_consent("clicks")&&(g={type:"click",x:g.pageX,y:g.pageY,width:n,height:k,view:a.getViewUrl()},g=Ia(g,b(Q,a),b(O,a),b(ka,a),"processClick",
|
|
131
|
+
b(e,a)),a.track_domains&&(g.domain=window.location.hostname),b(pa,a).call(a,{key:da.ACTION,segmentation:g}))}setTimeout(function(){d=!0},1E3)}})}else b(e,a).call(a,f.WARNING,"track_clicks, window object is not available. Not tracking clicks.")});y(this,"track_scrolls",function(c){D?(b(e,a).call(a,f.INFO,"track_scrolls, Starting to track scrolls"),c&&b(e,a).call(a,f.INFO,"track_scrolls, Tracking the specified children"),c=c||window,l(kb,a,!0),l(Yb,a,!0),M(c,"scroll",b(wd,a)),M(c,"beforeunload",b(Wc,
|
|
132
|
+
a))):b(e,a).call(a,f.WARNING,"track_scrolls, window object is not available. Not tracking scrolls.")});y(this,"track_links",function(c){D?(b(e,a).call(a,f.INFO,"track_links, Starting to track clicks to links"),c&&b(e,a).call(a,f.INFO,"track_links, Tracking the specified children"),c=c||document,M(c,"click",function(d){a:{var g=mc(d);var k;for(k="A";g;){if(g.nodeName.toUpperCase()===k)break a;g=g.parentElement}g=void 0}g&&(ed(d),a.check_consent("clicks")&&b(pa,a).call(a,{key:"linkClick",segmentation:{href:g.href,
|
|
133
|
+
text:g.innerText,id:g.id,view:a.getViewUrl()}}))})):b(e,a).call(a,f.WARNING,"track_links, window object is not available. Not tracking links.")});y(this,"uploadUserProfilePicture",function(c){if(D)if(c&&"object"===T(c)&&c.type&&0===c.type.indexOf("image"))if("undefined"===typeof FileReader)b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: FileReader is not available in this environment.");else{var d=new FileReader;d.onerror=function(){b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: Failed to read the provided image file.")};
|
|
134
|
+
d.onload=function(){var g=d.result;if("string"!==typeof g)b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: Unable to process the selected image.");else{var k=g.indexOf(",");(g=-1===k?g:g.substring(k+1))?(b(ea,a).call(a,{__imageUpload:!0,imageData:g,imageName:c.name||"avatar",imageType:c.type||"application/octet-stream",user_details:"{}"}),b(e,a).call(a,f.INFO,"uploadUserProfilePicture: Image upload request queued.")):b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: Invalid image data received.")}};
|
|
135
|
+
d.readAsDataURL(c)}else b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: Provided file is not an image.");else b(e,a).call(a,f.ERROR,"uploadUserProfilePicture: Browser environment required.")});y(this,"track_forms",function(c,d){if(D){b(e,a).call(a,f.INFO,"track_forms, Starting to track form submissions. DOM object provided:["+!!c+"] Tracking hidden inputs :["+!!d+"]");c=c||document;var g=function(k){return k.name||k.id||k.type||k.nodeName};M(c,"submit",function(k){k=mc(k);var n={id:k.attributes.id&&
|
|
136
|
+
k.attributes.id.nodeValue,name:k.attributes.name&&k.attributes.name.nodeValue,action:k.attributes.action&&k.attributes.action.nodeValue,method:k.attributes.method&&k.attributes.method.nodeValue,view:a.getViewUrl()},m;if("undefined"!==typeof k.elements){for(var u=0;u<k.elements.length;u++)(m=k.elements[u])&&"password"!==m.type&&-1===m.className.indexOf("cly_user_ignore")&&("undefined"===typeof n["input:"+g(m)]&&(n["input:"+g(m)]=[]),"select"===m.nodeName.toLowerCase()?"undefined"!==typeof m.multiple?
|
|
137
|
+
n["input:"+g(m)].push(Cd(m)):n["input:"+g(m)].push(m.options[m.selectedIndex].value):"input"===m.nodeName.toLowerCase()?"undefined"!==typeof m.type?"checkbox"===m.type.toLowerCase()||"radio"===m.type.toLowerCase()?m.checked&&n["input:"+g(m)].push(m.value):("hidden"!==m.type.toLowerCase()||d)&&n["input:"+g(m)].push(m.value):n["input:"+g(m)].push(m.value):"textarea"===m.nodeName.toLowerCase()?n["input:"+g(m)].push(m.value):"undefined"!==typeof m.value&&n["input:"+g(m)].push(m.value));for(var x in n)n[x]&&
|
|
138
|
+
"function"===typeof n[x].join&&(n[x]=n[x].join(", "))}a.check_consent("forms")&&b(pa,a).call(a,{key:"formSubmit",segmentation:n})})}else b(e,a).call(a,f.WARNING,"track_forms, window object is not available. Not tracking forms.")});y(this,"collect_from_forms",function(c,d){D?(b(e,a).call(a,f.INFO,"collect_from_forms, Starting to collect possible user data. DOM object provided:["+!!c+"] Submitting custom user property:["+!!d+"]"),c=c||document,M(c,"submit",function(g){g=mc(g);var k={},n=!1,m;if("undefined"!==
|
|
139
|
+
typeof g.elements){var u={},x=c.getElementsByTagName("LABEL"),C;for(C=0;C<x.length;C++)x[C].htmlFor&&""!==x[C].htmlFor&&(u[x[C].htmlFor]=x[C].innerText||x[C].textContent||x[C].innerHTML);for(C=0;C<g.elements.length;C++)if((m=g.elements[C])&&"password"!==m.type&&-1===m.className.indexOf("cly_user_ignore"))if(x="","select"===m.nodeName.toLowerCase()?x="undefined"!==typeof m.multiple?Cd(m):m.options[m.selectedIndex].value:"input"===m.nodeName.toLowerCase()?"undefined"!==typeof m.type?"checkbox"===m.type.toLowerCase()||
|
|
140
|
+
"radio"===m.type.toLowerCase()?m.checked&&(x=m.value):x=m.value:x=m.value:"textarea"===m.nodeName.toLowerCase()?x=m.value:"undefined"!==typeof m.value&&(x=m.value),m.className&&-1!==m.className.indexOf("cly_user_")){var G=m.className.split(" ");for(m=0;m<G.length;m++)if(0===G[m].indexOf("cly_user_")){k[G[m].replace("cly_user_","")]=x;n=!0;break}}else if(m.type&&"email"===m.type.toLowerCase()||m.name&&-1!==m.name.toLowerCase().indexOf("email")||m.id&&-1!==m.id.toLowerCase().indexOf("email")||m.id&&
|
|
141
|
+
u[m.id]&&-1!==u[m.id].toLowerCase().indexOf("email")||/[^@\s]+@[^@\s]+\.[^@\s]+/.test(x))k.email||(k.email=x),n=!0;else if(m.name&&-1!==m.name.toLowerCase().indexOf("username")||m.id&&-1!==m.id.toLowerCase().indexOf("username")||m.id&&u[m.id]&&-1!==u[m.id].toLowerCase().indexOf("username"))k.username||(k.username=x),n=!0;else if(m.name&&(-1!==m.name.toLowerCase().indexOf("tel")||-1!==m.name.toLowerCase().indexOf("phone")||-1!==m.name.toLowerCase().indexOf("number"))||m.id&&(-1!==m.id.toLowerCase().indexOf("tel")||
|
|
142
|
+
-1!==m.id.toLowerCase().indexOf("phone")||-1!==m.id.toLowerCase().indexOf("number"))||m.id&&u[m.id]&&(-1!==u[m.id].toLowerCase().indexOf("tel")||-1!==u[m.id].toLowerCase().indexOf("phone")||-1!==u[m.id].toLowerCase().indexOf("number")))k.phone||(k.phone=x),n=!0;else if(m.name&&(-1!==m.name.toLowerCase().indexOf("org")||-1!==m.name.toLowerCase().indexOf("company"))||m.id&&(-1!==m.id.toLowerCase().indexOf("org")||-1!==m.id.toLowerCase().indexOf("company"))||m.id&&u[m.id]&&(-1!==u[m.id].toLowerCase().indexOf("org")||
|
|
143
|
+
-1!==u[m.id].toLowerCase().indexOf("company")))k.organization||(k.organization=x),n=!0;else if(m.name&&-1!==m.name.toLowerCase().indexOf("name")||m.id&&-1!==m.id.toLowerCase().indexOf("name")||m.id&&u[m.id]&&-1!==u[m.id].toLowerCase().indexOf("name"))k.name||(k.name=""),k.name+=x+" ",n=!0}n&&(b(e,a).call(a,f.INFO,"collect_from_forms, Gathered user data",k),d?a.user_details({custom:k}):a.user_details(k))})):b(e,a).call(a,f.WARNING,"collect_from_forms, window object is not available. Not collecting from forms.")});
|
|
144
|
+
y(this,"collect_from_facebook",function(c){D?"undefined"!==typeof FB&&FB&&FB.api?(b(e,a).call(a,f.INFO,"collect_from_facebook, Starting to collect possible user data"),FB.api("/me",function(d){var g={};d.name&&(g.name=d.name);d.email&&(g.email=d.email);"male"===d.gender?g.gender="M":"female"===d.gender&&(g.gender="F");if(d.birthday){var k=d.birthday.split("/").pop();k&&4===k.length&&(g.byear=k)}d.work&&d.work[0]&&d.work[0].employer&&d.work[0].employer.name&&(g.organization=d.work[0].employer.name);
|
|
145
|
+
if(c){g.custom={};for(var n in c){k=c[n].split(".");for(var m=d,u=0;u<k.length&&(m=m[k[u]],"undefined"!==typeof m);u++);"undefined"!==typeof m&&(g.custom[n]=m)}}a.user_details(g)})):b(e,a).call(a,f.ERROR,"collect_from_facebook, Facebook SDK is not available"):b(e,a).call(a,f.WARNING,"collect_from_facebook, window object is not available. Not collecting from Facebook.")});y(this,"opt_out",function(){b(e,a).call(a,f.WARNING,"opt_out, Opting out the user. Deprecated function call! Use 'consent' in place of this call.");
|
|
146
|
+
a.ignore_visitor=!0;b(B,a).call(a,"cly_ignore",!0)});y(this,"opt_in",function(){b(e,a).call(a,f.WARNING,"opt_in, Opting in the user. Deprecated function call! Use 'consent' in place of this call.");b(B,a).call(a,"cly_ignore",!1);a.ignore_visitor=!1;b(od,a).call(a);a.ignore_visitor||b(Cb,a)||b(ic,a).call(a)});y(this,"report_feedback",function(c){b(e,a).call(a,f.WARNING,"report_feedback, Deprecated function call! Use 'recordRatingWidgetWithID' or 'reportFeedbackWidgetManually' in place of this call. Call will be redirected to 'recordRatingWidgetWithID' now!");
|
|
147
|
+
a.recordRatingWidgetWithID(c)});y(this,"recordRatingWidgetWithID",function(c){b(e,a).call(a,f.INFO,"recordRatingWidgetWithID, Providing information about user with ID: [ "+c.widget_id+" ]");if(a.check_consent("star-rating"))if(c.widget_id)if(c.rating){var d={key:da.STAR_RATING,count:1,segmentation:{}};d.segmentation=Tb(c,"widget_id contactMe platform app_version rating email comment".split(" "));d.segmentation.app_version||(d.segmentation.app_version=a.metrics._app_version||a.app_version);5<d.segmentation.rating?
|
|
148
|
+
(b(e,a).call(a,f.WARNING,"recordRatingWidgetWithID, You have entered a rating higher than 5. Changing it back to 5 now."),d.segmentation.rating=5):1>d.segmentation.rating&&(b(e,a).call(a,f.WARNING,"recordRatingWidgetWithID, You have entered a rating lower than 1. Changing it back to 1 now."),d.segmentation.rating=1);b(e,a).call(a,f.INFO,"recordRatingWidgetWithID, Reporting Rating Widget: ",d);b(pa,a).call(a,d)}else b(e,a).call(a,f.ERROR,"recordRatingWidgetWithID, Rating Widget must contain rating property");
|
|
149
|
+
else b(e,a).call(a,f.ERROR,"recordRatingWidgetWithID, Rating Widget must contain widget_id property")});y(this,"reportFeedbackWidgetManually",function(c,d,g){if(a.check_consent("feedback"))if(c&&d)if(c._id)if(b(U,a))b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Feedback Widgets can not be reported in offline mode");else{b(e,a).call(a,f.INFO,"reportFeedbackWidgetManually, Providing information about user with, provided result of the widget with ID: [ "+c._id+" ] and type: ["+c.type+"]");var k=
|
|
150
|
+
[];d=c.type;if("nps"===d){if(g){if(!g.rating){b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget must contain rating property");return}g.rating=Math.round(g.rating);10<g.rating?(b(e,a).call(a,f.WARNING,"reportFeedbackWidgetManually, You have entered a rating higher than 10. Changing it back to 10 now."),g.rating=10):0>g.rating&&(b(e,a).call(a,f.WARNING,"reportFeedbackWidgetManually, You have entered a rating lower than 0. Changing it back to 0 now."),g.rating=0);k=["rating","comment"]}var n=
|
|
151
|
+
da.NPS}else if("survey"===d){if(g){if(1>Object.keys(g).length){b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget should have answers to be reported");return}k=Object.keys(g)}n=da.SURVEY}else if("rating"===d){if(g){if(!g.rating){b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget must contain rating property");return}g.rating=Math.round(g.rating);5<g.rating?(b(e,a).call(a,f.WARNING,"reportFeedbackWidgetManually, You have entered a rating higher than 5. Changing it back to 5 now."),
|
|
152
|
+
g.rating=5):1>g.rating&&(b(e,a).call(a,f.WARNING,"reportFeedbackWidgetManually, You have entered a rating lower than 1. Changing it back to 1 now."),g.rating=1);k=["rating","comment","email","contactMe"]}n=da.STAR_RATING}else{b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget has an unacceptable type");return}c={key:n,count:1,segmentation:{widget_id:c._id,platform:a.platform,app_version:a.metrics._app_version||a.app_version}};if(null===g)c.segmentation.closed=1;else{n=c.segmentation;if(k){for(var m,
|
|
153
|
+
u=0,x=k.length;u<x;u++)m=k[u],"undefined"!==typeof g[m]&&(n[m]=g[m]);g=n}else g=void 0;c.segmentation=g}b(e,a).call(a,f.INFO,"reportFeedbackWidgetManually, Reporting "+d+": ",c);b(pa,a).call(a,c)}else b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Feedback Widgets must contain _id property");else b(e,a).call(a,f.ERROR,"reportFeedbackWidgetManually, Widget data and/or Widget object not provided. Aborting.")});y(this,"show_feedback_popup",function(c){D?(b(e,a).call(a,f.WARNING,"show_feedback_popup, Deprecated function call! Use 'presentRatingWidgetWithID' in place of this call. Call will be redirected now!"),
|
|
154
|
+
presentRatingWidgetWithID(c)):b(e,a).call(a,f.WARNING,"show_feedback_popup, window object is not available. Not showing feedback popup.")});y(this,"presentRatingWidgetWithID",function(c){D?(b(e,a).call(a,f.INFO,"presentRatingWidgetWithID, Showing rating widget popup for the widget with ID: [ "+c+" ]"),a.check_consent("star-rating")&&(b(U,a)?b(e,a).call(a,f.ERROR,"presentRatingWidgetWithID, Cannot show ratingWidget popup in offline mode"):b(qa,a).call(a,"presentRatingWidgetWithID,",a.url+"/o/feedback/widget",
|
|
155
|
+
{widget_id:c,av:a.app_version},function(d,g,k){if(!d)try{var n=JSON.parse(k);b(Qc,a).call(a,n,!1)}catch(m){b(e,a).call(a,f.ERROR,"presentRatingWidgetWithID, JSON parse failed: "+m)}},!0))):b(e,a).call(a,f.WARNING,"presentRatingWidgetWithID, window object is not available. Not showing rating widget popup.")});y(this,"initialize_feedback_popups",function(c){D?(b(e,a).call(a,f.WARNING,"initialize_feedback_popups, Deprecated function call! Use 'initializeRatingWidgets' in place of this call. Call will be redirected now!"),
|
|
156
|
+
a.initializeRatingWidgets(c)):b(e,a).call(a,f.WARNING,"initialize_feedback_popups, window object is not available. Not initializing feedback popups.")});y(this,"initializeRatingWidgets",function(c){if(D){if(b(e,a).call(a,f.INFO,"initializeRatingWidgets, Initializing rating widget with provided widget IDs:[ "+c+"]"),a.check_consent("star-rating")){c||(c=b(F,a).call(a,"cly_fb_widgets"));for(var d=document.getElementsByClassName("countly-feedback-sticker");0<d.length;)d[0].remove();b(qa,a).call(a,"initializeRatingWidgets,",
|
|
157
|
+
a.url+"/o/feedback/multiple-widgets-by-id",{widgets:JSON.stringify(c),av:a.app_version},function(g,k,n){if(!g)try{var m=JSON.parse(n);for(g=0;g<m.length;g++)if("true"===m[g].is_active){var u=m[g].target_devices,x=oc();if(u[x])if("string"===typeof m[g].hide_sticker&&(m[g].hide_sticker="true"===m[g].hide_sticker),"all"!==m[g].target_page||m[g].hide_sticker){var C=m[g].target_pages;for(k=0;k<C.length;k++){var G=C[k].substr(0,C[k].length-1)===window.location.pathname.substr(0,C[k].length-1),R=C[k]===
|
|
158
|
+
window.location.pathname;(C[k].includes("*")&&G||R)&&!m[g].hide_sticker&&b(Qc,a).call(a,m[g],!0)}}else b(Qc,a).call(a,m[g],!0)}}catch(X){b(e,a).call(a,f.ERROR,"initializeRatingWidgets, JSON parse error: "+X)}},!0)}}else b(e,a).call(a,f.WARNING,"initializeRatingWidgets, window object is not available. Not initializing rating widgets.")});y(this,"enable_feedback",function(c){D?(b(e,a).call(a,f.WARNING,"enable_feedback, Deprecated function call! Use 'enableRatingWidgets' in place of this call. Call will be redirected now!"),
|
|
159
|
+
a.enableRatingWidgets(c)):b(e,a).call(a,f.WARNING,"enable_feedback, window object is not available. Not enabling feedback.")});y(this,"enableRatingWidgets",function(c){D?(b(e,a).call(a,f.INFO,"enableRatingWidgets, Enabling rating widget with params:",c),a.check_consent("star-rating")&&(b(U,a)?b(e,a).call(a,f.ERROR,"enableRatingWidgets, Cannot enable rating widgets in offline mode"):(b(B,a).call(a,"cly_fb_widgets",c.popups||c.widgets),qc(a.url+"/star-rating/stylesheets/countly-feedback-web.css"),c=
|
|
160
|
+
c.popups||c.widgets,0<c.length?(document.body.insertAdjacentHTML("beforeend",'<div id="cfbg"></div>'),a.initializeRatingWidgets(c)):b(e,a).call(a,f.ERROR,"enableRatingWidgets, You should provide at least one widget id as param. Read documentation for more detail. https://resources.count.ly/plugins/feedback")))):b(e,a).call(a,f.WARNING,"enableRatingWidgets, window object is not available. Not enabling rating widgets.")});q(this,Nc,function(c,d){b(e,a).call(a,f.INFO,"showWidget, Showing ".concat(c,
|
|
161
|
+
" widget, nameIDorTag:[").concat(d,"]"));a.get_available_feedback_widgets(function(g,k){k?b(e,a).call(a,f.ERROR,"showWidget, Error while getting feedback widgets list: ".concat(k)):(k=g.find(function(n){return n.type===c}),d&&"string"===typeof d&&(g=g.find(function(n){return n.type===c&&(n.name===d||n._id===d||n.tg.includes(d))}))&&(k=g,b(e,a).call(a,f.VERBOSE,"showWidget, Found ".concat(c," widget by name, id, or tag: [").concat(JSON.stringify(g),"]"))),k?a.present_feedback_widget(k,null,null,null):
|
|
162
|
+
b(e,a).call(a,f.ERROR,"showWidget, No ".concat(c," widget found.")))})});y(this,"feedback",{showNPS:function(c){return b(Nc,a).call(a,"nps",c)},showSurvey:function(c){return b(Nc,a).call(a,"survey",c)},showRating:function(c){return b(Nc,a).call(a,"rating",c)}});y(this,"get_available_feedback_widgets",function(c){b(e,a).call(a,f.INFO,"get_available_feedback_widgets, Getting the feedback list, callback function is provided:["+!!c+"]");if(a.check_consent("feedback"))if(b(U,a))b(e,a).call(a,f.ERROR,"get_available_feedback_widgets, Cannot enable feedback widgets in offline mode.");
|
|
163
|
+
else{var d=a.url+b(eb,a),g={method:"feedback",device_id:a.device_id,app_key:a.app_key,av:a.app_version};b(qa,a).call(a,"get_available_feedback_widgets,",d,g,function(k,n,m){if(k)c&&c(null,k);else try{var u=JSON.parse(m).result||[];c&&c(u,null)}catch(x){b(e,a).call(a,f.ERROR,"get_available_feedback_widgets, Error while parsing feedback widgets list: "+x),c&&c(null,x)}},!1)}else c&&c(null,Error("Consent for feedback not provided."))});y(this,"getFeedbackWidgetData",function(c,d){if(c.type)if(b(e,a).call(a,
|
|
164
|
+
f.INFO,"getFeedbackWidgetData, Retrieving data for: ["+JSON.stringify(c)+"], callback function is provided:["+!!d+"]"),a.check_consent("feedback"))if(b(U,a))b(e,a).call(a,f.ERROR,"getFeedbackWidgetData, Cannot enable feedback widgets in offline mode.");else{var g=a.url,k={widget_id:c._id,shown:1,sdk_version:b(va,a),sdk_name:b(Ea,a),platform:a.platform,app_version:a.app_version};if("nps"===c.type)g+="/o/surveys/nps/widget";else if("survey"===c.type)g+="/o/surveys/survey/widget";else if("rating"===
|
|
165
|
+
c.type)g+="/o/surveys/rating/widget";else{b(e,a).call(a,f.ERROR,"getFeedbackWidgetData, Unknown type info: ["+c.type+"]");return}b(qa,a).call(a,"getFeedbackWidgetData,",g,k,function(n,m,u){if(n)d&&d(null,n);else try{var x=JSON.parse(u);d&&d(x,null)}catch(C){b(e,a).call(a,f.ERROR,"getFeedbackWidgetData, Error while parsing feedback widgets list: "+C),d&&d(null,C)}},!0)}else d&&d(null,Error("Consent for feedback not provided."));else b(e,a).call(a,f.ERROR,"getFeedbackWidgetData, Expected the provided widget object to have a type but got: ["+
|
|
166
|
+
JSON.stringify(c)+"], aborting.")});y(this,"present_feedback_widget",function(c,d,g,k){if(D){if(b(e,a).call(a,f.INFO,"present_feedback_widget, Presenting the feedback widget by appending to the element with ID: [ "+d+" ] and className: [ "+g+" ]"),a.check_consent("feedback"))if(!c||"object"!==T(c)||Array.isArray(c))b(e,a).call(a,f.ERROR,"present_feedback_widget, Please provide at least one feedback widget object.");else{b(e,a).call(a,f.INFO,"present_feedback_widget, Adding segmentation to feedback widgets:["+
|
|
167
|
+
JSON.stringify(k)+"]");k&&"object"===T(k)&&0!==Object.keys(k).length||(b(e,a).call(a,f.DEBUG,"present_feedback_widget, Segmentation is not an object or empty"),k=null);try{var n=a.url;if("nps"===c.type)b(e,a).call(a,f.DEBUG,"present_feedback_widget, Widget type: nps."),n+="/feedback/nps";else if("survey"===c.type)b(e,a).call(a,f.DEBUG,"present_feedback_widget, Widget type: survey."),n+="/feedback/survey";else if("rating"===c.type)b(e,a).call(a,f.DEBUG,"present_feedback_widget, Widget type: rating."),
|
|
168
|
+
n+="/feedback/rating";else{b(e,a).call(a,f.ERROR,"present_feedback_widget, Feedback widget only accepts nps, rating and survey types.");return}var m=window.origin||window.location.origin;if("rating"===c.type){b(e,a).call(a,f.DEBUG,"present_feedback_widget, Loading css for rating widget.");var u="ratings";qc(a.url+"/star-rating/stylesheets/countly-feedback-web.css")}else b(e,a).call(a,f.DEBUG,"present_feedback_widget, Loading css for survey or nps."),qc(a.url+"/surveys/stylesheets/countly-surveys.css"),
|
|
169
|
+
u="surveys";n+="?widget_id="+c._id;n+="&app_key="+a.app_key;n+="&device_id="+a.device_id;n+="&sdk_name="+b(Ea,a);n+="&platform="+a.platform;n+="&app_version="+a.app_version;n+="&sdk_version="+b(va,a);var x={tc:1};k&&(x.sg=k);var C=b(wb,a).call(a,!0);x.width=C.width;x.height=C.height;n+="&custom="+JSON.stringify(x);n+="&origin="+m;n+="&widget_v=web";var G=document.createElement("iframe");G.src=n;G.name="countly-"+u+"-iframe";G.id="countly-"+u+"-iframe";var R=!1;G.onload=function(){R&&(document.getElementById("countly-"+
|
|
170
|
+
u+"-wrapper-"+c._id).style.display="none",document.getElementById("csbg").style.display="none");R=!0;b(e,a).call(a,f.DEBUG,"present_feedback_widget, Loaded iframe.")};for(var X=document.getElementById("csbg");X;)X.remove(),X=document.getElementById("csbg"),b(e,a).call(a,f.DEBUG,"present_feedback_widget, Removing past overlay.");var J=document.getElementsByClassName("countly-"+u+"-wrapper");for(k=0;k<J.length;k++)J[k].remove(),b(e,a).call(a,f.DEBUG,"present_feedback_widget, Removed a wrapper.");J=
|
|
171
|
+
document.createElement("div");k="countly-"+u+"-wrapper";J.className=k+" "+k+"--"+c.type;J.id="countly-"+u+"-wrapper-"+c._id;"survey"===c.type&&(J.className=J.className+" "+c.appearance.position);var S=document.body;k=!1;d&&(document.getElementById(d)?(S=document.getElementById(d),k=!0):b(e,a).call(a,f.ERROR,"present_feedback_widget, Provided ID not found."));k||g&&(document.getElementsByClassName(g)[0]?S=document.getElementsByClassName(g)[0]:b(e,a).call(a,f.ERROR,"present_feedback_widget, Provided class not found."));
|
|
172
|
+
S.insertAdjacentHTML("beforeend",'<div id="csbg"></div>');S.appendChild(J);if("rating"===c.type){var K=document.createElement("div");K.className="countly-ratings-overlay";K.id="countly-ratings-overlay-"+c._id;J.appendChild(K);b(e,a).call(a,f.DEBUG,"present_feedback_widget, appended the rating overlay to wrapper");M(document.getElementById("countly-ratings-overlay-"+c._id),"click",function(){document.getElementById("countly-ratings-wrapper-"+c._id).style.display="none"})}J.appendChild(G);b(e,a).call(a,
|
|
173
|
+
f.DEBUG,"present_feedback_widget, Appended the iframe");M(window,"message",function(A){b(Xd,a).call(a,A,J,G)});var aa;M(window,"resize",function(){clearTimeout(aa);aa=setTimeout(function(){var A=window.innerWidth,N=window.innerHeight,ra=document.getElementById("countly-"+u+"-iframe");ra&&ra.contentWindow.postMessage({type:"resize",width:A,height:N},"*")},200)});var ia=function(A){document.getElementById("countly-surveys-wrapper-"+A._id).style.display="block";document.getElementById("csbg").style.display=
|
|
174
|
+
"block"},Ha=function(A){for(var N=document.getElementsByClassName("countly-feedback-sticker");0<N.length;)b(e,a).call(a,f.VERBOSE,"present_feedback_widget, Removing old stickers"),N[0].remove();A.appearance.hideS||(b(e,a).call(a,f.DEBUG,"present_feedback_widget, handling the sticker as it was not set to hidden"),N=document.createElement("div"),N.innerText=A.appearance.text,N.style.color=7>A.appearance.text_color.length?"#"+A.appearance.text_color:A.appearance.text_color,N.style.backgroundColor=7>
|
|
175
|
+
A.appearance.bg_color.length?"#"+A.appearance.bg_color:A.appearance.bg_color,N.className="countly-feedback-sticker "+A.appearance.position+"-"+A.appearance.size,N.id="countly-feedback-sticker-"+A._id,document.body.appendChild(N),M(document.getElementById("countly-feedback-sticker-"+A._id),"click",function(){document.getElementById("countly-ratings-wrapper-"+A._id).style.display="flex";document.getElementById("csbg").style.display="block"}));M(document.getElementById("countly-feedback-close-icon-"+
|
|
176
|
+
A._id),"click",function(){document.getElementById("countly-ratings-wrapper-"+A._id).style.display="none";document.getElementById("csbg").style.display="none"})};if("survey"===c.type){var W=!1;switch(c.showPolicy){case "afterPageLoad":"complete"===document.readyState?W||(W=!0,ia(c)):M(document,"readystatechange",function(A){"complete"!==A.target.readyState||W||(W=!0,ia(c))});break;case "afterConstantDelay":setTimeout(function(){W||(W=!0,ia(c))},1E4);break;case "onAbandon":"complete"===document.readyState?
|
|
177
|
+
M(document,"mouseleave",function(){W||(W=!0,ia(c))}):M(document,"readystatechange",function(A){"complete"===A.target.readyState&&M(document,"mouseleave",function(){W||(W=!0,ia(c))})});break;case "onScrollHalfwayDown":M(window,"scroll",function(){if(!W){var A=Math.max(window.scrollY,document.body.scrollTop,document.documentElement.scrollTop),N=pc();A>=N/2&&(W=!0,ia(c))}});break;default:W||(W=!0,ia(c))}}else if("nps"===c.type)document.getElementById("countly-"+u+"-wrapper-"+c._id).style.display="block",
|
|
178
|
+
document.getElementById("csbg").style.display="block";else if("rating"===c.type){var ba=!1;"complete"===document.readyState?ba||(ba=!0,Ha(c)):M(document,"readystatechange",function(A){"complete"!==A.target.readyState||ba||(ba=!0,Ha(c))})}}catch(A){b(e,a).call(a,f.ERROR,"present_feedback_widget, Something went wrong while presenting the widget: "+A)}}}else b(e,a).call(a,f.WARNING,"present_feedback_widget, window object is not available. Not presenting feedback widget.")});q(this,Xd,function(c,d,g){if(g&&
|
|
179
|
+
c.source===g.contentWindow){var k={};try{k="object"===T(c.data)&&null!==c.data?c.data:JSON.parse(c.data)}catch(m){b(e,a).call(a,f.ERROR,"interpretFeedbackWidgetMessage, Error while parsing message body "+m)}b(e,a).call(a,f.DEBUG,"interpretFeedbackWidgetMessage, Received message from widget with origin: ["+c.origin+"] and data: ["+JSON.stringify(k)+"]");k.key;c=k.resize_me;k=k.close;if(c)if(b(e,a).call(a,f.DEBUG,"interpretFeedbackWidgetMessage, Resizing iframe to: ["+JSON.stringify(c)+"]"),k=b(wb,
|
|
180
|
+
a).call(a,!0),c.l&&c.p){var n=c.p;k.width>=k.height&&(n=c.l);d.style.height=n.h+"px";d.style.width=n.w+"px";d.style.top=n.y+"px";d.style.left=n.x+"px";g.style.height=n.h+"px";g.style.width=n.w+"px";g.style.top=n.y+"px";g.style.left=n.x+"px"}else b(e,a).call(a,f.ERROR,"interpretFeedbackWidgetMessage, Invalid resize object");else!k||!0!==k&&1!==k||(d.style.display="none",g.style.display="none",document.getElementById("csbg").style.display="none",b(e,a).call(a,f.DEBUG,"interpretFeedbackWidgetMessage, Closed the widget"))}});
|
|
181
|
+
y(this,"recordError",function(c,d,g){if(b(bc,a)){if(b(e,a).call(a,f.INFO,"recordError, Recording error"),a.check_consent("crashes")&&c){g=g||b(Wb,a);var k="";"object"===T(c)?"undefined"!==typeof c.stack?k=c.stack:("undefined"!==typeof c.name&&(k+=c.name+":"),"undefined"!==typeof c.message&&(k+=c.message+"\n"),"undefined"!==typeof c.fileName&&(k+="in "+c.fileName+"\n"),"undefined"!==typeof c.lineNumber&&(k+="on "+c.lineNumber),"undefined"!==typeof c.columnNumber&&(k+=":"+c.columnNumber)):k=c+"";if(k.length>
|
|
182
|
+
b(Qa,a)*b(Pa,a)){b(e,a).call(a,f.DEBUG,"record_error, Error stack is too long will be truncated");c=k.split("\n");c.length>b(Pa,a)&&(c=c.splice(0,b(Pa,a)));k=0;for(var n=c.length;k<n;k++)c[k].length>b(Qa,a)&&(c[k]=c[k].substring(0,b(Qa,a)));k=c.join("\n")}d=!!d;c=b(Sb,a).call(a);k={_resolution:c._resolution,_error:k,_app_version:c._app_version,_run:L()-b(rc,a),_not_os_specific:!0,_javascript:!0};if(n=navigator.battery||navigator.webkitBattery||navigator.mozBattery||navigator.msBattery)k._bat=Math.floor(100*
|
|
183
|
+
n.level);"undefined"!==typeof navigator.onLine&&(k._online=!!navigator.onLine);D&&(k._background=!document.hasFocus());0<b(Ja,a).length&&(k._logs=b(Ja,a).join("\n"));l(Ja,a,[]);k._nonfatal=d;k._view=a.getViewName();"undefined"!==typeof g&&(g=Ia(g,b(Q,a),b(O,a),b(ka,a),"record_error",b(e,a)),k._custom=g);try{var m=document.createElement("canvas").getContext("experimental-webgl");k._opengl=m.getParameter(m.VERSION)}catch(u){b(e,a).call(a,f.ERROR,"Could not get the experimental-webgl context: "+u)}d=
|
|
184
|
+
{};d.metrics=JSON.stringify({_ua:c._ua});b(Fb,a)&&"function"===typeof b(Fb,a)&&(b(e,a).call(a,f.VERBOSE,"recordError, Applying crash filter to:["+JSON.stringify(k)+"]"),k=b(Fb,a).call(a,k),b(e,a).call(a,f.VERBOSE,"recordError, Filtered crash object:["+JSON.stringify(k)+"]"));k?(d.crash=JSON.stringify(k),b(ea,a).call(a,d)):b(e,a).call(a,f.DEBUG,"recordError, Crash object was filtered out")}}else b(e,a).call(a,f.WARNING,"recordError, Crash tracking is disabled by the server config. Not tracking errors.")});
|
|
185
|
+
q(this,od,function(){b(e,a).call(a,f.INFO,"checkIgnore, Checking if user or visit should be ignored");a.ignore_prefetch&&D&&"undefined"!==typeof document.visibilityState&&"prerender"===document.visibilityState&&(a.ignore_visitor=!0,b(e,a).call(a,f.DEBUG,"checkIgnore, Ignoring visit due to prerendering"));a.ignore_bots&&Fd()&&(a.ignore_visitor=!0,b(e,a).call(a,f.DEBUG,"checkIgnore, Ignoring visit due to bot"))});y(this,"content",{enterContentZone:function(c){b($a,a).call(a,void 0,c)},refreshContentZone:function(){b(Yd,
|
|
186
|
+
a).call(a)},exitContentZone:function(){b(Oc,a).call(a)}});q(this,$a,function(c,d){D?b(mb,a)&&!c?b(e,a).call(a,f.DEBUG,"content.enterContentZone, Already in content zone"):(d&&"function"==typeof d&&(b(e,a).call(a,f.DEBUG,"content.enterContentZone, Content filter callback is provided"),l(fc,a,d)),!b(Fc,a)||4E3>yb()-b(Fc,a)?(b(e,a).call(a,f.DEBUG,"content.enterContentZone, Not enough time passed since initialization"),setTimeout(function(){b($a,a).call(a)},4001)):(b(e,a).call(a,f.INFO,"content.enterContentZone, Entering content zone"),
|
|
187
|
+
l(mb,a,!0),c||b(Pc,a).call(a),l(Eb,a,setInterval(function(){b(Pc,a).call(a)},b(Gb,a))))):b(e,a).call(a,f.WARNING,"content.enterContentZone, window object is not available. Not entering content zone.")});q(this,Yd,function(){b(wc,a)?(b(e,a).call(a,f.INFO,"content.refreshContentZone, Refreshing content zone"),b(Oc,a).call(a),b(za,a).call(a),b(ya,a).call(a),setTimeout(function(){b($a,a).call(a)},1E3)):b(e,a).call(a,f.DEBUG,"content.refreshContentZone, Refresh content zone is disabled")});q(this,Oc,function(){b(mb,
|
|
188
|
+
a)?(b(e,a).call(a,f.INFO,"content.exitContentZone, Exiting content zone"),l(mb,a,!1),b(Eb,a)&&(clearInterval(b(Eb,a)),b(e,a).call(a,f.DEBUG,"content.exitContentZone, content zone exited"))):b(e,a).call(a,f.DEBUG,"content.exitContentZone, Not in content zone")});q(this,Zd,function(){b(e,a).call(a,f.DEBUG,"prepareContentRequest, forming content request");var c=b(wb,a).call(a,!0),d={l:{},p:{}},g=Math.max(c.width,c.height);c=Math.min(c.width,c.height);d.l.w=g;d.l.h=c;d.p.w=c;d.p.h=g;d={method:"queue",
|
|
189
|
+
la:(navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage).split("-")[0],resolution:JSON.stringify(d),cly_ws:1,cly_origin:window.location.origin,dt:oc()};b(vb,a).call(a,d);return d});q(this,Pc,function(c){b(e,a).call(a,f.DEBUG,"sendContentRequest, sending content request");var d=b(Zd,a).call(a),g=function(k){"function"===typeof c&&c(k)};b(qa,a).call(a,"sendContentRequest,",a.url+b(gd,a),d,function(k,n,m){if(k)g(!1);else if(m){try{var u=JSON.parse(m)}catch(G){b(e,
|
|
190
|
+
a).call(a,f.VERBOSE,"sendContentRequest, No content to display or an error while parsing content: "+G);g(!1);return}if(u.html&&u.geo){var x={};k=u.html.indexOf("?");-1!==k&&(k=u.html.slice(k+1),(new URLSearchParams(k)).forEach(function(G,R){x[R]=G}));if(b(fc,a)&&!1===b(fc,a).call(a,x))b(e,a).call(a,f.VERBOSE,"sendContentRequest, Content was filtered out by the content filter"),g(!1);else{b($d,a).call(a,u);clearInterval(b(Eb,a));window.addEventListener("message",function(G){b(ae,a).call(a,G)});var C;
|
|
191
|
+
window.addEventListener("resize",function(){clearTimeout(C);C=setTimeout(function(){var G=window.innerWidth,R=window.innerHeight,X=document.getElementById(b(nb,a));X&&X.contentWindow.postMessage({type:"resize",width:G,height:R},"*")},200)});g(!0)}}else b(e,a).call(a,f.VERBOSE,"sendContentRequest, no html content or orientation to display"),g(!1)}else b(e,a).call(a,f.VERBOSE,"sendContentRequest, no content to display"),g(!1)},!0)});q(this,$d,function(c){try{var d=document.createElement("iframe");d.id=
|
|
192
|
+
b(nb,a);d.src=c.html;d.style.position="absolute";-1!=c.html.indexOf("feedback/survey")&&(d.style.position="fixed");var g=c.geo.p,k=b(wb,a).call(a,!0);k.width>=k.height&&(g=c.geo.l);d.style.left=g.x+"px";d.style.top=g.y+"px";d.style.width=g.w+"px";d.style.height=g.h+"px";d.style.border="none";d.style.zIndex="999999";document.body.appendChild(d)}catch(n){b(e,a).call(a,f.ERROR,"displayContent, Error while creating iframe for the content: "+n)}});q(this,ae,function(c){if(-1!==a.contentWhitelist.indexOf(c.origin)&&
|
|
193
|
+
null!==c.data&&"object"===T(c.data)){var d=document.getElementById(b(nb,a));if(d&&c.source===d.contentWindow){b(e,a).call(a,f.DEBUG,"interpretContentMessage, Received message from: ["+c.origin+"] with data: ["+JSON.stringify(c.data)+"]");var g=c.data;c=g.close;var k=g.link,n=g.event;g=g.resize_me;if(n){b(e,a).call(a,f.DEBUG,"interpretContentMessage, Received event");1===c&&(b(e,a).call(a,f.DEBUG,"interpretContentMessage, Closing content frame for event"),b(hc,a).call(a));if(!Array.isArray(n)){if("object"===
|
|
194
|
+
T(n))throw new TypeError('"event" is read-only');b(e,a).call(a,f.ERROR,"interpretContentMessage, Invalid event type: ["+T(n)+"]");return}for(var m=0;m<n.length;m++)b(pa,a).call(a,n[m])}k&&"string"===typeof k&&(1===c&&(b(e,a).call(a,f.DEBUG,"interpretContentMessage, Closing content frame for link"),b(hc,a).call(a)),window.open(k,"_blank"),b(e,a).call(a,f.DEBUG,"interpretContentMessage, Opened link in new tab: [".concat(k,"]")));if(g){b(e,a).call(a,f.DEBUG,"interpretContentMessage, Resizing iframe");
|
|
195
|
+
k=b(wb,a).call(a,!0);if(!g.l||!g.p){b(e,a).call(a,f.ERROR,"interpretContentMessage, Invalid resize object");return}n=g.p;k.width>=k.height&&(n=g.l);d.style.left=n.x+"px";d.style.top=n.y+"px";d.style.width=n.w+"px";d.style.height=n.h+"px"}1===c&&b(hc,a).call(a)}}});q(this,hc,function(){var c=document.getElementById(b(nb,a));c&&(c.remove(),b(e,a).call(a,f.DEBUG,"interpretContentMessage, removed iframe"),b(mb,a)&&b($a,a).call(a,!0))});q(this,ya,function(){0<b(Y,a).length&&(b(e,a).call(a,f.DEBUG,"Flushing events"),
|
|
196
|
+
b(ea,a).call(a,{events:JSON.stringify(b(Y,a))}),l(Y,a,[]),b(B,a).call(a,"cly_event",b(Y,a)))});q(this,Qc,function(c,d){if(D)if(document.getElementById("countly-feedback-sticker-"+c._id))b(e,a).call(a,f.ERROR,"Widget with same ID exists");else try{var g=document.createElement("div");g.className="countly-iframe-wrapper";g.id="countly-iframe-wrapper-"+c._id;var k=document.createElement("span");k.className="countly-feedback-close-icon";k.id="countly-feedback-close-icon-"+c._id;k.innerText="x";var n=document.createElement("iframe");
|
|
197
|
+
n.name="countly-feedback-iframe";n.id="countly-feedback-iframe";n.src=a.url+"/feedback?widget_id="+c._id+"&app_key="+a.app_key+"&device_id="+a.device_id+"&sdk_version="+b(va,a);document.body.appendChild(g);g.appendChild(k);g.appendChild(n);M(document.getElementById("countly-feedback-close-icon-"+c._id),"click",function(){document.getElementById("countly-iframe-wrapper-"+c._id).style.display="none";document.getElementById("cfbg").style.display="none"});if(d){var m=document.createElementNS("http://www.w3.org/2000/svg",
|
|
198
|
+
"svg");m.id="feedback-sticker-svg";m.setAttribute("aria-hidden","true");m.setAttribute("data-prefix","far");m.setAttribute("data-icon","grin");m.setAttribute("class","svg-inline--fa fa-grin fa-w-16");m.setAttribute("role","img");m.setAttribute("xmlns","http://www.w3.org/2000/svg");m.setAttribute("viewBox","0 0 496 512");var u=document.createElementNS("http://www.w3.org/2000/svg","path");u.id="smileyPathInStickerSvg";u.setAttribute("fill","white");u.setAttribute("d","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z");
|
|
199
|
+
var x=document.createElement("span");x.innerText=c.trigger_button_text;var C=document.createElement("div");C.style.color=7>c.trigger_font_color.length?"#"+c.trigger_font_color:c.trigger_font_color;C.style.backgroundColor=7>c.trigger_bg_color.length?"#"+c.trigger_bg_color:c.trigger_bg_color;C.className="countly-feedback-sticker "+c.trigger_position+"-"+c.trigger_size;C.id="countly-feedback-sticker-"+c._id;m.appendChild(u);C.appendChild(m);C.appendChild(x);document.body.appendChild(C);var G=document.getElementById("smileyPathInStickerSvg");
|
|
200
|
+
G&&(G.style.fill=7>c.trigger_font_color.length?"#"+c.trigger_font_color:c.trigger_font_color);M(document.getElementById("countly-feedback-sticker-"+c._id),"click",function(){document.getElementById("countly-iframe-wrapper-"+c._id).style.display="block";document.getElementById("cfbg").style.display="block"})}else document.getElementById("countly-iframe-wrapper-"+c._id).style.display="block",document.getElementById("cfbg").style.display="block"}catch(R){b(e,a).call(a,f.ERROR,"Somethings went wrong while element injecting process: "+
|
|
201
|
+
R)}else b(e,a).call(a,f.WARNING,"processWidget, window object is not available. Not processing widget.")});q(this,pd,function(){var c;if("undefined"!==typeof a.onload&&0<a.onload.length){for(c=0;c<a.onload.length;c++)if("function"===typeof a.onload[c])a.onload[c](a);a.onload=[]}});q(this,Rc,function(){if(b(ja,a))if(b(ac,a)){b(e,a).call(a,f.INFO,"reportViewDuration, Reporting view duration for: ["+b(ja,a)+"]");var c={name:b(ja,a)};a.check_consent("views")&&(b(pa,a).call(a,{key:da.VIEW,dur:b(La,a)?
|
|
202
|
+
L()-b(gb,a):b(hb,a),segmentation:c},b(Na,a)),l(ja,a,null))}else b(e,a).call(a,f.INFO,"reportViewDuration, View tracking is disabled by the server config. Not tracking view duration");else b(e,a).call(a,f.INFO,"reportViewDuration, No last view, will not report view duration")});q(this,be,function(){b(e,a).call(a,f.INFO,"getLastView, Getting last view: ["+b(ja,a)+"]");return b(ja,a)});q(this,qd,function(){if(b(Ca,a)){b(e,a).call(a,f.DEBUG,"Extending session");var c=b(F,a).call(a,"cly_session");if(!c||
|
|
203
|
+
parseInt(c)<=L())l(oa,a,!1),a.begin_session(!b(fb,a));b(B,a).call(a,"cly_session",L()+60*b(jb,a))}else b(e,a).call(a,f.DEBUG,"Will not extend the session as session cookie is disabled")});q(this,vb,function(c){c.app_key=a.app_key;c.device_id=a.device_id;c.sdk_name=b(Ea,a);c.sdk_version=b(va,a);c.t=b(P,a);c.av=a.app_version;var d=b(sd,a).call(a);if(c.metrics){var g=JSON.parse(c.metrics);g._ua||(g._ua=d,c.metrics=JSON.stringify(g))}else c.metrics=JSON.stringify({_ua:d});a.check_consent("location")&&
|
|
204
|
+
b(vc,a)?(a.country_code&&(c.country_code=a.country_code),a.city&&(c.city=a.city),null!==a.ip_address&&(c.ip_address=a.ip_address)):c.location="";c.timestamp=yb();b(ec,a)&&(b(e,a).call(a,f.DEBUG,"prepareRequest, testing timestamp is set to: "+b(ec,a)),c.timestamp=b(ec,a));d=new Date;c.hour=d.getHours();c.dow=d.getDay();c.tz=-d.getTimezoneOffset()});q(this,ea,function(c){a.ignore_visitor?b(e,a).call(a,f.DEBUG,"User is opt_out will ignore the request: "+c):b(Hb,a)?a.app_key&&a.device_id?(b(vb,a).call(a,
|
|
205
|
+
c),null!==b(xa,a)?b(xa,a).push(c):(b(H,a).length>b(wa,a)&&b(H,a).shift(),b(H,a).push(c),b(B,a).call(a,"cly_queue",b(H,a),!0))):b(e,a).call(a,f.ERROR,"app_key or device_id is missing ",a.app_key,a.device_id):b(e,a).call(a,f.DEBUG,"Tracking is disabled by server config, will not track the request: "+JSON.stringify(c))});q(this,ic,function(){b(pd,a).call(a);if(a.ignore_visitor)l(Cb,a,!1),b(e,a).call(a,f.WARNING,"User opt_out:["+a.ignore_visitor+"], no heartbeat");else{l(Cb,a,!0);b(zb,a)&&"undefined"!==
|
|
206
|
+
typeof w.q&&0<w.q.length&&b(za,a).call(a);if(b(oa,a)&&b(fb,a)&&b(La,a)){var c=L();c-b(Ba,a)>b(ob,a)&&(a.session_duration(c-b(Ba,a)),l(Ba,a,c),0<a.hcErrorCount&&b(B,a).call(a,ca.errorCount,a.hcErrorCount),0<a.hcWarningCount&&b(B,a).call(a,ca.warningCount,a.hcWarningCount))}0<b(Y,a).length&&!a.test_mode_eq&&(b(Y,a).length<=b(Xa,a)?(b(ea,a).call(a,{events:JSON.stringify(b(Y,a))}),l(Y,a,[])):(c=b(Y,a).splice(0,b(Xa,a)),b(ea,a).call(a,{events:JSON.stringify(c)})),b(B,a).call(a,"cly_event",b(Y,a)));c=L();
|
|
207
|
+
var d=!1;b(Fa,a)&&c<b(Ya,a)?(d=!0,b(cc,a)||(b(e,a).call(a,f.VERBOSE,"Request back-off active, suspending requests until: "+b(Ya,a)+", current time: "+c),l(cc,a,!0))):b(Fa,a)&&c>=b(Ya,a)&&(b(e,a).call(a,f.INFO,"Request back-off period ended, resuming normal request processing"),l(Fa,a,!1),l(Ya,a,0),d=!1,l(cc,a,!1));!d&&!b(U,a)&&0<b(H,a).length&&b(Ka,a)&&L()>b(Ua,a)&&(b(e,a).call(a,f.DEBUG,"Processing request",b(H,a)[0]),a.test_mode||b(rd,a).call(a,"send_request_queue"));setTimeout(function(){b(ic,
|
|
208
|
+
a).call(a)},b(Ab,a))}});q(this,ce,function(c){if(b(xc,a)&&!b(Fa,a)){var d=b(rb,a)>b(yc,a);if(d){var g=b(H,a).length<b(wa,a)*b(zc,a),k=L();c=k-(c&&c.timestamp?c.timestamp:k);var n=c<3600*b(Ac,a);d&&g&&n?(b(e,a).call(a,f.INFO,"Activating request back-off: response time ["+b(rb,a)+"s], queue size ["+b(H,a).length+"/"+b(wa,a)+"], request age ["+c+"s]"),l(Fa,a,!0),l(Ya,a,k+b(Bc,a)),b(Aa,a).incrementBackoffCount(),b(e,a).call(a,f.INFO,"Request back-off activated until: "+b(Ya,a))):(b(e,a).call(a,f.DEBUG,
|
|
209
|
+
"No back-off conditions met: response time ["+b(rb,a)+"s], queue size ["+b(H,a).length+"/"+b(wa,a)+"], request age ["+c+"s]"),b(Aa,a).resetLastRequestBackoffStatus())}}});q(this,de,function(){return b($b,a)});q(this,rd,function(c,d){return new Promise(function(g){if(b(U,a))g(!1);else if(0===b(H,a).length)g(!1);else if(!b(Ka,a)||b(Fa,a)||L()<=b(Ua,a))g(!1);else{l(Ka,a,!1);var k=b(H,a)[0];k.rr=b(H,a).length;b(B,a).call(a,"cly_queue",b(H,a),!0);b(qa,a).call(a,c,a.url+b(Vb,a),k,function(n,m){if(n)l(Ua,
|
|
210
|
+
a,L()+b(Bb,a));else if(b(H,a).shift(),b(ce,a).call(a,m),d)try{d(m)}catch(u){b(e,a).call(a,f.DEBUG,"sendRequestFromQueue, onSuccess handler threw")}b(B,a).call(a,"cly_queue",b(H,a),!0);l(Ka,a,!0);g(!n)},!1)}})});q(this,za,function(){if("undefined"===typeof w||"undefined"===typeof w.i)b(e,a).call(a,f.DEBUG,"Countly is not finished initialization yet, will process the queue after initialization is done");else{var c=w.q;w.q=[];for(var d=0;d<c.length;d++){var g=c[d];b(e,a).call(a,f.DEBUG,"Processing queued calls:"+
|
|
211
|
+
g);if("function"===typeof g)g();else if(Array.isArray(g)&&0<g.length){var k=a,n=0;try{w.i[g[n]]&&(k=w.i[g[n]],n++)}catch(u){b(e,a).call(a,f.DEBUG,"No instance found for the provided key while processing async queue");w.q.push(g);continue}if("function"===typeof k[g[n]])k[g[n]].apply(k,g.slice(n+1));else if(0===g[n].indexOf("userData.")){var m=g[n].replace("userData.","");"function"===typeof k.userData[m]&&k.userData[m].apply(k,g.slice(n+1))}else 0===g[n].indexOf("content.")?(m=g[n].replace("content.",
|
|
212
|
+
""),"function"===typeof k.content[m]&&k.content[m].apply(k,g.slice(n+1))):0===g[n].indexOf("feedback.")?(m=g[n].replace("feedback.",""),"function"===typeof k.feedback[m]&&k.feedback[m].apply(k,g.slice(n+1))):"function"===typeof w[g[n]]&&w[g[n]].apply(w,g.slice(n+1))}}}});q(this,Sc,function(){var c=b(F,a).call(a,"cly_id");return c?(l(P,a,b(F,a).call(a,"cly_id_type")),c):$c()});q(this,ee,function(c){return/[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-4[0-9a-fA-F]{3}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}/.test(c)});q(this,
|
|
213
|
+
sd,function(){return a.metrics&&a.metrics._ua?a.metrics._ua:db()});q(this,fe,function(c){if(!c||"string"!==typeof c)return{name:null,version:null};for(var d=[{name:"Edge",regex:/Edg\/([\d\.]+)/},{name:"Opera",regex:/OPR\/([\d\.]+)/},{name:"Chrome",regex:/Chrome\/([\d\.]+)/},{name:"Firefox",regex:/Firefox\/([\d\.]+)/},{name:"Safari",regex:/Version\/([\d\.]+).*Safari/}],g=0;g<d.length;g++){var k=c.match(d[g].regex);if(k&&k[1])return{name:d[g].name,version:k[1]}}return{name:null,version:null}});q(this,
|
|
214
|
+
Sb,function(){var c=JSON.parse(JSON.stringify(a.metrics||{}));c._app_version=c._app_version||a.app_version;c._ua=c._ua||db();var d=b(wb,a).call(a);d&&(d=""+d.width+"x"+d.height,c._resolution=c._resolution||d);D&&window.devicePixelRatio&&(c._density=c._density||window.devicePixelRatio);d=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage;"undefined"!==typeof d&&(c._locale=c._locale||d);D&&navigator.userAgentData&&navigator.userAgentData.platform&&(c._os=
|
|
215
|
+
c._os||navigator.userAgentData.platform);d=oc();"phone"===d&&(d="mobile");c._device_type=c._device_type||d;if(b(Z,a)&&"object"===T(b(Z,a))){b(Z,a).platform&&(c._os=c._os||b(Z,a).platform);if(d=b(Z,a).windowsVersion||b(Z,a).platformVersion)c._os_version=c._os_version||d;b(Z,a).model&&(c._device=c._device||b(Z,a).model);b(Z,a).browserName&&(c._browser=c._browser||b(Z,a).browserName);b(Z,a).browserVersion&&(c._browser_version=c._browser_version||b(Z,a).browserVersion);b(Z,a).windowsVersion&&(c._os=c._os||
|
|
216
|
+
"Windows",c._os_version=c._os_version||b(Z,a).windowsVersion);b(e,a).call(a,f.DEBUG,"ua_logic, metrics enriched from hints:["+JSON.stringify({_os:c._os,_os_version:c._os_version,_device:c._device,_device_type:c._device_type,_browser:c._browser,_browser_version:c._browser_version})+"]")}else"pending"===b(Ra,a)?b(e,a).call(a,f.DEBUG,"ua_logic, high-entropy hints are still pending, using fallback metrics for now"):b(e,a).call(a,f.DEBUG,"ua_logic, no high-entropy hints available, using UA fallback parsing");
|
|
217
|
+
c._browser&&c._browser_version||(d=b(fe,a).call(a,c._ua),c._browser=c._browser||d.name,c._browser_version=c._browser_version||d.version);b(Tc,a).call(a)&&(c._store=c._store||document.referrer);b(e,a).call(a,f.DEBUG,"Got metrics",c);return c});q(this,wb,function(c){b(e,a).call(a,f.DEBUG,"Getting the resolution of the device");if(!D||!screen)return b(e,a).call(a,f.DEBUG,"No screen available"),null;var d=screen.width?parseInt(screen.width):0,g=screen.height?parseInt(screen.height):0;if(c){c=Math.min(window.innerWidth,
|
|
218
|
+
document.documentElement.clientWidth);var k=Math.min(window.innerHeight,document.documentElement.clientHeight);d=c?parseInt(c):d;g=k?parseInt(k):g}if(0===d||0===g)return b(e,a).call(a,f.DEBUG,"Screen width or height is non existent"),null;navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&window.devicePixelRatio&&(b(e,a).call(a,f.VERBOSE,"Mobile Mac device detected, adjusting resolution"),d=Math.round(d*window.devicePixelRatio),g=Math.round(g*window.devicePixelRatio));return{width:d,
|
|
219
|
+
height:g}});q(this,Tc,function(c){if(!D)return!1;c=c||document.referrer;var d=!1;if("undefined"===typeof c||0===c.length)b(e,a).call(a,f.DEBUG,"Invalid referrer:["+c+"], ignoring.");else{var g=Md.exec(c);if(g)if(g[11])if(g[11]===window.location.hostname)b(e,a).call(a,f.DEBUG,"Referrer is current host:["+c+"], ignoring.");else if(b(ta,a)&&b(ta,a).length)for(d=!0,g=0;g<b(ta,a).length;g++){if(0<=c.indexOf(b(ta,a)[g])){b(e,a).call(a,f.DEBUG,"Referrer in ignore list:["+c+"], ignoring.");d=!1;break}}else b(e,
|
|
220
|
+
a).call(a,f.DEBUG,"Valid referrer:["+c+"]"),d=!0;else b(e,a).call(a,f.DEBUG,"No path found in referrer:["+c+"], ignoring.");else b(e,a).call(a,f.DEBUG,"Referrer is corrupt:["+c+"], ignoring.")}return d});q(this,e,function(c,d,g){if(a.debug&&"undefined"!==typeof console){g&&"object"===T(g)&&(g=JSON.stringify(g));b(zb,a)||(d="["+a.app_key+"] "+d);c||(c=f.DEBUG);var k="";g&&(k=" "+g);d=c+"[Countly] "+d+k;c===f.ERROR?(console.error(d),b(Aa,a).incrementErrorCount()):c===f.WARNING?(console.warn(d),b(Aa,
|
|
221
|
+
a).incrementWarningCount()):c===f.INFO?console.info(d):c===f.VERBOSE?console.log(d):console.debug(d)}});q(this,qa,function(c,d,g,k,n,m){if(b(sc,a)||m)if(b($b,a).push({functionName:c,url:d,params:g}),b(ub,a)){b(e,a).call(a,f.DEBUG,c+" Using fake request handler");try{var u=b(ub,a).call(a,{functionName:c,url:d,params:g});void 0===u&&(u={status:200,responseText:'{"result":"Success"}'});if(!1!==u){var x=200>u.status||300<=u.status;"function"===typeof k&&k(x,g,u.responseText)}}catch(C){b(e,a).call(a,f.ERROR,
|
|
222
|
+
c+" Fake request handler error: "+C),"function"===typeof k&&k(!0,g,"fake_handler_error")}}else D?b(td,a).call(a,c,d,g,k,n):b(vd,a).call(a,c,d,g,k,n);else b(e,a).call(a,f.DEBUG,"Network request is disabled by the SCNetwork")});q(this,td,function(c,d,g,k,n){n=n||!1;try{b(e,a).call(a,f.DEBUG,"Sending XML HTTP request");var m=new XMLHttpRequest;m.ontimeout=function(){b(e,a).call(a,f.ERROR,c+" timed out after 30 seconds");"function"===typeof k&&k(!0,g,"timeout")};g=g||{};var u=g._forceImageUpload||!0===
|
|
223
|
+
g.__imageUpload||g.imageData&&(g.imageName||g.imageType),x=g;if(u){var C={},G;for(G in g)Object.prototype.hasOwnProperty.call(g,G)&&"__imageUpload"!==G&&"imageData"!==G&&"imageName"!==G&&"imageType"!==G&&"type"!==G&&(C[G]=g[G]);x=C}bd(x,a.salt).then(function(R){var X="POST";if(a.force_post||2E3<=R.length)X="POST";u?m.open("POST",d,!0):"GET"===X?m.open("GET",d+"?"+R,!0):(m.open("POST",d,!0),m.setRequestHeader("Content-type","application/x-www-form-urlencoded"));try{"timeout"in m&&(m.timeout=b(Gc,a))}catch(K){b(e,
|
|
224
|
+
a).call(a,f.DEBUG,c+" could not set xhr.timeout: "+K)}for(var J in a.headers)Object.prototype.hasOwnProperty.call(a.headers,J)&&(u&&"content-type"===J.toLowerCase()||m.setRequestHeader(J,a.headers[J]));var S=L();m.onreadystatechange=function(){if(4===m.readyState){var K=L()-S;l(rb,a,K);b(e,a).call(a,f.DEBUG,c+" HTTP request completed with status code: ["+m.status+"] and response: ["+m.responseText+"], duration: ["+K+"] seconds");(n?b(Vc,a).call(a,m.status,m.responseText):b(Uc,a).call(a,m.status,m.responseText))?
|
|
225
|
+
"function"===typeof k&&k(!1,g,m.responseText):(b(e,a).call(a,f.ERROR,c+" Invalid response from server"),"send_request_queue"===c&&b(Aa,a).saveRequestCounters(m.status,m.responseText),"function"===typeof k&&k(!0,g,m.status,m.responseText))}};u?(R=b(ud,a).call(a,g,R))?m.send(R):"function"===typeof k&&k(!0,g,"invalid_formdata"):"GET"===X?m.send():m.send(R)})}catch(R){b(e,a).call(a,f.ERROR,c+" Something went wrong while making an XML HTTP request: "+R),"function"===typeof k&&k(!0,g)}});q(this,ge,function(c,
|
|
226
|
+
d){if(!c)return null;try{if("function"===typeof atob){var g=atob(c),k=g.length,n=new Uint8Array(k);for(c=0;c<k;c++)n[c]=g.charCodeAt(c);if("undefined"!==typeof Blob)return new Blob([n],{type:d||"application/octet-stream"});if("undefined"!==typeof File)try{return new File([n],"avatar",{type:d||"application/octet-stream"})}catch(u){b(e,a).call(a,f.DEBUG,"createBlobFromBase64: Unable to create File instance: "+u)}}else if("undefined"!==typeof Buffer){var m=Buffer.from(c,"base64");if("undefined"!==typeof Blob)return new Blob([m],
|
|
227
|
+
{type:d||"application/octet-stream"});if("undefined"!==typeof File)try{return new File([m],"avatar",{type:d||"application/octet-stream"})}catch(u){b(e,a).call(a,f.DEBUG,"createBlobFromBase64: Unable to create File instance from buffer: "+u)}}}catch(u){b(e,a).call(a,f.ERROR,"createBlobFromBase64 failed: "+u)}return null});q(this,ud,function(c,d){if(!c||!c.imageData)return null;var g=b(ge,a).call(a,c.imageData,c.imageType);if(!g||"undefined"===typeof FormData)return null;var k=new FormData;k.append("user_details[picture]",
|
|
228
|
+
g,c.imageName||"avatar");if(d&&"string"===typeof d)for(c=d.split("&"),d=0;d<c.length;d++){var n=c[d];if(n){var m=n.indexOf("=");g=0<=m?n.substring(0,m):n;n=0<=m?n.substring(m+1):"";k.append(g,n)}}return k});q(this,vd,function(c,d,g,k,n){n=n||!1;var m;try{b(e,a).call(a,f.DEBUG,"Sending Fetch request");var u="POST",x={"Content-type":"application/x-www-form-urlencoded"},C=null;g=g||{};var G=g._forceImageUpload||!0===g.__imageUpload||g.imageData&&(g.imageName||g.imageType),R=g;if(G){var X={},J;for(J in g)Object.prototype.hasOwnProperty.call(g,
|
|
229
|
+
J)&&"__imageUpload"!==J&&"imageData"!==J&&"imageName"!==J&&"imageType"!==J&&"type"!==J&&(X[J]=g[J]);R=X}bd(R,a.salt).then(function(S){a.force_post||2E3<=S.length?(u="POST",C=S):d+="?"+S;for(var K in a.headers)x[K]=a.headers[K];var aa=L(),ia=new AbortController;K=ia.signal;var Ha=setTimeout(function(){return ia.abort()},b(Gc,a)),W=C,ba=d;if(G){S=b(ud,a).call(a,g,S);if(!S){clearTimeout(Ha);"function"===typeof k&&k(!0,g,"invalid_formdata");return}x["Content-type"]&&delete x["Content-type"];W=S;ba=d.split("?")[0]}fetch(ba,
|
|
230
|
+
{method:u,headers:x,body:W,signal:K}).then(function(A){clearTimeout(Ha);m=A;return m.text()}).then(function(A){var N=L()-aa;l(rb,a,N);G?b(e,a).call(a,f.DEBUG,c+" image Fetch upload completed with status code: ["+m.status+"] and response: ["+A+"], duration: ["+N+"] seconds"):b(e,a).call(a,f.DEBUG,c+" Fetch request completed wit status code: ["+m.status+"] and response: ["+A+"], duration: ["+N+"] seconds");(n?b(Vc,a).call(a,m.status,A):b(Uc,a).call(a,m.status,A))?"function"===typeof k&&k(!1,g,A):(b(e,
|
|
231
|
+
a).call(a,f.ERROR,c+" Invalid response from server"),"send_request_queue"===c&&b(Aa,a).saveRequestCounters(m.status,A),"function"===typeof k&&k(!0,g,m.status,A))})["catch"](function(A){clearTimeout(Ha);"AbortError"===A.name?(b(e,a).call(a,f.ERROR,c+" timed out after 30 seconds"),"function"===typeof k&&k(!0,g,"timeout")):(b(e,a).call(a,f.ERROR,c+" Failed Fetch request: "+A),"function"===typeof k&&k(!0,g))})})}catch(S){b(e,a).call(a,f.ERROR,c+" Something went wrong with the Fetch request attempt: "+
|
|
232
|
+
S),"function"===typeof k&&k(!0,g)}});q(this,Uc,function(c,d){if(!(200<=c&&300>c))return b(e,a).call(a,f.ERROR,"Http response status code:["+c+"] is not within the expected range"),!1;try{var g=JSON.parse(d);return"[object Object]"!==Object.prototype.toString.call(g)?(b(e,a).call(a,f.ERROR,"Http response is not JSON Object"),!1):!!g.result}catch(k){return b(e,a).call(a,f.ERROR,"Http response is not JSON: "+k),!1}});q(this,Vc,function(c,d){if(!(200<=c&&300>c))return b(e,a).call(a,f.ERROR,"Http response status code:["+
|
|
233
|
+
c+"] is not within the expected range"),!1;try{var g=JSON.parse(d);return"[object Object]"===Object.prototype.toString.call(g)||Array.isArray(g)||"No content block found!"===g?!0:(b(e,a).call(a,f.ERROR,"Http response is not JSON Object nor JSON Array"),!1)}catch(k){return b(e,a).call(a,f.ERROR,"Http response is not JSON: "+k),!1}});q(this,wd,function(){D?l(lb,a,Math.max(b(lb,a),window.scrollY,document.body.scrollTop,document.documentElement.scrollTop)):b(e,a).call(a,f.WARNING,"processScroll, window object is not available. Not processing scroll.")});
|
|
234
|
+
q(this,Wc,function(){if(!D)b(e,a).call(a,f.WARNING,"processScrollView, window object is not available. Not processing scroll view.");else if(b(kb,a)){l(kb,a,!1);var c=pc(),d=fd(),g=Gd();a.check_consent("scrolls")&&(c={type:"scroll",y:b(lb,a)+g,width:d,height:c,view:a.getViewUrl()},c=Ia(c,b(Q,a),b(O,a),b(ka,a),"processScrollView",b(e,a)),a.track_domains&&(c.domain=window.location.hostname),b(pa,a).call(a,{key:da.ACTION,segmentation:c}))}});q(this,he,function(){return b(P,a)});q(this,xd,function(c){b(B,
|
|
235
|
+
a).call(a,"cly_token",c)});q(this,ie,function(){var c=b(F,a).call(a,"cly_token");b(la,a).call(a,"cly_token");return c});q(this,je,function(){return b(Y,a)});q(this,ke,function(){return b(H,a)});q(this,le,function(c){c+="=";for(var d=document.cookie.split(";"),g=0,k=d.length;g<k;g++){for(var n=d[g];" "===n.charAt(0);)n=n.substring(1,n.length);if(0===n.indexOf(c))return n.substring(c.length,n.length)}return null});q(this,yd,function(c,d,g){var k=new Date;k.setTime(k.getTime()+864E5*g);g="; expires="+
|
|
236
|
+
k.toGMTString();document.cookie=c+"="+d+g+"; path=/"});q(this,F,function(c,d,g){if("none"===a.storage||"object"!==T(a.storage)&&!D)b(e,a).call(a,f.DEBUG,"Storage is disabled. Value with key: ["+c+"] won't be retrieved");else{g||(c=a.app_key+"/"+c,a.namespace&&(c=cb(a.namespace)+"/"+c));if(a.storage&&"object"===T(a.storage)&&"function"===typeof a.storage.getItem){var k=a.storage.getItem(c);return c.endsWith("cly_id")?k:a.deserialize(k)}void 0===d&&(d=b(Ma,a));try{return d?k=localStorage.getItem(c):
|
|
237
|
+
"localstorage"!==a.storage&&(k=b(le,a).call(a,c)),c.endsWith("cly_id")?k:a.deserialize(k)}catch(n){}}});q(this,B,function(c,d,g,k){if("none"===a.storage||"object"!==T(a.storage)&&!D)b(e,a).call(a,f.DEBUG,"Storage is disabled. Value with key: "+c+" won't be stored");else{k||(c=a.app_key+"/"+c,a.namespace&&(c=cb(a.namespace)+"/"+c));try{"undefined"!==typeof d&&null!==d&&("object"===T(a.storage)&&"function"===typeof a.storage.setItem?a.storage.setItem(c,d):(void 0===g&&(g=b(Ma,a)),d=a.serialize(d),g?
|
|
238
|
+
localStorage.setItem(c,d):"localstorage"!==a.storage&&b(yd,a).call(a,c,d,30)))}catch(n){}}});q(this,la,function(c,d,g){if("none"===a.storage||"object"!==T(a.storage)&&!D)b(e,a).call(a,f.DEBUG,"Storage is disabled. Value with key: "+c+" won't be removed");else{g||(c=a.app_key+"/"+c,a.namespace&&(c=cb(a.namespace)+"/"+c));try{"object"===T(a.storage)&&"function"===typeof a.storage.removeItem?a.storage.removeItem(c):(void 0===d&&(d=b(Ma,a)),d?localStorage.removeItem(c):"localstorage"!==a.storage&&b(yd,
|
|
239
|
+
a).call(a,c,"",-1))}catch(k){}}});q(this,me,function(){if(b(F,a).call(a,a.namespace+"cly_id",!1,!0)){b(B,a).call(a,"cly_id",b(F,a).call(a,a.namespace+"cly_id",!1,!0));b(B,a).call(a,"cly_id_type",b(F,a).call(a,a.namespace+"cly_id_type",!1,!0));b(B,a).call(a,"cly_event",b(F,a).call(a,a.namespace+"cly_event",!1,!0));b(B,a).call(a,"cly_session",b(F,a).call(a,a.namespace+"cly_session",!1,!0));var c=b(F,a).call(a,a.namespace+"cly_queue",!1,!0);Array.isArray(c)&&(c=c.filter(function(d){return d.app_key===
|
|
240
|
+
a.app_key}),b(B,a).call(a,"cly_queue",c));b(F,a).call(a,a.namespace+"cly_cmp_id",!1,!0)&&(b(B,a).call(a,"cly_cmp_id",b(F,a).call(a,a.namespace+"cly_cmp_id",!1,!0)),b(B,a).call(a,"cly_cmp_uid",b(F,a).call(a,a.namespace+"cly_cmp_uid",!1,!0)));b(F,a).call(a,a.namespace+"cly_ignore",!1,!0)&&b(B,a).call(a,"cly_ignore",b(F,a).call(a,a.namespace+"cly_ignore",!1,!0));b(la,a).call(a,"cly_id",!1,!0);b(la,a).call(a,"cly_id_type",!1,!0);b(la,a).call(a,"cly_event",!1,!0);b(la,a).call(a,"cly_session",!1,!0);b(la,
|
|
241
|
+
a).call(a,"cly_queue",!1,!0);b(la,a).call(a,"cly_cmp_id",!1,!0);b(la,a).call(a,"cly_cmp_uid",!1,!0);b(la,a).call(a,"cly_ignore",!1,!0)}});q(this,ne,function(c,d){b(e,a).call(a,f.DEBUG,"onStorageChange, Applying storage changes for key:",c);b(e,a).call(a,f.DEBUG,"onStorageChange, Applying storage changes for value:",d);switch(c){case "cly_queue":l(H,a,a.deserialize(d||"[]"));break;case "cly_event":l(Y,a,a.deserialize(d||"[]"));break;case "cly_remote_configs":l(fa,a,a.deserialize(d||"{}"));break;case "cly_ignore":a.ignore_visitor=
|
|
242
|
+
a.deserialize(d);break;case "cly_config":l(Oa,a,a.deserialize(d||"{}"));b(Kc,a).call(a,b(Oa,a));break;case "cly_id":a.device_id=d;break;case "cly_id_type":l(P,a,a.deserialize(d))}});q(this,oe,function(){l(H,a,[]);b(B,a).call(a,"cly_queue",[]);l(Y,a,[]);b(B,a).call(a,"cly_event",[])});q(this,pe,function(){return{eventQ:b(Y,a),requestQ:b(H,a)}});y(this,"_internals",{store:b(B,this),getDocWidth:fd,getDocHeight:pc,getViewportHeight:Gd,get_page_coord:ed,get_event_target:mc,add_event_listener:M,createNewObjectFromProperties:Tb,
|
|
243
|
+
truncateObject:Ia,truncateSingleValue:I,stripTrailingSlash:cb,prepareParams:bd,sendXmlHttpRequest:b(td,this),isResponseValid:b(Uc,this),getInternalDeviceIdType:b(he,this),getMsTimestamp:yb,getTimestamp:L,isResponseValidBroad:b(Vc,this),secureRandom:Zc,log:b(e,this),checkIfLoggingIsOn:lc,getMetrics:b(Sb,this),getUA:b(sd,this),prepareRequest:b(vb,this),generateUUID:$c,sendEventsForced:b(ya,this),isUUID:b(ee,this),calculateChecksum:Ed,isReferrerUsable:b(Tc,this),getId:b(Sc,this),heartBeat:b(ic,this),
|
|
244
|
+
toRequestQueue:b(ea,this),reportViewDuration:b(Rc,this),loadJS:Id,loadCSS:qc,getLastView:b(be,this),setToken:b(xd,this),getToken:b(ie,this),showLoader:Jd,hideLoader:Kd,setValueInStorage:b(B,this),getValueFromStorage:b(F,this),removeValueFromStorage:b(la,this),add_cly_events:b(pa,this),processScrollView:b(Wc,this),processScroll:b(wd,this),currentUserAgentString:db,currentUserAgentDataString:cd,userAgentDeviceDetection:oc,userAgentSearchBotDetection:Fd,getRequestQueue:b(ke,this),getEventQueue:b(je,
|
|
245
|
+
this),sendFetchRequest:b(vd,this),processAsyncQueue:b(za,this),makeNetworkRequest:b(qa,this),onStorageChange:b(ne,this),clearQueue:b(oe,this),getLocalQueues:b(pe,this),testingGetRequests:b(de,this),setFakeRequestHandler:function(c){l(ub,a,c)},getFakeRequestHandler:function(){return b(ub,a)},closeContent:function(){return b(hc,a).call(a)}});q(this,Aa,{sendInstantHCRequest:function(){if(b(U,a))b(e,a).call(a,f.DEBUG,"sendInstantHCRequest, Offline mode is active. Not sending health check request."),l(Zb,
|
|
246
|
+
a,!0);else{var c=I(a.hcErrorMessage,1E3,"healthCheck",b(e,a));""!==c&&(c=JSON.stringify(c));c={hc:JSON.stringify({el:a.hcErrorCount,wl:a.hcWarningCount,sc:a.hcStatusCode,em:c,bom:a.hcBackoffCount,cbom:a.hcConsecutiveBackoffCount}),metrics:JSON.stringify({_app_version:a.app_version})};b(vb,a).call(a,c);b(qa,a).call(a,"[healthCheck]",a.url+b(Vb,a),c,function(d){d||b(Aa,a).resetAndSaveCounters()},!0)}},resetAndSaveCounters:function(){b(Aa,a).resetCounters();b(B,a).call(a,ca.errorCount,a.hcErrorCount);
|
|
247
|
+
b(B,a).call(a,ca.warningCount,a.hcWarningCount);b(B,a).call(a,ca.statusCode,a.hcStatusCode);b(B,a).call(a,ca.errorMessage,a.hcErrorMessage);b(B,a).call(a,ca.backoffCount,a.hcBackoffCount);b(B,a).call(a,ca.consecutiveBackoffCount,a.hcConsecutiveBackoffCount)},incrementErrorCount:function(){a.hcErrorCount++},incrementWarningCount:function(){a.hcWarningCount++},incrementBackoffCount:function(){a.hcBackoffCount++;b(dc,a)&&a.hcConsecutiveBackoffCount++;l(dc,a,!0);b(B,a).call(a,ca.backoffCount,a.hcBackoffCount);
|
|
248
|
+
b(B,a).call(a,ca.consecutiveBackoffCount,a.hcConsecutiveBackoffCount)},resetLastRequestBackoffStatus:function(){l(dc,a,!1)},resetCounters:function(){a.hcErrorCount=0;a.hcWarningCount=0;a.hcStatusCode=-1;a.hcErrorMessage="";a.hcBackoffCount=0;a.hcConsecutiveBackoffCount=0},saveRequestCounters:function(c,d){a.hcStatusCode=c;a.hcErrorMessage=d;b(B,a).call(a,ca.statusCode,a.hcStatusCode);b(B,a).call(a,ca.errorMessage,a.hcErrorMessage)}});l(Nd,this,this);l(zb,this,!w.i);l(oa,this,!1);l(Vb,this,"/i");l(eb,
|
|
249
|
+
this,"/o/sdk");l(H,this,[]);l(Y,this,[]);l(fa,this,{});l(Ja,this,[]);l(sa,this,{});l(Wb,this,null);l(fb,this,!0);b(Ba,this);l(Xb,this,0);l(ja,this,null);l(gb,this,0);l(hb,this,0);l(Ua,this,0);l(Va,this,0);l(Ka,this,!0);l(rb,this,0);l(Ya,this,0);l(Fa,this,!1);l(Cb,this,!1);l(ua,this,{});l(La,this,!0);l(rc,this,L());l(Ma,this,!0);l(Wa,this,null);l(P,this,1);l(kb,this,!1);l(lb,this,0);l(Yb,this,!1);l(Na,this,null);l(Db,this,null);l(Da,this,null);l(Zb,this,!1);l($b,this,[]);l(gd,this,"/o/sdk/content");
|
|
250
|
+
l(mb,this,!1);l(Eb,this,null);l(nb,this,"cly-content-iframe");l(Fb,this,null);l(sc,this,!0);l(wa,this,z("queue_size",r,1E3));l(Xa,this,z("max_events",r,100));l(ob,this,z("session_update",r,60));l(Gb,this,1E3*Math.max(z("content_zone_timer_interval",r,30),15));l(tc,this,4);l(Hb,this,!0);l(Ib,this,!0);l(bc,this,!0);l(ac,this,!0);l(uc,this,!0);l(vc,this,!0);l(Jb,this,!1);l(wc,this,!0);l(pb,this,z("require_consent",r,!1));l(Q,this,z("max_key_length",r,128));l(O,this,z("max_value_size",r,256));l(ka,this,
|
|
251
|
+
z("max_segmentation_values",r,100));l(qb,this,z("max_breadcrumb_count",r,100));l(Pa,this,z("max_stack_trace_lines_per_thread",r,30));l(Qa,this,z("max_stack_trace_line_length",r,200));l(xc,this,!z("disable_backoff_mechanism",r,!1));l(yc,this,10);l(zc,this,.5);l(Ac,this,24);l(Bc,this,60);l(Kb,this,[]);l(Lb,this,[]);l(Mb,this,[]);l(Nb,this,[]);l(Ob,this,[]);l(Pb,this,[]);l(Cc,this,{});l(Dc,this,{});l(Qb,this,[]);l(Gc,this,3E4);l(fc,this,null);l(gc,this,!1);l(sb,this,!1);l(tb,this,!1);l(Za,this,new Set);
|
|
252
|
+
l(ub,this,z("fake_request_handler",r,null));l(Z,this,null);l(Ra,this,"not_started");l(Hc,this,null);l(xa,this,null);l(Sa,this,null);l(Ta,this,null);this.app_key=z("app_key",r,null);this.url=cb(z("url",r,""));this.serialize=z("serialize",r,w.serialize);this.deserialize=z("deserialize",r,w.deserialize);l(hd,this,z("disable_sdk_behavior_settings_updates",r,!1));l(cc,this,!1);l(ec,this,z("test_mode_time",r,0));try{localStorage.setItem("cly_testLocal",!0),localStorage.removeItem("cly_testLocal")}catch(c){b(e,
|
|
253
|
+
this).call(this,f.ERROR,"Local storage test failed, Halting local storage support: "+c),l(Ma,this,!1)}l(Oa,this,b(F,this).call(this,"cly_config"));b(Oa,this)||(l(Oa,this,z("behavior_settings",r,{})),b(B,this).call(this,"cly_config",JSON.stringify(b(Oa,this))));b(Kc,this).call(this,b(Oa,this));l(V,this,{});for(var E=0;E<w.features.length;E++)b(V,this)[w.features[E]]={};b(Od,this).call(this);b(Pd,this).call(this,r);b(pd,this).call(this);setTimeout(function(){w.noHeartBeat?b(e,a).call(a,f.WARNING,"initialize, Heartbeat disabled. This is for testing purposes only!"):
|
|
254
|
+
b(ic,a).call(a);a.remote_config&&a.fetch_remote_config(a.remote_config)},1);D&&document.documentElement.setAttribute("data-countly-useragent",db());l(Fc,this,yb());b(Aa,this).sendInstantHCRequest();b(Jb,this)&&(b($a,this).call(this),l(Ec,this,!0));b(e,this).call(this,f.INFO,"initialize, Countly initialized")}),re=!0;w.features="apm attribution clicks crashes events feedback forms location remote-config scrolls sessions star-rating users views".split(" ");w.q=w.q||[];w.onload=w.onload||[];w.CountlyClass=
|
|
255
|
+
qe;w.init=function(r){r=r||{};if(w.loadAPMScriptsAsync&&re)re=!1,ue(r);else{var v=r.app_key||w.app_key;if(!w.i||!w.i[v]){r=new qe(r);if(!w.i){w.i={};for(var a in r)w[a]=r[a]}w.i[v]=r}return w.i[v]}};w.serialize=function(r){try{"object"===T(r)&&(r=JSON.stringify(r))}catch(v){}return r};w.deserialize=function(r){if(""===r)return r;try{r=JSON.parse(r)}catch(v){}return r};w.getViewName=function(){return D?window.location.pathname:"web_worker"};w.getViewUrl=function(){return D?window.location.pathname:
|
|
256
|
+
"web_worker"};w.getSearchQuery=function(){if(D)return window.location.search};w.DeviceIdType={DEVELOPER_SUPPLIED:0,SDK_GENERATED:1,TEMPORARY_ID:2};D&&window.addEventListener("storage",function(r){var v=(r.key+"").split("/"),a=v.pop();v=v.pop();if(w.i&&w.i[v])w.i[v]._internals.onStorageChange(a,r.newValue)});ab.default=w;Object.defineProperty(ab,"__esModule",{value:!0})});
|