1document.addEventListener("DOMContentLoaded",(()=>{document.querySelectorAll("input[data-optgroup-list]").forEach((list=>{const listOptions=document.getElementById(list.getAttribute("data-optgroup-list")).nextElementSibling;console.log(list),list.addEventListener("focus",(event=>{console.log("focus"),listOptions.removeAttribute("hidden")})),list.addEventListener("blur",(event=>{console.log("blur")})),list.addEventListener("input",(event=>{const{value:value}=event.target,options=listOptions.querySelectorAll(".option");for(let i=0;i<options.length;i++){const option=options[i];option.querySelector(".value").innerHTML.toLowerCase().includes(value.toLowerCase())?option.removeAttribute("hidden"):option.setAttribute("hidden","true")}listOptions.querySelectorAll("details").forEach((detail=>{var allHidden=!0;const options=detail.querySelectorAll(".option");for(let i=0;i<options.length;i++){if(!options[i].hasAttribute("hidden")){allHidden=!1;break}}allHidden?detail.setAttribute("hidden","true"):detail.removeAttribute("hidden")}))})),listOptions.addEventListener("click",(event=>{const el=event.target.matches(".option")?event.target:event.target.closest(".option");list.value=el.dataset.value}))}))}));
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.