1!function(){const t="is-active",e="is-share-copied",o='[data-js="article-share-options"]',n='[data-js="share-copy-link"]',s='[data-js="share-modal-wrapper"]',c=document.querySelectorAll(s);function a(e){Array.from(c).some(e=>e.classList.contains(t))||document.removeEventListener("click",a),c.forEach(o=>{o.contains(e.target)||o.classList.remove(t)})}function i(){document.querySelectorAll(o).forEach(e=>{e.addEventListener("click",o=>{const n=e.nextElementSibling;n&&n.classList.contains("share-modal-wrapper")&&(n.classList.toggle(t),n.classList.contains(t)&&document.addEventListener("click",a)),o.stopPropagation()})})}document.addEventListener("DOMContentLoaded",()=>{i(),document.querySelectorAll(n).forEach(t=>{t.addEventListener("click",()=>{const o=window.location.href;navigator.clipboard.writeText(o).then(()=>{const o=t.closest("li"),n=t.textContent,{copiedText:s}=t.dataset;t.textContent=s,o.classList.add(e),setTimeout(()=>{t.textContent=n,o.classList.remove(e)},2e3)}).catch(t=>{console.error("Failed to copy link:",t)})})})})}();
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.