1/*! Wowchemy v5.4.0 | https://wowchemy.com/ */ 2/*! Copyright 2016-present George Cushen (https://georgecushen.com/) */ 3/*! License: https://github.com/wowchemy/wowchemy-hugo-themes/blob/main/LICENSE.md */ 4 5; 6(()=>{(()=>{var e,t,o,r,c,h,m,f,p,j,x,E,F,T,z,n=Object.assign||function(e){for(var t,s,n=1;n<arguments.length;n++){t=arguments[n];for(s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},i=function(t){return t.tagName==="IMG"},Y=function(t){return NodeList.prototype.isPrototypeOf(t)},a=function(t){return t&&t.nodeType===1},M=function(t){var n=t.currentSrc||t.src;return n.substr(-4).toLowerCase()===".svg"},D=function(t){try{return Array.isArray(t)?t.filter(i):Y(t)?[].slice.call(t).filter(i):a(t)?[t].filter(i):typeof t=="string"?[].slice.call(document.querySelectorAll(t)).filter(i):[]}catch{throw new TypeError(`The provided selector is invalid. 7Expects a CSS selector, a Node element, a NodeList or an array. 8See: https://github.com/francoischalifour/medium-zoom`)}},V=function(t){var n=document.createElement("div");return n.classList.add("medium-zoom-overlay"),n.style.background=t,n},B=function(t){var s=t.getBoundingClientRect(),o=s.top,i=s.left,a=s.width,r=s.height,n=t.cloneNode(),c=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,l=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;return n.removeAttribute("id"),n.style.position="absolute",n.style.top=o+c+"px",n.style.left=i+l+"px",n.style.width=a+"px",n.style.height=r+"px",n.style.transform="",n},s=function(t,s){var i,o=n({bubbles:!1,cancelable:!1,detail:void 0},s);return typeof window.CustomEvent=="function"?new CustomEvent(t,o):(i=document.createEvent("CustomEvent"),i.initCustomEvent(t,o.bubbles,o.cancelable,o.detail),i)},w=function(t){var r,u,y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=window.Promise||function(t){function n(){}t(n,n)},S=function(t){var n=t.target;if(n===u){l();return}if(c.indexOf(n)===-1)return;v({target:n})},A=function(){if(d||!o.original)return;var t=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(m-t)>i.scrollOffset&&setTimeout(l,150)},k=function(t){var n=t.key||t.keyCode;(n==="Escape"||n==="Esc"||n===27)&&l()},C=function(){var l,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=t;return t.background&&(u.style.background=t.background),t.container&&t.container instanceof Object&&(o.container=n({},i.container,t.container)),t.template&&(l=a(t.template)?t.template:document.querySelector(t.template),o.template=l),i=n({},i,o),c.forEach(function(e){e.dispatchEvent(s("medium-zoom:update",{detail:{zoom:r}}))}),r},b=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return w(n({},i,t))},f=function(){for(var n,s=arguments.length,o=Array(s),t=0;t<s;t++)o[t]=arguments[t];return n=o.reduce(function(e,t){return[].concat(e,D(t))},[]),n.filter(function(e){return c.indexOf(e)===-1}).forEach(function(e){c.push(e),e.classList.add("medium-zoom-image")}),h.forEach(function(e){var t=e.type,s=e.listener,o=e.options;n.forEach(function(e){e.addEventListener(t,s,o)})}),r},E=function(){for(var i,a=arguments.length,n=Array(a),t=0;t<a;t++)n[t]=arguments[t];return o.zoomed&&l(),i=n.length>0?n.reduce(function(e,t){return[].concat(e,D(t))},[]):c,i.forEach(function(e){e.classList.remove("medium-zoom-image"),e.dispatchEvent(s("medium-zoom:detach",{detail:{zoom:r}}))}),c=c.filter(function(e){return i.indexOf(e)===-1}),r},O=function(t,n){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return c.forEach(function(e){e.addEventListener("medium-zoom:"+t,n,s)}),h.push({type:"medium-zoom:"+t,listener:n,options:s}),r},_=function(t,n){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return c.forEach(function(e){e.removeEventListener("medium-zoom:"+t,n,s)}),h=h.filter(function(e){return e.type!=="medium-zoom:"+t||e.listener.toString()!==n.toString()}),r},g=function(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=f.target,h=function(){if(t={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},s=void 0,r=void 0,i.container)if(i.container instanceof Object)t=n({},t,i.container),s=t.width-t.left-t.right-i.margin*2,r=t.height-t.top-t.bottom-i.margin*2;else{var t,k=a(i.container)?i.container:document.querySelector(i.container),d=k.getBoundingClientRect(),p=d.width,x=d.height,_=d.left,y=d.top;t=n({}
8,t,{width:p,height:x,left:_,top:y})}var s=s||t.width-i.margin*2,r=r||t.height-i.margin*2,c=o.zoomedHd||o.original,v=M(c)?s:c.naturalWidth||s,g=M(c)?r:c.naturalHeight||r,l=c.getBoundingClientRect(),b=l.top,j=l.left,f=l.width,m=l.height,w=Math.min(v,s)/f,O=Math.min(g,r)/m,u=Math.min(w,O),C=(-j+(s-f)/2+i.margin+t.left)/u,E=(-b+(r-m)/2+i.margin+t.top)/u,h="scale("+u+") translate3d("+C+"px, "+E+"px, 0)";o.zoomed.style.transform=h,o.zoomedHd&&(o.zoomedHd.style.transform=h)};return new p(function(e){if(t&&c.indexOf(t)===-1){e(r);return}var n,f,p,g,v=function t(){d=!1,o.zoomed.removeEventListener("transitionend",t),o.original.dispatchEvent(s("medium-zoom:opened",{detail:{zoom:r}})),e(r)};if(o.zoomed){e(r);return}if(t)o.original=t;else if(c.length>0)f=c,o.original=f[0];else{e(r);return}o.original.dispatchEvent(s("medium-zoom:open",{detail:{zoom:r}})),m=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,d=!0,o.zoomed=B(o.original),document.body.appendChild(u),i.template&&(p=a(i.template)?i.template:document.querySelector(i.template),o.template=document.createElement("div"),o.template.appendChild(p.content.cloneNode(!0)),document.body.appendChild(o.template)),document.body.appendChild(o.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),o.original.classList.add("medium-zoom-image--hidden"),o.zoomed.classList.add("medium-zoom-image--opened"),o.zoomed.addEventListener("click",l),o.zoomed.addEventListener("transitionend",v),o.original.getAttribute("data-zoom-src")?(o.zoomedHd=o.zoomed.cloneNode(),o.zoomedHd.removeAttribute("srcset"),o.zoomedHd.removeAttribute("sizes"),o.zoomedHd.src=o.zoomed.getAttribute("data-zoom-src"),o.zoomedHd.onerror=function(){clearInterval(n),console.warn("Unable to reach the zoom image target "+o.zoomedHd.src),o.zoomedHd=null,h()},n=setInterval(function(){o.zoomedHd.complete&&(clearInterval(n),o.zoomedHd.classList.add("medium-zoom-image--opened"),o.zoomedHd.addEventListener("click",l),document.body.appendChild(o.zoomedHd),h())},10)):o.original.hasAttribute("srcset")?(o.zoomedHd=o.zoomed.cloneNode(),o.zoomedHd.removeAttribute("sizes"),o.zoomedHd.removeAttribute("loading"),g=o.zoomedHd.addEventListener("load",function(){o.zoomedHd.removeEventListener("load",g),o.zoomedHd.classList.add("medium-zoom-image--opened"),o.zoomedHd.addEventListener("click",l),document.body.appendChild(o.zoomedHd),h()})):h()})},l=function(){return new p(function(e){if(d||!o.original){e(r);return}var t=function t(){o.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(o.zoomed),o.zoomedHd&&document.body.removeChild(o.zoomedHd),document.body.removeChild(u),o.zoomed.classList.remove("medium-zoom-image--opened"),o.template&&document.body.removeChild(o.template),d=!1,o.zoomed.removeEventListener("transitionend",t),o.original.dispatchEvent(s("medium-zoom:closed",{detail:{zoom:r}})),o.original=null,o.zoomed=null,o.zoomedHd=null,o.template=null,e(r)};d=!0,document.body.classList.remove("medium-zoom--opened"),o.zoomed.style.transform="",o.zoomedHd&&(o.zoomedHd.style.transform=""),o.template&&(o.template.style.transition="opacity 150ms",o.template.style.opacity=0),o.original.dispatchEvent(s("medium-zoom:close",{detail:{zoom:r}})),o.zoomed.addEventListener("transitionend",t)})},v=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.target;return o.original?l():g({target:n})},j=function(){return i},x=function(){return c},F=function(){return o.original},c=[],h=[],d=!1,m=0,i=y,o={original:null,zoomed:null,zoomedHd:null,template:null};return Object.prototype.toString.call(t)==="[object Object]"?i=t:(t||typeof t=="string")&&f(t),i=n({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},i),u=V(i.background),document.addEventListener("click",S),document.addEventListener("keyup",k),document.addEventListener("scroll",A),window.addEventListener("resize",l),r={open:g,close:l,toggle:v,update:C,clone:b,attach:f,detach:E,on:O,off:_,getOptions:j,getImages:x,getZoomedImage:F},r};function N(e,t){t===void 0&&(t={});var n,s,o=t.insertAt;if(!e||typeof document=="undefined")return;s=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style"),n.type="text/css",o==="top"?s.firstChild?s.insertBefore(n,s.firstChild):s.appendChild(n):s.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}z=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}
8.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}",N(z),T=w,F=!0,f="production",p=!0;function A(e=!1){let t=[];[].push.apply(t,document.getElementsByClassName("language-mermaid"));for(let s=0;s<t.length;s++){let o=t[s],n=document.createElement("div");n.innerHTML=o.innerHTML,n.classList.add("mermaid"),e&&window.mermaid.mermaidAPI.render(`mermaid-${s}`,n.textContent,function(e){n.innerHTML=e}),o.parentNode.replaceWith(n)}console.debug(`Processed ${t.length} Mermaid code blocks`)}function k(e,t){const n=e.getBoundingClientRect(),o={height:e.clientHeight,width:e.clientWidth},s=t.getBoundingClientRect(),i=s.top>=n.top&&s.bottom<=n.top+o.height;i||(e.scrollTop=s.top+e.scrollTop-n.top)}function C(e,t=600){e.style.display="",e.style.opacity="0";let s=+new Date,n=function(){e.style.opacity=(+e.style.opacity+(new Date-s)/t).toString(),s=+new Date,+e.style.opacity<1&&(window.requestAnimationFrame&&requestAnimationFrame(n)||setTimeout(n,16))};n()}e=document.body;function O(){return parseInt(localStorage.getItem("wcTheme")||2)}function u(){return Boolean(window.wc.darkLightEnabled)}function K(){if(!u())return console.debug("User theming disabled."),{isDarkTheme:window.wc.isSiteThemeDark,themeMode:window.wc.isSiteThemeDark?1:0};console.debug("User theming enabled.");let t,n=O();switch(console.debug(`User's theme variation: ${n}`),n){case 0:t=!1;break;case 1:t=!0;break;default:window.matchMedia("(prefers-color-scheme: dark)").matches?t=!0:window.matchMedia("(prefers-color-scheme: light)").matches?t=!1:t=window.wc.isSiteThemeDark;break}return t&&!e.classList.contains("dark")?(console.debug("Applying Wowchemy dark theme"),document.body.classList.add("dark")):!t&&e.classList.contains("dark")&&(console.debug("Applying Wowchemy light theme"),document.body.classList.remove("dark")),{isDarkTheme:t,themeMode:n}}function y(e){if(!u()){console.debug("Cannot change theme - user theming disabled.");return}let t;switch(e){case 0:localStorage.setItem("wcTheme","0"),t=!1,console.debug("User changed theme variation to Light.");break;case 1:localStorage.setItem("wcTheme","1"),t=!0,console.debug("User changed theme variation to Dark.");break;default:localStorage.setItem("wcTheme","2"),window.matchMedia("(prefers-color-scheme: dark)").matches?t=!0:window.matchMedia("(prefers-color-scheme: light)").matches?t=!1:t=window.wc.isSiteThemeDark,console.debug("User changed theme variation to Auto.");break}b(t,e)}function X(e){let t=document.querySelector(".js-set-theme-light"),n=document.querySelector(".js-set-theme-dark"),s=document.querySelector(".js-set-theme-auto");if(t===null)return;switch(e){case 0:t.classList.add("dropdown-item-active"),n.classList.remove("dropdown-item-active"),s.classList.remove("dropdown-item-active");break;case 1:t.classList.remove("dropdown-item-active"),n.classList.add("dropdown-item-active"),s.classList.remove("dropdown-item-active");break;default:t.classList.remove("dropdown-item-active"),n.classList.remove("dropdown-item-active"),s.classList.add("dropdown-item-active");break}}function b(t,n=2,s=!1){const o=document.querySelector("link[title=hl-light]"),i=document.querySelector("link[title=hl-dark]"),a=o!==null||i!==null,r=document.querySelector("script[title=mermaid]")!==null;X(n);const c=new CustomEvent("wcThemeChange",{detail:{isDarkTheme:()=>t}});if(document.dispatchEvent(c),!s&&(t===!1&&!e.classList.contains("dark")||t===!0&&e.classList.contains("dark")))return;t===!1?(s||(Object.assign(document.body.style,{opacity:0,visibility:"visible"}),C(document.body,600)),e.classList.remove("dark"),a&&(console.debug("Setting HLJS theme to light"),o&&(o.disabled=!1),i&&(i.disabled=!0)),r&&(console.debug("Initializing Mermaid with light theme"),s?(window.mermaid.initialize({startOnLoad:!1,theme:"default",securityLevel:"loose"}),A(!0)):location.reload())):t===!0&&(s||(Object.assign(document.body.style,{opacity:0,visibility:"visible"}),C(document.body,600)),e.classList.add("dark"),a&&(console.debug("Setting HLJS theme to dark"),o&&(o.disabled=!0),i&&(i.disabled=!1)),r&&(console.debug("Initializing Mermaid with dark theme"),s?(window.mermaid.initialize({startOnLoad:!1,theme:"dark",securityLevel:"loose"}),A(!0)):location.reload()))}function G(e){if(!u())return;const s=e.matches;console.debug(`OS dark mode preference changed to ${s?"ð on":"âï¸ off"}.`);let n=O(),t;n===2&&(window.matchMedia("(prefers-color-scheme: dark)").matches?t=!0:window.matchMedia("(prefers-color-scheme: light)").matches?t=!1:t=window.wc.isSiteThemeDark,b(t,n))}console.debug(`Environment: ${f}`);function v(){let e=document.getElementById("navbar-main"),t=e?e.getBoundingClientRect().height:0;return console.debug("Navbar height: "+t),t}function g(e,t=0){if(e=typeof e=="undefined"||typeof e=="object"?decodeURIComponent(window.location.hash):e,$(e).length){e="#"+$.escapeSelector(e.substring(1));let n=Math.ceil($(e).offset().top-v());$("body").addClass("scrolling"),$("html, body").animate({scrollTop:n},t,function(){$("body").removeClass("scrolling")})}
8else console.debug("Cannot scroll to target `#"+e+"`. ID not found!")}function S(){let e=$("body"),t=e.data("bs.scrollspy");t&&(t._config.offset=v(),e.data("bs.scrollspy",t),e.scrollspy("refresh"))}function q(){if(window.history.replaceState){let e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.hash;window.history.replaceState({path:e},"",e)}}if(window.addEventListener("hashchange",g),$("#navbar-main li.nav-item a.nav-link, .js-scroll").on("click",function(e){let t=this.hash;if(this.pathname===window.location.pathname&&t&&$(t).length&&$(".js-widget-page").length>0){e.preventDefault();let n=Math.ceil($(t).offset().top-v());$("html, body").animate({scrollTop:n},800)}}),$(document).on("click",".navbar-collapse.show",function(e){let t=$(e.target).is("a")?$(e.target):$(e.target).parent();t.is("a")&&t.attr("class")!="dropdown-toggle"&&$(this).collapse("hide")}),o={},t=$("#container-publications"),t.length){t.isotope({itemSelector:".isotope-item",percentPosition:!0,masonry:{columnWidth:".grid-sizer"},filter:function(){let e=$(this),t=!h||e.text().match(h),n=!r||e.is(r);return t&&n}});let e=$(".filter-search").keyup(W(function(){h=new RegExp(e.val(),"gi"),t.isotope()}));$(".pub-filters").on("change",function(){let n=$(this),e=n[0].getAttribute("data-filter-group");if(o[e]=this.value,r=_(o),t.isotope(),e==="pubtype"){let e=$(this).val();e.substr(0,9)===".pubtype-"?window.location.hash=e.substr(9):window.location.hash=""}})}function W(e,t){let n;return t=t||100,function(){clearTimeout(n);let o=arguments,i=this;function a(){e.apply(i,o)}n=setTimeout(a,t)}}function _(e){let t="";for(let n in e)t+=e[n];return t}function P(){if(!t.length)return;let e=window.location.hash.replace("#",""),n="*";e!=""&&!isNaN(e)&&(n=".pubtype-"+e);let s="pubtype";o[s]=n,r=_(o),t.isotope(),$(".pubtype-select").val(n)}function H(){if($("#map").length){let o=$("#map-provider").val(),e=$("#map-lat").val(),t=$("#map-lng").val(),n=parseInt($("#map-zoom").val()),s=$("#map-dir").val(),i=$("#map-api-key").val();if(o==="google"){let o=new GMaps({div:"#map",lat:e,lng:t,zoom:n,zoomControl:!0,zoomControlOpt:{style:"SMALL",position:"TOP_LEFT"},streetViewControl:!1,mapTypeControl:!1,gestureHandling:"cooperative"});o.addMarker({lat:e,lng:t,click:function(){let n="https://www.google.com/maps/place/"+encodeURIComponent(s)+"/@"+e+","+t+"/";window.open(n,"_blank")},title:s})}else{let a=new L.map("map").setView([e,t],n);o==="mapbox"&&i.length?L.tileLayer("https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token={accessToken}",{attribution:'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery \xA9 <a href="http://mapbox.com">Mapbox</a>',tileSize:512,maxZoom:18,zoomOffset:-1,id:"mapbox/streets-v11",accessToken:i}).addTo(a):L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(a);let r=L.marker([e,t]).addTo(a),c=e+","+t+"#map="+n+"/"+e+"/"+t+"&layers=N";r.bindPopup(s+'<p><a href="https://www.openstreetmap.org/directions?engine=osrm_car&route='+c+'">Routing via OpenStreetMap</a></p>')}}}function I(e,t){f==="production"&&$.getJSON("https://api.github.com/repos/"+t+"/tags").done(function(t){let n=t[0];$(e).append(" "+n.name)}).fail(function(e,t,n){let s=t+", "+n;console.log("Request Failed: "+s)})}function l(){if($("body").hasClass("searching"))$("[id=search-query]").blur(),$("body").removeClass("searching compensate-for-scrollbar"),q(),$("#fancybox-style-noscroll").remove();else{!$("#fancybox-style-noscroll").length&&document.body.scrollHeight>window.innerHeight&&($("head").append('<style id="fancybox-style-noscroll">.compensate-for-scrollbar{margin-right:'+(window.innerWidth-document.documentElement.clientWidth)+"px;}</style>"),$("body").addClass("compensate-for-scrollbar")),$("body").addClass("searching"),$(".search-results").css({opacity:0,visibility:"visible"}).animate({opacity:1},200);let e=document.querySelector(".ais-SearchBox-input");e?e.focus():$("#search-query").focus()}}function d(){$(".carousel").each(function(){let e=$(".carousel-item",this);e.css("min-height",0);let t=Math.max.apply(null,e.map(function(){return $(this).outerHeight()}).get());e.css("min-height",t+"px")})}function R(){$("#TableOfContents").addClass("nav flex-column"),$("#TableOfContents li").addClass("nav-item"),$("#TableOfContents li a").addClass("nav-link"),$("input[type='checkbox'][disabled]").parents("ul").addClass("task-list")}function U(e){return Array.prototype.filter.call(e.parentNode.children,function(t){return t!==e})}$(document).ready(function(){R();let{isDarkTheme:n,themeMode:s}=K();
8b(n,s,!0),F&&hljs.initHighlighting();let e=document.querySelector(".docs-links .active"),t=document.querySelector(".docs-links");e&&t&&k(t,e)}),$(window).on("load",function(){S();let n=document.querySelectorAll(".projects-container"),s=n.length;window.location.hash&&s===0&&g(decodeURIComponent(window.location.hash),0);let o=document.querySelector(".docs-toc .nav-link.active"),i=document.querySelector(".docs-toc");o&&i&&k(i,o);let e={};document.body.classList.contains("dark")?e.background="rgba(0,0,0,0.9)":e.background="rgba(255,255,255,0.9)",T("[data-zoomable]",e);let a=0;n.forEach(function(e,t){console.debug(`Loading Isotope instance ${t}`);let i,n=e.closest("section"),s="";n.querySelector(".isotope").classList.contains("js-layout-row")?s="fitRows":s="masonry";let a=n.querySelector(".default-project-filter"),o="*";a!==null&&(o=a.textContent),console.debug(`Default Isotope filter: ${o}`),imagesLoaded(e,function(){i=new Isotope(e,{itemSelector:".isotope-item",layoutMode:s,masonry:{gutter:20},filter:o});let t=n.querySelectorAll(".project-filters a");t.forEach(e=>e.addEventListener("click",t=>{t.preventDefault();let n=e.getAttribute("data-filter");console.debug(`Updating Isotope filter to ${n}`),i.arrange({filter:n}),e.classList.remove("active"),e.classList.add("active");let s=U(e);s.forEach(e=>{e.classList.remove("active"),e.classList.remove("all")})})),r()})});function r(){a++,a===s&&(console.debug(`All Portfolio Isotope instances loaded.`),window.location.hash&&g(decodeURIComponent(window.location.hash),0))}$(".pub-filters-select")&&P(),$(".js-cite-modal").click(function(e){e.preventDefault();let t=$(this).attr("data-filename"),n=$("#modal");n.find(".modal-body code").load(t,function(e,n,s){if(n=="error"){let e="Error: ";$("#modal-error").html(e+s.status+" "+s.statusText)}else $(".js-download-cite").attr("href",t)}),n.modal("show")}),$(".js-copy-cite").click(function(e){e.preventDefault();let t=document.createRange(),n=document.querySelector("#modal .modal-body");t.selectNode(n),window.getSelection().addRange(t);try{document.execCommand("copy")}catch{console.log("Error: citation copy failed.")}window.getSelection().removeRange(t)}),H();let t=".js-github-release";$(t).length>0&&I(t,$(t).data("repo")),document.addEventListener("keyup",e=>{if(e.code==="Escape"){const e=document.body;e.classList.contains("searching")&&l()}if(e.key==="/"){let t=document.hasFocus()&&document.activeElement!==document.body&&document.activeElement!==document.documentElement&&document.activeElement||null,n=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;p&&!n&&(e.preventDefault(),l())}}),p&&$(".js-search").click(function(e){e.preventDefault(),l()}),$('[data-toggle="tooltip"]').tooltip()}),c=document.querySelector(".js-set-theme-light"),m=document.querySelector(".js-set-theme-dark"),j=document.querySelector(".js-set-theme-auto"),c&&m&&j&&(c.addEventListener("click",e=>{e.preventDefault(),y(0)}),m.addEventListener("click",e=>{e.preventDefault(),y(1)}),j.addEventListener("click",e=>{e.preventDefault(),y(2)})),E=window.matchMedia("(prefers-color-scheme: dark)"),E.addEventListener("change",e=>{G(e)}),window.addEventListener("load",d),window.addEventListener("resize",d),window.addEventListener("orientationchange",d),$("body").on("mouseenter mouseleave",".dropdown",function(e){var t=$(e.target).closest(".dropdown"),n=$(".dropdown-menu",t);t.addClass("show"),n.addClass("show"),setTimeout(function(){t[t.is(":hover")?"addClass":"removeClass"]("show"),n[t.is(":hover")?"addClass":"removeClass"]("show")},300)}),$(window).resize(function(){clearTimeout(x),x=setTimeout(S,200)})})(),(()=>{var o={authors:"Authors",event:"Events",post:"Posts",project:"Projects",publication:"Publications",slides:"Slides"},i={no_results:"No results found",placeholder:"Search...",results:"results found"},t={indexURI:"/index.json",minLength:1,threshold:.3},n={shouldSort:!0,includeMatches:!0,tokenize:!0,threshold:t.threshold,location:0,distance:100,maxPatternLength:32,minMatchCharLength:t.minLength,keys:[{name:"title",weight:.99},{name:"summary",weight:.6},{name:"authors",weight:.5},{name:"content",weight:.2},{name:"tags",weight:.5},{name:"categories",weight:.5}]},e=60;function a(e){return decodeURIComponent((location.search.split(e+"=")[1]||"").split("&")[0]).replace(/\+/g," ")}function r(e){history.replaceState&&window.history.replaceState({path:e},"",e)}function s(e,t){let s=$("#search-query").val();if(s.length<1&&($("#search-hits").empty(),$("#search-common-queries").show()),!e&&s.length<n.minMatchCharLength)return;$("#search-hits").empty(),$("#search-common-queries").hide(),c(s,t);let o=window.location.protocol+"//"+window.location.host+window.location.pathname+"?q="+encodeURIComponent(s)+window.location.hash;r(o)}function c(e,t){let n=t.search(e);n.length>0?($("#search-hits").append('<h3 class="mt-0">'+n.length+" "+i.results+"</h3>"),l(e,n)):$("#search-hits").append('<div class="search-no-results">'+i.no_results+"</div>")}function l(t,s){$.each(s,function(s,i){let a=i.item.section,r="",c="",l=[];["publication","event"].includes(a)?r=i.item.summary:r=i.item.content,n.tokenize?l.push(t):$.each(i.matches,function(t,n){if(n.key=="content"){let t=n.indices[
80][0]-e>0?n.indices[0][0]-e:0,s=n.indices[0][1]+e<r.length?n.indices[0][1]+e:r.length;c+=r.substring(t,s),l.push(n.value.substring(n.indices[0][0],n.indices[0][1]-n.indices[0][0]+1))}}),c.length<1&&(c+=i.item.summary);let u=$("#search-hit-fuse-template").html();a in o&&(a=o[a]);let h={key:s,title:i.item.title,type:a,relpermalink:i.item.relpermalink,snippet:c},m=d(u,h);$("#search-hits").append(m),$.each(l,function(e,t){$("#summary-"+s).mark(t)})})}function d(e,t){let n,s,o;for(n in t)s="\\{\\{\\s*"+n+"\\s*\\}\\}",o=new RegExp(s,"g"),e=e.replace(o,t[n]);return e}typeof Fuse=="function"&&$.getJSON(t.indexURI,function(e){let t=new Fuse(e,n),o=a("q");o&&($("body").addClass("searching"),$(".search-results").css({opacity:0,visibility:"visible"}).animate({opacity:1},200),$("#search-query").val(o),$("#search-query").focus(),s(!0,t)),$("#search-query").keyup(function(e){clearTimeout($.data(this,"searchTimer")),e.keyCode==13?s(!0,t):$(this).data("searchTimer",setTimeout(function(){s(!1,t)},250))})})})()})();/*! medium-zoom 1.0.6 | MIT License | https://github.com/francoischalifour/medium-zoom */
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.