1(function(){const h=Math.PI/180,t=180/Math.PI,aa=self.fetch,ba=aa&&!0;var ca,da,ea,fa,ia,ja=0,ka;function la(a){return Math.cos(a*h)}function ma(a,b,d,e){var f=na,g=oa;qa.set(2*f/(b-a),0,0,0,0,2*f/(e-d),0,0,(b+a)/(b-a),(e+d)/(e-d),-(g+f)/(g-f),-1,0,0,-2*g*f/(g-f),0)}function ra(a){a.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)} 2function sa(a,b,d,e,f,g){var l=w.s,k=w.u,n=w.j,q=ta.H;e=a-e;f=b-f;var p=d-g;var r=1/Math.sqrt(e*e+f*f+p*p);e*=r;f*=r;p*=r;g=k*p-n*f;n=n*e-l*p;l=l*f-k*e;(r=Math.sqrt(g*g+n*n+l*l))?(r=1/r,g*=r,n*=r,l*=r):l=n=g=0;k=f*l-p*n;var u=p*g-e*l;var v=e*n-f*g;(r=Math.sqrt(k*k+u*u+v*v))?(r=1/r,k*=r,u*=r,v*=r):v=u=k=0;q[0]=g;q[1]=k;q[2]=e;q[3]=0;q[4]=n;q[5]=u;q[6]=f;q[7]=0;q[8]=l;q[9]=v;q[10]=p;q[11]=0;q[12]=-(g*a+n*b+l*d);q[13]=-(k*a+u*b+v*d);q[14]=-(e*a+f*b+p*d);q[15]=1} 3function ua(a,b,d){var e=b.H;d=d.H;a=a.H;b=e[0];var f=e[1],g=e[2],l=e[3],k=e[4],n=e[5],q=e[6],p=e[7],r=e[8],u=e[9],v=e[10],z=e[11],B=e[12],y=e[13],C=e[14];e=e[15];var A=d[0],D=d[1],F=d[2],I=d[3];a[0]=A*b+D*k+F*r+I*B;a[1]=A*f+D*n+F*u+I*y;a[2]=A*g+D*q+F*v+I*C;a[3]=A*l+D*p+F*z+I*e;A=d[4];D=d[5];F=d[6];I=d[7];a[4]=A*b+D*k+F*r+I*B;a[5]=A*f+D*n+F*u+I*y;a[6]=A*g+D*q+F*v+I*C;a[7]=A*l+D*p+F*z+I*e;A=d[8];D=d[9];F=d[10];I=d[11];a[8]=A*b+D*k+F*r+I*B;a[9]=A*f+D*n+F*u+I*y;a[10]=A*g+D*q+F*v+I*C;a[11]=A*l+D*p+F* 4z+I*e;A=d[12];D=d[13];F=d[14];I=d[15];a[12]=A*b+D*k+F*r+I*B;a[13]=A*f+D*n+F*u+I*y;a[14]=A*g+D*q+F*v+I*C;a[15]=A*l+D*p+F*z+I*e}function wa(a){var b=na,d=oa,e=qa.H,f=1/Math.tan(.5*xa*h),g=1/(b-d);e[0]=f/a;e[1]=0;e[2]=0;e[3]=0;e[4]=0;e[5]=f;e[6]=0;e[7]=0;e[8]=0;e[9]=0;e[10]=(d+b)*g;e[11]=-1;e[12]=0;e[13]=0;e[14]=2*d*b*g;e[15]=0}function ya(a,b){a=a.H;for(var d=0;16>d;d++)a[d]=b[d]} 5class za{constructor(){this.H=new Float32Array(16)}scale(a,b,d,e){var f=this.H;a=a.H;f[0]=a[0]*b;f[1]=a[1]*b;f[2]=a[2]*b;f[3]=a[3]*b;f[4]=a[4]*d;f[5]=a[5]*d;f[6]=a[6]*d;f[7]=a[7]*d;f[8]=a[8]*e;f[9]=a[9]*e;f[10]=a[10]*e;f[11]=a[11]*e;f[12]=a[12];f[13]=a[13];f[14]=a[14];f[15]=a[15]}set(a,b,d,e,f,g,l,k,n,q,p,r,u,v,z,B){var y=this.H;y[0]=a;y[1]=b;y[2]=d;
5y[3]=e;y[4]=f;y[5]=g;y[6]=l;y[7]=k;y[8]=n;y[9]=q;y[10]=p;y[11]=r;y[12]=u;y[13]=v;y[14]=z;y[15]=B}transform(a,b,d,e){var f=this.H;a.s=b*f[0]+d*f[4]+e* 6f[8]+f[12];a.u=b*f[1]+d*f[5]+e*f[9]+f[13];a.j=b*f[2]+d*f[6]+e*f[10]+f[14]}translate(a,b,d){var e=this.H;e[12]=e[0]*a+e[4]*b+e[8]*d+e[12];e[13]=e[1]*a+e[5]*b+e[9]*d+e[13];e[14]=e[2]*a+e[6]*b+e[10]*d+e[14];e[15]=e[3]*a+e[7]*b+e[11]*d+e[15]}}function Aa(a){a=a.la;a[0]=1;a[1]=1;a[2]=1;a[3]=1} 7class Ca{constructor(){this.o=this.v=0;this.I=null;var a=new Da;this.N=a;a.ha=!0;a.X=!0;a.load("img/ap2.png");this.la=new Float32Array(4);Aa(this);this.g=new Float32Array(7200);this.P=0;this.l=x.createBuffer();this.R=0;a=new XMLHttpRequest;a.open("GET","img/ap2.bin",!0);a.responseType="arraybuffer";var b=this;a.onload=function(){var d=new Uint8Array(this.response);b.I=d;b.o=d[5];b.v=d[7]};a.send();Ea=a=Fa("uniform mat4 uMat;uniform float uZlift;attribute vec4 aPosition;attribute vec2 aTextureCoord;attribute lowp vec4 aColor;varying vec2 vTextureCoord;varying lowp vec4 vColor;void main() {gl_Position = uMat * aPosition;gl_Position.z = ((gl_Position.w - uZlift) / gl_Position.w) * gl_Position.z;vTextureCoord = aTextureCoord;vColor = aColor;}", 8"precision mediump float;uniform sampler2D sTexture;varying vec2 vTextureCoord;varying lowp vec4 vColor;void main() {lowp vec4 c = texture2D(sTexture, vTextureCoord, +1.0);if (c.a == 0.0) discard;c.r = 0.0; c.g = 0.0; c.b = 0.0;lowp vec4 c0 = texture2D(sTexture, vTextureCoord);c.rgb = mix(c.rgb, vColor.rgb, c0.r);c.a *= vColor.a;gl_FragColor = c;}");Ga(a);Ha=x.getUniformLocation(a,"uMat");Ia=x.getUniformLocation(a,"uZlift");Ja=x.getAttribLocation(a,"aPosition");Ka=x.getAttribLocation(a,"aTextureCoord"); 9La=x.getAttribLocation(a,"aColor");x.uniform1i(x.getUniformLocation(a,"sTexture"),0)}J(a,b){if(0!=this.P){var d=this.N;d.L?(Ga(Ea),Ma(d),x.enable(x.BLEND),x.blendFunc(x.SRC_ALPHA,x.ONE_MINUS_SRC_ALPHA),x.uniformMatrix4fv(Ha,!1,a.H),x.uniform1f(Ia,b),x.bindBuffer(x.ARRAY_BUFFER,this.l),a=this.g.byteLength,a>this.R&&(this.R=a,x.deleteBuffer(this.l),this.l=x.createBuffer(),x.bindBuffer(x.ARRAY_BUFFER,this.l),x.bufferData(x.ARRAY_BUFFER,a,x.DYNAMIC_DRAW)),x.bufferSubData(x.ARRAY_BUFFER,0,new DataView(this.g.buffer, 100,4*this.P)),x.vertexAttribPointer(Ja,3,x.FLOAT,!1,24,0),x.enableVertexAttribArray(Ja),x.vertexAttribPointer(Ka,2,x.FLOAT,!1,24,12),x.enableVertexAttribArray(Ka),x.vertexAttribPointer(La,4,x.UNSIGNED_BYTE,!0,24,20),x.enableVertexAttribArray(La),x.drawArrays(x.TRIANGLES,0,this.P/6),x.disable(x.BLEND)):E()}}write(a,b,d,e,f,g,l,k,n,q){var p=this.I;if(null!=p){e=-d*e;var r=1/512,u=this.g,v=this.P,z=v,B=f.length,y=v+36*B;y>u.length&&(this.g=new Float32Array(y+7200),this.g.set(u),u=this.g);var C=new Uint8Array(u.buffer), 11A=4*(v+36*B);for(y=4*(v+5);y<A;y+=24)C[y]=g,C[y+1]=l,C[y+2]=k,C[y+3]=n;for(y=0;y<B;y++)if(g=f.charCodeAt(y),32==g)a+=e*this.o;else{C=8*(g-33);n=p[C+5];A=p[C+7];g=a+e*n;l=b+e*A;k=r*((p[C]<<8)+p[C+1]);n=k+r*n;C=r*((p[C+2]<<8)+p[C+3]);A=C+r*A;if(!q){var D=-1/d,F=a*D,I=l*D,ha=g*D;D*=b;for(var va=0;va<z;va+=36){var pa=-1/u[va+2],vb=u[va]*pa,Ba=u[va+1]*pa,Hd=u[va+12]*pa;pa*=u[va+7];vb<F&&(vb=F);Hd>ha&&(Hd=ha);if(vb<Hd&&(pa<D&&(pa=D),Ba>I&&(Ba=I),pa<Ba)){q=!0;break}}}u[v++]=a;u[v++]=l;u[v++]=d;u[v++]=k; 12u[v++]=C;v++;u[v++]=a;u[v++]=b;u[v++]=d;u[v++]=k;u[v++]=A;v++;u[v++]=g;u[v++]=l;u[v++]=d;u[v++]=n;
12u[v++]=C;v++;u[v++]=g;u[v++]=l;u[v++]=d;u[v++]=n;u[v++]=C;v++;u[v++]=a;u[v++]=b;u[v++]=d;u[v++]=k;u[v++]=A;v++;u[v++]=g;u[v++]=b;u[v++]=d;u[v++]=n;u[v++]=A;v++;a=g-2*e;d*=.999999}this.P=v;return q}}}var Ea,Ha,Ia,Ja,Ka,La;function Na(a,b){var d=new Da;a.na=d;d.load("img/"+b+".png")} 13function Oa(a,b,d,e,f,g,l,k,n,q,p,r,u){var v=a.I;v[0]=k;v[1]=n;v[2]=q;v[3]=0;v[4]=0;v[5]=b;v[6]=d;v[7]=e;v[8]=0;v[9]=1;v[10]=p;v[11]=r;v[12]=u;v[13]=1;v[14]=0;v[15]=f;v[16]=g;v[17]=l;v[18]=1;v[19]=1;b=a.g;null===b?(b=x.createBuffer(),a.g=b,x.bindBuffer(x.ARRAY_BUFFER,b),x.bufferData(x.ARRAY_BUFFER,v,x.STATIC_DRAW)):(x.bindBuffer(x.ARRAY_BUFFER,b),x.bufferSubData(x.ARRAY_BUFFER,0,v))} 14class Pa{constructor(){this.j=this.u=this.s=0;this.g=null;this.ba=1;this.na=null;this.I=new Float32Array(20);this.l=this.o=this.v=this.X=1;if(void 0===Qa){var a=Fa("uniform mat4 uMat;attribute vec4 aPosition;attribute vec2 aTextureCoord;varying vec2 vTextureCoord;void main() { gl_Position = uMat * aPosition; vTextureCoord = aTextureCoord;}","precision mediump float;varying vec2 vTextureCoord;uniform sampler2D sTexture;uniform vec4 uColor;void main() { vec4 c = texture2D(sTexture, vTextureCoord); if (c.a == 0.0) discard; gl_FragColor = c * uColor;}"); 15Qa=a;Ra=x.getAttribLocation(a,"aPosition");Sa=x.getAttribLocation(a,"aTextureCoord");Ta=x.getUniformLocation(a,"uMat");Ua=x.getUniformLocation(a,"uColor");x.uniform1i(x.getUniformLocation(a,"sTexture"),0)}}J(a){var b=this.na;null!==b&&b.L?(Ga(Qa),Ma(b),b.X&&(x.enable(x.BLEND),x.blendFunc(x.SRC_ALPHA,x.ONE_MINUS_SRC_ALPHA)),x.uniform4f(Ua,this.v,this.o,this.l,this.X),x.uniformMatrix4fv(Ta,!1,a.H),x.bindBuffer(x.ARRAY_BUFFER,this.g),x.vertexAttribPointer(Ra,3,x.FLOAT,!1,20,0),x.enableVertexAttribArray(Ra), 16x.vertexAttribPointer(Sa,2,x.FLOAT,!1,20,12),x.enableVertexAttribArray(Sa),x.drawArrays(x.TRIANGLE_STRIP,0,4),b.X&&x.disable(x.BLEND)):E()}}var Qa,Ra,Sa,Ta,Ua,Va=0;function Wa(){var a=this.src;3!==this.va?(this.va?this.va++:this.va=1,this.src=a):this.src="img/blank.png"} 17function Xa(){var a=this.na;a.ca=this.width;a.$=this.height;Ma(a);a.X?x.texImage2D(x.TEXTURE_2D,0,x.RGBA,x.RGBA,x.UNSIGNED_BYTE,this):x.texImage2D(x.TEXTURE_2D,0,x.RGB,x.RGB,x.UNSIGNED_SHORT_5_6_5,this);a.ha&&(x.generateMipmap(x.TEXTURE_2D),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.LINEAR_MIPMAP_LINEAR));0!=a.ea&&Ya&&x.texParameterf(x.TEXTURE_2D,Ya.TEXTURE_MAX_ANISOTROPY_EXT,a.ea);a.L=!0;Va--;E()} 18async function Za(a,b){a.L=!1;Va++;if(ba){var d=await ca.match(b);if(!d||!d.ok){try{d=await fetch(b,{cache:"no-store"})}catch(f){d=void 0}if(d&&d.ok)try{ca.put(b,d.clone())}catch(f){}else d=await fetch("img/blank.png")}}else{try{d=await fetch(b)}catch(f){d=void 0}d&&d.ok||(d=await fetch("img/blank.png"))}b=await d.blob();try{var e=await createImageBitmap(b);a.ca=e.width;a.$=e.height;Ma(a);x.texImage2D(x.TEXTURE_2D,0,x.RGBA,x.RGBA,x.UNSIGNED_BYTE,e)}catch(f){Ma(a),a.ca=1,a.$=1,e=new Uint8Array(4), 19x.texImage2D(x.TEXTURE_2D,0,x.RGBA,1,1,0,x.RGBA,x.UNSIGNED_BYTE,e)}a.ha&&(x.generateMipmap(x.TEXTURE_2D),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.LINEAR_MIPMAP_LINEAR));0!=a.ea&&Ya&&x.texParameterf(x.TEXTURE_2D,Ya.TEXTURE_MAX_ANISOTROPY_EXT,a.ea);a.L=!0;Va--;E()} 20class Da{constructor(){this.X=!1;this.ea=0;this.L=this.ha=!1;this.N=x.createTexture();this.$=this.ca=0;x.bindTexture(x.TEXTURE_2D,this.N);x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_S,x.CLAMP_TO_EDGE);x.texParameteri(x.TEXTURE_2D,x.TEXTURE_WRAP_T,x.CLAMP_TO_EDGE);x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.LINEAR);x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MAG_FILTER,x.LINEAR)}load(a){if(aa&&a.startsWith("http"))Za(this,a);else{this.L=!1;Va++;var b=new Image;b.crossOrigin="anonymous";b.onerror= 21Wa;b.onload=Xa;b.na=this;b.src=a}}}class $a{constructor(){this.K=1;this.j=this.u=this.s=0}add(a){this.K+=a.K;this.s+=a.s;this.u+=a.u;this.j+=a.j}set(a,b,d,e){this.K=a;this.s=b;this.u=d;this.j=e}}class ab{constructor(){this.j=this.u=this.s=0}}var x,bb,Ya;new za;var cb,db=null,eb=!1,G,H,J,w=new ab; 22function Fa(a,b){var d=x.createProgram();a=fb(a,x.VERTEX_SHADER);b=fb(b,x.FRAGMENT_SHADER);x.attachShader(d,a);x.attachShader(d,b);x.linkProgram(d);if(!x.getProgramParameter(d,x.LINK_STATUS))throw x.getProgramInfoLog(d);Ga(d);return d}function fb(a,b){b=x.createShader(b);x.shaderSource(b,a);x.compileShader(b);if(!x.getShaderParameter(b,x.COMPILE_STATUS))throw x.getShaderInfoLog(b);return b} 23function gb(){var a=document.createElement("canvas");document.body.appendChild(a);a.color="white";a.style.position="fixed";a.style.zIndex="-1";a.style.left="0px";a.style.top="0px";bb=a;x=a.getContext("webgl",{alpha:!1,antialias:!1});null==x&&(x=a.getContext("experimental-webgl",{alpha:!1,antialias:!1}));if(null==x)alert("Cannot initialize WebGL");else{Ya=x.getExtension("EXT_texture_filter_anisotropic");x.activeTexture(x.TEXTURE0);x.enable(x.CULL_FACE);x.enable(x.DEPTH_TEST);G=1;try{G=window.devicePixelRatio}catch(b){G= 241}hb(window.innerWidth,window.innerHeight)}}function Ga(a){cb!=a&&(cb=a,x.useProgram(a))}function ib(a){ka=.06*(a-ja);ja=a;2<ka&&(ka=2);eb=!1;null!=db&&db()}function E(){!eb&&db&&(da?eb=ea.requestAnimationFrame(ib):eb=requestAnimationFrame(ib))} 25function hb(a,b){var d=bb,e=Math.floor(G*a),f=Math.floor(G*b);if(e!=H||f!=J)H=e,J=f,d.width=e,d.height=f,d.style.width=a+"px",d.style.height=b+"px",x.drawingBufferWidth<e&&(e=x.drawingBufferWidth,d.width=e),x.drawingBufferHeight<f&&(f=x.drawingBufferHeight,d.height=f),x.viewport(0,0,e,f)}function jb(){var a=kb;db=a;null!==a&&E()}function Ma(a){x.bindTexture(x.TEXTURE_2D,a.N)};const lb=2*Math.PI,K=2.092564633E7*lb/360;var mb,nb;async function ob(a,b){b=b&&45E3==b.byteLength?new Int16Array(b):new Int16Array(22500);return a.qa=b}
26class pb{constructor(){this.G=this.C=this.B=0;this.qa=null;this.ra=0;this.ta=this.O=null}load(a,b,d){this.B=a;this.C=b;this.G=d;this.qa=null;var e=qb+"/ned10z.php?L="+d+"&X="+a+"&Y="+b;var f=this;ba?this.ta=ca.match(e).then(function(g){return g&&g.ok?g.arrayBuffer():fetch(e,{cache:"no-store"}).then(function(l){if(!l.ok)return null;try{ca.put(e,l.clone())}catch(k){}return l.arrayBuffer()}).catch(()=>null)}).then(function(g){return ob(f,g)}):this.ta=fetch(e,{cache:"no-store"}).then(function(g){return g.ok? 27g.arrayBuffer():null}).then(function(g){return ob(f,g)}).catch(function(){return null})}}function rb(){for(var a=mb,b=a.l,d=0;;){for(var e=null,f=a.g[b];f;){if(0==f.ra)if(null==f.qa){if(d++,d==a.K)return null}else return null===e?a.g[b]=f.O:e.O=f.O,a.l=b,f;else f.ra--;e=f;f=f.O}b++;64===b&&(b=0)}} 28class sb{constructor(){this.g=Array(64);this.l=this.K=0}add(a){var b=(a.G^a.B^a.C)&63;a.O=this.g[b];a.ra=2;this.g[b]=a}get(a,b,d){for(var e=this.g[(a^b^d)&63];e;){if(e.B===b&&e.C===d&&e.G===a)return e.ra=2,e;e=e.O}return null}} 29function tb(a,b,d){if(0>d)return 0;var e=1350<<d;b=(b+180)*e;var f=(a+90)*e;a=Math.floor(b);e=Math.floor(f);var g=b-a,l=f-e;b=ub(a,e,d);f=ub(a+1,e,d);var k=ub(a,e+1,d);d=ub(a+1,e+1,d);return isNaN(b)||isNaN(f)||isNaN(k)||isNaN(d)?Promise.all([b,f,k,d]).then(function(n){return wb(l,wb(g,n[0],n[1]),wb(g,n[2],n[3]))}):wb(l,wb(g,b,f),wb(g,k,d))} 30function ub(a,b,d){var e=Math.floor(a/150),f=Math.floor(b/150),g=nb;if(null===g||g.B!=e||g.C!=f||g.G!=d)g=mb.get(d,e,f),g||(400<=mb.K&&(g=rb(),null==g&&console.log("no dem lru")),null==g&&(g=new pb,mb.K++),g.load(e,f,d),mb.add(g)),nb=g;var l=150*(149-b%150)+a%150;a=g.qa;return null!=a?3.28084*a[l]:g.ta.then(function(k){return null==k?-999999:3.28084*k[l]})}async function xb(a,b){for(;;)return tb(a,b,3)}var yb=[-.3,.3,1];const zb=ba||!1;var L=4,Ab,Bb={},Cb,Db,Eb,Fb,Gb,Hb,M,Ib,Jb,Kb=!1,Lb,Mb,N,Nb,Ob,Pb,Qb,Rb,O,xa,Sb,qb,Tb,Ub=-1,Vb=1,Wb=[],Xb,Yb,Zb,$b,qa,ta,ac,bc=[],cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc=new Map,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc=[],zc=0,Ac=[],Bc,P,Cc,Dc,Ec,Q,Fc,R,Gc,Hc,Ic,Jc,Kc,Lc,Mc,S,Nc,Oc,Pc,Qc,Rc,T,Sc,Tc,Uc,U,V,Vc,Wc,Xc,Yc,Zc,$c,ad,bd,cd,dd,ed,na,oa;function fd(a,b){a.g.push(a.l);a.add(a.g.length.toString()+" 0 obj\n"+b+"\nendobj")} 31function gd(a){if(0!=P.F)return"";var b="/VP [<<\n/Type /Viewport\n/BBox [0 "+a.$;b=b+" "+a.ca;b=b+' 0]\n/Measure <<\n/Type /Measure\n/Subtype /GEO\n/Bounds [0 1 0 0 1 0 1 1]\n/GCS <<\n/Type /PROJCS /WKT (PROJCS["World_Sinusoidal",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Sinusoidal"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",'+P.i;b+='],UNIT["Meter",1],AUTHORITY["EPSG","54008"]])>> \n/GPTS ['; 32a=new hd;id(a,P);if(!jd(a,0,J))return"";b+=a.h+" "+a.i+" ";if(!jd(a,0,0))return"";b+=a.h+" "+a.i+" ";if(!jd(a,H,0))return"";b+=a.h+" "+a.i+" ";if(!jd(a,H,J))return"";b+=a.h+" "+a.i+" ";return b+"] /LPTS [0 1 0 0 1 0 1 1] >> >>]"} 33class kd{add(a){a+="\n";this.l+=a.length;this.v.push(a)}close(a){var b=this.g.length+1,d=b+1,e=d+1,f=e+1,g=f+1;fd(this,"<</Type /Catalog /Pages "+e+" 0 R>>");for(var l="<< /XObject <<\n",k=1;k<=a;k++)l+="/I"+k+" "+k+" 0 R\n";fd(this,l+">> >>");fd(this,"<</Type /Pages /Kids ["+f+" 0 R ] /Count 1>>");l=gd(this);fd(this,"<</Type /Page /Resources "+d+" 0 R /Parent "+e+" 0 R /MediaBox [0 0 "+this.ca+" "+this.$+"] /Contents "+g+" 0 R "+l+">>");fd(this,"<</Length "+this.o.length+">>\nstream\n"+this.o+"endstream"); 34l="";d=this.g.length;if(0!==d){e=this.l;l+="xref\n0 "+(d+1)+"\n0000000000 65535 f\n";for(k=0;k<d;k++)l+=this.g[k].toString().padStart(10,"0")+" 00000 n\n";l+="trailer\n<</Size "+(d+1)+" /Root "+b+" 0 R >>\nstartxref\n"+e.toString()+"\n"}this.add(l+"%%EOF");ld(this.I,new Blob(this.v))}constructor(a,b){var d=tc;d.includes(".pdf")||(d+=".pdf");this.I=d;this.v=[];this.g=[];this.o="";this.l=0;this.ca=Math.ceil(a);this.$=Math.ceil(b);this.add("%PDF-1.6")}} 35async function md(){var a=Ic,b;nd();if(null!=S){for(var d=[],e=new hd,f=null,g=0,l=999999,k=-999999,n=od(S);null!=n;){var q=Number(n.getAttribute("lat")),p=Number(n.getAttribute("lon")),r=pd(n,"ele"),u=-999999;null==r||(u=3.28084*Number(r.textContent));if(0>=u){for(;;){u=await tb(q,p,3);break}-999999!=u&&(null!=r&&n.removeChild(r),r=qd("ele"),n.appendChild(r),r.appendChild(document.createTextNode((u/3.28084).toFixed(1))))}u<l&&(l=u);u>k&&(k=u);rd(e,q,p);null==f?(r=0,f=new hd):r=sd(e,f);var v=null== 36n.previousElementSibling;v||(g+=r);d.push(new td(q,p,g,u,v));id(f,e);n=ud(n);$c&&d.push(new td(q,p,g,u,!1))}Hc=g=Math.ceil(g);v=d.length;n=l%500;l-=n;0>n&&(l-=500);k+=500-k%500;f=k-l;p=8192/g;u=1024/f;e=document.createElement("canvas");e.width=8192;e.height=1024;r=e.getContext("2d");r.globalAlpha=.8;r.fillStyle="#87CEEB";r.fillRect(0,0,8192,1024);r.beginPath();r.moveTo(0,f*u);for(b=0;b<v;b++)n=d[b],q=n.Ka*p,n=(k-n.ya)*u,r.lineTo(q,n);r.lineTo(g*p,f*u);r.closePath();if(1E4<v)r.fillStyle="#228B22", 37r.fill();else for(r.clip(),k=!1,n=-(l%1E3);n<f;n+=1E3)for(l=k=!k,q=0;q<g;q+=5280)l?(l=!1,r.fillStyle="#228B22"):(l=!0,r.fillStyle="#006400"),r.fillRect(q*p,n*u,5280*p,1E3*u);g=new Da;g.X=!0;g.ca=8192;g.$=1024;Ma(g);x.texImage2D(x.TEXTURE_2D,0,x.RGBA,x.RGBA,x.UNSIGNED_BYTE,e);g.L=!0;a.v.na=g;E();
370==Oc?(a=Oc,Oc=Hc,E(),Oc=a):E();a=Zc;g=d.length;if(!(1>=g)){l=new Float32Array(8*g);k=0;u=d[0];n=u.h;e=u.i;a.h=n;a.i=e;f=n;q=e;u=d[1];p=u.h;u=u.i;var z=Math.atan2(u-q,p-f);for(r=0;r<g;r++){r+1===g?(p=f,u=q, 38v=z):(p=d[r+1].h,u=d[r+1].i,v=Math.atan2(u-q,p-f));b=d[r].ya;var B=d[r].Ma,y=v-z;y<-Math.PI?y+=2*Math.PI:y>Math.PI&&(y-=2*Math.PI);z+=.5*y;l[k++]=f-n;l[k++]=q-e;l[k++]=b;l[k++]=z-Math.PI/2;l[k++]=f-n;l[k++]=q-e;l[k++]=b;l[k++]=z+Math.PI/2;B&&24<k&&(l[k-16]=l[k-16-4],l[k-15]=l[k-15-4],l[k-14]=l[k-14-4],l[k-13]=l[k-13-4],l[k-12]=l[k-12+4],l[k-11]=l[k-11+4],l[k-10]=l[k-10+4],l[k-9]=l[k-9+4]);f=p;q=u;z=v}d=l;a.l=k/4;a.g=x.createBuffer();x.bindBuffer(x.ARRAY_BUFFER,a.g);x.bufferData(x.ARRAY_BUFFER,d,x.STATIC_DRAW); 39E()}}} 40class vd{constructor(){this.v=new Pa;this.l=new Pa;Na(this.l,"cursor");var a=this.l;a.v=0;a.o=0;a.l=0;this.I=1;this.o=.15;this.g=.15*J;O||=new Ca}J(){if(!R){var a=this.I;1==Uc&&V>=this.g?4>a&&(this.I=a+=.5,E()):1<a&&(a-=.5,1>a&&(a=1),this.I=a,E());var b=na+3,d=Lb*b,e=a*d,f=-e,g=Mb*b,l=-g,k=l+this.o*(1+.2*a)*-2*l;0<k&&(l-=k,k=0);b=-b;var n=f+(0==Hc?0:Oc/Hc)*(e-f);a=n-n/a;n-=a;f-=a;e-=a;Oa(this.v,f,l,b,e,l,b,f,k,b,e,k,b);this.v.J(qa);b*=.999999;f=2*d/H;e=n-f;f=n+f;Oa(this.l,e,l,b,f,l,b,e,k,b,f,k,b); 41this.l.J(qa);e=2*d/H*O.o;g=2*g/J*O.v;d=.9;d=H>J?d/J:d/H;f=(Oc/5280).toFixed(1)+" mi";a=-999999!=P.j?(10*Math.round(P.j/1/10)).toLocaleString()+" ft":"";l=O.P;O.P=0;n=0>n?n+e:n-13*e;O.write(n,k-1.35*g,b,d,f,255,255,255,255,!0);O.write(n,k-2.55*g,b,d,a,255,255,255,255,!0);S&&(e=pd(S,"time"))&&(e=e.textContent,f=-P.i,0>f&&(f+=180),f=String(Math.floor(f/15)),1==f.length&&(f="0"+f),f=(new Intl.DateTimeFormat("en-US",{timeZone:"-"+f,dateStyle:"short",timeStyle:"short"})).format(new Date(e)).split(","), 42e=f[0],O.write(n,k-3.75*g,b,d,f[1].trim(),255,255,255,255,!0),O.write(n,k-4.95*g,b,d,e,255,255,255,255,!0));O.J(qa,0);O.P=l}}}class td{constructor(a,b,d,e,f){this.h=a;this.i=b;this.Ka=d;this.ya=e;this.Ma=f}}function wd(a){if(null===a)return!1;var b=a.Y;return null===b?!1:b.J(a)}function xd(a){if(null!==a.T){var b=a.T;yd(b);zd(b);a.T=null}null!==a.S&&(b=a.S,yd(b),zd(b),a.S=null);null!==a.V&&(b=a.V,yd(b),zd(b),a.V=null);null!==a.U&&(b=a.U,yd(b),zd(b),a.U=null)} 43function Ad(a){var b=a.Y;null!==b&&(b.Z&&(b.Z=!1,b.G=-1,Bd--,E()),b.ma=!0,a.Y=null)}function yd(a){xd(a);Ad(a)} 44function Cd(a,b){var d=a.g;ta.transform(w,(a.i-P.i)*a.l,(a.h-P.h)*K,b);var e=w.s,f=w.u,g=w.j;g=-g;if(-999999!=b){if(g-d>oa)return 0;var l=g+d;if(l<na)return 0}if(R){b=R-1;l=L-1-Math.trunc(b/L);var k=Lb*g,n=-k;k=(k-n)/L;n+=b%L*k;e+d<n||e-d>n+k?a=0:(b=Mb*g,e=-b,k=(b-e)/L,e+=l*k,a=f+d<e||f-d>e+k?0:Dd(a,g));return a}b=Lb*l;0>e&&(e=-e);if(e-d>b)return 0;b=Mb*l;d*=2;if(0<f){if(f-d>b)return 0}else if(f+d<-b)return 0;return Dd(a,g)} 45function Ed(a){var b=!0,d=a.Y;if(9>=a.G)var e=0;else e=a.j,-999999==e&&(e=tb(a.h,a.i,0),isNaN(e)&&(e.then(function(g){a.j=g}),e=P.j)),e*=Vb;var f=Cd(a,e);0!==f?(e=a.G,(zb&&Fd()?12>e||2<=f&&e<Kc:2<=f&&e<Kc)?(e++,b=a.B<<1,f=a.C<<1,null===a.T&&(a.T=Gd(a,e,b,f)),null===a.S&&(a.S=Gd(a,e,b+1,f)),null===a.V&&(a.V=Gd(a,e,b,f+1)),null===a.U&&(a.U=Gd(a,e,b+1,f+1)),b=Ed(a.T),Ed(a.S)||(b=!1),Ed(a.V)||(b=!1),Ed(a.U)||(b=!1),null!==d&&(b?Ad(a):b=d.J(a))):e>=Jc&&(null===d&&(d=Id(e,a.B,a.C,Lc,a.h,a.i),a.Y=d),d.Z&& 4616>Va&&16>Jd&&d.load(),d.J(a)?xd(a):b=wd(a.T)&&wd(a.S)&&wd(a.V)&&wd(a.U))):yd(a);return b}function Dd(a,b){1>b&&-1<=b&&(b=1);var d=H;da&&(d<<=1);a=2/1.4142135*a.g*(d/(2*b*Lb));0>a&&(a=-a);return a*Xb} 47class Kd{constructor(a,b,d,e){this.G=b;this.B=d;this.C=e;this.sa=this.Y=this.U=this.V=this.S=this.T=null;this.g=this.l=this.i=this.h=0;this.j=-999999;this.set(a,b,d,e)}set(a,b,d,e){this.G=b;this.B=d;this.C=e;this.U=this.V=this.S=this.T=null;this.j=-999999;this.sa=this.Y=null;a=Ld(b,d,e,Mc);b=Md;d=Nd;this.h=b;this.i=d;this.l=K*Math.cos(b*h);this.g=1.414213562*K*a}}var Od=null;function zd(a){a.sa=Od;Od=a} 48function Gd(a,b,d,e){if(null===Od)var f=new Kd(a,b,d,e);else f=Od,Od=f.sa,f.set(a,b,d,e);return f}function Id(a,b,d,e,f,g){var l=Pd.get(e,a,b,d);if(l)l.ma=!1;else{if(200<=Pd.K)a:{l=Pd;var k=l.l;do{for(var n=null,q=l.g[k];q;){if(q.ma&&!Qd(q)){null===n?l.g[k]=q.O:n.O=q.O;l.K--;l.l=k;l=q;break a}n=q;q=q.O}k++;64===k&&(k=0)}while(k!=l.l);l=null}l?l.set(a,b,d,e,f,g):l=new Rd(a,b,d,e,f,g);Pd.add(l)}return l}function Sd(){return!(0==Jd&&0==Bd&&0==Va)} 49function Td(a){a.I=Gd(null,0,0,0);var b=a.o;Ud(function(d){d.fa===b&&(d.Z&&(d.Z=!1,d.G=-1,Bd--),d.ma=!0)})} 50function Vd(a,b){var d=T;if(a!=d.o||b!=d.l){Mc=Wd(a);Td(d);d.o=a;d.l=b;d.R=Mc;d.v=0;d.g=19;Xb=1/256;b="";switch(a){case 1:b="Source: Esri, more...";d.g=17;break;case 2:Xb=1/512;b="Source: Esri, more...";break;case 17:b="Source: Esri, National Geographic Society, i-cubed";d.g=15;break;case 18:b="Source: Esri";d.g=16;break;case 11:d.g=16;break;case 16:d.g=20;break;case 4:Xb=1/1024;break;case 0:b="<img src='https://dev.virtualearth.net/Branding/logo_powered_by.png'>";d.g=18;break;case 9:Xb=1/512;b="<img src='https://dev.virtualearth.net/Branding/logo_powered_by.png'>"; 51break;case 5:Xb=1/1024;break;case 3:Xb=1/1024;d.v=0;d.g=21;break;case 21:Xb=1/512;b="OpenFreeMap \u00a9 OpenMapTiles Data from OpenStreetMap";break;case 20:d.g=17;b="map data: \u00a9 OpenStreetMap contributors, SRTM | map style: \u00a9 OpenTopoMap (CC-BY-SA)";break;case 6:d.g=16;break;case 15:d.g=18;break;case 19:d.g=9;a=new Date(Date.now()-864E5);var e=a.getMonth()+1;d=String(e);10>e&&(d="0"+d);e=String(a.getDate());10>e&&(e="0"+e);a=a.getFullYear()+"-"+d+"-"+e;a=prompt("VIIRS date 2020-04-25 to "+ 52a,a);Yb="https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_NOAA20_CorrectedReflectance_True
52Color/default/"+a+"/GoogleMapsCompatible_Level9/";break;case 8:Xb=1/512;case 14:d.g=16;break;case 7:Xb=1/512;d.v=12;d.g=16;break;case 12:case 10:Xb=1/512;d.v=10;d.g=14;break;case 13:d.g=15}document.getElementById("attribution").innerHTML=" "+b;if(zb){Gb=Cb=0;Hb=void 0;b=T.l;7==b?(Eb=12,Fb=16):10==b?(Eb=10,Fb=14):(Eb=T.v,Fb=T.g);b=Xd();for(const f in Bb)Bb[f]=1,Gb+=b}E()}} 53function W(a){Vd(a,a)} 54class Yd{constructor(){this.l=this.o=-1;this.R=!1;this.I=null;this.g=this.v=0;if(!Zd){Bd=Jd=0;Pd=new $d;mb=new sb;nb=null;var a=Fa("uniform mat4 u_matmv;uniform highp vec4 u_origin;uniform highp vec4 u_toff;attribute vec3 a_pos;attribute lowp vec4 a_alpha;attribute vec2 a_tcoord;varying lowp vec4 v_shade;varying highp vec2 v_tcoord;varying lowp float v_mix;varying highp vec2 v_tcoord1;void main() {v_shade = a_alpha * u_toff.w;v_tcoord = u_toff.xy + (u_toff.z * a_tcoord);float clat = cos(radians(u_origin.w + u_origin.y + a_pos.y));vec2 xy = (u_origin.xy + a_pos.xy) * "+(K+ 55";xy.x *= clat;gl_Position = u_matmv * vec4(xy.x, xy.y, a_pos.z, 1.0);}"),"uniform sampler2D u_tex;varying lowp float v_mix;varying lowp vec4 v_shade;varying highp vec2 v_tcoord;varying highp vec2 v_tcoord1;void main() {lowp vec4 c = texture2D(u_tex, v_tcoord);gl_FragColor = v_shade.r * c; }");Zd=a;ae=x.getUniformLocation(a,"u_matmv");be=x.getUniformLocation(a,"u_origin");ce=x.getUniformLocation(a,"u_toff");de=x.getAttribLocation(a,"a_pos");ee=x.getAttribLocation(a,"a_alpha");fe=x.getAttribLocation(a, 56"a_tcoord");x.uniform1i(x.getUniformLocation(a,"u_tex"),0);ge=2446;var b=new Uint16Array(ge),d=a=0,e,f;for(f=33;0<=f;f--){for(e=0;34>=e;e++)b[a++]=d,b[a++]=d+35,d++;0!=f&&(b[a++]=d-1+35,b[a++]=d)}he=x.createBuffer();x.bindBuffer(x.ELEMENT_ARRAY_BUFFER,he);x.bufferData(x.ELEMENT_ARRAY_BUFFER,b,x.STATIC_DRAW);b=new Uint16Array(2450);a=0;for(f=-1;33>=f;f++)for(d=65535*f/32,0>d?d=0:65535<d&&(d=65535),e=-1;33>=e;e++){var g=65535*e/32;0>g?g=0:65535<g&&(g=65535);b[a++]=g;b[a++]=d}ie=x.createBuffer();x.bindBuffer(x.ARRAY_BUFFER, 57ie);x.bufferData(x.ARRAY_BUFFER,b,x.STATIC_DRAW)}}J(){Ga(Zd);x.uniformMatrix4fv(ae,!1,$b.H);x.bindBuffer(x.ARRAY_BUFFER,ie);x.vertexAttribPointer(fe,2,x.UNSIGNED_SHORT,!0,0,0);x.enableVertexAttribArray(fe);x.bindBuffer(x.ELEMENT_ARRAY_BUFFER,he);if(zb&&Fd()){var a=Hb;a||(je(),a=Hb);if(a&&!Qd(a)){var b=a.G,d=a.B;a=a.C;if(12>b)b==Eb?je():ke(b-1,d>>1,a>>1);else{var e=(1<<b-12)-1;(d&e)<e?ke(b,d+1,a):(a&e)<e?ke(b,d-e,a+1):b<Fb?ke(b+1,d-e<<1,a-e<<1):(b=Db,1===Bb[b]&&(Bb[b]=2),12>Eb?(b=Fb-12+1,ke(11,d>> 58b,a>>b)):je())}}}Jc=this.v;Kc=this.g;Lc=this.o;Mc=this.R;Ed(this.I)}}var Bd,Jd,Zd,Pd,ae,be,ce,de,ee,fe,ge,he,ie; 59function le(){var a=me=new ab;a.s=0;a.u=0;a.j=1;ne=a=Fa("uniform mat4 umModel;uniform mat4 umViewProj;uniform vec4 uvColor;uniform vec3 uvLight;uniform vec2 uvScale;attribute vec4 aPosition;attribute vec3 aNormal;attribute vec2 aTextureCoord;varying vec2 vTextureCoord;varying lowp vec4 vLight;void main() {lowp vec3 normal = aNormal;vec4 position = aPosition;normal.z = position.w;position.xyz *= uvScale.x;position.w = 1.0;gl_Position = umViewProj * (umModel * position);normal = mat3(umModel) * normal;float intensity = max(dot(normal, uvLight), 0.25);vLight = vec4(uvColor.rgb * intensity, uvColor.a);vTextureCoord = uvScale.y * aTextureCoord;}","precision mediump float;uniform sampler2D sTexture;varying vec2 vTextureCoord;varying lowp vec4 vLight;void main() { gl_FragColor = vLight * texture2D(sTexture, vTextureCoord);}"); 60Ga(a);X.prototype.Fa=x.getUniformLocation(a,"uvColor");X.prototype.Ha=x.getUniformLocation(a,"uvScale");X.prototype.Da=x.getUniformLocation(a,"umModel");X.prototype.Ea=x.getUniformLocation(a,"umViewProj");X.prototype.Ga=x.getUniformLocation(a,"uvLight");x.uniform1i(x.getUniformLocation(a,"sTexture"),0);X.prototype.I=x.getAttribLocation(a,"aPosition");X.prototype.v=x.getAttribLocation(a,"aNormal");X.prototype.R=x.getAttribLocation(a,"aTextureCoord")} 61function oe(a){a=a.aa;return 1<a.length?(a.splice(1,1),!0):!1} 62function pe(a,b,d,e,f){for(var g of b){b=g.H.H;var l=(g.i-P.i)*K*Math.cos(g.h*h),k=(g.h-P.h)*K,n=g.j;-999999==n&&(rd(Fc,g.h,g.i),n=qe(Fc,!1),-999999==n?n=P.j:g.j=n);ta.transform(w,l,k,n);var q=w.s,p=w.u,r=w.j,u=-r,v=u*Lb,z=u*Mb;u<na||u>d||q<-2*v||q>v||p<-1.1*z||p>z?(g.Aa=0,g.wa=-1):(g.Aa=u,v=a.ba*g.ba,R&&(v/=L),x.uniform2f(X.prototype.Ha,v,1),b[12]=l,b[13]=k,(l=g.ia)&&O&&(k=H>
62J?1/J:1/H,k*=.5*G,u=Math.log(10*d)/Math.log(10*u),u*=.8,k*=u,R&&(k*=sc),p+=v,u=g.za,O.write(q,p,r,k,l,e,255,f,u,!1)?64<u&& 63(u-=4,E()):255>u&&(u+=4,255<u&&(u=255),E()),g.za=u,g.wa=O.P),b[14]=n+.4*v,x.uniformMatrix4fv(X.prototype.Da,!1,b),x.uniform4fv(X.prototype.Fa,g.la),x.drawElements(x.TRIANGLES,3*a.Ba,x.UNSIGNED_SHORT,0))}} 64class X{constructor(){-1==ne&&le();this.l=null;this.aa=[];this.Ba=this.Na=0;this.ba=1;this.g=this.o=null;var a=new Da;a.ha=0;a.load("img/Icosphere.jpg");this.N=a;a=new XMLHttpRequest;a.open("GET","img/Icosphere",!0);a.responseType="arraybuffer";a.onerror=function(){};var b=this;this.Ca=0;a.onload=function(){var d=this.response,e=new Uint16Array(d),f=e[0];b.Ba=f;var g=e[1],l=e[2];b.Na=l;b.ba*=e[3];b.l=x.createBuffer();x.bindBuffer(x.ELEMENT_ARRAY_BUFFER,b.l);x.bufferData(x.ELEMENT_ARRAY_BUFFER,new Uint16Array(d, 658,3*f),x.STATIC_DRAW);e=6+6*f;0!=(e&3)&&(e+=2);b.o=x.createBuffer();x.bindBuffer(x.ARRAY_BUFFER,b.o);x.bufferData(x.ARRAY_BUFFER,new Uint16Array(d,e,2*g),x.STATIC_DRAW);e+=4*g;b.g=x.createBuffer();d=new Int16Array(d,e,l*g*6);x.bindBuffer(x.ARRAY_BUFFER,b.g);x.bufferData(x.ARRAY_BUFFER,d,x.STATIC_DRAW);b.Ca=g;E()};a.send()}add(a){this.aa.push(a);E()}remove(a){for(var b=this.aa,d=0;d<b.length;d++)if(b[d]==a){b.splice(d,1);break}}J(a){if(0!=this.Ca&&this.N.L)if(Ga(ne),Ma(this.N),x.uniformMatrix4fv(X.prototype.Ea, 66!1,a.H),x.bindBuffer(x.ELEMENT_ARRAY_BUFFER,this.l),x.bindBuffer(x.ARRAY_BUFFER,this.o),x.vertexAttribPointer(X.prototype.R,2,x.UNSIGNED_SHORT,!0,0,0),x.enableVertexAttribArray(X.prototype.R),x.bindBuffer(x.ARRAY_BUFFER,this.g),x.enableVertexAttribArray(X.prototype.I),x.enableVertexAttribArray(X.prototype.v),x.uniform3f(X.prototype.Ga,me.s,me.u,me.j),x.vertexAttribPointer(X.prototype.I,4,x.SHORT,!0,12,0),x.vertexAttribPointer(X.prototype.v,2,x.SHORT,!0,12,8),a=O){a.P=0;var b=oa;pe(this,this.aa,oa, 67255,255);Bc&&pe(this,yc,b,255,230);Zb&&pe(this,Zb,b,192,192);a.J(qa,20)}else pe(this,this.aa,oa,255,255);else E()}}var me,ne=-1;class re{constructor(a,b){this.la=a;this.ba=b;this.i=this.h=0;this.j=-999999;this.Aa=0;this.H=new za;ra(this.H);this.ia=null;this.wa=-1;this.za=0}} 68function Ld(a,b,d,e){a++;b=(b<<1)+1;d=(d<<1)+1;a=1<<a;e?(e=360/a,d=Math.PI-2*Math.PI*d/a,Md=t*Math.atan(.5*(Math.exp(d)-Math.exp(-d))),Nd=b*e-180):(e=512/a,se(90-d*e,b*e-180,6378206.4,1/294.9786982,-8,160,176,6378137,1/298.257223563));return e} 69function se(a,b,d,e,f,g,l,k,n){a*=h;b*=h;var q=2*e-e*e;var p=Math.sin(a);var r=Math.cos(a);var u=Math.sin(b);var v=Math.cos(b);var z=p*p;var B=d/Math.sqrt(1-q*z);z=d*(1-q)/Math.pow(1-q*z,1.5);var y=1-e;Md=(a+(-f*p*v-g*p*u+l*r+B*q*p*r/d*(k-d)+(n-e)*(z/y+B*y)*p*r)/z)*t;Nd=(b+(-(f*u)+g*v)/(B*r))*t}function id(a,b){a.D=b.D;a.h=b.h;a.i=b.i;a.F=b.F;a.W=b.W;a.B=b.B;a.C=b.C;a.j=b.j} 70function jd(a,b,d){for(var e=0;!te(a,b,d);){if(xc>10*M)return!1;ue(P.D,uc,vc);var f=2*xc*Lb/H*.5;ve(a,f*w.s,f*w.u);-999999==a.j&&(a.j=a.height());e++;if(100<=e)break}return!0}function rd(a,b,d){a.h=b;a.i=d}function sd(a,b){var d=h*a.h,e=h*b.h,f=e-d;a=h*b.i-h*a.i;d=Math.sin(f/2)*Math.sin(f/2)+Math.cos(d)*Math.cos(e)*Math.sin(a/2)*Math.sin(a/2);return 4.185129266E7*Math.atan2(Math.sqrt(d),Math.sqrt(1-d))} 71function qe(a,b){var d=we(a);if(null===d)return 0;var e=d.Y;if(null==e){if(!b)return-999999;e=Id(d.G,d.B,d.C,T.o,d.h,d.i);d.Y=e}e.Z&&e.load();d=-999999;if(e.L){b=e.xa;null===b&&(b=new Float32Array(e.pa),e.xa=b);var f=b[144],g;d=a.h-e.h;e=(a.i-e.i-f)/(b[4752]-f)*32;f=Math.floor(e);a=4*f+146;var l;for(l=g=0;32>l;l++){var k=b[a+140-1];if(k<d){g=b[a-1];g=(d-g)/(k-g);break}a+=140}d=b[a];e-=f;d=wb(g,wb(e,d,b[a+4]),wb(e,b[a+140],b[a+144]))}return d} 72function xe(a,b,d){d=(d-a.i)*la(b)*K;a=(b-a.h)*K;return d*d+a*a}function ye(){var a=P;return-124.848974<=a.i&&24.396308<=a.h&&-66.885444>a.i&&49.384358>a.h}function ze(a,b,d){if(d)b=1<<b,a.B=Math.floor(b/360*(a.i+180)),d=a.h*h,a.C=(1-Math.log(Math.tan(d)+1/Math.cos(d))/Math.PI)/2*b;else{b=(1<<b)/512;d=a.h;var e=a.i;se(d,e,6378137,1/298.257223563,8,-160,-176,6378206.4,1/294.9786982);d=Md;e=Nd;a.B=Math.floor((e+180)*b);a.C=Math.floor((90-d)*b)}} 73function we(a){var b=T.g;ze(a,b,T.R);var d=a.B;a=a.C;for(var e=1<<b,f=T.I,g=0;g<b&&0!=e&&null==f.Y&&!(g>=T.v&&2>Dd(f,M));g++){e>>=1;var l=g+1;var k=f.B<<1;var n=f.C<<1;0==(d&e)?0==(a&e)?(null==f.T&&(f.T=Gd(f,l,k,n)),k=f.T):(null==f.V&&(f.V=Gd(f,l,k,n+1)),k=f.V):(k++,0==(a&e)?(null==f.S&&(f.S=Gd(f,l,k,n)),k=f.S):(null==f.U&&(f.U=Gd(f,l,k,n+1)),k=f.U));f=k}return f}function Ae(a,b){a.h=Number(b.getAttribute("lat"));a.i=Number(b.getAttribute("lon"))} 74function Be(a,b){-180>b?b+=360:180<=b&&(b-=360);a.D=b}function Ce(a,b){Be(a,a.D+b)}function De(a,b){a.D=-t*Math.atan2(Math.cos(b.h*h)*(a.i-b.i),a.h-b.h)}function ve(a,b,d){Ee(a,d/K,b/(K*la(a.h)))}function Fe(a,b,d){d*=h;ve(a,-Math.sin(d)*b,Math.cos(d)*b)} 75function Ee(a,b,d){if(a===P){var e=Ab,f=1/(2*e.v),g=w,l=-(d*K*Math.cos((a.h+b)*h))*f;g.s=b*K*f;g.u=l;g.j=0;f=e.o;g=w;e.I.set(-(f.s*g.s+f.u*g.u+f.j*g.j),f.K*g.s+f.u*g.j-f.j*g.u,f.K*g.u+f.j*g.s-f.s*g.j,f.K*g.j+f.s*g.u-f.u*g.s);e.o.add(e.I);f=e.o;g=Math.sqrt(f.K*f.K+f.s*f.s+f.u*f.u+f.j*f.j);0<g&&(g=1/g,f.K*=g,f.s*=g,f.u*=g,f.j*=g);var k=e.o;f=k.K;g=k.s;l=k.u;k=k.j;var n=f*f,q=g*g,p=l*l,r=k*k;e=e.l.H.H;e[0]=n+q-p-r;e[4]=2*(g*l+f*k);e[8]=2*(g*k-f*l);e[1]=2*(g*l-f*k);e[5]=n-q+p-r;e[9]=2*(l*k+f*g);e[2]= 762*(g*k+f*l);e[6]=2*(l*k-f*g);e[10]=n-q-p+r}b+=a.h;90<b?b-=180:-90>b&&(b+=180);a.h=b;d+=a.i;180<d?d-=360:-180>d&&(d+=360);a.i=d;a==P?(a.j=a.height(),E()):a.j=-999999}function Ge(a,b){if(0>b){b=0;var d=a.D;-2>d?d=-2:2<d&&(d=2);Ce(a,-d)}else 80<b&&(b=80);a.F=b;a.W=la(b);Q.F=b;Q.W=a.W;He()}function Ie(a){var b=P;Ge(b,b.F+a)}class hd{constructor(){this.C=this.B=this.W=this.F=this.i=this.h=this.D=0;this.j=-999999}height(){return qe(this,!0)}}var Md,Nd; 77class Je{constructor(){this.l=this.i=this.h=0;this.g=null;
77if(void 0===Ke){var a=Fa("precision highp float;uniform mat4 umViewProj;uniform vec4 u_origin;attribute vec4 aPosition;void main() {float scale = u_origin.z;float dx = scale * sin(aPosition.w);float dy = scale * cos(aPosition.w);float clat = cos(radians(aPosition.x + u_origin.x + u_origin.w)) * "+K+";float x = ((aPosition.y + u_origin.y) * clat) + dx;float y = ((aPosition.x + u_origin.x) * "+K+") + dy;float z = aPosition.z;gl_Position = umViewProj * vec4(x, y, z, 1.0);gl_Position.z = ((gl_Position.w - 5.0) / gl_Position.w) * gl_Position.z;}", 78"uniform lowp vec4 u_color;void main() {gl_FragColor = u_color;}");Ke=a;Ga(a);Le=x.getUniformLocation(a,"u_color");Me=x.getUniformLocation(a,"u_origin");Ne=x.getUniformLocation(a,"umViewProj");Oe=x.getAttribLocation(a,"aPosition")}}J(a){null!==this.g&&(Ga(Ke),x.uniform4f(Le,1,0,1,.6),x.enable(x.BLEND),x.blendFunc(x.SRC_ALPHA,x.ONE_MINUS_SRC_ALPHA),x.uniformMatrix4fv(Ne,!1,a.H),x.uniform4f(Me,this.h-P.h,this.i-P.i,R?.002*M*sc:.003*M,P.h),x.bindBuffer(x.ARRAY_BUFFER,this.g),x.enableVertexAttribArray(Oe), 79x.vertexAttribPointer(Oe,4,x.FLOAT,!1,0,0),x.drawArrays(x.TRIANGLE_STRIP,0,this.l),x.disable(x.BLEND))}}var Ke,Le,Me,Ne,Oe; 80async function Pe(a){var b=a.G,d=a.fa,e=a.B,f=a.C,g=7===d||10===d||9===d||2===d||11===d||5===d&&15<=b||21==d,l=a.pa;a.pa=null;a.xa=null;var k=Wd(d),n=a.h,q=a.i,p=new Float32Array(l),r=new Uint8Array(l),u=e,v=f,z=1<<b+5;e<<=5;f<<=5;var B=e+32,y=f+32;var C=k?360/z:512/z;var A=e*C-180;if(!k){se(90-f*C,A,6378206.4,1/294.9786982,-8,160,176,6378137,1/298.257223563);var D=Md;A=Nd}if(k&&9>=b){var F=-1;g=!1}else F=Math.ceil(-Math.log2(1350*C)),3<F?F=3:0>F&&(F=0);if(g){g=0;f--;y++;e--;B++;k||(D+=C);A-=C;for(var I= 81f;I<=y;I++){if(k){var ha=Math.PI-lb*I/z;D=t*Math.atan(.5*(Math.exp(ha)-Math.exp(-ha)))}var va=D-n,pa=A;for(ha=e;ha<=B;ha++){var vb=pa-q;var Ba=tb(D,pa,F);isNaN(Ba)&&(Ba=await Ba);p[g++]=vb;p[g++]=va;p[g++]=Ba;g++;pa+=C}k||(D-=C)}g=146;f++;y--;e++;B--;k=C*K;n=k*la(n);for(I=f;I<=y;I++){for(ha=e;ha<=B;ha++)f=q=g+1<<2,C=p[g-4],A=p[g-140],F=p[g+140],D=p[g-140+4],va=p[g+140-4],z=(2*(C-p[g+4])-D+va+A-F)/n,C=(2*(F-A)+D+va-A-C)/k,A=1/Math.sqrt(z*z+C*C+36),z=yb[0]*z*A+yb[1]*C*A+6*yb[2]*A,1<z?z=1-(z-1):.25> 82z&&(z=.25),r[f]=255*z,r[q+1]=0,r[q+2]=0,r[q+3]=0,g+=4;g+=8}}else for(g=144,I=f;I<=y;I++){k&&(ha=Math.PI-lb*I/z,D=t*Math.atan(.5*(Math.exp(ha)-Math.exp(-ha))));va=D-n;pa=A;for(ha=e;ha<=B;ha++)vb=pa-q,Ba=tb(D,pa,F),isNaN(Ba)&&(Ba=await Ba),p[g++]=vb,p[g++]=va,p[g++]=Ba,f=g<<2,r[f]=255,r[f+1]=0,r[f+2]=0,r[f+3]=0,g++,pa+=C;k||(D-=C);g+=8}e=(p[148]-p[144])*K;r=4;for(B=1;33>=B;B++)p[r]=p[r+140],p[r+1]=p[r+141],p[r+2]=p[r+142]-e,p[r+3]=p[r+143],r+=4;r=4764;for(B=1;33>=B;B++)p[r]=p[r-140],p[r+1]=p[r-140+ 831],p[r+2]=p[r-140+2]-e,p[r+3]=p[r-140+3],r+=4;for(B=r=0;4900>B;B+=140)p[r]=p[r+4],p[r+1]=p[r+5],p[r+2]=p[r+6]-e,p[r+3]=p[r+7],r+=140;r=136;for(B=0;4900>B;B+=140)p[r]=p[r-4],p[r+1]=p[r-4+1],p[r+2]=p[r-4+2]-e,p[r+3]=p[r-4+3],r+=140;p[2]+=e;p[138]+=e;p[4762]+=e;p[4898]+=e;a.B==u&&a.C==v&&a.G==b&&a.fa==d&&null==a.pa&&(null===a.g?(a.g=x.createBuffer(),x.bindBuffer(x.ARRAY_BUFFER,a.g),x.bufferData(x.ARRAY_BUFFER,l,x.STATIC_DRAW)):(x.bindBuffer(x.ARRAY_BUFFER,a.g),x.bufferSubData(x.ARRAY_BUFFER,0,l)),a.pa= 84l,a.L=!0,Jd--,Gc&&0===P.j&&E(),E())}function Qd(a){return!(a.Z||a.L&&a.N.L)} 85class Rd{constructor(a,b,d,e,f,g){this.O=null;this.L=this.ma=!1;this.Z=!0;Bd++;this.h=f;this.i=g;this.B=b;this.C=d;this.G=a;this.fa=e;this.g=null;this.pa=new ArrayBuffer(19600);this.xa=null;this.N=a=new Da;a.ea=4;a.ha=!0}load(){this.Z=!1;Bd--;Jd++;Pe(this);var a=this.G,b=this.fa,d=this.B,e=this.C,f=!1;switch(b){case 0:var g="https://ecn.t0.tiles.virtualearth.net/tiles/a";b=1<<a;for(var l=0;l<a;l++)b>>=1,g+=0!=(d&b)?0!=(e&b)?"3":"1":0!=(e&b)?"2":"0";g+=".jpeg?g=5797";break;case 9:g="https://ecn.t0.tiles.virtualearth.net/tiles/r"; 86b=1<<a;for(l=0;l<a;l++)b>>=1,g+=0!=(d&b)?0!=(e&b)?"3":"1":0!=(e&b)?"2":"0";g+=".jpeg?g=5797&shading=hill";break;case 1:g="https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/"+a+"/"+e+"/"+d;break;case 2:g="https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/"+a+"/"+e+"/"+d;break;case 17:g="https://services.arcgisonline.com/arcgis/rest/services/USA_Topo_Maps/MapServer/tile/"+a+"/"+e+"/"+d;break;case 18:g="https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/tile/"+ 87a+"/"+e+"/"+d;break;case 3:case 4:case 5:g="https://api.mapbox.com/styles/v1/mapbox/"+(4==b?"streets-v12":3==b?"satellite-streets-v12":"outdoors-v12")+"/tiles/"+a+"/"+d+"/"+e+"?access_token=pk.eyJ1IjoiZWFzdHJpZGdlIiwiYSI6InZWQV9YV2sifQ.1UXmy3qiJgDATlP2KoIOPA";break;case 21:f=!0;g="https://tiles.openfreemap.org/planet/x/";break;case 20:g="https://tile.opentopomap.org/"+a+"/"+d+"/"+e+".png";break;case 6:g=16>=a?"https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/"+a+ 88"/"+e+"/"+d:"https://services.nationalmap.gov/arcgis/services/USGSNAIPImagery/MapServer/WMSServer?version=1.3.0&request=GetMap&layers=1&styles=default&crs=EPSG:4326&format=image/jpeg&width=256&height=256&bbox="+Qe(a,d,e);break;case 15:g="https://naip.maptiles.arcgis.com/arcgis/rest/services/NAIP/MapServer/tile/"+a+"/"+e+"/"+d;break;case 19:g=Yb+a+"/"+e+"/"+d+".jpg";break;case 8:16>=a?g="https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/M
88apServer/tile/"+a+"/"+e+"/"+d:(g=1<<a,b=Math.PI- 892*Math.PI*(e+1)/g,l=t*Math.atan(.5*(Math.exp(b)-Math.exp(-b))),b=Math.PI-2*Math.PI*e/g,g="https://services.nationalmap.gov/arcgis/rest/services/USGSTopoLarge/MapServer/export?f=image&bboxSR=4326&size=256,256&bbox="+((d+1)/g*360-180+","+l+","+(d/g*360-180)+","+t*Math.atan(.5*(Math.exp(b)-Math.exp(-b)))));break;case 14:g="https://basemap.nationalmap.gov/arcgis/rest/services/USGSImageryOnly/MapServer/tile/"+a+"/"+e+"/"+d;break;case 12:a-=10;e=(360<<a)-1-e;g=qb+"/geo.php?L="+a+"&Y="+e+"&X="+d;break;case 13:g= 90"https://elevation.nationalmap.gov:443/arcgis/services/3DEPElevation/ImageServer/WMSServer?version=1.3.0&request=GetMap&layers=3DEPElevation:Hillshade%20Multidirectional&styles=default&crs=EPSG:4326&format=image/jpeg&width=256&height=256&bbox="+Qe(a,d,e);break;case 7:a-=12;e=(1440<<a)-1-e;g=qb+"/t.php?L="+a+"&Y="+e+"&X="+d;break;case 10:a-=10;e=(360<<a)-1-e;g=qb+"/t100.php?L="+a+"&Y="+e+"&X="+d;break;case 11:g="https://apps.fs.usda.gov/arcx/rest/services/EDW/EDW_FSTopo_01/MapServer/tile/"+a+"/"+e+ 91"/"+d;this.N.X=!0;break;case 16:g="https://mt0.google.com/vt/lyrs=s&x="+d+"&y="+e+"&z="+a}f?Re(this.N,g,a,d,e):this.N.load(g)}J(){if(!this.L)return!1;var a=this.N;if(!a.L)return!1;Ma(a);a=1;Fd()&&(Bb[Se(this.h,this.i)]||(a=.5));x.uniform4f(ce,0,0,1,a);x.bindBuffer(x.ARRAY_BUFFER,this.g);x.vertexAttribPointer(de,3,x.FLOAT,!1,16,0);x.enableVertexAttribArray(de);0>=Vb?(x.disableVertexAttribArray(ee),x.vertexAttrib1f(ee,1)):(x.vertexAttribPointer(ee,4,x.UNSIGNED_BYTE,!0,16,12),x.enableVertexAttribArray(ee)); 92x.uniform4f(be,this.i-P.i,this.h-P.h,P.i,P.h);x.drawElements(x.TRIANGLE_STRIP,ge,x.UNSIGNED_SHORT,0);return!0}set(a,b,d,e,f,g){this.L=this.ma=!1;this.N.L=!1;this.N.X=!1;this.Z=!0;Bd++;this.B=b;this.C=d;this.G=a;this.fa=e;this.h=f;this.i=g}}function Ud(a){for(var b=Pd,d=0;63>d;d++)for(var e=b.g[d],f=0;e;){f++;if(a(e))return;e=e.O}} 93class $d{constructor(){this.g=Array(64);this.l=this.K=0}add(a){var b=(a.fa^a.G^a.B^a.C)&63;a.O=this.g[b];this.g[b]=a;this.K++}get(a,b,d,e){for(var f=this.g[(a^b^d^e)&63];f;){if(f.B===d&&f.C===e&&f.G===b&&f.fa==a)return f;f=f.O}return null}}function Te(){for(var a=Ab;oe(a.g););} 94class Ue{constructor(){this.g=new X;this.v=100;this.g.ba=this.v;var a=new Float32Array(4);a[0]=.9;a[1]=.9;a[2]=1;a[3]=.6;this.l=new re(a,1);this.g.add(this.l);this.o=new $a;this.I=new $a}J(){x.enable(x.BLEND);x.blendFunc(x.SRC_ALPHA,x.ONE_MINUS_SRC_ALPHA);var a;this.v=a=.02*M;this.g.ba=a;this.l.h=P.h;this.l.i=P.i;this.l.j=P.j;this.g.J($b);x.disable(x.BLEND)}}function wb(a,b,d){return b+a*(d-b)} 95function Ve(a){switch(a){case " ":We(null);break;case "ack":a=document.getElementById("ack");a.scrollIntoView();do a.style.display="block",a=a.nextElementSibling;while(null!=a&&"text3"==a.className);break;case "Delete":Xe(null);break;case "Esc":case "Escape":a=ac.firstElementChild;for(a=a.nextElementSibling;null!=a;a=a.nextElementSibling)"none"!=a.style.display?"m3"!=a.className&&"text3"!=a.className&&"m4"!=a.className?bc.push(a):a.style.display="none":"A"===a.nodeName&&""===a.className&&bc.unshift(a); 96Ye();break;case "/":Ze();break;case "^":break;case "e":W(15);break;case "f":break;case "g":W(12);break;case "h":W(13);break;case "i":break;case "j":W(17);break;case "k":break;case "l":W(18);break;case "m":break;case "n":$e.call(ic);break;case "o":break;case "p":af();break;case "s":W(9);break;case "t":W(7);break;case "u":W(8);break;case "v":W(14);break;case "w":bf();break;case "x":W(10);break;case "*":break;case "?":cf();break;case "\\":break;default:let b=!0;for(let d=0;d<Wb.length;d++)if(Wb[d]=== 97a){b=!1;break}b&&Wb.push(a)}E()}window.c=Ve;async function df(){if(confirm("Remove all offline map data?")){ba&&await self.caches.delete("route3d");mb=new sb;nb=null;Td(T);Ud(function(b){Qd(b)||(b.G=-1)});Hb=null;Gb=Cb=0;var a=Xd();for(const b in Bb)Bb[b]=1,Gb+=a;Fd()&&je()}}function Se(a,b){return""+(Math.floor(8*a)/8+.0625)+","+(Math.floor(8*b)/8+.0625)} 98function ke(a,b,d){Cb++;var e=0;0!=Gb&&(e=Math.round(100*Cb/Gb));cc.innerHTML=""+e+"%";e=T.l;Ld(a,b,d,Wd(e));Hb?Hb.set(a,b,d,e,Md,Nd):Hb=new Rd(a,b,d,e,Md,Nd);Hb.load()}function ef(){ff.call(this);Fd()&&gf(0);E()}function Fd(){return zb?"block"===cc.style.display:!1}function je(){Db=void 0;Gb=Cb=0;var a=Xd();for(const d in Bb){var b=Bb[d];Gb+=a;2==b?Cb+=a:Db||(Db=d,b=d.split(","),rd(Fc,Number(b[0]),Number(b[1])),ze(Fc,12,Wd(T.l)),ke(12,Fc.B,Fc.C))}Db||(Hb=null)} 99function Xd(){var a=(4*Math.pow(4,Fb-12)-1)/3;return a+=12-Eb}function hf(){for(var a=od(S);a;){var b=Number(a.getAttribute("lat")),d=Number(a.getAttribute("lon"));b=Se(b,d);Bb[b]||(Bb[b]=1,Gb+=Xd());a=ud(a)}E()} 100function jf(){Kb?(Kb=!1,ec.innerHTML=gc,"ondeviceorientationabsolute"in window?window.removeEventListener("deviceorientationabsolute",kf):"ondeviceorientation"in window&&window.removeEventListener("deviceorientation",kf)):"ondeviceorientationabsolute"in window?(window.addEventListener("deviceorientationabsolute",kf),Kb=!0):"ondeviceorientation"in window&&("function"===typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then(a=>{"granted"==a&&(window.addEventListener("deviceorientation", 101kf),Kb=!0)}):(window.addEventListener("deviceorientation",kf),Kb=!0))}function lf(){var a=(new Date(Date.now()-6E4*(new Date).getTimezoneOffset())).toISOString().slice(0,-8);return a=a.replace("T"," ")}function kf(a){if(Kb&&0!=P.F){if(a.absolute){a=a.alpha;if(null==a)return;a+=90}else if(a=-a.webkitCompassHeading,null==a)return;Be(P,a);E()}}function mf(a){a.preventDefault();a.stopPropagation();return!1} 102function nf(){of();N=S=null;Nb=!0;Pb="untitled.gpx";pf(mc);pf(kc);pf(lc);Ab&&Te();ad=!1;mc.previousElementSibling.previousElementSibling.innerHTML="Show all";qf()}function pf(a){for(a=a.previousElementSibling;void 0!==a.M||"m4"===a.className;){var b=a.previousElementSibling;ac.removeChild(a);a=b}}function rf(){of();null==N&&(N=(new DOMParser).parseFromString('<gpx version="1.1" creator="Route3D" xmlns="http://www.topografix.com/GPX/1/1"></gpx>',"text/xml"),Pb="untitled.gpx")}
102 103function sf(){confirm("Clear all routes, tracks, and waypoints?")&&(nf(),rf())}function tf(){of();Ob=!confirm("Clear all routes, tracks, and waypoints before importing?");var a=document.createElement("input");a.setAttribute("type","file");a.addEventListener("change",uf);document.body.appendChild(a);a.click();a.style.display="none"} 104function uf(){document.body.removeChild(this);if(0!=this.files.length){var a=this.files[0],b=new FileReader;b.onload=function(){vf(a.name,b.result,!0)};b.readAsText(a)}}function wf(){var a=new XMLHttpRequest;a.open("GET","route3d.gpx",!0);a.onload=function(){vf("route3d.gpx",this.response,!1)};a.send()} 105function vf(a,b,d){var e=(new DOMParser).parseFromString(b,"text/xml");if(null==e||0<e.getElementsByTagName("parsererror").length)alert("Error reading "+a+": "+xf(e));else{var f=!1;if(Ob&&null!=N)for(var g=N.documentElement,l=e.documentElement;;){var k=g.firstElementChild;if(null==k)break;g.removeChild(k);var n,q=yf(k);for(n=l.firstElementChild;null!==n&&(q!==yf(n)||k.nodeName!=n.nodeName);n=n.nextElementSibling);null==n&&(f=!0,l.appendChild(k))}nf();Pb=a;N=e;e=0;for(g=N.documentElement.firstElementChild;null!= 106g;g=g.nextElementSibling)l=null,k=!1,"rte"==g.nodeName?l=kc:"trk"==g.nodeName?l=lc:"wpt"==g.nodeName&&(l=mc,k=!0),null!=l&&(d&&(n=l.previousElementSibling,"none"===n.style.display&&(n.style.display="block",k&&(n.previousElementSibling.style.display="block"))),hc=l,l=yf(g),null===l&&(l=Pb,0!=e&&(l+=" "+e),e++,zf(g,l)),l=Y(l,Af),l.M=g,l.onmouseup=Bf,d||(l.style.display="none"),Cf(l));d&&!f&&(Df("filename",a),Df("file",b),Nb=!1)}}window.fileParse=vf; 107function Ef(){if(null!=N){var a=Pb;-1!==a.indexOf(".gpx",a.length-4)&&(a=a.substr(0,a.length-4));a=prompt("Save file name:",a);if(null!=a){-1!==a.indexOf(".gpx",a.length-4)||(a+=".gpx");var b=xf(N);ld(a,new Blob([b],{type:"application/gpx+xml"}))}}}function ld(a,b){var d=window.document.createElement("a");d.href=window.URL.createObjectURL(b);d.download=a;document.body.appendChild(d);d.click();document.body.removeChild(d);window.URL.revokeObjectURL(d.url)} 108function Ff(a,b,d){rd(a,b,d);a.j=-999999;E()} 109function Gf(a){var b=parseFloat(a);if(isNaN(b))return!1;var d=a.indexOf(",");-1==d?d=a.indexOf("-"):d++;if(-1==d){if(1<=b&&60>=b&&(a=a.split(" "),3==a.length)){var e=parseFloat(a[1]);a=parseFloat(a[2]);if(!isNaN(e)&&!isNaN(a)){d=P;var f=a;1E7<=f&&(f=a-1E7);var g=Math.pow(Math.pow(Math.pow(6378137,2)-Math.pow(6356752.314245,2),.5)/6356752.314245,2),l=Math.pow(6378137,2)/6356752.314245,k=f/6363651.2449104,n=.9996*l/Math.pow(1+g*Math.pow(Math.cos(k),2),.5),q=(e-5E5)/n,p=Math.sin(2*k);e=p*Math.pow(Math.cos(k), 1102);p=k+p/2;var r=(3*p+e)/4,u=.75*g,v=g*Math.pow(q,2)/2*Math.pow(Math.cos(k),2);q*=1-v/3;f=(f-.9996*l*(k-u*p+5/3*Math.pow(u,2)*r-35/27*Math.pow(u,3)*((5*r+e*Math.pow(Math.cos(k),2))/3)))/n*(1-v)+k;l=Math.atan((Math.exp(q)-Math.exp(-q))/2/Math.cos(f));f=Math.atan(Math.cos(l)*Math.tan(f));b=180/Math.PI*l+(6*b-183);g=180/Math.PI*(k+(1+g*Math.pow(Math.cos(k),2)-1.5*g*Math.sin(k)*Math.cos(k)*(f-k))*(f-k));1E7<=a&&(g=-g);d.h=g;d.i=b;P.j=-999999;E();return!0}}return!1}a=parseFloat(a.substring(d));if(isNaN(a))return!1; 111Ff(P,b,a);return!0}function Hf(){-1==Ub?navigator.geolocation?(Tb=!1,Ub=navigator.geolocation.watchPosition(If,function(a){alert(a.message+" -- try using https:// instead of http://")}),jf()):alert("GPS not available"):(jf(),navigator.geolocation.clearWatch(Ub),Tb=void 0,Ub=-1,ec.innerHTML=fc)} 112function If(a){if(void 0!==Tb){var b=a.coords.latitude,d=a.coords.longitude;rd(P,b,d);var e=a.altitude;e?(e*=3.28084,P.j=e):(e=P.height(),P.j=e);E();Tb||(ec.innerHTML=gc,Tb=!0,Yc=null);if(Yc&&((a="trkseg"==Yc.nodeName)||2500<xe(P,Number(Yc.getAttribute("lat")),Number(Yc.getAttribute("lon"))))){b=b.toFixed(6);var f=d.toFixed(6);d=qd("trkpt");d.setAttribute("lat",b);d.setAttribute("lon",f);0!=e&&(b=qd("ele"),d.appendChild(b),b.appendChild(document.createTextNode((e/3.28084).toFixed(1))));b=qd("time"); 113e=(new Date).toISOString();b.appendChild(document.createTextNode(e));d.appendChild(b);(a?Yc:Yc.parentNode).appendChild(d);e=Yc;Yc=d;Nb=!0;S&&Gc&&(a||S==e)&&(S=Yc,Jf())}}}function qd(a){return N.createElementNS(N.firstElementChild.namespaceURI,a)}function Kf(a){N.documentElement.removeChild(a);
113Nb=!0;for(var b=ac.firstElementChild.nextElementSibling;null!==b;b=b.nextElementSibling)if(b.M===a){ac.removeChild(b);break}ad&&"wpt"===a.nodeName&&(Te(),Lf());"rte"==a.nodeName&&Mf()==yf(a)&&(S=null,qf())} 114function Nf(a){for(a=a.firstElementChild;null!==a;a=a.nextElementSibling)if("desc"==a.nodeName)for(var b=a.firstChild;null!==b;b=b.nextSibling){if(3===b.nodeType)return b.nodeValue;if(4===b.nodeType)return b.data}return null}function Of(a,b){b=(b/3.28084).toFixed(1);var d=pd(a,"ele");if(null==d)d=qd("ele"),a.appendChild(d),d.appendChild(document.createTextNode(b));else for(a=d.firstChild;null!==d;d=d.nextSibling)if(3===a.nodeType){a.nodeValue=b;break}} 115function Pf(a,b){if(null==N)return null;for(var d=N.documentElement.firstElementChild;null!==d;d=d.nextElementSibling)if(a===yf(d)&&d.nodeName===b)return d;return null}function pd(a,b){if(null==a)return null;for(a=a.firstElementChild;null!=a;){if(a.nodeName===b)return a;a=a.nextElementSibling}return null}function Qf(a,b){var d=Number(b.getAttribute("lat"));b=Number(b.getAttribute("lon"));Ff(a,d,b)} 116function Rf(){of();var a=Sf(this);Tf(a);var b=S.parentNode;"trkseg"==b.nodeName&&(b=b.parentNode);a=a.M;if("trk"==b.nodeName)if("trk"==a.nodeName)for(a=a.firstElementChild;null!=a;)"trkseg"==a.nodeName&&b.appendChild(a.cloneNode(!0)),a=a.nextElementSibling;else{if("rte"==a.nodeName){var d=qd("trkseg");for(a=a.firstElementChild;null!=a;){if("rtept"==a.nodeName){var e=qd("trkpt");for(var f of a.attributes)e.setAttribute(f.name,f.value);var g=a.cloneNode(!0);e.appendChild(g.firstElementChild);d.appendChild(e)}a= 117a.nextElementSibling}b.appendChild(d)}}else if("rte"==b.nodeName)if("trk"==a.nodeName)for(a=a.firstElementChild;null!=a;){if("trkseg"==a.nodeName)for(f=a.firstElementChild;null!=f;){if("trkpt"==f.nodeName||"rtept"==f.nodeName){g=qd("rtept");for(d of f.attributes)g.setAttribute(d.name,d.value);for(e=f.firstElementChild;e;)"ele"==e.nodeName&&g.appendChild(e.cloneNode(!0)),e=e.nextElementSibling;b.appendChild(g)}f=f.nextElementSibling}a=a.nextElementSibling}else if("rte"==a.nodeName)for(a=a.firstElementChild;null!= 118a;)"rtept"==a.nodeName&&b.appendChild(a.cloneNode(!0)),a=a.nextElementSibling;Jf();E()}function Uf(){var a=Sf(this);Tf(a);Kf(a.M)} 119function Vf(a){a=Sf(this).M;var b=Nf(a);if(null==b){var d=pd(a,"ele");null!=d&&(b="Elevation "+(3.28084*Number(d.textContent)).toFixed(0)+" feet")}var e=prompt("Description:",null==b?"":b);if(null!==e&&e!==b){for(b=a.firstElementChild;null!==b;b=b.nextElementSibling)if("desc"===b.nodeName)for(d=b.firstChild;null!==d;d=d.nextSibling)if(3===d.nodeType||4===d.nodeType){d.nodeValue=e;Nb=!0;return}b=qd("desc");a.appendChild(b);b.appendChild(document.createTextNode(e));Nb=!0}} 120function Wf(a){var b=Sf(this);Tf(b);a=b.M;b=Number(a.getAttribute("lat"));a=Number(a.getAttribute("lon"));rd(Fc,b,a);b=sd(P,Fc);1E3>b?alert("Distance "+Math.round(1*b)+" ft"):(b=Math.round(b/5280*100)/100,alert("Distance "+b+" mi"))}function Xf(){var a=Sf(this);Tf(a);var b=a.M,d=b.cloneNode(!0);N.documentElement.insertBefore(d,b);b=a.cloneNode(!0);b.M=d;b.onclick=a.onclick;b.onmouseup=Bf;b.style.display=a.style.display;ac.insertBefore(b,a);Nb=!0} 121function Yf(a){a=Sf(this);Tf(a);a=a.M;a=a.cloneNode(!0);var b=N,d=Pb;N=null;rf();Pb=yf(a);N.documentElement.appendChild(a);Ef();N=b;Pb=d}function Zf(a){of();a=Sf(this);Tf(a);a=a.M;if("rte"==a.nodeName||"trk"==a.nodeName)a=$f(a.firstElementChild),ag(a);if(null!=a){if("wpt"===a.nodeName||"rtept"==a.nodeName||"trkpt"==a.nodeName)Qf(P,a),"wpt"!==a.nodeName&&bg();cg();E()}}function Tf(a){for(;;){var b=a.nextElementSibling;if("m4"===b.className)ac.removeChild(b);else break}} 122function dg(a){var b=Sf(this);a=b.M;var d=yf(a),e=prompt("Rename:",d);if(null!==e&&e!==d){var f=a.nodeName;for(d=Pf(e,f);null!==d;){var g=prompt("Name '"+e+"' is in use. Enter new name or OK to overwrite:",e);if(null===g)return;if(g===e){Kf(d);break}e=g;d=Pf(e,f)}Tf(b);d=b.firstChild;3==d.nodeType&&(d.nodeValue=e);for(d=a.firstElementChild;null!==d;d=d.nextElementSibling)if("name"===d.nodeName)for(b=d.firstChild;null!==b;b=b.nextSibling)if(3===b.nodeType||4===b.nodeType){b.nodeValue=e;Nb=!0;ad&&(Te(), 123Lf());return}d=qd("name");a.insertBefore(d,a.firstChild);d.appendChild(document.createTextNode(e))}}function Sf(a){for(;"m4"===a.className;)a=a.previousElementSibling;return a}function yf(a){for(a=a.firstElementChild;null!==a;a=a.nextElementSibling)if("name"==a.nodeName)for(var b=a.firstChild;null!==b;b=b.nextSibling){if(3===b.nodeType)return b.nodeValue;if(4===b.nodeType)return b.data}return null}function zf(a,b){var d=qd("name");a.appendChild(d);d.appendChild(document.createTextNode(b))} 124function eg(a,b,d,e){rf();for(var f=Pf(a,d);null!==f;){var g=prompt("Name '"+a+"' is in use. Enter new name or OK to overwrite:",a);if(null==g)return;if(g===a){Kf(f);break}a=g;f=Pf(a,d)}g=qd(d);zf(g,a);N.documentElement.appendChild(g);hc=e;a=Y(a,Af);a.M=g;a.onmouseup=Bf;a.style.display=a.previousElementSibling.style.display;Cf(a);"wpt"===d?f=g:"rte"===d?(f=qd("rtept"),g.appendChild(f)):"trk"===d&&(d=qd("trkseg"),g.appendChild(d),b?(f=qd("trkpt"),d.appendChild(f)):f=d);b&&(d=b.j,0==d&&(d=b.height()), 1250!=d&&(g=qd("ele"),f.appendChild(g),g.appendChild(document.createTextNode((d/3.28084).toFixed(1)))),f.setAttribute("lat",b.h.toFixed(6)),f.setAttribute("lon",b.i.toFixed(6)));Nb=!0;return f} 126function Af(){var a=this.nextElementSibling;if("m4"===a.className)if("none"!==a.style.display)Tf(this);else{do a.style.display="block",a=a.nextElementSibling;while("m4"===a.className)}else hc=a,(a="wpt"===this.M.nodeName)?(fg("Map",Zf),fg("Distance",Wf)):fg("Open",Zf),fg("Rename",dg),fg("Delete",Uf),a||(fg("Duplicate",Xf),fg("Append",Rf)),fg("Description",Vf),fg("Export",Yf)} 127function gg(a){var b=a.lastChild,d=null,e=a.firstElementChild;"name"==e.nodeName&&(e=e.nextSibling);for(var f=e;null!=f;f=e){e=f.nextSibling;a.insertBefore(f,d);if(f==b)break;d=f}}function Bf(a){2==a.button&&Af.call(this,a)}function hg(a){var b=Number(a.getAttribute("lat"));a=Number(a.getAttribute("lon"));rd(P,b,a);P.j=-999999;id(Q,P);E()} 128function ig(a){a*=ka;da&&(-10>ia?(gf(-.02*M*P.W),jg(.015*Math.sin(P.F*h))):10<ia&&(gf(.02*M*P.W),jg(-.015*Math.sin(P.F*h))));for(let b=0;b<Wb.length;b++){switch(Wb[b]){case "+":gf(-.01*a*M);break;case "-":gf(.01*a*M);break;case "a":Ie(-1*a);break;case "z":Ie(a);break;case "Left":case "ArrowLeft":0==P.F?Fe(P,.01*M,P.D+90):(Ce(P,a),Ce(Q,a));break;case "Right":case "ArrowRight":0==P.F?Fe(P,.01*M,P.D-90):(Ce(P,-a),Ce(Q,-a));break;case "Up":case "ArrowUp":jg(.01);break;case "Down":case "ArrowDown":jg(-.01); 129break;case "Shift":if(b<Wb.length-1)switch(Wb[b+1]){case "Up":case "ArrowUp":Ie(-1);break;case "Down":case "ArrowDown":Ie(1)}}E()}} 130function kg(){if(Pc&&0!=P.F){if(-999999==Q.j){if(-999999==P.j)return;Q.j=P.j}if(!cd){rd(Q,wb(.02,Q.h,P.h),wb(.02,Q.i,P.i));if(Jb)Ce(Q,.25),Jb-=.25,0>=Jb&&(Jb=0,of());else{var a=ud(S);for(var b=Ec.h,d=Ec.i;null!=a;){b=Number(a.getAttribute("lat"));d=Number(a.getAttribute("lon"));if(1E6<xe(Q,b,d))break;a=ud(a)}a=-t*Math.atan2(la(Q.h)*(d-Q.i),b-Q.h);a-=Q.D;-180>a?a+=360:180<=a&&(a-=360);b=10/60;a<-b?a=-b:a>b&&(a=b);Ce(Q,a)}P.D=Q.D}a:{a=P.F;ue(a,0,M);Ib=w.u;b=P.j;if(-999999==b){b=P.height();if(-999999== 131b)break a;P.j=b;He()}b*=Vb;d=b+Ib;var e=Q.D;ue(e,0,w.s);var f=w.s,g=w.u,l=Ib,k=Dc.j;rd(Dc,Q.h,Q.i);ve(Dc,f,g);Dc.j=k;-999999!=k&&(Ib+=k-d,d=k);dd&&Sd()||lg(l);l=(Q.i-P.i)*K*la(Q.h);k=(Q.h-P.h)*K;f+=l;g+=k;0!=a?(w.s=0,w.u=0,w.j=1):(w.s=0,w.u=1,w.j=0,ue(e,w.s,w.u));sa(f,g,d,l,k,b)}}
131else a=P,ue(a.F,0,M),Ib=w.u,d=a.j,-999999==d&&(d=a.height(),-999999==d?d=0:a.j=d,R||He()),d*=Vb,b=d+Ib,ue(a.D,0,w.s),e=w.s,f=w.u,0!=a.F?(w.s=0,w.u=0,w.j=1):(w.s=0,w.u=1,w.j=0,ue(a.D,w.s,w.u)),sa(e,f,b,0,0,d)} 132async function lg(a){var b=P.h,d=P.i,e=Dc.h,f=Dc.i,g=P.j;if(-999999!=g){for(var l=await tb(e,f,0),k=l-g,n=.2*a,q=.2;1>q;q+=.2){var p=await tb(wb(q,b,e),wb(q,d,f),0);p+=n;p-=g;p/=q;p>k&&(k=p)}k=l+a+(k>a?k-a:0);k<g+a&&(k=g+a);Dc.j=-999999==Dc.j?k:wb(1/60,Dc.j,k)}}window.m=function(a){"m2"===a.className?ff.call(a):mg.call(a)}; 133async function ng(){var a=!1;ba&&!ca&&(ca=await self.caches.open("route3d"));var b=og("file");b&&vf(og("filename"),b,!1);var d=null;if((b=window.location.search)&&"?"===b.charAt(0)){b=b.substring(1);b=b.split("&");for(var e of b)b=e.split("="),1===b.length?d=b[0]:2===b.length&&Df(b[0],decodeURIComponent(b[1]));window.history.replaceState({},"Route3D",location.pathname)}e=pg("camDist");0!=e&&(W(pg("mapType")),b=pg("tilt"),M=e,Ge(P,b));d&&((a=og("route"))||(a="untitled"),qg(a,d),Df("routeDist",0),a= 134!0);if(!a){if((b=og("route"))&&""!==b&&N)for(d=N.documentElement.firstElementChild;null!=d;d=d.nextElementSibling)if(("rte"===d.nodeName||"trk"===d.nodeName)&&yf(d)===b){S=$f(d.firstElementChild);Oc=pg("routeDist");rg();break}d=pg("lat");e=pg("lon");0!=d&&0!=e&&Ff(P,d,e)}P.D=pg("heading");void 0===N&&wf();Nb=!1;gf(0);Ib=M*P.W;a?(sg(),jc.style.display="block"):pg("profile")&&sg();navigator.getVRDisplays&&navigator.getVRDisplays().then(function(f){0<f.length&&(ea=f[0],hc=ac.firstElementChild.nextElementSibling, 135tg("VR",ug).style.display="none",bb.onclick=function(){7===T.o?Ve("p"):Ve("t")})});pg("waypointShow")&&(ad||vg.call(nc));jb()}window.main2=ng;function Wd(a){return 7!=a&&10!=a&&12!=a} 136function wg(){if(S){Zb=[];E();var a=prompt("Show markers every (mile, km):","1 mile");if(a){a=a.split(" ");var b=Number(a[0]);if(!(isNaN(b)||0>=b)){var d=5280;"km"==a[1]&&(d=3280.84);d*=b;O||=new Ca;var e=new Float32Array(4);e[0]=.8;e[1]=.8;e[2]=1;e[3]=.5;a=od(S);if(null!=a){var f=new hd;Ae(f,a);for(var g=new hd,l=d,k=1,n=0;;){var q=ud(a);if(null==q)break;Ae(g,q);De(g,f);for(a=sd(g,f);n+a>=l;){b=l-n;1<b?(Fe(f,b,g.D),De(g,f),a=sd(g,f),n+=b):a=b;var p=String(k),r=b=new re(e,.4),u=f.i;r.h=f.h;r.i=u; 137r.j=-999999;b.ia=p;Zb.push(b);l+=d;k++}n+=a;a=q;id(f,g)}}}}}else alert("First select route/track to show markers")}function tg(a,b){var d=document.createElement("a");d.innerHTML=a;d.onclick=b;ac.insertBefore(d,hc);return d}function xg(a,b){a=tg(a,b);a.className="m2";return a}function Z(a,b,d){a=xg(yg(d)+a,b);a.style.paddingLeft="8px";return a}function zg(a,b){b=Z("",a,b);b.style.paddingLeft="20px";b.onclick=void 0;b.onmousedown=a;b.ontouchstart=a;b.onmouseup=Ag;b.ontouchend=Ag;b.onmouseout=Ag} 138function Y(a,b){a=tg(a,b);a.className="m3";return a}function fg(a,b){tg(a,b).className="m4"}function Ye(){var a=bc.pop();a&&(a.style.display="none"!=a.style.display?"none":"block",E())} 139async function cf(){var a=P.h.toFixed(6),b=P.i.toFixed(6),d=P.j;0>=d&&(d=await tb(P.h,P.i,0));var e=P.h,f=P.i,g=Math.sqrt((Math.pow(6378137,2)-Math.pow(6356752.314,2))/Math.pow(6378137,2));if(0<f){var l=30+Math.ceil(f/6);var k=6*Math.floor(f/6)+3}else l=30-Math.floor(Math.abs(f)/6),k=6*-Math.floor(Math.abs(f)/6)-3;f=(f-k)*Math.PI/180;e=e*Math.PI/180;var n=6378137/Math.pow(1-Math.pow(g,2)*Math.pow(Math.sin(e),2),.5),q=Math.tan(e),p=n/(6378137*(1-Math.pow(g,2))/Math.pow(1-Math.pow(g,2)*Math.pow(Math.sin(e), 1402),1.5));var r=Math.pow(f,2)*p*Math.pow(Math.cos(e),2)*(p-Math.pow(q,2))/6;var u=Math.pow(f,4)*Math.pow(Math.cos(e),4)*(4*Math.pow(p,3)*(1-6*Math.pow(q,2))+Math.pow(p,2)*(1+8*Math.pow(q,2))-Math.pow(p,2)*Math.pow(q,2)+Math.pow(q,4))/120;var v=Math.pow(f,6)*Math.pow(Math.cos(e),6)*(61-479*Math.pow(q,2)+179*Math.pow(q,4)-Math.pow(q,6))/5040;k=5E5+Math.round(.9996*f*n*Math.cos(e)*(1+r+u+v));g=6378137*((1-.25*Math.pow(g,2)-.046875*Math.pow(g,4)-5/256*Math.pow(g,6))*e-.375*(Math.pow(g,2)+.25*Math.pow(g, 1414)+.1171875*Math.pow(g,6))*Math.sin(2*e)+.05859375*(Math.pow(g,4)+.75*Math.pow(g,6))*Math.sin(4*e)-35/3072*Math.pow(g,6)*Math.sin(6*e));r=Math.pow(f,2)*n*Math.sin(e)*Math.cos(e)/2;u=Math.pow(f,4)*n*Math.sin(e)*Math.pow(Math.cos(e),3)*(4*Math.pow(p,2)+p-Math.pow(q,2))/24;v=Math.pow(f,6)*n*Math.sin(e)*Math.pow(Math.cos(e),5)*(8*Math.pow(p,4)*(11-24*Math.pow(q,2))-28*Math.pow(p,3)*(1-6*Math.pow(q,2))+Math.pow(p,2)*(1-32*Math.pow(q,2))-2*p*Math.pow(q,2)+Math.pow(q,4));g=Math.round(.9996*(g+r+u+v+Math.pow(f, 1428)*n*Math.sin(e)*Math.pow(Math.cos(e),7)*(1385-3111*Math.pow(q,2)+543*Math.pow(q,4)-Math.pow(q,6))));0>e&&(g=1E7+g);
142a=prompt("Elevation "+Math.round(d/1).toLocaleString()+" feet\n\nUTM "+(l.toString()+" "+k.toString()+" "+g.toString())+"\n\nEnter latitude, longitude:",a+", "+b);null!=a&&Gf(a)} 143function Bg(){if(Rb)alert("Find in progress, please wait...");else{var a=prompt("Find (example: new york,ny):",Qb);if(null!=a){Qb=a;Rb=!0;Cg();Y("Finding...",null);a=Dg(a);var b=new XMLHttpRequest,d="*"==a;if(d){a=.25*Math.floor(P.h/.25);var e=.25*Math.floor(P.i/.25);a="https://e-t.com/places/geoquick.php?A="+a+"&B="+(a+.25)+"&C="+e+"&D="+(e+.25)}else a="https://e-t.com/places/geoquick.php?A="+a;b.open("GET",a,!0);b.onerror=function(){Cg();Y("Error",null);Rb=!1};b.onload=function(){Rb=!1;var f=this.response.split(/\t|\n/); 144Cg();for(var g=f.length-4,l=0;l<=g;l+=4){var k=f[l],n=Number(f[l+2]),q=Number(f[l+3]);d?(k=Y(k,Eg),k.setAttribute("lat",n),k.setAttribute("lon",q),k.setAttribute("ele",f[l+1])):(k=Y(k+","+f[l+1],Eg),k.setAttribute("lat",n),k.setAttribute("lon",q),0==l&&4>g&&Qf(P,k));Cf(k)}0>g&&(d?Y("None found",null):Y("Not found",null))};b.send()}}}function Cg(){hc=dc;for(var a=hc.previousElementSibling;"m3"==a.className;){var b=a.previousElementSibling;a.parentNode.removeChild(a);a=b}} 145function Dg(a){for(var b=a.length,d=null,e=null,f=null,g=!0,l=0,k=0;k<b;k++){var n=a.charAt(k);
145switch(n){case "'":case "\\":a=a.slice(0,k)+"\\"+a.slice(k);k++;b++;break;case " ":case "\t":g?(a=a.slice(0,k)+a.slice(k+1),k--,b--):(g=!0,a=a.slice(0,k)+"+"+a.slice(k+1));break;case ",":null==d?(d=a.substring(0,k),l=k+1):null==e?(e=a.substring(l,k),l=k+1):null==f&&(f=a.substring(l,k),l=k+1);g=!0;break;default:var q=n.charCodeAt(0);32>q||37==q?(g=!1,a=a.slice(0,k)+a.slice(k+1),q=q.toString(16),1==q.length&& 146(q="0"+q),a=a.slice(0,k)+"%"+q+a.slice(k),k+=2,b+=2):127<q?(g=!1,a=a.slice(0,k)+a.slice(k+1),2047>=q?(k+=5,b+=5):(k+=8,b+=8)):g&&(g=!1,"a"<=n&&"z">=n&&(n=n.toUpperCase(),a=a.slice(0,k)+n+a.slice(k+1)))}}g&&0<b&&(b--,a=a.slice(0,b)+a.slice(b+1));if(0==b)return"";null==d?3<b&&"+"==a.charAt(b-3)?(d=a.substring(0,b-3),e=a.substring(b-2)):d=a.substring(0,b):null==e&&0<l&&l<b?e=a.substring(l,b):null==f&&0<l&&l<b&&(f=a.substring(l,b));null!=e&&2==e.length&&(e=e.toUpperCase());null!=f&&2==f.length&&(f=f.toUpperCase()); 147a="";null!=d&&("New+York"==d&&(d="New+York+City"),a+=d,null!=e&&(a=a+"&B="+e),null!=f&&(a=a+"&C="+f));return a}function Eg(){Qf(P,this)}function Fg(){0==Vb?Vb=1:(Vb=0,P.D=0,P.F=0);E()}function cg(){var a=ac.firstElementChild.nextElementSibling;if("none"!==a.style.display)for(;null!=a;)a.style.display="none",a=a.nextElementSibling} 148function Gg(){ac=document.getElementById("menu");ac.addEventListener("touchstart",Hg,{passive:!0});hc=ac.firstElementChild.nextElementSibling;tg("File",mg);Z("New",sf,"M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z");Z("Import",tf,"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z");Z("Export",Ef,"M9 16h6v-6h4l-7-7-7 7h4zm-4 2h14v2H5z");Z("Print",Ig,"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"); 149Z("Route",ff,"M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z");Y("New route...",Jg);
149kc=Z("Track",ff,"M4.59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-2.47c-.15-1.65-1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-.68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-.66.66-.88.93l1.75 1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z"); 150Y("New track...",Kg);lc=Z("Waypoint",ff,"M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z");nc=Y("Show all",vg);Y("New waypoint...",bf);mc=tg("Edit",mg);jc=Z("Play",af,"M8 5v14l11-7z");Z("Rewind",Lg,"M11 18V6l-8.5 6 8.5 6zm.5-6l8.5 6V6l-8.5 6z");Z("Step",We,"M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z");Z("Back",Mg,"M6 6h2v12H6zm3.5 6l8.5 6V6z");Z("Add",Ng,"M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm4 8h-3v3h-2v-3H8V8h3V5h2v3h3v2z");Z("Delete",Xe,"M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z"); 151Z("Profile",sg,"M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z");xg("...",ff);Y("Markers",wg);Y("Reverse",Og);Y("< Trim",Pg);Y("> Trim",Qg);Y("Trace",Ze);Y("Resample",Rg);Y("Flatten",Fg);Y("Link",Sg);window.MediaRecorder&&Y("Video",Tg);tg("View",mg);zg(function(){Ve("+")},"M11 19v-6H5v-2h6V5h2v6h6v2h-6v6Z");zg(function(){Ve("-")},"M5 13v-2h14v2Z");zg(function(){Ve("a")},"M5.4 20 4 18.6 15.6 7H9V5h10v10h-2V8.4Z");zg(function(){Ve("z")},"M9 19v-2h6.6L4 5.4 5.4 4 17 15.6V9h2v10Z");tg("Locate", 152mg);ec=Z("Gps",Hf,"M17.27 6.73l-4.24 10.13-1.32-3.42-.32-.83-.82-.32-3.43-1.33 10.13-4.23M21 3L3 10.53v.98l6.84 2.65L12.48 21h.98L21 3z");fc=ec.innerHTML;gc=yg("M21 3L3 10.53v.98l6.84 2.65L12.48 21h.98L21 3z")+"Gps";Z("Find",Bg,"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z");dc=Z("Coords",cf,"M12 2C8.14 2 5 5.14 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.86-3.14-7-7-7zm-1.56 10H9v-1.44l3.35-3.34 1.43 1.43L10.44 12zm4.45-4.45l-.7.7-1.44-1.44.7-.7c.15-.15.39-.15.54 0l.9.9c.15.15.15.39 0 .54z"); 153tg("Map",mg);Z("Photo",ff,"M9 2L7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2H9zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z");Y("Bing",function(){W(0)});Y("Esri",function(){W(1)});Y("NAIP",function(){W(15)});Y("US Topo",function(){W(14)});Z("Street",ff,"M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z"); 154Y("Bing",function(){W(9)});Y("Esri",function(){W(2)});Y("OpenFreeMap",function(){W(21)});Z("Topo",ff,"M14 6l-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22L14 6z");Y("US Topo",function(){W(8)});Y("USGS 24K",function(){W(7)});Y("USGS 100K",function(){W(10)});Y("GC Geology",function(){W(12)});Y("Hillshade",function(){W(13)});Z("Names",Ug,"M5 19v-2h14v2Zm1.9-4L11 4h2l4.1 11h-1.9l-.95-2.8H9.8l-1 2.8Zm3.45-4.4h3.3l-1.6-4.55h-.1Z");ic=Y("Show all",$e);zb&&(Z("Cache",ef,"M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"), 155cc=Y("0%",function(){}),Y("Route",hf),Y("Clear",df));ac.style.display="block";cg()}function Hg(){void 0===Tc&&(Tc=!0,document.getElementById("menu").style.fontSize="125%",document.getElementById("menu").style.lineHeight="150%",ac.removeEventListener("touchstart",Hg))}function Ag(){Wb.length=0}function $e(){Bc?(Bc=!1,this.innerHTML="Show all",yc=[],Ac=[]):(Bc=!0,this.innerHTML="Hide all",O||=new Ca
155);E()}function Ug(){ff.call(this);"block"==ic.style.display&&(Bc||$e.call(ic))} 156async function Vg(){if(!(1<zc)){var a=Math.floor(8*P.h),b=Math.floor(8*P.i),d=Ac[a];if(d){var e=d[b];if(e){if(9==e)return;b--;if(d[b]&&(b+=2,d[b]))if(a--,b-=2,d=Ac[a],!d)d=[],Ac[a]=d;else if(d[b]&&(b++,d[b]&&(b++,d[b])))if(b-=2,a+=2,d=Ac[a],!d)d=[],Ac[a]=d;else if(d[b]&&(b++,d[b]&&(b++,d[b]))){Ac[a-1][b-1]=9;return}}d[b]=1}else d=[],d[b]=1,Ac[a]=d;a*=.125;b*=.125;a="https://e-t.com/places/geonear.php?A="+a+"&B="+(a+.125)+"&C="+b+"&D="+(b+.125);0==zc&&(ic.innerHTML="Loading");zc++;ba?(d=await ca.match(a), 157d&&d.ok||(d=await fetch(a,{cache:"no-store"}))&&d.ok&&ca.put(a,d.clone())):d=await fetch(a);zc--;0==zc&&(ic.innerHTML="Hide all");if(!d||!d.ok)console.log("menuPlacesUpdate fetch failure");else if(Bc){a=await d.text();d=new Float32Array(4);d[0]=.8;d[1]=.8;d[2]=1;d[3]=.5;e=a.split(/\t|\n/);for(var f=e.length-2,g=0;g<f;g+=4){var l=e[g],k=3.28084*Number(e[g+1]);a=Number(e[g+2]);b=Number(e[g+3]);var n=!1,q=yc.length,p;for(p=0;p<q;p++){var r=yc[p];if(k>r.j)break;else if(k==r.j&&l==r.ia){n=!0;break}}n|| 158(q=n=new re(d,.4),q.h=a,q.i=b,q.j=k,n.ia=l,yc.splice(p,0,n))}E()}}}function Ig(){if(!R){var a=tc;a||="route3d";if(tc=prompt("Print to pdf file:",a))R=0,Wg()}} 159function Cf(a){for(var b=a.innerText,d=a,e=null!=d.M;;){d=d.previousElementSibling;var f=d.className;if("m4"===f)f=d.nextElementSibling,ac.removeChild(d),d=f;else{if("m3"!=f||e&&!d.M)break;if(0<=b.localeCompare(d.innerText,void 0,{numeric:!0,sensitivity:"base"}))break}}d.nextElementSibling!==a&&(ac.removeChild(a),ac.insertBefore(a,d.nextElementSibling))} 160function mg(){for(var a=this.nextElementSibling;null!=a;a=a.nextElementSibling)if("m2"==a.className)"none"!=a.style.display?bc.push(a):bc.unshift(a);else if("m3"==a.className||"text3"==a.className||"m4"==a.className)"none"!=a.style.display&&(a.style.display="none");else break;Ye()} 161function ff(){for(var a=this.nextElementSibling;null!=a;a=a.nextElementSibling)if("m3"==a.className||"text3"==a.className)a.style.display="none"!=a.style.display?"none":"block";else if("m4"==a.className)a.style.display="none";else break;Ye()}function Xg(a){a.preventDefault();U=G*a.clientX;V=G*a.clientY;Vc=U;Wc=V;2==a.button?Uc=2:(Uc=1,Ic&&V>=Ic.g&&Yg(U))}function Zg(a,b){for(var d of a)if(d.wa>b)return wc=d,Nc=0,rd(Cc,d.h,d.i),$g(Cc),!0;return!1} 162function ah(a){var b=G*a.clientX,d=G*a.clientY;1==Uc&&(Ic&&d>=Ic.g?Wc>=Ic.g&&(U=b,V=d,Yg(b)):a.shiftKey?(Ie(d-V),E(),U=b,V=d):bh(b,d))} 163function ch(){Gc&&E();if(2==Uc){of();var a=Cc;id(a,P);jd(a,U,V);null!==S?(dh(a),eh()):Nc=0;$g(a)}else if(1==Uc&&U==Vc&&V==Wc){a=!1;if(O&&0<O.P){a:{var b=O;var d=U;var e=V,f=.5*H,g=.5*J;d=(d-f)/f*Lb;e=(g-e)/g*Mb;f=b.g;b=b.P;for(g=0;g<b;g+=36){var l=-1/f[g+2],k=f[g+1]*l,n=f[g+12]*l,q=f[g+7]*l,p=1/256;if(d>=f[g]*l-p&&d<=n+p&&e>=q-p&&e<=k+p){d=g;break a}}d=-1}-1!=d&&(ad&&(a=Zg(Ab.g.aa,d)),Bc&&!a&&(a=Zg(yc,d)),Zb&&!a&&Zg(Zb,d))}if(!a&&(of(),a=Cc,id(a,P),jd(a,U,V),Gc))for(d=od(S),e=new hd,Ae(e,d),f=new hd, 164b=0,g=25E4;null!=d;)Ae(f,d),$c||(b+=sd(f,e)),l=xe(f,a.h,a.i),l<g&&(g=l,Nc=0,$g(a),S=d,Oc=b,E()),d=ud(d),id(e,f);Fd()&&(id(Fc,P),jd(Fc,U,V),a=Se(Fc.h,Fc.i),Bb[a]?(Hb&&a==Se(Hb.h,Hb.i)&&(Hb=null),delete Bb[a]):(Bb[a]=1,Gb+=Xd()),E())}Uc=0}function jg(a){a*=M;Fe(P,a,P.D)}function bh(a,b){of();-1!=Ub&&Hf();if(a!=U||b!=V){var d=Fc;id(d,P);if(jd(d,a,b)){var e=d.h,f=d.i;jd(d,U,V)&&(e=d.h-e,f=d.i-f,Ee(P,e,f))}else Ce(P,(a-U)/H*Math.atan(Lb)*t*2),Ie((b-V)/J*Math.atan(Mb)*t*2),E();U=a;V=b}} 165function He(){var a=P.F+.5*xa;a<.5*Sb&&(a=.5*Sb);88<a&&(a=88);var b=P.j;-999999==b&&(b=1E4);b+=Ib;b<M&&(b=M);oa=b/la(a);na=5E-4*oa;wa(H/J)}function te(a,b,d){var e=(a.i-P.i)*Math.cos(h*a.h)*K;var f=(a.h-P.h)*K;ta.transform(w,e,f,a.j);e=w.s;f=w.u;xc=a=-w.j;0==a&&(a=1);e/=a*Lb;f/=a*Mb;a=.5*H;var g=.5*J;uc=b-(a+e*a);vc=g-f*g-d;return-.25<uc&&.25>uc&&-.25<vc&&.25>vc}function og(a){return window.localStorage["route3d_"+a]}function pg(a){if(a=og(a))if(a=Number(a),!isNaN(a))return a;return 0} 166function Df(a,b){try{window.localStorage.setItem("route3d_"+a,b.toString())}catch(d){console.log("prefSave localStorage error",a),window.onbeforeunload=function(e){fh();Nb&&(e.returnValue="Unsaved data")}}} 167function fh(){Df("lat",P.h);Df("lon",P.i);Df("mapType",T.l);Df("tilt",P.F);Df("heading",P.D);Df("camDist",M);if(Nb){var a=(new XMLSerializer).serializeToString(N);Df("file",a);Df("filename",Pb)}null!=S?(Df("route",Mf()),Df("routeDist",Oc)):Df("route","");Df("profile",Gc?1:0);Df("waypointShow",ad?1:0)} 168function Wg(){if(!qc&&!Sd()){var a=na*Math.tan(.5*xa*h),b=H/J,d=b*-a;b*=a;var e=2*a/L,f=2*b/L,g=.125*H,l=.125*J;if(0==R){W(T.l);var k=we(P);if(k){var n=1<<T.g-k.G,q=Dd(k,Ib);0!=q&&(n=Math.round(n/q));2>n?n=2:18<n&&(n=18);L=n;sc=Dd(k,M)/n;e=2*a/L;f=2*b/L}else sc=1,L=2;pc=new kd(L*g,L*l);rc=Ab.g.aa.shift();Xb*=L;ma(d,d+f,a-e,a);R++;E()}else{b=R-1;var p=b%L,r=L-1-Math.trunc(b/L);qc=!0;bb.toBlob(function(u){qc=!1;var v=p*g,z=r*l,B=pc,y=H,C=J;B.g.push(B.l);var A=B.g.length;B.add(A.toString()+" 0 obj\n<</Type /XObject /Subtype /Image /Width "+ 169y+" /Height "+C+" /ColorSpace /DeviceRGB /BitsPerComponent 8 /Length "+u.size+" /Filter /DCTDecode >>\nstream");B.l+=u.size;B.v.push(u);B.add("\nendstream\nendobj");B.o+="q "+g+" 0 0 "+l+" "+v+" "+z+" cm /I"+A+" Do Q\n";R==L*L?(pc.close(L*L),pc=void 0,Xb/=L,He(),Ab.g.aa.unshift(rc),R=void 0):(u=d+R%L*f,v=a-Math.trunc(R/L)*e,ma(u,u+f,v-e,v),R++);E()},"image/jpeg",.9)}}}function sg(){null!=S&&(Gc?qf():(cg(),Gc=!0,Jf()))} 170function Yg(a){of();var b=H;a*=b/b;0>a&&(a=0);a=Hc*a/b;var d=0,e=0;for(Lg();;){if(d>=a){b=gh(S);null!=b&&(d=(a-e)/(d-e),rd(P,wb(d,P.h,Ec.h),wb(d,P.i,Ec.i)),P.j=-999999,Oc=a,S=b);break}e=d;hg(S);if(hh()){Oc=a;break}ih();d+=1*sd(P,Ec)}Ec=null;E()}function qf(){Ic=null;Gc=!1;Zc.g=null;E()}function Jf(){Gc&&(Ic=new vd,md())} 171function kb(){var a=P.j;-999999==a&&(a=P.height(),-999999==a&&E(),P.j=a);Ye();if(ba&&!ca)E();else{Bc&&Vg();if(dd){if(cd=Sd()||-999999==a,!cd){if(ed){E();return}bd++;ed=performance.now();dd.resume();dd.stream.getVideoTracks()[0].requestFrame();setTimeout(function(){ed=void 0;dd.pause()},16.67);ig(.25);jh()}}else ig(1),jh();x.clear(x.DEPTH_BUFFER_BIT|x.COLOR_BUFFER_BIT);void 0!==R?W(T.l):ye()?7==T.o&&5E4<M?Vd(10,7):10==T.o&&3E5<M?Vd(8,T.l):T.l!=T.o&&(7==T.l?5E4>=M&&W(7):10==T.l?3E5>=M&&W(10):8==T.l&& 172W(8)):7==T.o?Vd(9,7):10==T.o?Vd(9,10):8!=T.o||Vd(9,8);if(da)if(ea.isPresenting){a=H>>1;
172-999999==P.j&&(P.j=P.height());x.viewport(0,0,a,J);if(da){ea.getFrameData(fa);var b=fa.pose.orientation,d=t*(Math.atan2(2*(b[3]*b[0]+b[1]*b[2]),1-(2*b[0]*b[0]+b[1]*b[1]))+Math.PI/2);P.F=d;P.W=la(d);ia=t*Math.asin(2*b[0]*b[1]+2*b[2]*b[3]);P.D=t*Math.atan2(2*b[1]*b[3]-2*b[0]*b[2],1-2*b[1]*b[1]-2*b[2]*b[2]);He();ea.depthNear=na;ea.depthFar=oa;ya(qa,fa.leftProjectionMatrix);ya(ta,fa.leftViewMatrix)}else oa=32*M,na= 1735E-4*oa,wa(a/J),ra(ta);kh();ua($b,qa,ta);lh();x.viewport(a,0,a,J);da?(ya(qa,fa.rightProjectionMatrix),ya(ta,fa.rightViewMatrix)):ra(ta);kh();ua($b,qa,ta);lh();da&&ea.submitFrame();E()}else x.clearColor(.5,.6,.5,0),eb&&ea.cancelAnimationFrame(eb),ea.exitPresent(),eb=da=!1,nd();else kg(),1!=Vb&&($b.set(1,0,0,0,0,1,0,0,0,0,Vb,0,0,0,0,1),ua(ta,ta,$b)),ua($b,qa,ta),lh(),Ic&&Ic.J();R&&Wg()}} 174function lh(){T.J(qa,ta);Gc&&Zc.J($b);if(!(dd||da||10>P.F)){var a=.99*oa,b=Lb*a,d=a*ta.H[10];0>d&&(d=0);var e=d+a*Mb;d-=.04*a;Oa(Qc,-b,d,-a,b,d,-a,-b,e,-a,b,e,-a);Qc.J(qa)}Ab.J()}function kh(){var a=fa.pose.position;ta.translate(a[0],a[1],a[2]);a=ta.H;var b=-90*h,d=Math.sin(b);b=Math.cos(b);
174var e=a[4],f=a[5],g=a[6],l=a[7],k=a[8],n=a[9],q=a[10],p=a[11];a[4]=e*b+k*d;a[5]=f*b+n*d;a[6]=g*b+q*d;a[7]=l*b+p*d;a[8]=k*b-e*d;a[9]=n*b-f*d;a[10]=q*b-g*d;a[11]=p*b-l*d;ta.translate(0,0,-P.j-M)} 175function nd(){void 0!==R||dd||da||mh(window.innerWidth,window.innerHeight)}function mh(a,b){hb(a,b);nh(45,a,b)}function nh(a,b,d){xa=a;a=Math.tan(.5*h*xa);b=.5*b;d=.5*d;b>d?(Mb=a,Sb=Math.atan2(b,d/a),Lb=Math.tan(Sb),Sb*=2*t):(Sb=xa,Lb=a,xa=Math.atan2(d,b/a),Mb=Math.tan(xa),xa*=2*t);He();Gc&&E();Ic&&(d=Ic,a=.15*J,200>a&&(a=200),d.g=J-a,d.o=a/J,d.o*=1/1.2);E()}function ue(a,b,d){var e=w,f=h*a;a=Math.sin(f);f=Math.cos(f);e.s=b*f-d*a;e.u=b*a+d*f}function Ng(){of();dh(P);eh()} 176function dh(a){oh("untitled");var b=a.h.toFixed(6),d=a.i.toFixed(6);if(b!=S.getAttribute("lat")||d!=S.getAttribute("lon")){var e=qd(S.nodeName);e.setAttribute("lat",b);e.setAttribute("lon",d);b=a.j;if(0==b||-999999==b)b=a.height();0!=b&&-999999!=b&&Of(e,b);a=S.nextElementSibling;null==a?S.parentNode.appendChild(e):S.parentNode.insertBefore(e,a);S=e;Nc=0;Jf();Nb=!0}} 177function ph(a,b,d,e){b=b.toFixed(6);var f=d.toFixed(6);d=qd(a.nodeName);d.setAttribute("lat",b);d.setAttribute("lon",f);-999999!=e&&0!=e&&Of(d,e);e=a.nextElementSibling;null==e?a.parentNode.appendChild(d):a.parentNode.insertBefore(d,e);return d}function bg(){if(0!=P.F){var a=ud(S);null!=a&&(Qf(Cc,a),$g(Cc),Ec=null,Be(P,Cc.D))}} 178function Xe(){var a=S;if(null!=a&&(Mg(),a==S&&ih(),a!=S)){eh();var b=a.parentNode;b.removeChild(a);null===b.firstElementChild&&"trkseg"===b.nodeName&&b.parentNode.removeChild(b);Nb=!0;Jf()}}function hh(){return null==S?!0:null===ud(S)}function oh(a){null==S&&(a=eg(a,P,"rte",kc),ag(a))}function Mf(){if(null!==S){var a=S.parentNode;"trkseg"===a.nodeName&&(a=a.parentNode);return yf(a)}return""}function Jg(){var a=prompt("Route name:","untitled");null!==a&&(qf(),S=null,oh(a),Gc=!0,Jf(),cg())} 179function $g(a){De(a,P);Ec=a;E()}function af(){null!=S&&(Pc?of():(cg(),hh()?Lg():rg(),jc.innerHTML=yg("M6 19h4V5H6v14zm8-14v14h4V5h-4z")+"Pause",Pc=!0,id(Q,P),Dc.j=-999999,ih()))} 180async function Rg(){if(S){var a=prompt("Desired distance betwen points (feet):","100");if(a&&(a=Number(a),!(isNaN(a)||0>=a))){for(var b,d=new hd,e=null,f=0,g=od(S);null!=g;){var l=Number(g.getAttribute("lat")),k=Number(g.getAttribute("lon")),n=await xb(l,k);rd(d,l,k);d.j=n;if(null==e)f=0,e=new hd,b=eg(Mf()+" resampled",d,"rte",kc);else{var q=sd(d,e);f+=q;if(f>=a){for(f=a;q>f;){var p=f/q;f+=a;var r=wb(p,e.h,l);p=wb(p,e.i,k);var u=await xb(r,p);b=ph(b,r,p,u)}b=ph(b,l,k,n);f=0}}id(e,d);g=ud(g)}confirm("Load resampled route "+ 181yf(b.parentNode)+"?")&&(ag(b),Lg());Nb=!0}}else alert("First select route/track to resample")}function Og(){var a=S;if(null!=a&&confirm("Reverse route?")){a=a.parentNode;if("trkseg"==a.nodeName)for(a=a.parentNode,gg(a),a=a.firstElementChild;null!=a;a=a.nextElementSibling)"trkseg"==a.nodeName&&gg(a);else gg(a);Nb=!0;Jf()}}function Lg(){if(null!=S){of();Oc=0;var a=od(S);S=a;hg(a);bg();Gc&&E()}} 182function $f(a){for(;null!=a&&"rtept"!=a.nodeName&&"trkpt"!=a.nodeName;)a="trkseg"===a.nodeName?a.firstElementChild:a.nextElementSibling;return a}function od(a){a=a.parentNode;"trkseg"===a.nodeName&&(a=a.parentNode);return $f(a.firstElementChild)}function ud(a){$c=!1;var b=a.nextElementSibling;if(null==b){b=a.parentNode;if("trkseg"===b.nodeName)for(;;){b=b.nextElementSibling;if(null==b)break;if("trkseg"===b.nodeName)return $c=!0,$f(b.firstElementChild)}return null}return $f(b)} 183function gh(a){for(;;){var b=a.previousElementSibling;if(null==b){b=a.parentNode;if("trkseg"===b.nodeName&&(b=b.previousElementSibling,null!=b&&"trkseg"===b.nodeName))for(a=b.firstElementChild,b=null;null!=a;){if("rtept"==a.nodeName||"trkpt"===a.nodeName)b=a;a=a.nextElementSibling;if(null===a)return b}return null}if("rtept"===b.nodeName||"trkpt"==b.nodeName)return b;a=b}}function ag(a){S=a;Oc=0;Zb=[];E();Gc=!0;Jf()} 184function jh(){if(Pc)if(dd)if(Jb){var a=0;E()}else a=.003*M;else a=.005*ka*M,5>a&&(a=5);else a=1;for(var b;Ec&&0<a;){var d=sd(P,Ec);Pc||(1>d||d>10*M?a=d:a=.1*d);if(d>a){1E3<d&&De(Ec,P);d=a;var e=!1}else e=!0;a-=d;b=Ec.D;Fe(P,d,b);E();Oc+=Nc*d;Gc&&E();
184e&&(Pc?ih():Ec=null)}}function Mg(){if(null!=S){of();var a=gh(S);null!=a&&(S=a,id(Cc,P),Qf(Cc,a),$g(Cc),Nc=-1)}}function rg(){var a=Oc;for(Lg();Oc<a&&!hh();)ih(),Oc+=sd(P,Ec),id(P,Ec);0==P.F&&Be(P,0);Ec=null} 185function ih(){if(null!=S){var a=ud(S);null==a?dd?Jb=360:of():(S=a,id(Cc,P),Qf(Cc,a),$g(Cc),Nc=1)}}function We(){of();ih()}function of(){Pc=!1;Ec=null;jc.innerHTML=yg("M8 5v14l11-7z")+"Play";dd&&(x.clearColor(.5,.6,.5,0),dd.stop(),dd=null,Jb=0)} 186function qg(a,b){var d=b.indexOf("%2C");-1!=d&&(b=decodeURIComponent(b));if(Gf(b)){S=null;oh(a);a=P.h;var e=P.i;d=b.indexOf(",");-1!=d&&(d=b.indexOf(",",d+1));-1!=d&&(b=b.substring(d+1));if(-1!==d)for(;;){var f=parseInt(b,10);if(isNaN(f))break;for(d=2;d<b.length;d++){var g=b.charAt(d);if("+"==g||"-"==g)break}b=b.substring(d);var l=parseInt(b,10);if(isNaN(f))break;for(d=2;d<b.length&&(g=b.charAt(d),"+"!=g&&"-"!=g&&";"!=g);d++);if(d==b.length)break;b=b.substring(d);a+=f/1E5;e+=l/1E5;rd(P,a,e);dh(P)}Lg()}} 187function Qg(){if(null!=S&&confirm("Delete from here to end?")){for(var a=S.parentNode,b=S.nextSibling;null!=b;){var d=b.nextSibling;b.remove();b=d}if("trkseg"==a.nodeName)for(b=a.nextElementSibling,a=a.parentNode;null!=b;)d=b.nextElementSibling,a.removeChild(b),b=d;Nb=!0;Jf()}} 188function Pg(){if(null!=S&&confirm("Delete from start to here?")){for(var a=S.parentNode;a.firstChild!=S;)a.removeChild(a.firstChild);if("trkseg"==a.nodeName)for(var b=a.parentNode;b.firstElementChild!=a;)b.removeChild(b.firstElementChild);Nb=!0;Jf()}} 189function Sg(){var a="route="+encodeURIComponent(Mf())+"&camDist="+Math.round(M)+"&mapType="+T.l+"&tilt="+P.F,b=0;if(S){var d=S.parentNode.firstElementChild;d=$f(d);var e=Number(d.getAttribute("lat")),f=Number(d.getAttribute("lon"));b++;a=a+"&"+e.toFixed(8);a=a+","+f.toFixed(8);for(a+=",";;){d=$f(d.nextElementSibling);if(null===d)break;b++;var g=Number(d.getAttribute("lat")),l=Number(d.getAttribute("lon"));g=Math.round(1E5*(g-e));l=Math.round(1E5*(l-f));0<=g&&(a+="+");a+=g;0<=l&&(a+="+");a+=l;e+=g/ 1901E5;f+=l/1E5}}else a+="&"+P.h.toFixed(8)+","+P.i.toFixed(8);d=document.createElement("textarea");d.value=qb+"/map/index.html?"+(a+";");document.body.appendChild(d);d.select();try{document.execCommand("copy")?alert("Route link copied to clipboard"):alert("Could not copy to clipboard")}catch(k){alert("Could not copy to clipboard")}document.body.removeChild(d)}function eh(){Rc||=new Audio("snd/click.wav");Rc.play()} 191function yg(a){return'<svg width="24" height="24" viewBox="0 0 24 24"><path d="'+a+'" fill="white" opacity="0.75"/></svg> '}function qh(a){Uc=a.touches.length;0==Uc&&(Xc=0,Gc&&E())} 192function rh(a){a.preventDefault();Uc=a.touches.length;var b=a.touches[0],d=G*b.clientX;b=G*b.clientY;if(1===Uc)Ic&&b>=Ic.g?(U=d,V=b,Yg(d)):Xc||bh(d,b);else if(2===Uc){var e=a.touches[1];a=G*e.clientX;e=G*e.clientY;var f=U+a,g=V+e,l=.5*(g-Wc);a-=d;e-=b;d=Math.sqrt(a*a+e*e);Math.abs(l)>Math.abs(d-Xc)&&(Vc=f,Wc=g,Ie(-.25*l));gf(-(2*M*Lb/H*(d-Xc)*2));Be(P,Sc+Math.atan2(e,a)*t);E();Xc=d}} 193function sh(a){Uc=a.touches.length;var b=a.touches[0];U=G*b.clientX;V=G*b.clientY;if(1==Uc&&Ic&&V>=Ic.g)Yg(U);else if(2==Uc){b=a.touches[1];a=G*b.clientX;b=G*b.clientY;Vc=U+a;Wc=V+b;a-=U;b-=V;var d=Math.atan2(b,a)*t;Xc=Math.sqrt(a*a+b*b);Sc=P.D-d}}function Kg(){var a=lf();a=prompt("Track name:",a);a=eg(a,P,"trk",lc);ag(a)}function th(a){ld(Mf()+".webm",a.data)} 194async function Tg(){if(dd)of();else{x.clearColor(.6,.6,1,0);3840==H&&2160==J||mh(3840/G,2160/G);Lg();await new Promise(b=>setTimeout(b,2E3));af();bd=0;var a=bb.captureStream(0);dd=new window.MediaRecorder(a);dd.ondataavailable=th;dd.start();dd.pause();cd=!0}} 195function ug(){ea&&(fa||=new VRFrameData,ea.requestPresent([{source:bb}]).then(function(){x.clearColor(.6,.6,1,0);eb&&window.cancelAnimationFrame(eb);eb=!1;da=!0;var a=ea.getEyeParameters("left"),b=ea.getEyeParameters("right"),d=Math.max(a.renderWidth,b.renderWidth);a=Math.max(a.renderHeight,b.renderHeight);hb(2*d/G,a/G);nh(90,d,a)}))} 196function uh(a){var b=Number(a.getAttribute("lat"));var d=Number(a.getAttribute("lon"));var e=(e=pd(a,"ele"))?3.28084*Number(e.textContent):-999999;var f=new Float32Array(4);f[0]=1;f[1]=1;f[2]=.8;f[3]=.8;f=new re(f,.4);
196var g=yf(a);(!g||6>g.length)&&(a=Nf(a))&&(g=g+" "+a);f.ia=g;f.h=b;f.i=d;f.j=e;Ab.g.add(f)}function bf(){var a=wc&&900>xe(P,wc.h,wc.i)?wc.ia:lf();a=prompt("Waypoint name:",a);null!=a&&(a=eg(a,P,"wpt",mc),ad||vg.call(nc),uh(a))} 197function vg(){(ad=!ad)?(this.innerHTML="Hide all",O||=new Ca,Lf()):(this.innerHTML="Show all",Te());E()}function Lf(){for(var a=mc.previousElementSibling;void 0!==a.M||"m4"===a.className;)a.M&&uh(a.M),a=a.previousElementSibling}function Qe(a,b,d){a=1<<a;var e=Math.PI-2*Math.PI*(d+1)/a,f=t*Math.atan(.5*(Math.exp(e)-Math.exp(-e)));e=Math.PI-2*Math.PI*d/a;return f+","+(b/a*360-180)+","+t*Math.atan(.5*(Math.exp(e)-Math.exp(-e)))+","+((b+1)/a*360-180)} 198function xf(a){a=(new XMLSerializer).serializeToString(a);a=a.replace(/ xmlns=""/g,"");a=a.replace(/><wpt /g,">\n<wpt ");return a=a.replace(/pt></g,"pt>\n<")}function gf(a){M+=a;500>M?M=500:2.092564633E7<M&&(M=2.092564633E7);zb&&Fd()&&3E5<M&&(M=3E5);He()} 199window.onload=function(){if(Math.log2){qb="https://route3d.com";gb();x.clearColor(.5,.6,.5,0);$b=new za;qa=new za;ta=new za;P=new hd;Cc=new hd;Dc=new hd;Q=new hd;Fc=new hd;Uc=0;Ab=new Ue;Hc=0;E();Qc=new Pa;Na(Qc,"sky");rd(P,36.054,-112.138);P.F=45;P.W=la(P.F);Ib=1E3;T=new Yd;Zc=new Je;W(8);M=3937.008;Gg();nd();window.onresize=nd;window.onkeydown=function(b){Ve(b.key);E()};window.onkeyup=function(b){for(let d=0;d<Wb.length;d++)Wb[d]===b.key&&Wb.splice(d,1)};document.addEventListener("visibilitychange", 200function(){document.hidden&&fh()},!1);window.onbeforeunload=fh;window.oncontextmenu=mf;var a=bb;a.onmousedown=Xg;a.onmousemove=ah;a.onmouseup=ch;a.onmouseleave=ch;a.addEventListener("mousewheel",function(b){gf(.001*M*b.wheelDelta);E()},{passive:!0});a.addEventListener("touchstart",sh,{passive:!0});a.ontouchmove=rh;a.ontouchend=qh;ng()}else alert("Browser not supported")};var vh,wh;async function xh(a,b,d,e){a+=b+"/"+d+"/"+e+".pbf";var f=oc.get(a);f||(f=(async()=>{if(ba){var g=await ca.match(a);if(!g||!g.ok){try{g=await fetch(a,{cache:"no-store"})}catch(l){g=void 0}if(g&&g.ok)try{ca.put(a,g.clone())}catch(l){}else g=await fetch("img/blank.png")}}else{try{g=await fetch(a)}catch(l){g=void 0}g&&g.ok||(g=await fetch("img/blank.png"))}g=await g.arrayBuffer();return new yh(new Uint8Array(g),b,d,e)})(),oc.set(a,f));return f} 201async function Re(a,b,d,e,f){a.L=!1;Va++;var g=4096,l=0,k=0;let n=d-14;0<n&&(d-=n,k=(1<<n)-1,g>>=n,l=(e&k)*g,k=(f&k)*g,e>>=n,f>>=n);b=await xh(b,d,e,f);a.ca=512;a.$=512;Ma(a);b.J(l,k,g);a.ha&&(x.generateMipmap(x.TEXTURE_2D),x.texParameteri(x.TEXTURE_2D,x.TEXTURE_MIN_FILTER,x.LINEAR_MIPMAP_LINEAR));0!=a.ea&&Ya&&x.texParameterf(x.TEXTURE_2D,Ya.TEXTURE_MAX_ANISOTROPY_EXT,a.ea);a.L=!0;Va--;E()} 202async function Ze(){var a=16384/360*(P.i+180),b=P.h*h;b=(1-Math.log(Math.tan(b)+1/Math.cos(b))/Math.PI)/2*16384;var d=a%1*4096|0,e=b%1*4096|0;a|=0;b|=0;var f=await xh("https://tiles.openfreemap.org/planet/x/",14,a,b),g=void 0,l=void 0;a:for(var k of f.oa.ka)for(var n of k.features){if(2!=n.type)continue;const B=n.ga;for(var q of n.da)if(q!=vh){f=q.length;var p=q[0][0],r=q[0][1];for(let y=1;y<f;y++){var u=q[y][0],v=q[y][1];b:{var z=u-p;const C=v-r;if(0===z&&0===C){z=zh(d,e,p,r);break b}let A=((d-p)* 203z+(e-r)*C)/(z*z+C*C);0>A?A=0:1<A&&(A=1);z=zh(d,e,p+A*z,r+A*C)}if(64>z){if(q==vh)continue;l=q;if(g=B.name)break a}p=u;r=v}}}if(l){vh=l;g||="untitled";k=S;S=null;for(qf();Pf(g,"rte");)g+=".";q=l.length;for(n=0;n<q;n++){f=l[n];d=f[0];e=f[1];if(0>d||4096<d||0>e||4096<e){if(n==q-1)break;f=l[n+1];if(e=Ah(d,e,f[0],f[1]))d=e.Oa,e=e.Pa;else continue}e=180/Math.PI*Math.atan(Math.sinh(Math.PI-(b+e/4096)/16384*Math.PI*2));d=(a+d/4096)/16384*360-180;rd(P,e,d);P.j=await xb(e,d);S?dh(P):oh(g)}if(k)if(b=new hd,g= 204new hd,l=new hd,d=new hd,id(d,P),Lg(),id(l,P),e=S.parentNode,n=k.parentNode,a=od(k),Ae(b,a),k=k.parentNode.lastChild,Ae(g,k),2500>xe(g,l.h,l.i)){for(;null!=a;)k=ud(a),e.insertBefore(a,S),a=k;for(Kf(n);!hh();)S=ud(S)}else if(2500>xe(b,l.h,l.i)){for(;null!=a;)k=ud(a),e.prepend(a),a=k;Kf(n)}else if(2500>xe(g,d.h,d.i)){for(;null!=k;)a=gh(k),e.appendChild(k),k=a;Kf(n)}else if(2500>xe(b,d.h,d.i)){for(;null!=a;)k=ud(a),e.appendChild(a),a=k;Kf(n)}Gc=!0;Jf()}} 205function Ah(a,b,d,e){let f=0,g=1;d-=a;e-=b;const l=(k,n)=>{if(0===k)return 0<=n;n/=k;if(0>k){if(n>g)return!1;n>f&&(f=n)}else{if(n<f)return!1;n<g&&(g=n)}return!0};return l(-d,a-0)&&l(d,4096-a)&&l(-e,b-0)&&l(e,4096-b)?{Oa:a+f*d,Pa:b+f*e,Qa:a+g*d,Ra:b+g*e}:null}function zh(a,b,d,e){a=d-a;b=e-b;return a*a+b*b}class Bh{constructor(a,b,d,e,f,g){this.La=a;this.la=b;this.s=d;this.u=e;this.Ja=f;this.ua=g}} 206function Ch(a,b){const d={version:1,name:"",features:[],keys:[],values:[],Ia:4096};for(;a.A<b;){const e=Dh(a);1===e?d.name=Eh(a):2===e?d.features.push(Fh(a)):3===e?d.keys.push(Eh(a)):4===e?d.values.push(Gh(a)):5===e?d.Ia=Hh(a):15===e?d.version=Hh(a):Ih(a)}
206d.features.forEach(e=>{const f={};for(let g=0;g<e.ja.length;g+=2)f[d.keys[e.ja[g]]]=d.values[e.ja[g+1]];e.ga=f;delete e.ja});return d} 207function Jh(a){for(const p of a.oa.ka)for(const r of p.features){var b=r.type;if(1==b){b="hsl(52, 77%, 80%)";var d=r.ga;if("bus"!=d["class"]){var e=d.name_en||d.name;if(e){var f=r.da[0][0];d=Number(d.rank);isNaN(d)&&(d=100);a.g.push(new Bh(e,b,f[0],f[1],0,d))}else if(e=d.housenumber)for(var g of r.da)a.g.push(new Bh(e,b,g[0][0],g[0][1],0,100))}}else if(2==b){b=r.ga;e=b["class"];if("motorway"==e)(e=b.route_1_ref)?(b=b.route_1_network)&&b.startsWith("US:")&&(e=b.substring(3)+" "+e):e=b.name;else if("ferry"== 208e)continue;else e=b.name;if(e&&!e.endsWith("walk")){switch(p.name){case "waterway":b="hsl(194, 45%, 80%)";break;default:b="white"}for(const u of r.da){var l=u.length;if(2<=l){l--;for(var k=0,n=0,q=0;q<l;q++)f=u[q+1][0]-u[q][0],d=u[q+1][1]-u[q][1],f=f*f+d*d,f>k&&(k=f,n=q);l=u[n][0];k=u[n][1];f=u[n+1][0]-l;d=u[n+1][1]-k;n=Math.atan2(d,f);q=Math.PI/2;n>q?n-=2*q:n<-q&&(n+=2*q);a.g.push(new Bh(e,b,l+.5*f,k+.5*d,n,1))}else f=u[0][0],a.g.push(new Bh(e,b,f[0],f[1],0,1))}}}}a.g.sort((p,r)=>p.ua-r.ua)} 209function Fh(a){var b=Hh(a);b=a.A+b;const d={id:null,type:0,da:[],ja:[],ga:{}};for(;a.A<b;){var e=Dh(a);if(1===e)d.id=Hh(a);else if(2===e){e=a;var f=Hh(e);f=e.A+f;for(var g=[];e.A<f;)g.push(Hh(e));d.ja=g}else if(3===e)d.type=Hh(a);else if(4===e){f=a;e=Hh(f);g=f.A+e;for(e=[];f.A<g;)e.push(Hh(f));f=[];g=null;let l=0,k=0,n=0;for(;n<e.length;){const q=e[n]&7,p=e[n]>>3;n++;for(let r=0;r<p;r++)1===q?(g&&g.length&&f.push(g),g=[],l+=e[n]>>1^-(e[n]&1),n++,k+=e[n]>>1^-(e[n]&1),n++,g.push([l,k])):2===q?(l+=e[n]>> 2101^-(e[n]&1),n++,k+=e[n]>>1^-(e[n]&1),n++,g.push([l,k])):7===q&&g&&0<g.length&&g.push(g[0])}g&&g.length&&f.push(g);d.da=f}else Ih(a)}return d}function Gh(a){var b=Hh(a);b=a.A+b;for(var d=null;a.A<b;){var e=Dh(a);1===e?d=Eh(a):2===e?(d=a,e=new DataView(d.g.buffer,d.g.byteOffset+d.A,4),d.A+=4,d=e.getFloat32(0,!0)):3===e?(d=a,e=new DataView(d.g.buffer,d.g.byteOffset+d.A,8),d.A+=8,d=e.getFloat64(0,!0)):4===e?d=Hh(a):5===e?d=Hh(a):6===e?(d=Hh(a),d=d>>>1^-(d&1)):7===e?d=0!==Hh(a):Ih(a)}return d} 211class yh{constructor(a,b,d,e){this.l=null;this.o=this.R=this.I=this.v=0;this.G=b;this.B=d;this.C=e;a=new Kh(a);for(this.oa={ka:[]};a.A<a.length;)3===Dh(a)?(b=Hh(a),b=Ch(a,a.A+b),this.oa.ka.push(b)):Ih(a);this.g=[];Jh(this)}J(a,b,d){this.l=new Uint32Array(32);this.I=a;this.R=b;this.o=d;wh=void 0;var e=document.createElement("canvas");e.width=512;e.height=512;var f=e.getContext("2d"),g=d/512;this.v=12*G*g;f.font=""+this.v+"px sans-serif";f.lineWidth=8*g;f.fillStyle="rgb(128,153,128)";f.fillRect(0,0, 212512,512);d=512/d;f.scale(d,d);f.translate(-a,-b);for(var l of this.oa.ka)for(var k of l.features)if(3==k.type){a=k.ga["class"];switch(l.name){case "building":a="hsl(26, 17%, 50%)";break;case "landcover":if("wood"===a)a="hsl(120, 50%, 40%)";else continue;break;case "water":a="hsl(194, 45%, 50%)";break;default:continue}f.fillStyle=a;for(var n of k.da)if(!(3>n.length)){f.beginPath();f.moveTo(n[0][0],n[0][1]);for(a=1;a<n.length;a++)f.lineTo(n[a][0],n[a][1]);f.closePath();f.fill()}}f.textAlign="center"; 213f.textBaseline="middle";for(var q of this.oa.ka){k=q.name;for(var p of q.features)if(2==p.type){a=p.ga;n="white";l="grey";f.lineWidth=2*g;f.setLineDash([]);switch(k){case "boundary":b=a.admin_level|0;4<b||a.maritime?l=void 0:l=2>=b?"hsl(0, 0%, 30%)":"hsl(0, 0%, 40%)";break;case "mountain_peak":case "water_name":l=void 0;break;case "aeroway":case "transportation":switch(a["class"]){case "ferry":l=void 0;break;case "path":l="white";f.lineWidth=2*g;f.setLineDash([5*g,5*g]);break;case "rail":f.lineWidth= 214g;f.setLineDash([5*g,5*g]);l="black";break;default:14==this.G&&(f.lineWidth=8*g)}break;case "transportation_name":l=void 0;break;case "waterway":l="hsl(194, 45%, 50%)",n="hsl(194, 45%, 80%)",14==this.G&&(f.lineWidth=8*g),1==p.ga.intermittent&&f.setLineDash([40*g,10*g])}f.strokeStyle=l;f.fillStyle=n;for(var r of p.da)if(n=r.length,l&&2<=n){wh&&(wh=void 0,f.shadowColor="transparent",f.shadowOffsetX=0,f.shadowOffsetY=0,f.shadowBlur=0);f.beginPath();f.moveTo(r[0][0],r[0][1]);for(a=1;a<n;a++)f.lineTo(r[a][0], 215r[a][1]);f.stroke()}}}g=-P.D*h;q=128>=this.o?99999:14==this.G?2:1;for(var u of this.g){if(u.ua>q)break;a=u.Ja;if(0==a)a=g;else if(p=Math.PI/2,g>p||g<-p)a+=Math.PI;a:{p=f;r=u.La;l=u.la;k=u.s;n=u.u;b=a;d=.5*this.v;0!=b?(a=d*Math.cos(b),d*=Math.sin(b)):(a=d,d=0);var v=r.length,z=.5*v,B=k-z*a;z=n-z*d;const A=12/this.o;for(var y=-1,C=-1;0!=v;){if(0>B||0>z||4096<=B||4096<=z)break a;const D=((z-this.R)*A|0)+10;if(0<=D&&32>D){const F=((B-this.I)*A|0)+10;if(F!=y||D!=C)if(0<=F&&32>F){if(0!=(this.l[D]&1<<F))break a; 216y=F;C=D;this.l[D]|=1<<F}else break a}else break a;B+=a;z+=d;v--}void 0===wh&&(wh=!0,p.shadowColor="black",p.shadowOffsetX=2,p.shadowOffsetY=2,p.shadowBlur=4);p.fillStyle=l;0!=b?(p.save(),p.translate(k,n),p.rotate(b),p.fillText(r,0,0),p.restore(
216)):p.fillText(r,k,n)}}x.texImage2D(x.TEXTURE_2D,0,x.RGBA,x.RGBA,x.UNSIGNED_BYTE,e);this.l=void 0}}function Dh(a){const b=Hh(a);a.type=b&7;return b>>3} 217function Hh(a){const b=a.g;let d,e=0;var f=0;do d=b[a.A++],e|=(d&127)<<f,f+=7;while(128<=d&&32>f);if(32<=f)for(a.A-=5,f=0;10>f&&(d=b[a.A++],5>f&&(e|=(d&127)<<7*f),d&128);f++);return e>>>0}function Ih(a){switch(a.type){case 0:Hh(a);break;case 1:a.A+=8;break;case 2:a.A+=Hh(a);break;case 5:a.A+=4;break;default:throw Error("Unknown wire type: "+a.type);}}function Eh(a){const b=Hh(a),d=(new TextDecoder).decode(a.g.subarray(a.A,a.A+b));a.A+=b;return d} 218class Kh{constructor(a){this.g=a instanceof Uint8Array?a:new Uint8Array(a);this.type=this.A=0;this.length=this.g.length}};})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.