text: (function(b,a){typeof exports==="object"&&typeof module!=="undefined"?module.exports=a(require("wkt-parser")):typeof define==="function"&&define.amd?define(["wkt-parser"],a):(b.proj4=a(b.wkt))}(this,(function(bA){bA=bA&&bA.hasOwnProperty("default")?bA["default"]:bA;var o=function(A){A("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees");A("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees");A("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");A("EPSG:2448","+title=JGD6 +proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs");A.WGS84=A["EPSG:4326"];A["EPSG:3785"]=A["EPSG:3857"];A.GOOGLE=A["EPSG:3857"];A["EPSG:900913"]=A["EPSG:3857"];A["EPSG:102113"]=A["EPSG:3857"]};var Q=1;var b8=2;var di=4;var cu=5;var b1=0.00000484813681109536;var ax=Math.PI/2;var P=0.16666666666666666;var b9=0.04722222222222222;var b5=0.022156084656084655;var c3=1e-10;var cG=0.017453292519943295;var ap=57.29577951308232;var n=Math.PI/4;var b7=Math.PI*2;var cJ=3.14159265359;var aE={};aE.greenwich=0;aE.lisbon=-9.131906111111;aE.paris=2.337229166667;aE.bogota=-74.080916666667;aE.madrid=-3.687938888889;aE.rome=12.452333333333;aE.bern=7.439583333333;aE.jakarta=106.807719444444;aE.ferro=-17.666666666667;aE.brussels=4.367975;aE.stockholm=18.058277777778;aE.athens=23.7163375;aE.oslo=10.722916666667;var b={ft:{to_meter:0.3048},"us-ft":{to_meter:1200/3937}};var ba=/[\s_\-\/\(\)]/g;function bz(et,V){if(et[V]){return et[V]}var Z=Object.keys(et);var eu=V.toLowerCase().replace(ba,"");var O=-1;var I,A;while(++O<Z.length){I=Z[O];A=I.toLowerCase().replace(ba,"");if(A===eu){return et[I]}}}var b6=function(Z){var A={};var O=Z.split("+").map(function(ev){return ev.trim()}).filter(function(ev){return ev}).reduce(function(ex,ev){var ew=ev.split("=");ew.push(true);ex[ew[0].toLowerCase()]=ew[1];return ex},{});var et,V,I;var eu={proj:"projName",datum:"datumCode",rf:function(ev){A.rf=parseFloat(ev)},lat_0:function(ev){A.lat0=ev*cG},lat_1:function(ev){A.lat1=ev*cG},lat_2:function(ev){A.lat2=ev*cG},lat_ts:function(ev){A.lat_ts=ev*cG},lon_0:function(ev){A.long0=ev*cG},lon_1:function(ev){A.long1=ev*cG},lon_2:function(ev){A.long2=ev*cG},alpha:function(ev){A.alpha=parseFloat(ev)*cG},lonc:function(ev){A.longc=ev*cG},x_0:function(ev){A.x0=parseFloat(ev)},y_0:function(ev){A.y0=parseFloat(ev)},k_0:function(ev){A.k0=parseFloat(ev)},k:function(ev){A.k0=parseFloat(ev)},a:function(ev){A.a=parseFloat(ev)},b:function(ev){A.b=parseFloat(ev)},r_a:function(){A.R_A=true},zone:function(ev){A.zone=parseInt(ev,10)},south:function(){A.utmSouth=true},towgs84:function(ev){A.datum_params=ev.split(",").map(function(ew){return parseFloat(ew)})},to_meter:function(ev){A.to_meter=parseFloat(ev)},units:function(ev){A.units=ev;var ew=bz(b,ev);if(ew){A.to_meter=ew.to_meter}},from_greenwich:function(ev){A.from_greenwich=ev*cG},pm:function(ev){var ew=bz(aE,ev);A.from_greenwich=(ew?ew:parseFloat(ev))*cG},nadgrids:function(ev){if(ev==="@null"){A.datumCode="none"}else{A.nadgrids=ev}},axis:function(ev){var ew="ewnsud";if(ev.length===3&&ew.indexOf(ev.substr(0,1))!==-1&&ew.indexOf(ev.substr(1,1))!==-1&&ew.indexOf(ev.substr(2,1))!==-1){A.axis=ev}}};for(et in O){V=O[et];if(et in eu){I=eu[et];if(typeof I==="function"){I(V)}else{A[I]=V}}else{A[et]=V}}if(typeof A.datumCode==="string"&&A.datumCode!=="WGS84"){A.datumCode=A.datumCode.toLowerCase()}return A};function u(A){var I=this;if(arguments.length===2){var O=arguments[1];if(typeof O==="string"){if(O.charAt(0)==="+"){u[A]=b6(arguments[1])}else{u[A]=bA(arguments[1])}}else{u[A]=O}}else{if(arguments.length===1){if(Array.isArray(A)){return A.map(function(V){if(Array.isArray(V)){u.apply(I,V)}else{u(V)}})}else{if(typeof A==="string"){if(A in u){return u[A]}}else{if("EPSG" in A){u["EPSG:"+A.EPSG]=A}else{if("ESRI" in A){u["ESRI:"+A.ESRI]=A}else{if("IAU2000" in A){u["IAU2000:"+A.IAU2000]=A}else{console.log(A)}}}}}return}}}o(u);function dh(A){return typeof A==="string"}function bY(A){return A in u}var df=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function c4(A){return df.some(function(I){return A.indexOf(I)>-1})}var bg=["3857","900913","3785","102113"];function a(O){var I=bz(O,"authority");if(!I){return}var A=bz(I,"epsg");return A&&bg.indexOf(A)>-1}function eq(I){var A=bz(I,"extension");if(!A){return}return bz(A,"proj4")}function bo(A){return A[0]==="+"}function r(O){if(dh(O)){if(bY(O)){return u[O]}if(c4(O)){var I=bA(O);if(a(I)){return u["EPSG:3857"]}var A=eq(I);if(A){return b6(A)}return I}if(bo(O)){return b6(O)}}else{return O}}var er=function(A,V){A=A||{};var O,I;if(!V){return A}for(I in V){O=V[I];if(O!==undefined){A[I]=O}}return A};var bp=function(O,I,V){var A=O*I;return V/(Math.sqrt(1-A*A))};var bC=function(A){return A<0?-1:1};var c6=function(A){return(Math.abs(A)<=cJ)?A:(A-(bC(A)*b7))};var dj=function(Z,V,O){var A=Z*O;var I=0.5*Z;A=Math.pow(((1-A)/(1+A)),I);return(Math.tan(0.5*(ax-V))/A)};var p=function(eu,et){var Z=0.5*eu;var A,I;var V=ax-2*Math.atan(et);for(var O=0;O<=15;O++){A=eu*Math.sin(V);I=ax-2*Math.atan(et*(Math.pow(((1-A)/(1+A)),Z)))-V;V+=I;if(Math.abs(I)<=1e-10){return V}}return -9999};function bS(){var A=this.b/this.a;this.es=1-A*A;if(!("x0" in this)){this.x0=0}if(!("y0" in this)){this.y0=0}this.e=Math.sqrt(this.es);if(this.lat_ts){if(this.sphere){this.k0=Math.cos(this.lat_ts)}else{this.k0=bp(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}else{if(!this.k0){if(this.k){this.k0=this.k}else{this.k0=1}}}}function cx(Z){var et=Z.x;var V=Z.y;if(V*ap>90&&V*ap<-90&&et*ap>180&&et*ap<-180){return null}var A,eu;if(Math.abs(Math.abs(V)-ax)<=c3){return null}else{if(this.sphere){A=this.x0+this.a*this.k0*c6(et-this.long0);eu=this.y0+this.a*this.k0*Math.log(Math.tan(n+0.5*V))}else{var O=Math.sin(V);var I=dj(this.e,V,O);A=this.x0+this.a*this.k0*c6(et-this.long0);eu=this.y0-this.a*this.k0*Math.log(I)}Z.x=A;Z.y=eu;return Z}}function bw(V){var A=V.x-this.x0;var et=V.y-this.y0;var Z,O;if(this.sphere){O=ax-2*Math.atan(Math.exp(-et/(this.a*this.k0)))}else{var I=Math.exp(-et/(this.a*this.k0));O=p(this.e,I);if(O===-9999){return null}}Z=c6(this.long0+A/(this.a*this.k0));V.x=Z;V.y=O;return V}var bN=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"];var m={init:bS,forward:cx,inverse:bw,names:bN};function cr(){}function a0(A){return A}var bM=["longlat","identity"];var cS={init:cr,forward:a0,inverse:a0,names:bM};var dw=[m,cS];var e={};var bk=[];function bh(O,I){var A=bk.length;if(!O.names){console.log(I);return true}bk[A]=O;O.names.forEach(function(V){e[V.toLowerCase()]=A});return this}function cM(A){if(!A){return false}var I=A.toLowerCase();if(typeof e[I]!=="undefined"&&bk[e[I]]){return bk[e[I]]}}function aH(){dw.forEach(bh)}var dd={start:aH,add:bh,get:cM};var aD={};aD.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};aD.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};aD.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};aD.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};aD.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"};aD.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};aD.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};aD.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"};aD.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};aD.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};aD.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};aD.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"};aD.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};aD.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"};aD.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."};aD.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"};aD.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};aD.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};aD.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"};aD.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"};aD.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"};aD.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"};aD.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"};aD.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};aD.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};aD.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};aD.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};aD.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};aD.hough={a:6378270,rf:297,ellipseName:"Hough"};aD.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};aD.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};aD.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};aD.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};aD.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"};aD.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};aD.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};aD.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"};aD.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"};aD.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};aD.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};aD.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var eh=aD.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};aD.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function ce(Z,V,ev,ew){var A=Z*Z;var O=V*V;var eu=(A-O)/A;var I=0;if(ew){Z*=1-eu*(P+eu*(b9+eu*b5));A=Z*Z;eu=0}else{I=Math.sqrt(eu)}var et=(A-O)/O;return{es:eu,e:I,ep2:et}}function bQ(I,A,Z,V,O){if(!I){var et=bz(aD,V);if(!et){et=eh}I=et.a;A=et.b;Z=et.rf}if(Z&&!A){A=(1-1/Z)*I}if(Z===0||Math.abs(I-A)<c3){O=true;A=I}return{a:I,b:A,rf:Z,sphere:O}}var aC={};aC.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};aC.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};aC.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};aC.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};aC.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};aC.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};aC.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};aC.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};aC.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};aC.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};aC.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};aC.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};aC.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};aC.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};aC.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};aC.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};aC.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function bi(Z,et,O,I,eu,A){var V={};if(Z===undefined||Z==="none"){V.datum_type=cu}else{V.datum_type=di}if(et){V.datum_params=et.map(parseFloat);if(V.datum_params[0]!==0||V.datum_params[1]!==0||V.datum_params[2]!==0){V.datum_type=Q}if(V.datum_params.length>3){if(V.datum_params[3]!==0||V.datum_params[4]!==0||V.datum_params[5]!==0||V.datum_params[6]!==0){V.datum_type=b8;V.datum_params[3]*=b1;V.datum_params[4]*=b1;V.datum_params[5]*=b1;V.datum_params[6]=(V.datum_params[6]/1000000)+1}}}V.a=O;V.b=I;V.es=eu;V.ep2=A;return V}function bf(et,ev){if(!(this instanceof bf)){return new bf(et)}ev=ev||function(ew){if(ew){throw ew}};var O=r(et);if(typeof O!=="object"){ev(et);return}var Z=bf.projections.get(O.projName);if(!Z){ev(et);return}if(O.datumCode&&O.datumCode!=="none"){var V=bz(aC,O.datumCode);if(V){O.datum_params=V.towgs84?V.towgs84.split(","):null;O.ellps=V.ellipse;O.datumName=V.datumName?V.datumName:O.datumCode}}O.k0=O.k0||1;O.axis=O.axis||"enu";O.ellps=O.ellps||"wgs84";var A=bQ(O.a,O.b,O.rf,O.ellps,O.sphere);var I=ce(A.a,A.b,A.rf,O.R_A);var eu=O.datum||bi(O.datumCode,O.datum_params,A.a,A.b,I.es,I.ep2);er(this,O);er(this,Z);this.a=A.a;this.b=A.b;this.rf=A.rf;this.sphere=A.sphere;this.es=I.es;this.e=I.e;this.ep2=I.ep2;this.datum=eu;this.init();ev(null,this)}bf.projections=dd;bf.projections.start();"use strict";function d3(I,A){if(I.datum_type!==A.datum_type){return false}else{if(I.a!==A.a||Math.abs(I.es-A.es)>5e-11){return false}else{if(I.datum_type===Q){return(I.datum_params[0]===A.datum_params[0]&&I.datum_params[1]===A.datum_params[1]&&I.datum_params[2]===A.datum_params[2])}else{if(I.datum_type===b8){return(I.datum_params[0]===A.datum_params[0]&&I.datum_params[1]===A.datum_params[1]&&I.datum_params[2]===A.datum_params[2]&&I.datum_params[3]===A.datum_params[3]&&I.datum_params[4]===A.datum_params[4]&&I.datum_params[5]===A.datum_params[5]&&I.datum_params[6]===A.datum_params[6])}else{return true}}}}}function q(A,ew,ev){var ex=A.x;var Z=A.y;var I=A.z?A.z:0;var eu;var et;var V;var O;if(Z<-ax&&Z>-1.001*ax){Z=-ax}else{if(Z>ax&&Z<1.001*ax){Z=ax}else{if(Z<-ax){return{x:-Infinity,y:-Infinity,z:A.z}}else{if(Z>ax){return{x:Infinity,y:Infinity,z:A.z}}}}}if(ex>Math.PI){ex-=(2*Math.PI)}et=Math.sin(Z);O=Math.cos(Z);V=et*et;eu=ev/(Math.sqrt(1-ew*V));return{x:(eu+I)*O*Math.cos(ex),y:(eu+I)*O*Math.sin(ex),z:((eu*(1-ew))+I)*et}}function D(eG,eM,eN,eK){var eO=1e-12;var eH=(eO*eO);var et=30;var ez;var ev;var A;var eB;var I;var eA;var ey;var eL;var eJ;var ex;var eE;var eD;var eI;var eu=eG.x;var V=eG.y;var O=eG.z?eG.z:0;var ew;var eF;var eC;ez=Math.sqrt(eu*eu+V*V);ev=Math.sqrt(eu*eu+V*V+O*O);if(ez/eN<eO){ew=0;if(ev/eN<eO){eF=ax;eC=-eK;return{x:eG.x,y:eG.y,z:eG.z}}}else{ew=Math.atan2(V,eu)}A=O/ev;eB=ez/ev;I=1/Math.sqrt(1-eM*(2-eM)*eB*eB);eL=eB*(1-eM)*I;eJ=A*I;eI=0;do{eI++;ey=eN/Math.sqrt(1-eM*eJ*eJ);eC=ez*eL+O*eJ-ey*(1-eM*eJ*eJ);eA=eM*ey/(ey+eC);I=1/Math.sqrt(1-eA*(2-eA)*eB*eB);ex=eB*(1-eA)*I;eE=A*I;eD=eE*eL-ex*eJ;eL=ex;eJ=eE}while(eD*eD>eH&&eI<et);eF=Math.atan(eE/Math.abs(ex));return{x:ew,y:eF,z:eC}}function aB(A,et,ev){if(et===Q){return{x:A.x+ev[0],y:A.y+ev[1],z:A.z+ev[2]}}else{if(et===b8){var V=ev[0];var I=ev[1];var ew=ev[2];var O=ev[3];var ex=ev[4];var eu=ev[5];var Z=ev[6];return{x:Z*(A.x-eu*A.y+ex*A.z)+V,y:Z*(eu*A.x+A.y-O*A.z)+I,z:Z*(-ex*A.x+O*A.y+A.z)+ew}}}}function a5(O,ew,ey){if(ew===Q){return{x:O.x-ey[0],y:O.y-ey[1],z:O.z-ey[2]}}else{if(ew===b8){var eu=ey[0];var V=ey[1];var ez=ey[2];var et=ey[3];var eA=ey[4];var ex=ey[5];var ev=ey[6];var Z=(O.x-eu)/ev;var I=(O.y-V)/ev;var A=(O.z-ez)/ev;return{x:Z+ex*I-eA*A,y:-ex*Z+I+et*A,z:eA*Z-et*I+A}}}}function b2(A){return(A===Q||A===b8)}var a4=function(O,I,A){if(d3(O,I)){return A}if(O.datum_type===cu||I.datum_type===cu){return A}if(O.es===I.es&&O.a===I.a&&!b2(O.datum_type)&&!b2(I.datum_type)){return A}A=q(A,O.es,O.a);if(b2(O.datum_type)){A=aB(A,O.datum_type,O.datum_params)}if(b2(I.datum_type)){A=a5(A,I.datum_type,I.datum_params)}return D(A,I.es,I.a,I.b)};var a9=function(et,ev,Z){var V=Z.x,ex=Z.y,A=Z.z||0;var eu,ew,O;var I={};for(O=0;O<3;O++){if(ev&&O===2&&Z.z===undefined){continue}if(O===0){eu=V;if("ew".indexOf(et.axis[O])!==-1){ew="x"}else{ew="y"}}else{if(O===1){eu=ex;if("ns".indexOf(et.axis[O])!==-1){ew="y"}else{ew="x"}}else{eu=A;ew="z"}}switch(et.axis[O]){case"e":case"w":case"n":case"s":I[ew]=eu;break;case"u":if(Z[ew]!==undefined){I.z=eu}break;case"d":if(Z[ew]!==undefined){I.z=-eu}break;default:return null}}return I};var ep=function(I){var A={x:I[0],y:I[1]};if(I.length>2){A.z=I[2]}if(I.length>3){A.m=I[3]}return A};var aw=function(A){bU(A.x);bU(A.y)};function bU(A){if(typeof Number.isFinite==="function"){if(Number.isFinite(A)){return}throw new TypeError("coordinates must be finite numbers")}if(typeof A!=="number"||A!==A||!isFinite(A)){throw new TypeError("coordinates must be finite numbers")}}function bd(I,A){return((I.datum.datum_type===Q||I.datum.datum_type===b8)&&A.datumCode!=="WGS84")||((A.datum.datum_type===Q||A.datum.datum_type===b8)&&I.datumCode!=="WGS84")}function at(V,I,A){var O;if(Array.isArray(A)){A=ep(A)}aw(A);if(V.datum&&I.datum&&bd(V,I)){O=new bf("WGS84");A=at(V,O,A);V=O}if(V.axis!=="enu"){A=a9(V,false,A)}if(V.projName==="longlat"){A={x:A.x*cG,y:A.y*cG,z:A.z||0}}else{if(V.to_meter){A={x:A.x*V.to_meter,y:A.y*V.to_meter,z:A.z||0}}A=V.inverse(A);if(!A){return}}if(V.from_greenwich){A.x+=V.from_greenwich}A=a4(V.datum,I.datum,A);if(I.from_greenwich){A={x:A.x-I.from_greenwich,y:A.y,z:A.z||0}}if(I.projName==="longlat"){A={x:A.x*ap,y:A.y*ap,z:A.z||0}}else{A=I.forward(A);if(I.to_meter){A={x:A.x/I.to_meter,y:A.y/I.to_meter,z:A.z||0}}}if(I.axis!=="enu"){return a9(I,true,A)}return A}var cR=bf("WGS84");function de(et,Z,V){var A,I,O;if(Array.isArray(V)){A=at(et,Z,V)||{x:NaN,y:NaN};if(V.length>2){if((typeof et.name!=="undefined"&&et.name==="geocent")||(typeof Z.name!=="undefined"&&Z.name==="geocent")){if(typeof A.z==="number"){return[A.x,A.y,A.z].concat(V.splice(3))}else{return[A.x,A.y,V[2]].concat(V.splice(3))}}else{return[A.x,A.y].concat(V.splice(2))}}else{return[A.x,A.y]}}else{I=at(et,Z,V);O=Object.keys(V);if(O.length===2){return I}O.forEach(function(eu){if((typeof et.name!=="undefined"&&et.name==="geocent")||(typeof Z.name!=="undefined"&&Z.name==="geocent")){if(eu==="x"||eu==="y"||eu==="z"){return}}else{if(eu==="x"||eu==="y"){return}}I[eu]=V[eu]});return I}}function f(A){if(A instanceof bf){return A}if(A.oProj){return A.oProj}return bf(A)}function N(I,A,Z){I=f(I);var V=false;var O;if(typeof A==="undefined"){A=I;I=cR;V=true}else{if(typeof A.x!=="undefined"||Array.isArray(A)){Z=A;A=I;I=cR;V=true}}A=f(A);if(Z){return de(I,A,Z)}else{O={forward:function(et){return de(I,A,et)},inverse:function(et){return de(A,I,et)}};if(V){O.oProj=A}return O}}var R=6;var cs="AJSAJS";var ca="AFAFAF";var dQ=65;var dN=73;var dF=79;var dB=86;var dt=90;var b0={forward:cI,inverse:aq,toPoint:d4};function cI(I,A){A=A||5;return dg(cL({lat:I[1],lon:I[0]}),A)}function aq(A){var I=bs(ch(A.toUpperCase()));if(I.lat&&I.lon){return[I.lon,I.lat,I.lon,I.lat]}return[I.left,I.bottom,I.right,I.top]}function d4(A){var I=bs(ch(A.toUpperCase()));if(I.lat&&I.lon){return[I.lon,I.lat]}return[(I.left+I.right)/2,(I.top+I.bottom)/2]}function en(A){return(A*(Math.PI/180))}function ei(A){return(180*(A/Math.PI))}function cL(ew){var ez=ew.lat;var eH=ew.lon;var eF=6378137;var eE=0.00669438;var ev=0.9996;var eC;var V;var et,Z,ey,eA,eu;var ex=en(ez);var eD=en(eH);var eG;var eB;eB=Math.floor((eH+180)/6)+1;if(eH===180){eB=60}if(ez>=56&&ez<64&&eH>=3&&eH<12){eB=32}if(ez>=72&&ez<84){if(eH>=0&&eH<9){eB=31}else{if(eH>=9&&eH<21){eB=33}else{if(eH>=21&&eH<33){eB=35}else{if(eH>=33&&eH<42){eB=37}}}}}eC=(eB-1)*6-180+3;eG=en(eC);V=(eE)/(1-eE);et=eF/Math.sqrt(1-eE*Math.sin(ex)*Math.sin(ex));Z=Math.tan(ex)*Math.tan(ex);ey=V*Math.cos(ex)*Math.cos(ex);eA=Math.cos(ex)*(eD-eG);eu=eF*((1-eE/4-3*eE*eE/64-5*eE*eE*eE/256)*ex-(3*eE/8+3*eE*eE/32+45*eE*eE*eE/1024)*Math.sin(2*ex)+(15*eE*eE/256+45*eE*eE*eE/1024)*Math.sin(4*ex)-(35*eE*eE*eE/3072)*Math.sin(6*ex));var O=(ev*et*(eA+(1-Z+ey)*eA*eA*eA/6+(5-18*Z+Z*Z+72*ey-58*V)*eA*eA*eA*eA*eA/120)+500000);var I=(ev*(eu+et*Math.tan(ex)*(eA*eA/2+(5-Z+9*ey+4*ey*ey)*eA*eA*eA*eA/24+(61-58*Z+Z*Z+600*ey-330*V)*eA*eA*eA*eA*eA*eA/720)));if(ez<0){I+=10000000}return{northing:Math.round(I),easting:Math.round(O),zoneNumber:eB,zoneLetter:c1(ez)}}function bs(eL){var A=eL.northing;var O=eL.easting;var I=eL.zoneLetter;var et=eL.zoneNumber;if(et<0||et>60){return null}var ex=0.9996;var eM=6378137;var eJ=0.00669438;var V;var ev=(1-Math.sqrt(1-eJ))/(1+Math.sqrt(1-eJ));var eB,eC,eH,eK,eD,ew;var eG;var eE,eI;var ez=O-500000;var ey=A;if(I<"N"){ey-=10000000}eG=(et-1)*6-180+3;V=(eJ)/(1-eJ);ew=ey/ex;eE=ew/(eM*(1-eJ/4-3*eJ*eJ/64-5*eJ*eJ*eJ/256));eI=eE+(3*ev/2-27*ev*ev*ev/32)*Math.sin(2*eE)+(21*ev*ev/16-55*ev*ev*ev*ev/32)*Math.sin(4*eE)+(151*ev*ev*ev/96)*Math.sin(6*eE);eB=eM/Math.sqrt(1-eJ*Math.sin(eI)*Math.sin(eI));eC=Math.tan(eI)*Math.tan(eI);eH=V*Math.cos(eI)*Math.cos(eI);eK=eM*(1-eJ)/Math.pow(1-eJ*Math.sin(eI)*Math.sin(eI),1.5);eD=ez/(eB*ex);var eu=eI-(eB*Math.tan(eI)/eK)*(eD*eD/2-(5+3*eC+10*eH-4*eH*eH-9*V)*eD*eD*eD*eD/24+(61+90*eC+298*eH+45*eC*eC-252*V-3*eH*eH)*eD*eD*eD*eD*eD*eD/720);eu=ei(eu);var Z=(eD-(1+2*eC+eH)*eD*eD*eD/6+(5-2*eH+28*eC-3*eH*eH+8*V+24*eC*eC)*eD*eD*eD*eD*eD/120)/Math.cos(eI);Z=eG+ei(Z);var eA;if(eL.accuracy){var eF=bs({northing:eL.northing+eL.accuracy,easting:eL.easting+eL.accuracy,zoneLetter:eL.zoneLetter,zoneNumber:eL.zoneNumber});eA={top:eF.lat,right:eF.lon,bottom:eu,left:Z}}else{eA={lat:eu,lon:Z}}return eA}function c1(A){var I="Z";if((84>=A)&&(A>=72)){I="X"}else{if((72>A)&&(A>=64)){I="W"}else{if((64>A)&&(A>=56)){I="V"}else{if((56>A)&&(A>=48)){I="U"}else{if((48>A)&&(A>=40)){I="T"}else{if((40>A)&&(A>=32)){I="S"}else{if((32>A)&&(A>=24)){I="R"}else{if((24>A)&&(A>=16)){I="Q"}else{if((16>A)&&(A>=8)){I="P"}else{if((8>A)&&(A>=0)){I="N"}else{if((0>A)&&(A>=-8)){I="M"}else{if((-8>A)&&(A>=-16)){I="L"}else{if((-16>A)&&(A>=-24)){I="K"}else{if((-24>A)&&(A>=-32)){I="J"}else{if((-32>A)&&(A>=-40)){I="H"}else{if((-40>A)&&(A>=-48)){I="G"}else{if((-48>A)&&(A>=-56)){I="F"}else{if((-56>A)&&(A>=-64)){I="E"}else{if((-64>A)&&(A>=-72)){I="D"}else{if((-72>A)&&(A>=-80)){I="C"}}}}}}}}}}}}}}}}}}}}return I}function dg(A,O){var V="00000"+A.easting,I="00000"+A.northing;return A.zoneNumber+A.zoneLetter+c8(A.easting,A.northing,A.zoneNumber)+V.substr(V.length-5,O)+I.substr(I.length-5,O)}function c8(et,Z,V){var A=br(V);var I=Math.floor(et/100000);var O=Math.floor(Z/100000)%20;return dk(I,O,A)}function br(I){var A=I%R;if(A===0){A=R}return A}function dk(O,ex,V){var et=V-1;var Z=cs.charCodeAt(et);var ev=ca.charCodeAt(et);var A=Z+O-1;var eu=ev+ex;var ew=false;if(A>dt){A=A-dt+dQ-1;ew=true}if(A===dN||(Z<dN&&A>dN)||((A>dN||Z<dN)&&ew)){A++}if(A===dF||(Z<dF&&A>dF)||((A>dF||Z<dF)&&ew)){A++;if(A===dN){A++}}if(A>dt){A=A-dt+dQ-1}if(eu>dB){eu=eu-dB+dQ-1;ew=true}else{ew=false}if(((eu===dN)||((ev<dN)&&(eu>dN)))||(((eu>dN)||(ev<dN))&&ew)){eu++}if(((eu===dF)||((ev<dF)&&(eu>dF)))||(((eu>dF)||(ev<dF))&&ew)){eu++;if(eu===dN){eu++}}if(eu>dB){eu=eu-dB+dQ-1}var I=String.fromCharCode(A)+String.fromCharCode(eu);return I}function ch(eA){if(eA&&eA.length===0){throw ("MGRSPoint coverting from nothing")}var V=eA.length;var A=null;var I="";var Z;var eD=0;while(!(/[A-Z]/).test(Z=eA.charAt(eD))){if(eD>=2){throw ("MGRSPoint bad conversion from: "+eA)}I+=Z;eD++}var et=parseInt(I,10);if(eD===0||eD+3>V){throw ("MGRSPoint bad conversion from: "+eA)}var O=eA.charAt(eD++);if(O<="A"||O==="B"||O==="Y"||O>="Z"||O==="I"||O==="O"){throw ("MGRSPoint zone letter "+O+" not handled: "+eA)}A=eA.substring(eD,eD+=2);var ez=br(et);var ev=dD(A.charAt(0),ez);var ew=bP(A.charAt(1),ez);while(ew<bn(O)){ew+=2000000}var ey=V-eD;if(ey%2!==0){throw ("MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+eA)}var eB=ey/2;var eH=0;var eF=0;var ex,eG,eu,eE,eC;if(eB>0){ex=100000/Math.pow(10,eB);eG=eA.substring(eD,eD+eB);eH=parseFloat(eG)*ex;eu=eA.substring(eD+eB);eF=parseFloat(eu)*ex}eE=eH+ev;eC=eF+ew;return{easting:eE,northing:eC,zoneLetter:O,zoneNumber:et,accuracy:ex}}function dD(O,Z){var V=cs.charCodeAt(Z-1);var A=100000;var I=false;while(V!==O.charCodeAt(0)){V++;if(V===dN){V++}if(V===dF){V++}if(V>dt){if(I){throw ("Bad character: "+O)}V=dQ;I=true}A+=100000}return A}function bP(Z,V){if(Z>"V"){throw ("MGRSPoint given invalid Northing "+Z)}var O=ca.charCodeAt(V-1);var A=0;var I=false;while(O!==Z.charCodeAt(0)){O++;if(O===dN){O++}if(O===dF){O++}if(O>dB){if(I){throw ("Bad character: "+Z)}O=dQ;I=true}A+=100000}return A}function bn(A){var I;switch(A){case"C":I=1100000;break;case"D":I=2000000;break;case"E":I=2800000;break;case"F":I=3700000;break;case"G":I=4600000;break;case"H":I=5500000;break;case"J":I=6400000;break;case"K":I=7300000;break;case"L":I=8200000;break;case"M":I=9100000;break;case"N":I=0;break;case"P":I=800000;break;case"Q":I=1700000;break;case"R":I=2600000;break;case"S":I=3500000;break;case"T":I=4400000;break;case"U":I=5300000;break;case"V":I=6200000;break;case"W":I=7000000;break;case"X":I=7900000;break;default:I=-1}if(I>=0){return I}else{throw ("Invalid zone letter: "+A)}}function em(A,V,O){if(!(this instanceof em)){return new em(A,V,O)}if(Array.isArray(A)){this.x=A[0];this.y=A[1];this.z=A[2]||0}else{if(typeof A==="object"){this.x=A.x;this.y=A.y;this.z=A.z||0}else{if(typeof A==="string"&&typeof V==="undefined"){var I=A.split(",");this.x=parseFloat(I[0],10);this.y=parseFloat(I[1],10);this.z=parseFloat(I[2],10)||0}else{this.x=A;this.y=V;this.z=O||0}}}console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}em.fromMGRS=function(A){return new em(d4(A))};em.prototype.toMGRS=function(A){return cI([this.x,this.y],A)};var l=1;var k=0.25;var j=0.046875;var i=0.01953125;var h=0.01068115234375;var ek=0.75;var dx=0.46875;var dr=0.013020833333333334;var dn=0.007120768229166667;var c7=0.3645833333333333;var c5=0.005696614583333333;var cN=0.3076171875;var ar=function(O){var A=[];A[0]=l-O*(k+O*(j+O*(i+O*h)));A[1]=O*(ek-O*(j+O*(i+O*h)));var I=O*O;A[2]=I*(dx-O*(dr+O*dn));I*=O;A[3]=I*(c7-O*c5);A[4]=I*O*cN;return A};var d2=function(V,A,O,I){O*=A;A*=A;return(I[0]*V-O*(I[1]+A*(I[2]+A*(I[3]+A*I[4]))))};var du=20;var cn=function(A,ev,O){var I=1/(1-ev);var eu=A;for(var Z=du;Z;--Z){var et=Math.sin(eu);var V=1-ev*et*et;V=(d2(eu,et,Math.cos(eu),O)-A)*(V*Math.sqrt(V))*I;eu-=V;if(Math.abs(V)<c3){return eu}}return eu};function cq(){this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;if(this.es){this.en=ar(this.es);this.ml0=d2(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en)}}function cH(ey){var V=ey.x;var eu=ey.y;var eF=c6(V-this.long0);var Z;var ew,ev;var O=Math.sin(eu);var eD=Math.cos(eu);if(!this.es){var eC=eD*Math.sin(eF);if((Math.abs(Math.abs(eC)-1))<c3){return(93)}else{ew=0.5*this.a*this.k0*Math.log((1+eC)/(1-eC))+this.x0;ev=eD*Math.cos(eF)/Math.sqrt(1-Math.pow(eC,2));eC=Math.abs(ev);if(eC>=1){if((eC-1)>c3){return(93)}else{ev=0}}else{ev=Math.acos(ev)}if(eu<0){ev=-ev}ev=this.a*this.k0*(ev-this.lat0)+this.y0}}else{var ez=eD*eF;var eE=Math.pow(ez,2);var eB=this.ep2*Math.pow(eD,2);var et=Math.pow(eB,2);var I=Math.abs(eD)>c3?Math.tan(eu):0;var ex=Math.pow(I,2);var A=Math.pow(ex,2);Z=1-this.es*Math.pow(O,2);ez=ez/Math.sqrt(Z);var eA=d2(eu,O,eD,this.en);ew=this.a*(this.k0*ez*(1+eE/6*(1-ex+eB+eE/20*(5-18*ex+A+14*eB-58*ex*eB+eE/42*(61+179*A-A*ex-479*ex)))))+this.x0;ev=this.a*(this.k0*(eA-this.ml0+O*eF*ez/2*(1+eE/12*(5-ex+9*eB+4*et+eE/30*(61+A-58*ex+270*eB-330*ex*eB+eE/56*(1385+543*A-A*ex-3111*ex))))))+this.y0}ey.x=ew;ey.y=ev;return ey}function ao(eA){var Z,O;var eu,V;var ew=(eA.x-this.x0)*(1/this.a);var ev=(eA.y-this.y0)*(1/this.a);if(!this.es){var eD=Math.exp(ew/this.k0);var eC=0.5*(eD-1/eD);var eF=this.lat0+ev/this.k0;var eB=Math.cos(eF);Z=Math.sqrt((1-Math.pow(eB,2))/(1+Math.pow(eC,2)));eu=Math.asin(Z);if(ev<0){eu=-eu}if((eC===0)&&(eB===0)){V=0}else{V=c6(Math.atan2(eC,eB)+this.long0)}}else{Z=this.ml0+ev/this.k0;O=cn(Z,this.es,this.en);if(Math.abs(O)<ax){var I=Math.sin(O);var eH=Math.cos(O);var ex=Math.abs(eH)>c3?Math.tan(O):0;var eG=this.ep2*Math.pow(eH,2);var et=Math.pow(eG,2);var ey=Math.pow(ex,2);var A=Math.pow(ey,2);Z=1-this.es*Math.pow(I,2);var eE=ew*Math.sqrt(Z)/this.k0;var ez=Math.pow(eE,2);Z=Z*ex;eu=O-(Z*ez/(1-this.es))*0.5*(1-ez/12*(5+3*ey-9*eG*ey+eG-4*et-ez/30*(61+90*ey-252*eG*ey+45*A+46*eG-ez/56*(1385+3633*ey+4095*A+1574*A*ey))));V=c6(this.long0+(eE*(1-ez/6*(1+2*ey+eG-ez/20*(5+28*ey+24*A+8*eG*ey+6*eG-ez/42*(61+662*ey+1320*A+720*A*ey))))/eH))}else{eu=ax*bC(ev);V=0}}eA.x=V;eA.y=eu;return eA}var bL=["Transverse_Mercator","Transverse Mercator","tmerc"];var g={init:cq,forward:cH,inverse:ao,names:bL};var av=function(A){var I=Math.exp(A);I=(I-1/I)/2;return I};var w=function(I,V){I=Math.abs(I);V=Math.abs(V);var O=Math.max(I,V);var A=Math.min(I,V)/(O?O:1);return O*Math.sqrt(1+Math.pow(A,2))};var cd=function(A){var O=1+A;var I=O-1;return I===0?A:A*Math.log(O)/I};var v=function(A){var I=Math.abs(A);I=cd(I*(1+I/(w(1,I)+1)));return A<0?-I:I};var d=function(A,eu){var et=2*Math.cos(2*eu);var V=A.length-1;var O=A[V];var I=0;var Z;while(--V>=0){Z=-I+et*O+A[V];I=O;O=Z}return(eu+Z*Math.sin(2*eu))};var aA=function(A,I){var eu=2*Math.cos(I);var Z=A.length-1;var V=A[Z];var O=0;var et;while(--Z>=0){et=-O+eu*V+A[Z];O=V;V=et}return Math.sin(I)*et};var dC=function(A){var I=Math.exp(A);I=(I+1/I)/2;return I};var c=function(O,V,ex){var eD=Math.sin(V);var ew=Math.cos(V);var I=av(ex);var et=dC(ex);var A=2*ew*et;var ev=-2*eD*I;var eu=O.length-1;var eA=O[eu];var eC=0;var ez=0;var Z=0;var ey;var eB;while(--eu>=0){ey=ez;eB=eC;ez=eA;eC=Z;eA=-ey+A*ez-ev*eC+O[eu];Z=-eB+ev*ez+A*eC}A=eD*et;ev=ew*I;return[A*eA-ev*Z,A*Z+ev*eA]};function cp(){if(this.es===undefined||this.es<=0){throw new Error("incorrect elliptical usage")}this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;this.cgb=[];this.cbg=[];this.utg=[];this.gtu=[];var A=this.es/(1+Math.sqrt(1-this.es));var V=A/(2-A);var O=V;this.cgb[0]=V*(2+V*(-2/3+V*(-2+V*(116/45+V*(26/45+V*(-2854/675))))));this.cbg[0]=V*(-2+V*(2/3+V*(4/3+V*(-82/45+V*(32/45+V*(4642/4725))))));O=O*V;this.cgb[1]=O*(7/3+V*(-8/5+V*(-227/45+V*(2704/315+V*(2323/945)))));this.cbg[1]=O*(5/3+V*(-16/15+V*(-13/9+V*(904/315+V*(-1522/945)))));O=O*V;this.cgb[2]=O*(56/15+V*(-136/35+V*(-1262/105+V*(73814/2835))));this.cbg[2]=O*(-26/15+V*(34/21+V*(8/5+V*(-12686/2835))));O=O*V;this.cgb[3]=O*(4279/630+V*(-332/35+V*(-399572/14175)));this.cbg[3]=O*(1237/630+V*(-12/5+V*(-24832/14175)));O=O*V;this.cgb[4]=O*(4174/315+V*(-144838/6237));this.cbg[4]=O*(-734/315+V*(109598/31185));O=O*V;this.cgb[5]=O*(601676/22275);this.cbg[5]=O*(444337/155925);O=Math.pow(V,2);this.Qn=this.k0/(1+V)*(1+O*(1/4+O*(1/64+O/256)));this.utg[0]=V*(-0.5+V*(2/3+V*(-37/96+V*(1/360+V*(81/512+V*(-96199/604800))))));this.gtu[0]=V*(0.5+V*(-2/3+V*(5/16+V*(41/180+V*(-127/288+V*(7891/37800))))));this.utg[1]=O*(-1/48+V*(-1/15+V*(437/1440+V*(-46/105+V*(1118711/3870720)))));this.gtu[1]=O*(13/48+V*(-3/5+V*(557/1440+V*(281/630+V*(-1983433/1935360)))));O=O*V;this.utg[2]=O*(-17/480+V*(37/840+V*(209/4480+V*(-5569/90720))));this.gtu[2]=O*(61/240+V*(-103/140+V*(15061/26880+V*(167603/181440))));O=O*V;this.utg[3]=O*(-4397/161280+V*(11/504+V*(830251/7257600)));this.gtu[3]=O*(49561/161280+V*(-179/168+V*(6601661/7257600)));O=O*V;this.utg[4]=O*(-4583/161280+V*(108847/3991680));this.gtu[4]=O*(34729/80640+V*(-3418889/1995840));O=O*V;this.utg[5]=O*(-20648693/638668800);this.gtu[5]=O*(212378941/319334400);var I=d(this.cbg,this.lat0);this.Zb=-this.Qn*(I+aA(this.gtu,2*I))}function cF(A){var I=c6(A.x-this.long0);var ew=A.y;ew=d(this.cbg,ew);var ex=Math.sin(ew);var O=Math.cos(ew);var V=Math.sin(I);var et=Math.cos(I);ew=Math.atan2(ex,et*O);I=Math.atan2(V*O,w(ex,O*et));I=v(Math.tan(I));var Z=c(this.gtu,2*ew,2*I);ew=ew+Z[0];I=I+Z[1];var ev;var eu;if(Math.abs(I)<=2.623395162778){ev=this.a*(this.Qn*I)+this.x0;eu=this.a*(this.Qn*ew+this.Zb)+this.y0}else{ev=Infinity;eu=Infinity}A.x=ev;A.y=eu;return A}function am(I){var O=(I.x-this.x0)*(1/this.a);var ew=(I.y-this.y0)*(1/this.a);ew=(ew-this.Zb)/this.Qn;O=O/this.Qn;var A;var ev;if(Math.abs(O)<=2.623395162778){var et=c(this.utg,2*ew,2*O);ew=ew+et[0];O=O+et[1];O=Math.atan(av(O));var ex=Math.sin(ew);var V=Math.cos(ew);var Z=Math.sin(O);var eu=Math.cos(O);ew=Math.atan2(ex*eu,w(Z,eu*V));O=Math.atan2(Z,eu*V);A=c6(O+this.long0);ev=d(this.cgb,ew)}else{A=Infinity;ev=Infinity}I.x=A;I.y=ev;return I}var bK=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"];var es={init:cp,forward:cF,inverse:am,names:bK};var bl=function(A,I){if(A===undefined){A=Math.floor((c6(I)+Math.PI)*30/Math.PI)+1;if(A<0){return 0}else{if(A>60){return 60}}}return A};var ae="etmerc";function co(){var A=bl(this.zone,this.long0);if(A===undefined){throw new Error("unknown utm zone")}this.lat0=0;this.long0=((6*Math.abs(A))-183)*cG;this.x0=500000;this.y0=this.utmSouth?10000000:0;this.k0=0.9996;es.init.apply(this);this.forward=es.forward;this.inverse=es.inverse}var bJ=["Universal Transverse Mercator System","utm"];var cb={init:co,names:bJ,dependsOn:ae};var bv=function(A,I){return(Math.pow((1-A)/(1+A),I))};var db=20;function cl(){var A=Math.sin(this.lat0);var I=Math.cos(this.lat0);I*=I;this.rc=Math.sqrt(1-this.es)/(1-this.es*A*A);this.C=Math.sqrt(1+this.es*I*I/(1-this.es));this.phic0=Math.asin(A/this.C);this.ratexp=0.5*this.C*this.e;this.K=Math.tan(0.5*this.phic0+n)/(Math.pow(Math.tan(0.5*this.lat0+n),this.C)*bv(this.e*A,this.ratexp))}function cD(I){var O=I.x;var A=I.y;I.y=2*Math.atan(this.K*Math.pow(Math.tan(0.5*A+n),this.C)*bv(this.e*Math.sin(A),this.ratexp))-ax;I.x=this.C*O;return I}function ai(Z){var V=1e-14;var et=Z.x/this.C;var O=Z.y;var A=Math.pow(Math.tan(0.5*O+n)/this.K,1/this.C);for(var I=db;I>0;--I){O=2*Math.atan(A*bv(this.e*Math.sin(Z.y),-0.5*this.e))-ax;if(Math.abs(O-Z.y)<V){break}Z.y=O}if(!I){return null}Z.x=et;Z.y=O;return Z}var bH=["gauss"];var dV={init:cl,forward:cD,inverse:ai,names:bH};function cm(){dV.init.apply(this);if(!this.rc){return}this.sinc0=Math.sin(this.phic0);this.cosc0=Math.cos(this.phic0);this.R2=2*this.rc;if(!this.title){this.title="Oblique Stereographic Alternative"}}function cE(Z){var I,O,V,A;Z.x=c6(Z.x-this.long0);dV.forward.apply(this,[Z]);I=Math.sin(Z.y);O=Math.cos(Z.y);V=Math.cos(Z.x);A=this.k0*this.R2/(1+this.sinc0*I+this.cosc0*O*V);Z.x=A*O*Math.sin(Z.x);Z.y=A*(this.cosc0*I-this.sinc0*O*V);Z.x=this.a*Z.x+this.x0;Z.y=this.a*Z.y+this.y0;return Z}function ak(Z){var I,O,et,V,A;Z.x=(Z.x-this.x0)/this.a;Z.y=(Z.y-this.y0)/this.a;Z.x/=this.k0;Z.y/=this.k0;if((A=Math.sqrt(Z.x*Z.x+Z.y*Z.y))){var eu=2*Math.atan2(A,this.R2);I=Math.sin(eu);O=Math.cos(eu);V=Math.asin(O*this.sinc0+Z.y*I*this.cosc0/A);et=Math.atan2(Z.x*I,A*this.cosc0*O-Z.y*this.sinc0*I)}else{V=this.phic0;et=0}Z.x=et;Z.y=V;dV.inverse.apply(this,[Z]);Z.x=c6(Z.x+this.long0);return Z}var bI=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"];var ej={init:cm,forward:cE,inverse:ak,names:bI};function eo(A,O,I){O*=I;return(Math.tan(0.5*(ax+A))*Math.pow((1-O)/(1+O),0.5*I))}function ck(){this.coslat0=Math.cos(this.lat0);this.sinlat0=Math.sin(this.lat0);if(this.sphere){if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=c3){this.k0=0.5*(1+bC(this.lat0)*Math.sin(this.lat_ts))}}else{if(Math.abs(this.coslat0)<=c3){if(this.lat0>0){this.con=1}else{this.con=-1}}this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=c3){this.k0=0.5*this.cons*bp(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/dj(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))}this.ms1=bp(this.e,this.sinlat0,this.coslat0);this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-ax;this.cosX0=Math.cos(this.X0);this.sinX0=Math.sin(this.X0)}}function cC(O){var I=O.x;var ex=O.y;var V=Math.sin(ex);var eu=Math.cos(ex);var et,Z,ey,ev,ew,ez;var eA=c6(I-this.long0);if(Math.abs(Math.abs(I-this.long0)-Math.PI)<=c3&&Math.abs(ex+this.lat0)<=c3){O.x=NaN;O.y=NaN;return O}if(this.sphere){et=2*this.k0/(1+this.sinlat0*V+this.coslat0*eu*Math.cos(eA));O.x=this.a*et*eu*Math.sin(eA)+this.x0;O.y=this.a*et*(this.coslat0*V-this.sinlat0*eu*Math.cos(eA))+this.y0;return O}else{Z=2*Math.atan(this.ssfn_(ex,V,this.e))-ax;ev=Math.cos(Z);ey=Math.sin(Z);if(Math.abs(this.coslat0)<=c3){ew=dj(this.e,ex*this.con,this.con*V);ez=2*this.a*this.k0*ew/this.cons;O.x=this.x0+ez*Math.sin(I-this.long0);O.y=this.y0-this.con*ez*Math.cos(I-this.long0);return O}else{if(Math.abs(this.sinlat0)<c3){et=2*this.a*this.k0/(1+ev*Math.cos(eA));O.y=et*ey}else{et=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*ey+this.cosX0*ev*Math.cos(eA)));O.y=et*(this.cosX0*ey-this.sinX0*ev*Math.cos(eA))+this.y0}}O.x=et*ev*Math.sin(eA)+this.x0}return O}function ag(Z){Z.x-=this.x0;Z.y-=this.y0;var et,V,I,O,ev;var A=Math.sqrt(Z.x*Z.x+Z.y*Z.y);if(this.sphere){var eu=2*Math.atan(A/(2*this.a*this.k0));et=this.long0;V=this.lat0;if(A<=c3){Z.x=et;Z.y=V;return Z}V=Math.asin(Math.cos(eu)*this.sinlat0+Z.y*Math.sin(eu)*this.coslat0/A);if(Math.abs(this.coslat0)<c3){if(this.lat0>0){et=c6(this.long0+Math.atan2(Z.x,-1*Z.y))}else{et=c6(this.long0+Math.atan2(Z.x,Z.y))}}else{et=c6(this.long0+Math.atan2(Z.x*Math.sin(eu),A*this.coslat0*Math.cos(eu)-Z.y*this.sinlat0*Math.sin(eu)))}Z.x=et;Z.y=V;return Z}else{if(Math.abs(this.coslat0)<=c3){if(A<=c3){V=this.lat0;et=this.long0;Z.x=et;Z.y=V;return Z}Z.x*=this.con;Z.y*=this.con;I=A*this.cons/(2*this.a*this.k0);V=this.con*p(this.e,I);et=this.con*c6(this.con*this.long0+Math.atan2(Z.x,-1*Z.y))}else{O=2*Math.atan(A*this.cosX0/(2*this.a*this.k0*this.ms1));et=this.long0;if(A<=c3){ev=this.X0}else{ev=Math.asin(Math.cos(O)*this.sinX0+Z.y*Math.sin(O)*this.cosX0/A);et=c6(this.long0+Math.atan2(Z.x*Math.sin(O),A*this.cosX0*Math.cos(O)-Z.y*this.sinX0*Math.sin(O)))}V=-1*p(this.e,Math.tan(0.5*(ax+ev)))}}Z.x=et;Z.y=V;return Z}var bG=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"];var aP={init:ck,forward:cC,inverse:ag,names:bG,ssfn_:eo};function cj(){var A=this.lat0;this.lambda0=this.long0;var V=Math.sin(A);var ex=this.a;var I=this.rf;var O=1/I;var ew=2*O-Math.pow(O,2);var eu=this.e=Math.sqrt(ew);this.R=this.k0*ex*Math.sqrt(1-ew)/(1-ew*Math.pow(V,2));this.alpha=Math.sqrt(1+ew/(1-ew)*Math.pow(Math.cos(A),4));this.b0=Math.asin(V/this.alpha);var ev=Math.log(Math.tan(Math.PI/4+this.b0/2));var et=Math.log(Math.tan(Math.PI/4+A/2));var Z=Math.log((1+eu*V)/(1-eu*V));this.K=ev-this.alpha*et+this.alpha*eu/2*Z}function cB(et){var ew=Math.log(Math.tan(Math.PI/4-et.y/2));var eu=this.e/2*Math.log((1+this.e*Math.sin(et.y))/(1-this.e*Math.sin(et.y)));var V=-this.alpha*(ew+eu)+this.K;var A=2*(Math.atan(Math.exp(V))-Math.PI/4);var O=this.alpha*(et.x-this.lambda0);var ev=Math.atan(Math.sin(O)/(Math.sin(this.b0)*Math.tan(A)+Math.cos(this.b0)*Math.cos(O)));var Z=Math.asin(Math.cos(this.b0)*Math.sin(A)-Math.sin(this.b0)*Math.cos(A)*Math.cos(O));et.y=this.R/2*Math.log((1+Math.sin(Z))/(1-Math.sin(Z)))+this.y0;et.x=this.R*ev+this.x0;return et}function ad(V){var O=V.x-this.x0;var Z=V.y-this.y0;var ez=O/this.R;var et=2*(Math.atan(Math.exp(Z/this.R))-Math.PI/4);var ex=Math.asin(Math.cos(this.b0)*Math.sin(et)+Math.sin(this.b0)*Math.cos(et)*Math.cos(ez));var ey=Math.atan(Math.sin(ez)/(Math.cos(this.b0)*Math.cos(ez)-Math.sin(this.b0)*Math.tan(et)));var ew=this.lambda0+ey/this.alpha;var ev=0;var eA=ex;var A=-1000;var eu=0;while(Math.abs(eA-A)>1e-7){if(++eu>20){return}ev=1/this.alpha*(Math.log(Math.tan(Math.PI/4+ex/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(eA))/2));A=eA;eA=2*Math.atan(Math.exp(ev))-Math.PI/2}V.x=ew;V.y=eA;return V}var bE=["somerc"];var bm={init:cj,forward:cB,inverse:ad,names:bE};function ci(){this.no_off=this.no_off||false;this.no_rot=this.no_rot||false;if(isNaN(this.k0)){this.k0=1}var V=Math.sin(this.lat0);var ev=Math.cos(this.lat0);var Z=this.e*V;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(ev,4));this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-Z*Z);var eA=dj(this.e,this.lat0,V);var ez=this.bl/ev*Math.sqrt((1-this.es)/(1-Z*Z));if(ez*ez<1){ez=1}var eC;var ex;if(!isNaN(this.longc)){if(this.lat0>=0){eC=ez+Math.sqrt(ez*ez-1)}else{eC=ez-Math.sqrt(ez*ez-1)}this.el=eC*Math.pow(eA,this.bl);ex=0.5*(eC-1/eC);this.gamma0=Math.asin(Math.sin(this.alpha)/ez);this.long0=this.longc-Math.asin(ex*Math.tan(this.gamma0))/this.bl}else{var ey=dj(this.e,this.lat1,Math.sin(this.lat1));var ew=dj(this.e,this.lat2,Math.sin(this.lat2));if(this.lat0>=0){this.el=(ez+Math.sqrt(ez*ez-1))*Math.pow(eA,this.bl)}else{this.el=(ez-Math.sqrt(ez*ez-1))*Math.pow(eA,this.bl)}var O=Math.pow(ey,this.bl);var eB=Math.pow(ew,this.bl);eC=this.el/O;ex=0.5*(eC-1/eC);var eu=(this.el*this.el-eB*O)/(this.el*this.el+eB*O);var et=(eB-O)/(eB+O);var A=c6(this.long1-this.long2);this.long0=0.5*(this.long1+this.long2)-Math.atan(eu*Math.tan(0.5*this.bl*(A))/et)/this.bl;this.long0=c6(this.long0);var I=c6(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*(I))/ex);this.alpha=Math.asin(ez*Math.sin(this.gamma0))}if(this.no_off){this.uc=0}else{if(this.lat0>=0){this.uc=this.al/this.bl*Math.atan2(Math.sqrt(ez*ez-1),Math.cos(this.alpha))}else{this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(ez*ez-1),Math.cos(this.alpha))}}}function cA(I){var A=I.x;var ev=I.y;var eA=c6(A-this.long0);var et,ex;var O;if(Math.abs(Math.abs(ev)-ax)<=c3){if(ev>0){O=-1}else{O=1}ex=this.al/this.bl*Math.log(Math.tan(n+O*this.gamma0*0.5));et=-1*O*ax*this.al/this.bl}else{var ey=dj(this.e,ev,Math.sin(ev));var ez=this.el/Math.pow(ey,this.bl);var Z=0.5*(ez-1/ez);var ew=0.5*(ez+1/ez);var V=Math.sin(this.bl*(eA));var eu=(Z*Math.sin(this.gamma0)-V*Math.cos(this.gamma0))/ew;if(Math.abs(Math.abs(eu)-1)<=c3){ex=Number.POSITIVE_INFINITY}else{ex=0.5*this.al*Math.log((1-eu)/(1+eu))/this.bl}if(Math.abs(Math.cos(this.bl*(eA)))<=c3){et=this.al*this.bl*(eA)}else{et=this.al*Math.atan2(Z*Math.cos(this.gamma0)+V*Math.sin(this.gamma0),Math.cos(this.bl*eA))/this.bl}}if(this.no_rot){I.x=this.x0+et;I.y=this.y0+ex}else{et-=this.uc;I.x=this.x0+ex*Math.cos(this.alpha)+et*Math.sin(this.alpha);I.y=this.y0+et*Math.cos(this.alpha)-ex*Math.sin(this.alpha)}return I}function ab(I){var V,ew;if(this.no_rot){ew=I.y-this.y0;V=I.x-this.x0}else{ew=(I.x-this.x0)*Math.cos(this.alpha)-(I.y-this.y0)*Math.sin(this.alpha);V=(I.y-this.y0)*Math.cos(this.alpha)+(I.x-this.x0)*Math.sin(this.alpha);V+=this.uc}var ev=Math.exp(-1*this.bl*ew/this.al);var O=0.5*(ev-1/ev);var eu=0.5*(ev+1/ev);var A=Math.sin(this.bl*V/this.al);var Z=(A*Math.cos(this.gamma0)+O*Math.sin(this.gamma0))/eu;var et=Math.pow(this.el/Math.sqrt((1+Z)/(1-Z)),1/this.bl);if(Math.abs(Z-1)<c3){I.x=this.long0;I.y=ax}else{if(Math.abs(Z+1)<c3){I.x=this.long0;I.y=-1*ax}else{I.y=p(this.e,et);I.x=c6(this.long0-Math.atan2(O*Math.cos(this.gamma0)-A*Math.sin(this.gamma0),Math.cos(this.bl*V/this.al))/this.bl)}}return I}var a8=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"];var bu={init:ci,forward:cA,inverse:ab,names:a8};function an(){if(!this.lat2){this.lat2=this.lat1}if(!this.k0){this.k0=1}this.x0=this.x0||0;this.y0=this.y0||0;if(Math.abs(this.lat1+this.lat2)<c3){return}var ex=this.b/this.a;this.e=Math.sqrt(1-ex*ex);var eu=Math.sin(this.lat1);var Z=Math.cos(this.lat1);var ew=bp(this.e,eu,Z);var I=dj(this.e,this.lat1,eu);var et=Math.sin(this.lat2);var V=Math.cos(this.lat2);var ev=bp(this.e,et,V);var A=dj(this.e,this.lat2,et);var O=dj(this.e,this.lat0,Math.sin(this.lat0));if(Math.abs(this.lat1-this.lat2)>c3){this.ns=Math.log(ew/ev)/Math.log(I/A)}else{this.ns=eu}if(isNaN(this.ns)){this.ns=eu}this.f0=ew/(this.ns*Math.pow(I,this.ns));this.rh=this.a*this.f0*Math.pow(O,this.ns);if(!this.title){this.title="Lambert Conformal Conic"}}function cz(Z){var et=Z.x;var V=Z.y;if(Math.abs(2*Math.abs(V)-Math.PI)<=c3){V=bC(V)*(ax-2*c3)}var A=Math.abs(Math.abs(V)-ax);var O,eu;if(A>c3){O=dj(this.e,V,Math.sin(V));eu=this.a*this.f0*Math.pow(O,this.ns)}else{A=V*this.ns;if(A<=0){return null}eu=0}var I=this.ns*c6(et-this.long0);Z.x=this.k0*(eu*Math.sin(I))+this.x0;Z.y=this.k0*(this.rh-eu*Math.cos(I))+this.y0;return Z}function Y(I){var Z,O,et;var eu,A;var ew=(I.x-this.x0)/this.k0;var ev=(this.rh-(I.y-this.y0)/this.k0);if(this.ns>0){Z=Math.sqrt(ew*ew+ev*ev);O=1}else{Z=-Math.sqrt(ew*ew+ev*ev);O=-1}var V=0;if(Z!==0){V=Math.atan2((O*ew),(O*ev))}if((Z!==0)||(this.ns>0)){O=1/this.ns;et=Math.pow((Z/(this.a*this.f0)),O);eu=p(this.e,et);if(eu===-9999){return null}}else{eu=-ax}A=c6(V/this.ns+this.long0);I.x=A;I.y=eu;return I}var a7=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"];var b3={init:an,forward:cz,inverse:Y,names:a7};function al(){this.a=6377397.155;this.es=0.006674372230614;this.e=Math.sqrt(this.es);if(!this.lat0){this.lat0=0.863937979737193}if(!this.long0){this.long0=0.7417649320975901-0.308341501185665}if(!this.k0){this.k0=0.9999}this.s45=0.785398163397448;this.s90=2*this.s45;this.fi0=this.lat0;this.e2=this.es;this.e=Math.sqrt(this.e2);this.alfa=Math.sqrt(1+(this.e2*Math.pow(Math.cos(this.fi0),4))/(1-this.e2));this.uq=1.04216856380474;this.u0=Math.asin(Math.sin(this.fi0)/this.alfa);this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2);this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g;this.k1=this.k0;this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2));this.s0=1.37008346281555;this.n=Math.sin(this.s0);this.ro0=this.k1*this.n0/Math.tan(this.s0);this.ad=this.s90-this.uq}function ef(O){var Z,ew,I,ex,eu,ey,et;var A=O.x;var ev=O.y;var V=c6(A-this.long0);Z=Math.pow(((1+this.e*Math.sin(ev))/(1-this.e*Math.sin(ev))),(this.alfa*this.e/2));ew=2*(Math.atan(this.k*Math.pow(Math.tan(ev/2+this.s45),this.alfa)/Z)-this.s45);I=-V*this.alfa;ex=Math.asin(Math.cos(this.ad)*Math.sin(ew)+Math.sin(this.ad)*Math.cos(ew)*Math.cos(I));eu=Math.asin(Math.cos(ew)*Math.sin(I)/Math.cos(ex));ey=this.n*eu;et=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(ex/2+this.s45),this.n);O.y=et*Math.cos(ey)/1;O.x=et*Math.sin(ey)/1;if(!this.czech){O.y*=-1;O.x*=-1}return(O)}function d1(I){var ew,A,ex,et,ey,V,Z;var ev;var O=I.x;I.x=I.y;I.y=O;if(!this.czech){I.y*=-1;I.x*=-1}V=Math.sqrt(I.x*I.x+I.y*I.y);ey=Math.atan2(I.y,I.x);et=ey/Math.sin(this.s0);ex=2*(Math.atan(Math.pow(this.ro0/V,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45);ew=Math.asin(Math.cos(this.ad)*Math.sin(ex)-Math.sin(this.ad)*Math.cos(ex)*Math.cos(et));A=Math.asin(Math.cos(ex)*Math.sin(et)/Math.cos(ew));I.x=this.long0-A/this.alfa;Z=ew;ev=0;var eu=0;do{I.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(ew/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(Z))/(1-this.e*Math.sin(Z)),this.e/2))-this.s45);if(Math.abs(Z-I.y)<1e-10){ev=1}Z=I.y;eu+=1}while(ev===0&&eu<15);if(eu>=15){return null}return(I)}var a6=["Krovak","krovak"];var el={init:al,forward:ef,inverse:d1,names:a6};var cU=function(Z,V,O,I,A){return(Z*A-V*Math.sin(2*A)+O*Math.sin(4*A)-I*Math.sin(6*A))};var cy=function(A){return(1-0.25*A*(1+A/16*(3+1.25*A)))};var bx=function(A){return(0.375*A*(1+0.25*A*(1+0.46875*A)))};var au=function(A){return(0.05859375*A*A*(1+0.75*A))};var dI=function(A){return(A*A*A*(35/3072))};var cQ=function(A,V,O){var I=V*O;return A/Math.sqrt(1-I*I)};var bq=function(A){return(Math.abs(A)<ax)?A:(A-(bC(A)*Math.PI))};var bX=function(ev,eu,et,Z,V){var O;var A;O=ev/eu;for(var I=0;I<15;I++){A=(ev-(eu*O-et*Math.sin(2*O)+Z*Math.sin(4*O)-V*Math.sin(6*O)))/(eu-2*et*Math.cos(2*O)+4*Z*Math.cos(4*O)-6*V*Math.cos(6*O));O+=A;if(Math.abs(A)<=1e-10){return O}}return NaN};function aj(){if(!this.sphere){this.e0=cy(this.es);this.e1=bx(this.es);this.e2=au(this.es);this.e3=dI(this.es);this.ml0=this.a*cU(this.e0,this.e1,this.e2,this.e3,this.lat0)}}function ee(O){var ex,ew;var eA=O.x;var ev=O.y;eA=c6(eA-this.long0);if(this.sphere){ex=this.a*Math.asin(Math.cos(ev)*Math.sin(eA));ew=this.a*(Math.atan2(Math.tan(ev),Math.cos(eA))-this.lat0)}else{var A=Math.sin(ev);var Z=Math.cos(ev);var I=cQ(this.a,this.e,A);var ez=Math.tan(ev)*Math.tan(ev);var eu=eA*Math.cos(ev);var V=eu*eu;var ey=this.es*Z*Z/(1-this.es);var et=this.a*cU(this.e0,this.e1,this.e2,this.e3,ev);ex=I*eu*(1-V*ez*(1/6-(8-ez+8*ey)*V/120));ew=et-this.ml0+I*A/Z*V*(0.5+(5-ez+6*ey)*V/24)}O.x=ex+this.x0;O.y=ew+this.y0;return O}function d0(I){I.x-=this.x0;I.y-=this.y0;var ew=I.x/this.a;var eu=I.y/this.a;var et,eA;if(this.sphere){var ey=eu+this.lat0;et=Math.asin(Math.sin(ey)*Math.cos(ew));eA=Math.atan2(Math.tan(ew),Math.cos(ey))}else{var ez=this.ml0/this.a+eu;var ev=bX(ez,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(ev)-ax)<=c3){I.x=this.long0;I.y=ax;if(eu<0){I.y*=-1}return I}var O=cQ(this.a,this.e,Math.sin(ev));var A=O*O*O/this.a/this.a*(1-this.es);var Z=Math.pow(Math.tan(ev),2);var V=ew*this.a/O;var ex=V*V;et=ev-O*Math.tan(ev)/A*V*V*(0.5-(1+3*Z)*V*V/24);eA=V*(1-ex*(Z/3+(1+3*Z)*Z*ex/15))/Math.cos(ev)}I.x=c6(eA+this.long0);I.y=bq(et);return I}var a3=["Cassini","Cassini_Soldner","cass"];var by={init:aj,forward:ee,inverse:d0,names:a3};var t=function(O,I){var A;if(O>1e-7){A=O*I;return((1-O*O)*(I/(1-A*A)-(0.5/O)*Math.log((1-A)/(1+A))))}else{return(2*I)}};var bZ=1;var aT=2;var b4=3;var cY=4;function ah(){var A=Math.abs(this.lat0);if(Math.abs(A-ax)<c3){this.mode=this.lat0<0?this.S_POLE:this.N_POLE}else{if(Math.abs(A)<c3){this.mode=this.EQUIT}else{this.mode=this.OBLIQ}}if(this.es>0){var I;this.qp=t(this.e,1);this.mmf=0.5/(1-this.es);this.apa=cv(this.es);switch(this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(0.5*this.qp);this.dd=1/this.rq;this.xmf=1;this.ymf=0.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(0.5*this.qp);I=Math.sin(this.lat0);this.sinb1=t(this.e,I)/this.qp;this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1);this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*I*I)*this.rq*this.cosb1);this.ymf=(this.xmf=this.rq)/this.dd;this.xmf*=this.dd;break}}else{if(this.mode===this.OBLIQ){this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0)}}}function ed(V){var ez,ex,ey,eu,I,O,Z,A,ew,et;var eA=V.x;var ev=V.y;eA=c6(eA-this.long0);if(this.sphere){I=Math.sin(ev);et=Math.cos(ev);ey=Math.cos(eA);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){ex=(this.mode===this.EQUIT)?1+et*ey:1+this.sinph0*I+this.cosph0*et*ey;if(ex<=c3){return null}ex=Math.sqrt(2/ex);ez=ex*et*Math.sin(eA);ex*=(this.mode===this.EQUIT)?I:this.cosph0*I-this.sinph0*et*ey}else{if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){ey=-ey}if(Math.abs(ev+this.lat0)<c3){return null}ex=n-ev*0.5;ex=2*((this.mode===this.S_POLE)?Math.cos(ex):Math.sin(ex));ez=ex*Math.sin(eA);ex*=ey}}}else{Z=0;A=0;ew=0;ey=Math.cos(eA);eu=Math.sin(eA);I=Math.sin(ev);O=t(this.e,I);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){Z=O/this.qp;A=Math.sqrt(1-Z*Z)}switch(this.mode){case this.OBLIQ:ew=1+this.sinb1*Z+this.cosb1*A*ey;break;case this.EQUIT:ew=1+A*ey;break;case this.N_POLE:ew=ax+ev;O=this.qp-O;break;case this.S_POLE:ew=ev-ax;O=this.qp+O;break}if(Math.abs(ew)<c3){return null}switch(this.mode){case this.OBLIQ:case this.EQUIT:ew=Math.sqrt(2/ew);if(this.mode===this.OBLIQ){ex=this.ymf*ew*(this.cosb1*Z-this.sinb1*A*ey)}else{ex=(ew=Math.sqrt(2/(1+A*ey)))*Z*this.ymf}ez=this.xmf*ew*A*eu;break;case this.N_POLE:case this.S_POLE:if(O>=0){ez=(ew=Math.sqrt(O))*eu;ex=ey*((this.mode===this.S_POLE)?ew:-ew)}else{ez=ex=0}break}}V.x=this.a*ez+this.x0;V.y=this.a*ex+this.y0;return V}function dZ(I){I.x-=this.x0;I.y-=this.y0;var ev=I.x/this.a;var et=I.y/this.a;var eA,Z,ex,V,A,eu,ez;if(this.sphere){var ey=0,ew,O=0;ew=Math.sqrt(ev*ev+et*et);Z=ew*0.5;if(Z>1){return null}Z=2*Math.asin(Z);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){O=Math.sin(Z);ey=Math.cos(Z)}switch(this.mode){case this.EQUIT:Z=(Math.abs(ew)<=c3)?0:Math.asin(et*O/ew);ev*=O;et=ey*ew;break;case this.OBLIQ:Z=(Math.abs(ew)<=c3)?this.lat0:Math.asin(ey*this.sinph0+et*O*this.cosph0/ew);ev*=O*this.cosph0;et=(ey-Math.sin(Z)*this.sinph0)*ew;break;case this.N_POLE:et=-et;Z=ax-Z;break;case this.S_POLE:Z-=ax;break}eA=(et===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ))?0:Math.atan2(ev,et)}else{ez=0;if(this.mode===this.OBLIQ||this.mode===this.EQUIT){ev/=this.dd;et*=this.dd;eu=Math.sqrt(ev*ev+et*et);if(eu<c3){I.x=this.long0;I.y=this.lat0;return I}V=2*Math.asin(0.5*eu/this.rq);ex=Math.cos(V);ev*=(V=Math.sin(V));if(this.mode===this.OBLIQ){ez=ex*this.sinb1+et*V*this.cosb1/eu;A=this.qp*ez;et=eu*this.cosb1*ex-et*this.sinb1*V}else{ez=et*V/eu;A=this.qp*ez;et=eu*ex}}else{if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){et=-et}A=(ev*ev+et*et);if(!A){I.x=this.long0;I.y=this.lat0;return I}ez=1-A/this.qp;if(this.mode===this.S_POLE){ez=-ez}}}eA=Math.atan2(ev,et);Z=cc(Math.asin(ez),this.apa)}I.x=c6(this.long0+eA);I.y=Z;return I}var c0=0.3333333333333333;var cZ=0.17222222222222222;var cX=0.10257936507936508;var cP=0.06388888888888888;var cO=0.0664021164021164;var cK=0.016415012942191543;function cv(I){var A;var O=[];O[0]=I*c0;A=I*I;O[0]+=A*cZ;O[1]=A*cP;A*=I;O[0]+=A*cX;O[1]+=A*cO;O[2]=A*cK;return O}function cc(I,O){var A=I+I;return(I+O[0]*Math.sin(A)+O[1]*Math.sin(A+A)+O[2]*Math.sin(A+A+A))}var a2=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];var bD={init:ah,forward:ed,inverse:dZ,names:a2,S_POLE:bZ,N_POLE:aT,EQUIT:b4,OBLIQ:cY};var bB=function(A){if(Math.abs(A)>1){A=(A>1)?1:-1}return Math.asin(A)};function af(){if(Math.abs(this.lat1+this.lat2)<c3){return}this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e3=Math.sqrt(this.es);this.sin_po=Math.sin(this.lat1);this.cos_po=Math.cos(this.lat1);this.t1=this.sin_po;this.con=this.sin_po;this.ms1=bp(this.e3,this.sin_po,this.cos_po);this.qs1=t(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat2);this.cos_po=Math.cos(this.lat2);this.t2=this.sin_po;this.ms2=bp(this.e3,this.sin_po,this.cos_po);this.qs2=t(this.e3,this.sin_po,this.cos_po);this.sin_po=Math.sin(this.lat0);this.cos_po=Math.cos(this.lat0);this.t3=this.sin_po;this.qs0=t(this.e3,this.sin_po,this.cos_po);if(Math.abs(this.lat1-this.lat2)>c3){this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1)}else{this.ns0=this.con}this.c=this.ms1*this.ms1+this.ns0*this.qs1;this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0}function ec(Z){var et=Z.x;var V=Z.y;this.sin_phi=Math.sin(V);this.cos_phi=Math.cos(V);var I=t(this.e3,this.sin_phi,this.cos_phi);var ev=this.a*Math.sqrt(this.c-this.ns0*I)/this.ns0;var O=this.ns0*c6(et-this.long0);var A=ev*Math.sin(O)+this.x0;var eu=this.rh-ev*Math.cos(O)+this.y0;Z.x=A;Z.y=eu;return Z}function dY(Z){var eu,A,I,O,et,V;Z.x-=this.x0;Z.y=this.rh-Z.y+this.y0;if(this.ns0>=0){eu=Math.sqrt(Z.x*Z.x+Z.y*Z.y);I=1}else{eu=-Math.sqrt(Z.x*Z.x+Z.y*Z.y);I=-1}O=0;if(eu!==0){O=Math.atan2(I*Z.x,I*Z.y)}I=eu*this.ns0/this.a;if(this.sphere){V=Math.asin((this.c-I*I)/(2*this.ns0))}else{A=(this.c-I*I)/this.ns0;V=this.phi1z(this.e3,A)}et=c6(O/this.ns0+this.long0);Z.x=et;Z.y=V;return Z}function J(Z,ex){var A,et,O,V,ev;var ew=bB(0.5*ex);if(Z<c3){return ew}var I=Z*Z;for(var eu=1;eu<=25;eu++){A=Math.sin(ew);et=Math.cos(ew);O=Z*A;V=1-O*O;ev=0.5*V*V/et*(ex/(1-I)-A/V+0.5/Z*Math.log((1-O)/(1+O)));ew=ew+ev;if(Math.abs(ev)<=1e-7){return ew}}return null}var aZ=["Albers_Conic_Equal_Area","Albers","aea"];var a1={init:af,forward:ec,inverse:dY,names:aZ,phi1z:J};function ac(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1000*this.a;this.rc=1}function eb(O){var A,V;var ey;var ex;var Z;var et;var ew,ev;var I=O.x;var eu=O.y;ey=c6(I-this.long0);A=Math.sin(eu);V=Math.cos(eu);ex=Math.cos(ey);et=this.sin_p14*A+this.cos_p14*V*ex;Z=1;if((et>0)||(Math.abs(et)<=c3)){ew=this.x0+this.a*Z*V*Math.sin(ey)/et;ev=this.y0+this.a*Z*(this.cos_p14*A-this.sin_p14*V*ex)/et}else{ew=this.x0+this.infinity_dist*V*Math.sin(ey);ev=this.y0+this.infinity_dist*(this.cos_p14*A-this.sin_p14*V*ex)}O.x=ew;O.y=ev;return O}function dX(Z){var A;var I,O;var eu;var et,V;Z.x=(Z.x-this.x0)/this.a;Z.y=(Z.y-this.y0)/this.a;Z.x/=this.k0;Z.y/=this.k0;if((A=Math.sqrt(Z.x*Z.x+Z.y*Z.y))){eu=Math.atan2(A,this.rc);I=Math.sin(eu);O=Math.cos(eu);V=bB(O*this.sin_p14+(Z.y*I*this.cos_p14)/A);et=Math.atan2(Z.x*I,A*this.cos_p14*O-Z.y*this.sin_p14*I);et=c6(this.long0+et)}else{V=this.phic0;et=0}Z.x=et;Z.y=V;return Z}var aY=["gnom"];var d5={init:ac,forward:eb,inverse:dX,names:aY};var bO=function(O,A){var ew=1-(1-O*O)/(2*O)*Math.log((1-O)/(1+O));if(Math.abs(Math.abs(A)-ew)<0.000001){if(A<0){return(-1*ax)}else{return ax}}var eu=Math.asin(0.5*A);var Z;var ev;var et;var I;for(var V=0;V<30;V++){ev=Math.sin(eu);et=Math.cos(eu);I=O*ev;Z=Math.pow(1-I*I,2)/(2*et)*(A/(1-O*O)-ev/(1-I*I)+0.5/O*Math.log((1-I)/(1+I)));eu+=Z;if(Math.abs(Z)<=1e-10){return eu}}return NaN};function aa(){if(!this.sphere){this.k0=bp(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}function ea(Z){var et=Z.x;var V=Z.y;var I,eu;var O=c6(et-this.long0);if(this.sphere){I=this.x0+this.a*O*Math.cos(this.lat_ts);eu=this.y0+this.a*Math.sin(V)/Math.cos(this.lat_ts)}else{var A=t(this.e,Math.sin(V));I=this.x0+this.a*this.k0*O;eu=this.y0+this.a*A*0.5/this.k0}Z.x=I;Z.y=eu;return Z}function dW(I){I.x-=this.x0;I.y-=this.y0;var O,A;if(this.sphere){O=c6(this.long0+(I.x/this.a)/Math.cos(this.lat_ts));A=Math.asin((I.y/this.a)*Math.cos(this.lat_ts))}else{A=bO(this.e,2*I.y*this.k0/this.a);O=c6(this.long0+I.x/(this.a*this.k0))}I.x=O;I.y=A;return I}var aX=["cea"];var cT={init:aa,forward:ea,inverse:dW,names:aX};function X(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Equidistant Cylindrical (Plate Carre)";this.rc=Math.cos(this.lat_ts)}function d9(V){var Z=V.x;var O=V.y;var I=c6(Z-this.long0);var A=bq(O-this.lat0);V.x=this.x0+(this.a*I*this.rc);V.y=this.y0+(this.a*A);return V}function dU(I){var A=I.x;var O=I.y;I.x=c6(this.long0+((A-this.x0)/(this.a*this.rc)));I.y=bq(this.lat0+((O-this.y0)/(this.a)));return I}var aW=["Equirectangular","Equidistant_Cylindrical","eqc"];var cW={init:X,forward:d9,inverse:dU,names:aW};var da=20;function U(){this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=cy(this.es);this.e1=bx(this.es);this.e2=au(this.es);this.e3=dI(this.es);this.ml0=this.a*cU(this.e0,this.e1,this.e2,this.e3,this.lat0)}function d8(et){var eu=et.x;var Z=et.y;var A,ev,O;var V=c6(eu-this.long0);O=V*Math.sin(Z);if(this.sphere){if(Math.abs(Z)<=c3){A=this.a*V;ev=-1*this.a*this.lat0}else{A=this.a*Math.sin(O)/Math.tan(Z);ev=this.a*(bq(Z-this.lat0)+(1-Math.cos(O))/Math.tan(Z))}}else{if(Math.abs(Z)<=c3){A=this.a*V;ev=-1*this.ml0}else{var I=cQ(this.a,this.e,Math.sin(Z))/Math.tan(Z);A=I*Math.sin(O);ev=this.a*cU(this.e0,this.e1,this.e2,this.e3,Z)-this.ml0+I*(1-Math.cos(O))}}et.x=A+this.x0;et.y=ev+this.y0;return et}function dT(V){var I,ey,eA,ez,eu;var ew,Z;var ex,ev;eA=V.x-this.x0;ez=V.y-this.y0;if(this.sphere){if(Math.abs(ez+this.a*this.lat0)<=c3){I=c6(eA/this.a+this.long0);ey=0}else{ew=this.lat0+ez/this.a;Z=eA*eA/this.a/this.a+ew*ew;ex=ew;var A;for(eu=da;eu;--eu){A=Math.tan(ex);ev=-1*(ew*(ex*A+1)-ex-0.5*(ex*ex+Z)*A)/((ex-ew)/A-1);ex+=ev;if(Math.abs(ev)<=c3){ey=ex;break}}I=c6(this.long0+(Math.asin(eA*Math.tan(ex)/this.a))/Math.sin(ey))}}else{if(Math.abs(ez+this.ml0)<=c3){ey=0;I=c6(this.long0+eA/this.a)}else{ew=(this.ml0+ez)/this.a;Z=eA*eA/this.a/this.a+ew*ew;ex=ew;var eC,et,eD,eB;var O;for(eu=da;eu;--eu){O=this.e*Math.sin(ex);eC=Math.sqrt(1-O*O)*Math.tan(ex);et=this.a*cU(this.e0,this.e1,this.e2,this.e3,ex);eD=this.e0-2*this.e1*Math.cos(2*ex)+4*this.e2*Math.cos(4*ex)-6*this.e3*Math.cos(6*ex);eB=et/this.a;ev=(ew*(eC*eB+1)-eB-0.5*eC*(eB*eB+Z))/(this.es*Math.sin(2*ex)*(eB*eB+Z-2*ew*eB)/(4*eC)+(ew-eB)*(eC*eD-2/Math.sin(2*ex))-eD);ex-=ev;if(Math.abs(ev)<=c3){ey=ex;break}}eC=Math.sqrt(1-this.es*Math.pow(Math.sin(ey),2))*Math.tan(ey);I=c6(this.long0+Math.asin(eA*eC/this.a)/Math.sin(ey))}}V.x=I;V.y=ey;return V}var aV=["Polyconic","poly"];var aM={init:U,forward:d8,inverse:dT,names:aV};function T(){this.A=[];this.A[1]=0.6399175073;this.A[2]=-0.1358797613;this.A[3]=0.063294409;this.A[4]=-0.02526853;this.A[5]=0.0117879;this.A[6]=-0.0055161;this.A[7]=0.0026906;this.A[8]=-0.001333;this.A[9]=0.00067;this.A[10]=-0.00034;this.B_re=[];this.B_im=[];this.B_re[1]=0.7557853228;this.B_im[1]=0;this.B_re[2]=0.249204646;this.B_im[2]=0.003371507;this.B_re[3]=-0.001541739;this.B_im[3]=0.04105856;this.B_re[4]=-0.10162907;this.B_im[4]=0.01727609;this.B_re[5]=-0.26623489;this.B_im[5]=-0.36249218;this.B_re[6]=-0.6870983;this.B_im[6]=-1.1651967;this.C_re=[];this.C_im=[];this.C_re[1]=1.3231270439;this.C_im[1]=0;this.C_re[2]=-0.577245789;this.C_im[2]=-0.007809598;this.C_re[3]=0.508307513;this.C_im[3]=-0.112208952;this.C_re[4]=-0.15094762;this.C_im[4]=0.18200602;this.C_re[5]=1.01418179;this.C_im[5]=1.64497696;this.C_re[6]=1.9660549;this.C_im[6]=2.5127645;this.D=[];this.D[1]=1.5627014243;this.D[2]=0.5185406398;this.D[3]=-0.03333098;this.D[4]=-0.1052906;this.D[5]=-0.0368594;this.D[6]=0.007317;this.D[7]=0.0122;this.D[8]=0.00394;this.D[9]=-0.0013}function d7(eA){var eB;var V=eA.x;var eu=eA.y;var I=eu-this.lat0;var eE=V-this.long0;var eF=I/b1*0.00001;var ew=eE;var ev=1;var eD=0;for(eB=1;eB<=10;eB++){ev=ev*eF;eD=eD+this.A[eB]*ev}var et=eD;var A=ew;var ey=1;var Z=0;var eC;var ez;var ex=0;var O=0;for(eB=1;eB<=6;eB++){eC=ey*et-Z*A;ez=Z*et+ey*A;ey=eC;Z=ez;ex=ex+this.B_re[eB]*ey-this.B_im[eB]*Z;O=O+this.B_im[eB]*ey+this.B_re[eB]*Z}eA.x=(O*this.a)+this.x0;eA.y=(ex*this.a)+this.y0;return eA}function dS(eF){var eG;var eC=eF.x;var eB=eF.y;var eL=eC-this.x0;var eJ=eB-this.y0;var eA=eJ/this.a;var Z=eL/this.a;var ew=1;var eR=0;var et;var eO;var ex=0;var A=0;for(eG=1;eG<=6;eG++){et=ew*eA-eR*Z;eO=eR*eA+ew*Z;ew=et;eR=eO;ex=ex+this.C_re[eG]*ew-this.C_im[eG]*eR;A=A+this.C_im[eG]*ew+this.C_re[eG]*eR}for(var eK=0;eK<this.iterations;eK++){var eD=ex;var ev=A;var eI;var eE;var O=eA;var eN=Z;for(eG=2;eG<=6;eG++){eI=eD*ex-ev*A;eE=ev*ex+eD*A;eD=eI;ev=eE;O=O+(eG-1)*(this.B_re[eG]*eD-this.B_im[eG]*ev);eN=eN+(eG-1)*(this.B_im[eG]*eD+this.B_re[eG]*ev)}eD=1;ev=0;var I=this.B_re[1];var eM=this.B_im[1];for(eG=2;eG<=6;eG++){eI=eD*ex-ev*A;eE=ev*ex+eD*A;eD=eI;ev=eE;I=I+eG*(this.B_re[eG]*eD-this.B_im[eG]*ev);eM=eM+eG*(this.B_im[eG]*eD+this.B_re[eG]*ev)}var V=I*I+eM*eM;ex=(O*I+eN*eM)/V;A=(eN*I-O*eM)/V}var eH=ex;var ez=A;var eP=1;var eQ=0;for(eG=1;eG<=9;eG++){eP=eP*eH;eQ=eQ+this.D[eG]*eP}var ey=this.lat0+(eQ*b1*100000);var eu=this.long0+ez;eF.x=eu;eF.y=ey;return eF}var aR=["New_Zealand_Map_Grid","nzmg"];var B={init:T,forward:d7,inverse:dS,names:aR};function M(){}function d6(V){var Z=V.x;var O=V.y;var I=c6(Z-this.long0);var A=this.x0+this.a*I;var et=this.y0+this.a*Math.log(Math.tan((Math.PI/4)+(O/2.5)))*1.25;V.x=A;V.y=et;return V}function dR(I){I.x-=this.x0;I.y-=this.y0;var O=c6(this.long0+I.x/this.a);var A=2.5*(Math.atan(Math.exp(0.8*I.y/this.a))-Math.PI/4);I.x=O;I.y=A;return I}var aQ=["Miller_Cylindrical","mill"];var bb={init:M,forward:d6,inverse:dR,names:aQ};var c9=20;function L(){if(!this.sphere){this.en=ar(this.es)}else{this.n=1;this.m=0;this.es=0;this.C_y=Math.sqrt((this.m+1)/this.n);this.C_x=this.C_y/(this.m+1)}}function dP(I){var ex,ew;var A=I.x;var ev=I.y;A=c6(A-this.long0);if(this.sphere){if(!this.m){ev=this.n!==1?Math.asin(this.n*Math.sin(ev)):ev}else{var Z=this.n*Math.sin(ev);for(var et=c9;et;--et){var O=(this.m*ev+Math.sin(ev)-Z)/(this.m+Math.cos(ev));ev-=O;if(Math.abs(O)<c3){break}}}ex=this.a*this.C_x*A*(this.m+Math.cos(ev));ew=this.a*this.C_y*ev}else{var ey=Math.sin(ev);var eu=Math.cos(ev);ew=this.a*d2(ev,ey,eu,this.en);ex=this.a*A*eu/Math.sqrt(1-this.es*ey*ey)}I.x=ex;I.y=ew;return I}function dA(V){var O,A,Z,I;V.x-=this.x0;Z=V.x/this.a;V.y-=this.y0;O=V.y/this.a;if(this.sphere){O/=this.C_y;Z=Z/(this.C_x*(this.m+Math.cos(O)));if(this.m){O=bB((this.m*O+Math.sin(O))/this.n)}else{if(this.n!==1){O=bB(Math.sin(O)/this.n)}}Z=c6(Z+this.long0);O=bq(O)}else{O=cn(V.y/this.a,this.es,this.en);I=Math.abs(O);if(I<ax){I=Math.sin(O);A=this.long0+V.x*Math.sqrt(1-this.es*I*I)/(this.a*Math.cos(O));Z=c6(A)}else{if((I-c3)<ax){Z=this.long0}}}V.x=Z;V.y=O;return V}var aO=["Sinusoidal","sinu"];var S={init:L,forward:dP,inverse:dA,names:aO};function K(){}function dO(O){var A=O.x;var eu=O.y;var et=c6(A-this.long0);var Z=eu;var V=Math.PI*Math.sin(eu);while(true){var I=-(Z+Math.sin(Z)-V)/(1+Math.cos(Z));Z+=I;if(Math.abs(I)<c3){break}}Z/=2;if(Math.PI/2-Math.abs(eu)<c3){et=0}var ew=0.900316316158*this.a*et*Math.cos(Z)+this.x0;var ev=1.4142135623731*this.a*Math.sin(Z)+this.y0;O.x=ew;O.y=ev;return O}function dz(V){var I;var A;V.x-=this.x0;V.y-=this.y0;A=V.y/(1.4142135623731*this.a);if(Math.abs(A)>0.999999999999){A=0.999999999999}I=Math.asin(A);var Z=c6(this.long0+(V.x/(0.900316316158*this.a*Math.cos(I))));if(Z<(-Math.PI)){Z=-Math.PI}if(Z>Math.PI){Z=Math.PI}A=(2*I+Math.sin(2*I))/Math.PI;if(Math.abs(A)>1){A=1}var O=Math.asin(A);V.x=Z;V.y=O;return V}var aN=["Mollweide","moll"];var cV={init:K,forward:dO,inverse:dz,names:aN};function H(){if(Math.abs(this.lat1+this.lat2)<c3){return}this.lat2=this.lat2||this.lat1;this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=cy(this.es);this.e1=bx(this.es);this.e2=au(this.es);this.e3=dI(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=bp(this.e,this.sinphi,this.cosphi);this.ml1=cU(this.e0,this.e1,this.e2,this.e3,this.lat1);if(Math.abs(this.lat1-this.lat2)<c3){this.ns=this.sinphi}else{this.sinphi=Math.sin(this.lat2);this.cosphi=Math.cos(this.lat2);this.ms2=bp(this.e,this.sinphi,this.cosphi);this.ml2=cU(this.e0,this.e1,this.e2,this.e3,this.lat2);this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)}this.g=this.ml1+this.ms1/this.ns;this.ml0=cU(this.e0,this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0)}function dM(V){var Z=V.x;var O=V.y;var ev;if(this.sphere){ev=this.a*(this.g-O)}else{var eu=cU(this.e0,this.e1,this.e2,this.e3,O);ev=this.a*(this.g-eu)}var I=this.ns*c6(Z-this.long0);var A=this.x0+ev*Math.sin(I);var et=this.y0+this.rh-ev*Math.cos(I);V.x=A;V.y=et;return V}function dy(V){V.x-=this.x0;V.y=this.rh-V.y+this.y0;var A,eu,O,Z;if(this.ns>=0){eu=Math.sqrt(V.x*V.x+V.y*V.y);A=1}else{eu=-Math.sqrt(V.x*V.x+V.y*V.y);A=-1}var I=0;if(eu!==0){I=Math.atan2(A*V.x,A*V.y)}if(this.sphere){Z=c6(this.long0+I/this.ns);O=bq(this.g-eu/this.a);V.x=Z;V.y=O;return V}else{var et=this.g-eu/this.a;O=bX(et,this.e0,this.e1,this.e2,this.e3);Z=c6(this.long0+I/this.ns);V.x=Z;V.y=O;return V}}var aL=["Equidistant_Conic","eqdc"];var bj={init:H,forward:dM,inverse:dy,names:aL};function G(){this.R=this.a}function dL(V){var I=V.x;var eA=V.y;var eE=c6(I-this.long0);var eD,eB;if(Math.abs(eA)<=c3){eD=this.x0+this.R*eE;eB=this.y0}var et=bB(2*Math.abs(eA/Math.PI));if((Math.abs(eE)<=c3)||(Math.abs(Math.abs(eA)-ax)<=c3)){eD=this.x0;if(eA>=0){eB=this.y0+Math.PI*this.R*Math.tan(0.5*et)}else{eB=this.y0+Math.PI*this.R*-Math.tan(0.5*et)}}var ey=0.5*Math.abs((Math.PI/eE)-(eE/Math.PI));var Z=ey*ey;var ez=Math.sin(et);var ex=Math.cos(et);var ew=ex/(ez+ex-1);var ev=ew*ew;var eu=ew*(2/ez-1);var eC=eu*eu;var O=Math.PI*this.R*(ey*(ew-eC)+Math.sqrt(Z*(ew-eC)*(ew-eC)-(eC+Z)*(ev-eC)))/(eC+Z);if(eE<0){O=-O}eD=this.x0+O;var A=Z+ew;O=Math.PI*this.R*(eu*A-ey*Math.sqrt((eC+Z)*(Z+1)-A*A))/(eC+Z);if(eA>=0){eB=this.y0+O}else{eB=this.y0-O}V.x=eD;V.y=eB;return V}function dv(Z){var I,ey;var A,ex,eB,ev,eu,et;var V;var eA;var O;var ez;var ew;Z.x-=this.x0;Z.y-=this.y0;O=Math.PI*this.R;A=Z.x/O;ex=Z.y/O;eB=A*A+ex*ex;ev=-Math.abs(ex)*(1+eB);eu=ev-2*ex*ex+A*A;et=-2*ev+1+2*ex*ex+eB*eB;ew=ex*ex/et+(2*eu*eu*eu/et/et/et-9*ev*eu/et/et)/27;V=(ev-eu*eu/3/et)/et;eA=2*Math.sqrt(-V/3);O=((3*ew)/V)/eA;if(Math.abs(O)>1){if(O>=0){O=1}else{O=-1}}ez=Math.acos(O)/3;if(Z.y>=0){ey=(-eA*Math.cos(ez+Math.PI/3)-eu/3/et)*Math.PI}else{ey=-(-eA*Math.cos(ez+Math.PI/3)-eu/3/et)*Math.PI}if(Math.abs(A)<c3){I=this.long0}else{I=c6(this.long0+Math.PI*(eB-1+Math.sqrt(1+2*(A*A-ex*ex)+eB*eB))/2/A)}Z.x=I;Z.y=ey;return Z}var aK=["Van_der_Grinten_I","VanDerGrinten","vandg"];var bc={init:G,forward:dL,inverse:dv,names:aK};function F(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0)}function dK(eI){var ev=eI.x;var ex=eI.y;var eC=Math.sin(eI.y);var eL=Math.cos(eI.y);var eu=c6(ev-this.long0);var eB,eA,ez,ey,eQ,eP,eJ,eN,ew,eM,eG,eF,eE,eK,Z,eO,O,eD,eH,et,V,I,A;if(this.sphere){if(Math.abs(this.sin_p12-1)<=c3){eI.x=this.x0+this.a*(ax-ex)*Math.sin(eu);eI.y=this.y0-this.a*(ax-ex)*Math.cos(eu);return eI}else{if(Math.abs(this.sin_p12+1)<=c3){eI.x=this.x0+this.a*(ax+ex)*Math.sin(eu);eI.y=this.y0+this.a*(ax+ex)*Math.cos(eu);return eI}else{eD=this.sin_p12*eC+this.cos_p12*eL*Math.cos(eu);eO=Math.acos(eD);O=eO?eO/Math.sin(eO):1;eI.x=this.x0+this.a*O*eL*Math.sin(eu);eI.y=this.y0+this.a*O*(this.cos_p12*eC-this.sin_p12*eL*Math.cos(eu));return eI}}}else{eB=cy(this.es);eA=bx(this.es);ez=au(this.es);ey=dI(this.es);if(Math.abs(this.sin_p12-1)<=c3){eQ=this.a*cU(eB,eA,ez,ey,ax);eP=this.a*cU(eB,eA,ez,ey,ex);eI.x=this.x0+(eQ-eP)*Math.sin(eu);eI.y=this.y0-(eQ-eP)*Math.cos(eu);return eI}else{if(Math.abs(this.sin_p12+1)<=c3){eQ=this.a*cU(eB,eA,ez,ey,ax);eP=this.a*cU(eB,eA,ez,ey,ex);eI.x=this.x0+(eQ+eP)*Math.sin(eu);eI.y=this.y0+(eQ+eP)*Math.cos(eu);return eI}else{eJ=eC/eL;eN=cQ(this.a,this.e,this.sin_p12);ew=cQ(this.a,this.e,eC);eM=Math.atan((1-this.es)*eJ+this.es*eN*this.sin_p12/(ew*eL));eG=Math.atan2(Math.sin(eu),this.cos_p12*Math.tan(eM)-this.sin_p12*Math.cos(eu));if(eG===0){eH=Math.asin(this.cos_p12*Math.sin(eM)-this.sin_p12*Math.cos(eM))}else{if(Math.abs(Math.abs(eG)-Math.PI)<=c3){eH=-Math.asin(this.cos_p12*Math.sin(eM)-this.sin_p12*Math.cos(eM))}else{eH=Math.asin(Math.sin(eu)*Math.cos(eM)/Math.sin(eG))}}eF=this.e*this.sin_p12/Math.sqrt(1-this.es);eE=this.e*this.cos_p12*Math.cos(eG)/Math.sqrt(1-this.es);eK=eF*eE;Z=eE*eE;et=eH*eH;V=et*eH;I=V*eH;A=I*eH;eO=eN*eH*(1-et*Z*(1-Z)/6+V/8*eK*(1-2*Z)+I/120*(Z*(4-7*Z)-3*eF*eF*(1-7*Z))-A/48*eK);eI.x=this.x0+eO*Math.sin(eG);eI.y=this.y0+eO*Math.cos(eG);return eI}}}}function ds(eI){eI.x-=this.x0;eI.y-=this.y0;var eG,eA,I,eJ,V,et,Z,ey,ex,ev,eu,eN,ez,eC,eL,eD,eK,eM,eH,eF,eE,ew,eB,O;if(this.sphere){eG=Math.sqrt(eI.x*eI.x+eI.y*eI.y);if(eG>(2*ax*this.a)){return}eA=eG/this.a;I=Math.sin(eA);eJ=Math.cos(eA);V=this.long0;if(Math.abs(eG)<=c3){et=this.lat0}else{et=bB(eJ*this.sin_p12+(eI.y*I*this.cos_p12)/eG);Z=Math.abs(this.lat0)-ax;if(Math.abs(Z)<=c3){if(this.lat0>=0){V=c6(this.long0+Math.atan2(eI.x,-eI.y))}else{V=c6(this.long0-Math.atan2(-eI.x,eI.y))}}else{V=c6(this.long0+Math.atan2(eI.x*I,eG*this.cos_p12*eJ-eI.y*this.sin_p12*I))}}eI.x=V;eI.y=et;return eI}else{ey=cy(this.es);ex=bx(this.es);ev=au(this.es);eu=dI(this.es);if(Math.abs(this.sin_p12-1)<=c3){eN=this.a*cU(ey,ex,ev,eu,ax);eG=Math.sqrt(eI.x*eI.x+eI.y*eI.y);ez=eN-eG;et=bX(ez/this.a,ey,ex,ev,eu);V=c6(this.long0+Math.atan2(eI.x,-1*eI.y));eI.x=V;eI.y=et;return eI}else{if(Math.abs(this.sin_p12+1)<=c3){eN=this.a*cU(ey,ex,ev,eu,ax);eG=Math.sqrt(eI.x*eI.x+eI.y*eI.y);ez=eG-eN;et=bX(ez/this.a,ey,ex,ev,eu);V=c6(this.long0+Math.atan2(eI.x,eI.y));eI.x=V;eI.y=et;return eI}else{eG=Math.sqrt(eI.x*eI.x+eI.y*eI.y);eD=Math.atan2(eI.x,eI.y);eC=cQ(this.a,this.e,this.sin_p12);eK=Math.cos(eD);eM=this.e*this.cos_p12*eK;eH=-eM*eM/(1-this.es);eF=3*this.es*(1-eH)*this.sin_p12*this.cos_p12*eK/(1-this.es);eE=eG/eC;ew=eE-eH*(1+eH)*Math.pow(eE,3)/6-eF*(1+3*eH)*Math.pow(eE,4)/24;eB=1-eH*ew*ew/2-eE*ew*ew*ew/6;eL=Math.asin(this.sin_p12*Math.cos(ew)+this.cos_p12*Math.sin(ew)*eK);V=c6(this.long0+Math.asin(Math.sin(eD)*Math.sin(ew)/Math.cos(eL)));O=Math.sin(eL);et=Math.atan2((O-this.es*eB*this.sin_p12)*Math.tan(eL),O*(1-this.es));eI.x=V;eI.y=et;return eI}}}}var aJ=["Azimuthal_Equidistant","aeqd"];var az={init:F,forward:dK,inverse:ds,names:aJ};function E(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0)}function dJ(O){var A,V;var ey;var ex;var Z;var et,ew,ev;var I=O.x;var eu=O.y;ey=c6(I-this.long0);A=Math.sin(eu);V=Math.cos(eu);ex=Math.cos(ey);et=this.sin_p14*A+this.cos_p14*V*ex;Z=1;if((et>0)||(Math.abs(et)<=c3)){ew=this.a*Z*V*Math.sin(ey);ev=this.y0+this.a*Z*(this.cos_p14*A-this.sin_p14*V*ex)}O.x=ew;O.y=ev;return O}function dq(et){var I;var ev;var O,V;var A;var eu,Z;et.x-=this.x0;et.y-=this.y0;I=Math.sqrt(et.x*et.x+et.y*et.y);ev=bB(I/this.a);O=Math.sin(ev);V=Math.cos(ev);eu=this.long0;if(Math.abs(I)<=c3){Z=this.lat0;et.x=eu;et.y=Z;return et}Z=bB(V*this.sin_p14+(et.y*O*this.cos_p14)/I);A=Math.abs(this.lat0)-ax;if(Math.abs(A)<=c3){if(this.lat0>=0){eu=c6(this.long0+Math.atan2(et.x,-et.y))}else{eu=c6(this.long0-Math.atan2(-et.x,et.y))}et.x=eu;et.y=Z;return et}eu=c6(this.long0+Math.atan2((et.x*O),I*this.cos_p14*V-et.y*this.sin_p14*O));et.x=eu;et.y=Z;return et}var aI=["ortho"];var c2={init:E,forward:dJ,inverse:dq,names:aI};var bt={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6};var be={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function C(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Quadrilateralized Spherical Cube";if(this.lat0>=ax-n/2){this.face=bt.TOP}else{if(this.lat0<=-(ax-n/2)){this.face=bt.BOTTOM}else{if(Math.abs(this.long0)<=n){this.face=bt.FRONT}else{if(Math.abs(this.long0)<=ax+n){this.face=this.long0>0?bt.RIGHT:bt.LEFT}else{this.face=bt.BACK}}}}if(this.es!==0){this.one_minus_f=1-(this.a-this.b)/this.a;this.one_minus_f_squared=this.one_minus_f*this.one_minus_f}}function dH(et){var eC={x:0,y:0};var ey,O;var eu,ex;var eA,eD;var Z={value:0};et.x-=this.long0;if(this.es!==0){ey=Math.atan(this.one_minus_f_squared*Math.tan(et.y))}else{ey=et.y}O=et.x;if(this.face===bt.TOP){ex=ax-ey;if(O>=n&&O<=ax+n){Z.value=be.AREA_0;eu=O-ax}else{if(O>ax+n||O<=-(ax+n)){Z.value=be.AREA_1;eu=(O>0?O-cJ:O+cJ)}else{if(O>-(ax+n)&&O<=-n){Z.value=be.AREA_2;eu=O+ax}else{Z.value=be.AREA_3;eu=O}}}}else{if(this.face===bt.BOTTOM){ex=ax+ey;if(O>=n&&O<=ax+n){Z.value=be.AREA_0;eu=-O+ax}else{if(O<n&&O>=-n){Z.value=be.AREA_1;eu=-O}else{if(O<-n&&O>=-(ax+n)){Z.value=be.AREA_2;eu=-O-ax}else{Z.value=be.AREA_3;eu=(O>0?-O+cJ:-O-cJ)}}}}else{var I,A,eB;var V,ev;var ew,ez;if(this.face===bt.RIGHT){O=W(O,+ax)}else{if(this.face===bt.BACK){O=W(O,+cJ)}else{if(this.face===bt.LEFT){O=W(O,-ax)}}}V=Math.sin(ey);ev=Math.cos(ey);ew=Math.sin(O);ez=Math.cos(O);I=ev*ez;A=ev*ew;eB=V;if(this.face===bt.FRONT){ex=Math.acos(I);eu=aU(ex,eB,A,Z)}else{if(this.face===bt.RIGHT){ex=Math.acos(A);eu=aU(ex,eB,-I,Z)}else{if(this.face===bt.BACK){ex=Math.acos(-I);eu=aU(ex,eB,-A,Z)}else{if(this.face===bt.LEFT){ex=Math.acos(-A);eu=aU(ex,eB,I,Z)}else{ex=eu=0;Z.value=be.AREA_0}}}}}}eD=Math.atan((12/cJ)*(eu+Math.acos(Math.sin(eu)*Math.cos(n))-ax));eA=Math.sqrt((1-Math.cos(ex))/(Math.cos(eD)*Math.cos(eD))/(1-Math.cos(Math.atan(1/Math.cos(eu)))));if(Z.value===be.AREA_1){eD+=ax}else{if(Z.value===be.AREA_2){eD+=cJ}else{if(Z.value===be.AREA_3){eD+=1.5*cJ}}}eC.x=eA*Math.cos(eD);eC.y=eA*Math.sin(eD);eC.x=eC.x*this.a+this.x0;eC.y=eC.y*this.a+this.y0;et.x=eC.x;et.y=eC.y;return et}function dp(ex){var O={lam:0,phi:0};var ew,eF,eE,eB;var Z,I,eA,A;var V;var eC={value:0};ex.x=(ex.x-this.x0)/this.a;ex.y=(ex.y-this.y0)/this.a;eF=Math.atan(Math.sqrt(ex.x*ex.x+ex.y*ex.y));ew=Math.atan2(ex.y,ex.x);if(ex.x>=0&&ex.x>=Math.abs(ex.y)){eC.value=be.AREA_0}else{if(ex.y>=0&&ex.y>=Math.abs(ex.x)){eC.value=be.AREA_1;ew-=ax}else{if(ex.x<0&&-ex.x>=Math.abs(ex.y)){eC.value=be.AREA_2;ew=(ew<0?ew+cJ:ew-cJ)}else{eC.value=be.AREA_3;ew+=ax}}}V=(cJ/12)*Math.tan(ew);Z=Math.sin(V)/(Math.cos(V)-(1/Math.sqrt(2)));I=Math.atan(Z);eE=Math.cos(ew);eB=Math.tan(eF);eA=1-eE*eE*eB*eB*(1-Math.cos(Math.atan(1/Math.cos(I))));if(eA<-1){eA=-1}else{if(eA>+1){eA=+1}}if(this.face===bt.TOP){A=Math.acos(eA);O.phi=ax-A;if(eC.value===be.AREA_0){O.lam=I+ax}else{if(eC.value===be.AREA_1){O.lam=(I<0?I+cJ:I-cJ)}else{if(eC.value===be.AREA_2){O.lam=I-ax}else{O.lam=I}}}}else{if(this.face===bt.BOTTOM){A=Math.acos(eA);O.phi=A-ax;if(eC.value===be.AREA_0){O.lam=-I+ax}else{if(eC.value===be.AREA_1){O.lam=-I}else{if(eC.value===be.AREA_2){O.lam=-I-ax}else{O.lam=(I<0?-I-cJ:-I+cJ)}}}}else{var ev,eu,et;ev=eA;V=ev*ev;if(V>=1){et=0}else{et=Math.sqrt(1-V)*Math.sin(I)}V+=et*et;if(V>=1){eu=0}else{eu=Math.sqrt(1-V)}if(eC.value===be.AREA_1){V=eu;eu=-et;et=V}else{if(eC.value===be.AREA_2){eu=-eu;et=-et}else{if(eC.value===be.AREA_3){V=eu;eu=et;et=-V}}}if(this.face===bt.RIGHT){V=ev;ev=-eu;eu=V}else{if(this.face===bt.BACK){ev=-ev;eu=-eu}else{if(this.face===bt.LEFT){V=ev;ev=eu;eu=-V}}}O.phi=Math.acos(-et)-ax;O.lam=Math.atan2(eu,ev);if(this.face===bt.RIGHT){O.lam=W(O.lam,-ax)}else{if(this.face===bt.BACK){O.lam=W(O.lam,-cJ)}else{if(this.face===bt.LEFT){O.lam=W(O.lam,+ax)}}}}}if(this.es!==0){var eD;var ey,ez;eD=(O.phi<0?1:0);ey=Math.tan(O.phi);ez=this.b/Math.sqrt(ey*ey+this.one_minus_f_squared);O.phi=Math.atan(Math.sqrt(this.a*this.a-ez*ez)/(this.one_minus_f*ez));if(eD){O.phi=-O.phi}}O.lam+=this.long0;ex.x=O.lam;ex.y=O.phi;return ex}function aU(V,Z,A,O){var I;if(V<c3){O.value=be.AREA_0;I=0}else{I=Math.atan2(Z,A);if(Math.abs(I)<=n){O.value=be.AREA_0}else{if(I>n&&I<=ax+n){O.value=be.AREA_1;I-=ax}else{if(I>ax+n||I<=-(ax+n)){O.value=be.AREA_2;I=(I>=0?I-cJ:I+cJ)}else{O.value=be.AREA_3;I+=ax}}}}return I}function W(O,I){var A=O+I;if(A<-cJ){A+=b7}else{if(A>+cJ){A-=b7}}return A}var aG=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];var ct={init:C,forward:dH,inverse:dp,names:aG};var bW=[[1,2.2199e-17,-0.0000715515,0.0000031103],[0.9986,-0.000482243,-0.000024897,-0.0000013309],[0.9954,-0.00083103,-0.0000448605,-9.86701e-7],[0.99,-0.00135364,-0.000059661,0.0000036777],[0.9822,-0.00167442,-0.00000449547,-0.00000572411],[0.973,-0.00214868,-0.0000903571,1.8736e-8],[0.96,-0.00305085,-0.0000900761,0.00000164917],[0.9427,-0.00382792,-0.0000653386,-0.0000026154],[0.9216,-0.00467746,-0.00010457,0.00000481243],[0.8962,-0.00536223,-0.0000323831,-0.00000543432],[0.8679,-0.00609363,-0.000113898,0.00000332484],[0.835,-0.00698325,-0.0000640253,9.34959e-7],[0.7986,-0.00755338,-0.0000500009,9.35324e-7],[0.7597,-0.00798324,-0.000035971,-0.00000227626],[0.7186,-0.00851367,-0.0000701149,-0.0000086303],[0.6732,-0.00986209,-0.000199569,0.0000191974],[0.6213,-0.010418,0.0000883923,0.00000624051],[0.5722,-0.00906601,0.000182,0.00000624051],[0.5322,-0.00677797,0.000275608,0.00000624051]];var bV=[[-5.20417e-18,0.0124,1.21431e-18,-8.45284e-11],[0.062,0.0124,-1.26793e-9,4.22642e-10],[0.124,0.0124,5.07171e-9,-1.60604e-9],[0.186,0.0123999,-1.90189e-8,6.00152e-9],[0.248,0.0124002,7.10039e-8,-2.24e-8],[0.31,0.0123992,-2.64997e-7,8.35986e-8],[0.372,0.0124029,9.88983e-7,-3.11994e-7],[0.434,0.0123893,-0.00000369093,-4.35621e-7],[0.4958,0.0123198,-0.0000102252,-3.45523e-7],[0.5571,0.0121916,-0.0000154081,-5.82288e-7],[0.6176,0.0119938,-0.0000241424,-5.25327e-7],[0.6769,0.011713,-0.0000320223,-5.16405e-7],[0.7346,0.0113541,-0.0000397684,-6.09052e-7],[0.7903,0.0109107,-0.0000489042,-0.00000104739],[0.8435,0.0103431,-0.000064615,-1.40374e-9],[0.8936,0.00969686,-0.000064636,-0.000008547],[0.9394,0.00840947,-0.000192841,-0.0000042106],[0.9761,0.00616527,-0.000256,-0.0000042106],[1,0.00328947,-0.000319159,-0.0000042106]];var cw=0.8487;var cg=1.3523;var aS=ap/5;var bT=1/aS;var s=18;var y=function(I,A){return I[0]+A*(I[1]+A*(I[2]+A*I[3]))};var bR=function(I,A){return I[1]+A*(2*I[2]+A*3*I[3])};function bF(V,et,O,I){var A=et;for(;I;--I){var Z=V(A);A-=Z;if(Math.abs(Z)<O){break}}return A}function z(){this.x0=this.x0||0;this.y0=this.y0||0;this.long0=this.long0||0;this.es=0;this.title=this.title||"Robinson"}function dG(V){var Z=c6(V.x-this.long0);var A=Math.abs(V.y);var I=Math.floor(A*aS);if(I<0){I=0}else{if(I>=s){I=s-1}}A=ap*(A-bT*I);var O={x:y(bW[I],A)*Z,y:y(bV[I],A)};if(V.y<0){O.y=-O.y}O.x=O.x*this.a*cw+this.x0;O.y=O.y*this.a*cg+this.y0;return O}function dm(Z){var V={x:(Z.x-this.x0)/(this.a*cw),y:Math.abs(Z.y-this.y0)/(this.a*cg)};if(V.y>=1){V.x/=bW[s][0];V.y=Z.y<0?-ax:ax}else{var O=Math.floor(V.y*s);if(O<0){O=0}else{if(O>=s){O=s-1}}for(;;){if(bV[O][0]>V.y){--O}else{if(bV[O+1][0]<=V.y){++O}else{break}}}var A=bV[O];var I=5*(V.y-A[0])/(bV[O+1][0]-A[0]);I=bF(function(et){return(y(A,et)-V.y)/bR(A,et)},I,c3,100);V.x/=y(bW[O],I);V.y=(5*O+I)*cG;if(Z.y<0){V.y=-V.y}}V.x=c6(V.x+this.long0);return V}var aF=["Robinson","robin"];var cf={init:z,forward:dG,inverse:dm,names:aF};function x(){this.name="geocent"}function dE(I){var A=q(I,this.es,this.a);return A}function dl(I){var A=D(I,this.es,this.a,this.b);return A}var ay=["Geocentric","geocentric","geocent","Geocent"];var dc={init:x,forward:dE,inverse:dl,names:ay};var eg=function(A){A.Proj.projections.add(g);A.Proj.projections.add(es);A.Proj.projections.add(cb);A.Proj.projections.add(ej);A.Proj.projections.add(aP);A.Proj.projections.add(bm);A.Proj.projections.add(bu);A.Proj.projections.add(b3);A.Proj.projections.add(el);A.Proj.projections.add(by);A.Proj.projections.add(bD);A.Proj.projections.add(a1);A.Proj.projections.add(d5);A.Proj.projections.add(cT);A.Proj.projections.add(cW);A.Proj.projections.add(aM);A.Proj.projections.add(B);A.Proj.projections.add(bb);A.Proj.projections.add(S);A.Proj.projections.add(cV);A.Proj.projections.add(bj);A.Proj.projections.add(bc);A.Proj.projections.add(az);A.Proj.projections.add(c2);A.Proj.projections.add(ct);A.Proj.projections.add(cf);A.Proj.projections.add(dc)};N.defaultDatum="WGS84";N.Proj=bf;N.WGS84=new N.Proj("WGS84");N.Point=em;N.toPoint=ep;N.defs=u;N.transform=at;N.mgrs=b0;N.version="2.6.2";eg(N);return N})));
  