add configure api method for update config after initialization
authorHakim El Hattab <hakim.elhattab@gmail.com>
Sun, 24 Feb 2013 05:44:20 +0000 (00:44 -0500)
committerHakim El Hattab <hakim.elhattab@gmail.com>
Sun, 24 Feb 2013 05:44:20 +0000 (00:44 -0500)
js/reveal.js
js/reveal.min.js

index 7572569b3abb01bb75731590e2d9cd52dd5674b4..a559090fa5911330f1ab9419f17f60e707ef000d 100644 (file)
@@ -335,40 +335,40 @@ var Reveal = (function(){
        /**
         * Applies the configuration settings from the config object.
         */
-       function configure() {
+       function configure( options ) {
 
-               if( supports3DTransforms === false ) {
-                       config.transition = 'linear';
-               }
+               dom.wrapper.classList.remove( config.transition );
 
-               if( config.controls && dom.controls ) {
-                       dom.controls.style.display = 'block';
-               }
+               // New config options may be passed when this method
+               // is invoked through the API after initialization
+               if( typeof options === 'object' ) extend( config, options );
 
-               if( config.progress && dom.progress ) {
-                       dom.progress.style.display = 'block';
-               }
+               // Force linear transition based on browser capabilities
+               if( supports3DTransforms === false ) config.transition = 'linear';
 
-               if( config.transition !== 'default' ) {
-                       dom.wrapper.classList.add( config.transition );
-               }
+               dom.wrapper.classList.add( config.transition );
 
-               if( config.rtl ) {
-                       dom.wrapper.classList.add( 'rtl' );
-               }
+               dom.controls.style.display = ( config.controls && dom.controls ) ? 'block' : 'none';
+               dom.progress.style.display = ( config.progress && dom.progress ) ? 'block' : 'none';
 
-               if( config.center ) {
-                       dom.wrapper.classList.add( 'center' );
-               }
+               dom.wrapper.classList.toggle( 'rtl', config.rtl );
+               dom.wrapper.classList.toggle( 'center', config.center );
 
                if( config.mouseWheel ) {
                        document.addEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF
                        document.addEventListener( 'mousewheel', onDocumentMouseScroll, false );
                }
+               else {
+                       document.removeEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF
+                       document.removeEventListener( 'mousewheel', onDocumentMouseScroll, false );
+               }
 
                // 3D links
                if( config.rollingLinks ) {
-                       linkify();
+                       enable3DLinks();
+               }
+               else {
+                       disable3DLinks();
                }
 
                // Load the theme in the config, if it's not already loaded
@@ -524,28 +524,47 @@ var Reveal = (function(){
        /**
         * Wrap all links in 3D goodness.
         */
-       function linkify() {
+       function enable3DLinks() {
 
                if( supports3DTransforms && !( 'msPerspective' in document.body.style ) ) {
-                       var nodes = document.querySelectorAll( SLIDES_SELECTOR + ' a:not(.image)' );
+                       var anchors = document.querySelectorAll( SLIDES_SELECTOR + ' a:not(.image)' );
 
-                       for( var i = 0, len = nodes.length; i < len; i++ ) {
-                               var node = nodes[i];
+                       for( var i = 0, len = anchors.length; i < len; i++ ) {
+                               var anchor = anchors[i];
 
-                               if( node.textContent && !node.querySelector( '*' ) && ( !node.className || !node.classList.contains( node, 'roll' ) ) ) {
+                               if( anchor.textContent && !anchor.querySelector( '*' ) && ( !anchor.className || !anchor.classList.contains( anchor, 'roll' ) ) ) {
                                        var span = document.createElement('span');
-                                       span.setAttribute('data-title', node.text);
-                                       span.innerHTML = node.innerHTML;
+                                       span.setAttribute('data-title', anchor.text);
+                                       span.innerHTML = anchor.innerHTML;
 
-                                       node.classList.add( 'roll' );
-                                       node.innerHTML = '';
-                                       node.appendChild(span);
+                                       anchor.classList.add( 'roll' );
+                                       anchor.innerHTML = '';
+                                       anchor.appendChild(span);
                                }
                        }
                }
 
        }
 
+       /**
+        * Unwrap all 3D links.
+        */
+       function disable3DLinks() {
+
+               var anchors = document.querySelectorAll( SLIDES_SELECTOR + ' a.roll' );
+
+               for( var i = 0, len = anchors.length; i < len; i++ ) {
+                       var anchor = anchors[i];
+                       var span = anchor.querySelector( 'span' );
+
+                       if( span ) {
+                               anchor.classList.remove( 'roll' );
+                               anchor.innerHTML = span.innerHTML;
+                       }
+               }
+
+       }
+
        /**
         * Applies JavaScript-controlled layout rules to the
         * presentation.
@@ -602,31 +621,30 @@ var Reveal = (function(){
                                dom.slides.style.transform = transform;
                        }
 
-                       if( config.center ) {
-
-                               // Select all slides, vertical and horizontal
-                               var slides = toArray( document.querySelectorAll( SLIDES_SELECTOR ) );
-
-                               // Determine the minimum top offset for slides
-                               var minTop = -slideHeight / 2;
+                       // Select all slides, vertical and horizontal
+                       var slides = toArray( document.querySelectorAll( SLIDES_SELECTOR ) );
 
-                               for( var i = 0, len = slides.length; i < len; i++ ) {
-                                       var slide = slides[ i ];
+                       for( var i = 0, len = slides.length; i < len; i++ ) {
+                               var slide = slides[ i ];
 
-                                       // Don't bother updating invisible slides
-                                       if( slide.style.display === 'none' ) {
-                                               continue;
-                                       }
+                               // Don't bother updating invisible slides
+                               if( slide.style.display === 'none' ) {
+                                       continue;
+                               }
 
+                               if( config.center ) {
                                        // Vertical stacks are not centered since their section
                                        // children will be
                                        if( slide.classList.contains( 'stack' ) ) {
                                                slide.style.top = 0;
                                        }
                                        else {
-                                               slide.style.top = Math.max( - ( slide.offsetHeight / 2 ) - 20, minTop ) + 'px';
+                                               slide.style.top = Math.max( - ( slide.offsetHeight / 2 ) - 20, -slideHeight / 2 ) + 'px';
                                        }
                                }
+                               else {
+                                       slide.style.top = '';
+                               }
 
                        }
 
@@ -1812,6 +1830,7 @@ var Reveal = (function(){
 
        return {
                initialize: initialize,
+               configure: configure,
 
                // Navigation methods
                slide: slide,
index 8023e69967a82abf0afe1e49e4ba4bbd7ffd7295..e1fb8aac583fa0d91ca69540a82b45254228dffb 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * reveal.js 2.3 (2013-02-13, 18:00)
+ * reveal.js 2.3 (2013-02-24, 00:42)
  * http://lab.hakim.se/reveal-js
  * MIT licensed
  *
  * Copyright (C) 2013 Hakim El Hattab, http://hakim.se
  */
-var Reveal=function(){"use strict";function E(e){if(!d&&!p){document.body.setAttribute("class","no-transforms");return}window.addEventListener("load",H,!1),A(i,e),x(),T()}function S(){h.theme=document.querySelector("#theme"),h.wrapper=document.querySelector(".reveal"),h.slides=document.querySelector(".reveal .slides");if(!h.wrapper.querySelector(".progress")&&i.progress){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",h.wrapper.appendChild(e)}if(!h.wrapper.querySelector(".controls")&&i.controls){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',h.wrapper.appendChild(t)}if(!h.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),h.wrapper.appendChild(n)}if(!h.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),h.wrapper.appendChild(r)}h.progress=document.querySelector(".reveal .progress"),h.progressbar=document.querySelector(".reveal .progress span"),i.controls&&(h.controls=document.querySelector(".reveal .controls"),h.controlsLeft=O(document.querySelectorAll(".navigate-left")),h.controlsRight=O(document.querySelectorAll(".navigate-right")),h.controlsUp=O(document.querySelectorAll(".navigate-up")),h.controlsDown=O(document.querySelectorAll(".navigate-down")),h.controlsPrev=O(document.querySelectorAll(".navigate-prev")),h.controlsNext=O(document.querySelectorAll(".navigate-next")))}function x(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",_,!1),window.addEventListener("orientationchange",_,!1))}function T(){function o(){t.length&&head.js.apply(null,t),N()}var e=[],t=[];for(var n=0,r=i.dependencies.length;n<r;n++){var s=i.dependencies[n];if(!s.condition||s.condition())s.async?t.push(s.src):e.push(s.src),typeof s.callback=="function"&&head.ready(s.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],s.callback)}e.length?(head.ready(o),head.js.apply(null,e)):o()}function N(){S(),k(),C(),H(),Y(),rt(),setTimeout(function(){D("ready",{indexh:o,indexv:u,currentSlide:f})},1)}function C(){p===!1&&(i.transition="linear"),i.controls&&h.controls&&(h.controls.style.display="block"),i.progress&&h.progress&&(h.progress.style.display="block"),i.transition!=="default"&&h.wrapper.classList.add(i.transition),i.rtl&&h.wrapper.classList.add("rtl"),i.center&&h.wrapper.classList.add("center"),i.mouseWheel&&(document.addEventListener("DOMMouseScroll",vt,!1),document.addEventListener("mousewheel",vt,!1)),i.rollingLinks&&P();if(i.theme&&h.theme){var e=h.theme.getAttribute("href"),t=/[^\/]*?(?=\.css)/,n=e.match(t)[0];i.theme!==n&&(e=e.replace(t,i.theme),h.theme.setAttribute("href",e))}}function k(){window.addEventListener("hashchange",xt,!1),window.addEventListener("resize",Tt,!1),i.touch&&(document.addEventListener("touchstart",ht,!1),document.addEventListener("touchmove",pt,!1),document.addEventListener("touchend",dt,!1)),i.keyboard&&document.addEventListener("keydown",ct,!1),i.progress&&h.progress&&h.progress.addEventListener("click",mt,!1);if(i.controls&&h.controls){var e="ontouchstart"in window?"touchstart":"click";h.controlsLeft.forEach(function(t){t.addEventListener(e,gt,!1)}),h.controlsRight.forEach(function(t){t.addEventListener(e,yt,!1)}),h.controlsUp.forEach(function(t){t.addEventListener(e,bt,!1)}),h.controlsDown.forEach(function(t){t.addEventListener(e,wt,!1)}),h.controlsPrev.forEach(function(t){t.addEventListener(e,Et,!1)}),h.controlsNext.forEach(function(t){t.addEventListener(e,St,!1)})}}function L(){document.removeEventListener("keydown",ct,!1),window.removeEventListener("hashchange",xt,!1),window.removeEventListener("resize",Tt,!1),i.touch&&(document.removeEventListener("touchstart",ht,!1),document.removeEventListener("touchmove",pt,!1),document.removeEventListener("touchend",dt,!1)),i.progress&&h.progress&&h.progress.removeEventListener("click",mt,!1);if(i.controls&&h.controls){var e="ontouchstart"in window&&window.ontouchstart!=null?"touchstart":"click";h.controlsLeft.forEach(function(t){t.removeEventListener(e,gt,!1)}),h.controlsRight.forEach(function(t){t.removeEventListener(e,yt,!1)}),h.controlsUp.forEach(function(t){t.removeEventListener(e,bt,!1)}),h.controlsDown.forEach(function(t){t.removeEventListener(e,wt,!1)}),h.controlsPrev.forEach(function(t){t.removeEventListener(e,Et,!1)}),h.controlsNext.forEach(function(t){t.removeEventListener(e,St,!1)})}}function A(e,t){for(var n in t)e[n]=t[n]}function O(e){return Array.prototype.slice.call(e)}function M(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function _(){window.orientation===0?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function D(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),A(n,t),h.wrapper.dispatchEvent(n)}function P(){if(p&&!("msPerspective"in document.body.style)){var t=document.querySelectorAll(e+" a:not(.image)");for(var n=0,r=t.length;n<r;n++){var i=t[n];if(i.textContent&&!i.querySelector("*")&&(!i.className||!i.classList.contains(i,"roll"))){var s=document.createElement("span");s.setAttribute("data-title",i.text),s.innerHTML=i.innerHTML,i.classList.add("roll"),i.innerHTML="",i.appendChild(s)}}}}function H(){if(h.wrapper){var t=h.wrapper.offsetWidth,n=h.wrapper.offsetHeight;t-=n*i.margin,n-=n*i.margin;var r=i.width,s=i.height;typeof r=="string"&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),typeof s=="string"&&/%$/.test(s)&&(s=parseInt(s,10)/100*n),h.slides.style.width=r+"px",h.slides.style.height=s+"px",c=Math.min(t/r,n/s),c=Math.max(c,i.minScale),c=Math.min(c,i.maxScale);if(typeof h.slides.style.zoom!="undefined"&&!navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi))h.slides.style.zoom=c;else{var o="translate(-50%, -50%) scale("+c+") translate(50%, 50%)";h.slides.style.WebkitTransform=o,h.slides.style.MozTransform=o,h.slides.style.msTransform=o,h.slides.style.OTransform=o,h.slides.style.transform=o}if(i.center){var u=O(document.querySelectorAll(e)),a=-s/2;for(var f=0,l=u.length;f<l;f++){var p=u[f];if(p.style.display==="none")continue;p.classList.contains("stack")?p.style.top=0:p.style.top=Math.max(-(p.offsetHeight/2)-20,a)+"px"}}}}function B(e,t){e&&e.setAttribute("data-previous-indexv",t||0)}function j(e){return e&&e.classList.contains("stack")?parseInt(e.getAttribute("data-previous-indexv")||0,10):0}function F(){if(i.overview){it();var e=h.wrapper.classList.contains("overview");h.wrapper.classList.add("overview"),h.wrapper.classList.remove("exit-overview"),clearTimeout(y),clearTimeout(b),y=setTimeout(function(){var n=document.querySelectorAll(t);for(var r=0,i=n.length;r<i;r++){var s=n[r],a="translateZ(-2500px) translate("+(r-o)*105+"%, 0%)";s.setAttribute("data-index-h",r),s.style.display="block",s.style.WebkitTransform=a,s.style.MozTransform=a,s.style.msTransform=a,s.style.OTransform=a,s.style.transform=a;if(s.classList.contains("stack")){var l=s.querySelectorAll("section");for(var c=0,h=l.length;c<h;c++){var p=r===o?u:j(s),d=l[c],v="translate(0%, "+(c-p)*105+"%)";d.setAttribute("data-index-h",r),d.setAttribute("data-index-v",c),d.style.display="block",d.style.WebkitTransform=v,d.style.MozTransform=v,d.style.msTransform=v,d.style.OTransform=v,d.style.transform=v,d.addEventListener("click",Nt,!0)}}else s.addEventListener("click",Nt,!0)}H(),e||D("overviewshown",{indexh:o,indexv:u,currentSlide:f})},10)}}function I(){if(i.overview){clearTimeout(y),clearTimeout(b),h.wrapper.classList.remove("overview"),h.wrapper.classList.add("exit-overview"),b=setTimeout(function(){h.wrapper.classList.remove("exit-overview")},10);var t=O(document.querySelectorAll(e));for(var n=0,r=t.length;n<r;n++){var s=t[n];s.style.display="",s.style.WebkitTransform="",s.style.MozTransform="",s.style.msTransform="",s.style.OTransform="",s.style.transform="",s.removeEventListener("click",Nt,!0)}$(o,u),rt(),D("overviewhidden",{indexh:o,indexv:u,currentSlide:f})}}function q(e){typeof e=="boolean"?e?F():I():R()?I():F()}function R(){return h.wrapper.classList.contains("overview")}function U(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function z(){it(),h.wrapper.classList.add("paused")}function W(){rt(),h.wrapper.classList.remove("paused")}function X(){V()?W():z()}function V(){return h.wrapper.classList.contains("paused")}function $(e,i,s){a=f;var c=document.querySelectorAll(t);i===undefined&&(i=j(c[e])),a&&a.parentNode&&a.parentNode.classList.contains("stack")&&B(a.parentNode,u);var h=l.concat();l.length=0;var p=o,d=u;o=J(t,e===undefined?o:e),u=J(n,i===undefined?u:i),H();e:for(var v=0,m=l.length;v<m;v++){for(var g=0;g<h.length;g++)if(h[g]===l[v]){h.splice(g,1);continue e}document.documentElement.classList.add(l[v]),D(l[v])}while(h.length)document.documentElement.classList.remove(h.pop());R()&&F(),Z(1500);var y=c[o],b=y.querySelectorAll("section");f=b[u]||y;if(typeof s!="undefined"){var w=f.querySelectorAll(".fragment");O(w).forEach(function(e,t){t<s?e.classList.add("visible"):e.classList.remove("visible")})}o!==p||u!==d?D("slidechanged",{indexh:o,indexv:u,previousSlide:a,currentSlide:f}):a=null,a&&(a.classList.remove("present"),document.querySelector(r).classList.contains("present")&&setTimeout(function(){var e=O(document.querySelectorAll(t+".stack")),n;for(n in e)e[n]&&B(e[n],0)},0)),Q(),K()}function J(e,t){var n=O(document.querySelectorAll(e)),r=n.length;if(r){i.loop&&(t%=r,t<0&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;o<r;o++){var u=n[o];if(R()===!1){var a=Math.abs((t-o)%(r-3))||0;u.style.display=a>3?"none":"block"}n[o].classList.remove("past"),n[o].classList.remove("present"),n[o].classList.remove("future"),o<t?n[o].classList.add("past"):o>t&&n[o].classList.add("future"),u.querySelector("section")&&n[o].classList.add("stack")}n[t].classList.add("present");var f=n[t].getAttribute("data-state");f&&(l=l.concat(f.split(" ")));var c=n[t].getAttribute("data-autoslide");c?s=parseInt(c,10):s=i.autoSlide}else t=0;return t}function K(){if(i.progress&&h.progress){var n=O(document.querySelectorAll(t)),r=document.querySelectorAll(e+":not(.stack)").length,s=0;e:for(var o=0;o<n.length;o++){var u=n[o],a=O(u.querySelectorAll("section"));for(var f=0;f<a.length;f++){if(a[f].classList.contains("present"))break e;s++}if(u.classList.contains("present"))break;u.classList.contains("stack")===!1&&s++}h.progressbar.style.width=s/(r-1)*window.innerWidth+"px"}}function Q(){if(i.controls&&h.controls){var e=G();h.controlsLeft.concat(h.controlsRight).concat(h.controlsUp).concat(h.controlsDown).concat(h.controlsPrev).concat(h.controlsNext).forEach(function(e){e.classList.remove("enabled")}),e.left&&h.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&h.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&h.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&h.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&h.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&h.controlsNext.forEach(function(e){e.classList.add("enabled")})}}function G(){var e=document.querySelectorAll(t),r=document.querySelectorAll(n);return{left:o>0,right:o<e.length-1,up:u>0,down:u<r.length-1}}function Y(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var i=Reveal.getIndices(r);$(i.h,i.v)}else $(o,u)}else{var s=parseInt(t[0],10)||0,a=parseInt(t[1],10)||0;$(s,a)}}function Z(e){if(i.history){clearTimeout(g);if(typeof e=="number")g=setTimeout(Z,e);else{var t="/";if(f&&typeof f.getAttribute("id")=="string")t="/"+f.getAttribute("id");else{if(o>0||u>0)t+=o;u>0&&(t+="/"+u)}window.location.hash=t}}}function et(e){var n=o,r=u;if(e){var i=!!e.parentNode.nodeName.match(/section/gi),s=i?e.parentNode:e,a=O(document.querySelectorAll(t));n=Math.max(a.indexOf(s),0),i&&(r=Math.max(O(e.parentNode.querySelectorAll("section")).indexOf(e),0))}return{h:n,v:r}}function tt(){if(document.querySelector(n+".present")){var e=document.querySelectorAll(n+".present .fragment:not(.visible)");if(e.length)return e[0].classList.add("visible"),D("fragmentshown",{fragment:e[0]}),!0}else{var r=document.querySelectorAll(t+".present .fragment:not(.visible)");if(r.length)return r[0].classList.add("visible"),D("fragmentshown",{fragment:r[0]}),!0}return!1}function nt(){if(document.querySelector(n+".present")){var e=document.querySelectorAll(n+".present .fragment.visible");if(e.length)return e[e.length-1].classList.remove("visible"),D("fragmenthidden",{fragment:e[e.length-1]}),!0}else{var r=document.querySelectorAll(t+".present .fragment.visible");if(r.length)return r[r.length-1].classList.remove("visible"),D("fragmenthidden",{fragment:r[r.length-1]}),!0}return!1}function rt(){clearTimeout(m),s&&!V()&&!R()&&(m=setTimeout(lt,s))}function it(){clearTimeout(m)}function st(){(G().left&&R()||nt()===!1)&&$(o-1)}function ot(){(G().right&&R()||tt()===!1)&&$(o+1)}function ut(){(G().up&&R()||nt()===!1)&&$(o,u-1)}function at(){(G().down&&R()||tt()===!1)&&$(o,u+1)}function ft(){if(nt()===!1)if(G().up)ut();else{var e=document.querySelector(t+".past:nth-child("+o+")");e&&(u=e.querySelectorAll("section").length+1||undefined,o--,$())}}function lt(){tt()===!1&&(G().down?at():ot()),rt()}function ct(e){var t=document.activeElement,n=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&document.activeElement.contentEditable==="inherit");if(n||e.shiftKey||e.altKey||e.ctrlKey||e.metaKey)return;var r=!0;if(V()&&[66,190,191].indexOf(e.keyCode)===-1)return!1;switch(e.keyCode){case 80:case 33:ft();break;case 78:case 34:lt();break;case 72:case 37:st();break;case 76:case 39:ot();break;case 75:case 38:ut();break;case 74:case 40:at();break;case 36:$(0);break;case 35:$(Number.MAX_VALUE);break;case 32:R()?I():lt();break;case 13:R()?I():r=!1;break;case 66:case 190:case 191:X();break;case 70:U();break;default:r=!1}r?e.preventDefault():e.keyCode===27&&p&&(q(),e.preventDefault()),rt()}function ht(e){w.startX=e.touches[0].clientX,w.startY=e.touches[0].clientY,w.startCount=e.touches.length,e.touches.length===2&&i.overview&&(w.startSpan=M({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:w.startX,y:w.startY}))}function pt(e){if(!w.handled){var t=e.touches[0].clientX,n=e.touches[0].clientY;if(e.touches.length===2&&w.startCount===2&&i.overview){var r=M({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:w.startX,y:w.startY});Math.abs(w.startSpan-r)>w.threshold&&(w.handled=!0,r<w.startSpan?F():I()),e.preventDefault()}else if(e.touches.length===1&&w.startCount!==2){var s=t-w.startX,o=n-w.startY;s>w.threshold&&Math.abs(s)>Math.abs(o)?(w.handled=!0,st()):s<-w.threshold&&Math.abs(s)>Math.abs(o)?(w.handled=!0,ot()):o>w.threshold?(w.handled=!0,ut()):o<-w.threshold&&(w.handled=!0,at()),e.preventDefault()}}else navigator.userAgent.match(/android/gi)&&e.preventDefault()}function dt(e){w.handled=!1}function vt(e){clearTimeout(v),v=setTimeout(function(){var t=e.detail||-e.wheelDelta;t>0?lt():ft()},100)}function mt(e){e.preventDefault();var n=O(document.querySelectorAll(t)).length,r=Math.floor(e.clientX/h.wrapper.offsetWidth*n);$(r)}function gt(e){e.preventDefault(),st()}function yt(e){e.preventDefault(),ot()}function bt(e){e.preventDefault(),ut()}function wt(e){e.preventDefault(),at()}function Et(e){e.preventDefault(),ft()}function St(e){e.preventDefault(),lt()}function xt(e){Y()}function Tt(e){H()}function Nt(e){if(R()){e.preventDefault(),I();var t=e.target;while(t&&!t.nodeName.match(/section/gi))t=t.parentNode;if(t.nodeName.match(/section/gi)){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);$(n,r)}}}var e=".reveal .slides section",t=".reveal .slides>section",n=".reveal .slides>section.present>section",r=".reveal .slides>section:first-child",i={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!0,theme:null,transition:"default",dependencies:[]},s=i.autoSlide,o=0,u=0,a,f,l=[],c=1,h={},p="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,v=0,m=0,g=0,y=0,b=0,w={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:E,slide:$,left:st,right:ot,up:ut,down:at,prev:ft,next:lt,prevFragment:nt,nextFragment:tt,navigateTo:$,navigateLeft:st,navigateRight:ot,navigateUp:ut,navigateDown:at,navigatePrev:ft,navigateNext:lt,layout:H,toggleOverview:q,togglePause:X,isOverview:R,isPaused:V,addEventListeners:k,removeEventListeners:L,getIndices:et,getSlide:function(e,n){var r=document.querySelectorAll(t)[e],i=r&&r.querySelectorAll("section");return typeof n!="undefined"?i?i[n]:undefined:r},getPreviousSlide:function(){return a},getCurrentSlide:function(){return f},getScale:function(){return c},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return document.querySelector(e+".past")==null?!0:!1},isLastSlide:function(){return f&&f.classList.contains(".stack")?f.querySelector(e+".future")==null?!0:!1:document.querySelector(e+".future")==null?!0:!1},addEventListener:function(e,t,n){"addEventListener"in window&&(h.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(h.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}();
\ No newline at end of file
+var Reveal=function(){"use strict";function E(e){if(!d&&!p){document.body.setAttribute("class","no-transforms");return}window.addEventListener("load",B,!1),A(i,e),x(),T()}function S(){h.theme=document.querySelector("#theme"),h.wrapper=document.querySelector(".reveal"),h.slides=document.querySelector(".reveal .slides");if(!h.wrapper.querySelector(".progress")&&i.progress){var e=document.createElement("div");e.classList.add("progress"),e.innerHTML="<span></span>",h.wrapper.appendChild(e)}if(!h.wrapper.querySelector(".controls")&&i.controls){var t=document.createElement("aside");t.classList.add("controls"),t.innerHTML='<div class="navigate-left"></div><div class="navigate-right"></div><div class="navigate-up"></div><div class="navigate-down"></div>',h.wrapper.appendChild(t)}if(!h.wrapper.querySelector(".state-background")){var n=document.createElement("div");n.classList.add("state-background"),h.wrapper.appendChild(n)}if(!h.wrapper.querySelector(".pause-overlay")){var r=document.createElement("div");r.classList.add("pause-overlay"),h.wrapper.appendChild(r)}h.progress=document.querySelector(".reveal .progress"),h.progressbar=document.querySelector(".reveal .progress span"),i.controls&&(h.controls=document.querySelector(".reveal .controls"),h.controlsLeft=O(document.querySelectorAll(".navigate-left")),h.controlsRight=O(document.querySelectorAll(".navigate-right")),h.controlsUp=O(document.querySelectorAll(".navigate-up")),h.controlsDown=O(document.querySelectorAll(".navigate-down")),h.controlsPrev=O(document.querySelectorAll(".navigate-prev")),h.controlsNext=O(document.querySelectorAll(".navigate-next")))}function x(){/iphone|ipod|android/gi.test(navigator.userAgent)&&!/crios/gi.test(navigator.userAgent)&&(window.addEventListener("load",_,!1),window.addEventListener("orientationchange",_,!1))}function T(){function o(){t.length&&head.js.apply(null,t),N()}var e=[],t=[];for(var n=0,r=i.dependencies.length;n<r;n++){var s=i.dependencies[n];if(!s.condition||s.condition())s.async?t.push(s.src):e.push(s.src),typeof s.callback=="function"&&head.ready(s.src.match(/([\w\d_\-]*)\.?js$|[^\\\/]*$/i)[0],s.callback)}e.length?(head.ready(o),head.js.apply(null,e)):o()}function N(){S(),k(),C(),B(),Z(),it(),setTimeout(function(){D("ready",{indexh:o,indexv:u,currentSlide:f})},1)}function C(e){h.wrapper.classList.remove(i.transition),typeof e=="object"&&A(i,e),p===!1&&(i.transition="linear"),h.wrapper.classList.add(i.transition),h.controls.style.display=i.controls&&h.controls?"block":"none",h.progress.style.display=i.progress&&h.progress?"block":"none",h.wrapper.classList.toggle("rtl",i.rtl),h.wrapper.classList.toggle("center",i.center),i.mouseWheel?(document.addEventListener("DOMMouseScroll",mt,!1),document.addEventListener("mousewheel",mt,!1)):(document.removeEventListener("DOMMouseScroll",mt,!1),document.removeEventListener("mousewheel",mt,!1)),i.rollingLinks?P():H();if(i.theme&&h.theme){var t=h.theme.getAttribute("href"),n=/[^\/]*?(?=\.css)/,r=t.match(n)[0];i.theme!==r&&(t=t.replace(n,i.theme),h.theme.setAttribute("href",t))}}function k(){window.addEventListener("hashchange",Tt,!1),window.addEventListener("resize",Nt,!1),i.touch&&(document.addEventListener("touchstart",pt,!1),document.addEventListener("touchmove",dt,!1),document.addEventListener("touchend",vt,!1)),i.keyboard&&document.addEventListener("keydown",ht,!1),i.progress&&h.progress&&h.progress.addEventListener("click",gt,!1);if(i.controls&&h.controls){var e="ontouchstart"in window&&window.ontouchstart!=null?"touchstart":"click";h.controlsLeft.forEach(function(t){t.addEventListener(e,yt,!1)}),h.controlsRight.forEach(function(t){t.addEventListener(e,bt,!1)}),h.controlsUp.forEach(function(t){t.addEventListener(e,wt,!1)}),h.controlsDown.forEach(function(t){t.addEventListener(e,Et,!1)}),h.controlsPrev.forEach(function(t){t.addEventListener(e,St,!1)}),h.controlsNext.forEach(function(t){t.addEventListener(e,xt,!1)})}}function L(){document.removeEventListener("keydown",ht,!1),window.removeEventListener("hashchange",Tt,!1),window.removeEventListener("resize",Nt,!1),i.touch&&(document.removeEventListener("touchstart",pt,!1),document.removeEventListener("touchmove",dt,!1),document.removeEventListener("touchend",vt,!1)),i.progress&&h.progress&&h.progress.removeEventListener("click",gt,!1);if(i.controls&&h.controls){var e="ontouchstart"in window&&window.ontouchstart!=null?"touchstart":"click";h.controlsLeft.forEach(function(t){t.removeEventListener(e,yt,!1)}),h.controlsRight.forEach(function(t){t.removeEventListener(e,bt,!1)}),h.controlsUp.forEach(function(t){t.removeEventListener(e,wt,!1)}),h.controlsDown.forEach(function(t){t.removeEventListener(e,Et,!1)}),h.controlsPrev.forEach(function(t){t.removeEventListener(e,St,!1)}),h.controlsNext.forEach(function(t){t.removeEventListener(e,xt,!1)})}}function A(e,t){for(var n in t)e[n]=t[n]}function O(e){return Array.prototype.slice.call(e)}function M(e,t){var n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function _(){window.orientation===0?(document.documentElement.style.overflow="scroll",document.body.style.height="120%"):(document.documentElement.style.overflow="",document.body.style.height="100%"),setTimeout(function(){window.scrollTo(0,1)},10)}function D(e,t){var n=document.createEvent("HTMLEvents",1,2);n.initEvent(e,!0,!0),A(n,t),h.wrapper.dispatchEvent(n)}function P(){if(p&&!("msPerspective"in document.body.style)){var t=document.querySelectorAll(e+" a:not(.image)");for(var n=0,r=t.length;n<r;n++){var i=t[n];if(i.textContent&&!i.querySelector("*")&&(!i.className||!i.classList.contains(i,"roll"))){var s=document.createElement("span");s.setAttribute("data-title",i.text),s.innerHTML=i.innerHTML,i.classList.add("roll"),i.innerHTML="",i.appendChild(s)}}}}function H(){var t=document.querySelectorAll(e+" a.roll");for(var n=0,r=t.length;n<r;n++){var i=t[n],s=i.querySelector("span");s&&(i.classList.remove("roll"),i.innerHTML=s.innerHTML)}}function B(){if(h.wrapper){var t=h.wrapper.offsetWidth,n=h.wrapper.offsetHeight;t-=n*i.margin,n-=n*i.margin;var r=i.width,s=i.height;typeof r=="string"&&/%$/.test(r)&&(r=parseInt(r,10)/100*t),typeof s=="string"&&/%$/.test(s)&&(s=parseInt(s,10)/100*n),h.slides.style.width=r+"px",h.slides.style.height=s+"px",c=Math.min(t/r,n/s),c=Math.max(c,i.minScale),c=Math.min(c,i.maxScale);if(typeof h.slides.style.zoom!="undefined"&&!navigator.userAgent.match(/(iphone|ipod|ipad|android)/gi))h.slides.style.zoom=c;else{var o="translate(-50%, -50%) scale("+c+") translate(50%, 50%)";h.slides.style.WebkitTransform=o,h.slides.style.MozTransform=o,h.slides.style.msTransform=o,h.slides.style.OTransform=o,h.slides.style.transform=o}var u=O(document.querySelectorAll(e));for(var a=0,f=u.length;a<f;a++){var l=u[a];if(l.style.display==="none")continue;i.center?l.classList.contains("stack")?l.style.top=0:l.style.top=Math.max(-(l.offsetHeight/2)-20,-s/2)+"px":l.style.top=""}}}function j(e,t){e&&e.setAttribute("data-previous-indexv",t||0)}function F(e){return e&&e.classList.contains("stack")?parseInt(e.getAttribute("data-previous-indexv")||0,10):0}function I(){if(i.overview){st();var e=h.wrapper.classList.contains("overview");h.wrapper.classList.add("overview"),h.wrapper.classList.remove("exit-overview"),clearTimeout(y),clearTimeout(b),y=setTimeout(function(){var n=document.querySelectorAll(t);for(var r=0,i=n.length;r<i;r++){var s=n[r],a="translateZ(-2500px) translate("+(r-o)*105+"%, 0%)";s.setAttribute("data-index-h",r),s.style.display="block",s.style.WebkitTransform=a,s.style.MozTransform=a,s.style.msTransform=a,s.style.OTransform=a,s.style.transform=a;if(s.classList.contains("stack")){var l=s.querySelectorAll("section");for(var c=0,h=l.length;c<h;c++){var p=r===o?u:F(s),d=l[c],v="translate(0%, "+(c-p)*105+"%)";d.setAttribute("data-index-h",r),d.setAttribute("data-index-v",c),d.style.display="block",d.style.WebkitTransform=v,d.style.MozTransform=v,d.style.msTransform=v,d.style.OTransform=v,d.style.transform=v,d.addEventListener("click",Ct,!0)}}else s.addEventListener("click",Ct,!0)}B(),e||D("overviewshown",{indexh:o,indexv:u,currentSlide:f})},10)}}function q(){if(i.overview){clearTimeout(y),clearTimeout(b),h.wrapper.classList.remove("overview"),h.wrapper.classList.add("exit-overview"),b=setTimeout(function(){h.wrapper.classList.remove("exit-overview")},10);var t=O(document.querySelectorAll(e));for(var n=0,r=t.length;n<r;n++){var s=t[n];s.style.display="",s.style.WebkitTransform="",s.style.MozTransform="",s.style.msTransform="",s.style.OTransform="",s.style.transform="",s.removeEventListener("click",Ct,!0)}J(o,u),it(),D("overviewhidden",{indexh:o,indexv:u,currentSlide:f})}}function R(e){typeof e=="boolean"?e?I():q():U()?q():I()}function U(){return h.wrapper.classList.contains("overview")}function z(){var e=document.body,t=e.requestFullScreen||e.webkitRequestFullScreen||e.mozRequestFullScreen||e.msRequestFullScreen;t&&t.apply(e)}function W(){st(),h.wrapper.classList.add("paused")}function X(){it(),h.wrapper.classList.remove("paused")}function V(){$()?X():W()}function $(){return h.wrapper.classList.contains("paused")}function J(e,i,s){a=f;var c=document.querySelectorAll(t);i===undefined&&(i=F(c[e])),a&&a.parentNode&&a.parentNode.classList.contains("stack")&&j(a.parentNode,u);var h=l.concat();l.length=0;var p=o,d=u;o=K(t,e===undefined?o:e),u=K(n,i===undefined?u:i),B();e:for(var v=0,m=l.length;v<m;v++){for(var g=0;g<h.length;g++)if(h[g]===l[v]){h.splice(g,1);continue e}document.documentElement.classList.add(l[v]),D(l[v])}while(h.length)document.documentElement.classList.remove(h.pop());U()&&I(),et(1500);var y=c[o],b=y.querySelectorAll("section");f=b[u]||y;if(typeof s!="undefined"){var w=f.querySelectorAll(".fragment");O(w).forEach(function(e,t){t<s?e.classList.add("visible"):e.classList.remove("visible")})}o!==p||u!==d?D("slidechanged",{indexh:o,indexv:u,previousSlide:a,currentSlide:f}):a=null,a&&(a.classList.remove("present"),document.querySelector(r).classList.contains("present")&&setTimeout(function(){var e=O(document.querySelectorAll(t+".stack")),n;for(n in e)e[n]&&j(e[n],0)},0)),G(),Q()}function K(e,t){var n=O(document.querySelectorAll(e)),r=n.length;if(r){i.loop&&(t%=r,t<0&&(t=r+t)),t=Math.max(Math.min(t,r-1),0);for(var o=0;o<r;o++){var u=n[o];if(U()===!1){var a=Math.abs((t-o)%(r-3))||0;u.style.display=a>3?"none":"block"}n[o].classList.remove("past"),n[o].classList.remove("present"),n[o].classList.remove("future"),o<t?n[o].classList.add("past"):o>t&&n[o].classList.add("future"),u.querySelector("section")&&n[o].classList.add("stack")}n[t].classList.add("present");var f=n[t].getAttribute("data-state");f&&(l=l.concat(f.split(" ")));var c=n[t].getAttribute("data-autoslide");c?s=parseInt(c,10):s=i.autoSlide}else t=0;return t}function Q(){if(i.progress&&h.progress){var n=O(document.querySelectorAll(t)),r=document.querySelectorAll(e+":not(.stack)").length,s=0;e:for(var o=0;o<n.length;o++){var u=n[o],a=O(u.querySelectorAll("section"));for(var f=0;f<a.length;f++){if(a[f].classList.contains("present"))break e;s++}if(u.classList.contains("present"))break;u.classList.contains("stack")===!1&&s++}h.progressbar.style.width=s/(r-1)*window.innerWidth+"px"}}function G(){if(i.controls&&h.controls){var e=Y();h.controlsLeft.concat(h.controlsRight).concat(h.controlsUp).concat(h.controlsDown).concat(h.controlsPrev).concat(h.controlsNext).forEach(function(e){e.classList.remove("enabled")}),e.left&&h.controlsLeft.forEach(function(e){e.classList.add("enabled")}),e.right&&h.controlsRight.forEach(function(e){e.classList.add("enabled")}),e.up&&h.controlsUp.forEach(function(e){e.classList.add("enabled")}),e.down&&h.controlsDown.forEach(function(e){e.classList.add("enabled")}),(e.left||e.up)&&h.controlsPrev.forEach(function(e){e.classList.add("enabled")}),(e.right||e.down)&&h.controlsNext.forEach(function(e){e.classList.add("enabled")})}}function Y(){var e=document.querySelectorAll(t),r=document.querySelectorAll(n);return{left:o>0,right:o<e.length-1,up:u>0,down:u<r.length-1}}function Z(){var e=window.location.hash,t=e.slice(2).split("/"),n=e.replace(/#|\//gi,"");if(isNaN(parseInt(t[0],10))&&n.length){var r=document.querySelector("#"+n);if(r){var i=Reveal.getIndices(r);J(i.h,i.v)}else J(o,u)}else{var s=parseInt(t[0],10)||0,a=parseInt(t[1],10)||0;J(s,a)}}function et(e){if(i.history){clearTimeout(g);if(typeof e=="number")g=setTimeout(et,e);else{var t="/";if(f&&typeof f.getAttribute("id")=="string")t="/"+f.getAttribute("id");else{if(o>0||u>0)t+=o;u>0&&(t+="/"+u)}window.location.hash=t}}}function tt(e){var n=o,r=u;if(e){var i=!!e.parentNode.nodeName.match(/section/gi),s=i?e.parentNode:e,a=O(document.querySelectorAll(t));n=Math.max(a.indexOf(s),0),i&&(r=Math.max(O(e.parentNode.querySelectorAll("section")).indexOf(e),0))}return{h:n,v:r}}function nt(){if(document.querySelector(n+".present")){var e=document.querySelectorAll(n+".present .fragment:not(.visible)");if(e.length)return e[0].classList.add("visible"),D("fragmentshown",{fragment:e[0]}),!0}else{var r=document.querySelectorAll(t+".present .fragment:not(.visible)");if(r.length)return r[0].classList.add("visible"),D("fragmentshown",{fragment:r[0]}),!0}return!1}function rt(){if(document.querySelector(n+".present")){var e=document.querySelectorAll(n+".present .fragment.visible");if(e.length)return e[e.length-1].classList.remove("visible"),D("fragmenthidden",{fragment:e[e.length-1]}),!0}else{var r=document.querySelectorAll(t+".present .fragment.visible");if(r.length)return r[r.length-1].classList.remove("visible"),D("fragmenthidden",{fragment:r[r.length-1]}),!0}return!1}function it(){clearTimeout(m),s&&!$()&&!U()&&(m=setTimeout(ct,s))}function st(){clearTimeout(m)}function ot(){(Y().left&&U()||rt()===!1)&&J(o-1)}function ut(){(Y().right&&U()||nt()===!1)&&J(o+1)}function at(){(Y().up&&U()||rt()===!1)&&J(o,u-1)}function ft(){(Y().down&&U()||nt()===!1)&&J(o,u+1)}function lt(){if(rt()===!1)if(Y().up)at();else{var e=document.querySelector(t+".past:nth-child("+o+")");e&&(u=e.querySelectorAll("section").length+1||undefined,o--,J())}}function ct(){nt()===!1&&(Y().down?ft():ut()),it()}function ht(e){var t=document.activeElement,n=!(!document.activeElement||!document.activeElement.type&&!document.activeElement.href&&document.activeElement.contentEditable==="inherit");if(n||e.shiftKey||e.altKey||e.ctrlKey||e.metaKey)return;var r=!0;if($()&&[66,190,191].indexOf(e.keyCode)===-1)return!1;switch(e.keyCode){case 80:case 33:lt();break;case 78:case 34:ct();break;case 72:case 37:ot();break;case 76:case 39:ut();break;case 75:case 38:at();break;case 74:case 40:ft();break;case 36:J(0);break;case 35:J(Number.MAX_VALUE);break;case 32:U()?q():ct();break;case 13:U()?q():r=!1;break;case 66:case 190:case 191:V();break;case 70:z();break;default:r=!1}r?e.preventDefault():e.keyCode===27&&p&&(R(),e.preventDefault()),it()}function pt(e){w.startX=e.touches[0].clientX,w.startY=e.touches[0].clientY,w.startCount=e.touches.length,e.touches.length===2&&i.overview&&(w.startSpan=M({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:w.startX,y:w.startY}))}function dt(e){if(!w.handled){var t=e.touches[0].clientX,n=e.touches[0].clientY;if(e.touches.length===2&&w.startCount===2&&i.overview){var r=M({x:e.touches[1].clientX,y:e.touches[1].clientY},{x:w.startX,y:w.startY});Math.abs(w.startSpan-r)>w.threshold&&(w.handled=!0,r<w.startSpan?I():q()),e.preventDefault()}else if(e.touches.length===1&&w.startCount!==2){var s=t-w.startX,o=n-w.startY;s>w.threshold&&Math.abs(s)>Math.abs(o)?(w.handled=!0,ot()):s<-w.threshold&&Math.abs(s)>Math.abs(o)?(w.handled=!0,ut()):o>w.threshold?(w.handled=!0,at()):o<-w.threshold&&(w.handled=!0,ft()),e.preventDefault()}}else navigator.userAgent.match(/android/gi)&&e.preventDefault()}function vt(e){w.handled=!1}function mt(e){clearTimeout(v),v=setTimeout(function(){var t=e.detail||-e.wheelDelta;t>0?ct():lt()},100)}function gt(e){e.preventDefault();var n=O(document.querySelectorAll(t)).length,r=Math.floor(e.clientX/h.wrapper.offsetWidth*n);J(r)}function yt(e){e.preventDefault(),ot()}function bt(e){e.preventDefault(),ut()}function wt(e){e.preventDefault(),at()}function Et(e){e.preventDefault(),ft()}function St(e){e.preventDefault(),lt()}function xt(e){e.preventDefault(),ct()}function Tt(e){Z()}function Nt(e){B()}function Ct(e){if(U()){e.preventDefault(),q();var t=e.target;while(t&&!t.nodeName.match(/section/gi))t=t.parentNode;if(t.nodeName.match(/section/gi)){var n=parseInt(t.getAttribute("data-index-h"),10),r=parseInt(t.getAttribute("data-index-v"),10);J(n,r)}}}var e=".reveal .slides section",t=".reveal .slides>section",n=".reveal .slides>section.present>section",r=".reveal .slides>section:first-child",i={width:960,height:700,margin:.1,minScale:.2,maxScale:1,controls:!0,progress:!0,history:!1,keyboard:!0,overview:!0,center:!0,touch:!0,loop:!1,rtl:!1,autoSlide:0,mouseWheel:!1,rollingLinks:!0,theme:null,transition:"default",dependencies:[]},s=i.autoSlide,o=0,u=0,a,f,l=[],c=1,h={},p="WebkitPerspective"in document.body.style||"MozPerspective"in document.body.style||"msPerspective"in document.body.style||"OPerspective"in document.body.style||"perspective"in document.body.style,d="WebkitTransform"in document.body.style||"MozTransform"in document.body.style||"msTransform"in document.body.style||"OTransform"in document.body.style||"transform"in document.body.style,v=0,m=0,g=0,y=0,b=0,w={startX:0,startY:0,startSpan:0,startCount:0,handled:!1,threshold:80};return{initialize:E,configure:C,slide:J,left:ot,right:ut,up:at,down:ft,prev:lt,next:ct,prevFragment:rt,nextFragment:nt,navigateTo:J,navigateLeft:ot,navigateRight:ut,navigateUp:at,navigateDown:ft,navigatePrev:lt,navigateNext:ct,layout:B,toggleOverview:R,togglePause:V,isOverview:U,isPaused:$,addEventListeners:k,removeEventListeners:L,getIndices:tt,getSlide:function(e,n){var r=document.querySelectorAll(t)[e],i=r&&r.querySelectorAll("section");return typeof n!="undefined"?i?i[n]:undefined:r},getPreviousSlide:function(){return a},getCurrentSlide:function(){return f},getScale:function(){return c},getQueryHash:function(){var e={};return location.search.replace(/[A-Z0-9]+?=(\w*)/gi,function(t){e[t.split("=").shift()]=t.split("=").pop()}),e},isFirstSlide:function(){return document.querySelector(e+".past")==null?!0:!1},isLastSlide:function(){return f&&f.classList.contains(".stack")?f.querySelector(e+".future")==null?!0:!1:document.querySelector(e+".future")==null?!0:!1},addEventListener:function(e,t,n){"addEventListener"in window&&(h.wrapper||document.querySelector(".reveal")).addEventListener(e,t,n)},removeEventListener:function(e,t,n){"addEventListener"in window&&(h.wrapper||document.querySelector(".reveal")).removeEventListener(e,t,n)}}}();
\ No newline at end of file