/* Local lightweight Bootstrap-compatible bundle: Collapse + Tab only. */ (function(){ if(!window.CSS) window.CSS={}; if(!CSS.escape){CSS.escape=function(v){return String(v).replace(/[^a-zA-Z0-9_\-]/g,function(ch){return '\\'+ch;});};} function qsa(sel,root){return Array.prototype.slice.call((root||document).querySelectorAll(sel));} function event(name){try{return new Event(name,{bubbles:true});}catch(e){var ev=document.createEvent('Event');ev.initEvent(name,true,true);return ev;}} class Collapse{ constructor(el,opts){this._el=el;this._opts=opts||{};} show(){this._el.classList.add('show');this._el.dispatchEvent(event('shown.bs.collapse'));this._sync(true);} hide(){this._el.classList.remove('show');this._el.dispatchEvent(event('hidden.bs.collapse'));this._sync(false);} toggle(){this._el.classList.contains('show')?this.hide():this.show();} _sync(open){qsa('[data-bs-target="#'+this._el.id+'"]',document).forEach(function(btn){btn.classList.toggle('collapsed',!open);btn.setAttribute('aria-expanded',open?'true':'false');});} static getOrCreateInstance(el,opts){if(!el.__bgCollapse) el.__bgCollapse=new Collapse(el,opts);return el.__bgCollapse;} } class Tab{ constructor(el){this._el=el;} show(){var target=this._el.getAttribute('data-bs-target')||this._el.getAttribute('href'); if(!target) return; var pane=document.querySelector(target); if(!pane) return; var nav=this._el.closest('.nav')||document; qsa('[data-bs-toggle="tab"]',nav).forEach(function(t){t.classList.remove('active');t.setAttribute('aria-selected','false');}); this._el.classList.add('active');this._el.setAttribute('aria-selected','true'); var content=pane.parentElement; qsa('.tab-pane',content).forEach(function(p){p.classList.remove('active','show');}); pane.classList.add('active','show'); this._el.dispatchEvent(event('shown.bs.tab'));} static getOrCreateInstance(el){if(!el.__bgTab) el.__bgTab=new Tab(el);return el.__bgTab;} } document.addEventListener('click',function(e){ var c=e.target.closest('[data-bs-toggle="collapse"]'); if(c){var sel=c.getAttribute('data-bs-target')||c.getAttribute('href'); if(sel){var el=document.querySelector(sel); if(el){e.preventDefault(); Collapse.getOrCreateInstance(el).toggle();}}} var t=e.target.closest('[data-bs-toggle="tab"]'); if(t){e.preventDefault(); Tab.getOrCreateInstance(t).show();} }); window.bootstrap={Collapse:Collapse,Tab:Tab}; })();