/* Source Themes academia v4.3.1 | https://sourcethemes.com/academic/ */ ; /*! * Bootstrap v4.3.1 (https://getbootstrap.com/) * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],b):b((a=a||self).bootstrap={},a.jQuery,a.Popper)}(this,function(j,a,o){"use strict";var af,b,W,ar,aD,cU,aC,cT,cS,cR,G,J,ao,az,ay,cG,H,cE,cD,aS,bK,cB,cA,aV,aX,K,x,I,f,aY,cj,aF,ci,aj,ai,ch,cg,g,bX,t,bW,bV,bU,bR,bQ,bN,bM,aI,bJ,bB,bA,bz,bt,bm,be,D,E,r,M,bg,aB,bl,L,s,O,at,aw,bc,bs,bD,a$,R,F,T,n,av,cJ,cN,e,am,h,bf,da,c_,aM,cY,al,cM,aE,cI,cC,cz,cu,cs,cr,cp,cn,cl,bZ,p,B,Q,i,br,aA,bk,c,bh,bi,bj,aJ,z,ag,bn,bo,bp,bq,bd,bb,Y,bu,bv,bw,bx,v,ad,l,bC,ba,bE,bF,bG,bH,bI,aa,aH,bL,ab,_,bO,bP,Z,aG,bS,bT,q,C,ah,k,bY,a_,b_,b$,ca,cb,cc,cd,ce,cf,ae,w,ak,ap,ck,aZ,cm,ax,co,u,cq,aW,au,ct,aU,cv,cw,cx,cy,aT,P,ac,S,db,X,cF,V,cH,aR,aQ,cK,cL,aP,aO,cO,cP,cQ,N,A,an,U,cV,y,cX,aN,$,aL,c$,aK,cW,aq;function cZ(d,c){for(var b=0,a;bthis._items.length-1||b<0))if(this._isSliding)a(this._element).one(g.SLID,function(){return d.to(b)});else{if(c===b)return this.pause(),void this.cycle();e=cdocument.documentElement.clientHeight;!this._isBodyOverflowing&&a&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!a&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var a=document.body.getBoundingClientRect();this._isBodyOverflowing=a.left+a.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:bv},aa="show",aH="out",bL={HIDE:"hide"+l,HIDDEN:"hidden"+l,SHOW:"show"+l,SHOWN:"shown"+l,INSERTED:"inserted"+l,CLICK:"click"+l,FOCUSIN:"focusin"+l,FOCUSOUT:"focusout"+l,MOUSEENTER:"mouseenter"+l,MOUSELEAVE:"mouseleave"+l},ab="fade",_="show",bO=".tooltip-inner",bP=".arrow",Z="hover",aG="focus",bS="click",bT="manual",q=function(){function e(a,b){if("undefined"==typeof o)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=a,this.config=this._getConfig(b),this.tip=null,this._setListeners()}var c=e.prototype;return c.enable=function(){this._isEnabled=!0},c.disable=function(){this._isEnabled=!1},c.toggleEnabled=function(){this._isEnabled=!this._isEnabled},c.toggle=function(c){if(this._isEnabled)if(c){var d=this.constructor.DATA_KEY,b=a(c.currentTarget).data(d);b||(b=new this.constructor(c.currentTarget,this._getDelegateConfig()),a(c.currentTarget).data(d,b)),b._activeTrigger.click=!b._activeTrigger.click,b._isWithActiveTrigger()?b._enter(null,b):b._leave(null,b)}else{if(a(this.getTipElement()).hasClass(_))return void this._leave(null,this);this._enter(null,this)}},c.dispose=function(){clearTimeout(this._timeout),a.removeData(this.element,this.constructor.DATA_KEY),a(this.element).off(this.constructor.EVENT_KEY),a(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&a(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},c.show=function(){var c=this,e,f,l,d,h,j,i,k,g,m;if("none"===a(this.element).css("display"))throw new Error("Please use show on visible elements");if(e=a.Event(this.constructor.Event.SHOW),this.isWithContent()&&this._isEnabled){if(a(this.element).trigger(e),f=b.findShadowRoot(this.element),l=a.contains(null!==f?f:this.element.ownerDocument.documentElement,this.element),e.isDefaultPrevented()||!l)return;d=this.getTipElement(),h=b.getUID(this.constructor.NAME),d.setAttribute("id",h),this.element.setAttribute("aria-describedby",h),this.setContent(),this.config.animation&&a(d).addClass(ab),j="function"==typeof this.config.placement?this.config.placement.call(this,d,this.element):this.config.placement,i=this._getAttachment(j),this.addAttachmentClass(i),k=this._getContainer(),a(d).data(this.constructor.DATA_KEY,this),a.contains(this.element.ownerDocument.documentElement,this.tip)||a(d).appendTo(k),a(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new o(this.element,d,{placement:i,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:bP},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(a){a.originalPlacement!==a.placement&&c._handlePopperPlacementChange(a)},onUpdate:function(a){return c._handlePopperPlacementChange(a)}}),a(d).addClass(_),"ontouchstart"in document.documentElement&&a(document.body).children().on("mouseover",null,a.noop),g=function(){c.config.animation&&c._fixTransition();var b=c._hoverState;c._hoverState=null,a(c.element).trigger(c.constructor.Event.SHOWN),b===aH&&c._leave(null,c)},a(this.tip).hasClass(ab)?(m=b.getTransitionDurationFromElement(this.tip),a(this.tip).one(b.TRANSITION_END,g).emulateTransitionEnd(m)):g()}},c.hide=function(e){var c=this,d=this.getTipElement(),f=a.Event(this.constructor.Event.HIDE),g=function(){c._hoverState!==aa&&d.parentNode&&d.parentNode.removeChild(d),c._cleanTipClass(),c.element.removeAttribute("aria-describedby"),a(c.element).trigger(c.constructor.Event.HIDDEN),null!==c._popper&&c._popper.destroy(),e&&e()},h;a(this.element).trigger(f),!f.isDefaultPrevented()&&(a(d).removeClass(_),"ontouchstart"in document.documentElement&&a(document.body).children().off("mouseover",null,a.noop),this._activeTrigger[bS]=!1,this._activeTrigger[aG]=!1,this._activeTrigger[Z]=!1,a(this.tip).hasClass(ab)?(h=b.getTransitionDurationFromElement(d),a(d).one(b.TRANSITION_END,g).emulateTransitionEnd(h)):g(),this._hoverState="")},c.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},c.isWithContent=function(){return Boolean(this.getTitle())},c.addAttachmentClass=function(b){a(this.getTipElement()).addClass(ba+"-"+b)},c.getTipElement=function(){return this.tip=this.tip||a(this.config.template)[0],this.tip},c.setContent=function(){var b=this.getTipElement();this.setElementContent(a(b.querySelectorAll(bO)),this.getTitle()),a(b).removeClass(ab+" "+_)},c.setElementContent=function(c,b){"object"!=typeof b||!b.nodeType&&!b.jquery?this.config.html?(this.config.sanitize&&(b=by(b,this.config.whiteList,this.config.sanitizeFn)),c.html(b)):c.text(b):this.config.html?a(b).parent().is(c)||c.empty().append(b):c.text(a(b).text())},c.getTitle=function(){var a=this.element.getAttribute("data-original-title");return a||(a="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),a},c._getOffset=function(){var b=this,a={};return"function"==typeof this.config.offset?a.fn=function(a){return a.offsets=d({},a.offsets,b.config.offset(a.offsets,b.element)||{}),a}:a.offset=this.config.offset,a},c._getContainer=function(){return!1===this.config.container?document.body:b.isElement(this.config.container)?a(this.config.container):a(document).find(this.config.container)},c._getAttachment=function(a){return bH[a.toUpperCase()]},c._setListeners=function(){var b=this;this.config.trigger.split(" ").forEach(function(c){if("click"===c)a(b.element).on(b.constructor.Event.CLICK,b.config.selector,function(a){return b.toggle(a)});else if(c!==bT){var d=c===Z?b.constructor.Event.MOUSEENTER:b.constructor.Event.FOCUSIN,e=c===Z?b.constructor.Event.MOUSELEAVE:b.constructor.Event.FOCUSOUT;a(b.element).on(d,b.config.selector,function(a){return b._enter(a)}).on(e,b.config.selector,function(a){return b._leave(a)})}}),a(this.element).closest(".modal").on("hide.bs.modal",function(){b.element&&b.hide()}),this.config.selector?this.config=d({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},c._fixTitle=function(){var a=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==a)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},c._enter=function(c,b){var d=this.constructor.DATA_KEY;(b=b||a(c.currentTarget).data(d))||(b=new this.constructor(c.currentTarget,this._getDelegateConfig()),a(c.currentTarget).data(d,b)),c&&(b._activeTrigger["focusin"===c.type?aG:Z]=!0),a(b.getTipElement()).hasClass(_)||b._hoverState===aa?b._hoverState=aa:(clearTimeout(b._timeout),b._hoverState=aa,b.config.delay&&b.config.delay.show?b._timeout=setTimeout(function(){b._hoverState===aa&&b.show()},b.config.delay.show):b.show())},c._leave=function(c,b){var d=this.constructor.DATA_KEY;(b=b||a(c.currentTarget).data(d))||(b=new this.constructor(c.currentTarget,this._getDelegateConfig()),a(c.currentTarget).data(d,b)),c&&(b._activeTrigger["focusout"===c.type?aG:Z]=!1),b._isWithActiveTrigger()||(clearTimeout(b._timeout),b._hoverState=aH,b.config.delay&&b.config.delay.hide?b._timeout=setTimeout(function(){b._hoverState===aH&&b.hide()},b.config.delay.hide):b.hide())},c._isWithActiveTrigger=function(){for(var a in this._activeTrigger)if(this._activeTrigger[a])return!0;return!1},c._getConfig=function(c){var e=a(this.element).data();return Object.keys(e).forEach(function(a){-1!==bF.indexOf(a)&&delete e[a]}),"number"==typeof(c=d({},this.constructor.Default,e,"object"==typeof c&&c?c:{})).delay&&(c.delay={show:c.delay,hide:c.delay}),"number"==typeof c.title&&(c.title=c.title.toString()),"number"==typeof c.content&&(c.content=c.content.toString()),b.typeCheckConfig(v,c,this.constructor.DefaultType),c.sanitize&&(c.template=by(c.template,c.whiteList,c.sanitizeFn)),c},c._getDelegateConfig=function(){var b={},a;if(this.config)for(a in this.config)this.constructor.Default[a]!==this.config[a]&&(b[a]=this.config[a]);return b},c._cleanTipClass=function(){var c=a(this.getTipElement()),b=c.attr("class").match(bE);null!==b&&b.length&&c.removeClass(b.join(""))},c._handlePopperPlacementChange=function(a){var b=a.instance;this.tip=b.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(a.placement))},c._fixTransition=function(){var b=this.getTipElement(),c=this.config.animation;null===b.getAttribute("x-placement")&&(a(b).removeClass(ab),this.config.animation=!1,this.hide(),this.show(),this.config.animation=c)},e._jQueryInterface=function(b){return this.each(function(){var c=a(this).data(ad),d="object"==typeof b&&b;if((c||!/dispose|hide/.test(b))&&(c||(c=new e(this,d),a(this).data(ad,c)),"string"==typeof b)){if("undefined"==typeof c[b])throw new TypeError('No method named "'+b+'"');c[b]()}})},m(e,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return bI}},{key:"NAME",get:function(){return v}},{key:"DATA_KEY",get:function(){return ad}},{key:"Event",get:function(){return bL}},{key:"EVENT_KEY",get:function(){return l}},{key:"DefaultType",get:function(){return bG}}]),e}(),a.fn[v]=q._jQueryInterface,a.fn[v].Constructor=q,a.fn[v].noConflict=function(){return a.fn[v]=bC,q._jQueryInterface},C="popover",ah="bs.popover",k="."+ah,bY=a.fn[C],a_="bs-popover",b_=new RegExp("(^|\\s)"+a_+"\\S+","g"),b$=d({},q.Default,{placement:"right",trigger:"click",content:"",template:''}),ca=d({},q.DefaultType,{content:"(string|element|function)"}),cb="fade",cc="show",cd=".popover-header",ce=".popover-body",cf={HIDE:"hide"+k,HIDDEN:"hidden"+k,SHOW:"show"+k,SHOWN:"shown"+k,INSERTED:"inserted"+k,CLICK:"click"+k,FOCUSIN:"focusin"+k,FOCUSOUT:"focusout"+k,MOUSEENTER:"mouseenter"+k,MOUSELEAVE:"mouseleave"+k},ae=function(f){var d,e,c;function b(){return f.apply(this,arguments)||this}return e=f,(d=b).prototype=Object.create(e.prototype),(d.prototype.constructor=d).__proto__=e,c=b.prototype,c.isWithContent=function(){return this.getTitle()||this._getContent()},c.addAttachmentClass=function(b){a(this.getTipElement()).addClass(a_+"-"+b)},c.getTipElement=function(){return this.tip=this.tip||a(this.config.template)[0],this.tip},c.setContent=function(){var c=a(this.getTipElement()),b;this.setElementContent(c.find(cd),this.getTitle()),b=this._getContent(),"function"==typeof b&&(b=b.call(this.element)),this.setElementContent(c.find(ce),b),c.removeClass(cb+" "+cc)},c._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},c._cleanTipClass=function(){var c=a(this.getTipElement()),b=c.attr("class").match(b_);null!==b&&0=this._offsets[a]&&("undefined"==typeof this._offsets[a+1]||bOpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox',maxZoom:18,id:'mapbox.streets',accessToken:g}).addTo(a):L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(a);let h=L.marker([b,c]).addTo(a),i=b+','+c+'#map='+d+'/'+b+'/'+c+'&layers=N';h.bindPopup(e+'

Routing via OpenStreetMap

')}}}function q(b,c){a.getJSON('https://api.github.com/repos/'+c+'/tags').done(function(c){let d=c[0];a(b).append(' '+d.name)}).fail(function(d,a,b){let c=a+", "+b;console.log("Request Failed: "+c)})}function g(){a('body').hasClass('searching')?(a('[id=search-query]').blur(),a('body').removeClass('searching'),j()):(a('body').addClass('searching'),a('.search-results').css({opacity:0,visibility:'visible'}).animate({opacity:1},200),a('#search-query').focus())}function s(b,c,d,e){a('body').hasClass('dark')?(a('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500),a('body').removeClass('dark'),b&&(c.disabled=!1,d.disabled=!0),a('.js-dark-toggle i').removeClass('fa-sun').addClass('fa-moon'),localStorage.setItem('dark_mode','0'),e&&location.reload()):(a('body').css({opacity:0,visibility:'visible'}).animate({opacity:1},500),a('body').addClass('dark'),b&&(c.disabled=!0,d.disabled=!1),a('.js-dark-toggle i').removeClass('fa-moon').addClass('fa-sun'),localStorage.setItem('dark_mode','1'),e&&location.reload())}function t(){a('.carousel').each(function(){let b=a('.carousel-item',this);b.css('min-height',0);let c=Math.max.apply(null,b.map(function(){return a(this).outerHeight()}).get());b.css('min-height',c+'px')})}a(document).ready(function(){a('#TableOfContents > ul > li > ul').unwrap().unwrap(),a('#TableOfContents').addClass('nav flex-column'),a('#TableOfContents li').addClass('nav-item'),a('#TableOfContents li a').addClass('nav-link');let f=0;a('body').hasClass('dark')&&(f=1);let g=parseInt(localStorage.getItem('dark_mode')||f);const b=a('link[title=hl-light]').length>0,c=a('link[title=hl-light]')[0],d=a('link[title=hl-dark]')[0],e=a('script[title=mermaid]').length>0;g?(a('body').addClass('dark'),b&&(c.disabled=!0,d.disabled=!1),e&&mermaid.initialize({theme:'dark'}),a('.js-dark-toggle i').removeClass('fa-moon').addClass('fa-sun')):(a('body').removeClass('dark'),b&&(c.disabled=!1,d.disabled=!0),e&&mermaid.initialize({theme:'default'}),a('.js-dark-toggle i').removeClass('fa-sun').addClass('fa-moon')),a('.js-dark-toggle').click(function(a){a.preventDefault(),s(b,c,d,e)})}),a(window).on('load',function(){window.location.hash&&(window.location.hash=="#top"?window.location.hash="":a('.projects-container').length||f());let e=a('body');e.scrollspy({offset:c});let d;a(window).resize(function(){clearTimeout(d),d=setTimeout(n,200)}),a('.projects-container').each(function(g,e){let b=a(e),c=b.closest('section'),d;c.find('.isotope').hasClass('js-layout-row')?d='fitRows':d='masonry',b.imagesLoaded(function(){b.isotope({itemSelector:'.isotope-item',layoutMode:d,masonry:{gutter:20},filter:c.find('.default-project-filter').text()}),c.find('.project-filters a').click(function(){let c=a(this).attr('data-filter');return b.isotope({filter:c}),a(this).removeClass('active').addClass('active').siblings().removeClass('active all'),!1}),window.location.hash&&f()})}),a('.pub-filters-select')&&o(),a('.js-cite-modal').click(function(d){d.preventDefault();let b=a(this).attr('data-filename'),c=a('#modal');c.find('.modal-body code').load(b,function(e,d,c){if(d=='error'){let b="Error: ";a('#modal-error').html(b+c.status+" "+c.statusText)}else a('.js-download-cite').attr('href',b)}),c.modal('show')}),a('.js-copy-cite').click(function(b){b.preventDefault();let a=document.createRange(),c=document.querySelector('#modal .modal-body');a.selectNode(c),window.getSelection().addRange(a);try{document.execCommand('copy')}catch(a){console.log('Error: citation copy failed.')}window.getSelection().removeRange(a)}),p();let b='.js-github-release';a(b).length>0&&q(b,a(b).data('repo')),a('.js-search').click(function(a){a.preventDefault(),g()}),a(document).on('keydown',function(b){b.which==27?a('body').hasClass('searching')&&g():b.which==191&&b.shiftKey==!1&&!a('input,textarea').is(':focus')&&(b.preventDefault(),g())})}),a(window).on('load resize orientationchange',t)}(jQuery)