<script>
  $("#toc").on('click', 'li', function(e) {
  $(this).parent().find('li.toc-active').removeClass('toc-active');
  $(this).addClass('toc-active');

});

</script>

<script>
//TOC toggle animation

$('#toggle').on('click', function(){

if( $('nav').is(':visible') ) {
    $('nav').animate({ 'left': '-353px' }, 'slow', function(){
        $('nav').hide();
    });
    $('body').animate({ 'margin-left': '0' }, 'slow');
}
else {
    $('nav').show();
    $('nav').animate({ 'left': '0px' }, 'slow');
    $('body').animate({ 'margin-left': '298px' }, 'slow');
}

}); </script>

<script>

// Scroll to top button
window.onscroll = function() {scrollFunction()};

function scrollFunction() {
    if (document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) {
        document.getElementById("myBtn").style.display = "block";
    } else {
        document.getElementById("myBtn").style.display = "none";
    }
}

// When the user clicks on the button, scroll to the top of the document
function topFunction() {
    document.body.scrollTop = 0;
    document.documentElement.scrollTop = 0;
}
</script>

<script> /*

$(document).ready(function() {
        $('[id^=toc]').each(function ()
        {
           var currentToc = $(this);
     var url = window.location.href;
          currentToc.wrap("<a href='" + url + "#" + currentToc.attr("id") + "'></a>");
        });

}); */ </script>

<script>

// jQuery Inline Footnotes v1.0.3 // Copyright © 2011 Vesa Vänskä, released under the MIT License.

// Generated by CoffeeScript 1.6.1 (function() {

(function($) {
  $.inlineFootnote = function(el, options) {
    var _this = this;
    this.el = $(el);
    this.el.data("inlineFootnote", this);
    this.initialize = function() {
      this.options = $.extend({}, $.inlineFootnote.defaultOptions, options);
      this.footnoteId = this.el.attr("href").match(/#(.*)/)[1];
      if (this.footnoteId) {
        this.el.mouseenter(this.openBox);
        return $("body").mousemove(this.closeBox);
      }
    };
    this.openBox = function(event) {
      var footnoteContent, linkOffset;
      if (!_this.box) {
        footnoteContent = $("[id='" + _this.footnoteId + "']").children().filter(":not('" + _this.options.hideFromContent + "')");
        linkOffset = _this.el.offset();
        _this.box = $("<div />", {
          id: _this.options.boxId,
          html: footnoteContent.clone().find(_this.options.hideFromContent).remove().end(),
          css: {
            position: "absolute",
            top: linkOffset.top,
            left: linkOffset.left + _this.el.outerWidth()
          }
        }).appendTo("body");
        return _this.positionBox();
      }
    };
    this.closeBox = function(event) {
      if (_this.box) {
        if (_this.isHoveringFootnote(event)) {
          clearTimeout(_this.closeTimeout);
          return _this.closeTimeout = null;
        } else {
          if (!_this.closeTimeout) {
            return _this.closeTimeout = setTimeout((function() {
              _this.box.remove();
              return _this.box = null;
            }), _this.options.hideDelay);
          }
        }
      }
    };
    this.isHoveringFootnote = function(event) {
      return this.box.is(event.target) || $(event.target).closest(this.box).length > 0 || event.target === this.el[0];
    };
    this.positionBox = function() {
      var boxHorizontalPadding, boxLeft, boxWidth, linkLeftOffset, windowWidth;
      boxHorizontalPadding = parseInt(this.box.css("padding-left")) + parseInt(this.box.css("padding-right"));
      linkLeftOffset = this.el.offset().left;
      windowWidth = $(window).width();
      if ((windowWidth / 2) > linkLeftOffset) {
        boxLeft = linkLeftOffset + 20;
        boxWidth = windowWidth - boxLeft - boxHorizontalPadding - this.options.boxMargin * 2;
        if (boxWidth > this.options.maximumBoxWidth) {
          boxWidth = this.options.maximumBoxWidth;
        }
      } else {
        boxWidth = linkLeftOffset - boxHorizontalPadding - this.options.boxMargin * 2;
        if (boxWidth > this.options.maximumBoxWidth) {
          boxWidth = this.options.maximumBoxWidth;
        }
        boxLeft = linkLeftOffset - boxWidth - this.options.boxMargin * 2;
      }
      return this.box.css({
        width: boxWidth,
        left: boxLeft
      });
    };
    return this.initialize();
  };
  $.inlineFootnote.defaultOptions = {
    boxMargin: 20,
    hideDelay: 200,
    hideFromContent: "[rel=footnote]",
    maximumBoxWidth: 500,
    boxId: "footnote_box"
  };
  return $.fn.inlineFootnote = function(options) {
    return this.each(function() {
      return new $.inlineFootnote(this, options);
    });
  };
})(jQuery);

}).call(this); </script>

