From cc19005b50f478258b1b34159fa97472beeb8648 Mon Sep 17 00:00:00 2001 From: Natsu-Infinito <108439839+Natsu-Infinito@users.noreply.github.com> Date: Wed, 10 Aug 2022 20:09:51 -0300 Subject: [PATCH] Add files via upload --- appmanifest.json | 28 +++ c2runtime.js | 578 ++++++++++++++++++++++++++++++++++++++++++++ data.js | 1 + icon-114.png | Bin 0 -> 2604 bytes icon-128.png | Bin 0 -> 3046 bytes icon-16.png | Bin 0 -> 308 bytes icon-256.png | Bin 0 -> 8022 bytes icon-32.png | Bin 0 -> 543 bytes index.html | 136 +++++++++++ jquery-3.4.1.min.js | 2 + loading-logo.png | Bin 0 -> 11111 bytes offline.js | 86 +++++++ offlineClient.js | 53 ++++ sw.js | 403 ++++++++++++++++++++++++++++++ 14 files changed, 1287 insertions(+) create mode 100644 appmanifest.json create mode 100644 c2runtime.js create mode 100644 data.js create mode 100644 icon-114.png create mode 100644 icon-128.png create mode 100644 icon-16.png create mode 100644 icon-256.png create mode 100644 icon-32.png create mode 100644 index.html create mode 100644 jquery-3.4.1.min.js create mode 100644 loading-logo.png create mode 100644 offline.js create mode 100644 offlineClient.js create mode 100644 sw.js diff --git a/appmanifest.json b/appmanifest.json new file mode 100644 index 0000000..280be0e --- /dev/null +++ b/appmanifest.json @@ -0,0 +1,28 @@ +{ + "name": "Pixel Adventure", + "short_name": "Pixel Adventure", + "start_url": "index.html", + "display": "fullscreen", + "orientation": "any", + "icons": [{ + "src": "icon-16.png", + "sizes": "16x16", + "type": "image/png" + }, { + "src": "icon-32.png", + "sizes": "32x32", + "type": "image/png" + }, { + "src": "icon-128.png", + "sizes": "128x128", + "type": "image/png" + }, { + "src": "icon-256.png", + "sizes": "144x144", + "type": "image/png" + }, { + "src": "icon-256.png", + "sizes": "256x256", + "type": "image/png" + }] +} diff --git a/c2runtime.js b/c2runtime.js new file mode 100644 index 0000000..c21a15b --- /dev/null +++ b/c2runtime.js @@ -0,0 +1,578 @@ +// Generated by Construct 2, the HTML5 game and app creator :: https://www.construct.net +'use strict';var ba,da,fa,ga,ha,ia,ja,ka,la,ma,na,oa,pa,qa,ra,A,sa,ta,ua,va,wa,za,Aa,U,Ba,Ca,Da,Ea,Fa,V,Ha,Ia,Ja,Ka,La,Ma,Na,Oa,Qa,Ra,Sa,Ta,Ua,Va,Wa,Xa,Ya,Za,$a,ab,bb,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,ub,vb,wb,xb,yb,zb,Ab,Bb,Cb,Db,Eb,Fb,Gb,Hb,Ib,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,$b,ac,bc,cc,dc,ec,fc={};"function"!==typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"===typeof"test".__proto__?function(e){return e.__proto__}:function(e){return e.constructor.prototype}); +(function(){function e(a,c,b,f){this.set(a,c,b,f)}function p(){this.hb=this.gb=this.jb=this.ib=this.qb=this.pb=this.Va=this.Ua=0}function q(a,c,b,f){af?c:f):(y=ab?c:b):bf?a:f):(y=cb?a:b)}function u(){this.items=this.Ee=null;this.Oj=0;O&&(this.Ee=new Set);this.Ui=[];this.Nf=!0}function k(a){I[z++]=a}function n(){this.X=this.Nn=this.y=this.ij=0}function h(a){this.Pa=[];this.ml=this.ol=this.pl=this.nl=0;this.Ck(a)}function a(a,c){this.Fb= +a;this.Tb=c;this.cells={}}function b(a,c){this.Fb=a;this.Tb=c;this.cells={}}function d(a,c,b){var f;return w.length?(f=w.pop(),f.lp=a,f.x=c,f.y=b,f):new da(a,c,b)}function c(a,c,b){this.lp=a;this.x=c;this.y=b;this.Wb=new fa}function f(a,c,b){var f;return x.length?(f=x.pop(),f.lp=a,f.x=c,f.y=b,f):new ga(a,c,b)}function r(a,c,b){this.lp=a;this.x=c;this.y=b;this.Wb=[];this.ei=!0;this.Ae=new fa;this.fj=!1}function g(a,c){return a.je-c.je}ha=function(a){window.console&&window.console.log&&window.console.log(a)}; +ia=function(a){window.console&&window.console.error&&window.console.error(a)};ba=function(a){return a};ja=function(a){return"undefined"===typeof a};ka=function(a){return"number"===typeof a};la=function(a){return"string"===typeof a};ma=function(a){return 0c;c<<=1)a=a|a>>c;return a+1};oa=function(a){return 0>a?-a:a};pa=function(a,c){return a>c?a:c};qa=function(a,c){return at)return!1;ct)return!1;r=m-a+g-b;v=d-c+l-f;a=b-a;c=f-c;m=g-m;d=l-d;l=oa(c*m-d*a);return oa(m*v-d*r)>l?!1:oa(a*v-c*r)<=l};e.prototype.set=function(a,c,b,f){this.left=a;this.top=c;this.right=b;this.bottom=f};e.prototype.Hh=function(a){this.left=a.left;this.top=a.top;this.right=a.right;this.bottom=a.bottom};e.prototype.width= +function(){return this.right-this.left};e.prototype.height=function(){return this.bottom-this.top};e.prototype.offset=function(a,c){this.left+=a;this.top+=c;this.right+=a;this.bottom+=c;return this};e.prototype.normalize=function(){var a=0;this.left>this.right&&(a=this.left,this.left=this.right,this.right=a);this.top>this.bottom&&(a=this.top,this.top=this.bottom,this.bottom=a)};e.prototype.PA=function(a){return!(a.rightthis.right||a.top>this.bottom)};e.prototype.QA= +function(a,c,b){return!(a.right+cthis.right||a.top+b>this.bottom)};e.prototype.qc=function(a,c){return a>=this.left&&a<=this.right&&c>=this.top&&c<=this.bottom};e.prototype.qj=function(a){return this.left===a.left&&this.top===a.top&&this.right===a.right&&this.bottom===a.bottom};ua=e;p.prototype.Ki=function(a){this.Ua=a.left;this.Va=a.top;this.pb=a.right;this.qb=a.top;this.ib=a.right;this.jb=a.bottom;this.gb=a.left;this.hb=a.bottom};p.prototype.Zu=function(a, +c){if(0===c)this.Ki(a);else{var b=Math.sin(c),f=Math.cos(c),m=a.left*b,d=a.top*b,g=a.right*b,b=a.bottom*b,l=a.left*f,r=a.top*f,v=a.right*f,f=a.bottom*f;this.Ua=l-d;this.Va=r+m;this.pb=v-d;this.qb=r+g;this.ib=v-b;this.jb=f+g;this.gb=l-b;this.hb=f+m}};p.prototype.offset=function(a,c){this.Ua+=a;this.Va+=c;this.pb+=a;this.qb+=c;this.ib+=a;this.jb+=c;this.gb+=a;this.hb+=c;return this};var y=0,J=0;p.prototype.qs=function(a){q(this.Ua,this.pb,this.ib,this.gb);a.left=y;a.right=J;q(this.Va,this.qb,this.jb, +this.hb);a.top=y;a.bottom=J};p.prototype.qc=function(a,c){var b=this.Ua,f=this.Va,m=this.pb-b,d=this.qb-f,g=this.ib-b,l=this.jb-f,r=a-b,v=c-f,t=m*m+d*d,h=m*g+d*l,d=m*r+d*v,e=g*g+l*l,n=g*r+l*v,y=1/(t*e-h*h),m=(e*d-h*n)*y,t=(t*n-h*d)*y;if(0<=m&&0m+t)return!0;m=this.gb-b;d=this.hb-f;t=m*m+d*d;h=m*g+d*l;d=m*r+d*v;y=1/(t*e-h*h);m=(e*d-h*n)*y;t=(t*n-h*d)*y;return 0<=m&&0m+t};p.prototype.Lf=function(a,c){if(c)switch(a){case 0:return this.Ua;case 1:return this.pb;case 2:return this.ib;case 3:return this.gb; +case 4:return this.Ua;default:return this.Ua}else switch(a){case 0:return this.Va;case 1:return this.qb;case 2:return this.jb;case 3:return this.hb;case 4:return this.Va;default:return this.Va}};p.prototype.Yt=function(){return(this.Ua+this.pb+this.ib+this.gb)/4};p.prototype.Zt=function(){return(this.Va+this.qb+this.jb+this.hb)/4};p.prototype.it=function(a){var c=a.Yt(),b=a.Zt();if(this.qc(c,b))return!0;c=this.Yt();b=this.Zt();if(a.qc(c,b))return!0;var f,m,d,g,l,t,v,r;for(v=0;4>v;v++)for(r=0;4>r;r++)if(c= +this.Lf(v,!0),b=this.Lf(v,!1),f=this.Lf(v+1,!0),m=this.Lf(v+1,!1),d=a.Lf(r,!0),g=a.Lf(r,!1),l=a.Lf(r+1,!0),t=a.Lf(r+1,!1),ta(c,b,f,m,d,g,l,t))return!0;return!1};va=p;wa=function(a,c){for(var b in c)c.hasOwnProperty(b)&&(a[b]=c[b]);return a};za=function(a,c){var b,f;c=A(c);if(!(0>c||c>=a.length)){b=c;for(f=a.length-1;bb?b:a};V=function(a){return a/(180/ra)};Ha=function(a){return 180/ra*a};Ia=function(a){a%=360;0>a&&(a+=360);return a};Ja=function(a){a%=2*ra;0>a&&(a+=2*ra);return a};Ka=function(a){return Ia(Ha(a))};La=function(a){return Ja(V(a))};Ma=function(a,c,b,f){return Math.atan2(f-c,b-a)};Na=function(a,c){if(a===c)return 0;var b=Math.sin(a),f=Math.cos(a), +m=Math.sin(c),d=Math.cos(c),b=b*m+f*d;return 1<=b?0:-1>=b?ra:Math.acos(b)};Oa=function(a,c,b){var f=Math.sin(a),m=Math.cos(a),d=Math.sin(c),g=Math.cos(c);return Math.acos(f*d+m*g)>b?0=f*m-b*d};Ra=function(a,c,b,f,m,d){if(0===b)return d?a:c;var g=Math.sin(b);b=Math.cos(b);a-=f;c-=m;var l=a*g;a=a*b-c*g;c=c*b+l;return d?a+f:c+m};Sa=function(a,c,b,f){a=b-a;c=f-c;return Math.sqrt(a*a+c* +c)};Ta=function(a,c){return!a!==!c};Ua=function(a){for(var c in a)if(a.hasOwnProperty(c))return!0;return!1};Va=function(a){for(var c in a)a.hasOwnProperty(c)&&delete a[c]};var l=+new Date;Wa=function(){if("undefined"!==typeof window.performance){var a=window.performance;if("undefined"!==typeof a.now)return a.now();if("undefined"!==typeof a.webkitNow)return a.webkitNow();if("undefined"!==typeof a.mozNow)return a.mozNow();if("undefined"!==typeof a.msNow)return a.msNow()}return Date.now()-l};var m=!1, +t=m=!1,P=!1;"undefined"!==typeof window&&(m=/chrome/i.test(navigator.userAgent)||/chromium/i.test(navigator.userAgent),m=!m&&/safari/i.test(navigator.userAgent),t=/(iphone|ipod|ipad)/i.test(navigator.userAgent),P=window.c2ejecta);var O=!m&&!P&&!t&&"undefined"!==typeof Set&&"undefined"!==typeof Set.prototype.forEach;u.prototype.contains=function(a){return this.$e()?!1:O?this.Ee.has(a):this.items&&this.items.hasOwnProperty(a)};u.prototype.add=function(a){if(O)this.Ee.has(a)||(this.Ee.add(a),this.Nf= +!1);else{var c=a.toString(),b=this.items;b?b.hasOwnProperty(c)||(b[c]=a,this.Oj++,this.Nf=!1):(this.items={},this.items[c]=a,this.Oj=1,this.Nf=!1)}};u.prototype.remove=function(a){if(!this.$e())if(O)this.Ee.has(a)&&(this.Ee["delete"](a),this.Nf=!1);else if(this.items){a=a.toString();var c=this.items;c.hasOwnProperty(a)&&(delete c[a],this.Oj--,this.Nf=!1)}};u.prototype.clear=function(){this.$e()||(O?this.Ee.clear():(this.items=null,this.Oj=0),U(this.Ui),this.Nf=!0)};u.prototype.$e=function(){return 0=== +this.count()};u.prototype.count=function(){return O?this.Ee.size:this.Oj};var I=null,z=0;u.prototype.nC=function(){if(!this.Nf){if(O)U(this.Ui),I=this.Ui,z=0,this.Ee.forEach(k),I=null,z=0;else{var a=this.Ui;U(a);var c,b=0,f=this.items;if(f)for(c in f)f.hasOwnProperty(c)&&(a[b++]=f[c])}this.Nf=!0}};u.prototype.Af=function(){this.nC();return this.Ui};fa=u;new fa;Xa=function(a,c){O?Ya(a,c.Ee):Za(a,c.Af())};Ya=function(a,c){var b,f,m,d;f=b=0;for(m=a.length;bb&&(b=d),gm&&(m=g);this.nl=c;this.ol=b;this.pl=f;this.ml=m};h.prototype.Ki=function(a,c,b){this.Pa.length=8;this.gd=4;var f=this.Pa;f[0]=a.left-c;f[1]=a.top-b;f[2]=a.right-c;f[3]=a.top-b;f[4]=a.right-c;f[5]=a.bottom-b;f[6]=a.left-c;f[7]=a.bottom-b;this.tl=a.right-a.left;this.sl=a.bottom-a.top;this.Ia()};h.prototype.Ji=function(a,c,b,f,d){this.Pa.length=8;this.gd= +4;var m=this.Pa;m[0]=a.Ua-c;m[1]=a.Va-b;m[2]=a.pb-c;m[3]=a.qb-b;m[4]=a.ib-c;m[5]=a.jb-b;m[6]=a.gb-c;m[7]=a.hb-b;this.tl=f;this.sl=d;this.Ia()};h.prototype.Yu=function(a){this.gd=a.gd;Ba(this.Pa,a.Pa);this.nl=a.nl;this.pl=a.pl;this.ol=a.ol;this.ml=a.ml};h.prototype.Ag=function(a,c,b){if(this.tl!==a||this.sl!==c||this.us!==b){this.tl=a;this.sl=c;this.us=b;var f,m,d,g,l,r=0,v=1,t=this.Gu,h=this.Pa;0!==b&&(r=Math.sin(b),v=Math.cos(b));b=0;for(d=this.gd;bw.length&&w.push(l),this.cells[f][d]=null);if(b)for(f= +b.left,m=b.right;f<=m;++f)for(d=b.top,g=b.bottom;d<=g;++d)c&&c.qc(f,d)||this.Yf(f,d,!0).xp(a)};a.prototype.nn=function(a,c){var b,f,m,d,g,l;b=this.Ic(a.left);m=this.Jc(a.top);f=this.Ic(a.right);for(g=this.Jc(a.bottom);b<=f;++b)for(d=m;d<=g;++d)(l=this.Yf(b,d,!1))&&l.dump(c)};eb=a;b.prototype.Yf=function(a,c,b){var m;m=this.cells[a];return m?(m=m[c])?m:b?(m=f(this,a,c),this.cells[a][c]=m):null:b?(m=f(this,a,c),this.cells[a]={},this.cells[a][c]=m):null};b.prototype.Ic=function(a){return A(a/this.Fb)}; +b.prototype.Jc=function(a){return A(a/this.Tb)};b.prototype.update=function(a,c,b){var f,m,d,g,l;if(c)for(f=c.left,m=c.right;f<=m;++f)for(d=c.top,g=c.bottom;d<=g;++d)if(!b||!b.qc(f,d))if(l=this.Yf(f,d,!1))l.remove(a),l.$e()&&(l.reset(),1E3>x.length&&x.push(l),this.cells[f][d]=null);if(b)for(f=b.left,m=b.right;f<=m;++f)for(d=b.top,g=b.bottom;d<=g;++d)c&&c.qc(f,d)||this.Yf(f,d,!0).xp(a)};b.prototype.nn=function(a,c,b,f,m){var d,g;a=this.Ic(a);c=this.Jc(c);b=this.Ic(b);for(d=this.Jc(f);a<=b;++a)for(f= +c;f<=d;++f)(g=this.Yf(a,f,!1))&&g.dump(m)};b.prototype.gB=function(a){var c,b,f,m,d;c=a.left;f=a.top;b=a.right;for(m=a.bottom;c<=b;++c)for(a=f;a<=m;++a)if(d=this.Yf(c,a,!1))d.ei=!1};fb=b;var w=[];c.prototype.$e=function(){return this.Wb.$e()};c.prototype.xp=function(a){this.Wb.add(a)};c.prototype.remove=function(a){this.Wb.remove(a)};c.prototype.dump=function(a){Ca(a,this.Wb.Af())};da=c;var x=[];r.prototype.$e=function(){if(!this.Wb.length)return!0;if(this.Wb.length>this.Ae.count())return!1;this.Vo(); +return!0};r.prototype.xp=function(a){this.Ae.contains(a)?(this.Ae.remove(a),this.Ae.$e()&&(this.fj=!1)):this.Wb.length?(this.Wb[this.Wb.length-1].ue()>a.ue()&&(this.ei=!1),this.Wb.push(a)):(this.Wb.push(a),this.ei=!0)};r.prototype.remove=function(a){this.Ae.add(a);this.fj=!0;30<=this.Ae.count()&&this.Vo()};r.prototype.Vo=function(){this.fj&&(this.Ae.count()===this.Wb.length?this.reset():(Xa(this.Wb,this.Ae),this.Ae.clear(),this.fj=!1))};r.prototype.sz=function(){this.ei||(this.Wb.sort(g),this.ei= +!0)};r.prototype.reset=function(){U(this.Wb);this.ei=!0;this.Ae.clear();this.fj=!1};r.prototype.dump=function(a){this.Vo();this.sz();this.Wb.length&&a.push(this.Wb)};ga=r;var L="lighter xor copy destination-over source-in destination-in source-out destination-out source-atop destination-atop".split(" ");gb=function(a){return 0>=a||11<=a?"source-over":L[a-1]};hb=function(a,c,b){if(b)switch(a.wc=b.ONE,a.rc=b.ONE_MINUS_SRC_ALPHA,c){case 1:a.wc=b.ONE;a.rc=b.ONE;break;case 3:a.wc=b.ONE;a.rc=b.ZERO;break; +case 4:a.wc=b.ONE_MINUS_DST_ALPHA;a.rc=b.ONE;break;case 5:a.wc=b.DST_ALPHA;a.rc=b.ZERO;break;case 6:a.wc=b.ZERO;a.rc=b.SRC_ALPHA;break;case 7:a.wc=b.ONE_MINUS_DST_ALPHA;a.rc=b.ZERO;break;case 8:a.wc=b.ZERO;a.rc=b.ONE_MINUS_SRC_ALPHA;break;case 9:a.wc=b.DST_ALPHA;a.rc=b.ONE_MINUS_SRC_ALPHA;break;case 10:a.wc=b.ONE_MINUS_DST_ALPHA,a.rc=b.SRC_ALPHA}};ib=function(a){return Math.round(1E6*a)/1E6};jb=function(a,c){return"string"!==typeof a||"string"!==typeof c||a.length!==c.length?!1:a===c?!0:a.toLowerCase()=== +c.toLowerCase()};kb=function(a){a=a.target;return!a||a===document||a===window||document&&document.body&&a===document.body||jb(a.tagName,"canvas")?!0:!1}})();var gc="undefined"!==typeof Float32Array?Float32Array:Array;function hc(e){var p=new gc(3);e&&(p[0]=e[0],p[1]=e[1],p[2]=e[2]);return p} +function ic(e){var p=new gc(16);e&&(p[0]=e[0],p[1]=e[1],p[2]=e[2],p[3]=e[3],p[4]=e[4],p[5]=e[5],p[6]=e[6],p[7]=e[7],p[8]=e[8],p[9]=e[9],p[10]=e[10],p[11]=e[11],p[12]=e[12],p[13]=e[13],p[14]=e[14],p[15]=e[15]);return p}function jc(e,p){p[0]=e[0];p[1]=e[1];p[2]=e[2];p[3]=e[3];p[4]=e[4];p[5]=e[5];p[6]=e[6];p[7]=e[7];p[8]=e[8];p[9]=e[9];p[10]=e[10];p[11]=e[11];p[12]=e[12];p[13]=e[13];p[14]=e[14];p[15]=e[15]} +function kc(e,p){var q=p[0],u=p[1];p=p[2];e[0]*=q;e[1]*=q;e[2]*=q;e[3]*=q;e[4]*=u;e[5]*=u;e[6]*=u;e[7]*=u;e[8]*=p;e[9]*=p;e[10]*=p;e[11]*=p} +function lc(e,p,q,u){u||(u=ic());var k,n,h,a,b,d,c,f,r=e[0],g=e[1];e=e[2];n=q[0];h=q[1];k=q[2];q=p[1];d=p[2];r===p[0]&&g===q&&e===d?(e=u,e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1):(q=r-p[0],d=g-p[1],c=e-p[2],f=1/Math.sqrt(q*q+d*d+c*c),q*=f,d*=f,c*=f,p=h*c-k*d,k=k*q-n*c,n=n*d-h*q,(f=Math.sqrt(p*p+k*k+n*n))?(f=1/f,p*=f,k*=f,n*=f):n=k=p=0,h=d*n-c*k,a=c*p-q*n,b=q*k-d*p,(f=Math.sqrt(h*h+a*a+b*b))?(f=1/f,h*=f,a*=f,b*=f):b=a=h=0, +u[0]=p,u[1]=h,u[2]=q,u[3]=0,u[4]=k,u[5]=a,u[6]=d,u[7]=0,u[8]=n,u[9]=b,u[10]=c,u[11]=0,u[12]=-(p*r+k*g+n*e),u[13]=-(h*r+a*g+b*e),u[14]=-(q*r+d*g+c*e),u[15]=1)} +(function(){function e(a,b,d){this.bf=/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent);this.height=this.width=0;this.Oa=!!d;this.tm=this.Hj=!1;this.Gl=0;this.fo=1;this.pr=1E3;this.uC=(this.pr-this.fo)/32768;this.Co=hc([0,0,100]);this.Ht=hc([0,0,0]);this.Av=hc([0,1,0]);this.Xk=hc([1,1,1]);this.Gs=!0;this.Mm=ic();this.qd=ic();this.Lp=ic();this.Ko=ic();this.K=a;this.version=0===this.K.getParameter(this.K.VERSION).indexOf("WebGL 2")?2:1;this.dt()}function p(a,b,d){this.K=a;this.Dk= +b;this.name=d;this.Ed=a.getAttribLocation(b,"aPos");this.kg=a.getAttribLocation(b,"aTex");this.Ft=a.getUniformLocation(b,"matP");this.Hm=a.getUniformLocation(b,"matMV");this.qi=a.getUniformLocation(b,"opacity");this.Rp=a.getUniformLocation(b,"colorFill");this.Gt=a.getUniformLocation(b,"samplerFront");this.$j=a.getUniformLocation(b,"samplerBack");this.bh=a.getUniformLocation(b,"destStart");this.ah=a.getUniformLocation(b,"destEnd");this.bk=a.getUniformLocation(b,"seconds");this.Tp=a.getUniformLocation(b, +"pixelWidth");this.Sp=a.getUniformLocation(b,"pixelHeight");this.Zj=a.getUniformLocation(b,"layerScale");this.Yj=a.getUniformLocation(b,"layerAngle");this.ck=a.getUniformLocation(b,"viewOrigin");this.ak=a.getUniformLocation(b,"scrollPos");this.KA=!!(this.Tp||this.Sp||this.bk||this.$j||this.bh||this.ah||this.Zj||this.Yj||this.ck||this.ak);this.Pt=this.Qt=-999;this.Lm=1;this.Lt=this.Kt=0;this.Nt=this.Jt=this.It=1;this.Tt=this.St=this.Rt=this.Vt=this.Ut=this.Mt=0;this.Kp=[];this.Ot=ic();this.qi&&a.uniform1f(this.qi, +1);this.Rp&&a.uniform4f(this.Rp,1,1,1,1);this.Gt&&a.uniform1i(this.Gt,0);this.$j&&a.uniform1i(this.$j,1);this.bh&&a.uniform2f(this.bh,0,0);this.ah&&a.uniform2f(this.ah,1,1);this.Zj&&a.uniform1f(this.Zj,1);this.Yj&&a.uniform1f(this.Yj,0);this.ck&&a.uniform2f(this.ck,0,0);this.ak&&a.uniform2f(this.ak,0,0);this.bk&&a.uniform1f(this.bk,0);this.Og=!1}function q(a,b){return a[0]===b[0]&&a[1]===b[1]&&a[2]===b[2]&&a[3]===b[3]&&a[4]===b[4]&&a[5]===b[5]&&a[6]===b[6]&&a[7]===b[7]&&a[8]===b[8]&&a[9]===b[9]&& +a[10]===b[10]&&a[11]===b[11]&&a[12]===b[12]&&a[13]===b[13]&&a[14]===b[14]&&a[15]===b[15]}function u(a,b){this.type=a;this.D=b;this.K=b.K;this.Oc=this.mc=this.ru=0;this.ja=this.Nd=null;this.$u=[]}var k=ic();e.prototype.dt=function(){var a=this.K,b;this.At=1;this.Ug=this.gg=null;this.Fl=1;a.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.BLEND);a.blendFunc(a.ONE,a.ONE_MINUS_SRC_ALPHA);a.disable(a.CULL_FACE);a.disable(a.STENCIL_TEST);a.disable(a.DITHER);this.Oa?(a.enable(a.DEPTH_TEST),a.depthFunc(a.LEQUAL)): +a.disable(a.DEPTH_TEST);this.Bt=a.ONE;this.zt=a.ONE_MINUS_SRC_ALPHA;this.Uk=new Float32Array(8E3*(this.Oa?3:2));this.Lk=new Float32Array(16E3);this.uq=new Float32Array(32E3);this.tq=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,this.tq);a.bufferData(a.ARRAY_BUFFER,this.uq.byteLength,a.DYNAMIC_DRAW);this.Tk=Array(4);this.Kk=Array(4);for(b=0;4>b;b++)this.Tk[b]=a.createBuffer(),a.bindBuffer(a.ARRAY_BUFFER,this.Tk[b]),a.bufferData(a.ARRAY_BUFFER,this.Uk.byteLength,a.DYNAMIC_DRAW),this.Kk[b]=a.createBuffer(), +a.bindBuffer(a.ARRAY_BUFFER,this.Kk[b]),a.bufferData(a.ARRAY_BUFFER,this.Lk.byteLength,a.DYNAMIC_DRAW);this.Qe=0;this.NA=a.createBuffer();a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.NA);for(var d=new Uint16Array(12E3),c=b=0;12E3>b;)d[b++]=c,d[b++]=c+1,d[b++]=c+2,d[b++]=c,d[b++]=c+2,d[b++]=c+3,c+=4;a.bufferData(a.ELEMENT_ARRAY_BUFFER,d,a.STATIC_DRAW);this.Di=this.tg=this.Pd=0;this.fb=[];b=this.Oa?"attribute highp vec3 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, aPos.z, 1.0);\n\tvTex = aTex;\n}": +"attribute highp vec2 aPos;\nattribute mediump vec2 aTex;\nvarying mediump vec2 vTex;\nuniform highp mat4 matP;\nuniform highp mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tvTex = aTex;\n}";d=this.mj({src:"varying mediump vec2 vTex;\nuniform lowp float opacity;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, vTex);\n\tgl_FragColor *= opacity;\n}"},b,"");this.fb.push(d);d=this.mj({src:"uniform mediump sampler2D samplerFront;\nvarying lowp float opacity;\nvoid main(void) {\n\tgl_FragColor = texture2D(samplerFront, gl_PointCoord);\n\tgl_FragColor *= opacity;\n}"}, +"attribute vec4 aPos;\nvarying float opacity;\nuniform mat4 matP;\nuniform mat4 matMV;\nvoid main(void) {\n\tgl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);\n\tgl_PointSize = aPos.z;\n\topacity = aPos.w;\n}","");this.fb.push(d);d=this.mj({src:"varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nvoid main(void) {\n\tif (texture2D(samplerFront, vTex).a < 1.0)\n\t\tdiscard;\n}"},b,"");this.fb.push(d);d=this.mj({src:"uniform lowp vec4 colorFill;\nvoid main(void) {\n\tgl_FragColor = colorFill;\n}"}, +b,"");this.fb.push(d);for(var f in mc)mc.hasOwnProperty(f)&&this.fb.push(this.mj(mc[f],b,f));a.activeTexture(a.TEXTURE0);a.bindTexture(a.TEXTURE_2D,null);this.Vd=[];this.xd=0;this.fc=this.Kb=!1;this.As=this.Rj=-1;this.Ih=null;this.To=a.createFramebuffer();this.Kl=this.qn=null;this.ns=!1;this.Oa&&(this.Kl=a.createRenderbuffer());this.ug=hc([0,0,0]);a=a.getParameter(a.ALIASED_POINT_SIZE_RANGE);this.jB=a[0];this.Xp=a[1];2048"===b.name&&a.vertexAttribPointer(b.Ed,4,a.FLOAT,!1,0,0));if(0"!==b.name&&a.vertexAttribPointer(b.Ed,this.Oa?3:2,a.FLOAT,!1,0,0);a.bindBuffer(a.ARRAY_BUFFER,this.Kk[this.Qe]);a.bufferSubData(a.ARRAY_BUFFER,0,this.Lk.subarray(0,this.tg));b&&0<=b.kg&&""!==b.name&&a.vertexAttribPointer(b.kg,2,a.FLOAT,!1,0,0)}for(var d,a=0,b=this.xd;ad||0>c)){var f=this.Ec();f.type=7;f.mc=1;f.ja||(f.ja=ic());f.ja[0]=a;f.ja[1]=b;f.ja[2]=d;f.ja[3]=c;this.fc=this.Kb=!1}};e.prototype.Su=function(a){if(this.Oa&&(a=!!a,this.Hj!==a)){var b=this.Ec();b.type=14;b.mc=a?1:0;this.fc=this.Kb=!1;this.Hj=a;this.qn=null;this.Hj?this.Uc(2):this.Uc(0)}};e.prototype.Qu=function(a){if(this.Oa){var b=this.Ec();b.type=13;b.mc= +a?1:0;this.fc=this.Kb=!1}};e.prototype.Os=function(){jc(this.Lp,k);this.Jd();this.ud();var a=this.width/2,b=this.height/2;this.Fi(-a,b,a,b,a,-b,-a,-b);jc(k,this.qd);this.ud()};e.prototype.Pu=function(a,b,d){this.Uc(3);var c=this.Ec();c.type=12;c.ja||(c.ja=ic());c.ja[0]=a;c.ja[1]=b;c.ja[2]=d;c.ja[3]=1;this.fc=this.Kb=!1};e.prototype.dC=function(){this.Uc(0)};e.prototype.RB=function(){this.Uc(2)};e.prototype.HB=function(){this.pe();this.K.flush()};var n=[],h={};e.prototype.Ly=function(){U(n);h={}}; +e.prototype.hg=function(a,b,d,c){b=!!b;d=!!d;var f=a.src+","+b+","+d+(b?",undefined":""),r=null;if("undefined"!==typeof a.src&&h.hasOwnProperty(f))return r=h[f],r.rl++,r;this.pe();var g=this.K,e=ma(a.width)&&ma(a.height),r=g.createTexture();g.bindTexture(g.TEXTURE_2D,r);g.pixelStorei(g.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);var k=g.RGBA,l=g.RGBA,m=g.UNSIGNED_BYTE;if(c&&!this.bf)switch(c){case 1:l=k=g.RGB;break;case 2:m=g.UNSIGNED_SHORT_4_4_4_4;break;case 3:m=g.UNSIGNED_SHORT_5_5_5_1;break;case 4:l=k= +g.RGB,m=g.UNSIGNED_SHORT_5_6_5}if(1===this.version&&!e&&b){c=document.createElement("canvas");c.width=na(a.width);c.height=na(a.height);var t=c.getContext("2d");"undefined"!==typeof t.imageSmoothingEnabled?t.imageSmoothingEnabled=d:(t.webkitImageSmoothingEnabled=d,t.mozImageSmoothingEnabled=d,t.msImageSmoothingEnabled=d);t.drawImage(a,0,0,a.width,a.height,0,0,c.width,c.height);g.texImage2D(g.TEXTURE_2D,0,k,l,m,c)}else g.texImage2D(g.TEXTURE_2D,0,k,l,m,a);b?(g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S, +g.REPEAT),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,g.REPEAT)):(g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_S,g.CLAMP_TO_EDGE),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_WRAP_T,g.CLAMP_TO_EDGE));d?(g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER,g.LINEAR),(e||2<=this.version)&&this.Gs?(g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.LINEAR_MIPMAP_LINEAR),g.generateMipmap(g.TEXTURE_2D)):g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.LINEAR)):(g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MAG_FILTER, +g.NEAREST),g.texParameteri(g.TEXTURE_2D,g.TEXTURE_MIN_FILTER,g.NEAREST));g.bindTexture(g.TEXTURE_2D,null);this.gg=null;r.zg=a.width;r.yg=a.height;r.rl=1;r.ts=f;n.push(r);return h[f]=r};e.prototype.Yc=function(a,b,d,c,f){this.pe();var r=this.K;this.bf&&(c=!1);var g=r.createTexture();r.bindTexture(r.TEXTURE_2D,g);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,a,b,0,r.RGBA,c?r.UNSIGNED_SHORT_4_4_4_4:r.UNSIGNED_BYTE,null);f?(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.REPEAT),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T, +r.REPEAT)):(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE));r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,d?r.LINEAR:r.NEAREST);r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,d?r.LINEAR:r.NEAREST);r.bindTexture(r.TEXTURE_2D,null);this.gg=null;g.zg=a;g.yg=b;n.push(g);return g};e.prototype.Iv=function(a,b,d){this.pe();var c=this.K;this.bf&&(d=!1);c.bindTexture(c.TEXTURE_2D,b);c.pixelStorei(c.UNPACK_PREMULTIPLY_ALPHA_WEBGL, +!0);try{c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,d?c.UNSIGNED_SHORT_4_4_4_4:c.UNSIGNED_BYTE,a)}catch(f){console&&console.error&&console.error("Error updating WebGL texture: ",f)}c.bindTexture(c.TEXTURE_2D,null);this.gg=null};e.prototype.deleteTexture=function(a){a&&("undefined"!==typeof a.rl&&1= +c?a[3]:256>=c?a[2]:512>=c?a[1]:a[0]}function q(){try{return!!window.indexedDB}catch(a){return!1}}function u(a){a.target.result.createObjectStore("saves",{keyPath:"slot"})}function k(a,c,b,f){try{var m=indexedDB.open("_C2SaveStates");m.onupgradeneeded=u;m.onerror=f;m.onsuccess=function(m){m=m.target.result;m.onerror=f;m.transaction(["saves"],"readwrite").objectStore("saves").put({slot:a,data:c}).onsuccess=b}}catch(d){f(d)}}function n(a,c,b){try{var f=indexedDB.open("_C2SaveStates");f.onupgradeneeded= +u;f.onerror=b;f.onsuccess=function(f){f=f.target.result;f.onerror=b;var m=f.transaction(["saves"]).objectStore("saves").get(a);m.onsuccess=function(){m.result?c(m.result.data):c(null)}}}catch(m){b(m)}}function h(){ha("Reloading for continuous preview");window.c2cocoonjs?CocoonJS.App.reload():-1d?(d*=c,5===g?(l=d*b/this.Ab,1l&&(l=1/Math.ceil(1/l)),d=this.Ab*l/b,l=this.zb*l/b,f=(a-d)/2,m=(c-l)/2,a=d,c=l):(f=(a-d)/2,a=d)):(l=a/d,5===g?(l=l*b/this.zb,1l&&(l=1/Math.ceil(1/l)),d=this.Ab*l/b,l=this.zb*l/b,f=(a-d)/2,m=(c-l)/2,a=d):m=(c-l)/2,c=l)):d&&0===g&&(f=Math.floor((a-this.Ab)/2),m=Math.floor((c-this.zb)/2),a=this.Ab,c=this.zb),2>g&&(this.hj= +b),this.Dl=Math.round(a),this.oj=Math.round(c),this.width=Math.round(a*b),this.height=Math.round(c*b),this.Z=!0,this.Jv?(this.V=this.width,this.U=this.height,this.jd=!0):this.widthd&&(this.U=this.V/g)):3===g&&(d=this.Ab/this.zb,g=this.mi/this.li,g>d?this.V=this.U*g:gf;)f++,a= +r.shift(),this.Tu(a[0],a[1])};e.prototype.Vk=function(a,b){a.cocoonLazyLoad=!0;a.onerror=function(b){c=a.rs=!0;console&&console.error&&console.error("Error loading image '"+a.src+"': ",b)};this.Dd?a.src=b:a.src||("undefined"!==typeof XAPKReader?XAPKReader.get(b,function(c){a.src=c},function(f){c=a.rs=!0;console&&console.error&&console.error("Error extracting image '"+b+"' from expansion file: ",f)}):(a.crossOrigin="anonymous",this.MB(a,b)));this.Wi.push(a)};e.prototype.$z=function(a){var c,b;c=0; +for(b=this.Wi.length;c=l)l=5E4;a+=l;d.src&&(d.complete||d.loaded)&&!d.rs?c+=l:f=!1}f&&this.EB&&this.Dh&&(y||(this.Dh.gC(),y=!0),b=this.Dh.pA(),c+=b,bthis.jg&&(this.$c||500<=m&&this.Ct!=this.be)){a.clearRect(0,0,g,l);var m=g/2,l=l/2,g=0===this.jg&&this.ig.Jm.complete,t=40*f,r=0,h=80*f,e;if(g){var n=this.ig.Jm,h=n.width*f;e=n.height*f;t=h/2;r=e/2;a.drawImage(n, +A(m-t),A(l-r),h,e)}1>=this.jg?(m=A(m-t)+.5,l=A(l+(r+(g?12*f:0)))+.5,a.fillStyle=c?"red":"DodgerBlue",a.fillRect(m,l,Math.floor(h*this.be),6*f),a.strokeStyle="black",a.strokeRect(m,l,h,6*f),a.strokeStyle="white",a.strokeRect(m-1*f,l-1*f,h+2*f,8*f)):2===this.jg&&(a.font=this.Dd?"12pt ArialMT":"12pt Arial",a.fillStyle=c?"#f00":"#999",a.ED="middle",f=Math.round(100*this.be)+"%",g=a.measureText?a.measureText(f):null,a.fillText(f,m-(g?g.width:0)/2,l));this.Ct=this.be}else if(4===this.jg){this.oz(a);b?b(function(){d.go()}): +setTimeout(function(){d.go()},16);return}}setTimeout(function(){d.go()},this.$c?10:100)}}};var l=-1,m="undefined"===typeof cr_is_preview?200:0,t=!0,P=!1,O=0,I=0,z="undefined"===typeof cr_is_preview?3E3:0,w=null,x=null,L=0;e.prototype.oz=function(a){if(!J){for(var b=Math.ceil(this.width),f=Math.ceil(this.height),d=this.ig.Jm,g=this.ig.DB,r=this.ig.rC,h=0;4>h;++h)if(!d[h].complete||!g[h].complete||!r[h].complete)return;0===L&&(l=Date.now());var h=Date.now(),e=!1,n=a,k,y;t||P?(a.clearRect(0,0,b,f),w&& +w.width===b&&w.height===f||(w=document.createElement("canvas"),w.width=b,w.height=f,x=w.getContext("2d")),n=x,e=!0,t&&1===L&&(l=Date.now())):a.globalAlpha=1;n.fillStyle="#333333";n.fillRect(0,0,b,f);256=z&&!P&&1<=this.be&&(P=!0,I=h);if(P&&h-I>=300+m||"undefined"!== +typeof cr_is_preview&&1<=this.be&&500>Date.now()-l)J=!0,P=t=!1,this.ig=x=w=null;++L}};e.prototype.IA=function(){this.ic&&(this.canvas.parentNode.removeChild(this.ic),this.ic=this.qq=null);this.Kn=Date.now();this.Wg=Wa();var a,c,b;if(this.lr)for(a=0,c=this.G.length;aa||2===this.zc&&cc&&(c=0),this.Fg=c/=1E3,.51/this.$t&&(this.Fg=1/this.$t));this.Am=a;this.Vf=this.Fg*this.wh;this.wb.add(this.Vf);this.Bf.add(c);a=(document.mozFullScreen||document.webkitIsFullScreen||document.fullScreen||!!document.msFullscreenElement|| +this.vm)&&!this.md;2<=this.zc||a&&0c||2===f&&ba++;)this.Fs(this.Xd);a=0;for(c=this.Ue.length;ac.Il.length&&c.Il.push(a)};e.prototype.Cl=function(a,c,b,f){if(a.M){var m=A(Math.random()*a.gh.length);return this.Cl(a.gh[m],c,b,f)}return a.Bd?this.Sf(a.Bd,c,!1,b,f,!1):null};var B=[];e.prototype.Sf=function(a,c,b,f,m,d){var g,l,t,r;if(!a)return null;var h=this.G[a[1]],e=h.na.bg;if(this.dg&&e&&!h.Dp||e&&!this.D&&11===a[0][11])return null;var n= +c;e||(c=null);var k;h.Il.length?(k=h.Il.pop(),k.kc=!0,h.na.P.call(k,h)):(k=new h.na.P(h),k.kc=!1);!b||d||this.nf.hasOwnProperty(a[2].toString())?k.uid=this.ik++:k.uid=a[2];this.nf[k.uid.toString()]=k;k.Hu=this.eu++;k.Qg=h.k.length;g=0;for(l=this.Yd.length;ga&&(a=0);a>=this.za.da.length&&(a=this.za.da.length-1);return this.za.da[a]};e.prototype.Go=function(a){var c,b;c=0;for(b=a.length;cr;++r)if(h=2*r-1,a.x=m+c*t*h,a.y=g+b*t*h,a.F(),!this.nc(a,d))if(d=this.ob(a))l=d;else return l&&this.mn(a,c*h,b*h,l),!0;a.x=m;a.y=g;a.F();return!1};e.prototype.mn=function(a,c,b,f){var m=2,g,d=!1;g=!1;for(var l=a.x,t=a.y;16>= +m;)g=1/m,m*=2,a.x+=c*g*(d?1:-1),a.y+=b*g*(d?1:-1),a.F(),this.nc(a,f)?g=d=!0:(g=d=!1,l=a.x,t=a.y);g&&(a.x=l,a.y=t,a.F())};e.prototype.Iu=function(a,c){var b=ja(c)?100:c,f=0,m=a.x,g=a.y,d=0,l=0,t=0,r=this.ob(a);if(!r)return!0;for(;f<=b;){switch(d){case 0:l=0;t=-1;f++;break;case 1:l=1;t=-1;break;case 2:l=1;t=0;break;case 3:t=l=1;break;case 4:l=0;t=1;break;case 5:l=-1;t=1;break;case 6:l=-1;t=0;break;case 7:t=l=-1}d=(d+1)%8;a.x=A(m+l*f);a.y=A(g+t*f);a.F();if(!this.nc(a,r)&&(r=this.ob(a),!r))return!0}a.x= +m;a.y=g;a.F();return!1};e.prototype.rf=function(a,c){a.zd&&c.zd&&this.mh.push([a,c])};e.prototype.uy=function(a,c,b){var f,m,g;f=0;for(m=this.mh.length;fr;r++)if(h=d-r*n,a.x=c+Math.cos(h)*g,a.y=b+Math.sin(h)*g,a.F(),!this.nc(a,t)&&(t=this.ob(a),!t)){e=h;break}36===r&&(e=Ja(d+ra));t=l;for(r=1;36>r;r++)if(h=d+r*n,a.x=c+Math.cos(h)*g,a.y=b+Math.sin(h)*g,a.F(),!this.nc(a,t)&&(t=this.ob(a),!t)){k=h;break}36===r&&(k=Ja(d+ra));a.x=f;a.y=m;a.F();if(k===e)return k;a=Na(k,e)/2;a=Qa(k,e)?Ja(e+a+ra):Ja(k+a);e=Math.cos(d);d=Math.sin(d); +k=Math.cos(a);a=Math.sin(a);c=e*k+d*a;return Ma(0,0,e-2*c*k,d-2*c*a)};var T=-1;e.prototype.trigger=function(a,c,b){if(!this.za)return!1;var f=this.za.Hg;if(!f)return!1;var m=!1,g,d,l;T++;var t=f.No;d=0;for(l=t.length;d=this.Up.length&&this.Up.push([])};e.prototype.AB=function(){this.Im--};e.prototype.Rs=function(){return this.Up[this.Im]};e.prototype.ln=function(a){this.Ol++;this.Ol>=this.Ro.length&&this.Ro.push(new Sb);var c=this.kb();c.reset(a);return c};e.prototype.gn=function(){this.Ol--};e.prototype.kb=function(){return this.Ro[this.Ol]};e.prototype.KB=function(){this.Km++;this.Km>=this.Wp.length&&this.Wp.push(ba({name:void 0,index:0,Yb:!1}));var a=this.iA();a.name= +void 0;a.index=0;a.Yb=!1;return a};e.prototype.BB=function(){this.Km--};e.prototype.iA=function(){return this.Wp[this.Km]};e.prototype.Ts=function(a,c){for(var b,f,m,g,d,l;c;){b=0;for(f=c.Md.length;bg||g>=a.Mb.length||(d=m[f],null===d&&(d=NaN),a.Mb[g]=d));if(t.bg){g= +c.w;a.u.qa!==g.l&&(m=a.u,a.u=this.za.im(g.l),a.u?(m.Gi(a,!0),a.u.gj(a,!0),a.F(),a.u.Bk(0)):(a.u=m,b||this.ke(a)));a.x=g.x;a.y=g.y;a.width=g.w;a.height=g.h;a.je=g.zi;a.q=g.hasOwnProperty("a")?g.a:0;a.opacity=g.hasOwnProperty("o")?g.o:1;a.Ac=g.hasOwnProperty("hX")?g.hX:.5;a.Bc=g.hasOwnProperty("hY")?g.hY:.5;a.visible=g.hasOwnProperty("v")?g.v:!0;a.zd=g.hasOwnProperty("ce")?g.ce:!0;a.hk=g.hasOwnProperty("mts")?g.mts:-1;a.pc=g.hasOwnProperty("bm")?g.bm:0;a.lj=gb(a.pc);this.K&&hb(a,a.pc,this.K);a.F(); +if(g.hasOwnProperty("fx"))for(b=0,m=g.fx.length;bd||(a.Gf[d]=g.fx[b].active,a.cb[d]=g.fx[b].params);a.ie()}if(l=c.behs)for(f in l)l.hasOwnProperty(f)&&(b=this.fA(a,parseInt(f,10)),0>b||a.W[b].lb(l[f]));c.data&&a.lb(c.data)};e.prototype.Ks=function(a,c,b){window.resolveLocalFileSystemURL(cordova.file.applicationDirectory+"www/"+a,function(a){a.file(c,b)},b)};e.prototype.Yz=function(a,c){this.Ks("data.js",function(b){var f=new FileReader;f.onload=function(c){a(c.target.result)}; +f.onerror=c;f.readAsText(b)},c)};var H=[],C=0;e.prototype.aq=function(){if(H.length&&!(8<=C)){C++;var a=H.shift();this.Wy(a.filename,a.iC,a.uz)}};e.prototype.Ls=function(a,c,b){var f=this;H.push({filename:a,iC:function(a){C--;f.aq();c(a)},uz:function(a){C--;f.aq();b(a)}});this.aq()};e.prototype.Wy=function(a,c,b){this.Ks(a,function(a){var b=new FileReader;b.onload=function(a){c(a.target.result)};b.readAsArrayBuffer(a)},b)};e.prototype.Zz=function(a,c,b){var f="",g=a.toLowerCase(),m=g.substr(g.length- +4),g=g.substr(g.length-5);".mp4"===m?f="video/mp4":".webm"===g?f="video/webm":".m4a"===m?f="audio/mp4":".mp3"===m&&(f="audio/mpeg");this.Ls(a,function(a){a=URL.createObjectURL(new Blob([a],{type:f}));c(a)},b)};e.prototype.RA=function(a){return/^(?:[a-z]+:)?\/\//.test(a)||"data:"===a.substr(0,5)||"blob:"===a.substr(0,5)};e.prototype.Tu=function(a,c){this.wm&&!this.RA(c)?this.Zz(c,function(c){a.src=c},function(a){alert("Failed to load image: "+a)}):a.src=c};e.prototype.xn=function(a,c){"undefined"!== +typeof a.imageSmoothingEnabled?a.imageSmoothingEnabled=c:(a.webkitImageSmoothingEnabled=c,a.mozImageSmoothingEnabled=c,a.msImageSmoothingEnabled=c)};Ub=function(a){return new e(document.getElementById(a))};Vb=function(a,c){return new e({dc:!0,width:a,height:c})};window.cr_createRuntime=Ub;window.cr_createDCRuntime=Vb;window.createCocoonJSRuntime=function(){window.c2cocoonjs=!0;var a=document.createElement("screencanvas")||document.createElement("canvas");a.ne=!0;document.body.appendChild(a);a=new e(a); +window.c2runtime=a;window.addEventListener("orientationchange",function(){window.c2runtime.setSize(window.innerWidth,window.innerHeight)});window.c2runtime.setSize(window.innerWidth,window.innerHeight);return a};window.createEjectaRuntime=function(){var a=new e(document.getElementById("canvas"));window.c2runtime=a;window.c2runtime.setSize(window.innerWidth,window.innerHeight);return a}})(); +window.cr_getC2Runtime=function(){var e=document.getElementById("c2canvas");return e?e.c2runtime:window.c2runtime?window.c2runtime:null};window.cr_getSnapshot=function(e,p){var q=window.cr_getC2Runtime();q&&q.Uy(e,p)};window.cr_sizeCanvas=function(e,p){if(0!==e&&0!==p){var q=window.cr_getC2Runtime();q&&q.setSize(e,p)}};window.cr_setSuspended=function(e){var p=window.cr_getC2Runtime();p&&p.setSuspended(e)}; +(function(){function e(a,b){this.b=a;this.Hg=null;this.scrollX=this.b.Ab/2;this.scrollY=this.b.zb/2;this.scale=1;this.q=0;this.Rh=!0;this.name=b[0];this.uB=b[1];this.tB=b[2];this.width=b[1];this.height=b[2];this.zv=b[3];this.av=b[4];this.qa=b[5];var d=b[6],g,h;this.da=[];this.Ej=[];g=0;for(h=d.length;g=this.da.length&&(m=this.da.length-1);k.u=this.da[m];-1===k.u.k.indexOf(k)&&k.u.k.push(k);k.u.yh=!0}if(!h)for(a=0,d=this.da.length;ad?k.siblings.push(l.k[d]):l.Bd&&(e=this.b.Sf(l.Bd,k.u,!0,k.x,k.y,!0),this.b.oc(),l.Xn(),k.siblings.push(e),n.push(e))); +a=0;for(d=this.ag.length;athis.width-b&&(a=this.width-b);athis.height-b&&(a=this.height-b);aM&&(M=0);0>F&&(F=0);W>E&&(W=E);K>R&&(K=R);0>D&&(D=0);0>N&&(N=0);Z>E&&(Z=E);ea>R&&(ea=R);C.left=M/E;C.top=1-F/R;C.right=W/E;C.bottom=1-K/R}else C.left=v.left=0,C.top=v.top=0,C.right=v.right=1,C.bottom=v.bottom=1;aa=d&& +(a.qk(h[0].Db)||0!==q||0!==aa||1!==d.opacity||d.type.na.bu)||b&&!d&&1!==b.opacity;a.Ou();if(aa){p[G]||(p[G]=a.Yc(E,R,this.b.Ka));if(p[G].zg!==E||p[G].yg!==R)a.deleteTexture(p[G]),p[G]=a.Yc(E,R,this.b.Ka);a.Uc(0);a.Kd(p[G]);S=ea-N;a.clearRect(D,R-N-S,Z-D,S);d?d.Hb(a):(a.vc(this.b.Nb),a.Fe(b.opacity),a.Jd(),a.translate(-T,-H),a.ud(),a.Id(M,K,W,K,W,F,M,F,C));v.left=v.top=0;v.right=v.bottom=1;d&&(L=C.top,C.top=C.bottom,C.bottom=L);G=1;B=0}a.Fe(1);q=h.length-1;var xa=a.wq(h[q].Db)||!b&&!d&&!this.b.jd; +z=L=0;for(u=h.length;zd||(b&&this.vd&&a.Sc&&a.Sc.right>=a.Sc.left&&(a.Ia(),this.lc.update(a,a.Sc,null),a.Sc.set(0,0,-1,-1)),d===this.k.length- +1?this.k.pop():(za(this.k,d),this.Bk(d)),this.de=!0)};q.prototype.gj=function(a,b){a.je=this.k.length;this.k.push(a);b&&this.vd&&a.Sc&&a.F();this.de=!0};q.prototype.GB=function(a){this.k.unshift(a);this.Bk(0)};q.prototype.lB=function(a,b,d){var g=a.ue();b=b.ue();za(this.k,g);gthis.Ba||d.top>this.Aa||(b.globalCompositeOperation=a.lj,a.Mc(b))}};q.prototype.Zn=function(){this.Te=!0;var a=this.Eb(0,0,!0,!0),b=this.Eb(0,0,!1,!0);this.Te= +!1;this.b.uc&&(a=Math.round(a),b=Math.round(b));this.rn(a,b,null)};q.prototype.rn=function(a,b,d){var g=this.Nc();this.ra=a;this.ta=b;this.Ba=a+1/g*this.b.V;this.Aa=b+1/g*this.b.U;this.ra>this.Ba&&(a=this.ra,this.ra=this.Ba,this.Ba=a);this.ta>this.Aa&&(a=this.ta,this.ta=this.Aa,this.Aa=a);a=this.Jb();0!==a&&(d&&(d.translate(this.b.V/2,this.b.U/2),d.rotate(-a),d.translate(this.b.V/-2,this.b.U/-2)),this.xf.set(this.ra,this.ta,this.Ba,this.Aa),this.xf.offset((this.ra+this.Ba)/-2,(this.ta+this.Aa)/-2), +this.uv.Zu(this.xf,a),this.uv.qs(this.xf),this.xf.offset((this.ra+this.Ba)/2,(this.ta+this.Aa)/2),this.ra=this.xf.left,this.ta=this.xf.top,this.Ba=this.xf.right,this.Aa=this.xf.bottom)};q.prototype.Uf=function(a){if(this.Be=this.em){this.b.Nb||(this.b.Nb=a.Yc(this.b.V,this.b.U,this.b.Ka));if(this.b.Nb.zg!==this.b.V||this.b.Nb.yg!==this.b.U)a.deleteTexture(this.b.Nb),this.b.Nb=a.Yc(this.b.V,this.b.U,this.b.Ka);a.Kd(this.b.Nb)}this.Te=!0;var b=this.Eb(0,0,!0,!0),d=this.Eb(0,0,!1,!0);this.Te=!1;this.b.uc&& +(b=Math.round(b),d=Math.round(d));this.rn(b,d,null);b=this.Nc();a.Jd();a.scale(b,b);a.sn(-this.Jb());a.translate((this.ra+this.Ba)/-2,(this.ta+this.Aa)/-2);a.ud();this.vd?(this.ac.left=this.lc.Ic(this.ra),this.ac.top=this.lc.Jc(this.ta),this.ac.right=this.lc.Ic(this.Ba),this.ac.bottom=this.lc.Jc(this.Aa),this.de||!this.ac.qj(this.ni)?(k(this.ef),b=this.hp(),this.de=!1,this.ni.Hh(this.ac)):b=this.ef):b=this.k;for(var g,h=null,d=b.length-1;0<=d;--d)g=b[d],g!==h&&(this.mz(b[d],a),h=g);this.vd&&(this.ef= +b);this.he||(this.Ho=this.b.Gg++,a.yn(this.Ho),a.Pu(1,1,1),a.Os(),a.RB())};q.prototype.Hb=function(a){var b=0,d=0;if(this.Be=this.em||1!==this.opacity||0this.Ba||d.top>this.Aa||(b.yn(a.Gg),a.Gv?this.nz(a,b):(b.Uc(0),b.rg(a.wc,a.rc),a.Hb(b)))}};q.prototype.mz=function(a,b){if(a.visible&&0!==a.width&&0!==a.height){a.Ia();var d=a.Na;d.rightthis.Ba||d.top>this.Aa||(a.Gg=this.b.Gg++,0===a.pc&&1===a.opacity&&a.tf&&a.Uf&&(b.yn(a.Gg),a.Uf(b)))}};q.prototype.nz=function(a,b){var d=a.Ca[0].Db,g=a.Ca[0].index,h=this.Nc();if(1!==a.Ca.length||b.wq(d)||b.IB(d)||(a.q||a.u.Jb())&&b.qk(d)||1!==a.opacity||a.type.na.bu)this.xb.Bq(b,this,a,this.Be?this.b.Nb:this.xb.xj()),b.Jd(),b.scale(h,h),b.sn(-this.Jb()),b.translate((this.ra+this.Ba)/-2,(this.ta+this.Aa)/-2),b.ud();else{b.Uc(d);b.rg(a.wc,a.rc);b.kn(d)&&(this.b.Z=!0);var e=0,l=0,m= +0,t=0;b.qk(d)&&(t=a.Na,e=this.$a(t.left,t.top,!0,!0),l=this.$a(t.left,t.top,!1,!0),m=this.$a(t.right,t.bottom,!0,!0),t=this.$a(t.right,t.bottom,!1,!0),e=e/windowWidth,l=1-l/windowHeight,m=m/windowWidth,t=1-t/windowHeight);var k;a.$b&&a.$b.H?(k=a.$b.H,d=1/k.width,k=1/k.height):(d=1/a.width,k=1/a.height);b.Ii(this.Be?this.b.Nb:this.xb.xj(),d,k,e,l,m,t,h,this.Jb(),this.ra,this.ta,(this.ra+this.Ba)/2,(this.ta+this.Aa)/2,this.b.wb.X,a.cb[g]);a.Hb(b)}};q.prototype.Eb=function(a,b,d,g){var h=this.b.devicePixelRatio; +this.b.Sg&&(a*=h,b*=h);var h=this.b.yu,e=this.b.zu,h=(this.xb.scrollX-h)*this.Qc+h,e=(this.xb.scrollY-e)*this.Rc+e,l=h,m=e,t=1/this.Nc(!g);g?(l-=this.b.V*t/2,m-=this.b.U*t/2):(l-=this.b.width*t/2,m-=this.b.height*t/2);l+=a*t;m+=b*t;b=this.Jb();0!==b&&(l-=h,m-=e,a=Math.cos(b),b=Math.sin(b),g=l*a-m*b,m=m*a+l*b,l=g+h,m+=e);return d?l:m};q.prototype.$a=function(a,b,d,g){var h=this.b.yu,e=this.b.zu,l=(this.xb.scrollX-h)*this.Qc+h,m=(this.xb.scrollY-e)*this.Rc+e,e=l,h=m,t=this.Jb();if(0!==t){a-=l;b-=m; +var k=Math.cos(-t),t=Math.sin(-t),n=a*k-b*t;b=b*k+a*t;a=n+l;b+=m}l=1/this.Nc(!g);g?(e-=this.b.V*l/2,h-=this.b.U*l/2):(e-=this.b.width*l/2,h-=this.b.height*l/2);e=(a-e)/l;h=(b-h)/l;a=this.b.devicePixelRatio;this.b.Sg&&!g&&(e/=a,h/=a);return d?e:h};q.prototype.ab=function(){var a,b,d,g={s:this.scale,a:this.q,vl:this.ra,vt:this.ta,vr:this.Ba,vb:this.Aa,v:this.visible,bc:this.Ud,t:this.he,px:this.Qc,py:this.Rc,o:this.opacity,zr:this.xc,fx:[],cg:this.nj,instances:[]};a=0;for(b=this.ba.length;aa[1].index&&(b=a[0],a[0]=a[1],a[1]=b):2=y.length&&(y.length=a.length+1);y[a.length]||(y[a.length]=[]);g=y[a.length];b=0;for(c=g.length;b=b.length&&(b.length=this.dh+1),b[this.dh]=a):this.data=a};f.prototype.yj=function(){var a=this.b.Rs();return!this.parent||this.Nj||!a||this.ym?this.data:this.dh>=a.length||"undefined"===typeof a[this.dh]?this.tp:a[this.dh]};f.prototype.Cb=function(){!this.parent||this.Nj||this.ym||this.ph(this.tp)};Tb= +f;r.prototype.toString=function(){return"include:"+this.Dj.toString()};r.prototype.nb=function(){this.Dj=this.b.So[this.MA];this.sheet.ct.add(this);this.Ja=q(this.Ja);for(var a=this.parent;a;)a.group&&a.zl.push(this),a=a.parent;this.Bv()};r.prototype.Cb=function(){this.parent&&this.b.sk(this.b.G);this.Dj.pp||this.Dj.Cb(!0);this.parent&&this.b.ng(this.b.G)};r.prototype.Bv=function(){for(var a=this.parent;a;){if(a.group&&!a.Ng){this.Wa=!1;return}a=a.parent}this.Wa=!0};cc=r;g.prototype.reset=function(a){this.sb= +a;this.Lc=this.rb=0;U(this.lv);this.Po=this.Vg=!1};g.prototype.XA=function(){return this.sb.Rq?!0:this.rb=this.type&&(this.first= +new ac(h,a[1]),this.second=new ac(h,a[2]));if(b){var d,c;d=0;for(c=b.length;d=a||e<=-a)e%=a;0>e&&(e+=a);f.apply(k[e],b)};e.prototype.Bz=function(h){var a=this.lf,b=this.eb,d=this.fa,c=this.Zd,f=this.Wd,e=this.cc,g=this.Ta.uf,k=a.ca(),u=k.Zc();if(!u.length)if(k.la.length)u=k.la;else{this.Hi?h.Fc(""):h.La(0);return}b[0]=h;h.ih=a;h=p();q(d,b,h);c&&(c.get(h),h.Ub()&&(g=h.data,u=a.k));--n;d=u.length;if(g>=d||g<=-d)g%=d;0>g&&(g+=d);g=u[g];u=0;a.M&&(u=g.type.Qh[a.Ve]);e.apply(g.W[f+u],b)};e.prototype.Jz=function(h){var a=this.Zd,b=this.lf,d=this.Hv,c=this.Ta.uf,f=b.ca(),e=f.Zc(); +if(!e.length)if(f.la.length)e=f.la;else{this.Hi?h.Fc(""):h.La(0);return}if(a){f=p();a.get(f);if(f.Ub()){c=f.data;e=b.k;0!==e.length&&(c%=e.length,0>c&&(c+=e.length));c=b.fp(c);b=c.Mb[d];la(b)?h.Fc(b):h.O(b);--n;return}--n}a=e.length;if(c>=a||c<=-a)c%=a;0>c&&(c+=a);c=e[c];e=0;b.M&&(e=c.type.Tl[b.Ve]);b=c.Mb[d+e];la(b)?h.Fc(b):h.O(b)};e.prototype.Kz=function(h){h.type=dc.Ah;h.data=this.value};e.prototype.Gz=function(h){h.type=dc.zh;h.data=this.value};e.prototype.Tz=function(h){h.type=dc.String;h.data= +this.value};e.prototype.Wz=function(h){this.first.get(h);h.Ub()&&(h.data=-h.data)};e.prototype.vz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data+=a.data,a.ci()&&h.ri());--n};e.prototype.Uz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data-=a.data,a.ci()&&h.ri());--n};e.prototype.Oz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data*=a.data,a.ci()&&h.ri());--n};e.prototype.Dz=function(h){this.first.get(h); +var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data/=a.data,h.ri());--n};e.prototype.Nz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data%=a.data,a.ci()&&h.ri());--n};e.prototype.Sz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data=Math.pow(h.data,a.data),a.ci()&&h.ri());--n};e.prototype.wz=function(h){this.first.get(h);var a=p();this.second.get(a);a.fi()||h.fi()?this.yz(h,a):this.xz(h,a);--n};e.prototype.yz=function(h,a){h.fi()&& +a.fi()?this.Az(h,a):this.zz(h,a)};e.prototype.Az=function(h,a){h.data+=a.data};e.prototype.zz=function(h,a){h.fi()?h.data+=(Math.round(1E10*a.data)/1E10).toString():h.Fc(h.data.toString()+a.data)};e.prototype.xz=function(h,a){h.La(h.data&&a.data?1:0)};e.prototype.Rz=function(h){this.first.get(h);var a=p();this.second.get(a);h.Ub()&&a.Ub()&&(h.data||a.data?h.La(1):h.La(0));--n};e.prototype.Cz=function(h){this.first.get(h);h.data?this.second.get(h):this.Pn.get(h)};e.prototype.Ez=function(h){this.first.get(h); +var a=p();this.second.get(a);h.La(h.data===a.data?1:0);--n};e.prototype.Pz=function(h){this.first.get(h);var a=p();this.second.get(a);h.La(h.data!==a.data?1:0);--n};e.prototype.Lz=function(h){this.first.get(h);var a=p();this.second.get(a);h.La(h.dataa.data?1:0);--n};e.prototype.Iz=function(h){this.first.get(h); +var a=p();this.second.get(a);h.La(h.data>=a.data?1:0);--n};e.prototype.Fz=function(h){var a=this.Ig.yj();ka(a)?h.O(a):h.Fc(a)};ac=e;u.prototype.ci=function(){return this.type===dc.zh};u.prototype.Ub=function(){return this.type===dc.Ah||this.type===dc.zh};u.prototype.fi=function(){return this.type===dc.String};u.prototype.ri=function(){this.ci()||(this.fi()&&(this.data=parseFloat(this.data)),this.type=dc.zh)};u.prototype.La=function(h){this.type=dc.Ah;this.data=Math.floor(h)};u.prototype.O=function(h){this.type= +dc.zh;this.data=h};u.prototype.Fc=function(h){this.type=dc.String;this.data=h};u.prototype.An=function(h){ka(h)?(this.type=dc.zh,this.data=h):la(h)?(this.type=dc.String,this.data=h.toString()):(this.type=dc.Ah,this.data=0)};$b=u;dc={Ah:0,zh:1,String:2}})();function X(e){this.b=e;this.Vc=[]} +X.prototype.ab=function(){var e={},p,q,u,k,n,h,a,b;e.waits=[];var d=e.waits,c;p=0;for(q=this.Vc.length;p=c+h)return d.N.Every_lastTime=c+h,f>=d.N.Every_lastTime+.04&&(d.N.Every_lastTime=f),d.N.Every_seconds=a,!0;f +b)){var d,c,f,e=this.b.kb(),g;h.length?g=h.pop():g={Gc:{},Ja:[]};g.Oo=!1;g.time=this.b.wb.X+b;g.dv="";g.Qq=!1;g.Oh=e.sb;g.Lc=e.Lc+1;b=0;for(d=this.b.G.length;bh&&(d=h);a.O(d)};q.prototype.Vf=function(a){a.O(this.b.Vf)};q.prototype.wh= +function(a){a.O(this.b.wh)};q.prototype.time=function(a){a.O(this.b.wb.X)};q.prototype.fe=function(a){a.La(this.b.fe)};q.prototype.Qm=function(a){a.La(this.b.Qm)};q.prototype.Wo=function(a){a.La(this.b.Wo)};q.prototype.q=function(a,d,c,f,h){a.O(Ha(Ma(d,c,f,h)))};q.prototype.left=function(a,d,c){a.Fc(la(d)?d.substr(0,c):"")};q.prototype.right=function(a,d,c){a.Fc(la(d)?d.substr(d.length-c):"")};q.prototype.replace=function(a,d,c,f){la(d)&&la(c)&&la(f)?a.Fc(d.replace(new RegExp(ab(c),"gi"),f)):a.Fc(la(d)? +d:"")};q.prototype.trim=function(a,d){a.Fc(la(d)?d.trim():"")};q.prototype.dB=function(a){this.b.za?a.Fc(this.b.za.name):a.Fc("")};q.prototype.Jy=function(a){var d=A(Math.random()*(arguments.length-1));a.An(arguments[d+1])};q.prototype.Io=function(a){a.O(this.b.Io/1E3)};q.prototype.Gm=function(a){a.O(this.b.Gm)};u.ea=new q;u.UB=function(){var b,d,c,f,e,g,k=this.b.kb();b=0;for(c=this.Vc.length;bthis.b.wb.X)continue;k.sb=f.Oh;k.Lc= +f.Lc;k.rb=0;for(d in f.Gc)f.Gc.hasOwnProperty(d)&&(e=this.b.G[parseInt(d,10)].ca(),g=f.Gc[d],e.ka=g.un,Ba(e.k,g.Ze),e=g,U(e.Ze),a.push(e));f.Oh.TB();this.b.Go(f.Ja);f.Oo=!0}d=b=0;for(c=this.Vc.length;ba.Ba||b.top>a.Aa)},c.GC=function(){this.Ia();var a=this.Na,b=this.b.za;return 0>a.right||0>a.bottom||a.left>b.width||a.top>b.height},c.RC=function(a,b,c){var d=this.ca(), +f=d.Zc();if(!f.length)return!1;var h=f[0],e=h,k=Sa(h.x,h.y,b,c),n,r,p;n=1;for(r=f.length;nk)k=p,e=h;d.ok(e);return!0},f.dD=function(a){this.x!==a&&(this.x=a,this.F())},f.$x=function(a){this.y!==a&&(this.y=a,this.F())},f.bD=function(a,b){if(this.x!==a||this.y!==b)this.x=a,this.y=b,this.F()},f.Ux=function(a,b){var c=a.oA(this);if(c){var d;c.Lg?(d=c.Lg(b,!0),c=c.Lg(b,!1)):(d=c.x,c=c.y);if(this.x!==d||this.y!==c)this.x=d,this.y=c,this.F()}},f.KC= +function(a){0!==a&&(this.x+=Math.cos(this.q)*a,this.y+=Math.sin(this.q)*a,this.F())},f.JC=function(a,b){0!==b&&(this.x+=Math.cos(V(a))*b,this.y+=Math.sin(V(a))*b,this.F())},r.ro=function(a){a.O(this.x)},r.so=function(a){a.O(this.y)},r.Vf=function(a){a.O(this.b.Zf(this))});n&&(c.aw=function(a,b){return ec(this.width,a,b)},c.AC=function(a,b){return ec(this.height,a,b)},f.Wr=function(a){this.width!==a&&(this.width=a,this.F())},f.$C=function(a){this.height!==a&&(this.height=a,this.F())},f.Vx=function(a, +b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.F()},r.jy=function(a){a.O(this.width)},r.rw=function(a){a.O(this.height)},r.xC=function(a){this.Ia();a.O(this.Na.left)},r.zC=function(a){this.Ia();a.O(this.Na.top)},r.yC=function(a){this.Ia();a.O(this.Na.right)},r.wC=function(a){this.Ia();a.O(this.Na.bottom)});h&&(c.Ov=function(a,b){return Na(this.q,V(b))<=V(a)},c.zw=function(a){return Qa(this.q,V(a))},c.ww=function(a,b){var c=La(a),d=La(b),f=Ja(this.q);return Qa(d,c)?Qa(f,c)&& +!Qa(f,d):!(!Qa(f,c)&&Qa(f,d))},f.Tr=function(a){a=V(Ia(a));isNaN(a)||this.q===a||(this.q=a,this.F())},f.VC=function(a){0===a||isNaN(a)||(this.q+=V(a),this.q=Ja(this.q),this.F())},f.WC=function(a){0===a||isNaN(a)||(this.q-=V(a),this.q=Ja(this.q),this.F())},f.XC=function(a,b){var c=Oa(this.q,V(b),V(a));isNaN(c)||this.q===c||(this.q=c,this.F())},f.YC=function(a,b,c){a=Oa(this.q,Math.atan2(c-this.y,b-this.x),V(a));isNaN(a)||this.q===a||(this.q=a,this.F())},f.cD=function(a,b){var c=Math.atan2(b-this.y, +a-this.x);isNaN(c)||this.q===c||(this.q=c,this.F())},r.Nv=function(a){a.O(Ka(this.q))});u||(c.Yv=function(a,b,c){return ec(this.Mb[a],b,c)},c.xw=function(a){return this.Mb[a]},c.SC=function(a,b){var c=this.ca(),d=c.Zc();if(!d.length)return!1;var f=d[0],h=f,e=f.Mb[b],k,n,r;k=1;for(n=d.length;ke)e=r,h=f;c.ok(h);return!0},c.QC=function(a){var b,c,d,f,h;if(this.b.Uh().Zh){h=this.ca();if(h.ka)for(h.ka=!1,U(h.k),U(h.la),d=this.k,b=0,c=d.length;ba?a=0:1f.u.index||d.u.index===f.u.index&&d.ue()>f.ue())f=d}else if(d.u.indexc)){var d=1===a;this.Gf[c]!==d&&(this.Gf[c]=d,this.ie(),this.b.Z=!0)}}},f.ZC=function(a,b,c){if(this.b.D){var d=this.type.ep(a);0>d||(a=this.type.ba[d],d=this.cb[d],b=Math.floor(b),0>b||b>=d.length||(1===this.b.D.sA(a.Db,b)&&(c/=100),d[b]!==c&&(d[b]=c,a.Wa&&(this.b.Z=!0))))}})};Hb=function(){this.Fo=this.ql=!0;this.type.jl=!0;this.b.Z=!0;var e,q,u=this.Bo;e=0;for(q=u.length;eu;case 5:return e>=u;default:return!1}}})(); +var mc={replacecolor:{src:"varying mediump vec2 vTex;\nuniform lowp sampler2D samplerFront;\nuniform mediump float rsource;\nuniform mediump float gsource;\nuniform mediump float bsource;\nuniform mediump float rdest;\nuniform mediump float gdest;\nuniform mediump float bdest;\nuniform lowp float tolerance;\nvoid main(void)\n{\nlowp vec4 front = texture2D(samplerFront, vTex);\nlowp float a = front.a;\nif (a != 0.0)\nfront.rgb /= a;\nlowp float diff = length(front.rgb - vec3(rsource, gsource, bsource) / 255.0);\nif (diff <= tolerance)\n{\nfront.rgb = mix(front.rgb, vec3(rdest, gdest, bdest) / 255.0, 1.0 - diff / tolerance);\n}\nfront.rgb *= a;\ngl_FragColor = front;\n}",Pl:0, +Ql:0,Jo:!1,Gd:!0,zo:!1,fa:[["rsource",0,0],["gsource",0,0],["bsource",0,0],["rdest",0,0],["gdest",0,0],["bdest",0,0],["tolerance",0,1]]}};function rc(e){this.b=e} +(function(){function e(a){-1===sb.indexOf(a)&&sb.push(a)}function p(a){var b=a.A,c;try{c=b.play()}catch(d){e(a);return}c?c.catch(function(){e(a)}):Mc&&!E.ub&&e(a)}function q(){var a,b,c,d;Nc||xa||!v||(u(),"running"===v.state&&(Nc=!0));var f=sb.slice(0);U(sb);if(!Z)for(a=0,b=f.length;aa&&(a=0);1a&&(a=.01);this.jn.gain.value=a;this.hn.gain.value=Math.pow(1/a,.6)* +b};P.prototype.shape=function(a,b,c){var d=1.05*c*b-b;c=0>a?-1:1;a=0>a?-a:a;b=ag;++g)f=g/32768,f=this.shape(f,c,d),this.Hl[32768+g]=f,this.Hl[32768-g-1]=-f};P.prototype.Ad=function(a){this.aa.disconnect();this.aa.connect(a);this.Y.disconnect();this.Y.connect(a)};P.prototype.remove=function(){this.wa.disconnect();this.jn.disconnect();this.bo.disconnect();this.hn.disconnect(); +this.aa.disconnect();this.Y.disconnect()};P.prototype.kd=function(){return this.wa};O.prototype.Ad=function(a){this.ya.disconnect();this.ya.connect(a)};O.prototype.remove=function(){this.ya.disconnect()};O.prototype.kd=function(){return this.ya};I.prototype.Ma=function(){this.ya.getFloatFrequencyData(this.bA);this.ya.getByteTimeDomainData(this.bv);for(var a=this.ya.fftSize,b=0,c=this.mk=0,d=0;bd&&(d=-d),this.mkb&&(c=b);return c};x.prototype.$h=function(){return!this.ad&&!this.te&&!this.Yb&&!this.Pg()};x.prototype.eC=function(){return!this.te&&!this.Yb&&!this.Pg()};x.prototype.mC=function(){var a=this.volume*K;isFinite(a)||(a=0);switch(this.ma){case 0:"undefined"!==typeof this.A.volume&&this.A.volume!==a&&(this.A.volume=a);break;case 1:1===this.buffer.ma?this.Ib.gain.value=a*this.vi:"undefined"!==typeof this.A.volume&&this.A.volume!==a&&(this.A.volume=a)}};x.prototype.Nl=function(a){switch(this.ma){case 0:this.A.muted!== +!!a&&(this.A.muted=!!a);break;case 1:1===this.buffer.ma?(this.vi=a?0:1,this.Ib.gain.value=K*this.volume*this.vi):this.A.muted!==!!a&&(this.A.muted=!!a)}};x.prototype.Uu=function(a){this.di=!!a;this.Nl(this.di||this.Mj)};x.prototype.Vu=function(a){this.Mj=!!a;this.Nl(this.di||this.Mj)};x.prototype.Yn=function(){var a=this.playbackRate;this.ai&&(a*=E.wh);switch(this.ma){case 0:this.A.playbackRate!==a&&(this.A.playbackRate=a);break;case 1:1===this.buffer.ma?this.A.playbackRate.value!==a&&(this.A.playbackRate.value= +a):this.A.playbackRate!==a&&(this.A.playbackRate=a)}};x.prototype.cC=function(a){switch(this.ma){case 0:a?this.$h()?(this.sd=!0,this.A.pause()):this.sd=!1:this.sd&&(this.A.play(),this.sd=!1);break;case 1:a?this.$h()?(this.sd=!0,1===this.buffer.ma?(this.Tc=this.gp(!0),this.xe&&(this.Tc=this.Tc%this.Kg()),c(this.A)):this.A.pause()):this.sd=!1:this.sd&&(1===this.buffer.ma?(this.A=v.createBufferSource(),this.A.buffer=this.buffer.xa,this.A.connect(this.Ib),this.A.onended=this.oq,this.gl=this.A,this.A.loop= +this.xe,this.Ib.gain.value=K*this.volume*this.vi,this.Yn(),this.startTime=(this.ai?E.wb.X:E.Bf.X)-this.Tc/(this.playbackRate||.001),d(this.A,this.Tc,this.Kg())):this.A.play(),this.sd=!1);break;case 2:a?this.$h()?(this.A.pause(),this.sd=!0):this.sd=!1:this.sd&&(this.sd=!1,this.A.play())}};S.P=function(a){this.type=a;E=this.b=a.b;R=this;this.dd=null;this.Wj=-600;this.b.wm&&(tb=!0);!(this.b.gi||this.b.Gj&&(this.b.zp||this.b.rm))||this.b.um||this.b.Sa||this.b.jt||tb||(Mc=!0);v=null;"undefined"!==typeof AudioContext? +(C=1,v=new AudioContext):"undefined"!==typeof webkitAudioContext&&(C=1,v=new webkitAudioContext);this.b.gi&&v&&(v.close&&v.close(),"undefined"!==typeof AudioContext?v=new AudioContext:"undefined"!==typeof webkitAudioContext&&(v=new webkitAudioContext));1!==C&&(this.b.md&&"undefined"!==typeof window.Media?C=2:this.b.kt&&(C=3));2===C&&(H=location.href,a=H.lastIndexOf("/"),-1"!==b&&(a.cn=b,a.Vp=d,a.mr=f),null;h=new x(a,b);D.push(h);return h};var Ga=[];B.prototype.$k=function(a){return jb(T,a)}; +B.prototype.Jw=function(a){L(a);var b;a=0;for(b=Ga.length;ac&&(c=0),1a?null:h[a];return d?jb(b,d.name):!1};q.prototype.Zv=function(b,d,c){var f=0>a?null:h[a];if(!f)return!1;b=A(b);return 0>b||b>=f.mb.length?!1:ec(f.mb[b],d,c)};n.n=new q;u.prototype.CallFunction=function(b,d){var c=p();c.name=b.toLowerCase();c.wk=0;Ba(c.mb,d);this.b.trigger(qc.prototype.n.bl,this,c.name);a--};n.C=new u;k.prototype.Cx=function(b, +d){d=A(d);var c=0>a?null:h[a];c?0<=d&&de;++e)if(this.ki[e]){this.ki[e]=!1;this.yf=e;this.b.trigger(tc.prototype.n.ur,this);var n=this.b.trigger(tc.prototype.n.Ir,this),h=this.b.trigger(tc.prototype.n.Hr,this);if(n||h)this.Pk[e]=!0}};q.ab=function(){return{triggerKey:this.yf}};q.lb=function(e){this.yf=e.triggerKey};e.prototype.Cw=function(e){return this.ki[e]};e.prototype.Gr=function(e){return e===this.yf};e.prototype.Uw=function(){return!0}; +e.prototype.ur=function(){return!0};e.prototype.Ir=function(e){return e===this.yf};e.prototype.ix=function(e){return e===this.yf};e.prototype.Hr=function(e){return e===this.yf};p.n=new e;p.C=new function(){};p.ea=new function(){}})();var uc=!1; +try{!function(){var e,p,q;!function(){var u={},k={};e=function(e,h,a){u[e]={Ry:h,Gy:a}};q=p=function(e){function h(a){if("."!==a.charAt(0))return a;a=a.split("/");for(var b=e.split("/").slice(0,-1),c=0,d=a.length;d>c;c++){var f=a[c];".."===f?b.pop():"."!==f&&b.push(f)}return b.join("/")}if(q.iD=u,k[e])return k[e];if(k[e]={},!u[e])throw Error("Could not find module "+e);for(var a,b=u[e],d=b.Ry,b=b.Gy,c=[],f=0,r=d.length;r>f;f++)"exports"===d[f]?c.push(a={}):c.push(p(h(d[f])));d=b.apply(this,c);return k[e]= +a||d}}();e("promise/all",["./utils","exports"],function(e,k){var n=e.isArray,h=e.isFunction;k.all=function(a){if(!n(a))throw new TypeError("You must pass an array to all.");return new this(function(b,d){function c(a){return function(c){e[a]=c;0===--g&&b(e)}}var f,e=[],g=a.length;0===g&&b([]);for(var k=0;kc;c++){var f=a[c];this.supports(f)&&b.push(f)}return b},e.prototype.Zr=function(){for(var a=0;ag;g++)f[g]=b.charCodeAt(g);return u([d],{type:a.type})}function d(a){var b=this,c=b.vo().then(function(){var a=x[b.Da.name];return a&&a.Jh?a.Jh:void 0});return c.then(a,a),c}function c(a){a=x[a.name];var b={};b.promise=new Promise(function(a){b.resolve=a});a.Cs.push(b);a.Jh?a.Jh=a.Jh.then(function(){return b.promise}): +a.Jh=b.promise}function f(a){function b(){return Promise.resolve()}var c=this,f={db:null};if(a)for(var g in a)f[g]=a[g];x||(x={});var l=x[f.name];l||(l={cm:[],db:null,Jh:null,Cs:[]},x[f.name]=l);l.cm.push(c);c.vo||(c.vo=c.ready,c.ready=d);a=[];for(g=0;gf.db.version;(f.versionf.version&&(f.version=b)),b=!0):b=!1}else b=!0;return b?r(f,!0):a}).then(function(a){f.db=l.db=a;c.Da=f;for(a=0;a=b.oldVersion&&c.createObjectStore(L)}catch(d){if("ConstraintError"!==d.name)throw d;e.console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.Ha+'" already exists.')}});l.onerror=function(){f(l.error)};l.onsuccess=function(){d(l.result);var b=x[a.name].Cs.pop(); +b&&b.resolve()}})}function g(a,c){var d=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var f=new Promise(function(c,f){d.ready().then(function(){var g=d.Da,e=g.db.transaction(g.Ha,"readonly").objectStore(g.Ha).get(a);e.onsuccess=function(){var a=e.result;void 0===a&&(a=null);a&&a.Xr&&(a=b(a));c(a)};e.onerror=function(){f(e.error)}})["catch"](f)});return I(f,c),f}function p(a,c){var d=this,f=new Promise(function(c,f){d.ready().then(function(){var g= +d.Da,e=g.db.transaction(g.Ha,"readonly").objectStore(g.Ha).openCursor(),l=1;e.onsuccess=function(){var d=e.result;if(d){var f=d.value;f&&f.Xr&&(f=b(f));f=a(f,d.key,l++);void 0!==f?c(f):d["continue"]()}else c()};e.onerror=function(){f(e.error)}})["catch"](f)});return I(f,c),f}function J(b,c,d){var f=this;"string"!=typeof b&&(e.console.warn(b+" used as a key, but it is not a string."),b=String(b));var g=new Promise(function(d,g){var e;f.ready().then(function(){return e=f.Da,c instanceof Blob?h(e.db).then(function(b){return b? +c:a(c)}):c}).then(function(a){var c=e.db.transaction(e.Ha,"readwrite"),f=c.objectStore(e.Ha);null===a&&(a=void 0);c.oncomplete=function(){void 0===a&&(a=null);d(a)};c.onabort=c.onerror=function(){g(l.error?l.error:l.transaction.error)};var l=f.put(a,b)})["catch"](g)});return I(g,d),g}function l(a,b){var c=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new Promise(function(b,d){c.ready().then(function(){var f=c.Da,g=f.db.transaction(f.Ha,"readwrite"), +e=g.objectStore(f.Ha)["delete"](a);g.oncomplete=function(){b()};g.onerror=function(){d(e.error)};g.onabort=function(){d(e.error?e.error:e.transaction.error)}})["catch"](d)});return I(d,b),d}function m(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da,f=d.db.transaction(d.Ha,"readwrite"),g=f.objectStore(d.Ha).clear();f.oncomplete=function(){a()};f.onabort=f.onerror=function(){c(g.error?g.error:g.transaction.error)}})["catch"](c)});return I(c,a),c}function t(a){var b=this, +c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da,f=d.db.transaction(d.Ha,"readonly").objectStore(d.Ha).count();f.onsuccess=function(){a(f.result)};f.onerror=function(){c(f.error)}})["catch"](c)});return I(c,a),c}function P(a,b){var c=this,d=new Promise(function(b,d){return 0>a?void b(null):void c.ready().then(function(){var f=c.Da,g=!1,e=f.db.transaction(f.Ha,"readonly").objectStore(f.Ha).openCursor();e.onsuccess=function(){var c=e.result;return c?void(0===a?b(c.key):g?b(c.key):(g= +!0,c.advance(a))):void b(null)};e.onerror=function(){d(e.error)}})["catch"](d)});return I(d,b),d}function O(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da,f=d.db.transaction(d.Ha,"readonly").objectStore(d.Ha).openCursor(),g=[];f.onsuccess=function(){var b=f.result;return b?(g.push(b.key),void b["continue"]()):void a(g)};f.onerror=function(){c(f.error)}})["catch"](c)});return I(c,a),c}function I(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var z=z||e.indexedDB|| +e.webkitIndexedDB||e.mozIndexedDB||e.yt||e.msIndexedDB;if(z){var w,x,L="local-forage-detect-blob-support";return{cj:"asyncStorage",wo:f,ut:p,getItem:g,setItem:J,removeItem:l,clear:m,length:t,key:P,keys:O}}}("undefined"!=typeof window?window:self);e.qe=p["default"]},function(e,p,q){p.dl=!0;p["default"]=function(e){function k(a,b){b&&a.then(function(a){b(null,a)},function(a){b(a)})}var n=null;try{if(!(e.localStorage&&"setItem"in e.localStorage))return;n=e.localStorage}catch(h){return}return{cj:"localStorageWrapper", +wo:function(a){var b={};if(a)for(var d in a)b[d]=a[d];return b.we=b.name+"/",b.Ha!==this.uo.Ha&&(b.we+=b.Ha+"/"),this.Da=b,(new Promise(function(a){a(q(3))})).then(function(a){return b.nh=a,Promise.resolve()})},ut:function(a,b){var d=this,c=d.ready().then(function(){for(var b=d.Da,c=b.we,g=c.length,e=n.length,h=1,l=0;e>l;l++){var m=n.key(l);if(0===m.indexOf(c)){var t=n.getItem(m);if(t&&(t=b.nh.Ll(t)),t=a(t,m.substring(g),h++),void 0!==t)return t}}});return k(c,b),c},getItem:function(a,b){var d=this; +"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var c=d.ready().then(function(){var b=d.Da,c=n.getItem(b.we+a);return c&&(c=b.nh.Ll(c)),c});return k(c,b),c},setItem:function(a,b,d){var c=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var f=c.ready().then(function(){void 0===b&&(b=null);var d=b;return new Promise(function(f,e){var h=c.Da;h.nh.serialize(b,function(b,c){if(c)e(c);else try{n.setItem(h.we+ +a,b),f(d)}catch(t){"QuotaExceededError"!==t.name&&"NS_ERROR_DOM_QUOTA_REACHED"!==t.name||e(t),e(t)}})})});return k(f,d),f},removeItem:function(a,b){var d=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var c=d.ready().then(function(){n.removeItem(d.Da.we+a)});return k(c,b),c},clear:function(a){var b=this,d=b.ready().then(function(){for(var a=b.Da.we,d=n.length-1;0<=d;d--){var e=n.key(d);0===e.indexOf(a)&&n.removeItem(e)}});return k(d,a),d},length:function(a){var b= +this.keys().then(function(a){return a.length});return k(b,a),b},key:function(a,b){var d=this,c=d.ready().then(function(){var b,c=d.Da;try{b=n.key(a)}catch(g){b=null}return b&&(b=b.substring(c.we.length)),b});return k(c,b),c},keys:function(a){var b=this,d=b.ready().then(function(){for(var a=b.Da,d=n.length,e=[],g=0;d>g;g++)0===n.key(g).indexOf(a.we)&&e.push(n.key(g).substring(a.we.length));return e});return k(d,a),d}}}("undefined"!=typeof window?window:self);e.qe=p["default"]},function(e,p){p.dl=!0; +p["default"]=function(e){function u(a){var b,d,c,f,e;b=.75*a.length;var g=a.length,h=0;"="===a[a.length-1]&&(b--,"="===a[a.length-2]&&b--);var k=new ArrayBuffer(b),l=new Uint8Array(k);for(b=0;g>b;b+=4)d=n.indexOf(a[b]),c=n.indexOf(a[b+1]),f=n.indexOf(a[b+2]),e=n.indexOf(a[b+3]),l[h++]=d<<2|c>>4,l[h++]=(15&c)<<4|f>>2,l[h++]=(3&f)<<6|63&e;return k}function k(a){var b=new Uint8Array(a),d="";for(a=0;a>2],d+=n[(3&b[a])<<4|b[a+1]>>4],d+=n[(15&b[a+1])<<2|b[a+2]>>6],d+=n[63&b[a+2]]; +return 2===b.length%3?d=d.substring(0,d.length-1)+"=":1===b.length%3&&(d=d.substring(0,d.length-2)+"=="),d}var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=/^~~local_forage_type~([^~]+)~/;return{serialize:function(a,b){var d="";if(a&&(d=a.toString()),a&&("[object ArrayBuffer]"===a.toString()||a.buffer&&"[object ArrayBuffer]"===a.buffer.toString())){var c,f="__lfsc__:";a instanceof ArrayBuffer?(c=a,f+="arbf"):(c=a.buffer,"[object Int8Array]"===d?f+="si08":"[object Uint8Array]"=== +d?f+="ui08":"[object Uint8ClampedArray]"===d?f+="uic8":"[object Int16Array]"===d?f+="si16":"[object Uint16Array]"===d?f+="ur16":"[object Int32Array]"===d?f+="si32":"[object Uint32Array]"===d?f+="ui32":"[object Float32Array]"===d?f+="fl32":"[object Float64Array]"===d?f+="fl64":b(Error("Failed to get type for BinaryArray")));b(f+k(c))}else if("[object Blob]"===d)d=new FileReader,d.onload=function(){var c="~~local_forage_type~"+a.type+"~"+k(this.result);b("__lfsc__:blob"+c)},d.readAsArrayBuffer(a);else try{b(JSON.stringify(a))}catch(e){console.error("Couldn't convert value into a JSON string: ", +a),b(null,e)}},Ll:function(a){if("__lfsc__:"!==a.substring(0,9))return JSON.parse(a);var b,d=a.substring(13);a=a.substring(9,13);if("blob"===a&&h.test(d)){var c=d.match(h);b=c[1];d=d.substring(c[0].length)}d=u(d);switch(a){case "arbf":return d;case "blob":var f;d=[d];b={type:b};d=d||[];b=b||{};try{f=new Blob(d,b)}catch(k){if("TypeError"!==k.name)throw k;f=new (e.BlobBuilder||e.ne||e.Ip||e.WebKitBlobBuilder);for(a=0;al;l++){var h=g.item(l),m=h.value;if(m&&(m=f.nh.Ll(m)),m=a(m,h.key,l+1),void 0!==m)return void b(m)}b()},function(a,b){d(b)})})})["catch"](d)});return g(d,b),d}function a(a,b,c){var d=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var f=new Promise(function(c,f){d.ready().then(function(){void 0===b&&(b=null);var g=b,e=d.Da;e.nh.serialize(b,function(b,d){d?f(d):e.db.transaction(function(d){d.executeSql("INSERT OR REPLACE INTO "+e.Ha+ +" (key, value) VALUES (?, ?)",[a,b],function(){c(g)},function(a,b){f(b)})},function(a){a.code===a.QUOTA_ERR&&f(a)})})})["catch"](f)});return g(f,c),f}function b(a,b){var c=this;"string"!=typeof a&&(e.console.warn(a+" used as a key, but it is not a string."),a=String(a));var d=new Promise(function(b,d){c.ready().then(function(){var f=c.Da;f.db.transaction(function(c){c.executeSql("DELETE FROM "+f.Ha+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})})["catch"](d)});return g(d,b),d}function d(a){var b= +this,c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.Ha,[],function(){a()},function(a,b){c(b)})})})["catch"](c)});return g(c,a),c}function c(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.Ha,[],function(b,c){var d=c.rows.item(0).ij;a(d)},function(a,b){c(b)})})})["catch"](c)});return g(c,a),c}function f(a,b){var c=this, +d=new Promise(function(b,d){c.ready().then(function(){var f=c.Da;f.db.transaction(function(c){c.executeSql("SELECT key FROM "+f.Ha+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})})["catch"](d)});return g(d,b),d}function r(a){var b=this,c=new Promise(function(a,c){b.ready().then(function(){var d=b.Da;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.Ha,[],function(b,c){for(var d=[],f=0;f(e.wheelDelta?e.wheelDelta:e.detail?-e.detail: +0)?0:1;this.np=!1;this.b.ub=!0;this.b.trigger(yc.prototype.n.Bx,this);this.b.ub=!1;this.np&&kb(e)&&e.preventDefault()};u.lg=function(){var e,h;e=0;for(h=this.Eh.length;ethis.size?this.Wa=!1:(0!==h.Tj&&(this.q+=Math.random()*h.Tj*e-h.Tj*e/2),0!==h.Vj&&(this.speed+=Math.random()*h.Vj*e-h.Vj*e/2),0!==h.Uj&&(this.opacity+=Math.random()*h.Uj*e-h.Uj*e/2,0>this.opacity?this.opacity=0:1=h.Lh&&this.If>=h.timeout&&(this.Wa=!1),2===h.Lh&&0>=this.speed&& +(this.Wa=!1))};e.prototype.Mc=function(e){var h=this.Ta.opacity*this.opacity;if(0!==h){0===this.Ta.Lh&&(h*=1-this.If/this.Ta.timeout);e.globalAlpha=h;var h=this.x-this.size/2,a=this.y-this.size/2;this.Ta.b.uc&&(h=h+.5|0,a=a+.5|0);e.drawImage(this.Ta.type.H,h,a,this.size,this.size)}};e.prototype.Hb=function(e){var h=this.Ta.opacity*this.opacity;0===this.Ta.Lh&&(h*=1-this.If/this.Ta.timeout);var a=this.size,b=a*this.Ta.Au,d=this.x-a/2,c=this.y-a/2;this.Ta.b.uc&&(d=d+.5|0,c=c+.5|0);1>b||0===h||(be.Xp?(e.Fe(h),e.Fi(d,c,d+a,c,d+a,c+a,d,c+a)):e.yB(this.x,this.y,b,h))};e.prototype.left=function(){return this.x-this.size/2};e.prototype.right=function(){return this.x+this.size/2};e.prototype.top=function(){return this.y-this.size/2};e.prototype.bottom=function(){return this.y+this.size/2};q.P=function(e){this.type=e;this.b=e.b};var u=q.P.prototype,k=[];u.J=function(){var e=this.B;this.pn=e[0];this.In=V(e[1]);this.Li=e[2];this.Jn=!0;this.wp=e[3];this.vp=e[4];this.up=e[5]/100;this.mp=e[6];this.co= +e[7];this.eo=e[8];this.Hn=e[9];this.Gn=e[10];this.lm=e[11];this.Kc=e[12];this.ec=e[13];this.Tj=e[14];this.Vj=e[15];this.Uj=e[16];this.Lh=e[17];this.timeout=e[18];this.kh=0;this.Au=1;this.Ym=this.x;this.$m=this.y;this.Zm=this.x;this.Xm=this.y;this.vy(function(e){e.Na.set(e.Ym,e.$m,e.Zm,e.Xm);e.Zb.Ki(e.Na);e.ql=!1;e.kr();e.Fv()});this.kc||(this.Dc=[]);this.b.vh(this);this.type.pi();if(1===this.Li)for(e=0;ethis.Zm&&(this.Zm=b.right()),b.top()this.Xm&&(this.Xm=b.bottom()),d++): +k.push(b);Aa(this.Dc,d);this.F();this.Yl=!1;1===this.Li&&0===this.Dc.length&&this.b.ke(this)};u.Mc=function(e){var h,a,b,d=this.u;h=0;for(a=this.Dc.length;h=d.ra&&b.bottom()>=d.ta&&b.left()<=d.Ba&&b.top()<=d.Aa&&b.Mc(e)};u.Hb=function(e){this.Au=this.u.Nc();e.vc(this.type.R);var h,a,b,d=this.u;h=0;for(a=this.Dc.length;h=d.ra&&b.bottom()>=d.ta&&b.left()<=d.Ba&&b.top()<=d.Aa&&b.Hb(e)};q.n=new function(){};p.prototype.Wx=function(e){this.Jn= +0!==e};q.C=new p;q.ea=new function(){}})();function Y(e){this.b=e} +(function(){function e(){if(0===this.Mo.length){var a=document.createElement("canvas");a.width=this.width;a.height=this.height;var b=a.getContext("2d");this.Mi?b.drawImage(this.H,this.xi,this.yi,this.width,this.height,0,0,this.width,this.height):b.drawImage(this.H,0,0,this.width,this.height);this.Mo=a.toDataURL("image/png")}return this.Mo}function p(){}function q(a){a[0]=0;a[1]=0;a[2]=0;y.push(a)}function u(a,b){return athis.S&&(this.S=0);this.S>=this.Ra.frames.length&& +(this.S=this.Ra.frames.length-1);var a=this.Ra.frames[this.S];this.Ea.Ck(a.dn);this.Ac=a.Ac;this.Bc=a.Bc;this.Cg=this.Ra.speed;this.Tf=this.Ra.Dq;1===this.type.Wc.length&&1===this.type.Wc[0].frames.length||0===this.Cg||(this.b.vh(this),this.Tg=!0);this.kc?this.me.reset():this.me=new $a;this.We=this.me.X;this.wg=!0;this.Oe=0;this.Kf=!0;this.Fh=this.hs="";this.ws=0;this.ul=-1;this.type.pi();var b,c,d,f,e,g,l,a=0;for(b=this.type.Wc.length;athis.S&&(this.S=0);this.S>=this.Ra.frames.length&&(this.S=this.Ra.frames.length-1);this.Cg=a.cas;this.We=a.fs;this.Oe=a.ar;this.me.reset();this.me.X=a.at;this.wg=a.hasOwnProperty("ap")?a.ap:!0;this.Kf=a.hasOwnProperty("af")?a.af:!0;a.hasOwnProperty("rt")?this.Tf=a.rt:this.Tf=this.Ra.Dq;this.$b=this.Ra.frames[this.S];this.El=this.$b.R;this.Ea.Ck(this.$b.dn);this.Ac=this.$b.Ac;this.Bc=this.$b.Bc};g.Ao=function(a){this.S=a?0:this.Ra.frames.length-1;this.wg=!1;this.hs=this.Ra.name; +this.pm=!0;this.b.trigger(Y.prototype.n.tr,this);this.b.trigger(Y.prototype.n.sr,this);this.pm=!1;this.Oe=0};g.ne=function(){return this.me.X};g.Ma=function(){this.me.add(this.b.Zf(this));this.Fh.length&&this.Ds();0<=this.ul&&this.Es();var a=this.me.X,b=this.Ra,c=b.frames[this.S],d=c.duration/this.Cg;this.wg&&a>=this.We+d&&(this.Kf?this.S++:this.S--,this.We+=d,this.S>=b.frames.length&&(b.Bu?(this.Kf=!1,this.S=b.frames.length-2):b.loop?this.S=this.Tf:(this.Oe++,this.Oe>=b.Cq?this.Ao(!1):this.S=this.Tf)), +0>this.S&&(b.Bu?(this.S=1,this.Kf=!0,b.loop||(this.Oe++,this.Oe>=b.Cq&&this.Ao(!0))):b.loop?this.S=this.Tf:(this.Oe++,this.Oe>=b.Cq?this.Ao(!0):this.S=this.Tf)),0>this.S?this.S=0:this.S>=b.frames.length&&(this.S=b.frames.length-1),a>this.We+b.frames[this.S].duration/this.Cg&&(this.We=a),a=b.frames[this.S],this.Ch(c,a),this.b.Z=!0)};g.Ps=function(a){var b,c,d;b=0;for(c=this.type.Wc.length;bthis.S&&(this.S=0),this.S>=this.Ra.frames.length&&(this.S=this.Ra.frames.length-1),1===this.ws&&(this.S=0),this.wg=!0,this.We=this.me.X,this.Kf=!0,this.Ch(a,this.Ra.frames[this.S]),this.b.Z=!0)};g.Es=function(){var a=this.Ra.frames[this.S],b=this.S;this.S=A(this.ul);0>this.S&&(this.S=0); +this.S>=this.Ra.frames.length&&(this.S=this.Ra.frames.length-1);b!==this.S&&(this.Ch(a,this.Ra.frames[this.S]),this.We=this.me.X,this.b.Z=!0);this.ul=-1};g.Ch=function(a,b){var c=a.width,d=a.height,f=b.width,e=b.height;c!=f&&(this.width*=f/c);d!=e&&(this.height*=e/d);this.Ac=b.Ac;this.Bc=b.Bc;this.Ea.Ck(b.dn);this.F();this.$b=b;this.El=b.R;c=0;for(d=this.W.length;cf||f>=d.length)return b?this.x:this.y;var e=(d[f][1]-c.Ac)*this.width,d=d[f][2],d=(d-c.Bc)*this.height,c=Math.cos(this.q);f=Math.sin(this.q);var g=e*c-d*f,d=d*c+e*f,e=g+this.x,d=d+this.y;return b?e:d};var y=[],J=-2,l=[];p.prototype.Ww=function(a){if(!a)return!1;var b=this.b,c=b.Uh(),d=c.type,f=null;c.N.collmemory?f=c.N.collmemory:(f={},c.N.collmemory=f);c.N.spriteCreatedDestroyCallback||(c.N.spriteCreatedDestroyCallback= +!0,b.hl(function(a){var b=c.N.collmemory;a=a.uid;var d,f;for(d in b)b.hasOwnProperty(d)&&(f=b[d],f[0]===a||f[1]===a)&&(q(b[d]),delete b[d])}));var e=d.ca(),g=a.ca(),e=e.Zc(),m,t,r,u,p,P,O,I=this.b.fe,y=I-1,F=b.kb().sb;for(t=0;tthis.width};c.n=new p;b.prototype.cy=function(a,b,c){if(a&&b&&(b=this.b.Cl(a,b,this.Lg(c,!0),this.Lg(c,!1)))){"undefined"!==typeof b.q&&(b.q=this.q, +b.F());this.b.nd++;var d,f,e;this.b.trigger(Object.getPrototypeOf(a.na).n.Bh,b);if(b.gc)for(d=0,f=b.siblings.length;d=this.yd.left&&this.type.kj.update(this, +this.yd,null),this.yd.set(0,0,-1,-1)))};c.C=new b;d.prototype.Pv=function(a){a.La(this.S)};d.prototype.sw=function(a,b){a.O(this.Lg(b,!0))};d.prototype.uw=function(a,b){a.O(this.Lg(b,!1))};c.ea=new d})();function Ac(e){this.b=e} +(function(){function e(a,b){return a.length?a.pop():new b}function p(a,b,c){if(c){var d;c=0;for(d=b.length;c=f.length&&f.push(e(a,Object));c=f[c];c.text=d;c.width=b.bq(d);b.wf=pa(b.wf,c.width)}function u(){}var k=Ac.prototype;k.J=function(){};k.T=function(a){this.na=a;this.b=a.b};var n=k.T.prototype;n.J=function(){this.M|| +(this.H=new Image,this.b.Vk(this.H,this.Pi),this.R=null)};n.jh=function(){this.M||(this.R=null)};n.Ai=function(){if(!this.M&&this.k.length){this.R||(this.R=this.b.D.hg(this.H,!1,this.b.Ka,this.uh));var a,b;a=0;for(b=this.k.length;a=c*f);u++){var n=u%c,p=Math.floor(u/c),q=k.charAt(u);if(this.b.D){var w=this.yl,x=n*l,L=p*m,n=(n+1)*l,p=(p+1)*m;void 0===w[q]&&(w[q]=e(d,ua));w[q].left=x;w[q].top=L;w[q].right=n;w[q].bottom=p}else w=this.xl,n=n*a,p=p*h,x=a,L=h,void 0===w[q]&&(w[q]=e(b,Object)),w[q].x=n,w[q].y=p,w[q].ao=x,w[q].mm=L}};var c= +[];k.oo=function(a){U(c);for(var b="",d,f=0;f=f)p(a,d,!0);else{var l=b.Pf,h=b.Gh;if(c.length*(b.wl*l+h)-h<=f&&-1===c.indexOf("\n")&&(h=b.bq(c),h<=f)){p(a,d,!0);d.push(e(a, +Object));d[0].text=c;d[0].width=h;b.wf=h;b.Je=b.Of*l+b.lineHeight;return}this.qo(b);b.Je=d.length*(b.Of*l+b.lineHeight)}}else p(a,d,!0)};k.qo=function(b){var d=b.Yk,f=b.text,e=b.Cc,l=b.width;d&&(this.oo(f),f=c);var m="",k,u,n,p=0,z=!1;for(n=0;nl&&(""===k?(q(b,p,m),m="",z=!0):(q(b,p,k),m=f[n]),p++,d||" "!==m||(m="")));m.replace(/\s\s*$/,"").length&&(q(b,p,m),p++);for(n=p;nthis.width+1E-5)break;void 0!==v&&(E=S,R=Q,0===k&&1===u&&(E=Math.round(E),R=Math.round(R)),a.drawImage(this.H,v.x,v.y,v.ao,v.mm,E,R,v.ao*u,v.mm*u));S+=G*u+x;if(0===k&&b+S>e)break}}Q+=p;if(0===k&&(Q+p+q>this.height||c+Q>h))break}}a.restore()}};var f=new va;n.Hb=function(a){a.vc(this.R);a.Fe(this.opacity);if(this.text&&(this.Ju(),!(this.heightthis.width+1E-5)break;if(void 0!== +M){var D=this.wl*w,F=this.Of*w;H=T;C=q;0===n&&1===w&&(H=Math.round(H),C=Math.round(C));f.Ua=H;f.Va=C;f.pb=H+D;f.qb=C;f.gb=H;f.hb=C+F;f.ib=H+D;f.jb=C+F;0!==n&&(H=f,C=E,D=R,F=void 0,F=H.Ua*C-H.Va*D,H.Va=H.Va*C+H.Ua*D,H.Ua=F,F=H.pb*C-H.qb*D,H.qb=H.qb*C+H.pb*D,H.pb=F,F=H.gb*C-H.hb*D,H.hb=H.hb*C+H.gb*D,H.gb=F,F=H.ib*C-H.jb*D,H.jb=H.jb*C+H.ib*D,H.ib=F);f.offset(c,b);a.Id(f.Ua,f.Va,f.pb,f.qb,f.ib,f.jb,f.gb,f.hb,M)}T+=S*w+G;if(0===n&&c+T>k)break}}q+=x;if(0===n&&(q+x+L>this.height||b+q>u))break}}};k.n=new function(){}; +u.prototype.Ur=function(a){ka(a)&&1E9>a&&(a=Math.round(1E10*a)/1E10);a=a.toString();this.text!==a&&(this.text=a,this.td=!0,this.b.Z=!0)};n.ne=function(a,b){var c=parseInt(b,10);this.Qf[a]!==c&&(this.Qf[a]=c,this.td=!0,this.b.Z=!0)};k.C=new u;k.ea=new function(){}})();function Bc(e){this.b=e} +(function(){function e(){return a.length?a.pop():{}}function p(b){var d,c;d=0;for(c=b.length;da.Ba||d.top>a.Aa)this.b.D.deleteTexture(this.ed),this.ye=this.hh=this.ed=null}};n.ae=function(){this.ye=this.hh=null;this.b.D&& +this.ed&&this.b.D.deleteTexture(this.ed);this.ed=null};n.ne=function(){this.font=this.$l+" "+this.rk.toString()+"pt "+this.Ph;this.td=!0;this.b.Z=!0};n.Mc=function(a,d){a.font=this.font;a.textBaseline="top";a.fillStyle=this.color;a.globalAlpha=d?1:this.opacity;var c=1;d&&(c=Math.abs(this.u.Nc()),a.save(),a.scale(c,c));if(this.td||this.width!==this.Yg)this.type.na.po(this.text,this.Cc,a,this.width,this.Yk),this.td=!1,this.Yg=this.width;this.Ia();var c=d?0:this.Zb.Ua,f=d?0:this.Zb.Va;this.b.uc&&(c= +c+.5|0,f=f+.5|0);0===this.q||d||(a.save(),a.translate(c,f),a.rotate(this.q),f=c=0);var e=f+this.height,g=this.yq,g=g+this.Op,h,k;1===this.zf?f+=Math.max(this.height/2-this.Cc.length*g/2,0):2===this.zf&&(f+=Math.max(this.height-this.Cc.length*g-2,0));for(k=0;k=e-g);k++);(0!==this.q||d)&&a.restore();this.Xg=this.b.fe};n.Hb=function(a){if(!(1> +this.width||1>this.height)){var d=this.td||this.cu;this.cu=!1;var c=this.u.Nc(),f=this.u.Jb(),e=this.pg,g=c*this.width,h=c*this.height,k=Math.ceil(g),l=Math.ceil(h),m=Math.abs(k),t=Math.abs(l),n=this.b.V/2,u=this.b.U/2;this.hh||(this.ye=document.createElement("canvas"),this.ye.width=m,this.ye.height=t,this.gf=m,this.ff=t,d=!0,this.hh=this.ye.getContext("2d"));if(m!==this.gf||t!==this.ff)this.ye.width=m,this.ye.height=t,this.ed&&(a.deleteTexture(this.ed),this.ed=null),d=!0;d&&(this.hh.clearRect(0, +0,m,t),this.Mc(this.hh,!0),this.ed||(this.ed=a.Yc(m,t,this.b.Ka,this.b.cf)),a.Iv(this.ye,this.ed,this.b.cf));this.gf=m;this.ff=t;a.vc(this.ed);a.Fe(this.opacity);a.Jd();a.translate(-n,-u);a.ud();var p=this.Zb,d=this.u.$a(p.Ua,p.Va,!0,!0),m=this.u.$a(p.Ua,p.Va,!1,!0),t=this.u.$a(p.pb,p.qb,!0,!0),n=this.u.$a(p.pb,p.qb,!1,!0),u=this.u.$a(p.ib,p.jb,!0,!0),q=this.u.$a(p.ib,p.jb,!1,!0),w=this.u.$a(p.gb,p.hb,!0,!0),p=this.u.$a(p.gb,p.hb,!1,!0);if(this.b.uc||0===this.q&&0===f)var x=(d+.5|0)-d,L=(m+.5|0)- +m,d=d+x,m=m+L,t=t+x,n=n+L,u=u+x,q=q+L,w=w+x,p=p+L;0===this.q&&0===f?(t=d+k,n=m,u=t,q=m+l,w=d,p=q,e.right=1,e.bottom=1):(e.right=g/k,e.bottom=h/l);a.Id(d,m,t,n,u,q,w,p,e);a.Jd();a.scale(c,c);a.sn(-this.u.Jb());a.translate((this.u.ra+this.u.Ba)/-2,(this.u.ta+this.u.Aa)/-2);a.ud();this.Xg=this.b.fe}};var h=[];k.oo=function(a){U(h);for(var d="",c,f=0;f=f)p(d);else{if(100>=a.length&&-1===a.indexOf("\n")){var g=c.measureText(a).width;if(g<=f){p(d);d.push(e());d[0].text=a;d[0].width=g;return}}this.qo(a,d,c,f,h)}else p(d)};k.qo=function(b,d,c,f,k){k&&(this.oo(b),b=h);var g="",n,u,l,m=0;for(l=0;l=d.length&&d.push(e()),g=q(g),u=d[m],u.text=g,u.width=c.measureText(g).width, +m++,g=""):(n=g,g+=b[l],u=c.measureText(g).width,u>=f&&(m>=d.length&&d.push(e()),n=q(n),u=d[m],u.text=n,u.width=c.measureText(n).width,m++,g=b[l],k||" "!==g||(g="")));g.length&&(m>=d.length&&d.push(e()),g=q(g),u=d[m],u.text=g,u.width=c.measureText(g).width,m++);for(l=m;la&&(a=Math.round(1E10*a)/1E10);a=a.toString();this.text!==a&&(this.text=a,this.td=!0,this.b.Z=!0)};k.C=new u;k.ea=new function(){}})(); +function Cc(e){this.b=e} +(function(){var e=Cc.prototype;e.T=function(e){this.na=e;this.b=e.b};var p=e.T.prototype;p.J=function(){this.M||(this.H=new Image,this.H.Bl=this.Mk,this.b.Vk(this.H,this.Pi),this.R=this.pattern=null)};p.jh=function(){this.M||(this.R=null)};p.Ai=function(){if(!this.M&&this.k.length){this.R||(this.R=this.b.D.hg(this.H,!0,this.b.Ka,this.uh));var e,u;e=0;for(u=this.k.length;ea&&(a+=this.H.width);0>b&&(b+=this.H.height);e.translate(u,k);e.rotate(this.q);e.translate(a,b);e.fillRect(n-a,h-b,this.width,this.height);e.restore()};p.Uf=function(e){this.Hb(e)};p.Hb=function(e){e.vc(this.R); +e.Fe(this.opacity);var u=this.pg;u.right=this.width/this.H.width;u.bottom=this.height/this.H.height;var k=this.Zb;if(this.b.uc){var n=Math.round(this.x)-this.x,h=Math.round(this.y)-this.y;e.Id(k.Ua+n,k.Va+h,k.pb+n,k.qb+h,k.ib+n,k.jb+h,k.gb+n,k.hb+h,u)}else e.Id(k.Ua,k.Va,k.pb,k.qb,k.ib,k.jb,k.gb,k.hb,u)};e.n=new function(){};e.C=new function(){};e.ea=new function(){}})();function Dc(e){this.b=e} +(function(){function e(){this.Rn=this.id=-1;this.ks=this.Mh=this.Sk=this.Cj=!1;this.Ga=new ua(0,0,0,0)}function p(a){1E4>r.length&&r.push(a)}function q(){this.id=-1;this.Ga=new ua(0,0,0,0);this.qf=null}function u(a){1E4>g.length&&g.push(a)}function k(a,b,c){var d;return y.length?(d=y.pop(),d.j=a,d.x=b,d.y=c,d.left=d.x*d.j.Fb*d.j.Sb,d.top=d.y*d.j.Tb*d.j.Rb,d.clear(),d.uk=!1,d):new n(a,b,c)}function n(a,b,c){this.j=a;this.x=b;this.y=c;this.left=this.x*this.j.Fb*this.j.Sb;this.top=this.y*this.j.Tb*this.j.Rb; +this.Ke=[];this.jc=[];this.yc=[];this.uk=!1;var d,f;a=0;for(b=this.j.Tb;aa||a>=this.ge.length)&&this.ge[a]){var g=this.ge[a].Zl;a=new bb(this.ge[a].qf);a.Ag(b,c,0);e&&a.Ty();d&&a.kB(b/2);f&&a.aA(c/2);g[d?1:0][f?1:0][e?1:0]=a}};a.Xs=function(a){if(-1===a)return null;var e=a&f;return 0>e||e>=this.ge.length||!this.ge[e]?null:this.ge[e].Zl[a&b?1:0][a&d?1:0][a&c?1:0]};a.Xo=function(){var a,b,c=this.b.D;if(c)for(a=0,b=this.Dg.length;a=a||0>=b)){this.Xo();var h=this.H.width,k=this.H.height,u;for(u=d;u+b<=k;u+=b+e)for(d=c;d+a<=h;d+=a+f)this.Dg.push(this.fw(d,u,a,b,g));this.Lo=!0}};a.fw=function(a,b,c,d,f){if(this.b.D)return this.ho(a,b,c,d,!1,!1,!1,f);var e=[[[null,null],[null,null]],[[null,null],[null,null]]];e[0][0][0]=this.ho(a,b,c,d,!1,!1,!1,f);return{Zl:e,x:a,y:b,ao:c,mm:d}};a.rr=function(a,b,c,d,f){if(0>a||a>=this.Dg.length)return null;a=this.Dg[a];var e=a.Zl;b=b?1:0;c=c?1:0;d=d?1:0;var g=e[b][c][d]; +if(g)return g;g=this.ho(a.x,a.y,a.ao,a.mm,0!==b,0!==c,0!==d,f);return e[b][c][d]=g};a.ho=function(a,b,c,d,f,e,g,h){var k=c,u=d;this.b.D&&!h&&(ma(k)||(k=na(k)),ma(u)||(u=na(u)));var n=document.createElement("canvas");n.width=k;n.height=u;var p=n.getContext("2d");if(this.b.Qa)return f?e?(g?(p.rotate(Math.PI/2),p.scale(-1,1)):p.scale(-1,-1),p.translate(-k,-u)):g?(p.rotate(Math.PI/2),p.translate(0,-u)):(p.scale(-1,1),p.translate(-k,0)):e?g?(p.rotate(-Math.PI/2),p.translate(-k,0)):(p.scale(1,-1),p.translate(0, +-u)):g&&(p.scale(-1,1),p.rotate(Math.PI/2)),p.drawImage(this.H,a,b,c,d,0,0,k,u),h?n:this.b.Qa.createPattern(n,"repeat");p.drawImage(this.H,a,b,c,d,0,0,k,u);a=this.b.D.Yc(k,u,this.b.Ka,!1,!h);this.b.D.Iv(n,a);return a};a.jh=function(){this.M||this.Xo()};a.Ai=function(){};a.pi=function(){};a.Si=function(){this.M||this.k.length||this.Xo()};a.Ei=function(){};h.P=function(a){this.type=a;this.b=a.b};var a=h.P.prototype,b=-2147483648,d=1073741824,c=536870912,f=536870911,r=[],g=[],y=[];n.prototype.clear= +function(){var a,b,c,d,f;this.Ke.length=this.j.Tb;a=0;for(b=this.Ke.length;a=a||0>=h)){var k,n,O,I,z,w;k=0;for(n=this.jc.length;kthis.j.Fb&&(x=this.j.Fb);y>this.j.Tb&&(y=this.j.Tb);var G=this.j.qg,B=null;k=0;for(n=y;kI.Ga.bottom)break;if(O.Ga.right>I.Ga.right||O.Ga.left>I.Ga.left)break; +O.id===I.id&&O.Ga.left===I.Ga.left&&O.Ga.right===I.Ga.right&&(p(this.jc[a]),this.jc.splice(a,1),--n,I.Ga.bottom+=h,--a)}n=this.yc.length;for(k=0;kz.bottom)break;if(I.right>z.right||I.left>z.left)break;O.qf||I.left!==z.left||I.right!==z.right||(u(this.yc[a]),this.yc.splice(a,1),--n,z.bottom+=h,--a)}this.uk=!0}}};n.prototype.Oq=function(a,b,c){this.Ke[b][a]!==c&&(this.Ke[b][a]=c,this.uk=!1,this.j.ll= +!0,this.j.nk=!0,this.j.b.Z=!0)};a.J=function(){var a,b,c;this.visible=0===this.B[0];this.Sb=this.B[1];this.Rb=this.B[2];this.Vq=this.B[3];this.Xq=this.B[4];this.Wq=this.B[5];this.Yq=this.B[6];this.qg=0!==this.B[7];this.Fd=this.tv;this.$d=this.sv;this.gf=this.width;this.ff=this.height;var d=this.Sb,f=this.Rb;0===d&&(d=1);0===f&&(f=1);this.Fb=Math.ceil(this.b.Ab/d);this.Tb=Math.ceil(this.b.zb/f);if(!this.type.qv)for(this.type.qv=!0,a=0,b=this.type.ge.length;athis.$d&&(this.$d=c,a=Math.ceil(this.$d/this.Tb)),b>this.Fd&&(this.Fd=b,d=Math.ceil(this.Fd/this.Fb)),this.wn(),this.nk=!0,this.b.Z=!0);for(var f,b=0;b< +a;++b)if(f=this.Hc[b])for(c=f.length;ca||0>b)return null;var c=A(b/this.Tb);if(c>=this.Hc.length)return null;var c=this.Hc[c],d=A(a/this.Fb);return d>=c.length?null:c[d]};a.Eo=function(a,b){if(0>a||0>b||b>=this.Hc.length)return null;var c=this.Hc[b];return a>=c.length?null:c[a]};a.Wu=function(a){var f=[];a=a.split(",");var e,g,h,k,n;e=0;for(g=a.length;e=this.Fd||0>=this.$d)return a;var e=1,g=this.jp(0,0),h,k,n,u,p,r,q,y;u=A(this.width/this.Sb); +k=A(this.height/this.Rb);for(h=0;ha||0>b||a>=this.Fd||b>=this.$d)return-1;var c=this.Do(a,b); +return c?c.Ke[b%this.Tb][a%this.Fb]:-1};a.Oq=function(a,b,c){a=Math.floor(a);b=Math.floor(b);if(0>a||0>b||a>=this.Fd||b>=this.$d)return-1;var d=this.Do(a,b);if(!d)return-1;d.Oq(a%this.Fb,b%this.Tb,c)};a.Kv=function(a){return Math.floor((a-this.x)/(this.Fb*this.Sb))};a.Lv=function(a){return Math.floor((a-this.y)/(this.Tb*this.Rb))};a.sC=function(a){return Math.floor((a-this.x)/this.Sb)};a.tC=function(a){return Math.floor((a-this.y)/this.Rb)};a.gA=function(a,b){var c=this.Lv(a.top),d=this.Kv(a.right), +f=this.Lv(a.bottom),e,g,h;for(e=this.Kv(a.left);e<=d;++e)for(g=c;g<=f;++g)if(h=this.Eo(e,g))h.fk(),Ca(b,h.yc)};a.jC=function(a,b){var c=this.jp(this.sC(a),this.tC(b));if(-1===c)return!1;c=this.type.Xs(c);if(!c)return!0;var d=Math.floor((b-this.y)/this.Rb)*this.Rb+this.y;a-=Math.floor((a-this.x)/this.Sb)*this.Sb+this.x;return c.qc(a,b-d)};a.ne=function(a){var b,c,d,f,e,g;b=0;for(c=this.Hc.length;by.length&&y.push(e)}U(f)}U(this.Hc)};a.ab=function(){this.$p();return{w:A(this.width/this.Sb),h:A(this.height/this.Rb),d:this.uA()}};a.lb=function(a){this.Fd=a.w;this.$d=a.h;this.$p(!0);this.Wu(a.d);this.nk=!0;this.wn()};a.Mc=function(a){if(!(0>=this.Sb||0>=this.Rb)){this.type.Zp(this.Sb,this.Rb, +this.Vq,this.Xq,this.Wq,this.Yq,this.qg);if(this.width!==this.gf||this.height!==this.ff)this.nk=!0,this.wn(),this.Yp(),this.gf=this.width,this.ff=this.height;a.globalAlpha=this.opacity;var b=this.u,c=b.ra,d=b.ta,f=b.Ba,b=b.Aa,e=this.x,g=this.y,h=this.qg,k;this.b.uc&&(e=Math.round(e),g=Math.round(g));var n=this.Fb*this.Sb,u=this.Tb*this.Rb,p=Math.floor((c-e)/n),n=Math.floor((f-e)/n),r=Math.floor((d-g)/u),u=Math.floor((b-g)/u),q=e%this.Sb,y=g%this.Rb;this.qg&&(y=q=0);if(0!==q||0!==y)a.save(),a.translate(q, +y),e-=q,g-=y,c-=q,d-=y,f-=q,b-=y;for(var J,T,H,C,v,M,D,F,N;p<=n;++p)for(J=r;J<=u;++J)if(T=this.Eo(p,J))for(T.fk(),H=0,C=T.jc.length;Hf||Fb||k=this.Sb||0>=this.Rb)){this.type.Zp(this.Sb, +this.Rb,this.Vq,this.Xq,this.Wq,this.Yq,this.qg);if(this.width!==this.gf||this.height!==this.ff)this.nk=!0,this.wn(),this.Yp(),this.gf=this.width,this.ff=this.height;a.Fe(this.opacity);var b=this.type.Dg,c=this.u,d=c.ra,f=c.ta,e=c.Ba,c=c.Aa,g=this.x,h=this.y,k;this.b.uc&&(g=Math.round(g),h=Math.round(h));var n=this.Fb*this.Sb,u=this.Tb*this.Rb,p=Math.floor((e-g)/n),r=Math.floor((f-h)/u),u=Math.floor((c-h)/u),q,y,R,T,H,C,v,M,D,F,N,W,Z,K,ea,aa,xa;for(ea=Math.floor((d-g)/n);ea<=p;++ea)for(aa=r;aa<=u;++aa)if(xa= +this.Eo(ea,aa))for(xa.fk(),n=0,q=xa.jc.length;ne||Hc||kSa(this.Ln,this.Mn,this.x,this.y)&&(this.Vn=!0,a.Me=this.Hk,a.Ri=this.id,a.Vh=b,a.b.trigger(Ec.prototype.n.cx,a),a.Re=this.x,a.Se=this.y,a.b.trigger(Ec.prototype.n.gx,a),a.Vh=0)};var g=-1E3,y=-1E3,J=-1E4;q.prototype.Xt=function(a, +b){if(!this.Vn){var c=Wa();333>=c-this.Tq&&!this.Ok&&15>Sa(this.Ln,this.Mn,this.x,this.y)&&(a.Me=this.Hk,a.Ri=this.id,a.Vh=b,666>=c-J&&25>Sa(g,y,this.x,this.y)?(a.b.trigger(Ec.prototype.n.Xw,a),a.Re=this.x,a.Se=this.y,a.b.trigger(Ec.prototype.n.Yw,a),y=g=-1E3,J=-1E4):(a.b.trigger(Ec.prototype.n.xx,a),a.Re=this.x,a.Se=this.y,a.b.trigger(Ec.prototype.n.yx,a),g=this.x,y=this.y,J=c),a.Vh=0)}};a.J=function(){this.$A=!("undefined"===typeof window.c2isWindows8||!window.c2isWindows8);this.Vh=this.Ri=this.Me= +this.Se=this.Re=this.bs=this.as=this.$r=this.ry=this.qy=this.oy=this.Wm=this.Vm=this.Um=0;this.pC=0!==this.B[0];var a=0d-c.time||c.update(d,a.pageX-f.left,a.pageY-f.top,a.width||0,a.height||0,a.pressure||0)}}};a.nu=function(a){if(a.pointerType!==a.MSPOINTER_TYPE_MOUSE&&"mouse"!==a.pointerType){a.preventDefault&&kb(a)&&a.preventDefault();var c=this.b.Sa?b:jQuery(this.b.canvas).offset(),d=a.pageX-c.left,c=a.pageY-c.top;Wa(); +this.Me=this.touches.length;this.Ri=a.pointerId;this.touches.push(p(d,c,a.pointerId,this.Me));this.b.ub=!0;this.b.trigger(Ec.prototype.n.Or,this);this.b.trigger(Ec.prototype.n.Sr,this);this.Re=d;this.Se=c;this.b.trigger(Ec.prototype.n.lo,this);this.b.ub=!1}};a.Sm=function(a,b){if(a.pointerType!==a.MSPOINTER_TYPE_MOUSE&&"mouse"!==a.pointerType){a.preventDefault&&kb(a)&&a.preventDefault();var c=this.uj(a.pointerId);this.Me=0<=c?this.touches[c].Hk:-1;this.Ri=0<=c?this.touches[c].id:-1;this.b.ub=!0;this.b.trigger(Ec.prototype.n.Nr, +this);this.b.trigger(Ec.prototype.n.Rr,this);0<=c&&(b||this.touches[c].Xt(this,c),100>r.length&&r.push(this.touches[c]),this.touches.splice(c,1));this.b.ub=!1}};a.pu=function(a){a.preventDefault&&a.preventDefault();var c=Wa(),d,f,e,g;d=0;for(f=a.changedTouches.length;dc-g.time||g.update(c,e.pageX-h.left,e.pageY-h.top,2*(e.AD||e.GD||e.sD||e.vD||0),2*(e.BD||e.HD||e.tD|| +e.wD||0),e.mD||e.FD||e.rD||e.uD||0)}};a.qu=function(a){a.preventDefault&&kb(a)&&a.preventDefault();var c=this.b.Sa?b:jQuery(this.b.canvas).offset();Wa();this.b.ub=!0;var d,f,e,g;d=0;for(f=a.changedTouches.length;dr.length&&r.push(this.touches[f]),this.touches.splice(f,1));this.b.ub=!1};a.ne=function(){return this.b.md&& +0===this.Um&&0!==f?90*f:this.Um};a.Ip=function(){return this.b.md&&0===this.Vm&&0!==c?90*c:this.Vm};a.yt=function(){return this.b.md&&0===this.Wm&&0!==d?90*d:this.Wm};a.kq=function(a){u(a)||(this.qu({changedTouches:[{pageX:a.pageX,pageY:a.pageY,identifier:0}]}),this.cq=!0)};a.lq=function(a){this.cq&&!u(a)&&this.pu({changedTouches:[{pageX:a.pageX,pageY:a.pageY,identifier:0}]})};a.mq=function(a){a.preventDefault&&this.b.nm&&!this.b.cf&&a.preventDefault();this.b.nm=!0;u(a)||(this.nq({changedTouches:[{pageX:a.pageX, +pageY:a.pageY,identifier:0}]}),this.cq=!1)};a.Nk=function(){var a,b,c,d=Wa();a=0;for(b=this.touches.length;ac||c>=this.touches.length)a.O(0);else{var d,f,e,g,h;ja(b)?(d=this.b.Xe(0),f=d.scale,e=d.xc,g=d.Qc,h=d.q,d.scale=1,d.xc=1,d.Qc=1,d.q=0,a.O(d.Eb(this.touches[c].x,this.touches[c].y, +!0)),d.scale=f,d.xc=e,d.Qc=g,d.q=h):(d=ka(b)?this.b.Xe(b):this.b.wj(b))?a.O(d.Eb(this.touches[c].x,this.touches[c].y,!0)):a.O(0)}};n.prototype.so=function(a,b){var c=this.Vh;if(0>c||c>=this.touches.length)a.O(0);else{var d,f,e,g,h;ja(b)?(d=this.b.Xe(0),f=d.scale,e=d.xc,g=d.Rc,h=d.q,d.scale=1,d.xc=1,d.Rc=1,d.q=0,a.O(d.Eb(this.touches[c].x,this.touches[c].y,!1)),d.scale=f,d.xc=e,d.Rc=g,d.q=h):(d=ka(b)?this.b.Xe(b):this.b.wj(b))?a.O(d.Eb(this.touches[c].x,this.touches[c].y,!1)):a.O(0)}};h.ea=new n})(); +function Fc(e){this.b=e} +(function(){function e(){}var p=Fc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,k){this.type=e;this.behavior=e.behavior;this.j=k;this.b=e.b};var q=p.P.prototype;q.J=function(){var e=this.B[0];this.Kc=this.B[1];this.ec=this.B[2];this.Cy=0!==this.B[3];this.Lq=0!==this.B[4];this.I=Math.cos(this.j.q)*e;this.L=Math.sin(this.j.q)*e;this.Zg=this.j.x;this.$g=this.j.y;this.od=this.j.q;this.Tn=0;this.enabled=0!==this.B[5]};q.ab=function(){return{acc:this.Kc,g:this.ec, +dx:this.I,dy:this.L,lx:this.Zg,ly:this.$g,lka:this.od,t:this.Tn,e:this.enabled}};q.lb=function(e){this.Kc=e.acc;this.ec=e.g;this.I=e.dx;this.L=e.dy;this.Zg=e.lx;this.$g=e.ly;this.od=e.lka;this.Tn=e.t;this.enabled=e.e};q.Ma=function(){if(this.enabled){var e=this.b.Zf(this.j),k,n;this.j.q!==this.od&&(this.Lq&&(k=Sa(0,0,this.I,this.L),this.I=Math.cos(this.j.q)*k,this.L=Math.sin(this.j.q)*k),this.od=this.j.q);0!==this.Kc&&(k=Sa(0,0,this.I,this.L),n=0===this.I&&0===this.L?this.j.q:Ma(0,0,this.I,this.L), +k+=this.Kc*e,0>k&&(k=0),this.I=Math.cos(n)*k,this.L=Math.sin(n)*k);0!==this.ec&&(this.L+=this.ec*e);this.Zg=this.j.x;this.$g=this.j.y;if(0!==this.I||0!==this.L)if(this.j.x+=this.I*e,this.j.y+=this.L*e,this.Tn+=Sa(0,0,this.I*e,this.L*e),this.Lq&&(this.j.q=Ma(0,0,this.I,this.L),this.j.F(),this.od=this.j.q),this.j.F(),this.Cy&&(k=this.b.ob(this.j)))this.b.rf(this.j,k),k=Sa(0,0,this.I,this.L),n=this.b.Fy(this.j,this.Zg,this.$g),this.I=Math.cos(n)*k,this.L=Math.sin(n)*k,this.j.x+=this.I*e,this.j.y+=this.L* +e,this.j.F(),this.Lq&&(this.od=this.j.q=n,this.j.F()),this.b.Hd(this.j,this.I/k,this.L/k,Math.max(2.5*k*e,30))||this.b.Iu(this.j,100)}};p.n=new function(){};e.prototype.Gx=function(e){e=V(e);var k=Sa(0,0,this.I,this.L);this.I=Math.cos(e)*k;this.L=Math.sin(e)*k};e.prototype.aj=function(e){this.enabled=1===e};p.C=new e;p.ea=new function(){}})();function Gc(e){this.b=e} +(function(){function e(){}var p=Gc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,k){this.type=e;this.behavior=e.behavior;this.j=k;this.b=e.b};var q=p.P.prototype;q.J=function(){this.cs=1===this.B[0];this.sj=this.B[1];this.Wk=this.B[2];this.Rl=this.B[3];this.Sy=this.B[4];this.Qb=this.cs?0:3;this.kc?this.Ld.reset():this.Ld=new $a;this.fh=this.j.opacity?this.j.opacity:1;this.cs&&(0===this.sj?(this.Qb=1,0===this.Wk&&(this.Qb=2)):(this.j.opacity=0,this.b.Z= +!0))};q.ab=function(){return{fit:this.sj,wt:this.Wk,fot:this.Rl,s:this.Qb,st:this.Ld.X,mo:this.fh}};q.lb=function(e){this.sj=e.fit;this.Wk=e.wt;this.Rl=e.fot;this.Qb=e.s;this.Ld.reset();this.Ld.X=e.st;this.fh=e.mo};q.Ma=function(){this.Ld.add(this.b.Zf(this.j));0===this.Qb&&(this.j.opacity=this.Ld.X/this.sj*this.fh,this.b.Z=!0,this.j.opacity>=this.fh&&(this.j.opacity=this.fh,this.Qb=1,this.Ld.reset(),this.b.trigger(Gc.prototype.n.Zw,this.j)));1===this.Qb&&this.Ld.X>=this.Wk&&(this.Qb=2,this.Ld.reset(), +this.b.trigger(Gc.prototype.n.Ax,this.j));2===this.Qb&&0!==this.Rl&&(this.j.opacity=this.fh-this.Ld.X/this.Rl*this.fh,this.b.Z=!0,0>this.j.opacity&&(this.j.opacity=0,this.Qb=3,this.Ld.reset(),this.b.trigger(Gc.prototype.n.$w,this.j),1===this.Sy&&this.b.ke(this.j)))};q.ne=function(){this.Qb=0;this.Ld.reset();0===this.sj?(this.Qb=1,0===this.Wk&&(this.Qb=2)):(this.j.opacity=0,this.b.Z=!0)};e.prototype.$w=function(){return!0};e.prototype.Zw=function(){return!0};e.prototype.Ax=function(){return!0};p.n= +new e;p.C=new function(){};p.ea=new function(){}})();function Hc(e){this.b=e} +(function(){function e(){}function p(){}var q=Hc.prototype;q.T=function(e){this.behavior=e;this.b=e.b};q.T.prototype.J=function(){};q.P=function(e,n){this.type=e;this.behavior=e.behavior;this.j=n;this.b=e.b};var u=q.P.prototype;u.J=function(){this.Le=this.Ge=this.Qb=this.Rm=this.Tm=0};u.ab=function(){return{ontime:this.Tm,offtime:this.Rm,stage:this.Qb,stagetimeleft:this.Ge,timeleft:this.Le}};u.lb=function(e){this.Tm=e.ontime;this.Rm=e.offtime;this.Qb=e.stage;this.Ge=e.stagetimeleft;this.Le=e.timeleft; +null===this.Le&&(this.Le=Infinity)};u.Ma=function(){if(!(0>=this.Le)){var e=this.b.Zf(this.j);this.Le-=e;0>=this.Le?(this.Le=0,this.j.visible=!0,this.b.Z=!0,this.b.trigger(Hc.prototype.n.bx,this.j)):(this.Ge-=e,0>=this.Ge&&(0===this.Qb?(this.j.visible=!1,this.Qb=1,this.Ge+=this.Rm):(this.j.visible=!0,this.Qb=0,this.Ge+=this.Tm),this.b.Z=!0))}};e.prototype.bx=function(){return!0};q.n=new e;p.prototype.kw=function(e,n,h){this.Tm=e;this.Rm=n;this.Qb=1;this.Ge=n;this.Le=h;this.j.visible=!1;this.b.Z=!0}; +q.C=new p;q.ea=new function(){}})();function Jc(e){this.b=e} +(function(){function e(){}var p=Jc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,k){this.type=e;this.behavior=e.behavior;this.j=k;this.b=e.b};var q=p.P.prototype;q.J=function(){this.Pb=null;this.bn=-1;this.mode=this.od=this.On=this.wi=this.pf=this.pk=0;var e=this;this.kc||(this.gk=function(k){e.kk(k)});this.b.hl(this.gk)};q.ab=function(){return{uid:this.Pb?this.Pb.uid:-1,pa:this.pk,pd:this.pf,msa:this.wi,tsa:this.On,lka:this.od,m:this.mode}};q.lb= +function(e){this.bn=e.uid;this.pk=e.pa;this.pf=e.pd;this.wi=e.msa;this.On=e.tsa;this.od=e.lka;this.mode=e.m};q.Qd=function(){-1===this.bn?this.Pb=null:this.Pb=this.b.Mg(this.bn);this.bn=-1};q.kk=function(e){this.Pb==e&&(this.Pb=null)};q.ae=function(){this.Pb=null;this.b.Lu(this.gk)};q.Ma=function(){};q.Nk=function(){if(this.Pb){this.od!==this.j.q&&(this.wi=Ja(this.wi+(this.j.q-this.od)));var e=this.j.x,k=this.j.y;if(3===this.mode||4===this.mode){var n=Sa(this.j.x,this.j.y,this.Pb.x,this.Pb.y);if(n> +this.pf||4===this.mode&&nthis.ec&&(this.Xa*=-1,this.Ya*=-1,this.ec=Math.abs(this.ec))};u.J=function(){this.hf=this.B[0];this.Kc=this.B[1];this.Kh=this.B[2];this.Pj=this.B[3];this.Zo=this.ec=this.B[4];this.eh=this.B[5];this.Qo=0!==this.B[6];this.Jp=this.B[7]/1E3;this.Py=1===this.B[8];this.enabled=0!==this.B[9];this.Xi=!1;this.Yi=this.b.Ie(this.j);this.Qp=-1;this.sh=0;this.Th=V(90); +this.Ev();var e=this;this.Py&&!this.b.Sa&&(jQuery(document).keydown(function(n){e.iq(n)}),jQuery(document).keyup(function(n){e.jq(n)}));this.kc||(this.gk=function(n){e.kk(n)});this.b.hl(this.gk);this.j.N.isPlatformBehavior=!0};u.ab=function(){return{ii:this.rp,lfx:this.eg,lfy:this.fg,lfo:this.Vb?this.Vb.uid:-1,am:this.Sd,en:this.enabled,fall:this.Xf,ft:this.Xl,dx:this.I,dy:this.L,ms:this.hf,acc:this.Kc,dec:this.Kh,js:this.Pj,g:this.ec,g1:this.Zo,mf:this.eh,wof:this.Xi,woj:this.Yi?this.Yi.uid:-1,ga:this.Th, +edj:this.Qo,cdj:this.jj,dj:this.pj,sus:this.Jp}};u.lb=function(e){this.rp=e.ii;this.eg=e.lfx;this.fg=e.lfy;this.Pp=e.lfo;this.Sd=e.am;this.enabled=e.en;this.Xf=e.fall;this.Xl=e.ft;this.I=e.dx;this.L=e.dy;this.hf=e.ms;this.Kc=e.acc;this.Kh=e.dec;this.Pj=e.js;this.ec=e.g;this.Zo=e.g1;this.eh=e.mf;this.Xi=e.wof;this.Qp=e.woj;this.Th=e.ga;this.Qo=e.edj;this.jj=e.cdj;this.pj=e.dj;this.Jp=e.sus;this.Fk=this.En=this.Dn=this.hi=this.ji=this.xk=this.Sj=!1;this.sh=0;this.Ev()};u.Qd=function(){-1===this.Pp? +this.Vb=null:this.Vb=this.b.Mg(this.Pp);-1===this.Qp?this.Yi=null:this.Yi=this.b.Mg(this.Qp)};u.kk=function(e){this.Vb==e&&(this.Vb=null)};u.ae=function(){this.Vb=null;this.b.Lu(this.gk)};u.iq=function(e){switch(e.which){case 38:e.preventDefault();this.ji=!0;break;case 37:e.preventDefault();this.Sj=!0;break;case 39:e.preventDefault(),this.xk=!0}};u.jq=function(e){switch(e.which){case 38:e.preventDefault();this.hi=this.ji=!1;break;case 37:e.preventDefault();this.Sj=!1;break;case 39:e.preventDefault(), +this.xk=!1}};u.lg=function(){this.ji=this.xk=this.Sj=!1};u.ne=function(){return 0>this.ec?-1:1};u.mt=function(){var e=null,n=null,h,a;h=this.j.x;a=this.j.y;this.j.x+=this.Xa;this.j.y+=this.Ya;this.j.F();if(this.Vb&&this.b.nc(this.j,this.Vb)&&(!this.b.dr(this.Vb.type,oc)||this.Vb.N.solidEnabled))return this.j.x=h,this.j.y=a,this.j.F(),this.Vb;(e=this.b.ob(this.j))||0!==this.Xf||(n=this.b.Ie(this.j,!0));this.j.x=h;this.j.y=a;this.j.F();if(e){if(this.b.nc(this.j,e))return null;this.vj=!1;return e}if(n&& +n.length){a=e=0;for(h=n.length;ethis.eh&&(this.L=this.eh)),q&&(this.hi=!0));this.Xi=!!l;u==a&&(0>this.I?(this.I+=this.Kh*e,0this.I&& +(this.I=0)));u&&!a&&(this.I=0this.I?this.I+(this.Kc+this.Kh)*e:this.I+this.Kc*e);this.I>this.hf?this.I=this.hf:this.I<-this.hf&&(this.I=-this.hf);u=!1;0!==this.I&&(p=this.j.x,g=this.j.y,n=this.I*e*this.Ce,h=this.I*e*this.De,this.j.x+=this.Ce*(1this.I?1:-1),this.De*(0>this.I?1:-1),n,!1)?!l||b||this.vj||(p=this.j.x,g=this.j.y,this.j.x+=this.Xa,this.j.y+=this.Ya,this.b.ob(this.j)?this.b.Hd(this.j,-this.Xa,-this.Ya,3,!1)||(this.j.x=p,this.j.y=g,this.j.F()):(this.j.x=p,this.j.y= +g,this.j.F())):(this.j.x=p,this.j.y=g,this.j.F()),b||(this.I=0)):!d&&!q&&Math.abs(this.L)this.L?1:-1),this.Ya*(0>this.L?1:-1),n,b,h)?(this.Vb=h,this.eg=h.x,this.fg=h.y,(this.vj=b)&&(u=!0),this.L=0):(this.j.x=p,this.j.y=g,this.j.F(),this.Xi=!0,b||(this.L=0)))}3!==this.Sd&&0this.hf&&(this.hf=0)};p.prototype.Qx=function(e){this.eh=e;0>this.eh&&(this.eh=0)};p.prototype.by=function(e){switch(e){case 0:this.Dn=!0;break;case 1:this.En=!0;break;case 2:this.Fk=!0}};p.prototype.Yx=function(e){this.I=e};p.prototype.Zx=function(e){this.L=e};p.prototype.aj=function(e){this.enabled!==(1===e)&&(this.enabled= +1===e,this.enabled||(this.Vb=null))};p.prototype.jw=function(){var e=this.j.x,n=this.j.y;this.j.x+=this.Xa;this.j.y+=this.Ya;this.j.F();var h=this.b.Ie(this.j,!1);this.j.x=e;this.j.y=n;this.j.F();h&&(this.Xf=3,this.Vb=null)};q.C=new p;q.ea=new function(){}})();function Pc(e){this.b=e} +(function(){function e(){}var p=Pc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,a){this.type=e;this.behavior=e.behavior;this.j=a;this.b=e.b;this.Lb=0};var q=p.P.prototype,u=2*Math.PI,k=Math.PI/2,n=3*Math.PI/2;q.J=function(){this.Wa=1===this.B[0];this.ti=this.B[1];this.or=this.B[2];this.of=this.B[3];this.of+=Math.random()*this.B[4];0===this.of?this.Lb=0:(this.Lb=this.B[5]/this.of*u,this.Lb+=Math.random()*this.B[6]/this.of*u);this.Pc=this.B[7];this.Pc+= +Math.random()*this.B[8];this.vk=this.Rg=this.ua=0;5===this.ti&&(this.Pc=V(this.Pc));this.init()};q.ab=function(){return{i:this.Lb,a:this.Wa,mv:this.ti,w:this.or,p:this.of,mag:this.Pc,iv:this.ua,iv2:this.Rg,r:this.vk,lkv:this.bd,lkv2:this.Qj}};q.lb=function(e){this.Lb=e.i;this.Wa=e.a;this.ti=e.mv;this.or=e.w;this.of=e.p;this.Pc=e.mag;this.ua=e.iv;this.Rg=e.iv2||0;this.vk=e.r;this.bd=e.lkv;this.Qj=e.lkv2||0};q.init=function(){switch(this.ti){case 0:this.ua=this.j.x;break;case 1:this.ua=this.j.y;break; +case 2:this.ua=this.j.width;this.vk=this.j.height/this.j.width;break;case 3:this.ua=this.j.width;break;case 4:this.ua=this.j.height;break;case 5:this.ua=this.j.q;break;case 6:this.ua=this.j.opacity;break;case 7:this.ua=0;break;case 8:this.ua=this.j.x,this.Rg=this.j.y}this.bd=this.ua;this.Qj=this.Rg};q.Cf=function(e){e=e%u;switch(this.or){case 0:return Math.sin(e);case 1:return e<=k?e/k:e<=n?1-2*(e-k)/Math.PI:(e-n)/k-1;case 2:return 2*e/u-1;case 3:return-2*e/u+1;case 4:return ethis.j.opacity?this.j.opacity=0:1e.right||0>e.bottom||e.left>q.width||e.top>q.height)&&this.b.ke(this.j)}})();function pc(e){this.b=e} +(function(){function e(){}var p=pc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,k){this.type=e;this.behavior=e.behavior;this.j=k;this.b=e.b};var q=p.P.prototype;q.J=function(){this.j.N.jumpthruEnabled=0!==this.B[0]};q.Ma=function(){};p.n=new function(){};e.prototype.aj=function(e){this.j.N.jumpthruEnabled=!!e};p.C=new e})();function Sc(e){this.b=e;this.Cn=this.Ek=this.qh=this.Bn=0} +(function(){function e(){}var p=Sc.prototype;p.T=function(e){this.behavior=e;this.b=e.b};p.T.prototype.J=function(){};p.P=function(e,k){this.type=e;this.behavior=e.behavior;this.j=k;this.b=e.b};var q=p.P.prototype;q.J=function(){this.enabled=0!==this.B[0]};q.ab=function(){return{smg:this.behavior.Bn,ss:this.behavior.qh,se:this.behavior.Ek,smd:this.behavior.Cn}};q.lb=function(e){this.behavior.Bn=e.smg;this.behavior.qh=e.ss;this.behavior.Ek=e.se;this.behavior.Cn=e.smd};q.Ma=function(){};q.Nk=function(){if(this.enabled){var e= +this.behavior.Nm.Af(),k=0,n=0,h,a,b,d=0;h=0;for(a=e.length;h=this.behavior.qh&&awu|XW+ zXaWELYg{hC)>v-1Zcenv8}CmEoi5^+|F8$%?1pl1K$$xCHLaW2?$_k#XbRoe?_tVn z=x!hwUAfroZSIf{#5uJ-%UQY(#QT|AnCI+6pE6G`P)t-Lm6NMNYToznR1Pb7YiMFB zak^%vvSz~l3ASqE-I~Fm=)bBEkxFBaOZt>8(a5%F=I7mryEHvSoapB3Sm4%cJ-LyI z0gu>ttGGoh=`3r9?0C!8Uo|QfMmQ%(irR!Y(KY>OWG#xf?r!J1c@!5EBW%st*4Kh< zuWRlP>j5AxWumV}hCmdB{qX_kDx*pdkNF75KEJ&hv?hs9yxWdRyUuBH)qgmW@7j5( z>&Vu`C~=#zQ|kZvRbx)@KJ{COUqTtklhZD>3mS+E2%PjQMqr-i#=7&wW^38`-ix_IO5W>yM4>T$JjxcmsT-M;N-$epxG+9d?4+&!tFb@^}eg(F8>ZU-FAZ@X(RJ2Rb9%!!Z&?~xAra(md95hGxpAWhw}Qn{;?mJ zl(&oU@dwU%@H>7}R?#G`oa~&(p@*kk&?~J#vhT)kfZtIG+}Z|DR!}@fVKs#-I@|SF z3oxCx1)4&SWFk&{d;XA4!G>$fVu|+imN%-Y7f+rg&!RxTTZT_8?q<_m9w`3=V78}D zop50C@gza|*6a5bO!_%RNmmFI;$&)jP{LkB0{8Rut{GMZTG|%<@#4l&Bm(PILat!l z?v)IogrsdE$THcvU0Uy1yj0#|Su1LsIm=U8;H%p9f zMmf}^>YR{Xai4yABxl$1%!;ege>#dK;yRlwQg+1TtwG_fHS+XaD_M8M*cW*)n3uWoE2ejax5kP4HJeLFgw}Au)FR z#El6xt8$tgsOkp@eN|}4@|i|MP3Ass^YTFJ344AOGRlP1G9lynT(}yp)7Z7F5mR~6 z8nW;-T1(L?zjbcNGDN+X6p7B$eD$6Ij13Mw9z-sTRh!s?`W<>~{;BL3ba#!?_(lEV=PnF_9Ov8YU7X>ct_L-BeJT73Wi8O2_Zfeh-x&Jgm*bve zFd6q++s==|+;Ce$+!=ECgxioV^KI~g1&*=g7O;hnk`a#i5|tN<%}GnGJL>azrz@XB zVe%paU2+#hPZ1F{WZMSN#HXs+25jiUP-i}`mOjBa9z9=$nEBCyJ(xFn4;%-U! z&_iBhRQ^vtF|~`6RWS`zGeq~3b+-y25eY}WuIHyV#{u72qkC@HbvlGjx>IF@wTt;K zUT}Fm4>|i>=}5?&R~6zYARGu%O4V5s*p@Rvl@B5l5A0Uf6xww9f%#S2+J=~6t0|8h z(R`52PZ;9cgMADOvB=(qVQz4KB%FHg}kT| z(Ca}X9RrXrCjyHP+xe+71B1es&Ae0Vp1$XZPlo4V!aDF9@gfp8n{GTjGN0ToosU$~ z!i*_%-_zUM&#(#y?Bm0tN1am=>-YgFhEi?@M!Boa_?+T0Mk=~eaIm{M`om=fXz2jI z<<&k=^-T6lJL$QPE#T6~thAe3ZTZybTK`Kg%khvLG{@%`*GhYMbH;vqL_xPzHYY-Q1 zg?-C7tkBxg`)}Xw>BWadGA$Y zS#`WN>*78@pykfPzQiOlLGwi`5c?{4Ei z|Hshs)%oApxw@lON%4kQejhR<%@$V9Hha|F_a)>r2KjMAl(c4Qcb}UVE380P|aq62%<6jsW=7+)a3R>-?;5uwfMGY(I&rqX#8MPN2Hq ze$9jK;&5uqvM0GTv)nP|+CWQI&q2$of9Z%yFN6gYb4tZkF!yChbTJ3Kf+(6kS07R}?W1_TM*}i+aM>cS9S@JIe^`$r5 dkt~;L4_FkCh=sl9bqo)%XZHc`O3&}<{|1ALF8crg literal 0 HcmV?d00001 diff --git a/icon-128.png b/icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..00ff67c4663a2186453550764ccf8c7dbee3e2cf GIT binary patch literal 3046 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 BqE`R_ literal 0 HcmV?d00001 diff --git a/icon-16.png b/icon-16.png new file mode 100644 index 0000000000000000000000000000000000000000..7a2497069ae6319926001eb36fd622627d6c9e4d GIT binary patch literal 308 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 literal 0 HcmV?d00001 diff --git a/icon-32.png b/icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b68f1c53cc3b9b4a0890e6c81216023e16f78d GIT binary patch literal 543 zcmV+)0^t3LP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0kla(K~z{r?UTJq z13?sp_YLgqMD46p$P*}{m7Oo3g*KAH(!xqDl+wTC0kzvFFGm-3 zFK+x>Wy*ZkHrhZKI$9!N{7xB@P2d~gr=M7XB{ipG%O z61WKz6#>VMrdfUduut97Gldy|aCL4b@#|>}3GRWHo04g~?^v3R`$RG(A03{w{Kfz- z>Ft5~?qI@%CUd_4jR4)#Gr=W*0gA(jCQ}iJ!UTbc#*knGygi-(2^A*h&G8NcTzBJx zdtj|PWDf79b0fG1#$gH**+(FzMI>`d@?d@`5>C zp10t=+c_@j?EyGf@x19+0vG_BrCEC*>&>#xGZ}z5;o-bU?Ex%6T%V+>;C`% literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..e5012d2 --- /dev/null +++ b/index.html @@ -0,0 +1,136 @@ + + + + + + Pixel Adventure + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + +

