1!function(){function e(e,t){"function"==typeof window.gtag&&window.gtag("event",e,t)}function t(e){return(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").slice(0,40)||"unknown"}function n(e){var t=e.closest(".row"),n=t&&t.querySelector("[id]");return n?n.id.slice(0,100):"unknown"}function o(){if(a=!1,!(performance.now()<c)){var t=document.activeElement;if(!t||"bibsearch"!==t.id){var n=document.documentElement.scrollHeight-window.innerHeight;if(!(n<=0)){for(var o=Math.round(window.scrollY/n*100);r.length&&o>=r[0];)e("scroll",{percent_scrolled:r.shift()});r.length||window.removeEventListener("scroll",i)}}}}function i(){a||(a=!0,window.requestAnimationFrame(o))}document.addEventListener("click",function(o){var i=o.target.closest?o.target.closest("a"):null;if(i)if(i.closest(".publications .links"))e("paper_link",{paper:n(i),link_type:t(i.textContent)});else if(i.closest(".social"))e("contact_click",{target:t(i.getAttribute("title")||i.textContent)});else{var r=i.getAttribute("href")||"";0===r.indexOf("mailto:")?e("contact_click",{target:"email"}):-1!==r.indexOf("calendly.com")&&e("contact_click",{target:"meeting"})}});var r=[25,50,75,100],c=location.hash?performance.now()+1500:0;
1window.addEventListener("hashchange",function(){c=performance.now()+1500});var a=!1;if(window.addEventListener("scroll",i,{passive:!0}),("/"===location.pathname||"/index.html"===location.pathname)&&"IntersectionObserver"in window){var s=[],l=document.querySelector(".social");l&&s.push([l,"social"]),document.querySelectorAll(".news").forEach(function(e){var t=e.querySelector("h2 a"),n=t&&t.getAttribute("href")||"";s.push([e,-1!==n.indexOf("/blog")?"posts":"news"])});var u=document.querySelector(".publications");u&&s.push([u,"selected_papers"]);var d=new IntersectionObserver(function(t){t.forEach(function(t){t.isIntersecting&&(e("section_view",{section:t.target.getAttribute("data-ga-section")}),d.unobserve(t.target))})},{threshold:0});s.forEach(function(e){e[0].setAttribute("data-ga-section",e[1]),d.observe(e[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.