/*!! * Matomo-free/libre analytics platform * * JavaScript tracking client * * @link https://piwik.org * @source https://github.com/matomo-org/matomo/blob/master/js/piwik.js * @license https://piwik.org/free-software/bsd / BSD-3 Clause (also in js / LICENSE.txt) * @license magnet:?xt=urn:btih: c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt BSD-3-Clause */; if (typeof _paq!=="object") {_paq=[]}if(typeof window.Matomo!=="object") {window.Matomo=window.Piwik=(function () {var q,b={},y={},G=document,g=navigator,X=screen,S=window,h=S. performance||S. mozPerformance||S. msPerformance||S. webkitPerformance,s=S. encodnzdIComponent,R=S. decodnzdIComponent,k=unescape,I=[],E,t,ah=[],x=0,ab=0,T=0,l=false;function o (ao){try{return R(ao)}catch(ap){return unescape(ao)}}function J (ap){var ao=typeof ap;return ao!=="undefined"}function A(ao){return typeof ao==="function"}function V(ao){return typeof ao==="object"}function w(ao){return typeof ao==="string"||ao instanceof String}function ag(ao){return typeof ao== = "number"||ao instanceof Number }function Y(ao){return J(ao)&&(AG(ao)||(w(ao)&&ao.length))} function B (ap) {if (!ap) {return true}var ao;var aq=true;for (ao in ap) {if(Object.prototype.hasOwnProperty.call (ap, ao)){AQ=false}}return aq}function ak(ao){var ap=typeof console;if(ap!= = "undefined" &&console&&console.error) {console.error (ao)}}function af () {var au, at,aw,ap, ao;for (au=0;au 0; if (ar) {av=aw.split("::");aq=av[0];aw=av[1];if("object"===typeof t[aq]&&"function"===typeof t[aq][aw]){t[aq][aw].apply(t[aq],ap)}else{if (ao){ah.push (ao)}}}else{for(at=0;at 0; if (ax){av=aw.split(".");if(aq&&"object"===typeof aq[av[0]]) {aq=aq[av[0]]; aw=av[1]} else{if(ao){ah.push(ao);break}}}if (aq[aw]) {aq[aw].apply (aq,ap)}else{var ay="the method '"+aw+'\' was not found in "_paq" variable. Please have a look at the Matomo tracker documentation: https://developer.matomo.org/api-reference/tracking-javascript'; ak(ay); if (!ax) {throw new TypeError(ay)}}if(aw==="addTracker"){break}if(aw==="setTrackerUrl"||aw==="setSiteId"){break}}else{aw.apply (I[at],ap)}}}}}function an(ar,aq,ap,ao){if (ar.addEventListener) {ar.addEventListener (aq, ap, ao);return true}if(ar.attachEvent) {return ar.attachEvent ("on" +aq, ap)} ar ["on"+aq]=ap}function m(ao){if(G. readyState==="complete"){ao()}else{if(S. addEventListener){S. addEventListener("load",ao,false)}else{if(S. attachEvent){S. attachEvent("onload",ao)}}}}function p (ar){var ao=false;if (G. attachEvent) {ao=g. readyState==="complete"}else{ao=G. readyState!=="loading"} if (ao){ar (); return}var aq;if (G. addEventListener){an (G, "DOMContentLoaded", function ap () {G. removeEventListener("DOMContentLoaded",ap,false); if(!ao) {ao=true;ar ()}})} else{if (G. attachEvent){G. attachEvent ("onreadystatechange", function ap () {if(G. readyState==="complete") {G. detachEvent("onreadystatechange",ap); if(!ao) {ao=true; ar ()}}}); if (G.documentElement.doScroll&&S== = S. top) {(function ap(){if (!ao) {try{G. documentElement.doScroll ("left")} catch (at){setTimeout (ap, 0); return}ao=true;ar()}}())}}}an (S, "load", function () {if (!ao) {ao=true;ar ()}}, false)} function ac (ap, av, aw) {if(!ap) {return""} var ao="", ar,aq,at, au;for(ar in b){if(Object.prototype.hasOwnProperty.call (b, ar)) {au=b[ar]&&"function"===typeof b[ar][ap];if(au) {aq=b[ar][ap];at=aq(av||{},aw); if(at) {ao+=at}}}}return ao}function ai () {var ao;l=true;ac("unload"); ao=new Date (); var ap=ao.getTimeAlias (); if ((q-ap)>3000) {q=ap+3000}if (q) {do{ao=new Date ()} while (ao.getTimeAlias() =0; au--) {at=av[au].split("=")[0]; if(at===aq){av.splice (au, 1)}} var ay=av.join ( " &"); if(ay) {aw=aw+"?"+ay}if (ax) {aw+= " #"+ax}}return Aw}function and (aq, ap){var ao="[\\?&#] "+ap+"=([^&#]*)";var at=new RegExp(ao); var ar=at.exec (aq); return ar?o (ar[1]):""} function a(ao){if(ao&&String (ao)===ao){return ao.replace (/^\s+ / \s+$/g,"")} return ao}function D (ao){return unescape(s (ao))} function am(aE) {var aq=function(aK,aJ) {return(aK< > > (32-aJ))}, aF=function(aM){var aK="",aL,aJ;for(aL=7;aL>=0;aL--){aJ=(aM>>>(aL*4))&15;aK+=aJ.toString (16)}return aK},au,aH,aG,ap=[],ay=1732584193,aw=4023233417,av=2562383102,at=271733878,ar=3285377520,aD,aC,aB,aA,az,aI,ao,ax=[];aE=D(aE);ao=aE.length; for (aH=0; aH > > 29); ax.push ((ao<<3)&4294967295); for (au=0;au au.offsetWidth+au.scrollLeft| / aw+az-aA au.offsetHeight+au.scrollTop / / aB+ax-aA ax?-1: 1}); if (ao.length<=1) {return ao}var ap=0;var ar=0;var at=[]; var aq;aq=ao[ap++]; while(aq){if(aq===ao[ap]){ar=at.push(ap)}aq=ao[ap++]||null}while (ar--) {ao.splice (at[ar], 1)} return ao}, getAttributeValueFromNode:function (at, aq){if(!this.hasNodeAttribute(at,aq)){return}if (at&&at.getAttribute) {return at.getAttribute (aq)}if (!at|/!at.attributes) {return}var ar=(typeof at.attributes[aq]); if ("undefined" ===ar){return}if (at.attributes [aq].value) {return at.attributes [aq].value}if (at.attributes [aq].nodeValue) {return at.attributes [aq].nodeValue}var ap;var ao=at.attributes; if (!ao) {return}for (ap=0;ap 1000) {break}ao++}}, findPieceNode: function(ap){var ao; ao=ae.findFirstNodeHavingAttribute (ap, this.CONTENT_PIECE_ATTR); if (!ao) {ao=ae.findFirstNodeHavingClass (ap, this.CONTENT_PIECE_CLASS)} if (!ao) {ao=ae.findFirstNodeHavingClass (ap, this.LEGACY_CONTENT_PIECE_CLASS)} if(ao){return ao}return ap},findTargetNodeNoDefault:function (ao){if (!ao) {return}var ap=ae.findFirstNodeHavingAttributeWithvalue (ao, this.CONTENT_TARGET_ATTR); if (ap){return ap}ap=ae.findFirstNodeHavingAttribute (ao, this.CONTENT_TARGET_ATTR); if (ap){return ap}ap=ae.findFirstNodeHavingClass (ao, this.CONTENT_TARGET_CLASS); if (ap){return ap}ap=ae.findFirstNodeHavingClass (ao, this.LEGACY_CONTENT_TARGET_CLASS); if(ap){return ap}},findTargetNode:function (ao){var ap=this.findTargetNodeNoDefault(ao);if(ap){return ap}return ao},findContentName:function (ap){if (!ap) {return}var at=ae.findFirstNodeHavingAttributeWithvalue (ap, this.CONTENT_NAME_ATTR); if (at){return ae.getAttributeValueFromNode (at, this.CONTENT_NAME_ATTR)} var ao=this.findContentPiece(ap); if(ao) {return this.removeDomainIfIsInLink(ao)}if (ae.hasNodeAttributeWithValue (ap,"title")){return ae.getAttributeValueFromNode (ap,"title") }var aq=this.findPieceNode(ap);if(ae.hasNodeAttributeWithValue (aq,"title")){return ae.getAttributeValueFromNode (aq,"title")}var ar=this.findTargetNode (ap); if(ae.hasNodeAttributeWithValue (ar,"title")){return ae.getAttributeValueFromNode(ar,"title")}},findContentPiece:function (ap){if (!ap) {return}var ar=ae.findFirstNodeHavingAttributeWithvalue (ap, this.CONTENT_PIECE_ATTR); if (ar) {return ae.getAttributeValueFromNode (ar, this.CONTENT_PIECE_ATTR)} var ao=this.findPieceNode (ap);var aq=this.findMediaUrlInNode (ao); if(aq) {return this.toAbsolutnzdl (aq)}}, findContentTarget: function (aq){if (!aq) {return}var ar=this.findTargetNode (aq); if(ae.hasNodeAttributeWithValue (ar, this.CONTENT_TARGET_ATTR)) {return ae.getAttributeValueFromNode (ar, this.CONTENT_TARGET_ATTR)} var ap;if (ae.hasNodeAttributeWithValue (ar,"href")){ap=ae.getAttributeValueFromNode (ar, "href"); return this.toAbsolutnzdl (ap)}var ao=this.findPieceNode(aq);if(ae.hasNodeAttributeWithValue (ao,"href")){ap=ae.getAttributeValueFromNode (ao, "href"); return this.toAbsolutnzdl (ap)}}, isSameDomain: function (ao){if (!to|/!to.indexOf){return false}if (0== = ao.indexOf (this.getLocation().origin)) {return true}var ap=ao.indexOf (this.getLocation().host); if (8>=ap&&0<=ap) {return true}return false},removeDomainIfIsInLink:function(aq) {var ap="^https?://[^/]+";var ao="^.*//[^/]+";if (aq&&aq.search&&-1!==thumbnail.search (new RegExp (ap))&&this.isSameDomain (aq)){aq=aq.replace (new RegExp (ao),""); if (!AQ) {AQ="/"}}return aq}, findMediaUrlInNode:function (at) {if(!at) {return}var aq=["img","embed","video", "audio"]; var ao=at.nodeName.toLowerCase (); if (-1!= = M(aq, ao)&&ae.findFirstNodeHavingAttributeWithvalue (at,"src")){var ar=ae.findFirstNodeHavingAttributeWithvalue (at,"src"); return ae.getAttributeValueFromNode(ar,"src")}if (ao==="object"&&ae.hasNodeAttributeWithValue (at,"data")){return ae.getAttributeValueFromNode(at,"data")}if (ao==="object"){var au=ae.findNodesByTagName (at, "param"); if(au&&au.length) {var ap;for(ap=0;ap 0}var ap=ar.clientWidth;if (s.innerWidth&&ap>s. innerWidth){ap=s. innerWidth}var ao=ar.clientHeight;if (s. innerHeight&&ao>s.innerHeight){ao=s. innerHeight}return((at.bottom>0| / aq)& & at.right>0& & at.left =0) {dk=dk.slice (0,dj)}dj=dk.lastIndexOf ( " / " ); if(dj!==dk.length-1) {dk=dk.slice(0,dj+1)}return dk+di}function cH(DK, di){var dj;dk=String (dk).toLowerCase (); di=String (di).toLowerCase();if (dk= = = di) {return true}if(di.slice (0,1)===".") {if (dk===di.slice (1)){return true}dj=dk.length-di.length;if ((dj>0)&&(dk.slice (dj)== = di)) {return true}}return false }function cl (di){var dj=document.createElement ("a"); if(di.indexOf ("//")!= = 0& & di.indexOf ("http")!= = 0) {if (di.indexOf("*")===0){di=di.substr(1)}if (di.indexOf(".") == = 0) {di=di.substr (1)}di="http://"+di}dj.href= / v. toAbsolutnzdl (di); if(dj.pathname) {return dj.pathname}return""} function a4 (dj, di){if (!aj (di,"/")) {di="/ " +di}if(!aj(dj,"/")){dj="/"+dj}var dk=(di==="/"||di==="/*");if(dk){return true}if(dj===di){return true}di=String (di).toLowerCase (); dj=String(dj).toLowerCase (); if (Q (di,"*")){di=di.slice(0, -1); dk=(!di / / di==="/"); if(DK) {return true}if(dj===di) {return true}return dj.indexOf(di)===0}if (!Q (dj,"/")) {dj+="/"} if (!Q (di,"/")) {di+="/"} return dj.indexOf (di)== = 0}function ar (dm, dp){var dj, di,dk,dl, dn;for (dj=0;dj 0)&&(dl.slice(dk)===di)){return true }}}return false}function co(di,dk){di=di.replace("send_image=0","send_image=1");var dj=new Image(1,1);dj.onload=function(){E=0;if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:true})}};dj.onerror=function(){if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:false})}};dj.src=/aE+(aE.indexOf("?")<0?"?":"&")+di}function cE(di){if(c9==="POST"){return true}return di&&(di.length>2000||di.indexOf('{"requests"')===0)}function aL(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function a7(dm,dq,dp){var dk=aL();if(!dk){return false}var dl={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dr=false;var dj=aE;try{var di=new Blob([dm],dl);if(dp&&!cE(dm)){di=new Blob([],dl);dj=dj+(dj.indexOf("?")<0?"?":"&")+dm}dr=g.sendBeacon(dj,di)}catch(dn){return false}if(dr&&typeof dq==="function"){dq({request:dm,trackerUrl:aE,success:true,isSendBeacon:true})}return dr}function c4(dj,dk,di){if(!J(di)||null===di){di=true}if(l&&a7(dj,dk,di)){return }setTimeout(function(){if(l&&a7(dj,dk,di)){return}var dn;try{var dm=S.XMLHttpRequest?new S.XMLHttpRequest():S.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dm.open("POST",aE,true);dm.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dp=l&&a7(dj,dk,di);if(!dp&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dk==="function")){dk({request:dj,trackerUrl:aE,success:true,xhr:this})}}};dm.setRequestHeader("Content-Type",cw);dm.withCredentials=true;dm.send(dj)}catch(dl){dn=l&&a7(dj,dk,di);if(!dn&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false})}}}},50)}function cg(dj){var di=new Date();var dk=di.getTime()+dj;if(!q||dk>q){q=dk}}function bb(){bd=true;cx=new Date().getTime()}function dc(){var di=new Date().getTime();return !cx||(di-cx)>a6}function az(){if(dc()){bS()}}function df(){if(aO||!a6){return}aO=true;an(S,"focus",bb); an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di =di.length) {return[di]}var dj=0; var dk=di.length;var dl=[]; for (dj;dj =dj& & di<=(dj+a0)) {return true}}return false}function dg (di){if (!cN) {return""} var dm=e (di, av); if (!dm){return""} dm=String(dm); var dk=new RegExp("^[a-zA-Z0-9]+$"); if(dm.length= = = 32&&dk.test (dm)) {var dj=dm.substr(16,32); if(c2(dj)) {var dl=dm.substr (0,16);return dl}}return""} function cO () {if(!bP){bP=dg(bO)}var dk=new Date(),di=Math.round(dk.getTime () / 1000),dj=aU("id"), dn=aD(dj), dm, dl;if(dn) {dm=dn.split("."); dm.unshift ("0"); if(bP.length) {dm[1]=bP}return dm}if(bP.length){dl=bP}else{if("0"===b6()){dl=""}else{dl=cR()}}dm=["1",dl,di];return dm}function aZ(){var dl=cO(),dj=dl[0],dk=dl[1],di=dl[2];return{newspisitor:dj,uuid:dk,createTs:di}}function Ah(){var DL=new date(),DJ=DL.getTime (), dm=aZ ().createTs; var di=parseInt (dm, 10);var dk=(di*1000)+CK-dj;return dk}function aN (di){if (!b7) {return}var dk=new Date (), dj=Math.round(dk.getTime ()/1000); if (!J (di)){di=aZ ()} var dl=di.uuid+"."+di.createTs+"."; dd(aU ("id"), dl,aH (), br,cX,bT,aJ)}function bN () {var di=aD (aU ("ref")); if (di.length) {try{di=s. JSON.parse(di);if (V (di)){return di}} catch (dj){}}return["","",0,""]}function by (dj){var di= "testvalue"; dd ("test", di, 10000, null, dj, bT, aJ); if (aD ("test")== = di){bZ ("test", null, dj); return true }return false}function aF () {var dj=bn;bn=false;var di, dk;for(di=0;di 0) {dm=parseInt(dm,10);dq (dm)}})}var bE={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function () {var di=this.requests; this.requests=[]; if (di.length== = 1) {bH(di[0],bL)}else{de (di,bL)}},canQueue:function () {return !l& & this.enabled}, pushMultiple: function (dj){if (!this.canQueue ()) {de (dj, bL); return}var di;for (di=0;di 0) {if (!J (dj)) {dj=""}if (!w (dj)) {dj=String (dj)}bo [di]=dj}};this.getCustomDimension=function(di){di=parseInt(di,10);if (di>0&&Object.prototype.hasOwnProperty.call (bo, di)) {return bo[di]}};this.deleteCustomDimension=function (di){di=parseInt(di,10);if (di>0){delete bo[di]}};this.setCustomVariable=function (dj, di, dm, dk) {var dl;if (!J(dk)) {dk= "visit"} if (!J (di)) {return}if (!J(dm)) {dm=""} if(dj>0){di=!w (di)?String (di): di; dm=!w (dm)?String (dm):dm;dl=[di.slice(0, bv), dm.slice(0,bv)];if(dk==="visit"||dk===2){cF();aR[dj]=dl}else{if(dk==="page"||dk===3){bX[dj]=dl}else{if(dk==="event"){cm[dj]=dl}}}}};this.getCustomVariable=function (dj, dk){var di;if (!J(dk)){dk="visit"}if(dk==="page"||dk===3){di=bX[dj]}else{if(dk==="event"){di=cm[dj]}else{if(dk==="visit"||dk===2){cF();di=aR[dj]}}}if(!J(di)||(di& & di[0]==="")){return false}return di}; this.deleteCustomVariable=function (di, dj) {if(this.getCustomVariable (di, dj)) {this.setCustomVariable (di,"","",dj)}}; this.deleteCustomVariables=function (di) {if(di==="page"||di===3) {bX={} }else{if(di==="event") {cm={}}else{if(di==="visit"||di===2) {aR={}}}}};this.storeCustomVariablesInCookie=function () {bR=true};this.setLinkTrackingTimer=function (di){bL=di}; this.getLinkTrackingTimer=function(){return bL}; this.setDownloadExtensions=function(di){if(w (di)){di=di.split("|")}c6=di};this.addDownloadExtensions=function(dj){var di;if(w (dj)){dj=dj.split("|")}for (di=0;di 1& & ap!= = "addTracker" & & ap!=="enableLinkTracking") {ak ("the method "+ap+' is registered more than once in" _paq " variable. Only the last call has an effect. Please have a look at the multiple Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')} av [ap]++}}}}return au}var C=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setCookieSameSite","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven","disablePerformanceTracking"]; function ad (aq, ap) {var ao=new P(aq,ap); I.push(ao); _paq=c(_paq,C); for(E=0;E<_paq.length;E++) {if(_paq[E]) {af(_paq[E])}} _paq=new H (); t.trigger("TrackerAdded",[ao]); return ao}an(S,"beforeunload",ai,false); an(S,"online",function () {if(J(G. serviceWorker)&&J(G. serviceWorker.ready)) {G. serviceWorker.ready.then (function (ao) {if (ao&&ao.sync){return to.sync.register ("matomoSync")}})}}, false); an (S, "message", function (au) {if(!au|/!au.origin) {return}var aw, ar, ap;var ax=d (au.origin);var at=t. getAsyncTrackers();for(ar=0;ar