1(()=>{function $(t){let i=document.querySelector(t);if(!i)throw`Pirsch script ${t} tag not found!`;return i}function c(t,i){let e="";return t.length>0&&(i<t.length?e=t[i]:e=t[t.length-1]),e}function T(t){let i={};for(let e of t.attributes)e.name.startsWith("data-tag-")?i[e.name.substring(9).replaceAll("-"," ")]=e.value||"1":e.name.startsWith("data-tag")&&e.value&&e.value.split(",").forEach(r=>{r=r.trim().replaceAll("-"," "),r&&(i[r]="1")});return i}function M(t){return window.localStorage!==void 0&&window.localStorage.getItem("disable_pirsch")||st(t)||!ct(t)||dt(t)}function R(t){return t?t=location.href.replace(location.hostname,t):t=location.href,t}function C(t,i,e){t||(t=location.href),i||(i=""),e||(e="");let r=new URL(t);return r.pathname=i+r.pathname+e,r.toString()}function N(t,i){let e=document.title;return t||(t=""),i||(i=""),t+e+i}function I(t){let i=document.referrer;return t&&(i=i.replace(location.hostname,t)),i}function q(t){try{let i=new URL(t);return i.search="",i.toString()}catch{return t}}function U(t){try{let i=new URL(t);return i.hash="",i.toString()}catch{return t}}function st(t){return!t.hasAttribute("data-dev")&&(/^localhost(.*)$|^127(\.[0-9]{1,3}){3}$/is.test(location.hostname)||location.protocol==="file:")?(console.info("Pirsch is ignored on localhost. Add the data-dev attribute to enable it."),!0):!1}function ct(t){try{let i=t.getAttribute("data-include"),e=i?i.split(","):[];if(e.length){let r=!1;for(let o=0;o<e.length;o++)if(new RegExp(e[o]).test(location.pathname)){r=!0;break}if(!r)return!1}}catch(i){console.error(i)}return!0}function dt(t){try{let i=t.getAttribute("data-exclude"),e=i?i.split(","):[];for(let r=0;r<e.length;r++)if(new RegExp(e[r]).test(location.pathname))return!0}catch(i){console.error(i)}return!1}function V(t){if(history.pushState&&!t.disableHistory){let i=history.pushState;history.pushState=function(e,r,o){i.apply(this,[e,r,o]),Q(t)},window.addEventListener("popstate",()=>Q(t))}document.body?Q(t):window.addEventListener("DOMContentLoaded",()=>Q(t))}function Q(t){let{script:i,domains:e,rewrite:r,pathPrefix:o,pathSuffix:f,titlePrefix:l,titleSuffix:h,identificationCode:d,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S}=t;j({script:i,hostname:r,pathPrefix:e.length?"":c(o,0),pathSuffix:e.length?"":c(f,0),titlePrefix:e.length?"":c(l,0),titleSuffix:e.length?"":c(h,0),identificationCode:d,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S});for(let u=0;u<e.length;u++){let[b,w]=e[u].split(":");j({script:i,hostname:b,pathPrefix:c(o,u),pathSuffix:c(f,u),titlePrefix:c(l,u),titleSuffix:c(h,u),identificationCode:w,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S})}}function j(t){let{script:i,hostname:e,pathPrefix:r,pathSuffix:o,titlePrefix:f,titleSuffix:l,identificationCode:h,endpoint:d,disableQueryParams:m,disableReferrer:g,disableResolution:x,stripAnchor:A}=t,S=I(e);e=R(e),e=C(e,r,o),e=m?q(e):e,e=A?U(e):e;let u=T(i),b=d+"?nc="+new Date().getTime()+"&code="+h+"&url="+encodeURIComponent(e.substring(0,1800))+"&t="+encodeURIComponent(N(f,l))+"&ref="+(g?"":encodeURIComponent(S))+"&w="+(x?"":screen.width)+"&h="+(x?"":screen.height)+(Object.keys(u).length?"&"+Object.entries(u).map(([y,v])=>`tag_${y.replaceAll("-"," ")}=${v||1}`).join("&"):""),w=new XMLHttpRequest;w.open("GET",b),w.send()}function B(){window.pirsch=function(t,i){return console.log(`Pirsch event: ${t}${i?" "+JSON.stringify(i):""}`),Promise.resolve(null)}}function J(t){let{script:i,domains:e,rewrite:r,pathPrefix:o,pathSuffix:f,titlePrefix:l,titleSuffix:h,identificationCode:d,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S}=t;window.pirsch=function(u,b){return typeof u!="string"||!u?Promise.reject("The event name for Pirsch is invalid (must be a non-empty string)! Usage: pirsch('event name', {duration: 42, meta: {key: 'value'}})"):new Promise((w,y)=>{let v=b&&b.meta?b.meta:{};for(let p in v)v.hasOwnProperty(p)&&(v[p]=String(v[p]));z({script:i,hostname:r,pathPrefix:e.length?"":c(o,0),pathSuffix:e.length?"":c(f,0),titlePrefix:e.length?"":c(l,0),titleSuffix:e.length?"":c(h,0),identificationCode:d,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S,name:u,options:b,meta:v,non_interactive:t.non_interactive,resolve:w,reject:y});for(let p=0;p<e.length;p++){let[L,_]=e[p].split(":");z({script:i,hostname:L,pathPrefix:c(o,p),pathSuffix:c(f,p),titlePrefix:c(l,p),titleSuffix:c(h,p),identificationCode:_,endpoint:m,disableQueryParams:g,disableReferrer:x,disableResolution:A,stripAnchor:S,name:u,options:b,meta:v,non_interactive:t.non_interactive,resolve:w,reject:y})}})}}function z(t){let{script:i,hostname:e,pathPrefix:r,pathSuffix:o,titlePrefix:f,titleSuffix:l,identificationCode:h,endpoint:d,disableQueryParams:m,disableReferrer:g,disableResolution:x,str
1ipAnchor:A,name:S,options:u,meta:b,non_interactive:w,resolve:y,reject:v}=t,p=I(e),L=T(i);e=R(e),e=C(e,r,o),e=m?q(e):e,e=A?U(e):e,navigator.sendBeacon(d,JSON.stringify({identification_code:h,url:e.substring(0,1800),title:N(f,l),referrer:g?"":encodeURIComponent(p),screen_width:x?0:screen.width,screen_height:x?0:screen.height,tags:L,event_name:S,event_duration:u&&u.duration&&typeof u.duration=="number"?u.duration:0,event_meta:b,non_interactive:w}))?y():v("error queuing event request")}function G(t){let{script:i,domains:e,rewrite:r,pathPrefix:o,pathSuffix:f,identificationCode:l,endpoint:h,disableQueryParams:d}=t,m=Number.parseInt(i.getAttribute("data-interval-ms"),10)||6e4,g=setInterval(()=>{ut({domains:e,rewrite:r,pathPrefix:o,pathSuffix:f,identificationCode:l,endpoint:h,disableQueryParams:d})},m);window.pirschClearSession=()=>{clearInterval(g)}}function ut(t){let{domains:i,rewrite:e,pathPrefix:r,pathSuffix:o,identificationCode:f,endpoint:l,disableQueryParams:h}=t;X({hostname:e,pathPrefix:i.length?"":c(r,0),pathSuffix:i.length?"":c(o,0),identificationCode:f,endpoint:l,disableQueryParams:h});for(let d=0;d<i.length;d++){let[m,g]=i[d].split(":");X({hostname:m,pathPrefix:c(r,d),pathSuffix:c(o,d),identificationCode:g,endpoint:l,disableQueryParams:h})}}function X(t){let{hostname:i,pathPrefix:e,pathSuffix:r,identificationCode:o,endpoint:f,disableQueryParams:l}=t;i=R(i),i=C(i,e,r),l&&(i=i.includes("?")?i.split("?")[0]:i);let h=f+"?nc="+new Date().getTime()+"&code="+o+"&url="+encodeURIComponent(i.substring(0,1800)),d=new XMLHttpRequest;d.open("POST",h),d.send()}(function(){"use strict";B();let t=$("#pianjs");if(M(t))return;let i=["7z","avi","csv","docx","exe","gz","key","midi","mov","mp3","mp4","mpeg","pdf","pkg","pps","ppt","pptx","rar","rtf","txt","wav","wma","wmv","xlsx","zip"].concat(t.getAttribute("data-download-extensions")?.split(",")||[]),e=t.getAttribute("data-hit-endpoint")||"https://api.pirsch.io/hit",r=t.getAttribute("data-event-endpoint")||"https://api.pirsch.io/event",o=t.getAttribute("data-session-endpoint")||"https://api.pirsch.io/session",f=t.getAttribute("data-code")||"not-set",l=t.getAttribute("data-domain")?t.getAttribute("data-domain").split(",")||[]:[],h=t.hasAttribute("data-disable-page-views"),d=t.hasAttribute("data-disable-query"),m=t.hasAttribute("data-disable-referrer"),g=t.hasAttribute("data-disable-resolution"),x=t.hasAttribute("data-disable-history"),A=t.hasAttribute("data-disable-outbound-links"),S=t.hasAttribute("data-disable-downloads"),u=t.hasAttribute("data-enable-sessions"),b=t.getAttribute("data-dev"),w=t.getAttribute("data-path-prefix")?t.getAttribute("data-path-prefix").split(",")||[]:[],y=t.getAttribute("data-path-suffix")?t.getAttribute("data-path-suffix").split(",")||[]:[],v=t.getAttribute("data-title-prefix")?t.getAttribute("data-title-prefix").split(",")||[]:[],p=t.getAttribute("data-title-suffix")?t.getAttribute("data-title-suffix").split(",")||[]:[],L=t.hasAttribute("data-strip-anchor"),_=t.getAttribute("data-outbound-link-event-name")||"Outbound Link Click",W=t.getAttribute("data-download-event-name")||"File Download",K=t.getAttribute("data-not-found-event-name")||"404 Page Not Found";h||V({script:t,domains:l,rewrite:b,pathPrefix:w,pathSuffix:y,titlePrefix:v,titleSuffix:p,identificationCode:f,endpoint:e,disableQueryParams:d,disableReferrer:m,disableResolution:g,disableHistory:x,stripAnchor:L}),u&&G({script:t,domains:l,rewrite:b,pathPrefix:w,pathSuffix:y,titlePrefix:v,titleSuffix:p,identificationCode:f,endpoint:o,disableQueryParams:d,stripAnchor:L}),J({script:t,domains:l,rewrite:b,pathPrefix:w,pathSuffix:y,titlePrefix:v,titleSuffix:p,identificationCode:f,endpoint:r,disableQueryParams:d,disableReferrer:m,disableResolution:g,stripAnchor:L}),window.pirschInit=function(){H("[data-pirsch-event]"),H("[pirsch-event]"),Y(),Z(),at(),ot()},document.addEventListener("DOMContentLoaded",pirschInit);function H(a){let n=document.querySelectorAll(a);for(let P of n)P.addEventListener("click",()=>{D(P)}),P.addEventListener("auxclick",()=>{D(P)})}function D(a){let n=a.getAttribute("pirsch-event")??a.getAttribute("data-pirsch-event");
1if(!n){console.error("Pirsch event attribute name can not be empty!",a);return}let P={},E;for(let s of a.attributes)s.name.startsWith("data-pirsch-meta-")?P[s.name.substring(17)]=s.value:s.name.startsWith("pirsch-meta-")?P[s.name.substring(12)]=s.value:(s.name.startsWith("data-pirsch-duration")||s.name.startsWith("pirsch-duration"))&&(E=Number.parseInt(s.value,10)??0);pirsch(n,{meta:P,duration:E,non_interactive:a.hasAttribute("pirsch-non-interactive")||a.hasAttribute("data-pirsch-non-interactive")})}function Y(){let a=document.querySelectorAll("[class*='pirsch-event=']");for(let n of a)n.addEventListener("click",()=>{F(n)}),n.addEventListener("auxclick",()=>{F(n)})}function F(a){let n="",P={},E;for(let s of a.classList)if(s.startsWith("pirsch-event=")){if(n=s.substring(13).replaceAll("+"," "),!n){console.error("Pirsch event class name can not be empty!",a);return}}else if(s.startsWith("pirsch-meta-")){let k=s.substring(12);if(k){let O=k.split("=");O.length===2&&O[1]!==""&&(P[O[0]]=O[1].replaceAll("+"," "))}}else s.startsWith("pirsch-duration=")&&(E=Number.parseInt(s.substring(16))??0);pirsch(n,{meta:P,duration:E,non_interactive:a.classList.contains("pirsch-non-interactive")})}function Z(){let a=document.getElementsByTagName("a");for(let n of a)n.hasAttribute("href")&&!n.hasAttribute("pirsch-ignore")&&!n.hasAttribute("data-pirsch-ignore")&&!n.classList.contains("pirsch-ignore")&&(it(n.href)?S||et(n):A||tt(n))}function tt(a){let n=nt(a.href);n!==null&&n.hostname!==location.hostname&&(a.addEventListener("click",()=>pirsch(_,{meta:{url:n.href},non_interactive:!0})),a.addEventListener("auxclick",()=>pirsch(_,{meta:{url:n.href},non_interactive:!0})))}function et(a){let n=rt(a.href);a.addEventListener("click",()=>pirsch(W,{meta:{file:n},non_interactive:!0})),a.addEventListener("auxclick",()=>pirsch(W,{meta:{file:n},non_interactive:!0}))}function it(a){let n=a.split(".").pop().toLowerCase();return i.includes(n)}function nt(a){try{return new URL(a)}catch{return null}}function rt(a){try{return a.toLowerCase().startsWith("http")?new URL(a).pathname:a??"(empty)"}catch{return"(error)"}}function at(){let a=document.querySelectorAll("meta[name~='pirsch-event']");for(let n of a)if(n.hasAttribute("data-pirsch-selector")&&n.hasAttribute("data-pirsch-event")){let P=n.getAttribute("data-pirsch-trigger")||"click",E={};n.getAttributeNames().forEach(s=>{if(s.startsWith("data-pirsch-meta-")){let k=s.substring(17);k!==""&&n.getAttribute(s)!==""&&(E[k]=n.getAttribute(s))}}),document.querySelectorAll(n.getAttribute("data-pirsch-selector")).forEac
1h(s=>{s.addEventListener(P,()=>{pirsch(n.getAttribute("data-pirsch-event"),{meta:E,non_interactive:n.hasAttribute("data-pirsch-non-interactive")})})})}}function ot(){window.pirschNotFound=function(){pirsch(K,{meta:{path:location.pathname},non_interaction:!0})}}})();})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.