const body=document.body,searchWrapper=document.querySelector(".search-wrapper"),searchModal=document.querySelector(".search-modal"),searchFooter=document.querySelector(".search-wrapper-footer"),searchResult=document.querySelectorAll("[data-search-result]"),searchResultItemTemplate=document.getElementById("search-result-item-template"),hasSearchWrapper=searchWrapper!=null,hasSearchModal=searchModal!=null,searchInput=document.querySelectorAll("[data-search-input]"),emptySearchResult=document.querySelectorAll(".search-result-empty"),openSearchModal=document.querySelectorAll('[data-target="search-modal"]'),closeSearchModal=document.querySelectorAll('[data-target="close-search-modal"]'),searchIcon=document.querySelector(".search-wrapper-header label svg[data-type='search']"),searchIconReset=document.querySelector(".search-wrapper-header label svg[data-type='reset']"),searchResultInfo=document.querySelector(".search-result-info");let searchModalVisible=!!(hasSearchModal&&searchModal.classList.contains("show")),jsonData=[];const loadJsonData=async()=>{try{const e=await fetch(indexURL);return jsonData=await e.json()}catch(e){console.error(e)}};function escapeHTML(e){return e.replace(/&/g,"&").replace(//g,">")}if(hasSearchWrapper){searchInput.forEach(e=>{e.addEventListener("keypress",e=>{e.keyCode==13&&e.preventDefault()})});const c=e=>e.replace(/^[\s_]+|[\s_]+$/g,"").replace(/[_\s]+/g," ").replace(/^[a-z]/,function(e){return e.toUpperCase()}),o=e=>{let t=e.trim().replace(/[\s_]+/g,"-").toLowerCase();return encodeURIComponent(t)},l=searchWrapper.getAttribute("data-image"),t=searchWrapper.getAttribute("data-description"),n=searchWrapper.getAttribute("data-tags"),s=searchWrapper.getAttribute("data-categories");let e="";const i=new URLSearchParams(window.location.search),a=i.get("s")?encodeURIComponent(i.get("s")):null;a!==null&&(e=a.replace(/\+/g," "),searchInput.forEach(t=>{t.value=e}),searchIcon&&(searchIcon.style.display="none"),searchIconReset&&(searchIconReset.style.display="initial")),searchInput.forEach(t=>{t.addEventListener("input",t=>{e=t.target.value.toLowerCase(),window.history.replaceState({},"",`${window.location.origin}${window.location.pathname}?s=${e.replace(/ /g,"+")}`),r(e)})}),document.addEventListener("DOMContentLoaded",async()=>{await loadJsonData(),r(e)});const r=async e=>{e!==""?(searchIcon&&(searchIcon.style.display="none"),searchIconReset&&(searchIconReset.style.display="initial"),emptySearchResult.forEach(t=>{const n=`
${search_no_results} "${escapeHTML(e)}"
#{description}
#{ end }#{content}
${e.section}
${d}