<script>

$(function() {
  $("[rel=footnote]").inlineFootnote();
  });

</script>

<script>

// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat // // AnchorJS - v4.2.2 - 2020-04-20 // www.bryanbraun.com/anchorjs/ // Copyright © 2020 Bryan Braun; Licensed MIT // // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat !function(A,e){“use strict”;“function”==typeof define&&define.amd?define([],e):“object”==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){“use strict”;return function(A){function f(A){A.icon=A.hasOwnProperty(“icon”)?A.icon:“”,A.visible=A.hasOwnProperty(“visible”)?A.visible:“hover”,A.placement=A.hasOwnProperty(“placement”)?A.placement:“right”,A.ariaLabel=A.hasOwnProperty(“ariaLabel”)?A.ariaLabel:“Anchor”,A.class=A.hasOwnProperty(“class”)?A.class:“”,A.base=A.hasOwnProperty(“base”)?A.base:“”,A.truncate=A.hasOwnProperty(“truncate”)?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty(“titleText”)?A.titleText:“”}function p(A){var e;if(“string”==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error(“The selector provided to AnchorJS was invalid.”);e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!(“ontouchstart”in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),“touch”===(l=this.options.visible)&&(l=this.isTouchDevice()?“always”:“hover”),0===(e=p(A=A||“h2, h3, h4, h5, h6”)).length)return this;for(!function(){if(null!==document.head.querySelector(“style.anchorjs”))return;var A,e=document.createElement(“style”);e.className=“anchorjs”,e.appendChild(document.createTextNode(“”)),void 0===(A=document.head.querySelector(‘,style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(“.anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}”,e.sheet.cssRules.length),e.sheet.insertRule(“:hover>.anchorjs-link,.anchorjs-focus{opacity:1}”,e.sheet.cssRules.length),e.sheet.insertRule(“[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}”,e.sheet.cssRules.length),e.sheet.insertRule(’@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format(“truetype”)}',e.sheet.cssRules.length)}(),t=document.querySelectorAll(“”),i=[].map.call(t,function(A){return A.id}),o=0;o))d.push(o);else{if(e.hasAttribute(“id”))n=e.getAttribute(“id”);else if(e.hasAttribute(“data-anchor-id”))n=e.getAttribute(“data-anchor-id”);else{for(c=r=this.urlify(e.textContent),a=0;void 0!==s&&(c=r+“-”+a),a+=1,-1!==(s=i.indexOf©););s=void 0,i.push©,e.setAttribute(“id”,c),n=c}(h=document.createElement(“a”)).className=“anchorjs-link ”+this.options.class,h.setAttribute(“aria-label”,this.options.ariaLabel),h.setAttribute(“data-anchorjs-icon”,this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector(“base”)?window.location.pathname+window.location.search:“”,u=this.options.base||u,h.href=u+“#”+n,“always”===l&&(h.style.opacity=“1”),“”===this.options.icon&&(h.style.font=“1em/1 anchorjs-icons”,“left”===this.options.placement&&(h.style.lineHeight=“inherit”)),“left”===this.options.placement?(h.style.position=“absolute”,h.style.marginLeft=“-1em”,h.style.paddingRight=“0.5em”,e.insertBefore(h,e.firstChild)):(h.style.paddingLeft=“0.375em”,e.appendChild(h))}for(o=0;o-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n.querySelector(“.anchorjs-link”))&&(-1!==(e=this.elements.indexOf(i))&&this.elements.splice(e,1),i.removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/'/gi,“”).replace(/[& +$,:;=?@“#{}|^~[`%!'<>]./()*\ntbv]/g,”-“).replace(/-{2,}/g,”-“).substring(0,this.options.truncate).replace(/^-+|-+$/gm,”“).toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(” “A.firstChild.className” “).indexOf(” anchorjs-link “),t=A.lastChild&&-1<(” “A.lastChild.className” “).indexOf(” anchorjs-link “);return e||t||!1}}}); // @license-end

</script>
  <script>
anchors.options = {
placement: 'left'

}; anchors.add('h1, h2, h3, h4'); </script>