var InstantClick=function(e,t){function n(e){var t=e.indexOf("#");return 0>t?e:e.substr(0,t)}function r(e){for(;e&&"A"!=e.nodeName;)e=e.parentNode;return e}function a(e){var i=t.protocol+"//"+t.host;if(!(i=e.target||e.hasAttribute("download")||0!=e.href.indexOf(i+"/")||-1<e.href.indexOf("#")&&n(e.href)==b)){if(w){e:{do{if(!e.hasAttribute)break;if(e.hasAttribute("data-no-instant"))break;if(e.hasAttribute("data-instant")){e=!0;break e}}while(e=e.parentNode);e=!1}e=!e}else e:{do{if(!e.hasAttribute)break;if(e.hasAttribute("data-instant"))break;if(e.hasAttribute("data-no-instant")){e=!0;break e}}while(e=e.parentNode);e=!1}i=e}return!i}function o(e,t,n,i){for(var r=!1,a=0;a<z[e].length;a++)if("receive"==e){var o=z[e][a](t,n,i);o&&("body"in o&&(n=o.body),"title"in o&&(i=o.title),r=o)}else z[e][a](t,n,i);return r}function s(t,i,r,a){if(e.documentElement.replaceChild(i,e.body),r){if(history.pushState(null,null,r),a=0,i=-1<(i=r.indexOf("#"))&&e.getElementById(r.substr(i+1)))for(;i.offsetParent;)a+=i.offsetTop,i=i.offsetParent;scrollTo(0,a),b=n(r)}else scrollTo(0,a);e.title=x&&e.title==t?t+String.fromCharCode(160):t,p(),W.done(),o("change",!1),(t=e.createEvent("HTMLEvents")).initEvent("instantclick:newpage",!0,!0),dispatchEvent(t)}function d(e){T>+new Date-500||(e=r(e.target))&&a(e)&&m(e.href)}function l(e){T>+new Date-500||(e=r(e.target))&&a(e)&&(e.addEventListener("mouseout",h),k?(v=e.href,g=setTimeout(m,k)):m(e.href))}function c(e){T=+new Date,(e=r(e.target))&&a(e)&&(L?e.removeEventListener("mousedown",d):e.removeEventListener("mouseover",l),m(e.href))}function f(e){var t=r(e.target);!t||!a(t)||1<e.which||e.metaKey||e.ctrlKey||(e.preventDefault(),y(t.href))}function h(){g?(clearTimeout(g),g=!1):N&&!S&&(E.abort(),S=N=!1)}function u(){if(!(4>E.readyState)&&0!=E.status){if(B.ready=+new Date-B.start,E.getResponseHeader("Content-Type").match(/\/(x|ht|xht)ml/)){(t=e.implementation.createHTMLDocument("")).documentElement.innerHTML=E.responseText.replace(/<noscript[\s\S]+<\/noscript>/gi,""),H=t.title,D=t.body,(r=o("receive",O,D,H))&&("body"in r&&(D=r.body),"title"in r&&(H=r.title)),r=n(O),M[r]={body:D,title:H,scrollY:r in M?M[r].scrollY:0};for(var t,i,r=0,a=(t=t.head.children).length-1;0<=a;a--)if(i=t[a],i.hasAttribute("data-instant-track")){i=i.getAttribute("href")||i.getAttribute("src")||i.innerHTML;for(var s=I.length-1;0<=s;s--)I[s]==i&&r++}r!=I.length&&(Y=!0)}else Y=!0;S&&(S=!1,y(O))}}function p(t){var n,r,a,o;if(e.body.addEventListener("touchstart",c,!0),L?e.body.addEventListener("mousedown",d,!0):e.body.addEventListener("mouseover",l,!0),e.body.addEventListener("click",f,!0),!t)for(t=e.body.getElementsByTagName("script"),i=0,j=t.length;i<j;i++)n=t[i],n.hasAttribute("data-no-instant")||(r=e.createElement("script"),n.src&&(r.src=n.src),n.innerHTML&&(r.innerHTML=n.innerHTML),a=n.parentNode,o=n.nextSibling,a.removeChild(n),a.insertBefore(r,o))}function m(e){!L&&"display"in B&&100>+new Date-(B.start+B.display)||(g&&(clearTimeout(g),g=!1),e||(e=v),N&&(e==O||S))||(N=!0,S=!1,O=e,Y=D=!1,B={start:+new Date},o("fetch"),E.open("GET",e),E.send())}function y(e){"display"in B||(B.display=+new Date-B.start),g||!N?g&&O&&O!=e?t.href=e:(m(e),W.start(0,!0),o("wait"),S=!0):S?t.href=e:Y?t.href=O:D?(M[b].scrollY=pageYOffset,S=N=!1,s(H,D,O)):(W.start(0,!0),o("wait"),S=!0)}var b,v,g,T,E,w,L,k,A=navigator.userAgent,x=-1<A.indexOf(" CriOS/"),C="createTouch"in e,M={},O=!1,H=!1,Y=!1,D=!1,B={},N=!1,S=!1,I=[],z={fetch:[],receive:[],wait:[],change:[]},W=function(){function t(t,a){l=t,e.getElementById(o.id)&&e.body.removeChild(o),o.style.opacity="1",e.getElementById(o.id)&&e.body.removeChild(o),r(),a&&setTimeout(n,0),clearTimeout(c),c=setTimeout(i,500)}function n(){l=10,r()}function i(){98<=(l+=1+2*Math.random())?l=98:c=setTimeout(i,500),r()}function r(){s.style[d]="translate("+l+"%)",e.getElementById(o.id)||e.body.appendChild(o)}function a(){o.style.left=pageXOffset+"px",o.style.width=innerWidth+"px",o.style.top=pageYOffset+"px";var e="orientation"in window&&90==Math.abs(orientation);o.style[d]="scaleY("+innerWidth/screen[e?"height":"width"]*2+")"}var o,s,d,l,c;return{init:function(){(o=e.createElement("div")).id="instantclick",(s=e.createElement("div")).id="instantclick-bar",s.className="instantclick-bar",o.appendChild(s);var t=["Webkit","Moz","O"];if(!((d="transform")in s.style))for(var n=0;3>n;n++)t[n]+"Transform"in s.style&&(d=t[n]+"Transform");var i="transition";if(!(i in s.style))for(n=0;3>n;n++)t[n]+"Transition"in s.style&&(i="-"+t[n].toLowerCase()+"-"+i);(t=e.createElement("style")).innerHTML="#instantclick{position:"+(C?"absolute":"fixed")+";top:0;left:0;width:100%;pointer-events:none;z-index:2147483647;"+i+":opacity .25s .1s}.instantclick-bar{background:#29d;width:100%;margin-left:-100%;height:2px;"+i+":all .25s}",e.head.appendChild(t),C&&(a(),addEventListener("resize",a),addEventListener("scroll",a))},start:t,done:function n(){e.getElementById(o.id)?(clearTimeout(c),l=100,r(),o.style.opacity="0"):(t(100==l?0:l),setTimeout(n,0))}}}(),K="pushState"in history&&(!A.match("Android")||A.match("Chrome/"))&&"file:"!=t.protocol;return{supported:K,init:function(){if(!b)if(K){for(var i=arguments.length-1;0<=i;i--){!0===(r=arguments[i])?w=!0:"mousedown"==r?L=!0:"number"==typeof r&&(k=r)}b=n(t.href),M[b]={body:e.body,title:e.title,scrollY:pageYOffset};var r,a;for(i=(r=e.head.children).length-1;0<=i;i--)a=r[i],a.hasAttribute("data-instant-track")&&(a=a.getAttribute("href")||a.getAttribute("src")||a.innerHTML,I.push(a));(E=new XMLHttpRequest).addEventListener("readystatechange",u),p(!0),W.init(),o("change",!0),addEventListener("popstate",function(){var e=n(t.href);e!=b&&(e in M?(M[b].scrollY=pageYOffset,b=e,s(M[e].title,M[e].body,!1,M[e].scrollY)):t.href=t.href)})}else o("change",!0)},on:function(e,t){z[e].push(t)}}}(document,location);