1(function(){var header=document.querySelector('.bbn');if(!header||header.dataset.bbnInit==='1'){return} 2header.dataset.bbnInit='1';var bar=header.querySelector('.bbn-bar');var nav=header.querySelector('.bbn-nav');var items=[].slice.call(header.querySelectorAll('.bbn-item.bbn-has'));var mq=window.matchMedia('(max-width:980px)');var canHover=window.matchMedia('(hover: hover)').matches;var open=null;var scrim=document.createElement('div');scrim.className='bbn-scrim';header.parentNode.insertBefore(scrim,header.nextSibling);var burger=document.createElement('button');burger.type='button';burger.className='bbn-burger';burger.setAttribute('aria-label','Toggle menu');burger.setAttribute('aria-expanded','false');burger.innerHTML='<span></span>';if(bar){bar.appendChild(burger)} 3burger.addEventListener('click',function(){var on=header.classList.toggle('is-nav-open');burger.setAttribute('aria-expanded',on?'true':'false');if(!on){closeAll()}});function place(panel){panel.style.left='0px';var pad=16;var r=panel.getBoundingClientRect();var over=r.right-(window.innerWidth-pad);if(over>0){panel.style.left=(0-over)+'px'} 4var r2=panel.getBoundingClientRect();if(r2.left<pad){var cur=parseFloat(panel.style.left)||0;panel.style.left=(cur+(pad-r2.left))+'px'}} 5function closeAll(except){items.forEach(function(item){if(item===except){return} 6item.classList.remove('is-open');var t=item.querySelector('.bbn-top');if(t){t.setAttribute('aria-expanded','false')}});if(!except){open=null;scrim.classList.remove('is-open')}} 7function show(item){closeAll(item);item.classList.add('is-open');var t=item.querySelector('.bbn-top');if(t){t.setAttribute('aria-expanded','true')} 8var p=item.querySelector('.bbn-panel');if(p&&!mq.matches){place(p)} 9open=item;if(!mq.matches){scrim.classList.add('is-open')}} 10items.forEach(function(item,i){var trigger=item.querySelector('.bbn-top');var panel=item.querySelector('.bbn-panel');if(!trigger||!panel){return} 11if(!panel.id){panel.id='bbn-panel-'+i} 12trigger.setAttribute('role','button');trigger.setAttribute('tabindex','0');trigger.setAttribute('aria-haspopup','true');trigger.setAttribute('aria-expanded','false');trigger.setAttribute('aria-controls',panel.id);function toggle(e){e.preventDefault();if(item.classList.contains('is-open')){closeAll()}else{show(item)}} 13trigger.addEventListener('click',toggle);trigger.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){toggle(e)}});if(canHover){item.addEventListener('mouseenter',function(){if(!mq.matches){show(item)}});item.addEventListener('mouseleave',function(){if(!mq.matches){closeAll()}})}});function outside(e){if(!open){return} 14if(e.target.closest&&e.target.closest('.bbn')){return} 15closeAll()} 16document.addEventListener('click',outside,!0);document.addEventListener('focusin',outside);scrim.addEventListener('click',closeAll);document.addEventListener('keydown',function(e){if(e.key!=='Escape'){return} 17var was=open;closeAll();header.classList.remove('is-nav-open');burger.setAttribute('aria-expanded','false');if(was){var t=was.querySelector('.bbn-top');if(t){t.focus()}}});mq.addEventListener('change',function(){closeAll();header.classList.remove('is-nav-open');burger.setAttribute('aria-expanded','false')});window.addEventListener('resize',function(){if(!open){return} 18if(mq.matches){closeAll();return} 19var p=open.querySelector('.bbn-panel');if(p){place(p)}})})()
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.