/*! Copyright (c) Andrea Giammarchi - MIT License */ (function(d,f,l){function v(a){this._=a;this.currentTarget=a.currentTarget}if(!(!(l=!!d.pointerEnabled)&&!d.msPointerEnabled||"ontouchend"in f)){var w=l?"setPointerCapture":"msSetPointerCapture",x=l?"releasePointerCapture":"msReleasePointerCapture";d=Element.prototype;var m=Object.defineProperties,y=Object.defineProperty,n=function(a){var b=a.toLowerCase();a="MS"+a;t[a]=t[b];return l?b:a},g=function(a){return{value:function(){C[a].call(this);this._[a]()}}},p=function(a){var b="_on"+a;return{enumerable:!0, configurable:!0,get:function(){return this[b]||null},set:function(e){this[b]&&this.removeEventListener(a,this[b]);(this[b]=e)&&this.addEventListener(a,e)}}},q=function(a,b){var e=a[b];y(a,b,{configurable:!0,value:function(a,b,c){a in h&&e.call(this,h[a],D,c);e.call(this,a,b,c)}})},c=function(a){return{get:function(){return this._[a]}}},z=function(a){return function(b){var e=b.pointerId,c=k[e],d=b.currentTarget;delete k[e];if(x in d)d[x](b.pointerId);u(a,b,c);delete r[e]}},u=function(a,b,e){var c= f.createEvent("Event");c.initEvent(a,!0,!0);s.value=b;A.currentTarget.value=e.currentTarget;m(c,A);e.currentTarget.dispatchEvent(c)},B=function(a,b){function c(a){return b[a]}return function(){s.value=Object.keys(b).map(c);return y(this,a,s)[a]}},s={value:null},k=Object.create(null),r=Object.create(null),C=f.createEvent("Event"),A={_:s,touches:{configurable:!0,get:B("touches",k)},changedTouches:{configurable:!0,get:B("changedTouches",r)},currentTarget:{value:null},relatedTarget:c("relatedTarget"), target:c("target"),altKey:c("altKey"),metaKey:c("metaKey"),ctrlKey:c("ctrlKey"),shiftKey:c("shiftKey"),preventDefault:g("preventDefault"),stopPropagation:g("stopPropagation"),stopImmediatePropagation:g("stopImmediatePropagation")},h=Object.create(null),D=function(a){var b;a:{switch(a.pointerType){case "mouse":case a.MSPOINTER_TYPE_MOUSE:b="mouse";break a}b="touch"}if("touch"===b)t[a.type](a)},t={pointerdown:function(a){var b=new v(a),c=a.pointerId,d=a.currentTarget;r[c]=k[c]=b;if(w in d)d[w](a.pointerId); u("touchstart",a,b)},pointermove:function(a){var b=a.pointerId,c=k[b];c._=a;u("touchmove",a,c);r[b]._=a},pointerup:z("touchend"),pointercancel:z("touchcancel")},g={ontouchstart:p("touchstart"),ontouchmove:p("touchmove"),ontouchend:p("touchend"),ontouchcancel:p("touchcancel")};m(v.prototype,{identifier:c("pointerId"),target:c("target"),screenX:c("screenX"),screenY:c("screenY"),clientX:c("clientX"),clientY:c("clientY"),pageX:c("pageX"),pageY:c("pageY")});h.touchstart=n("PointerDown");h.touchmove=n("PointerMove"); h.touchend=n("PointerUp");h.touchcancel=n("PointerCancel");q(f,"addEventListener");q(f,"removeEventListener");q(d,"addEventListener");q(d,"removeEventListener");m(f,g);m(d,g)}})(navigator,document);