clarity-js 0.8.15 → 0.8.17
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/build/clarity.extended.js +1 -1
- package/build/clarity.insight.js +1 -1
- package/build/clarity.js +105 -27
- package/build/clarity.min.js +1 -1
- package/build/clarity.module.js +105 -27
- package/build/clarity.performance.js +1 -1
- package/package.json +1 -1
- package/rollup.config.ts +5 -3
- package/src/clarity.ts +1 -1
- package/src/core/version.ts +1 -1
- package/src/data/consent.ts +21 -3
- package/src/data/encode.ts +8 -0
- package/src/data/index.ts +3 -1
- package/src/data/metadata.ts +57 -12
- package/src/data/upload.ts +4 -0
- package/src/interaction/scroll.ts +4 -0
- package/src/layout/style.ts +1 -1
- package/src/performance/observer.ts +10 -3
- package/types/data.d.ts +22 -3
- package/types/index.d.ts +1 -0
package/build/clarity.module.js
CHANGED
|
@@ -57,6 +57,7 @@ var metadata$1 = /*#__PURE__*/Object.freeze({
|
|
|
57
57
|
get callbacks () { return callbacks; },
|
|
58
58
|
get clear () { return clear; },
|
|
59
59
|
get consent () { return consent; },
|
|
60
|
+
get consentv2 () { return consentv2; },
|
|
60
61
|
get data () { return data$2; },
|
|
61
62
|
get electron () { return electron; },
|
|
62
63
|
get id () { return id; },
|
|
@@ -76,6 +77,7 @@ var envelope$1 = /*#__PURE__*/Object.freeze({
|
|
|
76
77
|
var clarity = /*#__PURE__*/Object.freeze({
|
|
77
78
|
__proto__: null,
|
|
78
79
|
get consent () { return consent; },
|
|
80
|
+
get consentv2 () { return consentv2; },
|
|
79
81
|
get event () { return event; },
|
|
80
82
|
get hashText () { return hashText; },
|
|
81
83
|
get identify () { return identify; },
|
|
@@ -179,7 +181,7 @@ function stop$F() {
|
|
|
179
181
|
startTime = 0;
|
|
180
182
|
}
|
|
181
183
|
|
|
182
|
-
var version$1 = "0.8.
|
|
184
|
+
var version$1 = "0.8.17";
|
|
183
185
|
|
|
184
186
|
// tslint:disable: no-bitwise
|
|
185
187
|
function hash (input, precision) {
|
|
@@ -532,7 +534,7 @@ function visibility(t, visible) {
|
|
|
532
534
|
}
|
|
533
535
|
update$2 = true;
|
|
534
536
|
}
|
|
535
|
-
function compute$
|
|
537
|
+
function compute$f() {
|
|
536
538
|
if (update$2) {
|
|
537
539
|
encode$1(4 /* Event.Baseline */);
|
|
538
540
|
}
|
|
@@ -544,7 +546,7 @@ function stop$E() {
|
|
|
544
546
|
var baseline = /*#__PURE__*/Object.freeze({
|
|
545
547
|
__proto__: null,
|
|
546
548
|
activity: activity,
|
|
547
|
-
compute: compute$
|
|
549
|
+
compute: compute$f,
|
|
548
550
|
reset: reset$s,
|
|
549
551
|
start: start$H,
|
|
550
552
|
get state () { return state$b; },
|
|
@@ -553,6 +555,31 @@ var baseline = /*#__PURE__*/Object.freeze({
|
|
|
553
555
|
visibility: visibility
|
|
554
556
|
});
|
|
555
557
|
|
|
558
|
+
var data$k = null;
|
|
559
|
+
var updateConsent = true;
|
|
560
|
+
function config$1(consent) {
|
|
561
|
+
trackConsent(consent.analytics_Storage ? 1 /* ConsentType.Implicit */ : 0 /* ConsentType.None */);
|
|
562
|
+
data$k = consent;
|
|
563
|
+
}
|
|
564
|
+
// When we get consent signal as false, we restart the service and track config as false.
|
|
565
|
+
function consent$1() {
|
|
566
|
+
trackConsent(2 /* ConsentType.General */);
|
|
567
|
+
}
|
|
568
|
+
function trackConsent(consent) {
|
|
569
|
+
log(36 /* Dimension.Consent */, consent.toString());
|
|
570
|
+
}
|
|
571
|
+
function consentv2$1(consent) {
|
|
572
|
+
data$k = consent;
|
|
573
|
+
encode$1(47 /* Event.Consent */);
|
|
574
|
+
}
|
|
575
|
+
// Compute function is called every upload, but we only want to send consent data once.
|
|
576
|
+
function compute$e() {
|
|
577
|
+
if (updateConsent) {
|
|
578
|
+
encode$1(47 /* Event.Consent */);
|
|
579
|
+
updateConsent = false;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
556
583
|
var data$j = null;
|
|
557
584
|
// custom events allow 2 parameters or 1 parameter to be passed. If 2 are passed we
|
|
558
585
|
// consider it a key value pair. If only 1 is passed we only consider the event to have a value.
|
|
@@ -1176,12 +1203,13 @@ function stop$y() {
|
|
|
1176
1203
|
}
|
|
1177
1204
|
function compute$9() {
|
|
1178
1205
|
compute$b();
|
|
1179
|
-
compute$
|
|
1206
|
+
compute$f();
|
|
1180
1207
|
compute$2();
|
|
1181
1208
|
compute$d();
|
|
1182
1209
|
compute$c();
|
|
1183
1210
|
compute$3();
|
|
1184
1211
|
compute$a();
|
|
1212
|
+
compute$e();
|
|
1185
1213
|
}
|
|
1186
1214
|
|
|
1187
1215
|
var history$5 = [];
|
|
@@ -1666,6 +1694,11 @@ function recompute$4(event) {
|
|
|
1666
1694
|
var w = window;
|
|
1667
1695
|
var de = document.documentElement;
|
|
1668
1696
|
var element = event ? target(event) : de;
|
|
1697
|
+
// In some edge cases, it's possible for target to be null.
|
|
1698
|
+
// In those cases, we cannot proceed with scroll event instrumentation.
|
|
1699
|
+
if (!element) {
|
|
1700
|
+
return;
|
|
1701
|
+
}
|
|
1669
1702
|
// If the target is a Document node, then identify corresponding documentElement and window for this document
|
|
1670
1703
|
if (element && element.nodeType === Node.DOCUMENT_NODE) {
|
|
1671
1704
|
var frame = iframe(element);
|
|
@@ -4234,6 +4267,9 @@ function upload(final) {
|
|
|
4234
4267
|
compute$9();
|
|
4235
4268
|
compute$7();
|
|
4236
4269
|
last = final === true;
|
|
4270
|
+
// In some cases envelope has null data because it's part of the shutdown process while there's one upload call queued which might introduce runtime error
|
|
4271
|
+
if (!data$1)
|
|
4272
|
+
return [2 /*return*/];
|
|
4237
4273
|
e = JSON.stringify(envelope(last));
|
|
4238
4274
|
a = "[".concat(analysis.join(), "]");
|
|
4239
4275
|
p = sendPlaybackBytes ? "[".concat(playback.join(), "]") : "" /* Constant.Empty */;
|
|
@@ -4910,6 +4946,12 @@ function encode$1 (event) {
|
|
|
4910
4946
|
}));
|
|
4911
4947
|
reset$n();
|
|
4912
4948
|
queue(tokens, false);
|
|
4949
|
+
case 47 /* Event.Consent */:
|
|
4950
|
+
tokens.push(data$k.source);
|
|
4951
|
+
tokens.push(data$k.ad_Storage);
|
|
4952
|
+
tokens.push(data$k.analytics_Storage);
|
|
4953
|
+
queue(tokens);
|
|
4954
|
+
break;
|
|
4913
4955
|
}
|
|
4914
4956
|
}
|
|
4915
4957
|
|
|
@@ -4994,21 +5036,12 @@ function reset$3() {
|
|
|
4994
5036
|
limited = false;
|
|
4995
5037
|
}
|
|
4996
5038
|
|
|
4997
|
-
function config$1(track) {
|
|
4998
|
-
trackConsent(track ? 1 /* ConsentType.Implicit */ : 0 /* ConsentType.None */);
|
|
4999
|
-
}
|
|
5000
|
-
// When we get consent signal as false, we restart the service and track config as false.
|
|
5001
|
-
function consent$1() {
|
|
5002
|
-
trackConsent(2 /* ConsentType.General */);
|
|
5003
|
-
}
|
|
5004
|
-
function trackConsent(consent) {
|
|
5005
|
-
log(36 /* Dimension.Consent */, consent.toString());
|
|
5006
|
-
}
|
|
5007
|
-
|
|
5008
5039
|
var data$2 = null;
|
|
5009
5040
|
var callbacks = [];
|
|
5010
5041
|
var electron = 0 /* BooleanFlag.False */;
|
|
5011
5042
|
var rootDomain = null;
|
|
5043
|
+
var consentStatus = null;
|
|
5044
|
+
var defaultStatus = { ad_Storage: "denied" /* Constant.Denied */, analytics_Storage: "denied" /* Constant.Denied */ };
|
|
5012
5045
|
function start$8() {
|
|
5013
5046
|
var _a, _b, _c;
|
|
5014
5047
|
rootDomain = null;
|
|
@@ -5071,7 +5104,12 @@ function start$8() {
|
|
|
5071
5104
|
}
|
|
5072
5105
|
}
|
|
5073
5106
|
// Track consent config
|
|
5074
|
-
|
|
5107
|
+
consentStatus = {
|
|
5108
|
+
ad_Storage: config$2.track ? "granted" /* Constant.Granted */ : "denied" /* Constant.Denied */,
|
|
5109
|
+
analytics_Storage: config$2.track ? "granted" /* Constant.Granted */ : "denied" /* Constant.Denied */,
|
|
5110
|
+
};
|
|
5111
|
+
var consent = getConsentData(consentStatus, 0 /* ConsentSource.Implicit */);
|
|
5112
|
+
config$1(consent);
|
|
5075
5113
|
// Track ids using a cookie if configuration allows it
|
|
5076
5114
|
track(u);
|
|
5077
5115
|
}
|
|
@@ -5094,11 +5132,13 @@ function userAgentData() {
|
|
|
5094
5132
|
function stop$8() {
|
|
5095
5133
|
rootDomain = null;
|
|
5096
5134
|
data$2 = null;
|
|
5135
|
+
consentStatus = null;
|
|
5097
5136
|
callbacks.forEach(function (cb) { cb.called = false; });
|
|
5098
5137
|
}
|
|
5099
|
-
function metadata(cb, wait, recall) {
|
|
5138
|
+
function metadata(cb, wait, recall, consentInfo) {
|
|
5100
5139
|
if (wait === void 0) { wait = true; }
|
|
5101
5140
|
if (recall === void 0) { recall = false; }
|
|
5141
|
+
if (consentInfo === void 0) { consentInfo = false; }
|
|
5102
5142
|
var upgraded = config$2.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
|
|
5103
5143
|
var called = false;
|
|
5104
5144
|
// if caller hasn't specified that they want to skip waiting for upgrade but we've already upgraded, we need to
|
|
@@ -5106,19 +5146,36 @@ function metadata(cb, wait, recall) {
|
|
|
5106
5146
|
// we go through the upgrading flow.
|
|
5107
5147
|
if (data$2 && (upgraded || wait === false)) {
|
|
5108
5148
|
// Immediately invoke the callback if the caller explicitly doesn't want to wait for the upgrade confirmation
|
|
5109
|
-
cb(data$2, !config$2.lean);
|
|
5149
|
+
cb(data$2, !config$2.lean, consentInfo ? consentStatus : undefined);
|
|
5110
5150
|
called = true;
|
|
5111
5151
|
}
|
|
5112
5152
|
if (recall || !called) {
|
|
5113
|
-
callbacks.push({ callback: cb, wait: wait, recall: recall, called: called });
|
|
5153
|
+
callbacks.push({ callback: cb, wait: wait, recall: recall, called: called, consentInfo: consentInfo });
|
|
5114
5154
|
}
|
|
5115
5155
|
}
|
|
5116
5156
|
function id() {
|
|
5117
5157
|
return data$2 ? [data$2.userId, data$2.sessionId, data$2.pageNum].join("." /* Constant.Dot */) : "" /* Constant.Empty */;
|
|
5118
5158
|
}
|
|
5159
|
+
//TODO: Remove this function once consentv2 is fully released
|
|
5119
5160
|
function consent(status) {
|
|
5120
5161
|
if (status === void 0) { status = true; }
|
|
5121
5162
|
if (!status) {
|
|
5163
|
+
consentv2();
|
|
5164
|
+
return;
|
|
5165
|
+
}
|
|
5166
|
+
consentv2({ ad_Storage: "granted" /* Constant.Granted */, analytics_Storage: "granted" /* Constant.Granted */ });
|
|
5167
|
+
consent$1();
|
|
5168
|
+
}
|
|
5169
|
+
function consentv2(consentState, source) {
|
|
5170
|
+
if (consentState === void 0) { consentState = defaultStatus; }
|
|
5171
|
+
if (source === void 0) { source = 1 /* ConsentSource.API */; }
|
|
5172
|
+
consentStatus = {
|
|
5173
|
+
ad_Storage: normalizeConsent(consentState.ad_Storage),
|
|
5174
|
+
analytics_Storage: normalizeConsent(consentState.analytics_Storage)
|
|
5175
|
+
};
|
|
5176
|
+
callback(true);
|
|
5177
|
+
var consentData = getConsentData(consentStatus, source);
|
|
5178
|
+
if (!consentData.analytics_Storage) {
|
|
5122
5179
|
config$2.track = false;
|
|
5123
5180
|
setCookie("_clsk" /* Constant.SessionKey */, "" /* Constant.Empty */, -Number.MAX_VALUE);
|
|
5124
5181
|
setCookie("_clck" /* Constant.CookieKey */, "" /* Constant.Empty */, -Number.MAX_VALUE);
|
|
@@ -5130,9 +5187,21 @@ function consent(status) {
|
|
|
5130
5187
|
config$2.track = true;
|
|
5131
5188
|
track(user(), 1 /* BooleanFlag.True */);
|
|
5132
5189
|
save();
|
|
5190
|
+
consentv2$1(consentData);
|
|
5133
5191
|
consent$1();
|
|
5134
5192
|
}
|
|
5135
5193
|
}
|
|
5194
|
+
function getConsentData(consentState, source) {
|
|
5195
|
+
var consent = {
|
|
5196
|
+
source: source,
|
|
5197
|
+
ad_Storage: consentState.ad_Storage === "granted" /* Constant.Granted */ ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */,
|
|
5198
|
+
analytics_Storage: consentState.analytics_Storage === "granted" /* Constant.Granted */ ? 1 /* BooleanFlag.True */ : 0 /* BooleanFlag.False */,
|
|
5199
|
+
};
|
|
5200
|
+
return consent;
|
|
5201
|
+
}
|
|
5202
|
+
function normalizeConsent(value) {
|
|
5203
|
+
return typeof value === 'string' ? value.toLowerCase() : "denied" /* Constant.Denied */;
|
|
5204
|
+
}
|
|
5136
5205
|
function clear() {
|
|
5137
5206
|
// Clear any stored information in the cookie that tracks session information so we can restart fresh the next time
|
|
5138
5207
|
setCookie("_clsk" /* Constant.SessionKey */, "" /* Constant.Empty */, 0);
|
|
@@ -5146,9 +5215,10 @@ function tab() {
|
|
|
5146
5215
|
}
|
|
5147
5216
|
return id;
|
|
5148
5217
|
}
|
|
5149
|
-
function callback() {
|
|
5218
|
+
function callback(consentUpdate) {
|
|
5219
|
+
if (consentUpdate === void 0) { consentUpdate = false; }
|
|
5150
5220
|
var upgrade = config$2.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
|
|
5151
|
-
processCallback(upgrade);
|
|
5221
|
+
processCallback(upgrade, consentUpdate);
|
|
5152
5222
|
}
|
|
5153
5223
|
function save() {
|
|
5154
5224
|
if (!data$2 || !config$2.track)
|
|
@@ -5158,12 +5228,15 @@ function save() {
|
|
|
5158
5228
|
var upgrade = config$2.lean ? 0 /* BooleanFlag.False */ : 1 /* BooleanFlag.True */;
|
|
5159
5229
|
setCookie("_clsk" /* Constant.SessionKey */, [data$2.sessionId, ts, data$2.pageNum, upgrade, upload].join("|" /* Constant.Pipe */), 1 /* Setting.SessionExpire */);
|
|
5160
5230
|
}
|
|
5161
|
-
function processCallback(upgrade) {
|
|
5231
|
+
function processCallback(upgrade, consentUpdate) {
|
|
5232
|
+
if (consentUpdate === void 0) { consentUpdate = false; }
|
|
5162
5233
|
if (callbacks.length > 0) {
|
|
5163
5234
|
for (var i = 0; i < callbacks.length; i++) {
|
|
5164
5235
|
var cb = callbacks[i];
|
|
5165
|
-
if (cb.callback &&
|
|
5166
|
-
cb.
|
|
5236
|
+
if (cb.callback &&
|
|
5237
|
+
((!cb.called && !consentUpdate) || (cb.consentInfo && consentUpdate)) && //If consentUpdate is true, we only call the callback if it has consentInfo
|
|
5238
|
+
(!cb.wait || upgrade)) {
|
|
5239
|
+
cb.callback(data$2, !config$2.lean, cb.consentInfo ? consentStatus : undefined);
|
|
5167
5240
|
cb.called = true;
|
|
5168
5241
|
if (!cb.recall) {
|
|
5169
5242
|
callbacks.splice(i, 1);
|
|
@@ -5917,11 +5990,16 @@ function stop$2() {
|
|
|
5917
5990
|
}
|
|
5918
5991
|
observer = null;
|
|
5919
5992
|
resetInteractions();
|
|
5993
|
+
anchorCache = null;
|
|
5920
5994
|
}
|
|
5995
|
+
// Cached anchor element for optimal performance & memory management
|
|
5996
|
+
var anchorCache = null;
|
|
5921
5997
|
function host(url) {
|
|
5922
|
-
|
|
5923
|
-
|
|
5924
|
-
|
|
5998
|
+
if (!anchorCache) {
|
|
5999
|
+
anchorCache = document.createElement("a");
|
|
6000
|
+
}
|
|
6001
|
+
anchorCache.href = url;
|
|
6002
|
+
return anchorCache.host;
|
|
5925
6003
|
}
|
|
5926
6004
|
|
|
5927
6005
|
function start$1() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return wt},get start(){return yt},get stop(){return bt},get track(){return dt}}),n=Object.freeze({__proto__:null,get check(){return Ot},get compute(){return xt},get data(){return pt},get start(){return Mt},get stop(){return jt},get trigger(){return Tt}}),e=Object.freeze({__proto__:null,get compute(){return Dt},get data(){return zt},get log(){return Nt},get reset(){return Rt},get start(){return Pt},get stop(){return qt},get updates(){return At}}),r=Object.freeze({__proto__:null,get callback(){return Ft},get callbacks(){return Xt},get clear(){return Gt},get consent(){return Jt},get data(){return Ut},get electron(){return Lt},get id(){return Zt},get metadata(){return Wt},get save(){return Kt},get shortid(){return tn},get start(){return Bt},get stop(){return Yt}}),o=Object.freeze({__proto__:null,get data(){return cn},get envelope(){return dn},get start(){return sn},get stop(){return ln}}),a={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(t){void 0===t&&(t=null);var n=t&&t.timeStamp>0?t.timeStamp:performance.now(),e=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+e-u),0)}var s="0.8.15";var l=255,d=!0,p=null,f=null;function h(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var o=a.drop;if(o&&o.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r=u+"?"+c.split("&").map((function(t){return o.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return e&&(r=r.substring(0,l)),r}function v(t,n,e){return function(){if(d&&null===p)try{p=new RegExp("\\p{N}","gu"),f=new RegExp("\\p{L}","gu"),new RegExp("\\p{Sc}","gu")}catch(t){d=!1}}(),t?t.replace(f,n).replace(p,e):t}var g=[],m=null;function y(){}var w=[];function b(){}function k(){}var S=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:m,hashText:b,keys:w,log:y,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:g,stop:function(){},trigger:k}),_=null;function E(t,n){Nn()&&t&&"string"==typeof t&&t.length<255&&(_=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},It(24))}var I,M=null,O=null;function T(t){t in M||(M[t]=0),t in O||(O[t]=0),M[t]++,O[t]++}function x(t,n){null!==n&&(t in M||(M[t]=0),t in O||(O[t]=0),M[t]+=n,O[t]+=n)}function j(t,n){null!==n&&!1===isNaN(n)&&(t in M||(M[t]=0),(n>M[t]||0===M[t])&&(O[t]=n,M[t]=n))}function z(t,n,e){return window.setTimeout(hn(t),n,e)}function A(t){return window.clearTimeout(t)}var C=0,P=0,q=null;function N(){q&&A(q),q=z(D,P),C=c()}function D(){var t=c();I={gap:t-C},It(25),I.gap<3e5?q=z(D,P):Cn&&(E("clarity","suspend"),ae(),["mousemove","touchstart"].forEach((function(t){return gn(document,t,Dn)})),["resize","scroll","pageshow"].forEach((function(t){return gn(window,t,Dn)})))}var R=Object.freeze({__proto__:null,get data(){return I},reset:N,start:function(){P=6e4,C=0},stop:function(){A(q),C=0,P=0}}),H=null;function U(t){Nn()&&a.lean&&(a.lean=!1,H={key:t},Ft(),Kt(),a.upgrade&&a.upgrade(t),It(3),a.lite)}var X=Object.freeze({__proto__:null,get data(){return H},start:function(){!a.lean&&a.upgrade&&a.upgrade("Config"),H=null},stop:function(){H=null},upgrade:U});function L(t,n,e,r){return new(e||(e=Promise))((function(o,a){function i(t){try{c(r.next(t))}catch(t){a(t)}}function u(t){try{c(r.throw(t))}catch(t){a(t)}}function c(t){var n;t.done?o(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function V(t,n){var e,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){i.label=u[1];break}if(6===u[0]&&i.label<o[1]){i.label=o[1],o=u;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(u);break}o[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var B=null;function Y(t,n){Z(t,"string"==typeof n?[n]:n)}function W(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),L(this,void 0,void 0,(function(){var o,a;return V(this,(function(i){switch(i.label){case 0:return a={},[4,F(t)];case 1:return a.userId=i.sent(),a.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(v(u.substring(2),"*","*")):v(u,"*","*")),Z("userId",[(o=a).userId]),Z("userHint",[o.userHint]),Z("userType",[K(t)]),n&&(Z("sessionId",[n]),o.sessionId=n),e&&(Z("pageId",[e]),o.pageId=e),[2,o]}var u}))}))}function Z(t,n){if(Nn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in B?B[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);B[t]=e}}function J(){It(34)}function G(){B={}}function F(t){return L(this,void 0,void 0,(function(){var n;return V(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return e.sent(),[2,""];case 5:return[2]}}))}))}function K(t){return t&&t.indexOf("@")>0?"email":"string"}var Q="CompressionStream"in window;function $(t){return L(this,void 0,void 0,(function(){var n,e;return V(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),Q?(n=new ReadableStream({start:function(n){return L(this,void 0,void 0,(function(){return V(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,tt(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function tt(t){return L(this,void 0,void 0,(function(){var n,e,r,o,a;return V(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,o=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return a=i.sent(),r=a.done,o=a.value,r?[2,e]:(e.push.apply(e,o),[3,1]);case 3:return[2,e]}}))}))}var nt=null;function et(t){try{if(!nt)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){nt(t)}))}catch(t){}}var rt=[S,e,Object.freeze({__proto__:null,compute:J,get data(){return B},identify:W,reset:G,set:Y,start:function(){G()},stop:function(){G()}}),n,S,r,o,t,R,X,S];function ot(){M={},O={},T(5),rt.forEach((function(t){return hn(t.start)()}))}function at(){rt.slice().reverse().forEach((function(t){return hn(t.stop)()})),M={},O={}}function it(){J(),Dt(),It(0),xt()}var ut,ct,st,lt,dt,pt,ft=0,ht=0,vt=null,gt=0,mt=!1;function yt(){lt=!0,ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null}function wt(t,n){if(void 0===n&&(n=!0),lt){var e=c(),r=t.length>1?t[1]:null,o=JSON.stringify(t);switch(a.lean?!mt&&ht+o.length>10485760&&(mt=!0):mt=!1,r){case 5:if(mt)break;ft+=o.length;case 37:case 6:case 43:case 45:case 46:if(mt)break;ht+=o.length,ut.push(o);break;default:ct.push(o)}T(25);var i=function(){var t=!1===a.lean&&ft>0?100:cn.sequence*a.delay;return"string"==typeof a.upload?Math.max(Math.min(t,3e4),100):a.delay}();e-gt>2*i&&(A(vt),vt=null),n&&null===vt&&(25!==r&&N(),vt=z(kt,i),gt=e,Ot(ht))}}function bt(){A(vt),kt(!0),ft=0,ht=0,mt=!1,gt=0,ut=[],ct=[],st={},dt=null,lt=!1}function kt(t){return void 0===t&&(t=!1),L(this,void 0,void 0,(function(){var n,e,r,o,i,u,c,s;return V(this,(function(l){switch(l.label){case 0:return vt=null,(n=!1===a.lean&&ht>0&&(ht<1048576||cn.sequence>0))&&j(1,1),it(),e=!0===t,r=JSON.stringify(dn(e)),o="[".concat(ct.join(),"]"),i=n?"[".concat(ut.join(),"]"):"",u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:o,p:i}),e?(s=null,[3,3]):[3,1];case 1:return[4,$(u)];case 2:s=l.sent(),l.label=3;case 3:return x(2,(c=s)?c.length:u.length),St(u,c,cn.sequence,e),ct=[],n&&(ut=[],ht=0,ft=0,mt=!1),[2]}}))}))}function St(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof a.upload){var o=a.upload,i=!1;if(r&&"sendBeacon"in navigator)try{(i=navigator.sendBeacon.bind(navigator)(o,t))&&Et(e)}catch(t){}if(!1===i){e in st?st[e].attempts++:st[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",o,!0),u.timeout=15e3,u.ontimeout=function(){fn(new Error("".concat("Timeout"," : ").concat(o)))},null!==e&&(u.onreadystatechange=function(){hn(_t)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(a.upload){(0,a.upload)(t),Et(e)}}function _t(t,n){var e=st[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?Tt(6):(0===t.status&&(a.upload=a.fallback?a.fallback:a.upload),St(e.data,null,n)):(dt={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&It(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var o=r[e],i=o&&o.length>0?o.split(/ (.*)/):[""];switch(i[0]){case"END":Tt(6);break;case"UPGRADE":U("Auto");break;case"ACTION":a.action&&i.length>1&&a.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&et(i[1])}}}(t.responseText),0===t.status&&(St(e.data,null,n,!0),Tt(3)),t.status>=200&&t.status<=208&&Et(n),delete st[n]))}function Et(t){1===t&&(Kt(),Ft())}function It(t){var n=[c(),t];switch(t){case 4:var e=g;e&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),wt(n,!1));break;case 25:n.push(I.gap),wt(n);break;case 35:n.push(pt.check),wt(n,!1);break;case 3:n.push(H.key),wt(n);break;case 2:n.push(dt.sequence),n.push(dt.attempts),n.push(dt.status),wt(n,!1);break;case 24:_.key&&n.push(_.key),n.push(_.value),wt(n);break;case 34:var r=Object.keys(B);if(r.length>0){for(var o=0,a=r;o<a.length;o++){var i=a[o];n.push(i),n.push(B[i])}G(),wt(n,!1)}break;case 0:var u=Object.keys(O);if(u.length>0){for(var s=0,l=u;s<l.length;s++){var d=l[s],p=parseInt(d,10);n.push(p),n.push(Math.round(O[d]))}O={},wt(n,!1)}break;case 1:var f=Object.keys(At);if(f.length>0){for(var h=0,v=f;h<v.length;h++){var y=v[h];p=parseInt(y,10);n.push(p),n.push(At[y])}Rt(),wt(n,!1)}break;case 36:var b=Object.keys(m);if(b.length>0){for(var k=0,S=b;k<S.length;k++){var E=S[k];p=parseInt(E,10);n.push(p),n.push([].concat.apply([],m[E]))}wt(n,!1)}break;case 40:w.forEach((function(t){n.push(t);var e=[];for(var r in m[t]){var o=parseInt(r,10);e.push(o),e.push(m[t][r])}n.push(e)})),wt(n,!1)}}function Mt(){pt={check:0}}function Ot(t){if(0===pt.check){var n=pt.check;n=cn.sequence>=128?1:n,n=cn.pageNum>=128?7:n,n=c()>72e5?2:n,(n=t>10485760?2:n)!==pt.check&&Tt(n)}}function Tt(t){pt.check=t,5!==t&&(Gt(),ae())}function xt(){0!==pt.check&&It(35)}function jt(){pt=null}var zt=null,At=null,Ct=!1;function Pt(){zt={},At={},Ct=!1}function qt(){zt={},At={},Ct=!1}function Nt(t,n){if(n&&(n="".concat(n),t in zt||(zt[t]=[]),zt[t].indexOf(n)<0)){if(zt[t].length>128)return void(Ct||(Ct=!0,Tt(5)));zt[t].push(n),t in At||(At[t]=[]),At[t].push(n)}}function Dt(){It(1)}function Rt(){At={},Ct=!1}function Ht(t){Nt(36,t.toString())}var Ut=null,Xt=[],Lt=0,Vt=null;function Bt(){var t,n,e;Vt=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",o=null!==(e=null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone)&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Lt=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:tn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=rn("_clsk",!a.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-nn(e[1])<18e5&&(t.session=e[0],t.count=nn(e[2])+1,t.upgrade=nn(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),l=en(),d=a.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,o=r,a=0;a<t.length;a+=2)r=(r<<5)+r^t.charCodeAt(a),a+1<t.length&&(o=(o<<5)+o^t.charCodeAt(a+1));return e=Math.abs(r+11579*o),(n?e%Math.pow(2,n):e).toString(36)}(location.host);Ut={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},a.lean=a.track&&null!==s.upgrade?0===s.upgrade:a.lean,a.upload=a.track&&"string"==typeof a.upload&&s.upload&&s.upload.length>8?s.upload:a.upload,Nt(0,r),Nt(3,c),Nt(1,h(location.href,!!Lt)),Nt(2,document.referrer),Nt(15,function(){var t=tn();if(a.track&&Qt(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),Nt(16,document.documentElement.lang),Nt(17,document.dir),Nt(26,"".concat(window.devicePixelRatio)),Nt(28,l.dob.toString()),Nt(29,l.version.toString()),Nt(33,u),Nt(34,o),Nt(35,i),j(0,s.ts),j(1,0),j(35,Lt);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&j(39,1),navigator&&(Nt(9,navigator.language),j(33,navigator.hardwareConcurrency),j(32,navigator.maxTouchPoints),j(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;Nt(22,t.platform),Nt(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){Nt(24,t.name+"~"+t.version)})),Nt(25,t.model),j(27,t.mobile?1:0)})):Nt(22,navigator.platform)),screen&&(j(14,Math.round(screen.width)),j(15,Math.round(screen.height)),j(16,Math.round(screen.colorDepth)));for(var v=0,g=a.cookies;v<g.length;v++){var m=g[v],y=rn(m);y&&Y(m,y)}!function(t){Ht(t?1:0)}(a.track),$t(l)}function Yt(){Vt=null,Ut=null,Xt.forEach((function(t){t.called=!1}))}function Wt(t,n,e){void 0===n&&(n=!0),void 0===e&&(e=!1);var r=a.lean?0:1,o=!1;Ut&&(r||!1===n)&&(t(Ut,!a.lean),o=!0),!e&&o||Xt.push({callback:t,wait:n,recall:e,called:o})}function Zt(){return Ut?[Ut.userId,Ut.sessionId,Ut.pageNum].join("."):""}function Jt(t){if(void 0===t&&(t=!0),!t)return a.track=!1,an("_clsk","",-Number.MAX_VALUE),an("_clck","",-Number.MAX_VALUE),ae(),void window.setTimeout(oe,250);Nn()&&(a.track=!0,$t(en(),1),Kt(),Ht(2))}function Gt(){an("_clsk","",0)}function Ft(){!function(t){if(Xt.length>0)for(var n=0;n<Xt.length;n++){var e=Xt[n];!e.callback||e.called||e.wait&&!t||(e.callback(Ut,!a.lean),e.called=!0,e.recall||(Xt.splice(n,1),n--))}}(a.lean?0:1)}function Kt(){if(Ut&&a.track){var t=Math.round(Date.now()),n=a.upload&&"string"==typeof a.upload?a.upload.replace("https://",""):"",e=a.lean?0:1;an("_clsk",[Ut.sessionId,t,Ut.pageNum,e,n].join("|"),1)}}function Qt(t,n){try{return!!t[n]}catch(t){return!1}}function $t(t,n){void 0===n&&(n=null),n=null===n?t.consent:n;var e=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===a.dob?0:a.dob:t.dob;(null===t.expiry||Math.abs(e-t.expiry)>=1||t.consent!==n||t.dob!==r)&&an("_clck",[Ut.userId,2,e.toString(36),n,r].join("|"),365)}function tn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function nn(t,n){return void 0===n&&(n=10),parseInt(t,n)}function en(){var t={id:tn(),version:0,expiry:null,consent:0,dob:0},n=rn("_clck",!a.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=nn(e[1])),e.length>2&&(t.expiry=nn(e[2],36)),e.length>3&&1===nn(e[3])&&(t.consent=1),e.length>4&&nn(e[1])>1&&(t.dob=nn(e[4])),a.track=a.track||1===t.consent,t.id=a.track?e[0]:t.id}return t}function rn(t,n){var e;if(void 0===n&&(n=!1),Qt(document,"cookie")){var r=document.cookie.split(";");if(r)for(var o=0;o<r.length;o++){var a=r[o].split("=");if(a.length>1&&a[0]&&a[0].trim()===t){for(var i=on(a[1]),u=i[0],c=i[1];u;)u=(e=on(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function on(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function an(t,n,e){if((a.track||""==n)&&(navigator&&navigator.cookieEnabled||Qt(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),o=new Date;o.setDate(o.getDate()+e);var i=o?"expires="+o.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===Vt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(Vt=".".concat(c[s]).concat(Vt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(Vt),rn(t)===n))return;Vt=""}}catch(t){Vt=""}document.cookie=Vt?"".concat(u).concat(";").concat("domain=").concat(Vt):u}}var un,cn=null;function sn(){var t=Ut;cn={version:s,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function ln(){cn=null}function dn(t){return cn.start=cn.start+cn.duration,cn.duration=c()-cn.start,cn.sequence++,cn.upload=t&&"sendBeacon"in navigator?1:0,cn.end=t?1:0,cn.applicationPlatform=0,cn.url=h(location.href,!1,!0),[cn.version,cn.sequence,cn.start,cn.duration,cn.projectId,cn.userId,cn.sessionId,cn.pageNum,cn.upload,cn.end,cn.applicationPlatform,cn.url]}function pn(){un=[]}function fn(t){if(un&&-1===un.indexOf(t.message)){var n=a.report;if(n&&n.length>0&&cn){var e={v:cn.version,p:cn.projectId,u:cn.userId,s:cn.sessionId,n:cn.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),un.push(t.message)}}return t}function hn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw fn(t)}var e=performance.now()-n;x(4,e),e>30&&(T(7),j(6,e),"".concat(t.dn||t.name,"-").concat(e))}}var vn=new Map;function gn(t,n,e,r,o){void 0===r&&(r=!1),void 0===o&&(o=!0),e=hn(e);try{t[i("addEventListener")](n,e,{capture:r,passive:o}),function(t){return vn.has(t)}(t)||vn.set(t,[]),vn.get(t).push({event:n,listener:e,options:{capture:r,passive:o}})}catch(t){}}function mn(){vn.forEach((function(t,n){!function(t,n){t.forEach((function(t){try{n[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),vn.delete(n)}(t,n)})),vn=new Map}var yn=null,wn=null,bn=null,kn=0;function Sn(){return!(kn++>20)}function _n(){_n.dn=1,kn=0,bn!==In()&&(ae(),window.setTimeout(En,250))}function En(){oe(),j(29,1)}function In(){return location.href?location.href.replace(location.hash,""):location.href}var Mn=[],On=null,Tn=null,xn=null;function jn(){Tn&&(xn(),Tn=null,null===On&&An())}function zn(){Mn=[],On=null,Tn=null}function An(){var t=Mn.shift();t&&(On=t,t.task().then((function(){t.id===Zt()&&(t.resolve(),On=null,An())})).catch((function(n){t.id===Zt()&&(n&&(n.name,n.message,n.stack),On=null,An())})))}var Cn=!1;function Pn(){Cn=!0,u=performance.now()+performance.timeOrigin,zn(),mn(),pn(),bn=In(),kn=0,gn(window,"popstate",_n),null===yn&&(yn=history.pushState,history.pushState=function(){yn.apply(this,arguments),Nn()&&Sn()&&_n()}),null===wn&&(wn=history.replaceState,history.replaceState=function(){wn.apply(this,arguments),Nn()&&Sn()&&_n()})}function qn(){bn=null,kn=0,pn(),mn(),zn(),u=0,Cn=!1}function Nn(){return Cn}function Dn(){Dn.dn=2,oe(),E("clarity","restart")}var Rn=null;function Hn(){Rn=null}function Un(t){Rn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){L(this,void 0,void 0,(function(){var n,e;return V(this,(function(r){return n=c(),e=[n,t],29===t&&(e.push(Rn.fetchStart),e.push(Rn.connectStart),e.push(Rn.connectEnd),e.push(Rn.requestStart),e.push(Rn.responseStart),e.push(Rn.responseEnd),e.push(Rn.domInteractive),e.push(Rn.domComplete),e.push(Rn.loadEventStart),e.push(Rn.loadEventEnd),e.push(Rn.redirectCount),e.push(Rn.size),e.push(Rn.type),e.push(Rn.protocol),e.push(Rn.encodedSize),e.push(Rn.decodedSize),Hn(),wt(e)),[2]}))}))}(29)}var Xn,Ln=0,Vn=1/0,Bn=0,Yn=0,Wn=[],Zn=new Map,Jn=function(){return Ln||0},Gn=function(){if(!Wn.length)return-1;var t=Math.min(Wn.length-1,Math.floor((Jn()-Yn)/50));return Wn[t].latency},Fn=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Ln=performance.interactionCount:t.interactionId&&(Vn=Math.min(Vn,t.interactionId),Bn=Math.max(Bn,t.interactionId),Ln=Bn?(Bn-Vn)/7+1:0)}(t);var n=Wn[Wn.length-1],e=Zn.get(t.interactionId);if(e||Wn.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};Zn.set(r.id,r),Wn.push(r)}Wn.sort((function(t,n){return n.latency-t.latency})),Wn.length>10&&Wn.splice(10).forEach((function(t){return Zn.delete(t.id)}))}}},Kn=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function Qn(){Qn.dn=26;try{Xn&&Xn.disconnect(),Xn=new PerformanceObserver(hn($n));for(var t=0,n=Kn;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&x(9,0),Xn.observe({type:e,buffered:!0}))}}catch(t){}}function $n(t){$n.dn=27,function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":Un(r);break;case"resource":var o=r.name;Nt(4,ne(o)),o!==a.upload&&o!==a.fallback||j(28,r.duration);break;case"longtask":T(7);break;case"first-input":n&&j(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(Fn(r),Nt(37,Gn().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&x(9,1e3*r.value);break;case"largest-contentful-paint":n&&j(8,r.startTime)}}}(t.getEntries())}function te(){Xn&&Xn.disconnect(),Xn=null,Yn=Jn(),Wn.length=0,Zn.clear()}function ne(t){var n=document.createElement("a");return n.href=t,n.host}var ee=Object.freeze({__proto__:null,start:function t(){t.dn=25,Hn(),function(){navigator&&"connection"in navigator&&Nt(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?gn(window,"load",z.bind(this,Qn,0)):Qn())}()},stop:function(){te(),Hn()}}),re=[S,S,S,ee];function oe(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Cn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Cn)return!1;for(var n in t)n in a&&(a[n]=t[n])}(t),Pn(),ot(),re.forEach((function(t){return hn(t.start)()})),null===t&&se())}function ae(){Nn()&&(re.slice().reverse().forEach((function(t){return hn(t.stop)()})),at(),qn(),void 0!==ue&&(ue[ce]=function(){(ue[ce].q=ue[ce].q||[]).push(arguments),"start"===arguments[0]&&ue[ce].q.unshift(ue[ce].q.pop())&&se()}))}var ie=Object.freeze({__proto__:null,consent:Jt,event:E,hashText:b,identify:W,metadata:Wt,pause:function(){Nn()&&(E("clarity","pause"),null===Tn&&(Tn=new Promise((function(t){xn=t}))))},resume:function(){Nn()&&(jn(),E("clarity","resume"))},set:Y,signal:function(t){nt=t},start:oe,stop:ae,upgrade:U,version:s}),ue=window,ce="clarity";function se(){if(void 0!==ue){if(ue[ce]&&ue[ce].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ue[ce]&&ue[ce].q||[];for(ue[ce]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return ie[t].apply(ie,n)},ue[ce].v=s;t.length>0;)ue[ce].apply(ue,t.shift())}}se()}();
|
|
1
|
+
!function(){"use strict";var t=Object.freeze({__proto__:null,get queue(){return _t},get start(){return St},get stop(){return It},get track(){return vt}}),n=Object.freeze({__proto__:null,get check(){return zt},get compute(){return At},get data(){return gt},get start(){return jt},get stop(){return Pt},get trigger(){return Ct}}),e=Object.freeze({__proto__:null,get compute(){return Xt},get data(){return qt},get log(){return Ut},get reset(){return Lt},get start(){return Rt},get stop(){return Ht},get updates(){return Nt}}),r=Object.freeze({__proto__:null,get callback(){return an},get callbacks(){return Bt},get clear(){return rn},get consent(){return $t},get consentv2(){return tn},get data(){return Vt},get electron(){return Yt},get id(){return Qt},get metadata(){return Kt},get save(){return on},get shortid(){return sn},get start(){return Gt},get stop(){return Ft}}),a=Object.freeze({__proto__:null,get data(){return gn},get envelope(){return wn},get start(){return mn},get stop(){return yn}}),o={projectId:null,delay:1e3,lean:!1,lite:!1,track:!0,content:!0,drop:[],mask:[],unmask:[],regions:[],cookies:[],fraud:!0,checksum:[],report:null,upload:null,fallback:null,upgrade:null,action:null,dob:null,delayDom:!1,throttleDom:!0,conversions:!1,includeSubdomains:!0};function i(t){return window.Zone&&"__symbol__"in window.Zone?window.Zone.__symbol__(t):t}var u=0;function c(t){void 0===t&&(t=null);var n=t&&t.timeStamp>0?t.timeStamp:performance.now(),e=t&&t.view?t.view.performance.timeOrigin:performance.timeOrigin;return Math.max(Math.round(n+e-u),0)}var s="0.8.17";var l=255,d=!0,p=null,f=null;function h(t,n,e){void 0===n&&(n=!1),void 0===e&&(e=!1);var r=t;if(n)r="".concat("https://").concat("Electron");else{var a=o.drop;if(a&&a.length>0&&t&&t.indexOf("?")>0){var i=t.split("?"),u=i[0],c=i[1];r=u+"?"+c.split("&").map((function(t){return a.some((function(n){return 0===t.indexOf("".concat(n,"="))}))?"".concat(t.split("=")[0],"=").concat("*na*"):t})).join("&")}}return e&&(r=r.substring(0,l)),r}function v(t,n,e){return function(){if(d&&null===p)try{p=new RegExp("\\p{N}","gu"),f=new RegExp("\\p{L}","gu"),new RegExp("\\p{Sc}","gu")}catch(t){d=!1}}(),t?t.replace(f,n).replace(p,e):t}var g=[],m=null;function y(){}var w=[];function b(){}function k(){}var S=Object.freeze({__proto__:null,checkDocumentStyles:function(t){},compute:function(){},data:m,hashText:b,keys:w,log:y,observe:function(){},reset:function(){},sheetAdoptionState:[],sheetUpdateState:[],start:function(){},state:g,stop:function(){},trigger:k}),_=null,I=!0;function E(){M(2)}function M(t){Ut(36,t.toString())}var O=null;function T(t,n){Bn()&&t&&"string"==typeof t&&t.length<255&&(O=n&&"string"==typeof n&&n.length<255?{key:t,value:n}:{value:t},xt(24))}var x,j=null,z=null;function C(t){t in j||(j[t]=0),t in z||(z[t]=0),j[t]++,z[t]++}function A(t,n){null!==n&&(t in j||(j[t]=0),t in z||(z[t]=0),j[t]+=n,z[t]+=n)}function P(t,n){null!==n&&!1===isNaN(n)&&(t in j||(j[t]=0),(n>j[t]||0===j[t])&&(z[t]=n,j[t]=n))}function q(t,n,e){return window.setTimeout(Sn(t),n,e)}function N(t){return window.clearTimeout(t)}var D=0,R=0,H=null;function U(){H&&N(H),H=q(X,R),D=c()}function X(){var t=c();x={gap:t-D},xt(25),x.gap<3e5?H=q(X,R):Xn&&(T("clarity","suspend"),he(),["mousemove","touchstart"].forEach((function(t){return In(document,t,Yn)})),["resize","scroll","pageshow"].forEach((function(t){return In(window,t,Yn)})))}var L=Object.freeze({__proto__:null,get data(){return x},reset:U,start:function(){R=6e4,D=0},stop:function(){N(H),D=0,R=0}}),V=null;function B(t){Bn()&&o.lean&&(o.lean=!1,V={key:t},an(),on(),o.upgrade&&o.upgrade(t),xt(3),o.lite)}var Y=Object.freeze({__proto__:null,get data(){return V},start:function(){!o.lean&&o.upgrade&&o.upgrade("Config"),V=null},stop:function(){V=null},upgrade:B});function W(t,n,e,r){return new(e||(e=Promise))((function(a,o){function i(t){try{c(r.next(t))}catch(t){o(t)}}function u(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var n;t.done?a(t.value):(n=t.value,n instanceof e?n:new e((function(t){t(n)}))).then(i,u)}c((r=r.apply(t,n||[])).next())}))}function Z(t,n){var e,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(u){return function(c){return function(u){if(e)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(i=0)),i;)try{if(e=1,r&&(a=2&u[0]?r.return:u[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,u[1])).done)return a;switch(r=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return i.label++,{value:u[1],done:!1};case 5:i.label++,r=u[1],u=[0];continue;case 7:u=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){i=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){i.label=u[1];break}if(6===u[0]&&i.label<a[1]){i.label=a[1],a=u;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(u);break}a[2]&&i.ops.pop(),i.trys.pop();continue}u=n.call(t,i)}catch(t){u=[6,t],r=0}finally{e=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var J=null;function G(t,n){K(t,"string"==typeof n?[n]:n)}function F(t,n,e,r){return void 0===n&&(n=null),void 0===e&&(e=null),void 0===r&&(r=null),W(this,void 0,void 0,(function(){var a,o;return Z(this,(function(i){switch(i.label){case 0:return o={},[4,tt(t)];case 1:return o.userId=i.sent(),o.userHint=r||((u=t)&&u.length>=5?"".concat(u.substring(0,2)).concat(v(u.substring(2),"*","*")):v(u,"*","*")),K("userId",[(a=o).userId]),K("userHint",[a.userHint]),K("userType",[nt(t)]),n&&(K("sessionId",[n]),a.sessionId=n),e&&(K("pageId",[e]),a.pageId=e),[2,a]}var u}))}))}function K(t,n){if(Bn()&&t&&n&&"string"==typeof t&&t.length<255){for(var e=(t in J?J[t]:[]),r=0;r<n.length;r++)"string"==typeof n[r]&&n[r].length<255&&e.push(n[r]);J[t]=e}}function Q(){xt(34)}function $(){J={}}function tt(t){return W(this,void 0,void 0,(function(){var n;return Z(this,(function(e){switch(e.label){case 0:return e.trys.push([0,4,,5]),crypto&&t?[4,crypto.subtle.digest("SHA-256",(new TextEncoder).encode(t))]:[3,2];case 1:return n=e.sent(),[2,Array.prototype.map.call(new Uint8Array(n),(function(t){return("00"+t.toString(16)).slice(-2)})).join("")];case 2:return[2,""];case 3:return[3,5];case 4:return e.sent(),[2,""];case 5:return[2]}}))}))}function nt(t){return t&&t.indexOf("@")>0?"email":"string"}var et="CompressionStream"in window;function rt(t){return W(this,void 0,void 0,(function(){var n,e;return Z(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),et?(n=new ReadableStream({start:function(n){return W(this,void 0,void 0,(function(){return Z(this,(function(e){return n.enqueue(t),n.close(),[2]}))}))}}).pipeThrough(new TextEncoderStream).pipeThrough(new window.CompressionStream("gzip")),e=Uint8Array.bind,[4,at(n)]):[3,2];case 1:return[2,new(e.apply(Uint8Array,[void 0,r.sent()]))];case 2:return[3,4];case 3:return r.sent(),[3,4];case 4:return[2,null]}}))}))}function at(t){return W(this,void 0,void 0,(function(){var n,e,r,a,o;return Z(this,(function(i){switch(i.label){case 0:n=t.getReader(),e=[],r=!1,a=[],i.label=1;case 1:return r?[3,3]:[4,n.read()];case 2:return o=i.sent(),r=o.done,a=o.value,r?[2,e]:(e.push.apply(e,a),[3,1]);case 3:return[2,e]}}))}))}var ot=null;function it(t){try{if(!ot)return;var n=function(t){try{return JSON.parse(t)}catch(t){return[]}}(t);n.forEach((function(t){ot(t)}))}catch(t){}}var ut=[S,e,Object.freeze({__proto__:null,compute:Q,get data(){return J},identify:F,reset:$,set:G,start:function(){$()},stop:function(){$()}}),n,S,r,a,t,L,Y,S];function ct(){j={},z={},C(5),ut.forEach((function(t){return Sn(t.start)()}))}function st(){ut.slice().reverse().forEach((function(t){return Sn(t.stop)()})),j={},z={}}function lt(){Q(),Xt(),xt(0),At(),I&&(xt(47),I=!1)}var dt,pt,ft,ht,vt,gt,mt=0,yt=0,wt=null,bt=0,kt=!1;function St(){ht=!0,mt=0,yt=0,kt=!1,bt=0,dt=[],pt=[],ft={},vt=null}function _t(t,n){if(void 0===n&&(n=!0),ht){var e=c(),r=t.length>1?t[1]:null,a=JSON.stringify(t);switch(o.lean?!kt&&yt+a.length>10485760&&(kt=!0):kt=!1,r){case 5:if(kt)break;mt+=a.length;case 37:case 6:case 43:case 45:case 46:if(kt)break;yt+=a.length,dt.push(a);break;default:pt.push(a)}C(25);var i=function(){var t=!1===o.lean&&mt>0?100:gn.sequence*o.delay;return"string"==typeof o.upload?Math.max(Math.min(t,3e4),100):o.delay}();e-bt>2*i&&(N(wt),wt=null),n&&null===wt&&(25!==r&&U(),wt=q(Et,i),bt=e,zt(yt))}}function It(){N(wt),Et(!0),mt=0,yt=0,kt=!1,bt=0,dt=[],pt=[],ft={},vt=null,ht=!1}function Et(t){return void 0===t&&(t=!1),W(this,void 0,void 0,(function(){var n,e,r,a,i,u,c,s;return Z(this,(function(l){switch(l.label){case 0:return wt=null,(n=!1===o.lean&&yt>0&&(yt<1048576||gn.sequence>0))&&P(1,1),lt(),e=!0===t,gn?(r=JSON.stringify(wn(e)),a="[".concat(pt.join(),"]"),i=n?"[".concat(dt.join(),"]"):"",u=function(t){return t.p.length>0?'{"e":'.concat(t.e,',"a":').concat(t.a,',"p":').concat(t.p,"}"):'{"e":'.concat(t.e,',"a":').concat(t.a,"}")}({e:r,a:a,p:i}),e?(s=null,[3,3]):[3,1]):[2];case 1:return[4,rt(u)];case 2:s=l.sent(),l.label=3;case 3:return A(2,(c=s)?c.length:u.length),Mt(u,c,gn.sequence,e),pt=[],n&&(dt=[],yt=0,mt=0,kt=!1),[2]}}))}))}function Mt(t,n,e,r){if(void 0===r&&(r=!1),"string"==typeof o.upload){var a=o.upload,i=!1;if(r&&"sendBeacon"in navigator)try{(i=navigator.sendBeacon.bind(navigator)(a,t))&&Tt(e)}catch(t){}if(!1===i){e in ft?ft[e].attempts++:ft[e]={data:t,attempts:1};var u=new XMLHttpRequest;u.open("POST",a,!0),u.timeout=15e3,u.ontimeout=function(){kn(new Error("".concat("Timeout"," : ").concat(a)))},null!==e&&(u.onreadystatechange=function(){Sn(Ot)(u,e)}),u.withCredentials=!0,n?(u.setRequestHeader("Accept","application/x-clarity-gzip"),u.send(n)):u.send(t)}}else if(o.upload){(0,o.upload)(t),Tt(e)}}function Ot(t,n){var e=ft[n];t&&4===t.readyState&&e&&((t.status<200||t.status>208)&&e.attempts<=1?t.status>=400&&t.status<500?Ct(6):(0===t.status&&(o.upload=o.fallback?o.fallback:o.upload),Mt(e.data,null,n)):(vt={sequence:n,attempts:e.attempts,status:t.status},e.attempts>1&&xt(2),200===t.status&&t.responseText&&function(t){for(var n=t&&t.length>0?t.split("\n"):[],e=0,r=n;e<r.length;e++){var a=r[e],i=a&&a.length>0?a.split(/ (.*)/):[""];switch(i[0]){case"END":Ct(6);break;case"UPGRADE":B("Auto");break;case"ACTION":o.action&&i.length>1&&o.action(i[1]);break;case"EXTRACT":i.length>1&&i[1];break;case"SIGNAL":i.length>1&&it(i[1])}}}(t.responseText),0===t.status&&(Mt(e.data,null,n,!0),Ct(3)),t.status>=200&&t.status<=208&&Tt(n),delete ft[n]))}function Tt(t){1===t&&(on(),an())}function xt(t){var n=[c(),t];switch(t){case 4:var e=g;e&&((n=[e.time,e.event]).push(e.data.visible),n.push(e.data.docWidth),n.push(e.data.docHeight),n.push(e.data.screenWidth),n.push(e.data.screenHeight),n.push(e.data.scrollX),n.push(e.data.scrollY),n.push(e.data.pointerX),n.push(e.data.pointerY),n.push(e.data.activityTime),n.push(e.data.scrollTime),n.push(e.data.pointerTime),n.push(e.data.moveX),n.push(e.data.moveY),n.push(e.data.moveTime),n.push(e.data.downX),n.push(e.data.downY),n.push(e.data.downTime),n.push(e.data.upX),n.push(e.data.upY),n.push(e.data.upTime),n.push(e.data.pointerPrevX),n.push(e.data.pointerPrevY),n.push(e.data.pointerPrevTime),_t(n,!1));break;case 25:n.push(x.gap),_t(n);break;case 35:n.push(gt.check),_t(n,!1);break;case 3:n.push(V.key),_t(n);break;case 2:n.push(vt.sequence),n.push(vt.attempts),n.push(vt.status),_t(n,!1);break;case 24:O.key&&n.push(O.key),n.push(O.value),_t(n);break;case 34:var r=Object.keys(J);if(r.length>0){for(var a=0,o=r;a<o.length;a++){var i=o[a];n.push(i),n.push(J[i])}$(),_t(n,!1)}break;case 0:var u=Object.keys(z);if(u.length>0){for(var s=0,l=u;s<l.length;s++){var d=l[s],p=parseInt(d,10);n.push(p),n.push(Math.round(z[d]))}z={},_t(n,!1)}break;case 1:var f=Object.keys(Nt);if(f.length>0){for(var h=0,v=f;h<v.length;h++){var y=v[h];p=parseInt(y,10);n.push(p),n.push(Nt[y])}Lt(),_t(n,!1)}break;case 36:var b=Object.keys(m);if(b.length>0){for(var k=0,S=b;k<S.length;k++){var I=S[k];p=parseInt(I,10);n.push(p),n.push([].concat.apply([],m[I]))}_t(n,!1)}break;case 40:w.forEach((function(t){n.push(t);var e=[];for(var r in m[t]){var a=parseInt(r,10);e.push(a),e.push(m[t][r])}n.push(e)})),_t(n,!1);case 47:n.push(_.source),n.push(_.ad_Storage),n.push(_.analytics_Storage),_t(n)}}function jt(){gt={check:0}}function zt(t){if(0===gt.check){var n=gt.check;n=gn.sequence>=128?1:n,n=gn.pageNum>=128?7:n,n=c()>72e5?2:n,(n=t>10485760?2:n)!==gt.check&&Ct(n)}}function Ct(t){gt.check=t,5!==t&&(rn(),he())}function At(){0!==gt.check&&xt(35)}function Pt(){gt=null}var qt=null,Nt=null,Dt=!1;function Rt(){qt={},Nt={},Dt=!1}function Ht(){qt={},Nt={},Dt=!1}function Ut(t,n){if(n&&(n="".concat(n),t in qt||(qt[t]=[]),qt[t].indexOf(n)<0)){if(qt[t].length>128)return void(Dt||(Dt=!0,Ct(5)));qt[t].push(n),t in Nt||(Nt[t]=[]),Nt[t].push(n)}}function Xt(){xt(1)}function Lt(){Nt={},Dt=!1}var Vt=null,Bt=[],Yt=0,Wt=null,Zt=null,Jt={ad_Storage:"denied",analytics_Storage:"denied"};function Gt(){var t,n,e;Wt=null;var r=navigator&&"userAgent"in navigator?navigator.userAgent:"",a=null!==(e=null===(n=null===(t=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===t?void 0:t.resolvedOptions())||void 0===n?void 0:n.timeZone)&&void 0!==e?e:"",i=(new Date).getTimezoneOffset().toString(),u=window.location.ancestorOrigins?Array.from(window.location.ancestorOrigins).toString():"",c=document&&document.title?document.title:"";Yt=r.indexOf("Electron")>0?1:0;var s=function(){var t={session:sn(),ts:Math.round(Date.now()),count:1,upgrade:null,upload:""},n=pn("_clsk",!o.includeSubdomains);if(n){var e=n.includes("^")?n.split("^"):n.split("|");e.length>=5&&t.ts-ln(e[1])<18e5&&(t.session=e[0],t.count=ln(e[2])+1,t.upgrade=ln(e[3]),t.upload=e.length>=6?"".concat("https://").concat(e[5],"/").concat(e[4]):"".concat("https://").concat(e[4]))}return t}(),l=dn(),d=o.projectId||function(t,n){void 0===n&&(n=null);for(var e,r=5381,a=r,o=0;o<t.length;o+=2)r=(r<<5)+r^t.charCodeAt(o),o+1<t.length&&(a=(a<<5)+a^t.charCodeAt(o+1));return e=Math.abs(r+11579*a),(n?e%Math.pow(2,n):e).toString(36)}(location.host);Vt={projectId:d,userId:l.id,sessionId:s.session,pageNum:s.count},o.lean=o.track&&null!==s.upgrade?0===s.upgrade:o.lean,o.upload=o.track&&"string"==typeof o.upload&&s.upload&&s.upload.length>"https://".length?s.upload:o.upload,Ut(0,r),Ut(3,c),Ut(1,h(location.href,!!Yt)),Ut(2,document.referrer),Ut(15,function(){var t=sn();if(o.track&&un(window,"sessionStorage")){var n=sessionStorage.getItem("_cltk");t=n||t,sessionStorage.setItem("_cltk",t)}return t}()),Ut(16,document.documentElement.lang),Ut(17,document.dir),Ut(26,"".concat(window.devicePixelRatio)),Ut(28,l.dob.toString()),Ut(29,l.version.toString()),Ut(33,u),Ut(34,a),Ut(35,i),P(0,s.ts),P(1,0),P(35,Yt);var p,f=null===window||void 0===window?void 0:window.Zone;f&&"__symbol__"in f&&P(39,1),navigator&&(Ut(9,navigator.language),P(33,navigator.hardwareConcurrency),P(32,navigator.maxTouchPoints),P(34,Math.round(navigator.deviceMemory)),(p=navigator.userAgentData)&&p.getHighEntropyValues?p.getHighEntropyValues(["model","platform","platformVersion","uaFullVersion"]).then((function(t){var n;Ut(22,t.platform),Ut(23,t.platformVersion),null===(n=t.brands)||void 0===n||n.forEach((function(t){Ut(24,t.name+"~"+t.version)})),Ut(25,t.model),P(27,t.mobile?1:0)})):Ut(22,navigator.platform)),screen&&(P(14,Math.round(screen.width)),P(15,Math.round(screen.height)),P(16,Math.round(screen.colorDepth)));for(var v=0,g=o.cookies;v<g.length;v++){var m=g[v],y=pn(m);y&&G(m,y)}!function(t){M(t.analytics_Storage?1:0),_=t}(nn(Zt={ad_Storage:o.track?"granted":"denied",analytics_Storage:o.track?"granted":"denied"},0)),cn(l)}function Ft(){Wt=null,Vt=null,Zt=null,Bt.forEach((function(t){t.called=!1}))}function Kt(t,n,e,r){void 0===n&&(n=!0),void 0===e&&(e=!1),void 0===r&&(r=!1);var a=o.lean?0:1,i=!1;Vt&&(a||!1===n)&&(t(Vt,!o.lean,r?Zt:void 0),i=!0),!e&&i||Bt.push({callback:t,wait:n,recall:e,called:i,consentInfo:r})}function Qt(){return Vt?[Vt.userId,Vt.sessionId,Vt.pageNum].join("."):""}function $t(t){void 0===t&&(t=!0),t?(tn({ad_Storage:"granted",analytics_Storage:"granted"}),E()):tn()}function tn(t,n){void 0===t&&(t=Jt),void 0===n&&(n=1),Zt={ad_Storage:en(t.ad_Storage),analytics_Storage:en(t.analytics_Storage)},an(!0);var e=nn(Zt,n);if(!e.analytics_Storage)return o.track=!1,hn("_clsk","",-Number.MAX_VALUE),hn("_clck","",-Number.MAX_VALUE),he(),void window.setTimeout(fe,250);Bn()&&(o.track=!0,cn(dn(),1),on(),function(t){_=t,xt(47)}(e),E())}function nn(t,n){return{source:n,ad_Storage:"granted"===t.ad_Storage?1:0,analytics_Storage:"granted"===t.analytics_Storage?1:0}}function en(t){return"string"==typeof t?t.toLowerCase():"denied"}function rn(){hn("_clsk","",0)}function an(t){void 0===t&&(t=!1),function(t,n){void 0===n&&(n=!1);if(Bt.length>0)for(var e=0;e<Bt.length;e++){var r=Bt[e];r.callback&&(!r.called&&!n||r.consentInfo&&n)&&(!r.wait||t)&&(r.callback(Vt,!o.lean,r.consentInfo?Zt:void 0),r.called=!0,r.recall||(Bt.splice(e,1),e--))}}(o.lean?0:1,t)}function on(){if(Vt&&o.track){var t=Math.round(Date.now()),n=o.upload&&"string"==typeof o.upload?o.upload.replace("https://",""):"",e=o.lean?0:1;hn("_clsk",[Vt.sessionId,t,Vt.pageNum,e,n].join("|"),1)}}function un(t,n){try{return!!t[n]}catch(t){return!1}}function cn(t,n){void 0===n&&(n=null),n=null===n?t.consent:n;var e=Math.ceil((Date.now()+31536e6)/864e5),r=0===t.dob?null===o.dob?0:o.dob:t.dob;(null===t.expiry||Math.abs(e-t.expiry)>=1||t.consent!==n||t.dob!==r)&&hn("_clck",[Vt.userId,2,e.toString(36),n,r].join("|"),365)}function sn(){var t=Math.floor(Math.random()*Math.pow(2,32));return window&&window.crypto&&window.crypto.getRandomValues&&Uint32Array&&(t=window.crypto.getRandomValues(new Uint32Array(1))[0]),t.toString(36)}function ln(t,n){return void 0===n&&(n=10),parseInt(t,n)}function dn(){var t={id:sn(),version:0,expiry:null,consent:0,dob:0},n=pn("_clck",!o.includeSubdomains);if(n&&n.length>0){var e=n.includes("^")?n.split("^"):n.split("|");e.length>1&&(t.version=ln(e[1])),e.length>2&&(t.expiry=ln(e[2],36)),e.length>3&&1===ln(e[3])&&(t.consent=1),e.length>4&&ln(e[1])>1&&(t.dob=ln(e[4])),o.track=o.track||1===t.consent,t.id=o.track?e[0]:t.id}return t}function pn(t,n){var e;if(void 0===n&&(n=!1),un(document,"cookie")){var r=document.cookie.split(";");if(r)for(var a=0;a<r.length;a++){var o=r[a].split("=");if(o.length>1&&o[0]&&o[0].trim()===t){for(var i=fn(o[1]),u=i[0],c=i[1];u;)u=(e=fn(c))[0],c=e[1];return n?c.endsWith("".concat("~","1"))?c.substring(0,c.length-2):null:c}}}return null}function fn(t){try{var n=decodeURIComponent(t);return[n!=t,n]}catch(t){}return[!1,t]}function hn(t,n,e){if((o.track||""==n)&&(navigator&&navigator.cookieEnabled||un(document,"cookie"))){var r=function(t){return encodeURIComponent(t)}(n),a=new Date;a.setDate(a.getDate()+e);var i=a?"expires="+a.toUTCString():"",u="".concat(t,"=").concat(r).concat(";").concat(i).concat(";path=/");try{if(null===Wt){for(var c=location.hostname?location.hostname.split("."):[],s=c.length-1;s>=0;s--)if(Wt=".".concat(c[s]).concat(Wt||""),s<c.length-1&&(document.cookie="".concat(u).concat(";").concat("domain=").concat(Wt),pn(t)===n))return;Wt=""}}catch(t){Wt=""}document.cookie=Wt?"".concat(u).concat(";").concat("domain=").concat(Wt):u}}var vn,gn=null;function mn(){var t=Vt;gn={version:s,sequence:0,start:0,duration:0,projectId:t.projectId,userId:t.userId,sessionId:t.sessionId,pageNum:t.pageNum,upload:0,end:0,applicationPlatform:0,url:""}}function yn(){gn=null}function wn(t){return gn.start=gn.start+gn.duration,gn.duration=c()-gn.start,gn.sequence++,gn.upload=t&&"sendBeacon"in navigator?1:0,gn.end=t?1:0,gn.applicationPlatform=0,gn.url=h(location.href,!1,!0),[gn.version,gn.sequence,gn.start,gn.duration,gn.projectId,gn.userId,gn.sessionId,gn.pageNum,gn.upload,gn.end,gn.applicationPlatform,gn.url]}function bn(){vn=[]}function kn(t){if(vn&&-1===vn.indexOf(t.message)){var n=o.report;if(n&&n.length>0&&gn){var e={v:gn.version,p:gn.projectId,u:gn.userId,s:gn.sessionId,n:gn.pageNum};t.message&&(e.m=t.message),t.stack&&(e.e=t.stack);var r=new XMLHttpRequest;r.open("POST",n,!0),r.send(JSON.stringify(e)),vn.push(t.message)}}return t}function Sn(t){return function(){var n=performance.now();try{t.apply(this,arguments)}catch(t){throw kn(t)}var e=performance.now()-n;A(4,e),e>30&&(C(7),P(6,e),"".concat(t.dn||t.name,"-").concat(e))}}var _n=new Map;function In(t,n,e,r,a){void 0===r&&(r=!1),void 0===a&&(a=!0),e=Sn(e);try{t[i("addEventListener")](n,e,{capture:r,passive:a}),function(t){return _n.has(t)}(t)||_n.set(t,[]),_n.get(t).push({event:n,listener:e,options:{capture:r,passive:a}})}catch(t){}}function En(){_n.forEach((function(t,n){!function(t,n){t.forEach((function(t){try{n[i("removeEventListener")](t.event,t.listener,{capture:t.options.capture,passive:t.options.passive})}catch(t){}})),_n.delete(n)}(t,n)})),_n=new Map}var Mn=null,On=null,Tn=null,xn=0;function jn(){return!(xn++>20)}function zn(){zn.dn=1,xn=0,Tn!==An()&&(he(),window.setTimeout(Cn,250))}function Cn(){fe(),P(29,1)}function An(){return location.href?location.href.replace(location.hash,""):location.href}var Pn=[],qn=null,Nn=null,Dn=null;function Rn(){Nn&&(Dn(),Nn=null,null===qn&&Un())}function Hn(){Pn=[],qn=null,Nn=null}function Un(){var t=Pn.shift();t&&(qn=t,t.task().then((function(){t.id===Qt()&&(t.resolve(),qn=null,Un())})).catch((function(n){t.id===Qt()&&(n&&(n.name,n.message,n.stack),qn=null,Un())})))}var Xn=!1;function Ln(){Xn=!0,u=performance.now()+performance.timeOrigin,Hn(),En(),bn(),Tn=An(),xn=0,In(window,"popstate",zn),null===Mn&&(Mn=history.pushState,history.pushState=function(){Mn.apply(this,arguments),Bn()&&jn()&&zn()}),null===On&&(On=history.replaceState,history.replaceState=function(){On.apply(this,arguments),Bn()&&jn()&&zn()})}function Vn(){Tn=null,xn=0,bn(),En(),Hn(),u=0,Xn=!1}function Bn(){return Xn}function Yn(){Yn.dn=2,fe(),T("clarity","restart")}var Wn=null;function Zn(){Wn=null}function Jn(t){Wn={fetchStart:Math.round(t.fetchStart),connectStart:Math.round(t.connectStart),connectEnd:Math.round(t.connectEnd),requestStart:Math.round(t.requestStart),responseStart:Math.round(t.responseStart),responseEnd:Math.round(t.responseEnd),domInteractive:Math.round(t.domInteractive),domComplete:Math.round(t.domComplete),loadEventStart:Math.round(t.loadEventStart),loadEventEnd:Math.round(t.loadEventEnd),redirectCount:Math.round(t.redirectCount),size:t.transferSize?t.transferSize:0,type:t.type,protocol:t.nextHopProtocol,encodedSize:t.encodedBodySize?t.encodedBodySize:0,decodedSize:t.decodedBodySize?t.decodedBodySize:0},function(t){W(this,void 0,void 0,(function(){var n,e;return Z(this,(function(r){return n=c(),e=[n,t],29===t&&(e.push(Wn.fetchStart),e.push(Wn.connectStart),e.push(Wn.connectEnd),e.push(Wn.requestStart),e.push(Wn.responseStart),e.push(Wn.responseEnd),e.push(Wn.domInteractive),e.push(Wn.domComplete),e.push(Wn.loadEventStart),e.push(Wn.loadEventEnd),e.push(Wn.redirectCount),e.push(Wn.size),e.push(Wn.type),e.push(Wn.protocol),e.push(Wn.encodedSize),e.push(Wn.decodedSize),Zn(),_t(e)),[2]}))}))}(29)}var Gn,Fn=0,Kn=1/0,Qn=0,$n=0,te=[],ne=new Map,ee=function(){return Fn||0},re=function(){if(!te.length)return-1;var t=Math.min(te.length-1,Math.floor((ee()-$n)/50));return te[t].latency},ae=function(){$n=ee(),te.length=0,ne.clear()},oe=function(t){if(t.interactionId&&!(t.duration<40)){!function(t){"interactionCount"in performance?Fn=performance.interactionCount:t.interactionId&&(Kn=Math.min(Kn,t.interactionId),Qn=Math.max(Qn,t.interactionId),Fn=Qn?(Qn-Kn)/7+1:0)}(t);var n=te[te.length-1],e=ne.get(t.interactionId);if(e||te.length<10||t.duration>(null==n?void 0:n.latency)){if(e)t.duration>e.latency&&(e.latency=t.duration);else{var r={id:t.interactionId,latency:t.duration};ne.set(r.id,r),te.push(r)}te.sort((function(t,n){return n.latency-t.latency})),te.length>10&&te.splice(10).forEach((function(t){return ne.delete(t.id)}))}}},ie=["navigation","resource","longtask","first-input","layout-shift","largest-contentful-paint","event"];function ue(){ue.dn=26;try{Gn&&Gn.disconnect(),Gn=new PerformanceObserver(Sn(ce));for(var t=0,n=ie;t<n.length;t++){var e=n[t];PerformanceObserver.supportedEntryTypes.indexOf(e)>=0&&("layout-shift"===e&&A(9,0),Gn.observe({type:e,buffered:!0}))}}catch(t){}}function ce(t){ce.dn=27,function(t){for(var n=(!("visibilityState"in document)||"visible"===document.visibilityState),e=0;e<t.length;e++){var r=t[e];switch(r.entryType){case"navigation":Jn(r);break;case"resource":var a=r.name;Ut(4,le(a)),a!==o.upload&&a!==o.fallback||P(28,r.duration);break;case"longtask":C(7);break;case"first-input":n&&P(10,r.processingStart-r.startTime);break;case"event":n&&"PerformanceEventTiming"in window&&"interactionId"in PerformanceEventTiming.prototype&&(oe(r),Ut(37,re().toString()));break;case"layout-shift":n&&!r.hadRecentInput&&A(9,1e3*r.value);break;case"largest-contentful-paint":n&&P(8,r.startTime)}}}(t.getEntries())}var se=null;function le(t){return se||(se=document.createElement("a")),se.href=t,se.host}var de=Object.freeze({__proto__:null,start:function t(){t.dn=25,Zn(),function(){navigator&&"connection"in navigator&&Ut(27,navigator.connection.effectiveType),window.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&("complete"!==document.readyState?In(window,"load",q.bind(this,ue,0)):ue())}()},stop:function(){Gn&&Gn.disconnect(),Gn=null,ae(),se=null,Zn()}}),pe=[S,S,S,de];function fe(t){void 0===t&&(t=null),function(){try{var t=navigator&&"globalPrivacyControl"in navigator&&1==navigator.globalPrivacyControl;return!1===Xn&&"undefined"!=typeof Promise&&window.MutationObserver&&document.createTreeWalker&&"now"in Date&&"now"in performance&&"undefined"!=typeof WeakMap&&!t}catch(t){return!1}}()&&(!function(t){if(null===t||Xn)return!1;for(var n in t)n in o&&(o[n]=t[n])}(t),Ln(),ct(),pe.forEach((function(t){return Sn(t.start)()})),null===t&&ye())}function he(){Bn()&&(pe.slice().reverse().forEach((function(t){return Sn(t.stop)()})),st(),Vn(),void 0!==ge&&(ge[me]=function(){(ge[me].q=ge[me].q||[]).push(arguments),"start"===arguments[0]&&ge[me].q.unshift(ge[me].q.pop())&&ye()}))}var ve=Object.freeze({__proto__:null,consent:$t,consentv2:tn,event:T,hashText:b,identify:F,metadata:Kt,pause:function(){Bn()&&(T("clarity","pause"),null===Nn&&(Nn=new Promise((function(t){Dn=t}))))},resume:function(){Bn()&&(Rn(),T("clarity","resume"))},set:G,signal:function(t){ot=t},start:fe,stop:he,upgrade:B,version:s}),ge=window,me="clarity";function ye(){if(void 0!==ge){if(ge[me]&&ge[me].v)return console.warn("Error CL001: Multiple Clarity tags detected.");var t=ge[me]&&ge[me].q||[];for(ge[me]=function(t){for(var n=[],e=1;e<arguments.length;e++)n[e-1]=arguments[e];return ve[t].apply(ve,n)},ge[me].v=s;t.length>0;)ge[me].apply(ge,t.shift())}}ye()}();
|
package/package.json
CHANGED
package/rollup.config.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import alias from "@rollup/plugin-alias";
|
|
2
2
|
import commonjs from "@rollup/plugin-commonjs";
|
|
3
|
-
import resolve from "@rollup/plugin-node-resolve";
|
|
3
|
+
import resolve from "@rollup/plugin-node-resolve";
|
|
4
4
|
import terser from "@rollup/plugin-terser";
|
|
5
5
|
import typescript from "@rollup/plugin-typescript";
|
|
6
|
-
import
|
|
6
|
+
import { readFileSync } from "fs";
|
|
7
|
+
|
|
8
|
+
const pkg = JSON.parse(readFileSync("./package.json", "utf-8"));
|
|
7
9
|
export default [
|
|
8
10
|
{
|
|
9
11
|
input: "src/index.ts",
|
|
@@ -28,7 +30,7 @@ export default [
|
|
|
28
30
|
if (message.code === 'CIRCULAR_DEPENDENCY') { return; }
|
|
29
31
|
warn(message);
|
|
30
32
|
},
|
|
31
|
-
plugins: [
|
|
33
|
+
plugins: [
|
|
32
34
|
resolve(),
|
|
33
35
|
typescript(),
|
|
34
36
|
terser({output: {comments: false}}),
|
package/src/clarity.ts
CHANGED
|
@@ -11,7 +11,7 @@ import * as interaction from "@src/interaction";
|
|
|
11
11
|
import * as layout from "@src/layout";
|
|
12
12
|
import * as performance from "@src/performance";
|
|
13
13
|
export { version };
|
|
14
|
-
export { consent, event, identify, set, upgrade, metadata, signal } from "@src/data";
|
|
14
|
+
export { consent, consentv2, event, identify, set, upgrade, metadata, signal } from "@src/data";
|
|
15
15
|
export { hashText } from "@src/layout";
|
|
16
16
|
|
|
17
17
|
const modules: Module[] = [diagnostic, layout, interaction, performance];
|
package/src/core/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
let version = "0.8.
|
|
1
|
+
let version = "0.8.17";
|
|
2
2
|
export default version;
|
package/src/data/consent.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { Dimension } from "@clarity-types/data";
|
|
1
|
+
import { ConsentData, Dimension, Event } from "@clarity-types/data";
|
|
2
2
|
import * as dimension from "@src/data/dimension";
|
|
3
|
+
import encode from "./encode";
|
|
4
|
+
|
|
5
|
+
export let data: ConsentData = null;
|
|
6
|
+
let updateConsent: boolean = true;
|
|
3
7
|
|
|
4
8
|
const enum ConsentType {
|
|
5
9
|
None = 0,
|
|
@@ -7,8 +11,9 @@ const enum ConsentType {
|
|
|
7
11
|
General = 2
|
|
8
12
|
}
|
|
9
13
|
|
|
10
|
-
export function config(
|
|
11
|
-
trackConsent(
|
|
14
|
+
export function config(consent: ConsentData): void {
|
|
15
|
+
trackConsent(consent.analytics_Storage ? ConsentType.Implicit : ConsentType.None);
|
|
16
|
+
data = consent;
|
|
12
17
|
}
|
|
13
18
|
|
|
14
19
|
// When we get consent signal as false, we restart the service and track config as false.
|
|
@@ -18,4 +23,17 @@ export function consent(): void {
|
|
|
18
23
|
|
|
19
24
|
function trackConsent(consent: ConsentType): void {
|
|
20
25
|
dimension.log(Dimension.Consent, consent.toString());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function consentv2(consent: ConsentData): void {
|
|
29
|
+
data = consent;
|
|
30
|
+
encode(Event.Consent);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Compute function is called every upload, but we only want to send consent data once.
|
|
34
|
+
export function compute(): void {
|
|
35
|
+
if (updateConsent) {
|
|
36
|
+
encode(Event.Consent);
|
|
37
|
+
updateConsent = false;
|
|
38
|
+
}
|
|
21
39
|
}
|
package/src/data/encode.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Event, Token } from "@clarity-types/data";
|
|
2
2
|
import { time } from "@src/core/time";
|
|
3
3
|
import * as baseline from "@src/data/baseline";
|
|
4
|
+
import * as consent from "@src/data/consent";
|
|
4
5
|
import * as custom from "@src/data/custom";
|
|
5
6
|
import * as dimension from "@src/data/dimension";
|
|
6
7
|
import * as limit from "@src/data/limit";
|
|
@@ -136,5 +137,12 @@ export default function(event: Event): void {
|
|
|
136
137
|
|
|
137
138
|
extract.reset();
|
|
138
139
|
queue(tokens, false);
|
|
140
|
+
|
|
141
|
+
case Event.Consent:
|
|
142
|
+
tokens.push(consent.data.source);
|
|
143
|
+
tokens.push(consent.data.ad_Storage);
|
|
144
|
+
tokens.push(consent.data.analytics_Storage);
|
|
145
|
+
queue(tokens);
|
|
146
|
+
break;
|
|
139
147
|
}
|
|
140
148
|
}
|
package/src/data/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import measure from "@src/core/measure";
|
|
2
2
|
import * as baseline from "@src/data/baseline";
|
|
3
|
+
import * as consent from "@src/data/consent";
|
|
3
4
|
import * as envelope from "@src/data/envelope";
|
|
4
5
|
import * as dimension from "@src/data/dimension";
|
|
5
6
|
import * as metadata from "@src/data/metadata";
|
|
@@ -13,7 +14,7 @@ import * as upload from "@src/data/upload";
|
|
|
13
14
|
import * as variable from "@src/data/variable";
|
|
14
15
|
import * as extract from "@src/data/extract";
|
|
15
16
|
export { event } from "@src/data/custom";
|
|
16
|
-
export { consent, metadata } from "@src/data/metadata";
|
|
17
|
+
export { consent, consentv2, metadata } from "@src/data/metadata";
|
|
17
18
|
export { upgrade } from "@src/data/upgrade";
|
|
18
19
|
export { set, identify } from "@src/data/variable";
|
|
19
20
|
export { signal } from "@src/data/signal";
|
|
@@ -43,4 +44,5 @@ export function compute(): void {
|
|
|
43
44
|
summary.compute();
|
|
44
45
|
limit.compute();
|
|
45
46
|
extract.compute();
|
|
47
|
+
consent.compute();
|
|
46
48
|
}
|