!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():e.NProgress=n()}(this,function(){function e(e,n,t){return e<n?n:e>t?t:e}function n(e){return 100*(-1+e)}function t(e,t,r){var o;return o="translate3d"===c.positionUsing?{transform:"translate3d("+n(e)+"%,0,0)"}:"translate"===c.positionUsing?{transform:"translate("+n(e)+"%,0)"}:{"margin-left":n(e)+"%"},o.transition="all "+t+"ms "+r,o}function r(e,n){var t="string"==typeof e?e:s(e);return t.indexOf(" "+n+" ")>=0}function o(e,n){var t=s(e),o=t+n;r(t,n)||(e.className=o.substring(1))}function i(e,n){var t,o=s(e);r(e,n)&&(t=o.replace(" "+n+" "," "),e.className=t.substring(1,t.length-1))}function s(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function a(e){e&&e.parentNode&&e.parentNode.removeChild(e)}var u={};u.version="0.2.0";var c=u.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"></div><div class="spinner" role="spinner"></div>'};u.configure=function(e){var n,t,r,r;for(n in e)t=e[n],void 0!==t&&e.hasOwnProperty(n)&&(c[n]=t);return c.showSpinner||(progress=document.querySelector("#nprogress"),progress&&(r=progress.querySelector(c.spinnerSelector),r&&a(r))),this},u.status=null,u.set=function(n){var r=u.isStarted();n=e(n,c.minimum,1),u.status=1===n?null:n;var o=u.render(!r),i=o.querySelector(c.barSelector),s=c.speed,a=c.easing;return o.offsetWidth,l(function(e){""===c.positionUsing&&(c.positionUsing=u.getPositioningCSS()),f(i,t(n,s,a)),1===n?(f(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout(function(){f(o,{transition:"all "+s+"ms linear",opacity:0}),setTimeout(function(){u.remove(),e()},s)},s)):setTimeout(e,s)}),this},u.isStarted=function(){return"number"==typeof u.status},u.start=function(){u.status||u.set(0);var e=function(){setTimeout(function(){u.status&&(u.trickle(),e())},c.trickleSpeed)};return c.trickle&&e(),this},u.done=function(e){return e||u.status?u.inc(.3+.5*Math.random()).set(1):this},u.inc=function(n){var t=u.status;return t?("number"!=typeof n&&(n=(1-t)*e(Math.random()*t,.1,.95)),t=e(t+n,0,.994),u.set(t)):u.start()},u.trickle=function(){return u.inc(Math.random()*c.trickleRate)},u.render=function(e){if(u.isRendered())return document.getElementById("nprogress");o(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=c.template;var r,i=t.querySelector(c.barSelector),s=e?"-100":n(u.status||0),l=document.querySelector(c.parent);return f(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),c.showSpinner||(r=t.querySelector(c.spinnerSelector),r&&a(r)),l!=document.body&&o(l,"nprogress-custom-parent"),l.appendChild(t),t},u.remove=function(){i(document.documentElement,"nprogress-busy"),i(document.querySelector(c.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&a(e)},u.isRendered=function(){return!!document.getElementById("nprogress")},u.getPositioningCSS=function(){var e=document.body.style,n="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return n+"Perspective"in e?"translate3d":n+"Transform"in e?"translate":"margin"};var l=function(){function e(){var t=n.shift();t&&t(e)}var n=[];return function(t){n.push(t),1==n.length&&e()}}(),f=function(){function e(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(e,n){return n.toUpperCase()})}function n(e){var n=document.body.style;if(e in n)return e;for(var t,r=o.length,i=e.charAt(0).toUpperCase()+e.slice(1);r--;)if(t=o[r]+i,t in n)return t;return e}function t(t){return t=e(t),i[t]||(i[t]=n(t))}function r(e,n,r){n=t(n),e.style[n]=r}var o=["Webkit","O","Moz","ms"],i={};return function(e,n){var t,o,i=arguments;if(2==i.length)for(t in n)o=n[t],void 0!==o&&n.hasOwnProperty(t)&&r(e,t,o);else r(e,i[1],i[2])}}();return u.delayDo=function(e,n,t){var r=t||1;setTimeout(function(){"delayDo"!==e&&u[e]&&u[e].apply(u,n)},r)},u});