Your browser does not appear to support HTML5. Try upgrading your browser to the latest version. What is a browser? +

Microsoft Internet Explorer
+ Mozilla Firefox
+ Google Chrome
+ Apple Safari

+
+ +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/jquery-3.4.1.min.js b/jquery-3.4.1.min.js new file mode 100644 index 0000000..a1c07fd --- /dev/null +++ b/jquery-3.4.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0`TpTEA2ZK$-}iO6zt{IVob~&{ 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 z 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 Vv;V>pFdVDov-yinH{1`z{~rYP+-m>; literal 0 HcmV?d00001 diff --git a/offline.js b/offline.js new file mode 100644 index 0000000..a412e8d --- /dev/null +++ b/offline.js @@ -0,0 +1,86 @@ +{ + "version": 1660172749, + "fileList": [ + "data.js", + "c2runtime.js", + "jquery-3.4.1.min.js", + "offlineClient.js", + "images/bg_blue.png", + "images/bg_brown.png", + "images/bg_gray.png", + "images/bg_green.png", + "images/bg_pink.png", + "images/bg_purple.png", + "images/bg_yellow.png", + "images/obj_endpoint-sheet0.png", + "images/obj_startpoint-sheet0.png", + "images/obj_startpoint-sheet1.png", + "images/obj_gocredits.png", + "images/obj_gocreditscollider-sheet0.png", + "images/collider_chickentrigger-sheet0.png", + "images/enemy_chickenanim-sheet0.png", + "images/enemy_chickenanim-sheet1.png", + "images/enemy_chickenbox-sheet0.png", + "images/boss_mushroomanim-sheet0.png", + "images/boss_mushroomanim-sheet1.png", + "images/boss_mushroombox-sheet0.png", + "images/boss_angrypigbox-sheet0.png", + "images/boss_angrypiganim-sheet0.png", + "images/effect_jumpdust.png", + "images/effect_collected-sheet0.png", + "images/effect_collected-sheet1.png", + "images/collider_firetrigger-sheet0.png", + "images/collider_firedmg-sheet0.png", + "images/player_anim-sheet0.png", + "images/player_anim-sheet1.png", + "images/player_box-sheet0.png", + "images/obj__solids.png", + "images/obj_throughsolids.png", + "images/fruits-sheet0.png", + "images/fruits-sheet1.png", + "images/fruits-sheet2.png", + "images/trap_flyningplatform-sheet0.png", + "images/trap_spikes.png", + "images/trap_fire-sheet0.png", + "images/trap_trampoline-sheet0.png", + "images/trap_trampoline-sheet1.png", + "images/ui_transition-sheet0.png", + "images/ui_fadeeffect-sheet0.png", + "images/ui_buttonreset-sheet0.png", + "images/ui_buttonvolume-sheet0.png", + "images/ui_buttonvolume-sheet1.png", + "images/ui_buttonlevels-sheet0.png", + "images/ui_lifebossbar.png", + "images/ui_lifebossbarcount.png", + "images/obj_camera-sheet0.png", + "images/lvlscript_dangerboss.png", + "images/menubuttons_levels-sheet0.png", + "images/button_padlock-sheet0.png", + "images/menubutton_start.png", + "images/menubutton_tittle.png", + "images/menubutton_back-sheet0.png", + "images/menuscript_characterselected.png", + "images/menu_selectarrow-sheet0.png", + "media/passo.m4a", + "media/passo.ogg", + "media/collect.m4a", + "media/collect.ogg", + "media/collect-5930.m4a", + "media/collectcoin-6075.m4a", + "media/collect-5930.ogg", + "media/collectcoin-6075.ogg", + "media/pouso.m4a", + "media/pouso.ogg", + "media/land.m4a", + "media/land.ogg", + "media/jump.m4a", + "media/jump.ogg", + "media/caketown.ogg", + "icon-16.png", + "icon-32.png", + "icon-114.png", + "icon-128.png", + "icon-256.png", + "loading-logo.png" + ] +} \ No newline at end of file diff --git a/offlineClient.js b/offlineClient.js new file mode 100644 index 0000000..b8dfe0f --- /dev/null +++ b/offlineClient.js @@ -0,0 +1,53 @@ +"use strict"; + +(function() { + + class OfflineClient + { + constructor() + { + // Create a BroadcastChannel, if supported. + this._broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel("offline")); + + // Queue of messages received before a message callback is set. + this._queuedMessages = []; + + // The message callback. + this._onMessageCallback = null; + + // If BroadcastChannel is supported, listen for messages. + if (this._broadcastChannel) + this._broadcastChannel.onmessage = (e => this._OnBroadcastChannelMessage(e)); + } + + _OnBroadcastChannelMessage(e) + { + // Have a message callback set: just forward the call. + if (this._onMessageCallback) + { + this._onMessageCallback(e); + return; + } + + // Otherwise the app hasn't loaded far enough to set a message callback. + // Buffer the incoming messages to replay when the app sets a callback. + this._queuedMessages.push(e); + } + + SetMessageCallback(f) + { + this._onMessageCallback = f; + + // Replay any queued messages through the handler, then clear the queue. + for (let e of this._queuedMessages) + this._onMessageCallback(e); + + this._queuedMessages.length = 0; + } + }; + + // Create the offline client ASAP so we receive and start queueing any messages the SW broadcasts. + window.OfflineClientInfo = new OfflineClient(); + +}()); + diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..dfe699a --- /dev/null +++ b/sw.js @@ -0,0 +1,403 @@ +"use strict"; + +const OFFLINE_DATA_FILE = "offline.js"; +const CACHE_NAME_PREFIX = "c2offline"; +const BROADCASTCHANNEL_NAME = "offline"; +const CONSOLE_PREFIX = "[SW] "; +const LAZYLOAD_KEYNAME = ""; + +// Create a BroadcastChannel if supported. +const broadcastChannel = (typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel(BROADCASTCHANNEL_NAME)); + +////////////////////////////////////// +// Utility methods +function PostBroadcastMessage(o) +{ + if (!broadcastChannel) + return; // not supported + + // Impose artificial (and arbitrary!) delay of 3 seconds to make sure client is listening by the time the message is sent. + // Note we could remove the delay on some messages, but then we create a race condition where sometimes messages can arrive + // in the wrong order (e.g. "update ready" arrives before "started downloading update"). So to keep the consistent ordering, + // delay all messages by the same amount. + setTimeout(() => broadcastChannel.postMessage(o), 3000); +}; + +function Broadcast(type) +{ + PostBroadcastMessage({ + "type": type + }); +}; + +function BroadcastDownloadingUpdate(version) +{ + PostBroadcastMessage({ + "type": "downloading-update", + "version": version + }); +} + +function BroadcastUpdateReady(version) +{ + PostBroadcastMessage({ + "type": "update-ready", + "version": version + }); +} + +function IsUrlInLazyLoadList(url, lazyLoadList) +{ + if (!lazyLoadList) + return false; // presumably lazy load list failed to load + + try { + for (const lazyLoadRegex of lazyLoadList) + { + if (new RegExp(lazyLoadRegex).test(url)) + return true; + } + } + catch (err) + { + console.error(CONSOLE_PREFIX + "Error matching in lazy-load list: ", err); + } + + return false; +}; + +function WriteLazyLoadListToStorage(lazyLoadList) +{ + if (typeof localforage === "undefined") + return Promise.resolve(); // bypass if localforage not imported + else + return localforage.setItem(LAZYLOAD_KEYNAME, lazyLoadList) +}; + +function ReadLazyLoadListFromStorage() +{ + if (typeof localforage === "undefined") + return Promise.resolve([]); // bypass if localforage not imported + else + return localforage.getItem(LAZYLOAD_KEYNAME); +}; + +function GetCacheBaseName() +{ + // Include the scope to avoid name collisions with any other SWs on the same origin. + // e.g. "c2offline-https://example.com/foo/" (won't collide with anything under bar/) + return CACHE_NAME_PREFIX + "-" + self.registration.scope; +}; + +function GetCacheVersionName(version) +{ + // Append the version number to the cache name. + // e.g. "c2offline-https://example.com/foo/-v2" + return GetCacheBaseName() + "-v" + version; +}; + +// Return caches.keys() filtered down to just caches we're interested in (with the right base name). +// This filters out caches from unrelated scopes. +async function GetAvailableCacheNames() +{ + const cacheNames = await caches.keys(); + const cacheBaseName = GetCacheBaseName(); + return cacheNames.filter(n => n.startsWith(cacheBaseName)); +}; + +// Identify if an update is pending, which is the case when we have 2 or more available caches. +// One must be an update that is waiting, since the next navigate that does an upgrade will +// delete all the old caches leaving just one currently-in-use cache. +async function IsUpdatePending() +{ + const availableCacheNames = await GetAvailableCacheNames(); + return (availableCacheNames.length >= 2); +}; + +// Automatically deduce the main page URL (e.g. index.html or main.aspx) from the available browser windows. +// This prevents having to hard-code an index page in the file list, implicitly caching it like AppCache did. +async function GetMainPageUrl() +{ + const allClients = await clients.matchAll({ + includeUncontrolled: true, + type: "window" + }); + + for (const c of allClients) + { + // Parse off the scope from the full client URL, e.g. https://example.com/index.html -> index.html + let url = c.url; + if (url.startsWith(self.registration.scope)) + url = url.substring(self.registration.scope.length); + + if (url && url !== "/") // ./ is also implicitly cached so don't bother returning that + { + // If the URL is solely a search string, prefix it with / to ensure it caches correctly. + // e.g. https://example.com/?foo=bar needs to cache as /?foo=bar, not just ?foo=bar. + if (url.startsWith("?")) + url = "/" + url; + + return url; + } + } + + return ""; // no main page URL could be identified +}; + +// Hack to fetch optionally bypassing HTTP cache until fetch cache options are supported in Chrome (crbug.com/453190) +function fetchWithBypass(request, bypassCache) +{ + if (typeof request === "string") + request = new Request(request); + + if (bypassCache) + { + // bypass enabled: add a random search parameter to avoid getting a stale HTTP cache result + const url = new URL(request.url); + url.search += Math.floor(Math.random() * 1000000); + + return fetch(url, { + headers: request.headers, + mode: request.mode, + credentials: request.credentials, + redirect: request.redirect, + cache: "no-store" + }); + } + else + { + // bypass disabled: perform normal fetch which is allowed to return from HTTP cache + return fetch(request); + } +}; + +// Effectively a cache.addAll() that only creates the cache on all requests being successful (as a weak attempt at making it atomic) +// and can optionally cache-bypass with fetchWithBypass in every request +async function CreateCacheFromFileList(cacheName, fileList, bypassCache) +{ + // Kick off all requests and wait for them all to complete + const responses = await Promise.all(fileList.map(url => fetchWithBypass(url, bypassCache))); + + // Check if any request failed. If so don't move on to opening the cache. + // This makes sure we only open a cache if all requests succeeded. + let allOk = true; + + for (const response of responses) + { + if (!response.ok) + { + allOk = false; + console.error(CONSOLE_PREFIX + "Error fetching '" + response.url + "' (" + response.status + " " + response.statusText + ")"); + } + } + + if (!allOk) + throw new Error("not all resources were fetched successfully"); + + // Can now assume all responses are OK. Open a cache and write all responses there. + // TODO: ideally we can do this transactionally to ensure a complete cache is written as one atomic operation. + // This needs either new transactional features in the spec, or at the very least a way to rename a cache + // (so we can write to a temporary name that won't be returned by GetAvailableCacheNames() and then rename it when ready). + const cache = await caches.open(cacheName); + + try { + return await Promise.all(responses.map( + (response, i) => cache.put(fileList[i], response) + )); + } + catch (err) + { + // Not sure why cache.put() would fail (maybe if storage quota exceeded?) but in case it does, + // clean up the cache to try to avoid leaving behind an incomplete cache. + console.error(CONSOLE_PREFIX + "Error writing cache entries: ", err); + caches.delete(cacheName); + throw err; + } +}; + +async function UpdateCheck(isFirst) +{ + try { + // Always bypass cache when requesting offline.js to make sure we find out about new versions. + const response = await fetchWithBypass(OFFLINE_DATA_FILE, true); + + if (!response.ok) + throw new Error(OFFLINE_DATA_FILE + " responded with " + response.status + " " + response.statusText); + + const data = await response.json(); + + const version = data.version; + const fileList = data.fileList; + const lazyLoadList = data.lazyLoad; + const currentCacheName = GetCacheVersionName(version); + + const cacheExists = await caches.has(currentCacheName); + + // Don't recache if there is already a cache that exists for this version. Assume it is complete. + if (cacheExists) + { + // Log whether we are up-to-date or pending an update. + const isUpdatePending = await IsUpdatePending(); + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "Update pending"); + Broadcast("update-pending"); + } + else + { + console.log(CONSOLE_PREFIX + "Up to date"); + Broadcast("up-to-date"); + } + return; + } + + // Implicitly add the main page URL to the file list, e.g. "index.html", so we don't have to assume a specific name. + const mainPageUrl = await GetMainPageUrl(); + + // Prepend the main page URL to the file list if we found one and it is not already in the list. + // Also make sure we request the base / which should serve the main page. + fileList.unshift("./"); + + if (mainPageUrl && fileList.indexOf(mainPageUrl) === -1) + fileList.unshift(mainPageUrl); + + console.log(CONSOLE_PREFIX + "Caching " + fileList.length + " files for offline use"); + + if (isFirst) + Broadcast("downloading"); + else + BroadcastDownloadingUpdate(version); + + // Note we don't bypass the cache on the first update check. This is because SW installation and the following + // update check caching will race with the normal page load requests. For any normal loading fetches that have already + // completed or are in-flight, it is pointless and wasteful to cache-bust the request for offline caching, since that + // forces a second network request to be issued when a response from the browser HTTP cache would be fine. + if (lazyLoadList) + await WriteLazyLoadListToStorage(lazyLoadList); // dump lazy load list to local storage# + + await CreateCacheFromFileList(currentCacheName, fileList, !isFirst); + const isUpdatePending = await IsUpdatePending(); + + if (isUpdatePending) + { + console.log(CONSOLE_PREFIX + "All resources saved, update ready"); + BroadcastUpdateReady(version); + } + else + { + console.log(CONSOLE_PREFIX + "All resources saved, offline support ready"); + Broadcast("offline-ready"); + } + } + catch (err) + { + // Update check fetches fail when we're offline, but in case there's any other kind of problem with it, log a warning. + console.warn(CONSOLE_PREFIX + "Update check failed: ", err); + } +}; + +self.addEventListener("install", event => +{ + // On install kick off an update check to cache files on first use. + // If it fails we can still complete the install event and leave the SW running, we'll just + // retry on the next navigate. + event.waitUntil( + UpdateCheck(true) // first update + .catch(() => null) + ); +}); + +async function GetCacheNameToUse(availableCacheNames, doUpdateCheck) +{ + // Prefer the oldest cache available. This avoids mixed-version responses by ensuring that if a new cache + // is created and filled due to an update check while the page is running, we keep returning resources + // from the original (oldest) cache only. + if (availableCacheNames.length === 1 || !doUpdateCheck) + return availableCacheNames[0]; + + // We are making a navigate request with more than one cache available. Check if we can expire any old ones. + const allClients = await clients.matchAll(); + + // If there are other clients open, don't expire anything yet. We don't want to delete any caches they + // might be using, which could cause mixed-version responses. + if (allClients.length > 1) + return availableCacheNames[0]; + + // Identify newest cache to use. Delete all the others. + const latestCacheName = availableCacheNames[availableCacheNames.length - 1]; + console.log(CONSOLE_PREFIX + "Updating to new version"); + + await Promise.all( + availableCacheNames.slice(0, -1) + .map(c => caches.delete(c)) + ); + + return latestCacheName; +}; + +async function HandleFetch(event, doUpdateCheck) +{ + const availableCacheNames = await GetAvailableCacheNames(); + + // No caches available: go to network + if (!availableCacheNames.length) + return fetch(event.request); + + const useCacheName = await GetCacheNameToUse(availableCacheNames, doUpdateCheck); + const cache = await caches.open(useCacheName); + const cachedResponse = await cache.match(event.request); + + if (cachedResponse) + return cachedResponse; // use cached response + + // We need to check if this request is to be lazy-cached. Send the request and load the lazy-load list + // from storage simultaneously. + const result = await Promise.all([fetch(event.request), ReadLazyLoadListFromStorage()]); + const fetchResponse = result[0]; + const lazyLoadList = result[1]; + + if (IsUrlInLazyLoadList(event.request.url, lazyLoadList)) + { + // Handle failure writing to the cache. This can happen if the storage quota is exceeded, which is particularly + // likely in Safari 11.1, which appears to have very tight storage limits. Make sure even in the event of an error + // we continue to return the response from the fetch. + try { + // Note clone response since we also respond with it + await cache.put(event.request, fetchResponse.clone()); + } + catch (err) + { + console.warn(CONSOLE_PREFIX + "Error caching '" + event.request.url + "': ", err); + } + } + + return fetchResponse; +}; + +self.addEventListener("fetch", event => +{ + /** NOTE (iain) + * This check is to prevent a bug with XMLHttpRequest where if its + * proxied with "FetchEvent.prototype.respondWith" no upload progress + * events are triggered. By returning we allow the default action to + * occur instead. Currently all cross-origin requests fall back to default. + */ + if (new URL(event.request.url).origin !== location.origin) + return; + + // Check for an update on navigate requests + const doUpdateCheck = (event.request.mode === "navigate"); + + const responsePromise = HandleFetch(event, doUpdateCheck); + + if (doUpdateCheck) + { + // allow the main request to complete, then check for updates + event.waitUntil( + responsePromise + .then(() => UpdateCheck(false)) // not first check + ); + } + + event.respondWith(responsePromise); +}); \ No newline at end of file