text: /**
   * QuoJS - Micro #JavaScript Library for Mobile Devices.
   * @version v3.0.4
   * @link    http://quojs.tapquo.com
   * @author  Javi Jimenez Villar (@soyjavi) (https://twitter.com/soyjavi)
   * @license MIT
   */
  (function(){"use strict";var t=[].indexOf||function(t){for(var n=0,e=this.length;e>n;n++)if(n in this&&this[n]===t)return n;return-1};Quo.Gestures=function(n){var e,r,u,i,a,l,o,d,c,s,g,h,f,v;return v=!1,s={},o=null,h=null,a=["input","select","textarea"],e=function(t){return s[t.name]=t.handler,u(t.events)},r=function(t,e,r){return n(t).trigger(e,r,h)},f=function(n){var e;return e=(n.srcElement||n.target).tagName.toLowerCase(),t.call(a,e)>=0?n.stopPropagation():(v=!0,h=n||event,o=d(n),c("start",n.target,o))},g=function(t){return v?(h=t||event,o=d(t),o.length>1&&h.preventDefault(),c("move",t.target,o)):void 0},l=function(t){return v?(h=t||event,c("end",t.target,o),v=!1):void 0},i=function(){return v=!1,c("cancel")},u=function(t){return t.forEach(function(t){return n.fn[t]=function(e){return n(document.body).delegate(this.selector,t,e)}}),this},c=function(t,n,e){var r,u,i;i=[];for(u in s)r=s[u],r[t]&&i.push(r[t].call(r,n,e));return i},d=function(t){var n,e,r,u,i;for(u=t.touches||[t],i=[],e=0,r=u.length;r>e;e++)n=u[e],i.push({x:n.pageX,y:n.pageY});return i},n(document).ready(function(){var t;return t=n(document.body),t.bind("touchstart",f),t.bind("touchmove",g),t.bind("touchend",l),t.bind("touchcancel",i)}),{add:e,trigger:r}}(Quo),Quo.Gestures.add({name:"basic",events:["touch","hold","doubleTap"],handler:function(t){var n,e,r,u,i,a,l,o,d,c,s,g;return e=15,n={TAP:200,DOUBLE_TAP:400,HOLD:400},o=null,g=!0,s=null,c=null,d=null,a=function(e,u){return 1===u.length?(c={time:new Date,x:u[0].x,y:u[0].y},s=e,o=setTimeout(function(){return t.trigger(e,"hold",u[0])},n.HOLD)):r()},i=function(t,n){var u;return null!==c&&(u=l(c,n[0]),u.x>e||u.y>e||n.length>1)?r():void 0},u=function(e,u){var i,a;if(c)return i=l(c,u[0]),0!==i.x||0!==i.y?r():(clearTimeout(o),a=new Date,a-c.time<n.TAP?a-d<n.DOUBLE_TAP?(t.trigger(e,"doubleTap",u[0]),d=null):(d=a,t.trigger(e,"touch",u[0])):void 0)},r=function(){return c=null,g=!1,clearTimeout(o)},l=function(t,n){var e;return e={x:n.x-t.x,y:n.y-t.y}},{start:a,move:i,end:u,cancel:r}}(Quo.Gestures)}),Quo.Gestures.add({name:"drag",events:["drag","dragging"],handler:function(t){var n,e,r,u,i,a,l,o,d,c,s,g;return n=window.devicePixelRatio>=2?15:20,g=null,c=null,s=null,d=null,i=function(t,n){return n.length>=2?(g=t,c=n.length,s=a(n)):void 0},u=function(t,n){var e;return n.length===c?(e=l(n),d={touches:n,delta:e},o(!0)):void 0},e=r=function(){return s&&d?(o(!1),c=null,s=null,d=null):void 0},l=function(t){var n;return n=a(t),{x:n.x-s.x,y:n.y-s.y}},a=function(t){var n,e,r,u,i;for(e=0,r=0,u=0,i=t.length;i>u;u++)n=t[u],e+=parseInt(n.x),r+=parseInt(n.y);return{x:e/t.length,y:r/t.length}},o=function(e){return e?t.trigger(g,"dragging",d):Math.abs(d.delta.x)>n||Math.abs(d.delta.y)>n?t.trigger(g,"drag",d):void 0},{start:i,move:u,end:r}}(Quo.Gestures)}),Quo.Gestures.add({name:"pinch",events:["pinch","pinching","pinchIn","pinchOut"],handler:function(t){var n,e,r,u,i,a,l,o,d,c;return n=window.devicePixelRatio>=2?15:20,c=null,d=null,o=null,i=function(t,n){return 2===n.length?(c=t,d=l(n[0],n[1])):void 0},u=function(t,n){var e;return d&&2===n.length?(e=l(n[0],n[1]),o={touches:n,delta:e-d},a(!0)):void 0},e=r=function(){return d&&o?(a(!1),d=null,o=null):void 0},l=function(t,n){return Math.sqrt((n.x-t.x)*(n.x-t.x)+(n.y-t.y)*(n.y-t.y))},a=function(e){var r;return e?t.trigger(c,"pinching",o):Math.abs(o.delta)>n?(t.trigger(c,"pinch",o),r=o.delta>0?"pinchOut":"pinchIn",t.trigger(c,r,o)):void 0},{start:i,move:u,end:r}}(Quo.Gestures)}),Quo.Gestures.add({name:"rotation",events:["rotate","rotating","rotateLeft","rotateRight"],handler:function(t){var n,e,r,u,i,a,l,o,d,c,s,g,h;return n=5,e=20,h=null,d=0,g=null,o=null,a=function(t,n){return 2===n.length?(h=t,d=0,g=c(n[0],n[1])):void 0},i=function(t,n){var r;return g&&2===n.length?(r=c(n[0],n[1])-g,o&&Math.abs(o.delta-r)>e&&(r+=360*s(o.delta)),Math.abs(r)>360&&(d++,r-=360*s(o.delta)),o={touches:n,delta:r,rotationsCount:d},l(!0)):void 0},r=u=function(){return g&&o?(l(!1),h=null,d=0,g=null,o=null,g=null):void 0},s=function(t){return 0>t?-1:1},c=function(t,n){var e;return e=Math.atan2(t.y-n.y,t.x-n.x),180*(0>e?e+2*Math.PI:e)/Math.PI},l=function(e){var r;return e?t.trigger(h,"rotating",o):Math.abs(o.delta)>n?(t.trigger(h,"rotate",o),r=o.delta>0?"rotateRight":"rotateLeft",t.trigger(h,r,o)):void 0},{start:a,move:i,end:u}}(Quo.Gestures)}),Quo.Gestures.add({name:"swipe",events:["swipe","swipeLeft","swipeRight","swipeUp","swipeDown","swiping","swipingHorizontal","swipingVertical"],handler:function(t){var n,e,r,u,i,a,l,o,d,c,s;return n=Math.round(20/window.devicePixelRatio),s=null,d=null,c=null,o=null,i=function(t,n){return 1===n.length?(s=t,d=n[0],o=null):void 0},u=function(t,n){var e,r;return 1===n.length?(e={x:n[0].x-d.x,y:n[0].y-d.y},r=null===o,o={x:n[0].x,y:n[0].y,delta:e},a(!0,r)):o=null},e=r=function(t,n){var e;return null==o&&n.length>=1&&(e={x:n[0].x-d.x,y:n[0].y-d.y},o={x:n[0].x,y:n[0].y,delta:e}),o?(a(!1),o=null):void 0},a=function(e,r){var u,i,a,d,g;if(null==r&&(r=!1),e)return r&&(c=l(o.delta.x,o.delta.y)),null!==c&&t.trigger(s,"swiping"+c,o),t.trigger(s,"swiping",o);if(i=[],Math.abs(o.delta.y)>n?i.push(o.delta.y<0?"Up":"Down"):Math.abs(o.delta.x)>n&&i.push(o.delta.x<0?"Left":"Right"),i.length){for(t.trigger(s,"swipe",o),g=[],a=0,d=i.length;d>a;a++)u=i[a],g.push(t.trigger(s,"swipe"+u,o));return g}},l=function(t,n){var e;return e=null,Math.round(Math.abs(t/n))>=2?e="Horizontal":Math.round(Math.abs(n/t))>=2&&(e="Vertical"),e},{start:i,move:u,end:r}}(Quo.Gestures)})}).call(this);