
$(function(){var navbarBg=$(".navbar-background");var navbarBgEl=navbarBg[0];var rowSecondary=$(".row-secondary");var rowSecondaryEl=rowSecondary[0];var secondaryPanel=rowSecondaryEl?rowSecondaryEl.querySelector(".navbar-panel"):null;var padEnd=40;var colorStart=40;var colorEnd=120;function updateScrollState(){var y=window.scrollY;var padProgress=Math.min(1,y/padEnd);var colorProgress=y<=colorStart?0:Math.min(1,(y-colorStart)/(colorEnd-colorStart));if(y>colorStart){navbarBg.addClass("scrolled");rowSecondary.addClass("scrolled");}else{navbarBg.removeClass("scrolled");rowSecondary.removeClass("scrolled");}
if(rowSecondaryEl){if(navbarBgEl.classList.contains("compact")){rowSecondaryEl.style.top="";}else{var baseTop=parseInt(getComputedStyle(document.documentElement).getPropertyValue('--navbar-height-base'));var topOffset=12*(1-padProgress);rowSecondaryEl.style.top=(baseTop+topOffset)+"px";}}
var pad=6*(1-padProgress);if(colorProgress<1){var alpha=0.92*colorProgress;var blur=16*colorProgress;navbarBgEl.style.backgroundColor="rgba(6,6,32,"+alpha+")";navbarBgEl.style.backdropFilter="blur("+blur+"px)";navbarBgEl.style.webkitBackdropFilter="blur("+blur+"px)";navbarBgEl.style.padding=pad+"px 0";}else{navbarBgEl.style.backgroundColor="";navbarBgEl.style.backdropFilter="";navbarBgEl.style.webkitBackdropFilter="";navbarBgEl.style.padding="";}
if(rowSecondaryEl){if(colorProgress<1){var wAlpha=0.92*colorProgress;var sBlur=16-8*colorProgress;var shadow=0.1*colorProgress;var borderAlpha=0.12*(1-colorProgress);rowSecondaryEl.style.backgroundColor="rgba(255,255,255,"+wAlpha+")";rowSecondaryEl.style.backdropFilter="blur("+sBlur+"px)";rowSecondaryEl.style.webkitBackdropFilter="blur("+sBlur+"px)";rowSecondaryEl.style.boxShadow="0 1px 0 0 rgba(0,0,0,"+shadow+")";if(secondaryPanel){secondaryPanel.style.borderColor="rgba(255,255,255,"+borderAlpha+")";}}else{rowSecondaryEl.style.backgroundColor="";rowSecondaryEl.style.backdropFilter="";rowSecondaryEl.style.webkitBackdropFilter="";rowSecondaryEl.style.boxShadow="";if(secondaryPanel){secondaryPanel.style.borderColor="";}}}}
$(window).on("scroll",updateScrollState);updateScrollState();var titleBig=document.querySelector(".title-big");if(titleBig){var compactObserver=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(entry.isIntersecting){navbarBg.removeClass("compact");}else{if(entry.boundingClientRect.top<0){navbarBg.addClass("compact");}}
updateScrollState();});},{threshold:0,rootMargin:"-"+getComputedStyle(document.documentElement).getPropertyValue('--navbar-height-base').trim()+" 0px 0px 0px"});compactObserver.observe(titleBig);}
var navbg=$(".navbar-background");var initialHeight=navbg.height();var refs=$(".level2 .menu-item a");var items=$(".level2 .menu-item");var address=document.location.pathname;console.log(items);if(address.includes("#")){address=address.split('#')[0];}
var matching=[];refs.each(function(i){var local=$(this).attr("dir")?$(this).attr("dir"):$(this).attr("href");if(local!=null){local=local.split(".")[0];if(address.includes(local)){matching.push({href:local,item:items[i]});}
$(this).click(function(){console.log(items.find('.active'));items.find('.active').removeClass('active')
items[i].classList.add("active");});}});matching=matching.sort((a,b)=>{let aMatches=address.includes(a.href);let bMatches=address.includes(b.href);if(aMatches===bMatches){return a.href.localeCompare(b.href);}
return aMatches?-1:1;}).reverse();if(matching.length>0){var value=matching[0].href;console.log(value);for(var m of matching){if(m.href==value){console.log(m.href);m.item.classList.add("active");}}}});$(function(){var tooltips=$(".btn-tooltip");tooltips.each(function(i,e){$(e).parent().mouseenter(function(){$(e).attr("active","true")}).mouseleave(function(){$(e).attr("active",null);});});});$(function(){const sections=$(".section h2[id], .sect2 h3[id]");sections.each(function(index,el){var t=$(el).append(`
      <span class="copy-link">
        <svg xmlns="http://www.w3.org/2000/svg" class="icon-link" width="18" height="18" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
          <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
          <path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" />
          <path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" />
        </svg>
      </span>
      <span class="copy-confirmation"/>
    `);$(el).find('.copy-link').on('click',e=>{var url=window.location.href;if(url.indexOf('#')>-1){url=url.split('#')[0];}
const textToCopy=url+"#"+el.id;var myTemporaryInputElement=document.createElement("input");myTemporaryInputElement.type="text";myTemporaryInputElement.value=textToCopy;document.body.appendChild(myTemporaryInputElement);myTemporaryInputElement.select();document.execCommand("Copy");document.body.removeChild(myTemporaryInputElement);console.log('Copied link:'+textToCopy)
var confirmation=$(el).find('.copy-confirmation');confirmation.attr('active','true');setTimeout(()=>confirmation.attr('active','false'),1000);});});});$(function(){$('.section video').each((index,ele)=>{$(ele).addClass('video-js');$(ele).addClass('vjs-theme-sea');const srcFile=ele.src;const player=videojs(ele,{techOrder:['html5'],controls:true,autoplay:false,preload:'auto',fluid:true,liveui:true});player.src(srcFile);player.one('play',function(){this.bigPlayButton.hide();});player.on('pause',function(){this.bigPlayButton.show();$(this.bigPlayButton.el).removeClass('vjs-has-started');player.one('play',function(){this.bigPlayButton.hide();});});console.log(player.controlBar.progressControl);player.on("seeked",function(event){event.stopPropagation();console.log("Seeking to "+player.currentTime());});});});$(function(){var scrollTargets=$(".section h2, .section h3");var bar=$(".navbar-background")
var useBar=bar.length>0
var scrollButtons=$(".scroll-action");var filteredTargets=[];scrollButtons.each(function(index,ele){var target;var expected=$(ele).attr("data-target")
for(var i=0;i<scrollTargets.length;++i){var targetEl=scrollTargets[i];if(targetEl.id===expected){target=targetEl;filteredTargets.push(targetEl);break;}}
if(target){$(ele).click(function(){if(useBar){window.scrollTo({top:target.offsetTop-(useBar?bar.height():0),behavior:"smooth"})}
else{target.scrollIntoView({behavior:"smooth"});}})}});scrollTargets=$(filteredTargets);var progressElement=$(".navbar-background .progress");var useBarAsProgress=useBar?progressElement.length>0:false;var scrollTargetGroupsStart=[];var scrollButtonGroups=[];$(".scroll-group").each(function(gid,ele){var targetRef=$(ele).attr("data-target")
for(var i=0;i<scrollTargets.length;++i){if(scrollTargets[i].id===targetRef){scrollTargetGroupsStart.push(scrollTargets[i]);scrollButtonGroups.push(ele);break;}}});$('.scroll-top-page button').on('click',()=>window.scrollTo({top:0,behavior:'smooth',}));if(scrollTargets.length>0){var first=scrollTargets[0];$(window).on('scroll',function(e){var padding=useBar?bar.height()+200:200;$(".scroll-show-target").attr("active",first.getBoundingClientRect().top<padding?"true":null);if(useBarAsProgress){scrollTargets.each(function(i,ele){var itempos=ele.getBoundingClientRect().top;var index=i=="length"?scrollTargets.length:i;if(itempos>0&&itempos<padding){var progress=i/scrollTargets.length;var inv=1.0-progress;progressElement.css("width",(inv*100)+"%");}});}
var lastTg=null;var selectedElement=null;for(var i=0;i<scrollTargetGroupsStart.length;++i){var top=scrollTargetGroupsStart[i].getBoundingClientRect().top;if(top<=padding){if((lastTg!=null&&top>lastTg.getBoundingClientRect().top)||lastTg==null){lastTg=scrollTargetGroupsStart[i];}}}
for(var i=0;i<scrollButtonGroups.length;++i){var $e=$(scrollButtonGroups[i]);if(lastTg!=null&&$e.attr('data-target')===lastTg.id){$e.addClass("opened");selectedElement=scrollButtonGroups[i];}
else{$e.removeClass("opened");}}
var selectedTarget=lastTg;lastTg=null;for(var i=0;i<scrollTargets.length;++i){var top=scrollTargets[i].getBoundingClientRect().top
if(top<=padding){if((lastTg!=null&&top>lastTg.getBoundingClientRect().top)||lastTg==null){lastTg=scrollTargets[i];}}}
var toActive=null;for(var i=0;i<scrollButtons.length;++i){var $e=$(scrollButtons[i]);if(lastTg!=null&&$e.attr("data-target")===lastTg.id){if(toActive)
toActive.attr("active",null);toActive=$e;}
else{$e.attr("active",null);}}
if(toActive)
toActive.attr("active","true");});}});$(function(){function indexOfMin(arr){if(arr.length===0){return-1;}
var min=arr[0];var minIndex=0;for(var i=1;i<arr.length;i++){if(arr[i]<min){minIndex=i;min=arr[i];}}
return minIndex;}
function distances(offset,elements){var dists=[]
elements.each(function(index,ele){var itempos=ele.getBoundingClientRect().top;dists.push(Math.abs(offset-itempos));});return dists;}
var bar=$(".navbar-background")
var useBar=false;var upBtn=$(".navigation-buttons .up.prev-slide");var downBtn=$(".navigation-buttons .down.next-slide");var targets=$(".section h2, .section h3");function upScroll(){var padding=useBar?bar.height()+200:200;var topOffset=(useBar?bar.height()+80:80);var current=indexOfMin(distances(padding,targets));var target=targets[current>0?current-1:current];window.scrollTo({top:target.offsetTop-topOffset,behavior:"smooth"});}
function downScroll(){var padding=useBar?bar.height()+200:200;var topOffset=(useBar?bar.height()+80:80);var current=indexOfMin(distances(padding,targets));var target=targets[current+1<targets.length?current+1:current];window.scrollTo({top:target.offsetTop-topOffset,behavior:"smooth"});}
upBtn.on("click",upScroll);downBtn.on("click",downScroll);$(".navigation-buttons .up.page-start").on('click',()=>{var topOffset=(useBar?bar.height()+80:80);window.scrollTo({top:targets[0].offsetTop-topOffset,behavior:"smooth"});});$(".navigation-buttons .down.page-end").on('click',()=>{var topOffset=(useBar?bar.height()+80:80);window.scrollTo({top:targets[targets.length-1].offsetTop-topOffset,behavior:"smooth"});});$(window).keyup(function(e){if(e.keyCode==37){upBtn.click();}
else if(e.keyCode==39){downBtn.click();}});});$(function(){$('.directory-navigation .title').click(()=>{$('.dir-content').toggleClass('unfolded');});});$(function(){const $target=$('.stick-bottom-above');const target=$target[0];const stickEnd=$($target.attr('data-above'))[0];const bottomOffset=$target.attr('data-offset');function viewportYDistance(){const rect=stickEnd.getBoundingClientRect();return rect.top-window.innerHeight;}
function getOffsetLeft(elem){const src=elem;var offsetLeft=0;do{if(!isNaN(elem.offsetLeft)){offsetLeft+=elem.offsetLeft;}}while(elem=elem.offsetParent);console.log(offsetLeft);return offsetLeft;}
const definedPosType=$target.css('position');const definedBottom=$target.css('bottom');const definedLeft=$target.css('left');var fixedLeft=getOffsetLeft(target.parentElement);window.onresize=function(){$target.css('position',definedPosType);$target.css('left',definedLeft);$target.css('bottom',definedBottom);fixedLeft=getOffsetLeft(target.parentElement);$target.css('position','fixed');$target.css('left',fixedLeft);$target.css('bottom',bottomOffset);updatePosition();}
function updatePosition(){$target.css('position','fixed');$target.css('left',fixedLeft);$target.css('bottom',bottomOffset);const h=viewportYDistance();if(h<=0){$target.css('bottom','calc('+bottomOffset+' + '+(-h)+'px)');}}
$(window).scroll(updatePosition);updatePosition();});